Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Глава 6. Размещение пакетов на серверах

При выборе способа добавления пакетов в частные каналы должен учитываться тип используемой службы Red Hat Network.
Пользователи прокси-сервера RHN используют менеджер пакетов RHN, который отправляет информацию из заголовка пакета центральным серверам Red Hat Network и помещает сам пакет в локальный репозиторий прокси-сервера.
Пользователи RHN Satellite используют приложение RHN Push, которое передает информацию из заголовка пакета локальному серверу RHN Satellite и помещает сам пакет в локальный репозиторий Satellite.
В этой главе обсуждаются обе программы.

Предупреждение

Если используется и прокси-сервер, и RHN Satellite, следует ограничиться только RHN Push. Комбинация RHN Proxy-Satellite требует, чтобы пользовательские пакеты и каналы были загружены только на Satellite. Прокси-сервер будет получать пакеты и передавать их клиентам.

6.1. Размещение пакетов на RHN Proxy

Менеджер пакетов RHN позволяет предоставлять пользовательские пакеты из частного канала RHN на прокси-сервере RHN. Если вы хотите, чтобы прокси-сервер предоставлял только официальные пакеты Red Hat Enterprise Linux, в установке менеджера пакетов нет необходимости.
Для доступа к функциям менеджера пакетов, установите rhns-proxy-package-manager с разрешением зависимостей. Этот пакет доступен зарегистрированным системам RHN Proxy, а установить его можно с помощью команды up2date rhns-proxy-package-manager.

Примечание

Серверам RHN будут отправляться только заголовки пакетов, так как они потребуются для разрешения зависимостей. Сами пакеты (*.rpm) хранятся на прокси-сервере, поэтому их невозможно загрузить с сайта RHN — они должны быть получены с помощью up2date.

6.1.1. rhn_package_manager

Прежде чем менеджер пакетов сможет отправлять пакеты на RHN, нужно их скопировать на прокси-сервер (с помощью scp):
scp foo.rpm root@rhnproxy.example.com:/tmp
Укажите файлы, которые заранее были скопированы на прокси.

Примечание

Создайте по меньшей мере один частный канал для размещения пользовательских пакетов.
Следующая команда отправит заголовки пакетов на серверы RHN и скопирует пакеты в репозиторий прокси-сервера:
rhn_package_manager -c метка_частного_канала список_пакетов
метка_частного_канала идентифицирует частный канал, созданный специально для получения пакетов. Если задано несколько каналов (с помощью -c или --channel), заголовки пакетов будут сопоставлены всем заданным каналам. Если же канал не задан, пакеты будут перечислены в секции Нет каналов на странице управления пакетов (см. Раздел 4.6, «Добавление пакетов в канал»).
список_пакетов замените списком отправляемых пакетов. Эти пакеты уже должны быть скопированы на прокси-сервер RHN. Или с помощью опции -d укажите локальный каталог с пакетами, которые следует добавить в канал. Менеджер пакетов RHN также может получать список пакетов из стандартного ввода (--stdin).
Другие параметры, включая адрес сервера Red Hat Network, имя пользователя и пароль для доступа к прокси-серверу HTTP (если необходима аутентификация), а также каталог с пакетами определены в файле /etc/rhn/default/rhn_proxy_package_manager.conf и не должны изменяться. Их можно переопределить в главном файле конфигурации /etc/rhn/rhn.conf или с помощью параметров rhn-package-manager.
Если файл не содержит их определения, они будут получены из .rhn_package_manager в домашнем каталоге текущего пользователя и из /etc/rhn/rhn_package_manager.conf. Убедитесь, что полномочия файлов не допускают их открытое чтение всеми пользователями.
После отправки пакетов убедитесь, что локальный каталог синхронизирован с образом каналов сервера RHN:
rhn_package_manager -s -c имя_частного_канала
-s покажет недостающие пакеты — пакеты, которые были загружены на сервер RHN, но отсутствуют в локальном каталоге. Эту опция доступна только администраторам организации. Далее программа запросит имя пользователя и пароль RHN.
--copyonly копирует файл в заданный канал без его загрузки на Satellite. Применяется, если канал на прокси-сервере RHN не содержит пакет, и вы не хотите повторно выполнять импорт всех пакетов.
rhn_package_manager -c имя_канала --copyonly /путь/к/файлу
Для получения списка пакетов в составе канала можно использовать менеджер пакетов RHN.
rhn_package_manager -l -c имя_частного_канала
Опция -l позволяет показать имя пакета, номер выпуска и версии, архитектуру, а также имя канала для каждого пакета в заданных каналах (см. Таблица 6.1, «Параметры rhn_package_manager»).
Таблица 6.1, «Параметры rhn_package_manager» содержит перечень параметров rhn_package_manager:

Таблица 6.1. Параметры rhn_package_manager

Параметр Описание
-v, --verbose Подробный вывод.
-d, --dir КАТАЛОГ Обработка пакетов в заданном каталоге.
-c, --channel КАНАЛ Канал для получения пакетов. С помощью -c можно указать несколько каналов. Пример: -c первый_канал -c второй_канал
-n, --count ЧИСЛО Обработка заданного числа заголовков за один вызов. Значение по умолчанию — 32.
-l, --list Показывает список пакетов для заданных каналов.
-s, --sync Проверка синхронизации локального каталога с сервером.
-p, --printconf Вывод текущей конфигурации и выход.
--newest Отправлять только те пакеты, которые новее присутствующих на сервере. При этом версии исходных пакетов не сравниваются. Пакеты выбираются исходя из даты их создания. Если вы используете эту опцию с пакетом исходного кода, то пакет будет отправлен, но веб-интерфейс RHN не отразит пакет до тех пор, пока не будет отправлен двоичный пакет. А опции --source --newest обновят пакет без необходимости предварительной отправки двоичного пакета.
--source Отправка заданных исходных пакетов, которые будут рассматриваться как обычные независимые пакеты, а НЕ исходные пакеты, связанные с двоичным пакетом. Это применяется для передачи исходного кода приложения разработчикам и команде тестирования.
--stdin Получение имен пакетов из стандартного ввода.
--nosig Не выполнять аварийное завершение, если есть пакеты без подписи.
--no-ssl Отключение SSL (не рекомендуется).
--stdin Получение имен пакетов из стандартного ввода.
--username ИМЯ_ПОЛЬЗОВАТЕЛЯ Имя пользователя RHN. Если не задано, будет запрошено имя администратора канала.
--password ПАРОЛЬ Пароль RHN. Если не задан, будет запрошен пароль администратора канала.
--dontcopy Не копировать пакеты в их целевой каталог в дереве пакетов.
--copyonly Копировать пакеты, но не импортировать их повторно.
--test Вывод списка отправляемых пакетов.
-?, --help Просмотр справки с перечнем параметров.
--usage Краткое описание доступных параметров.
--copyonly Выполнить только копирование пакетов.

Примечание

Перечисленные параметры также описаны на справочной странице rhn_package_manager. Команда: man rhn_package_manager.