Yum как найти пакет

Время на прочтение
4 мин

Количество просмотров 688K

Шпаргалка по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других). В целях экономии места вывод команд не представлен.

Оглавление

Команды
Опции Yum
Пакет Yum-Utils
Конфигурационные файлы
Плагины
Работа через прокси

отображение команд и опций

#yum help

список названий пакетов из репозиторий

#yum list

список всех доступных пакетов

#yum list available

список всех установленных пакетов

#yum list installed

установлен ли указанный пакет

#yum list installed httpd

список установленных и доступных пакетов

#yum list all

список пакетов, относящихся к ядру

#yum list kernel

отображение информации о пакете

#yum info httpd

список зависимостей и необходимых пакетов

#yum deplist httpd

найти пакет, который содержит файл

#yum provides "*bin/top"

поиск пакета по имени и описанию

#yum search httpd

#yum search yum

получить информацию о доступных обновлениях безопасности

#yum updateinfo list security

вывести список групп

#yum grouplist

вывести описание и содержимое группы

#yum groupinfo "Basic Web Server"

установка группы пакетов «Basic Web Server»

#yum groupinstall "Basic Web Server"

удаление группы

#yum groupremove "Basic Web Server"

Проверка на доступные обновления

#yum check-update

список подключенных репозиториев

#yum repolist

информация об определенном репозитории

#yum repoinfo epel

информация о пакетах в указанном репозитории

#yum repo-pkgs epel list

установить все пакеты из репозитория

#yum repo-pkgs reponame install

удалить пакеты установленные из репозитория

#yum repo-pkgs reponame remove

создать кэш

#yum makecache

проверить локальную базу rpm (поддерживаются параметры dependencies, duplicates, obsoletes, provides)

#yum check

#yum check dependencies

просмотр yum истории (вывод списка транзакций)

#yum history list

просмотр информации определенной транзакции (установленные пакеты, установленные зависимости)

#yum history info 9

отмена транзакции

#yum history undo 9

повторить

#yum history redo 9

дополнительно можно просмотреть лог

#cat /var/log/yum.log

удалить пакеты сохраненные в кэше

#yum clean packages

удалить все пакеты и метаданные

#yum clean all

установить пакет

#yum install httpd

удаление пакета

#yum remove httpd

обновить пакет

#yum update httpd

обновить все пакеты

#yum update

обновить до определенной версии

#yum update-to

установить из локальной директории (поиск/установка зависимостей будут произведены из подключенных репозиториев)

#yum localinstall httpd.rpm

или

#yum install httpd.rpm

установить с http

#yum localinstall http://server/repo/httpd.rpm

откатиться к предыдущей версии пакета

#yum downgrade

переустановка пакета (восстановление удаленных файлов)

#yum reinstall httpd

удаление ненужных более пакетов

#yum autoremove

создание локальных репозиториев (createrepo ставится отдельно)

#createrepo

установка обновлений по расписанию (yum-cron устанавливается отдельно)

#yum-cron

Опции Yum

ответить «yes» при запросе,

-y

#yum update -y

ответить «no» при запросе

--assumeno

использовать Yum без плагинов

--noplugins

или отключить определенный плагин

--disableplugin=fastestmirror

включить плагины, которые установлены, но отключены

#yum --enableplugin=ps

включить отключенный репозиторий

#yum update -y --enablerepo=epel

отключить репозиторий

#yum update -y --disablerepo=epel

скачать пакеты, но не устанавливать
(на Centos 7 x86_64 будут скачаны в ‘/var/cache/yum/x86_64/7/base/packages/’)

#yum install httpd --downloadonly

Cледующие команды доступны после установки пакета yum-utils

найти из какого репозитория установлен пакет

#find-repos-of-install httpd

найти процессы, пакеты которых обновлены и требуют рестарта

#needs-restarting

запрос к репозиторию, узнать зависимости пакета, не устанавливая его

#repoquery  --requires --resolve httpd

синхронизировать yum репозиторий updates в локальную директорию repo1

#reposync -p repo1 --repoid=updates

проверить локальный репозиторий на целостность

#verifytree URL

завершить транзакции

#yum-complete-transaction

установить необходимые зависимости для сборки RPM пакета

#yum-builddep

управление конфигурационными опциями и репозиториями yum

#yum-config-manager

запрос к локальной базе yum, отображение информации о пакете
(использованная команда, контрольная сумма, URL с которого был установлен и другое)

#yumdb info httpd

скачать rpm пакеты из репозитория

#yumdownloader

скачать src.rpm пакет из репозитория
(должен быть подключен соответствующий репозиторий, например в ‘/etc/yum.repos.d/CentOS-Sources.repo’ в CentOS)

yumdownloader --source php

Конфигурационные файлы Yum и их расположение

Основной конфигурационный файл

/etc/yum.conf

директория, с конфигурациями (например, yum плагины)

/etc/yum/

директория, содержащая информацию о репозиториях

/etc/yum.repos.d/

Некоторые опции yum.conf:

Директория, где yum хранит кэш и файлы базы (по умолчанию ‘/var/cache/yum’)

cachedir=/var/cache/yum/$basearch/$releasever

Определяет должен или нет Yum хранить кэш заголовков и пакетов после успешной установки. Значения: 0 или 1. (по умолчанию 1)

keepcache=1

уровень вывода отладочных сообщений. Значения: 1-10 (по умолчанию 2)

debuglevel=2

лог файл (по умолчанию ‘/var/log/yum.log’)

logfile=/var/log/yum.log

обновлять устаревшие пакеты

obsoletes=1

проверка подписи пакетов. Значения: 0 или 1 (по умолчанию 1)

gpgcheck=1

включение плагинов. Значения: 0 или 1 (по умолчанию 1)

plugins=1

