Менеджеры пакетов yum и dnf используются для установки пакетов или программного обеспечения на дистрибутивах Linux, базирующихся на RedHat, Это такие ОС, как CentOS, Fedora, Oracle, Rocky Linux и т.д. Кроме установки, команда yum проверяет обновления системы безопасности и информацию о доступных пакетах. В этой статье рассмотрим разные варианты использования этой команды.
Для того, чтобы воспользоваться yum, необходимо открыть терминал, и войти под пользователем, имеющим права sudo в системе.
Отображение списка последних обновлений.
Вы можете отобразить последний список обновлений безопасности и системы с помощью менеджера пакетов yum. Чтобы получить такой список, воспользуемся следующей командой:
# yum list updates
Проверить обновления для установленных пакетов
Команда yum может обнаружить обновления для уже установленных программ и пакетов. Для проверки новых обновлений используется следующая команда:
# yum check-update
Обновить установленные пакеты
Используя команду yum, вы можете загружать и устанавливать обновления в своей системе. Это позволит поддерживать вашу систему в актуальном состоянии. Для этого надо запустить указанную ниже команду на терминале:
# yum update
...
Transaction Summary
===================================================
Install 5 Packages
Upgrade 212 Packages
Total download size: 699 M
Is this ok [y/N]:
И подтвердить выполнение обновления. Либо передать параметр -y при запуске команды, и тогда обновления установятся автоматически без запроса.
Установка обновлений безопасности.
Используя команду yum, вы можете установить в своей системе только обновления для безопасности. Для установки обновлений безопасности используется следующая команда:
# yum update --security
Обновление определенного пакета.
Используя команду yum, вы можете обновить определенные пакеты или программное обеспечение в вашей системе. Синтаксис этой команды приведен ниже:
# yum update {package_name)
Например,
# yum update nginx
Обновит Nginx в вашей системе до последней версии.
Обновить конкретную версию пакета.
Вы можете обновить пакет до новой версии. Сначала посмотрим список дубликатов пакета, например kernel-headers. Синтаксис этой команды приведен ниже:
# yum --showduplicates list kernel-headers.x86_64
...
kernel-headers.x86_64 4.18.0-365.el8
kernel-headers.x86_64 4.18.0-373.el8
kernel-headers.x86_64 4.18.0-383.el8
kernel-headers.x86_64 4.18.0-394.el8
kernel-headers.x86_64 4.18.0-408.el8
kernel-headers.x86_64 4.18.0-448.el8
kernel-headers.x86_64 4.18.0-481.el8
kernel-headers.x86_64 4.18.0-483.el8
kernel-headers.x86_64 4.18.0-485.el8
Теперь вы можете обновить пакет до конкретной версии
# yum update-to {package-version}
# yum update-to kernel-headers.x86_64-4.18.0.365
Показать список всех установленных пакетов.
Используя yum, можно посмотреть список установленных пакетов в вашей системе. Для этого используется следующая команда
# yum list installed
Вы также можете проверить, установлен ли конкретный пакет в вашей системе:
# yum list installed dnf
Installed Packages
dnf.noarch 4.7.0-13.el8
Посмотреть список пакетов, доступных к установке
Вы можете просмотреть список всех пакетов, доступных для установки. Для этого используется следующая команды:
# yum list available
# yum list available | more (для постраничного вывода)
# yum list available | grep httpd (для проверки доступности конкретного пакета)
Поиск пакета по имени.
Вы можете найти конкретный пакет и его описание с помощью команды search. Также можно использовать команду list в качестве поиска.
Команда yum list.
# yum list {package-name}
Например,
# yum list rpm*
...
rpm.x86_64 4.14.3-24.el8
rpm-build-libs.x86_64 4.14.3-24.el8
rpm-libs.x86_64 4.14.3-24.el8
rpm-plugin-selinux.x86_64 4.14.3-24.el8
rpm-plugin-systemd-inhibit.x86_64 4.14.3-24.el8
Available Packages
rpm.x86_64 4.14.3-26.el8
rpm-apidocs.noarch 4.14.3-26.el8
rpm-build.x86_64 4.14.3-26.el8
rpm-build-libs.i686 4.14.3-26.el8
rpm-build-libs.x86_64 4.14.3-26.el8
rpm-cron.noarch 4.14.3-26.el8
rpm-devel.i686 4.14.3-26.el8
rpm-devel.x86_64 4.14.3-26.el8
rpm-git-tag-sort.x86_64 1.0-1.el8
rpm-libs.i686 4.14.3-26.el8
rpm-libs.x86_64 4.14.3-26.el8
...
Команда yum search
# yum search {package-name}
Например, для поиска всех пакетов связанных с python, используется следующая команда:
# yum search python
# yum search python*
Updating Subscription Management repositories.
Last metadata expiration check: 0:07:19 ago on Tue 18 Apr 2023 08:37:06 PM MSK.
python-gitlab-doc.noarch : Python gitlab documentation
python-pymeeus-doc.noarch : python-pymeeus documentation
python-shodan-doc.noarch : python-shodan documentation
python-stem-doc.noarch : Python controller library for Tor
python-x2go-doc.noarch : Python X2Go client API documentation
python2-Levenshtein.x86_64 : Python extension computing string distances and similarities
python2-appdirs.noarch : Python module for determining platform-specific directories
python2-dockerpty.noarch : Python library to use the pseudo-tty of a docker container
python2-elasticsearch.noarch : Python 2 Client for Elasticsearch
python2-elasticsearch6.noarch : Python 2 Client for Elasticsearch
python2-junit_xml.noarch : Python module for creating JUnit XML test result documents
python2-libxc.noarch : Python2 interface to libxc
python2-openidc-client.noarch : Python OpenID Connect client with token caching and management
python2-otf2.x86_64 : Python 2 bindings for otf2
python2-pbr.noarch : Python Build Reasonableness
python2-pungi.noarch : Python 2 libraries for pungi
...
Просмотр информации о пакете
С помощью yum вы можете посмотреть информацию о конкретном пакете, для этого используйте следующую команду:
# yum info {pkg-1}{pkg-2}...
Например, если вы хотите увидеть информацию о dnf и rpm, то воспользуйтесь следующей командой
# yum info dnf rpm
Available Packages
Name : dnf Version : 4.7.0
Release : 15.el8
Architecture : noarch
Size : 542 k
Source : dnf-4.7.0-15.el8.src.rpm
Repository : @System
Summary : Package manager
URL : https://github.com/rpm-software-management/dnf
License : GPLv2+
Description : Utility that allows users to manage packages on their systems.
: It supports RPMs, modules and comps groups & environments.
Name : rpm
Version : 4.14.3
Release : 26.el8
Architecture : x86_64
Size : 544 k
Source : rpm-4.14.3-26.el8.src.rpm
Repository : @System
Summary : The RPM package management system
URL : http://www.rpm.org/
License : GPLv2+
Description : The RPM Package Manager (RPM) is a powerful command line driven
: package management system capable of installing, uninstalling,
: verifying, querying, and updating software packages. Each software
: package consists of an archive of files along with information about
: the package like its version, a description, etc.
Показать список зависимостей для пакета
Вы можете просмотреть список зависимостей конкретного пакета. Синтаксис этой команды следующий
# yum deplist {package}
Например, следующей командой можно посмотреть список зависимостей для dnf
# yum deplist dnf
package: dnf-4.4.2-11.el8.noarch
dependency: /bin/sh
provider: bash-4.4.20-4.el8.x86_64
dependency: python3-dnf = 4.4.2-11.el8
provider: python3-dnf-4.4.2-11.el8.noarch
package: dnf-4.7.0-1.el8.noarch
dependency: /bin/sh
provider: bash-4.4.20-4.el8.x86_64
dependency: python3-dnf = 4.7.0-1.el8
provider: python3-dnf-4.7.0-1.el8.noarch
...
Установка rpm пакетов.
Вы можете устанавливать rpm пакеты в вашей системы, с помощью yum. Синтаксис следующий:
# yum install pkg1 pkg2
Например для установки httpd используйте следующую команду:
# yun install httpd
Установка rpm пакетов по группам.
С помощью следующей команды, можно установить сразу группу пакетов:
# yum groupinstall "development tools"
Еще
Кроме вышеперечисленных команд, вам еще могут пригодится следующие
yum localinstall {pkg} — устанавливает пакет из локального файла или сервера
yum downgrade {pkg} — понижает версию пакета до предыдущей.
yum reinstall {pkg} — переустанавливает пакет
yum remove {pkg} (yun erase{pkg}) — удаляет пакет из системы
yum autoremove — автоматически удаляет ненужные пакеты
yum list all — показывает список всех доступных пакетов.
yum grouplist — показывает список групп приложений
yum groupupdate {grouppackage} — обновляет группу пакетов.
yum groupremove {grouppackage} — удаляет группу пакетов
yum list extras — показывает пакеты, которые не доступны из стандартных репозиториев или каналов подписок
yum clean all — очищает кэш репозитория
yum repolist — показывает список репозиториев
yum repoinfo {reponame} — Показывает информацию о доступных репозиториях
yum history list — показывает историю использования yum
yum help install || man yum || yum help — справка по команде yum.
Заключение
В этой статье вы узнали об использовании различных команд yum. Я надеюсь, что это будет полезно для вас, и что вам понравилось эта статья.
Эту статью буду периодически пополнять на своем сайте, как вспомню, что-то нужное еще.