- Пакетный менеджер Yum в CentOS – справочник команд
- Yum: установка, обновление и удаление пакетов
- Yum: история и логи установки/удаления пакетов
- Дополнительные полезные параметры yum
- Конфигурационный файл /etc/yum.conf
- Полезные плагины yum
- Использование yum через прокси
- Yum, шпаргалка
- Оглавление
- Опции Yum
- Cледующие команды доступны после установки пакета yum-utils
- Конфигурационные файлы Yum и их расположение
- Некоторые опции yum.conf:
- Некоторые полезные плагины
- Работа Yum через прокси сервер
Пакетный менеджер Yum в CentOS – справочник команд
В данной статье мы рассмотрим менеджер пакетов Yum, который позволяет управлять установкой, удалением и обновлением пакетов, автоматически разрешать зависимости, управлять дополнительными репозиториями.
Yum (Yellowdog Updater Modified) – консольный менеджер пакетов для дистрибутивов Linux, основанных на пакетах формата RPM (RedHat Package Manager). Сюда входят такие популярные ОС как RedHat, CentOS, Fedora, Oracle Linux, Scientific Linux.
Информация!
Знак «$» в консоли говорит, что мы в пользовательском режиме. Знак «#» говорит о том, что в привилегированном. Работая в пользовательском режиме для повышения прав необходимо использовать команду «sudo«. Например: sudo yum install httpd.
При установке пакетов система просит подтверждение установки: [y/d/N]. Чтобы подтверждение было одобрено по умолчанию, нужно добавить ключ -y
Yum: установка, обновление и удаление пакетов
Полная справка по менеджеру пакетов yum :
Очистить кеш всех пакетов (обчычно используется при возникновении проблем при работе yum):
Пересоздать кеш пакетов заново:
Отобразить список подключенных репозиториев:
Вывести список всех доступных пакетов для установки:
Список всех пакетов, которые установлены в системе:
Вывести список пакетов, которые относятся к ядру Linux:
Проверить установлен ли в системе определенный пакет, например, apache:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.awanti.com * epel: mirror.datacenter.by * extras: mirrors.powernet.com.ru * updates: mirror.axelname.ru Installed Packages httpd.x86_64 2.4.6-93.el7.centos @base
Можно получить более подробную информацию о пакете:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.awanti.com * epel: mirrors.glesys.net * extras: mirrors.powernet.com.ru * updates: mirror.axelname.ru Installed Packages Name : httpd Arch : x86_64 Version : 2.4.6 Release : 93.el7.centos Size : 9.4 M Repo : installed From repo : base Summary : Apache HTTP Server URL : http://httpd.apache.org/ License : ASL 2.0 Description : The Apache HTTP Server is a powerful, efficient, and extensible : web server.
Чтобы установить пакет используется команда yum install . Для установки веб-сервера apache выполните:
Перед установкой пакета можно проверить его на зависимости и необходимые пакеты с помощью команды:
Если вы хотите установить какой-либо пакет, но забыли его полное название, можно воспользоваться подстановочным символом * . Например:
Можно установить сразу несколько пакетов:
yum install wget htop yum-utils
Удалить установленный пакет:
!Но перед удалением любого пакета, рекомендуется сначала проверить его на зависимости (бывают пакеты, удаление которых влечет за собой удаление множества других пакетов, что в следствии приводит к неработоспособности системы):
Найти пакет по имени или описанию:
С помощью опции provides вы можете найти пакеты, содержавшие определенный файл, например:
Выполнить обновление всех установленных пакетов:
Вы можете обновить только определенный пакет, указав его имя:
Проверить если доступные обновления для системы можно командой:
Получить информацию о доступных обновлениях безопасности:
yum updateinfo list security
Бывают случаи, когда после обновления какого-либо пакета или сервиса, возникают проблемы. Например, после обновления php, перестало работать ваше приложение или сайт. Вы можете вернуть предыдущую версию пакета, откатив установленный пакет:
Имеется возможность группой установки пакетов командой grouplist . В репозитории существуют предопределенные группы пакетов с различными наборами программ. Вы можете вывести список имеющихся групп:
Рассмотрим на примере группового листа «Basic Web Server». Получить информацию о группе и пакетах в ней:
yum groupinfo "Basic Web Server"
При проверке мы видим, что будут установлены набор пакетов и сервисов для веб-сервера.
Ещё один полезный групповой лист «System Administration Tools»:
yum groupinfo "System Administration Tools"
Как видим, в данном листе содержатся пакеты, которые будут полезны для мониторинга и отладки.
Установить групповой лист можно командой:
yum groupinstall "System Administration Tools"
Yum: история и логи установки/удаления пакетов
Вы можете вывести информацию об истории установки пакетов yum (списка транзакций) с помощью команды:
Вывод состоит из 5 столбцов, в первом выводится ID транзакции по которому можно посмотреть всю информацию (установленные пакеты, зависимости):
Более того, можно отменить данную транзакцию командой:
В моем случае удалилось бы 4 пакета:
Так же всю информацию об истории установки/удаления пакетов менеджером yum можно посмотреть в логе /var/log/yum.log :
Jun 15 05:34:39 Installed: perl-Getopt-Long-2.40-3.el7.noarch Jun 15 05:34:41 Installed: 4:perl-5.16.3-295.el7.x86_64 Jun 15 05:34:41 Installed: 2:vim-filesystem-7.4.629-6.el7.x86_64 Jun 15 05:34:43 Installed: 2:vim-common-7.4.629-6.el7.x86_64 Jun 15 05:34:44 Installed: 2:vim-enhanced-7.4.629-6.el7.x86_64 Jun 15 05:34:44 Installed: 1:mc-4.8.7-11.el7.x86_64 Jun 15 05:34:44 Installed: htop-2.2.0-3.el7.x86_64 Jun 15 05:34:44 Installed: tree-1.6.0-10.el7.x86_64 Jun 15 05:35:04 Installed: net-tools-2.0-0.25.20131004git.el7.x86_64 Jun 15 06:46:19 Installed: apr-1.4.8-5.el7.x86_64 Jun 15 06:46:19 Installed: apr-util-1.5.2-6.el7.x86_64 Jun 15 06:46:19 Installed: httpd-tools-2.4.6-93.el7.centos.x86_64 Jun 15 06:46:19 Installed: mailcap-2.1.41-2.el7.noarch Jun 15 06:46:20 Installed: httpd-2.4.6-93.el7.centos.x86_64
Дополнительные полезные параметры yum
Утилита yum имеет несколько полезных опций, которые часто приходитя использовать при управлении пакетами. Чтобы при установке или удалении пакетов, после ввода команды не подтверждать своих действий, можно воспользоваться опцией -y , например,:
Чтобы ответить no при запросе, нужно указать опцию:
Использовать yum без плагинов или отключить конкретный плагин:
--noplugins --disableplugin=fastestmirror
Включить отключенный плагин:
--enableplugin=fastestmirror
Задействовать отключенный репозиторий:
yum update –enablerepo=atomic
Отключить определенный репозиторий:
yum update –disablerepo=atomic
Конфигурационный файл /etc/yum.conf
Конфигурационный файл yum — /etc/yum.conf .
Основные параметры конфигурационного файла:
cachedir – локальный кэш пакетов (по умоланию /var/cache/yum )
logfile — путь до файла с логами yum
obsoletes — обновлять или нет, устаревшие пакеты(1-да, 0-нет)
gpgcheck — проверка подписи пакета перед установкой (1-да, 0-нет)
keepcache — хранение кеша (1-да, 0-нет)
cachedir — директория для хранения кеша(по умолчанию /var/cache/yum )
debuglevel – уровень отладки от 1 до 10
plugins — включение yum плагинов (1-да, 0-нет)
bugtracker_url – ссылка по которой будут зарегистрированы ошибки работы yum
installonly_limit – максимальное количество версий, которые могут быть установлены для одного пакета.
Полезные плагины yum
Некоторые популярные плагины и их описание:
yum-plugin-fastestmirror – плагин служащий для измерения скорости зеркал и предоставления самого быстрого для установки пакетов.
yum-plugin-security — плагин которые предоставляет список обновлений относящихся только к безопасности системы.
yum-plugin-keys — позволяет работать с ключами keys, keys-info, keys-data, keys-remove
Директория где хранятся все плагины /etc/yum/
yum-plugin-versionlock – позволяет блокировать обновление указанных пакетов
Вывести список доступных плагинов yum:
Вы можете установить выбранный плагин командой yum install , как и любой другой пакет:
yum install yum-plugin-changelog yum -y install yum-versionlock
Чтобы заблокировать обновление пакета через плагин, выполните:
Вывести список заблокировнных пакетов:
Убрать пакет из заблокированных:
yum versionlock delete nginx
Если вам в какой-то момент времени не нужно использовать определенный плагин, вы его можете отключить, добавив префикс при вызове yum:
--disableplugin=fastestmirror
Или же отключить вообще все плагины, установленные в системе:
Использование yum через прокси
Yum для работы с репозиториями программ использует протокол HTTP/1.1. Если ваш Linux сервер имеет доступ в интернет только через HTTP прокси сервер, вы можете указать имя прокси сервера в конфигурационном файле /etc/yum.conf в секции [main] :
proxy=http://proxyservername:3128
Если прокси-сервер требует авторизацию, добавьте строки:
proxy_proxy_username=user proxy_password=pass
Для проверки работы yum через прокси сервер воспользуйтесь командой:
yum clean all && yum search nginx
Для проверки я указал публичный прокси сервер с Германии и при установке, сработал плагин fastestmirror , нашел зеркала с которых скорость будет выше:
Если нужно использовать прокси только для некоторых репозиториев, не нужно править файл /etc/yum.conf , а настройки прокси указать в конфигурационном файле репозитория /etc/yum.repos.d/ваш_конфиг.repo .
Yum, шпаргалка
Шпаргалка по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других). В целях экономии места вывод команд не представлен.
Оглавление
#yum updateinfo list security
#yum groupinfo "Basic Web Server"
#yum groupinstall "Basic Web Server"
#yum groupremove "Basic Web Server"
#yum repo-pkgs reponame install
#yum repo-pkgs reponame remove
проверить локальную базу rpm (поддерживаются параметры dependencies, duplicates, obsoletes, provides)
установить из локальной директории (поиск/установка зависимостей будут произведены из подключенных репозиториев)
#yum localinstall httpd.rpm
#yum localinstall http://server/repo/httpd.rpm
Опции Yum
--disableplugin=fastestmirror
#yum update -y --enablerepo=epel
#yum update -y --disablerepo=epel
скачать пакеты, но не устанавливать
(на Centos 7 x86_64 будут скачаны в ‘/var/cache/yum/x86_64/7/base/packages/’)
#yum install httpd --downloadonly
Cледующие команды доступны после установки пакета yum-utils
#repoquery --requires --resolve httpd
#reposync -p repo1 --repoid=updates
запрос к локальной базе yum, отображение информации о пакете
(использованная команда, контрольная сумма, URL с которого был установлен и другое)
скачать src.rpm пакет из репозитория
(должен быть подключен соответствующий репозиторий, например в ‘/etc/yum.repos.d/CentOS-Sources.repo’ в CentOS)
Конфигурационные файлы Yum и их расположение
Некоторые опции yum.conf:
cachedir=/var/cache/yum/$basearch/$releasever
Определяет должен или нет Yum хранить кэш заголовков и пакетов после успешной установки. Значения: 0 или 1. (по умолчанию 1)
Некоторые полезные плагины
Работа Yum через прокси сервер
proxy_proxy_username=user proxy_password=pass
#export http_proxy="http://server:3128"