Некоторые полезные плагины

Добавляет опцию командной строки для просмотра ченжлога перед/после обновлениями

yum-plugin-changelog

выбирает более быстрые репозитории из списка зеркал

yum-plugin-fastestmirror

добавляет команды keys, keys-info, keys-data, keys-remove, которые позволяют работать с ключами.

yum-plugin-keys

блокировать указанные пакеты от обновления, команда yum versionlock

yum-plugin-versionlock

добавление команд yum verify-all, verify-multilib, verify-rpm для проверки контрольных сумм пакетов

yum-plugin-verify

Работа Yum через прокси сервер

Для всех пользователей:
добавить в секцию [main] в /etc/yum.conf

proxy="http://server:3128"

при необходимости указать пароль, добавить

proxy_proxy_username=user
proxy_password=pass

указать прокси для отдельного пользователя

#export http_proxy="http://server:3128"


Буду рад любым дополнениям и замечаниям.
Дополнительно читайте:

#man yum

#man rpm

This example shows how to locate a module in the AppStream repository and how to find out more about its contents.

Procedure

  1. List available modules:

    $ yum module list
    Name        Stream  Profiles    Summary
    (...)
    postgresql  10 [d]  client,     PostgreSQL server and client module
                        server [d]
    postgresql  9.6     client,     PostgreSQL server and client module
                        server [d]
    (...)
    
    Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
  2. Examine details of the postgresql module:

    $ yum module info postgresql
    
    Name             : postgresql
    Stream           : 10 [d][a]
    Version          : 820190104140132
    Context          : 9edba152
    Profiles         : client, server [d]
    Default profiles : server
    Repo             : appstream-internal-nightly
    Summary          : PostgreSQL server and client module
    Description      : (...)
    (...)
    
    Name             : postgresql
    Stream           : 9.6
    Version          : 820190104140337
    Context          : 9edba152
    Profiles         : client, server [d]
    Default profiles : server
    Repo             : appstream-internal-nightly
    Summary          : PostgreSQL server and client module
    Description      : (...)
    (...)
    
    Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctive]

    Because no stream is specified, all streams are used for the listing.

  3. Examine profiles available in stream 10 of the postgresql module:

    $ yum module info --profile postgresql:10
    (...)
    Name   : postgresql:10:820190104140132:9edba152:x86_64
    client : postgresql
    server : postgresql-server

    Each of the profiles installs a different set of packages, including their dependencies.

  4. Install the postgresql module using the default stream 10 and profile server:

    # yum install @postgresql
    Dependencies resolved.
    ====================================================================
     Package           Version                         Repository Size
    ====================================================================
    Installing group/module packages:
     postgresql-server 10.6-1.module+el8+2469+5ecd5aae appstream  5.1 M
    Installing dependencies:
     libpq             10.5-1.el8                      appstream  188 k
     postgresql        10.6-1.module+el8+2469+5ecd5aae appstream  1.5 M
    Installing module profiles:
     postgresql/server
    Enabling module streams:
     postgresql               10
    
    Transaction Summary
    ====================================================================
    Install  3 Packages
    
    Total download size: 6.7 M
    Installed size: 27 M
    Is this ok [y/N]: y
    (...)

    The stream 10 is enabled and packages in its profile server installed.

  5. Inspect the current status of the postgresql module:

    $ yum module list postgresql
    Name       Stream    Profiles                Summary
    postgresql 10 [d][e] client, server [d] [i]  (...)
    postgresql 9.6       client, server [d]      (...)
    
    Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

    The output shows that the default stream 10 is enabled and its profile server is installed.

использование менеджера пакетов yum, команды yumYUM (Yellowdog Updater Modified) — утилита командной строки с открытым исходным кодом, а также графический менеджер пакетов для RPM (RedHat Package Manager). С помощью yum пользователь или системный администратор может легко искать, устанавливать, обновлять, удалять пакеты программного обеспечения в системах Fedora linux, RHEL, CentOS. Для поиска и установки пакетов с разрешением зависимостей, yum использует множество сторонних репозиториев.

1. Установка пакетов с yum

Что-бы Установить FTP сервер VsFTPd, нужно выполнить:

# yum install vsftpd

После проверки зависимостей пакета, yum попросит подтверждения операции, что-бы установка прошла в автоматическом режиме, нужно добавить ключ -y:

# yum -y install vsftpd

2. Yum, удаление пакетов

Что-бы удалить пакет со всеми его зависимостями нужно использовать yum с опцией remove:

# yum remove vsftpd

Как и в предыдущем случае, будет запрошено подтверждение, которого можно избежать, использовав ключ -y:

# yum -y remove vsftpd

3. Yum, обновление пакетов

Для обновления пакетов в yum, используется опция update. Предположим, необходимо обновить ftp сервер, proftpd с разрешением зависимостей, для этого выполняем команду:

# yum update proftpd
Resolving Dependencies
--> Running transaction check
---> Package proftpd.x86_64 0:1.3.5d-2.el7 will be updated
---> Package proftpd.x86_64 0:1.3.5e-2.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================
 Package         Arch        Version        Repository       Size
=========================================================================
Updating:
 proftpd        x86_64     1.3.5e-2.el7        epel          3.7 M

Transaction Summary
=========================================================================
Upgrade  1 Package

Total download size: 3.7 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
proftpd-1.3.5e-2.el7.x86_64.rpm                    		| 3.7 MB  00:00:09
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : proftpd-1.3.5e-2.el7.x86_64                       1/2
  Cleanup    : proftpd-1.3.5d-2.el7.x86_64                       2/2
  Verifying  : proftpd-1.3.5e-2.el7.x86_64                       1/2
  Verifying  : proftpd-1.3.5d-2.el7.x86_64                       2/2

