Найти тему

Менеджер пакетов yum

Менеджеры пакетов 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 {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"
-2

Еще

Кроме вышеперечисленных команд, вам еще могут пригодится следующие

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. Я надеюсь, что это будет полезно для вас, и что вам понравилось эта статья.

Эту статью буду периодически пополнять на своем сайте, как вспомню, что-то нужное еще.