- Как удалить пакеты с зависимостями с помощью Yum
- 1. Использование опции Autoremove YUM
- 2: Использование плагина yum-plugin-remove-with-leaves
- Шпаргалка по менеджеру пакетов YUM в CentOS и RHEL
- Yum: установка, обновление и удаление пакетов
- Yum: история и логи установки/удаления пакетов
- Дополнительные полезные параметры yum
- Конфигурационный файл /etc/yum.conf
- Полезные плагины yum
- Использование yum через прокси
- Шпаргалка по работе с менеджером пакетов в CentOS
- Репозитории
- Примеры команд для управления репозиториями
Как удалить пакеты с зависимостями с помощью Yum
Обычно удаление пакета с использованием системы управления пакетами YUM приведет к удалению этого пакета вместе со своими зависимостями.
Однако некоторые зависимости не будут удалены в системе, это то, что мы можем назвать «неиспользуемыми зависимостями» или (так называемыми «leaf пакетами» в соответствии с справочной страницей YUM).
В этой статье мы объясним два способа удаления пакета вместе со своими зависимостями с помощью диспетчера пакетов YUM в дистрибутивах CentOS и RHEL.
1. Использование опции Autoremove YUM
Этот метод требует, чтобы вы добавили директиву clean_requirements_on_remove в главный файл конфигурации YUM /etc/yum.conf.
Вы можете использовать свой любимый редактор командной строки, чтобы открыть его для редактирования, как показано ниже:
Затем добавьте следующую строку в файл /etc/yum.conf, как показано на следующем рисунке.
Значение один означает, что директива включена ,а ноль означает иначе.
Сохраните изменения и выйдите из файла.
Теперь, каждый раз, когда вы удаляете пакеты, YUM просматривает зависимости каждого пакета и удаляет их, если они больше не нужны никаким другим пакетам.
2: Использование плагина yum-plugin-remove-with-leaves
Это расширение удаляет любые неиспользуемые зависимости, которые были добавлены в установочный пакет, но не будет удаляться автоматически.
Он также поможет вам очистить систему от неиспользуемых библиотек и пакетов.
Если вы установили расширение, каждый раз, когда вы хотите удалить пакет, добавьте, например, флаг -remove-leaves.
Для получения дополнительной информации ознакомьтесь с справочной страницей YUM:
Источник
Шпаргалка по менеджеру пакетов YUM в CentOS и RHEL
В этой статье мы рассмотрим менеджер пакетов Yum, который позволяет управлять установкой, удалением и обновлением программ (.RPM-пакетов), автоматически разрешать зависимости, управлять дополнительными репозиториями. Данная статья о Yum должна прежде всего быть интересна как шпаргалка для начинающих администраторов Linux.
Yum (Yellowdog Updater Modified) – консольный менеджер пакетов для дистрибутивов Linux, основанных на пакетах формата RPM. (RedHat Package Manager) Сюда входят такие популярные ОС как RedHat, CentOS, Fedora, Oracle Linux, Scientific Linux.
Yum: установка, обновление и удаление пакетов
С чего начать? Пожалуй, как и в любых других случаях, начинаем со справки:
yum help – полная справка по менеджеру пакетов yum
Открыв ее, я выделю основные команды:
yum clean all – очистить кеш всех пакетов (обчычно используется при возникновении проблем при работе yum).
yum makecache – пересоздать кеш пакетов заново.
yum repolist – отобразить список подключенных репозиториев, вывод выглядит так:
У меня в системе установлены только стандартные репозитории CentOS-7: Base, Extras и Updates.
yum list available – вывести список всех доступных пакетов для установки.
yum list installed – список всех пакетов, которые установлены в системе.
yum list kernel – вывести список пакетов, которые относятся к ядру Linux.
Вы можете проверить установлен ли в вашей системе определенный пакет, например, apache:
yum list installed httpd
Вы можете получить более подробную информацию о пакете, например, получим данные о пакете MariaDB:
yum info mariadb
Чтобы установить пакет используется команда yum install. Для установки веб-сервера apache выполните:
yum install httpd
Перед установкой пакета можно проверить его на зависимости и необходимые пакеты с помощью команды:
yum deplist httpd
Если вы хотите установить какой-то пакет, но забыли его полное название, можно воспользоваться подстановочным символом *. Например:
yum install epel-*
Если ввести просто:
yum install epel
Увы, пакета не видно.
Yum позволяет установить сразу несколько пакетов:
yum install httpd php wget rsyslog
yum reinstall proftpd
Чтобы удалить установленный пакет с помощью yum используется параметр remove :
yum remove httpd
Но перед удалением любого пакета, рекомендуется сначала проверить его на зависимости (бывают пакеты, удаление которых влечет за собой удаление множества других пакетов, что в следствии приводит к неработоспособности системы):
yum deplist proftpd
Найти пакет по имени или описанию:
yum search nginx
С помощью опции provides вы можете найти пакеты, содержавшие определенный файл, например:
yum provides */squid.conf
Выполнить обновление всех установленных пакетов можно с помощью команды:
Вы можете обновить только определенный пакет, указав его имя:
Проверить если доступные обновления для системы можно командой:
Получить информацию о доступных обновлениях безопасности:
yum updateinfo list security
Бывают случаи, когда после обновления какого-либо пакета или сервиса, возникают проблемы. Например, после обновления php, перестал работать ваш сайт. Вы можете вернуть предыдущую версию пакета, откатив установленный пакет через yum:
yum downgrade perl
Так же хотел обратить ваше внимание, на групповую установку пакетов через grouplist. В репозитории существуют предопределенные группы пакетов с различными наборами программ. Вы можете вывести список имеющихся групп:
Рассмотрим на примере группового листа «Basic Web Server». Получить информацию группе и пакетах в ней:
yum groupinfo «Basic Web Server»
При проверке мы видим, что будут установлены набор пакеты и сервисы, для веб-сервера.
И еще один полезный групповой лист «System Administration Tools»:
yum groupinfo «System Administration Tools”
Как видим в данном листе содержатся пакеты, которые будут полезны для мониторинга и отладки.
Установить групповой лист можно командой:
yum groupinstall «System Administration Tools»
Установленные пакеты будут в отдельном блоке «Installed Groups»:
Yum: история и логи установки/удаления пакетов
Вы можете вывести информацию об истории установки пакетов yum (списка транзакций) с помощью команды:
yum history list
Вывод состоит из 5 столбцов, в первом выводится ID транзакции по которому можно посмотреть всю информацию (установленные пакеты, зависимости):
yum history info 10
Более того, можно отменить данную транзакцию командой:
yum history undo 10
В моем случае удалилось бы 4 пакета:
Так же всю информацию об истории установки/удаления пакетов менеджером yum можно посмотреть в логе /var/log/yum.log:
cat /var/log/yum.log
Дополнительные полезные параметры yum
У утилиты yum есть несколько полезных опций, которые часто приходитя использовать при управлении пакетами. Чтобы при установке или удалении пакетов, после ввода команды не предпринимать никаких действий, можно воспользоваться опцией -y , например,:
yum update -y yum install httpd -y
Чтобы ответить no при запросе, нужно указать опцию:
Использовать yum без плагинов или отключить конкретный плагин:
Включить отключенный плагин:
Задействовать отключенный репозиторий:
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? Как и везде, упрощают нашу работу.
Некоторые популярные плагины и их описание:
yum-plugin-fastestmirror – плагин служащий для измерения скорости зеркал и предоставления самого быстрого для установки пакетов.
yum-plugin-security — плагин которые предоставляет список обновлений относящихся только к безопасности системы.
yum-plugin-keys — позволяет работать с ключами keys, keys-info, keys-data, keys-remove
Директория где хранятся все плагины /etc/yum/
yum-plugin-versionlock – позволяет блокировать обновление указанных пакетов
Чтобы вывести список доступных плагинов yum, выполните:
yum search yum-plugin
Вы можете установить выбранный плагин командой yum install, как и любой другой пакет:
yum install yum-plugin-changelog
yum -y install yum-versionlock
Чтобы заблокировать обновление пакета через плагин, выполните:
yum versionlock nginx
Вывести список заблокировнных пакетов:
yum versionlock list
Убрать пакет из заблокированных:
yum versionlock delete nginx
Если вам в какой-то момент времени не нужно использовать определенный плагин, вы его можете отключить, добавив префикс при вызове yum:
Или же отключить вообще все плагины, установленные в системе:
Использование yum через прокси
Yum для работы с репозиториями программ использует протокол HTTP/1.1. Если ваш Linux сервер имеет доступ в интернет только через HTTP прокси сервер, вы можете указать имя прокси сервера в конфигурационном файле /etc/yum.con в секции [main]:
Если прокси-сервер требует авторизацию, добавьте строки:
Для проверки работы yum через прокси сервер воспользуйтесь командой
yum clean all && yum search nginx
Для проверки я указал публичный прокси сервер с Германии и при установке, сработал плагин fastestmirror, нашел зеркала с которых скорость будет выше:
Если нужно использовать прокси только для некоторых репозиториев, не нужно править файл /etc/yum.conf, а настройки прокси указать в конфигурационном файле репозитория /etc/yum.repos.d/ваш_конфиг.repo.
Итак, в этой статье мы рассмотрели базовые возможности менеджера rpm пакета yum в Linux CentOS/ RHEL. В следующей статье мы более подробно поговорим об управлении репозиториями в Yum. Знакомьтесь, пробуйте и используйте yum в своей работе.
Источник
Шпаргалка по работе с менеджером пакетов в CentOS
Статья представляет из себя небольшую шпаргалку по работе с пакетным менеджером dnf (CentOS 8) и yum (CentOS 7 и ниже). В данном руководстве мы будем использовать только команду yum, так как она работает и в CentOS 7 и в 8.
Репозитории
Команда yum/dnf использует репозитории для своей работы. Очень важно понять, как с ними работать в системе. Конфиги репозиториев CentOS описывают пути, по которым система может брать установочные файлы для пакетов, а также правила работы с самими репозиториями.
Примеры команд для управления репозиториями
1. Просмотр репозиториев.
Список включенных репозиториев:
Список включенных и отключенных репозиториев:
yum repolist all
Также мы можем получить подробное описание для каждого включенного репозитория:
Список отключенных репозиториев можно посмотреть отдельно командой:
yum repolist disabled
2. Добавление репозитория командой.
Для добавления репозитория мы можем воспользоваться командой yum-config-manager, для этого сначала нужно установить yum-utils:
yum install yum-utils
yum-config-manager —add-repo https://yum.mariadb.org/10.5/centos8-amd64
* на основе ссылки https://yum.mariadb.org/10.5/centos8-amd64 будет добавлен репозиторий.
3. Добавление репозитория через файл.
Также мы можем создать конфигурационный файл с описанием репозитория. Все файлы находятся в каталоге /etc/yum.repos.d. Например, создадим файл с добавлением репозитория mariadb:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
- name — произвольное имя репозитория.
- baseurl — путь, по которому система может забирать пакеты из репозитория.
- gpgkey — путь до открытого gpg-ключа. Нужен для проверки цифровой подписи пакетов.
- gpgcheck — нужно ли проверять цифровую подпись пакетов.
- enabled — опция включает или выключает репозиторий.
4. Временное включение и отключение репозиториев во время операций (на примере репозитория EPEL).
Отключить во время обновления:
yum update —disablerepo=epel
Включить во время обновления:
yum update —enablerepo=epel
Отключить во время установки:
yum install —disablerepo=epel
Включить во время установки:
yum install —enablerepo=epel
5. Постоянное отключение/включение репозиториев.
Мы можем отключить наш репозиторий командой:
* для выполнения данной команды мы должны установить в систему пакет yum-utils.
yum-config-manager —disable yum.mariadb.org_10.5_centos8-amd64
Разрешить репозиторий можно той же командой с опцией —enable:
yum-config-manager —enable yum.mariadb.org_10.5_centos8-amd64
Также мы можем выполнить настройку в конфигурационном файле, например:
Источник