Updated:
  proftpd.x86_64 0:1.3.5e-2.el7

Complete!

4. Yum, список пакетов по имени

Что-бы проверить пакеты по их имени используется команда list, проверить можно сразу несколько пакетов:

# yum list nload htop
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.awanti.com
 * extras: mirror.awanti.com
 * updates: centos.mirror.far.fi
Installed Packages
htop.x86_64						2.0.2-1.el7             @epel
Available Packages
nload.x86_64					0.7.4-4.el7				epel

5. Yum, поиск пакетов

Найти пакет с помощью yum можно, как по полному имени пакета, так и по его части, для этого используется команда search:

# yum search vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.awanti.com
 * extras: mirror.awanti.com
 * updates: centos.mirror.far.fi
==================== N/S matched: vsftpd ====================
vsftpd-sysvinit.x86_64 : SysV initscript for vsftpd daemon
vsftpd.x86_64 : Very Secure Ftp Daemon

Name and summary matches only, use "search all" for everything.

В данном случае yum показал результаты в которых имя пакета или его краткое описание полностью совпадает со строкой поиска и было предложено использовать расширенный вариант поиска с командой search all, в таком случае yum будет искать совпадение не только в имени и кратком описании, но и в полном описании пакета.

# yum search all vsftpd
.......................
====================== Matched: vsftpd =======================
vsftpd-sysvinit.x86_64 : SysV initscript for vsftpd daemon
vsftpd.x86_64 : Very Secure Ftp Daemon
ccze.x86_64 : A robust log colorizer
pure-ftpd-selinux.x86_64 : SELinux support for Pure-FTPD

Если же команде search передать только часть имени пакета, то yum сразу проведет поиск по имени, по краткому а так-же по полному описанию пакета, то есть результат будет как в случае с search all.

6. Yum, информация о пакете

Что-бы получить расширенную информацию о пакете, используется команда info:

# yum info vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.awanti.com
 * extras: mirror.awanti.com
 * updates: centos.mirror.far.fi
Available Packages
Name        : vsftpd
Arch        : x86_64
Version     : 3.0.2
Release     : 21.el7
Size        : 169 k
Repo        : base/7/x86_64
Summary     : Very Secure Ftp Daemon
URL         : https://security.appspot.com/vsftpd.html
License     : GPLv2 with exceptions
Description : vsftpd is a Very Secure FTP daemon. It was written completely from
            : scratch.

7. Yum, список доступных пакетов

Получить список всех доступных для установки пакетов можно с помощью команды list и ключевого слова available:

# yum list available

8. Yum список установленных пакетов

Что-бы вывести все установленные пакеты используется опция list и ключевое слово installed:

# yum list installed

9. Yum, узнать из какого пакета файл

Узнать какой пакет установил конкретный файл можно с помощью команды provides:

# yum provides /etc/yum.conf
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.awanti.com
 * extras: mirror.awanti.com
 * updates: centos.mirror.far.fi
yum-3.4.3-150.el7.centos.noarch : RPM package installer/updater/manager
Repo        : base
Matched from:
Filename    : /etc/yum.conf

10. Yum, проверка обновлений

Посмотреть пакеты для которых доступно обновление можно с помощью команды check-update:

# yum check-update
NetworkManager.x86_64			1:1.4.0-20.el7_3		updates
NetworkManager-libnm.x86_64		1:1.4.0-20.el7_3		updates
NetworkManager-tui.x86_64		1:1.4.0-20.el7_3		updates

11. Обновить систему с помощью yum

Что-бы держать операционную систему и программное обеспечение в актуальном состоянии, нужно периодически выполнять обновление. Следующая команда выполнит обновление пакетов до последних версий, включая исправления безопасности:

# yum update

12. Yum, список доступных групп пакетов

Для удобства, пакеты программного обеспечения можно объединять в группы. Вместо установки каждого пакета отдельно, yum может установить определенную группу, при этом будут установлены все пакеты входящие в данную группу. Получить список доступных групп пакетов можно так:

# yum grouplist
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirror.awanti.com
 * extras: mirror.awanti.com
 * updates: mirror.awanti.com
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done

13. Yum, состав группы пакетов

Узнать из каких пакетов состоит группа можно так:

# yum groupinfo "Basic Web Server"

14. Yum, установка группы пакетов

Для установки определенной группы пакетов используется команда groupinstall:

# yum groupinstall 'Basic Web Server'

15. Yum, обновление группы пакетов

# yum groupupdate "Basic Web Server"

16. Yum, удаление группы пакетов yum

# yum groupremove "Basic Web Server"

17. Список репозитариев yum

Что-бы увидеть список включенных репозитариев, выполните:

# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.awanti.com
 * extras: mirror.awanti.com
 * updates: centos.mirror.far.fi
repo id 					repo name											status
base/7/x86_64				CentOS-7 - Base 									9,363
epel						Extra Packages for Enterprise Linux 7 - x86_64      29,392
extras/7/x86_64				CentOS-7 - Extras 									380
updates/7/x86_64 			CentOS-7 - Updates 									1,851
repolist: 42,393

Что-бы посмотреть список и включенных и выключенных репозитариев, нужно использовать такой вариант команды:

# yum repolist all

18. Yum, установка пакета из конкретного репозитария

Что-бы установить пакет из определенного, включенного или отключенного репозитария, используйте опцию —enablerepo, в примере ниже, будет включен репозитарий epel:

# yum --enablerepo=epel install nload

19. Интерактивная оболочка yum

У yum есть своя, весьма функциональная и удобная интерактивная оболочка в которой выполняются необходимые команды:

# yum shell
Loaded plugins: fastestmirror
> version
Installed: 7/x86_64                                                                                                                                              533:a2e66be16bec121cfd145378961f7e8184084ff2
Group-Installed: yum                                                                                                                                              14:bac853782e456a8ab662dc99a4d175fdef97a66e
> exit

