Предназначение Yum
Yum создан для решения следующих задач:
- Поиск пакетов в репозитариях
- Установка пакетов из репозиториев
- Установка пакетов из.rpm файлов, с разрешением зависимостей с помощью репозитариев
- Обновление системы
- Удаление не нужных пакетов
- Фактически, yum представляет собой оболочку для rpm обеспечивающую работу с репозиториями.
Основные операции над пакетами
Поиск в репозиториях
Для поиска в репозиториях с помощью yum используются три команды: list , search и provides .
Самый простой способ поиска - использование команды list . Команда list просматривает названия пакетов и их версии в поисках совпадений. Например, для просмотра пакетов с названием tsclient используйте:
Yum list tsclient
Команда search ищет в названии пакета и его описании указанную строку. Например, для поиска пакетов связанных с PalmPilot введите:
Yum search PalmPilot
Команда provides позволяет производить поиск пакетов содержащих указанный файл. Например, для поиска пакетов содержащих libneon введите:
Yum provides libneon
Все команды поиска поддерживают групповые символы? и * (экранируйте их символом \ для корректной обработки bash). К примеру, при для поиска пакетов начинающихся на tsc введите:
Yum list tsc\*
для поиска пакетов, содержащих файлы в директории /etc/httpd
Yum provides /etc/httpd\*
или для поиска определённых команд/программ, например для поиска mc(midnight commander)
Yum provides \*/mc
в результате получим следующий вывод
1:mc-4.7.4-1.fc14.i686: User-friendly text console file manager and visual shell Репозиторий: base Совпадения с: Имя файла: /usr/share/mc Имя файла: /usr/libexec/mc Имя файла: /etc/mc Имя файла: /usr/bin/mc
Установка пакетов с помощью Yum
Для установки пакетов с помощью yum используется параметр install
Для установки tsclient введите:
Yum install tsclient
Yum автоматически разрешит (если сможет) зависимости, и предложит установить их:
Установка пакетов из.rpm файлов
Для установки.rpm пакета с автоматическим разрешением зависимостей раньше использовалась команда localinstall . Теперь можно использовать обычный install . Так команда:
Yum install foo.rpm
автоматически найдет зависимости пакета foo.rpm в репозиториях (если сможет) и предложит их установить.
Может возникнуть проблема в отсутствии или неизвестной GPG подписи у RPM пакета, результатом чего будет отказ в установке и как следствие следующая ошибка
Публичный ключ для foo.rpm не установлен
Для того чтобы обойти это (в случае если Вы доверяете источнику предоставляющему пакет) необходимо выключить проверку GPG ключей, добавив в конце команды параметр --nogpgcheck
Обновление системы
Обновление системы осуществляется с помощью одной команды - update . Таким образом:
Yum update
обновит всю вашу систему. А команда
Yum update foo
При использовании обоих методов работоспособность сохраняется.
Использование Yum с прокси-сервером
Для того чтобы заставить Yum работать через прокси-сервер необходимо добавить следующий параметр в /etc/yum.conf:
Proxy=http://yourproxy:8080/
где - yourproxy это имя прокси-сервера, а 8080 это порт прокси-сервера. Если сервер требует аутентификации, вы можете указать логин как:
Proxy=http://username:password@yourproxy:8080/
RPM Package Manager позволяет использовать прокси-переменные среды. Это может быть задано в /etc/profile или специфизированно для конкретного пользователя в файле ~/.bash_profile::
Export http_proxy=http://yourproxy:8080/
export ftp_proxy=http://yourproxy:8080/
Для использования wget через прокси-сервер, добавте следующие строки в /etc/wgetrc
Http_proxy = http://yourproxy:8080/
ftp_proxy = http://yourproxy:8080/
В обоих случаях логин и пароль могут быть заданы как в примере выше.
Использование Yum для установки локального пакета, автоматически проверяя и удовлетворяя зависимости
yum --nogpgcheck localinstall packagename.arch.rpmОтображение приоритетов для всех установленных репозиториев
Вы можете получить список всех установленных у вас репозиториев - yum repolist all . Однако, он не показывает индекс приоритета. Вот строка необходимая для этого. Если номер не определен, по умолчанию, это самый низкий приоритет (99).
Cat /etc/yum.repos.d/*.repo | sed -n -e "/^\}