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
.