20. Yum, очистка кэша репозитариев

По умолчанию yum хранит все данные включенных репозиториев в подкаталогах /var/cache/yum/ARCH/VER/repo_name, чтобы очистить все кэшированные файлы включенных репозиториев, например в целях экономии дискового пространства, нужно выполнить:

# yum clean all

21. История операций yum

Что-бы посмотреть историю операций yum, выполните:

# yum history
Loaded plugins: fastestmirror
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    16 | root               | 2017-06-06 02:14 | I, U           |  100 EE
    15 | root               | 2017-06-05 06:46 | Erase          |    1
    14 | root               | 2017-06-05 06:25 | Install        |    1
...................
history list

Не забываем про

# man yum
# man yum.conf

Удачи.

Обновлено Обновлено: 15.05.2023
Опубликовано Опубликовано: 01.07.2021

Статья представляет из себя небольшую шпаргалку по работе с пакетным менеджером dnf (Rocky Linux, CentOS Stream 8) и yum (CentOS 7 и ниже). В данном руководстве мы будем использовать только команду yum, так как она работает и в CentOS 7, и в более поздних версиях RPM-дистрибутивах.

Работа с репозиторием
    Управление
    Обслуживание
    Примеры настроек
Установка пакетов и работа с ними
Получение информации о пакетах
Управление модулями
Блокировка пакетов для установки и обновления
Возможные ошибки

Репозитории

Команда yum/dnf использует репозитории для своей работы. Очень важно понять, как с ними работать в системе. Конфиги репозиториев CentOS описывают пути, по которым система может брать установочные файлы для пакетов, а также правила работы с самими репозиториями.

Примеры команд для управления репозиториями

1. Просмотр репозиториев.

Список включенных репозиториев:

yum repolist

Список включенных и отключенных репозиториев:

yum repolist all

Также мы можем получить подробное описание для каждого включенного репозитория:

yum repolist -v

Список отключенных репозиториев можно посмотреть отдельно командой:

yum repolist disabled

2. Добавление репозитория командой.

Для добавления репозитория мы можем воспользоваться командой yum-config-manager, для этого сначала нужно установить yum-utils:

yum install yum-utils

Теперь вводим:

yum-config-manager —add-repo <репозиторий>

Например:

yum-config-manager —add-repo https://yum.mariadb.org/10.5/centos8-amd64 

* на основе ссылки https://yum.mariadb.org/10.5/centos8-amd64 будет добавлен репозиторий.

Важно отметить, что утилита yum-config-manager не умеет задавать красивые имена для репозитория. Это приводит к эстетической и технической проблемам.  Если эстетика никак не помешает работать, то вторая проблема серьезнее — рассмотрим ее подробнее.

При подключении репозитория с длинным URL адресом мы получим ошибку:

Bad id for repo: <имя репозитория>, byte = $ 42

Она означает, что название идентификатора превышает допустимую длину. В итоге, репозиторий не будет использоваться системой.

Проблему можно решить обходным способом. Сначала мы добавим репозиторий с неправильным адресом, но коротким и красивым, например:

yum-config-manager —add-repo http://repo-name

Потом уже зададим правильный URL с помощью setopt (о нем рассказано ниже):

yum-config-manager —save —setopt=repo-name.baseurl=https://yum.mariadb.org/10.5/centos8-amd64/yum/redhat/$releasever/mariadb/1.7/x86_64

3. Добавление репозитория через файл.

Также мы можем создать конфигурационный файл с описанием репозитория. Все файлы находятся в каталоге /etc/yum.repos.d. Например, создадим файл с добавлением репозитория mariadb:

vi /etc/yum.repos.d/mariadb.repo

