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
.