Yellow dog Updater, Modified (YUM) — открытый консольный менеджер rpm-пакетов.
Yum создан для решения следующих задач:
Фактически, yum представляет собой оболочку для rpm обеспечивающую работу с репозиториями.
# yum update -y # yum update # yum update foo # обновит только пакет foo
# yum remove foo # удалит пакет foo из системы # yum remove xorg-x11-drv* # удалит из системы все пакеты начинающиеся на xorg-x11-drv
Для поиска в репозиториях с помощью yum используются три команды: list, search и provides.
yum list tsclient
Просмотреть только список обновлений:
yum list updates
Список установленных пакетов:
yum list installed yum list installed | grep "@" | awk '{ print $1 }' Аналогично rpm -aq
Вывести все установленные ядра в ОС, для укажем вывести все пакеты начинающиеся с kernel:
# yum list kernel\* или # rpm -qa 'kernel*'
yum search PalmPilot
# yum provides "*bin/mail" mailx-12.4-6.fc13.x86_64 : Enhanced implementation of the mailx command Репозиторий : fedora Совпадения с: Имя файла : /bin/mail mailx-12.5-1.fc14.x86_64 : Enhanced implementation of the mailx command
для поиска пакетов, содержащих файлы в директории /etc/httpd
yum provides /etc/httpd\*
yum install tsclient
Yum автоматически разрешит (если сможет) зависимости, и предложит установить их.
yum localinstall foo.rpm
автоматически найдет зависимости пакета foo.rpm в репозиториях (если сможет) и предложит их установить.
# yum repolist
# yum repolist
Нередко пакеты из дополнительных репозиториев имеют более новую версию чем пакеты из мейнстрим, и таким образом при обновлении они заменяют собой оригинальные пакеты RHEL. Это, в свою очередь, помимо проблем с безопасностью, может повлечь проблемы с зависимостями, что недопустимо. Для того что бы этого избежать, и быть уверенным, что приоритет отдается мейнстрим пакетам, для yum существует плагин yum-priorities (в RHEL6 называется yum-plugin-priorities). Настраивается он очень просто:
yum install yum-priorities
[main] enabled=1
[base], [addons], [updates], [extras] ... priority=1 (приоритет=1) [centosplus] ... priority=2 (приоритет=2)
Остальные дополнительные репозитории, к примеру такие как rpmforge (см. ниже) … priority=N (где N к примеру > 10 и основывается на вашем предпочтении).
yum check-update
, то плагин yum-priorities отработает и мы увидим надпись типа:
Loading "priorities" plugin ... 76 packages excluded due to repository priority protections Have fun.
Первый вариант:
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm или # rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
Дописываем в файл epel.repo строку priority=10
Второй вариант добавления репзитория EPEL в CentOS. !!НЕ использовать, будут только старые пакеты!!
# yum update # yum install epel-release
По умолчанию репозиторий RPMForge для CentOS 6 не подменяет апакетов из базового репозитория CentOS. Это было в прошлом, теперь данные пакеты выведены в отдельный репозиторий (RPMForge-Extras), который по умолчанию отключен.
устанавливаем GPG ключ: # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt Устанавливаем файл с настройками rpmforge: # rpm -i rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
Читайте также: DNF (Dandified Yum) менеджер пакетов вместо Yum