Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
yum [2025/07/06 12:40] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Использование Yum ======
 +{{htmlmetatags>
 +metatag-description=(YUM представляет собой оболочку для rpm обеспечивающую работу с репозиториями. Как подключить стороннние репозитории в CentOS.)
 +}}
  
 +
 +{{:yellow_dog_updater_modified_yum_01.png?nolink&600|}}
 +
 +Yellow dog Updater, Modified (YUM) — открытый консольный менеджер [[RPM]]-пакетов.
 +
 +Yum создан для решения следующих задач:
 +
 +            * Поиск пакетов в репозитариях
 +            * Установка пакетов из репозиториев
 +            * Установка пакетов из.rpm файлов, с разрешением зависимостей с помощью репозитариев
 +            * Обновление системы
 +            * Удаление не нужных пакетов
 +
 +Фактически, yum представляет собой оболочку для rpm обеспечивающую работу с репозиториями.
 +<note>Все команды поиска поддерживают групповые символы ? и * (экранируйте их символом \ для корректной обработки bash).</note>
 +  * Обновление всей системы до последней версии осуществляется с помощью одной команды — update.<file>
 +# yum update -y
 +# yum update
 +# yum update foo # обновит только пакет foo
 +</file>
 +  * Удаление пакетов. Удаление пакетов осуществляется с помощью команды remove.<file>
 +# yum remove foo            # удалит пакет foo из системы
 +# yum remove xorg-x11-drv*  # удалит из системы все пакеты начинающиеся на xorg-x11-drv
 +</file>
 +Для поиска в репозиториях с помощью yum используются три команды: list, search и provides.
 +
 +  * Команда list просматривает названия пакетов и их версии в поисках совпадений. Например, для просмотра пакетов с названием tsclient используйте:<file>
 +yum list tsclient
 +</file>Просмотреть только список обновлений:<file>
 +yum list updates
 +</file>Список установленных пакетов:<file>
 +yum list installed
 +yum list installed | grep "@" | awk '{ print $1 }'
 +Аналогично
 +rpm -aq
 +</file>Вывести все установленные ядра в ОС, для укажем вывести все пакеты начинающиеся с kernel:<file>
 +# yum list kernel\*
 +или
 +# rpm -qa 'kernel*'
 +</file>
 +  * Команда search ищет в названии пакета и его описании указанную строку. Например, для поиска пакетов связанных с PalmPilot введите:<file>
 +yum search PalmPilot
 +</file>
 +  * Команда **provides** позволяет производить поиск пакетов содержащих указанный файл. Например, для поиска пакетов содержащих команду mail введите:<file>
 +# 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
 +</file>для поиска пакетов, содержащих файлы в директории /etc/httpd<file>
 +yum provides /etc/httpd\*
 +</file> 
 +  * Установка пакетов с помощью Yum. Для установки пакетов с помощью yum используется параметр install. Так, для установки tsclient введите:<file>
 +yum install tsclient
 +</file>Yum автоматически разрешит (если сможет) зависимости, и предложит установить их.
 +  * Установка пакетов из.rpm файлов. Для установки.rpm пакета с автоматическим разрешением зависимостей используется команда localinstall. Так команда:<file>
 +yum localinstall foo.rpm
 +</file> автоматически найдет зависимости пакета foo.rpm в репозиториях (если сможет) и предложит их установить.
 +  * Покажет все подключенные репозитории.<file>
 +# yum repolist
 +</file>
 +====== Настройка репозиториев для Centos, Rhel ======
 +  * **Вывести все подключенные репозитории:**<file bash>
 +# yum repolist
 +</file>Нередко пакеты из дополнительных репозиториев имеют более новую версию чем пакеты из мейнстрим, и таким образом при обновлении они заменяют собой оригинальные пакеты RHEL. Это, в свою очередь, помимо проблем с безопасностью, может повлечь проблемы с зависимостями, что недопустимо. Для того что бы этого избежать, и быть уверенным, что приоритет отдается мейнстрим пакетам, для yum существует плагин yum-priorities (в RHEL6 называется yum-plugin-priorities). Настраивается он очень просто:
 +  - Устанавливаем сам плагин:<file>
 +yum install yum-priorities
 +</file>
 +  - Проверяем, включен ли плагин. Для это смотрим, есть ли в файле /etc/yum/pluginconf.d/priorities.conf строчки:<file>
 +[main]
 +enabled=1
 +</file>
 +  - Далее, редактируем файлы .repo в директории /etc/yum.repos.d/ и для каждого репозитория дописываем параметр: priority=N, где N - число от 1 до 99. Рекомендуемые настройки:<file>
 +[base], [addons], [updates], [extras] ... priority=1 (приоритет=1)
 +[centosplus] ... priority=2 (приоритет=2)
 +</file>Остальные дополнительные репозитории, к примеру такие как rpmforge (см. ниже) ... priority=N (где N к примеру > 10 и основывается на вашем предпочтении).
 +  - Если сейчас сделать попытку апдейта системы:<file>
 +yum check-update
 +</file>, то плагин yum-priorities отработает и мы увидим надпись типа:<file>
 +Loading "priorities" plugin
 +...
 +76 packages excluded due to repository priority protections
 +
 +Have fun.
 +</file> 
 +====== Добавление дополнительных репозиториев в CentOS ======
 +
 +===== EPEL =====
 +**Первый вариант:**
 +
 +  * **[[https://fedoraproject.org/wiki/EPEL|EPEL]]**<code bash>
 +# 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
 +</code>Дописываем в файл epel.repo строку priority=10
 +
 +**Второй вариант** добавления репзитория EPEL в CentOS. !!**НЕ использовать**, будут только старые пакеты!!
 +<file bash>
 +# yum update
 +# yum install epel-release
 +</file>
 +
 +===== RPMForge =====
 +
 +По умолчанию репозиторий RPMForge для CentOS 6 не подменяет апакетов из базового репозитория CentOS. Это было в прошлом, теперь данные пакеты выведены в отдельный репозиторий (RPMForge-Extras), который по умолчанию отключен.
 +
 +  * **[[http://repoforge.org/use/|RPMForge]]**<code bash>
 +устанавливаем 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
 +</code>
 +
 +Читайте также: [[DNF]]

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!