[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-config-manager —disable <имя репозитория>

* для выполнения данной команды мы должны установить в систему пакет 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

Также мы можем выполнить настройку в конфигурационном файле, например:

vi /etc/yum.repos.d/mariadb.repo

Находим:

enabled=1

… и меняем на:

enabled=0

* в данном примере 1 разрешает репозиторий, а 0 запрещает.

6. Настройка опций.

Наши репозитории настраиваются с помощью опций, которые перечислены в конфигурационном файле. Мы можем также их задавать командой:

yum-config-manager —save —setopt=<имя репозитория>.<имя опции>=<значение>

Например:

yum-config-manager —save —setopt=mariadb.module_hotfixes=1

Довольно часто нам нужно работать с опцией проверки ключей. Тогда вводим команды:

yum-config-manager —save —setopt=mirror-yandex.gpgcheck=1

yum-config-manager —save —setopt=mirror-yandex.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

* в данном примере мы указываем на необходимость проверки gpg-ключа (gpgcheck) и путь до него (gpgkey). Само собой, по данному пути (/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7) у нас должен быть загружен сам ключ.

Обслуживание

1. Удалить кэш для списков пакетов в репозиториях, а также загруженные исходники для пакетов:

yum clean —enablerepo=* all

Также мы можем удалить кэш только для определенных репозиториев, например:

yum clean all —disablerepo=»*» —enablerepo=»epel,nginx-thirdparty»

* обязательно, сначала должен следовать disablerepo, после enablerepo.

2. Сформировать кэш списков пакетов в репозиториях:

yum makecache

Настройка репозитория

В данном разделе приведем некоторые опции, с помощью которых можно настроить репозитории. Как было сказано выше, каждый репозиторий описывается в своем файле. В нем же мы можем задавать различные опции.

Предположим, что мы будем настраивать базовый репозиторий системы РЕД ОС. Тогда открываем:

vi /etc/yum.repos.d/RedOS-Base.repo

1. baseurl

Один из основных параметров. Определяет пути расположения метаданных репозитория. Именно по нему система будет искать служебный файл со списком пакетов.

baseurl=https://repo1.red-soft.ru/redos/7.3/$basearch/os,https://mirror.yandex.ru/redos/7.3/$basearch/os,http://repo.red-soft.ru/redos/7.3/$basearch/os

* обратите внимание, что в данном примере прописано использование нескольких адресов, разделенных запятой. Также в адресе можно указывать переменные.

2. gpgcheck

Указывает, нужно ли проверять подписи пакетов.

gpgcheck=0

* в данном примере мы отключаем проверку.

3. priority

Определяет приоритет репозитория. Например, один и тот же пакет будет находиться в нескольких репозиториях. Будет установлен тот, версия которого выше. Но если нам нужно установить пакеты из определенного репозитория, даже, если их версия ниже. Для этого и нужен приоритет.

priority=1

Чем ниже число, тем выше приоритет. Если опция priority не указана, такой репозиторий будет иметь меньших приоритет, по сравнению с тем, где он указан.

Установка, обновление, удаление и другое

В данном разделе рассмотрим команды, при помощи которых мы можем манипулировать установкой, обновлением, удалением и понижением версии пакетов.

1. Установка пакета:

yum install <имя пакета>

Команда выведет на экран все действия, которые будут предприняты — установка зависимостей, обновление других пакетов, и даже (в редких случаях), удаление конфликтов. Нам необходимо согласиться с данными действиями и начнется загрузка и установка.

2. Обновление всех установленных пакетов:

yum update

3. Обновление конкретного пакета

yum update <имя пакета>

4. Установить пакет из определенного репозитория:

yum —disablerepo=»*» —enablerepo=thirdparty install nginx

* как говорилось выше, мы можем оперировать опциями disablerepo и enablerepo для включения и отключения репозитория во время установки. В данном примере мы запретили все и разрешили установить нужный нам пакет из репозитория thirdparty.

5. Понизить версию пакета можно с помощью команды downgrade:

yum downgrade <имя пакета и версию, которые нужно установить>

Например, если в нашей системе установлен пакет nginx-1.15.3, мы сможем понизить его версию так:

yum downgrade nginx-1.13.1

* в данном примере будет удален пакет nginx-1.15.3 и установлен nginx-1.13.1.

6. Удаление пакета.

Если нам нужно удалить пакет из системы, выполняем:

yum remove <имя пакета>

7. Только скачать пакет, не устанавливая его:

yum install —downloadonly —downloaddir=<куда скачать> <имя пакета>

Например:

yum install —downloadonly —downloaddir=/tmp nodejs

* скачиваем пакет nodejs в каталог /tmp.

8. Распаковать содержимое пакета RPM:

rpm2cpio <путь до файла rpm> | cpio -idmv

Просмотр информации о пакетах

1. Список установленных пакетов.

а) для Rocky Linux:

yum list —installed

б) для CentOS 7:

rpm -qa

Если нам нужно найти пакет по части его имени, можно добавить фильтр с помощью grep:

yum list —installed | grep nginx

rpm -qa | grep nginx

* в данном примере команда вернет результат, если в нашей системе установлен пакет, в названии которого есть nginx.

2. Получение зависимостей.

а) для установленного пакета:

yum deplist <имя пакета>

Или с помощью rpm:

rpm -q httpd —requires

Например:

yum deplist nginx

* покажет, какие пакеты или библиотеки необходимы для установки nginx. Дополнительно, могут быть указаны пакеты, которые нужны для удовлетворения зависимостей.

б) из установочного файла.

Выполняется с помощью утилиты rpm с добавлением опции -p:

rpm -qp <путь до пакета> —requires

Например:

rpm -qp nginx-1.23.1-1.el7.ngx.x86_64.rpm —requires

3. Посмотреть список файлов внутри установочного пакета.

Мы можем посмотреть данный список для уже установленного пакета:

rpm -ql <имя установленного пакета>

Например:

rpm -ql nginx

Или из установочного файла:

rpm -qlp <путь до RPM-пакета>

Например:

rpm -qlp nginx.rpm

4. Посмотреть, какой пакет предоставляет определенный файл:

yum provides audit-libs-python

В данном примере мы получим ответ:

audit-libs-python-2.8.5-4.el7.x86_64 : Python bindings for libaudit
Repo        : base

Это значит, что audit-libs-python содержится в пакете audit-libs-python-2.8.5-4.el7.x86_64, который в свою очередь, находится в репозитории base.

Можно также выполнять поиск по маске:

yum provides audit-libs-*

5. Показать постинсталляционный скрипт.

После установки некоторых пакетов может запускаться набор команд, которые выполняют дополнительную настройку системы или установленного софта. Чтобы посмотреть, что именно будет выполняться, вводим команду:

rpm -qp —scripts <путь до RPM-файла>

6. Показать общую информацию о пакете.

а) для установочного файла:

rpm -qip <путь до RPM-файла>

б) для установленного пакета:

rpm -qi <имя пакета>

Например:

rpm -qi libcurl-devel

Name        : libcurl-devel
Version     : 7.29.0
Release     : 59.el7_9.1
Architecture: x86_64
Install Date: Mon 01 Aug 2022 02:02:29 PM MSK
Group       : Development/Libraries
Size        : 638991
License     : MIT
Signature   : RSA/SHA256, Wed 18 Nov 2020 05:18:23 PM MSK, Key ID 24c6a8a7f4a80eb5
Source RPM  : curl-7.29.0-59.el7_9.1.src.rpm
Build Date  : Mon 16 Nov 2020 07:36:11 PM MSK
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://curl.haxx.se/
Summary     : Files needed for building applications with libcurl
Description :
The libcurl-devel package includes header files and libraries necessary for
developing programs which use the libcurl library. It contains the API
documentation of the library, too.

