В этой статье мы узнаем, как устанавливать, обновлять, удалять, находить пакеты, управлять пакетами и репозиториями в системах Linux с помощью инструмента YUM (Yellowdog Updater Modified), разработанного RedHat. Примеры команд, показанные в этой статье, практически протестированы на нашем сервере CentOS вы можете использовать эти материалы для целей обучения, сертификации или просто для изучения способов установки новых пакетов и поддержания вашей системы в актуальном состоянии. Основное требование этой статьи — у вас должно быть базовое понимание команд и работы операционной системы Linux, где вы можете изучить и практиковать все команды, перечисленные ниже.
Что такое yum?
YUM (Yellowdog Updater Modified) — это инструмент с интерфейсом командной строки, а также графический инструмент управления пакетами с открытым исходным кодом для систем Linux на основе RPM (RedHat Package Manager). Эта программа позволяет пользователям и системному администратору легко устанавливать, обновлять, удалять или искать программные пакеты в системе. Она была разработана и выпущен Сетом Видалем под GPL (General Public License) как открытый исходный код, что означает, что любой может загрузить и получить доступ к коду для исправления ошибок и разработки индивидуальных пакетов. YUM использует многочисленные сторонние репозитории для автоматической установки пакетов, решая проблемы с их зависимостями.
1. Как установить пакет с yum
Чтобы установить пакет под названием Firefox, просто запустите приведённую ниже команду, она автоматически найдёт и установит все необходимые зависимости для Firefox.
yum install firefox
Пример вывода:
Loaded plugins: fastestmirror Dependencies Resolved ================================================================================================ Package Arch Version Repository Size ================================================================================================ Updating: firefox i686 10.0.6-1.el6.centos updates 20 M Updating for dependencies: xulrunner i686 10.0.6-1.el6.centos updates 12 M Transaction Summary ================================================================================================ Install 0 Package(s) Upgrade 2 Package(s) Total download size: 32 M Is this ok [y/N]: y Downloading Packages: (1/2): firefox-10.0.6-1.el6.centos.i686.rpm | 20 MB 01:10 (2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm | 12 MB 00:52 ------------------------------------------------------------------------------------------------ Total 63 kB/s | 32 MB 02:04 Updated: firefox.i686 0:10.0.6-1.el6.centos Dependency Updated: xulrunner.i686 0:10.0.6-1.el6.centos Complete!
Приведённая выше команда запросит подтверждение перед установкой любого пакета в вашей системе. Если вы хотите устанавливать пакеты автоматически без запроса подтверждения, используйте опцию -y, как показано в примере ниже.
yum -y install firefox
2. Удаление пакета с помощью yum
Чтобы полностью удалить пакет со всеми его зависимостями, просто выполните следующую команду, как показано ниже.
yum remove firefox
Пример вывода:
Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package firefox.i686 0:10.0.6-1.el6.centos set to be erased --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================== Package Arch Version Repository Size ==================================================================================================== Removing: firefox i686 10.0.6-1.el6.centos @updates 23 M Transaction Summary ==================================================================================================== Remove 1 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : firefox-10.0.6-1.el6.centos.i686 1/1 Removed: firefox.i686 0:10.0.6-1.el6.centos Complete!
Таким же образом вышеуказанная команда запросит подтверждение перед удалением пакета. Чтобы отключить запрос подтверждения, просто добавьте параметр -y, как показано ниже.
yum -y remove firefox
3. Обновление пакета с помощью yum
Допустим, у вас устаревшая версия пакета MySQL и вы хотите обновить её до последней стабильной версии. Просто выполните следующую команду, она автоматически решит все проблемы с зависимостями и установит их.
yum update mysql
4. Поиск пакетов по точному имени в yum
Используйте функцию list для поиска определённого пакета по имени. Например, чтобы найти пакет с именем openssh, используйте команду.
yum list openssh
Чтобы сделать ваш поиск более точным, укажите имя пакета с его версией, если вы знаете. Например, чтобы найти конкретную версию openssh-4.3p2 пакета, используйте команду.
yum list openssh-4.3p2
5. Поиск пакетов по части имени в yum
Если вы не помните точное название пакета, воспользуйтесь функцией search, чтобы найти все доступные пакеты, чтобы они соответствовали названию указанного вами пакета. Например, для поиска всех пакетов, соответствующих слову.
yum search vsftpd
6. Как в yum получить информацию о пакете
Допустим, вы хотите узнать информацию о пакете перед его установкой. Чтобы получить информацию о пакете, просто введите команду с info.
yum info firefox
7. Как в yum перечислить все доступные пакеты
Чтобы перечислить все доступные пакеты в базе данных Yum, используйте следующую команду:
yum list | less
8. Как вывести список всех установленных пакетов с помощью yum
Чтобы вывести список всех установленных пакетов в системе, просто введите команду показанную ниже, она отобразит все установленные пакеты.
yum list installed | less
9. Как с помощью yum узнать, к какому пакету принадлежит файл
yum имеет функцию provides, позволяющую определить, к какому пакету принадлежит конкретный файл. Например, если вы хотите узнать имя пакета, в котором есть файл /etc/httpd/conf/httpd.conf.
yum provides /etc/httpd/conf/httpd.conf
10. Как в yum проверить наличие обновления
Чтобы узнать, для скольких из установленных пакетов в вашей системе доступны обновления, используйте следующую команду.
yum check-update
11. Как обновить систему с помощью yum
Чтобы поддерживать вашу систему в актуальном состоянии со всеми обновлениями безопасности и бинарных пакетов, выполните следующую команду. Он установит все последние исправления и обновления безопасности в вашу систему.
yum update
12. Как вывести список пакетов определённой группы
В Linux ряд пакетов относятся к той или иной группе. Вместо установки отдельных пакетов с помощью yum вы можете установить определённую группу, которая установит все связанные пакеты, принадлежащие этой группе. Например, чтобы вывести список всех доступных групп, просто введите следующую команду.
yum grouplist
13. Установка группы пакетов
Чтобы установить определённую группу пакетов, мы используем опцию groupinstall. Например, чтобы установить «MySQL Database», просто выполните следующую команду.
yum groupinstall 'MySQL Database'
14. Обновление групповых пакетов
Чтобы обновить любые существующие установленные групповые пакеты, просто выполните следующую команду, как показано ниже.
yum groupupdate 'DNS Name Server'
15. Удаление групповых пакетов
Чтобы удалить любую существующую установленную группу из системы, просто используйте команду ниже.
yum groupremove 'DNS Name Server'
16. Список включённых репозиториев Yum
Чтобы вывести список всех включённых репозиториев Yum в вашей системе, используйте следующую опцию.
yum repolist
16. Список всех включённых и отключённых репозиториев Yum.
Следующая команда отобразит все включённые и отключённые репозитории yum в системе.
yum repolist all
17. Как установить пакет из определённого репозитория
Чтобы установить определённый пакет из определённого включённого или отключённого репозитория, вы должны использовать параметр --enablerepo в своей команде yum. Например, чтобы установить пакет phpMyAdmin, просто выполните команду.
yum --enablerepo=epel install phpmyadmin
18. Интерактивная оболочка Yum Shell
Утилита Yum предоставляет настраиваемую оболочку, в которой вы можете выполнять несколько команд.
yum shell
19. Как очистить кеш Yum
По умолчанию yum хранит все данные пакета с включённым репозиторием в /var/cache/yum/ с каждым подкаталогом, чтобы очистить все кэшированные файлы из включённого репозитория, вам необходимо регулярно запускать следующую команду, чтобы очистить весь кеш и убедиться, что нет ничего лишнего. Помните, что если вы хотите сохранять предыдущие версии программ чтобы иметь возможность откатиться к ним, то вам не нужно выполнять очистку кэша и не нужно выполнять следующую программу.
yum clean all
20. Просмотр истории Yum
Чтобы просмотреть все прошлые транзакции команды yum, просто используйте следующую команду.
yum history
Мы постарались охватить все основные шаги по продвижению команд yum с их примерами. Если что-то, связанное с командами yum, могло быть упущено, то напишите об этом в комментариях и статья будет обновлена.
Связанные статьи:
- DNF — Утилита управления пакетами нового поколения для дистрибутивов на основе RPM (100%)
- Как установить обновления безопасности на CentOS 8 (75.4%)
- dnf-automatic — автоматическая установка обновлений безопасности в CentOS 8 (75.4%)
- 20 практических примеров команд RPM в Linux (75.4%)
- Как узнать, какие файлы установлены пакетом RPM, DEB или PKG.TAR.XZ в Linux (74.7%)
- Как правильно и навсегда исправить ошибку «E: Не удалось получить доступ к файлу блокировки /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)» (RANDOM - 50%)