Централизованная сетевая система обновления программного обеспечения
средствами NFS в Sabayon Linux.
1. Введение. Архитектура системы обновления программного обеспечения в
Sabayon Linux.
Portage — система управления пакетами в Sabayon Linux (Унаследована из
Gentoo). Представляет собой набор утилит на Python и Bash, призванных
облегчить и упорядочить
установку программного обеспечения из исходных кодов или бинарных
пакетов, с учетом всех зависимостей.
Основной пользовательский интерфейс Portage — консольная программа
emerge, которая позволяет устанавливать новые пакеты с учетом
зависимостей и с возможностью
управления вариантами установки — например с поддержкой определенных
функций или без поддержки ненужных функций (управление параметрами
сборки осуществляется через так называемые USE-флаги),
удалять ненужные пакеты, обновлять установленные пакеты, проводить
синхронизацию с деревом портежей (по протоколу rsync) и т. д. Программа
ebuild служит интерфейсом низкого уровня к Portage,
а emerge — высокоуровневая оболочка для неё.
Entropy - это система управления бинарными пакетами в Sabayon Linux,
это целостная инфраструктура, состоящая из текстового клиента Equo,
графического клиента Sulfur.
layman - программа управляющая overlay'ями.
/usr/portage (в этой директории находятся: ebuilds, distfiles; для
системы управления ПО Portage)
/usr/local/portage (для локальных ebuilds (которых нет в основном
дереве portage); для системы управления ПО
Portage)
/var/lib/entropy/packages/x86 (в этой директории находятся бинарные
пакеты; для системы управления ПО Entropy(Equo/Sulfur))
/var/lib/entropy/packages-nonfree/x86 (в этой директории находятся не
свободные бинарные пакеты; для системы управления ПО
Entropy(Equo/Sulfur))
/var/lib/entropy/packages-restricted/x86 (в этой директории находятся
закрытые бинарные пакеты; для системы управления ПО
Entropy(Equo/Sulfur))
/var/lib/entropy/client/database/x86/sabayonlinux.org (в этой
директории находится Entropy DataBase; для системы управления ПО
Entropy(Equo/Sulfur))
2. Cервер.
2.1 Экспортирование директорий. Настройка nfs сервера.
Обновление ПО.
2.1.1 Перед тем как настраивать nfs необходимо
проверить чтобы пути (до экспортируемых директорий) не содержали точку,
поэтому до монтирования следует создать символьную ссылку с
sabayonlinuxorg на sabayonlinux.org
# ln -s
/var/lib/entropy/client/database/x86/sabayonlinux.org
/var/lib/entropy/client/database/x86/sabayonlinuxorg
2.1.2 В настройках nfs требуется указать какие
директории отдавать по сети, в файле /etc/exports
/usr/portage
192.168.1.0/24(subtree_check,no_root_squash,sync,rw)
/usr/local/portage
192.168.1.0/24(subtree_check,no_root_squash,sync,rw)
/var/lib/entropy/packages/x86
192.168.1.0/24(subtree_check,no_root_squash,sync,rw)
/var/lib/entropy/packages-nonfree/x86(subtree_check,no_root_squash,sync,rw)
/var/lib/entropy/packages-restricted/x86(subtree_check,no_root_squash,sync,rw)
/var/lib/entropy/client/database/x86/sabayonlinuxorg
192.168.1.0/24(subtree_check,no_root_squash,sync,rw)
Примечание: главное не забыть написать
sabayonlinuxorg без точки!
2.1.3 Использованные опции монтирования.
subtree_check - Если экспортируется подкаталог
фаловой системы, но не вся файловая система, сервер проверяет,
находится ли запрошенный файл в экспортированном подкаталоге.
no_root_squash - root (uid0) на стороне клиента,
выглядит как nobody (uid 65534) на стороне сервера, это называется
смещением root т.к. позволяет защитить файлы, владельцом которых
является root от изменений клиентами NFS. Опция
no_root_squash отменяет такое поведение, и позволяет пользотелю root
(на стороне клиента) иметь доверенный полный доступ к разделу.
Данная опция может использоваться только в случае
доверия.
sync - синхронный режим работы, ответы на запросы
происходят только после того, как данные надежно будут записаны на
диск. Надежность выше, производительность меньше.
rw - даёт клиентам право на запись.
2.1.4 Полезные команды.
Для перезапуска службы nfs.
# /etc/init.d/nfs restart
2.2 Обновление програмного обеспечения
Обновим списки пакетов основного дерева portage,
дополнительного оверлея sabayon и бинарного репозитория entropy:
# emerge --sync && layman -S && equo
update
Перед тем как начинать обновлять сами пакеты следует
обновить пакетный менеджер до последней версии:
# equo install entropy equo --nodeps
Обновление всех пакетов до последних версий - это
приведёт Вашу систему в актуальное состояние:
# equo upgrade
или
# equo world
После чего обновить конфигурационные файлы.
# equo conf update
3. Клиент.
3.1 Монтирование директорий. Настройка nfs клиента.
Для того, чтобы клиентской машине было доступно ПО (в системах
Entropy и Portage) следует смонтировать следующие директории сервера в
соответсвующие локальные директории.
3.1.1 Монтирование директорий вручную.
# mount ip_server:/usr/portage /usr/portage
# mount ip_server:/usr/local/portage
/usr/local/portage
# mount ip_server:/var/lib/entropy/packages/x86
/var/lib/entropy/packages/x86
# mount
ip_server:/var/lib/entropy/packages-nonfree/x86
/var/lib/entropy/packages-nonfree/x86
# mount
ip_server:/var/lib/entropy/packages-restricted/x86
/var/lib/entropy/packages-restricted/x86
# mount
ip_server:/var/lib/entropy/client/database/x86/sabayonlinuxorg
/var/lib/entropy/client/database/x86/sabayonlinux.org
Примечание: Стоит внимательно монтировать последнюю
дерикторию: sabayonlinuxorg следует писать без точки, тогда как
аналогичную локальную директорию через точку.
3.1.2 Настройки автомонтирования.
Для автомонтирования необходимо добавить следующие
строки в /etc/fstab:
ip_server:/usr/portage
/usr/portage nfs
defaults 0 0
ip_server:/usr/local/portage
/usr/local/portage
nfs
defaults 0 0
ip_server:/var/lib/entropy/packages/x86
/var/lib/entropy/packages/x86
nfs
defaults 0 0
ip_server:/var/lib/entropy/packages-nonfree/x86
/var/lib/entropy/packages-nonfree/x86
nfs
defaults 0 0
ip_server:/var/lib/entropy/packages-restricted/x86
/var/lib/entropy/packages-restricted/x86
nfs
defaults 0 0
ip_server:/var/lib/entropy/client/database/x86/sabayonlinuxorg
/var/lib/entropy/client/database/x86/sabayonlinux.org
nfs
defaults 0 0
3.1.3 Полезные команды.
Для того, чтобы посмотреть какие директории отдаёт
на монтирование сервер:
# showmount -e ip_server
Для того, чтобы посмотреть какие директории
смонтированы в данный момент:
# df -h
Для перезапуска службы nfsmount:
# /etc/init.d/nfsmount restart
3.2 Обновление программного обеспечения.
3.2.1 После успешного монтирования, можно обновить
программное обеспечение. Перед тем как Вы начнёте обновлять сами пакеты
следует обновить пакетный менеджер до последней версии:
# equo install entropy equo --nodeps
3.2.2 Обновление всех пакетов до последних версий,
это приведёт Вашу систему в актуальное состояние:
# equo upgrade (старая команда # equo world)
3.2.3 После успешного обновления всех пакетов,
обновите конфигурационные файлы:
# equo conf update
©mohado
Используются технологии
uCoz