- Пакетный менеджер Yum в CentOS – справочник команд
- Yum: установка, обновление и удаление пакетов
- Yum: история и логи установки/удаления пакетов
- Дополнительные полезные параметры yum
- Конфигурационный файл /etc/yum.conf
- Полезные плагины yum
- Использование yum через прокси
- Как установить пакеты RPM на CentOS
- Подготовка
- Установка пакетов RPM с помощью yum
- Установка пакетов RPM с помощью rpm
- Выводы
Пакетный менеджер 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 .
Как установить пакеты RPM на CentOS
RPM — это система упаковки, используемая Red Hat и ее производными, такими как CentOS и Fedora.
Официальные репозитории CentOS содержат тысячи пакетов RPM, которые можно установить с помощью утилиты командной строки yum . Пакеты, которых нет в стандартных репозиториях CentOS, можно легко установить, включив соответствующий репозиторий.
Но не все поставщики программного обеспечения предоставляют репозиторий yum для своих приложений. Чаще всего в таких ситуациях у них будет страница загрузки, откуда вы можете загрузить и установить пакет RPM или загрузить и скомпилировать программное обеспечение из источников.
В этом руководстве мы покажем вам два метода установки пакетов RPM на CentOS.
Подготовка
При установке пакетов RPM убедитесь, что они созданы для вашей системной архитектуры и вашей версии CentOS .
Вам следует избегать использования этого метода для замены или обновления важных системных пакетов, таких как glibc, systemd или других служб и библиотек, которые необходимы для правильного функционирования вашей системы. Это может привести к ошибкам и нестабильности системы.
Чтобы установить пакеты RPM, вам необходимо войти в систему как пользователь root или пользователь с привилегиями sudo .
Обычно вы используете веб-браузер для поиска и загрузки файла RPM. Найдя файл, вы можете загрузить его с помощью браузера или инструмента командной строки, такого как curl или wget .
Установка пакетов RPM с помощью yum
yum — это инструмент менеджера пакетов по умолчанию в CentOS. Он используется для установки, удаления, загрузки, запроса и обновления пакетов из официальных репозиториев CentOS, а также других сторонних репозиториев.
Первым шагом является загрузка файла RPM, который вы хотите установить:
wget https://example.com/file.rpm
Чтобы установить пакет, используйте команду yum localinstall пути к имени пакета:
sudo yum localinstall file.rpm
yum запросит подтверждение. Ответьте y и пакет RPM будет установлен при условии, что он совместим с вашей системой и соблюдены все зависимости.
Если пакет RPM зависит от других пакетов, которые в данный момент не установлены, и если эти пакеты доступны в репозиториях, включенных в вашей системе, yum установит все зависимости. В противном случае yum напечатает список всех недостающих зависимостей, которые вам нужно будет загрузить и установить вручную.
Вместо загрузки и последующей установки пакета RPM вы можете просто передать URL-адрес пакета RPM команде yum localinstall :
sudo yum localinstall https://example.com/file.rpm
Чтобы обновить пакет RPM, который уже установлен с помощью yum, используйте ту же процедуру, что и при установке пакета.
Если по какой-то причине вы хотите удалить установленный пакет, используйте стандартную команду yum remove за которой следует имя пакета:
Установка пакетов RPM с помощью rpm
rpm — это инструмент низкого уровня, который используется для установки, удаления, обновления, запроса и проверки пакетов RPM.
Чтобы установить пакет RPM, используйте команду rpm -i за которой следует имя пакета RPM:
Параметр -v указывает rpm отображать подробный вывод, а -h — отображать индикатор выполнения, отмеченный хешем.
Если пакет зависит от других пакетов, которые не установлены в системе, rpm отобразит список всех недостающих зависимостей. Вам придется скачать и установить все зависимости вручную.
Вместо загрузки и установки пакета RPM вы можете использовать URL-адрес пакета RPM в качестве аргумента:
sudo rpm -ivh https://example.com/file.rpm
Чтобы обновить пакет, используйте параметр -U :
Если пакет, который вы пытаетесь обновить, не установлен, команда rpm -U установит его.
Чтобы установить пакет RPM без установки всех необходимых зависимостей в системе, используйте параметр —nodeps :
sudo rpm -Uvh --nodeps file.rpm
Чтобы удалить (стереть) пакет, используйте команду rpm -e , за которой следует имя пакета:
Выводы
В этом руководстве мы показали вам, как устанавливать пакеты RPM в CentOS.
Вы должны предпочесть использовать yum rpm поскольку он автоматически разрешает все зависимости за вас.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.