Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Глава 6. Отправка и поддержка частных пакетов

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

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

Если вы используете и RHN Proxy, и RHN Satellite, следует ограничиться только RHN Push. Комбинация 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

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

Примечание

Создайте по меньшей мере один частный канал для получения пользовательских пакетов, прежде чем они будут отправлены в Red Hat Network.
Следующая команда отправит заголовки пакетов на серверы 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.