Управление потоками (модулями)

Модульные репозитории позволяют установить пакеты разных версий. По сути, это группы RPM-пакетов, которые должны быть установлены вместе и представляют из себя логическую единицу для установки программного продукта нужной версии. Включить можно только одну версию модуля для репозитория.

1. Вывести список доступных модулей:

dnf module list

* обозначения:

  • [d] — значения по умолчанию.
  • [e] — включенные модули.
  • [x] — отключены.
  • [i] — установленные.

В нашей системе может не быть включенных модулей. В этом случае пакеты будут устанавливаться из стандартных репозиторией.

Мы также можем посмотреть отдельные по состоянию группы модулей:

dnf module list —enabled

* включенные.

dnf module list —disabled

* отключенные.

dnf module list —installed

* установленные.

2. Вывести список возможных модулей для конкретного пакета:

dnf module list nodejs

* в данном примере для nodejs.

3. Разрешить или запретить конкретный модуль:

dnf module enable nodejs:12

dnf module disable nodejs:14

* первая команда разрешит модуль nodejs версии 12, вторая, соответственно, запрещает использование модуля nodejs версии 14.

4. Переключение модуля.

Если мы хотим изменить активный модуль, необходимо сначала отключить текущий командой dnf module reset, например:

dnf module reset php:7.3

* если попробовать включить модуль без отключения активного мы увидим ошибку:
Error: It is not possible to switch enabled streams of a module.
It is recommended to remove all installed content from the module, and reset the module using ‘dnf module reset <module_name>’ command. After you reset the module, you can install the other stream.

После включаем новый поток:

dnf module enable php:7.4

Заблокировать установку и обновление пакетов

В некоторых случаях, может возникнуть необходимость запретить установку и обновление определенных пакетов. Есть несколько способов это сделать.

1. Во время обновления (разово)

Данный метод можно использовать при обновлении пакетов. Мы с помощью ключа -x просто указываем через запятую те, которые не должны быть обновлены, например:

yum -x postgresql*,asterisk update

* данной командой мы обновим все пакеты, кроме asterisk и тех, название которых начинается на postgresql.

2. Постоянный запрет в yum.conf

Аналогично, можно запретить как установку, так и обновление в конфигурационном файле yum.conf. Открываем его командой:

vi /etc/yum.conf

Добавляем:

exclude=postgresql* asterisk

* в данном примере мы также запретим установку и обновление asterisk, а также пакетов, название которых начинается на postgresql.

3. Настройка репозитория

Ну и также мы можем заблокировать установку и обновление через конфигурационный файл репозитория. Например:

vi /etc/yum.repos.d/pgdg-redhat-all.repo

И добавим:

[pgdg12]

exclude=postgresql12*

* в данном примере мы блокируем пакет postgresql12.

Возможные ошибки

Рассмотрим примеры ошибок, с которыми мы можем столкнуться и способы их решения.

1. Curl error (60): SSL peer certificate or SSH remote key was not OK

Ошибка появляется при попытке выполнить операцию обновления или установки пакетов.

Причина: сертификат подключенного репозитория не проходит проверку. Возможно, он просрочен или выдан не доверенным центром сертификации.

Решение: проблему можно решить на стороне сервера (если мы являемся его администратором), например, получив правильный сертификат у Let’s Encrypt. На стороне клиента можно отключить проверку SSL для репозитория командой:

yum-config-manager —save —setopt=<имя репозитория>.sslverify=0

Или в конфигурационном файле репозитория добавить или изменить строку с sslverify:

sslverify=0

* данная опция задает необходимость проверки SSL для репозитория.

2. Error: GPG validation FAILED

Ошибка появляется при попытке установить пакет.

Причина: система не может загрузить и импортировать gpg-ключ. Это возможно в разных сценариях, например, в настройках репозитория не указан путь до него, но при этом указано, что проверка подписи необходима или ключ не удалось загрузить и импортировать.

Решение: для некоторых пакетов идет отдельная инструкция по настройке репозитория, в частности, установки ключа GPG. Или мы можем отключить проверку gpg командой:

yum-config-manager —save —setopt=<имя репозитория>.gpgcheck=0

Или через конфигурационный файл:

gpgcheck=0

In this article, we will learn how to install, update, remove, find packages, manage packages and repositories on Linux systems using YUM (Yellowdog Updater Modified) tool developed by RedHat.

The example commands shown in this article are practically tested on our RHEL 8 server, you can use these materials for study purposes, RHEL certifications, or just to explore ways to install new packages and keep your system up-to-date.

The basic requirement of this article is, you must have a basic understanding of commands and a working Linux operating system, where you can explore and practice all the commands listed below.

What is YUM?

YUM (Yellowdog Updater Modified) is an open-source command-line as well as graphical-based package management tool for RPM (RedHat Package Manager) based Linux systems.

It allows users and system administrators to easily install, update, remove or search software packages on a system. It was developed and released by Seth Vidal under GPL (General Public License) as an open-source, which means anyone can be allowed to download and access the code to fix bugs and develop customized packages.

YUM uses numerous third-party repositories to install packages automatically by resolving their dependencies issues.

Update: The yum command is replaced by the dnf command, which is a next-generation version of yum and considered to be the replacement for YUM in most newer RPM-based distributions.

1. Install a Package with YUM

To install a package called Firefox, just run the below command it will automatically find and install all required dependencies for 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!

The above command will ask for confirmation before installing any package on your system. If you want to install packages automatically without asking for any confirmation, use the option -y as shown below example.

# yum -y install firefox

2. Removing a Package with YUM

To remove a package completely with all the dependencies, just run the following command as shown below.

# 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!

In the same way, the above command will ask for confirmation before removing a package. To disable the confirmation prompt just add option -y as shown below.

