- Пакетный менеджер Yum в CentOS – справочник команд
- Yum: установка, обновление и удаление пакетов
- Yum: история и логи установки/удаления пакетов
- Дополнительные полезные параметры yum
- Конфигурационный файл /etc/yum.conf
- Полезные плагины yum
- Использование yum через прокси
- How to Uninstall or Remove Packages from CentOS
- Uninstall Package from CentOS with Yum
- How to Remove Packages with Dependencies Using Yum
- How to Find Specific File in CentOS
Пакетный менеджер 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 .
How to Uninstall or Remove Packages from CentOS
Uncesscerary packages slow down system performance and take up storage space. If specific software isn’t being used, then it’s best to remove it, and doing so is easy.
In this tutorial, learn how to remove packages and uninstall dependencies from CentOS 7.
- Access to a user account with sudo or root privileges
- A terminal window or command line (Ctrl+Alt+F2)
- The YUM and RPM package managers, included by default
Uninstall Package from CentOS with Yum
CentOS is an RHEL (Red Hat Enterprise Linux) distribution. Users rely on the RPM (Red-hat Package Manager) and YUM (The Yellowdog Updater, Modified) package manager.
To remove a package from CentOS, use the following yum commands:
In the following example, we deleted the Apache web server package, filed under the name httpd.x86_64, using the yum command.
Before removing, the command prompt asks for the root (or sudo user) password, and confirmation that you want the software deleted.
Type in y (for yes) and press Enter. If you have changed your mind, press n (for no) and then Enter.
Finally, the output informs you that the process is complete and shows you which package has been deleted.
Note: Only root users and users added to the sudousers group have permission to install and remove packages in CentOS.
How to Remove Packages with Dependencies Using Yum
Package dependencies are binaries, libraries, and modules on which software rely on. When installing software, it will automatically download and store the required dependencies.
In most cases, deleting software from the local package manager will also erase its dependencies (unless other programs require them).
Still, there are instances in which these dependencies have to be removed manually.
To remove a package and erase all the unneeded dependencies use the following command:
yum autoremove [package_name]
Note: When a user installs a package, YUM downloads and stores it in /var/cache/yum. However, packages remain in cache even after they’ve been installed and removed. In time, the stored cache may take up too much disk space or cause issues due to corrupt metadata. To reclaim disk space, be sure to clean the YUM cache.
Alternatively, you can alter the yum configuration file to automatically remove package dependencies when deleting a package with the yum remove or yum erase commands.
Start by opening the yum.conf file with a text editor of your choice:
Then, add the following line to the file:
directive clean_requirements_on_remove=1
Save and exit the file.
How to Find Specific File in CentOS
In case you need to delete a package but are unsure of its exact file name, you can use one of the following two commands:
yum list- | grep [package_name]
rpm -qa | grep [package_name]
The output will list all installed packages with the specified phrase found in the file name.
As you can see in the image below, httpd appears in the following packages (and dependencies):
After you have the exact name of the package you want to erase, you can uninstall it from your CentOS system.
For more options on listing packages on CentOS read our detailed tutorial.
After reading this tutorial, you should now know how to remove packages and dependencies to free up space taken up by redundant programs.
You also know how quickly find specific packages or files you want to delete.