# yum -y remove firefox

3. Updating a Package using YUM

Let’s say you have an outdated version of the MySQL package and you want to update it to the latest stable version. Just run the following command it will automatically resolve all dependencies issues and install them.

# yum update mysql
Loaded plugins: fastestmirror
Dependencies Resolved

============================================================================================================
 Package            Arch                Version                    Repository                    Size
============================================================================================================
Updating:
 vsftpd             i386                2.0.5-24.el5_8.1           updates                       144 k

Transaction Summary
============================================================================================================
Install       0 Package(s)
Upgrade       1 Package(s)

Total size: 144 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : vsftpd                                                                     1/2
  Cleanup        : vsftpd                                                                     2/2

Updated:
  vsftpd.i386 0:2.0.5-24.el5_8.1

Complete!

4. List a Package using YUM

Use the list function to search for the specific package with a name. For example to search for a package called OpenSSH, use the command.

# yum list openssh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: mirror.nus.edu.sg
Installed Packages
openssh.i386                                       4.3p2-72.el5_6.3                                                                      installed
Available Packages                                 4.3p2-82.el5                                                                          base

To make your search more accurate, define package names with their version, in case you know. For example to search for a specific version OpenSSH-4.3p2 of the package, use the command.

# yum list openssh-4.3p2

[ You might also like: How to Secure and Harden OpenSSH Server ]

5. Search for a Package using YUM

If you don’t remember the exact name of the package, then use the search function to search all the available packages to match the name of the package you specified. For example, to search all the packages that match the word.

# yum search vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: ftp.iitm.ac.in
============================== Matched: vsftpd ========================
ccze.i386 : A robust log colorizer
pure-ftpd-selinux.i386 : SELinux support for Pure-FTPD
vsftpd.i386 : vsftpd - Very Secure Ftp Daemon

6. Get Information about a Package using YUM

Say you would like to know the information about a package before installing it. To get information on a package just issue the below command.

# yum info firefox
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: ftp.iitm.ac.in
Available Packages
Name       : firefox
Arch       : i386
Version    : 10.0.6
Release    : 1.el5.centos
Size       : 20 M
Repo       : updates
Summary    : Mozilla Firefox Web browser
URL        : http://www.mozilla.org/projects/firefox/
License    : MPLv1.1 or GPLv2+ or LGPLv2+
Description: Mozilla Firefox is an open-source web browser, designed for standards
           : compliance, performance and portability.

7. List all Available Packages using YUM

To list all the available packages in the Yum database, use the below command.

# yum list | less

8. List all Installed Packages using YUM

To list all the installed packages on a system, just issue the below command, it will display all the installed packages.

# yum list installed | less

9. Yum Provides Function

Yum provides function is used to find which package a specific file belongs to. For example, if you would like to know the name of the package that has the /etc/httpd/conf/httpd.conf.

# yum provides /etc/httpd/conf/httpd.conf
Loaded plugins: fastestmirror
httpd-2.2.3-63.el5.centos.i386 : Apache HTTP Server
Repo        : base
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-63.el5.centos.1.i386 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-65.el5.centos.i386 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-53.el5.centos.1.i386 : Apache HTTP Server
Repo        : installed
Matched from:
Other       : Provides-match: /etc/httpd/conf/httpd.conf

10. Check for Available Updates using Yum

To find how many installed packages on your system have updates available, check to use the following command.

# yum check-update

11. Update System using Yum

To keep your system up-to-date with all security and binary package updates, run the following command. It will install all the latest patches and security updates to your system.

# yum update

12. List all available Group Packages

In Linux, a number of packages are bundled into a particular group. Instead of installing individual packages with yum, you can install a particular group that will install all the related packages that belong to the group. For example to list all the available groups, just issue the following command.

# yum grouplist
Installed Groups:
   Administration Tools
   DNS Name Server
   Dialup Networking Support
   Editors
   Engineering and Scientific
   FTP Server
   Graphics
   Java Development
   Legacy Network Server
Available Groups:
   Authoring and Publishing
   Base
   Beagle
   Cluster Storage
   Clustering
   Development Libraries
   Development Tools
   Eclipse
   Educational Software
   KDE (K Desktop Environment)
   KDE Software Development

13. Install Group Packages

To install a particular package group, we use the option as groupinstall. For example, to install “MySQL Database“, just execute the below command.

# yum groupinstall 'MySQL Database'
Dependencies Resolved

=================================================================================================
Package								Arch      Version			 Repository        Size
=================================================================================================
Updating:
 unixODBC                           i386      2.2.11-10.el5      base              290 k
Installing for dependencies:
 unixODBC-libs                      i386      2.2.11-10.el5      base              551 k

Transaction Summary
=================================================================================================
Install       1 Package(s)
Upgrade       1 Package(s)

Total size: 841 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : unixODBC-libs	1/3
  Updating       : unixODBC         2/3
  Cleanup        : unixODBC         3/3

Dependency Installed:
  unixODBC-libs.i386 0:2.2.11-10.el5

Updated:
  unixODBC.i386 0:2.2.11-10.el5

Complete!

14. Update a Group Packages

To update any existing installed group packages, just run the following command as shown below.

# yum groupupdate 'DNS Name Server'

Dependencies Resolved
================================================================================================================
 Package			Arch	        Version				Repository           Size
================================================================================================================
Updating:
 bind                           i386            30:9.3.6-20.P1.el5_8.2          updates              981 k
 bind-chroot                    i386            30:9.3.6-20.P1.el5_8.2          updates              47 k
Updating for dependencies:
 bind-libs                      i386            30:9.3.6-20.P1.el5_8.2          updates              864 k
 bind-utils                     i386            30:9.3.6-20.P1.el5_8.2          updates              174 k

Transaction Summary
================================================================================================================
Install       0 Package(s)
Upgrade       4 Package(s)

Total size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : bind-libs            1/8
  Updating       : bind                 2/8
  Updating       : bind-chroot          3/8
  Updating       : bind-utils           4/8
  Cleanup        : bind                 5/8
  Cleanup        : bind-chroot          6/8
  Cleanup        : bind-utils           7/8
  Cleanup        : bind-libs            8/8

Updated:
  bind.i386 30:9.3.6-20.P1.el5_8.2                  bind-chroot.i386 30:9.3.6-20.P1.el5_8.2

Dependency Updated:
  bind-libs.i386 30:9.3.6-20.P1.el5_8.2             bind-utils.i386 30:9.3.6-20.P1.el5_8.2

Complete!

15. Remove Group Packages

To delete or remove any existing installed group from the system, just use the below command.

# yum groupremove 'DNS Name Server'

Dependencies Resolved

===========================================================================================================
 Package                Arch              Version                         Repository          Size
===========================================================================================================
Removing:
 bind                   i386              30:9.3.6-20.P1.el5_8.2          installed           2.1 M
 bind-chroot            i386              30:9.3.6-20.P1.el5_8.2          installed           0.0

Transaction Summary
===========================================================================================================
Remove        2 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
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : bind                                                   1/2
warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave
  Erasing        : bind-chroot                                            2/2

Removed:
  bind.i386 30:9.3.6-20.P1.el5_8.2                                        bind-chroot.i386 30:9.3.6-20.P1.el5_8.2

Complete!

16. List Enabled Yum Repositories

To list all enabled Yum repositories in your system, use the following option.

# yum repolist

repo id                     repo name                                            status
base                        CentOS-5 - Base                                      enabled:  2,725
epel                        Extra Packages for Enterprise Linux 5 - i386         enabled:  5,783
extras                      CentOS-5 - Extras                                    enabled:    282
mod-pagespeed               mod-pagespeed                                        enabled:      1
rpmforge                    RHEL 5 - RPMforge.net - dag                          enabled: 11,290
updates                     CentOS-5 - Updates                                   enabled:    743
repolist: 20,824

16. List all Enabled and Disabled Yum Repositories

The following command will display all enabled and disabled yum repositories on the system.

# yum repolist all

repo id                     repo name                                            status
C5.0-base                   CentOS-5.0 - Base                                    disabled
C5.0-centosplus             CentOS-5.0 - Plus                                    disabled
C5.0-extras                 CentOS-5.0 - Extras                                  disabled
base                        CentOS-5 - Base                                      enabled:  2,725
epel                        Extra Packages for Enterprise Linux 5 - i386         enabled:  5,783
extras                      CentOS-5 - Extras                                    enabled:    282
repolist: 20,824

17. Install a Package from a Specific Repository

To install a particular package from a specific enabled or disabled repository, you must use --enablerepo an option in your yum command. For example to Install the PhpMyAdmin package, just execute the command.

# yum --enablerepo=epel install phpmyadmin

Dependencies Resolved
=============================================================================================
 Package                Arch           Version            Repository           Size
=============================================================================================
Installing:
 phpMyAdmin             noarch         3.5.1-1.el6        epel                 4.2 M

Transaction Summary
=============================================================================================
Install       1 Package(s)

Total download size: 4.2 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
phpMyAdmin-3.5.1-1.el6.noarch.rpm                       | 4.2 MB     00:25
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : phpMyAdmin-3.5.1-1.el6.noarch             1/1
  Verifying  : phpMyAdmin-3.5.1-1.el6.noarch             1/1

Installed:
  phpMyAdmin.noarch 0:3.5.1-1.el6

Complete!

18. Interactive Yum Shell

Yum utility provides a custom shell where you can execute multiple commands.

# yum shell
Loaded plugins: fastestmirror
Setting up Yum Shell
> update httpd
Loading mirror speeds from cached hostfile
 * base: mirrors.sin3.sg.voxel.net
 * epel: ftp.riken.jp
 * extras: mirrors.sin3.sg.voxel.net
 * updates: mirrors.sin3.sg.voxel.net
Setting up Update Process
>

19. Clean Yum Cache

By default yum keeps all the repository enabled package data in /var/cache/yum/ with each sub-directory, to clean all cached files from the enabled repository, you need to run the following command regularly to clean up all the cache and make sure that there is nothing unnecessary space is using. We don’t want to give the output of the below command, because we like to keep cached data as it is.

# yum clean all

20. View History of Yum

To view all the past transactions of the yum command, just use the following command.

# yum history

Loaded plugins: fastestmirror
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    10 | root               | 2012-08-11 15:19 | Install        |    3
     9 | root               | 2012-08-11 15:11 | Install        |    1
     8 | root               | 2012-08-11 15:10 | Erase          |    1 EE
     7 | root               | 2012-08-10 17:44 | Install        |    1
     6 | root               | 2012-08-10 12:19 | Install        |    2
     5 | root               | 2012-08-10 12:14 | Install        |    3
     4 | root               | 2012-08-10 12:12 | I, U           |   13 E<
     3 | root               | 2012-08-09 13:01 | Install        |    1 >
     2 | root               | 2012-08-08 20:13 | I, U           |  292 EE
     1 | System            | 2012-08-08 17:15 | Install        |  560
history list

We have tried to cover all the basic to advance yum commands with their examples. If anything related to yum commands may have missed out. Please update us through our comment box. So, we keep updating the same based on feedback received.

Понравилась статья? Поделить с друзьями:
  • Как исправить ошибку недостаточно ресурсов для завершения операции
  • Как найти папку windows documents
  • Как найти блютуз на магнитоле sony
  • Как исправить зависания в майнкрафте
  • Как можно исправить замечание