Polecenie yum: użycie i opcje, yum-utils i sprawdzanie repozytoriów

Środowisko testoweRodzina RHELAlmaLinux 9.8konto root
Polecenia pakietówyumyum-utilsrpmLokalizacja/usr/bin/yum

Polecenie yum to polecenie do zarządzania pakietami, które instaluje, aktualizuje i usuwa pakiety w Linuksie z rodziny RHEL. Po uruchomieniu poleceń do sprawdzania pakietów i aktualizacji oraz narzędzi yum-utils na serwerze AlmaLinux 9 okazało się, że yum działa jako ten sam program co dnf, a jego wynik jest taki sam jak w dnf.

Lista repozytoriów, numery wydań (release) pakietów i czasy instalacji w poniższym wyniku to przykładowe wartości.

1️⃣ Podstawy polecenia yum: yum i dnf

W AlmaLinux 9 wpisanie yum uruchamia dnf. Dzieje się tak, ponieważ /usr/bin/yum jest dowiązaniem do dnf-3.

ls -l /usr/bin/yum /usr/bin/dnf
lrwxrwxrwx 1 root root 5 Oct  5 10:12 /usr/bin/dnf -> dnf-3
lrwxrwxrwx 1 root root 5 Oct  5 10:12 /usr/bin/yum -> dnf-3

Oba pliki były dowiązaniami do dnf-3. Dlatego nawet yum --version pokazuje wersję dnf.

yum --version
4.14.0
  Installed: dnf-0:4.14.0-21.el9_8.alma.1.noarch at Mon Oct  5 10:12:30 2026
  Built    : AlmaLinux Packaging Team <packager@almalinux.org> at Fri May  1 09:30:00 2026

  Installed: rpm-0:4.16.1.3-23.el9.x86_64 at Mon Oct  5 10:12:08 2026
  Built    : AlmaLinux Packaging Team <packager@almalinux.org> at Thu Mar 12 08:15:20 2026

Pierwszy wiersz, 4.14.0, to wersja dnf, a pod nim są czasy instalacji pakietów dnf i rpm. Wersja rpm pojawia się również dlatego, że yum ostatecznie instaluje pakiety pobrane z repozytorium za pomocą rpm.

Podstawowa postać polecenia to kolejno yum, opcje, polecenie i nazwa pakietu. Pierwszy wiersz --help pokazuje tę postać, a pod nim jest lista poleceń.

yum --help | head -n 12
usage: yum [options] COMMAND

List of Main Commands:

alias                     List or create command aliases
autoremove                remove all unneeded packages that were originally installed as dependencies
check                     check for problems in the packagedb
check-update              check for available package upgrades
clean                     remove cached data
deplist                   [deprecated, use repoquery --deplist] List package's dependencies and what packages provide them
distro-sync               synchronize installed packages to the latest available versions
downgrade                 Downgrade a package

Najczęściej używane polecenia zebrano w tabeli.

PolecenieZadanie
list installedLista zainstalowanych pakietów (z nazwą pakietu tylko ten pakiet)
list updatesLista pakietów, które mają nowszą wersję w repozytorium
check-updateSprawdzenie, czy są aktualizacje (kod wyjścia 100, jeśli są)
infoWersja, rozmiar, repozytorium i opis jednego pakietu
searchWyszukiwanie pakietów w nazwie i opisie
installInstalacja pakietu (z zależnościami)
removeUsunięcie pakietu (tak samo jak erase)
updateAktualizacja zainstalowanych pakietów do nowej wersji (tak samo jak upgrade)
autoremoveUsunięcie pakietów zainstalowanych jako zależności, które nie są już potrzebne
makecacheWcześniejsze pobranie metadanych repozytorium i utworzenie pamięci podręcznej
clean allUsunięcie całej pobranej pamięci podręcznej
repolistLista włączonych repozytoriów
deplistZależności i pakiety, które je dostarczają (zalecane repoquery --deplist)
historyHistoria transakcji instalacji i usuwania

2️⃣ Opcje polecenia yum: -y, -C, exclude, enablerepo

Opcje umieszcza się między yum a poleceniem. -y odpowiada „tak” na pytania, więc służy do skryptów; gdy ręcznie uruchamiasz update na serwerze produkcyjnym, lepiej pominąć -y, przeczytać tabelę transakcji i odpowiedzieć samodzielnie.

OpcjaKopiujOpis
-C, --cacheonlyUżywa tylko pobranej pamięci podręcznej bez łączenia się z repozytoriami.
-q, --quietUkrywa komunikaty, takie jak wiersz metadanych, i wyświetla tylko wynik.
--showduplicatesWyświetla zarówno zainstalowaną wersję, jak i wersje tego samego pakietu w repozytorium.
--exclude=PKG, -x PKGWyłącza ten pakiet z bieżącego polecenia (można użyć wzorców, np. kernel*).
--enablerepo=REPOWłącza wyłączone repozytorium tylko dla tego polecenia.
--versionWyświetla wersje yum (dnf) i rpm.
-h, --helpWyświetla pomoc.
OpcjaKopiujOpis
-y, --assumeyesOdpowiada „tak” na wszystkie pytania.
-v, --verboseWyświetla szczegóły wykonywanych działań.
--disablerepo=REPOWyłącza włączone repozytorium tylko dla tego polecenia.
--skip-brokenPomija pakiety z uszkodzonymi zależnościami i kontynuuje z resztą.

-C wyświetla wynik tylko z pobranej pamięci podręcznej, bez łączenia się z repozytoriami. W pierwszym wierszu widać czas ostatniego odświeżenia pamięci podręcznej, a wynik zaczyna się od drugiego wiersza.

yum -C list tree
Last metadata expiration check: 0:35:03 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
tree.x86_64                         1.8.0-12.el9                         @baseos

Z -q pierwszy wiersz znika i pojawia się tylko wynik.

yum -C -q list installed tree
Installed Packages
tree.x86_64                         1.8.0-12.el9                         @baseos

--showduplicates wyświetla obok siebie zainstalowaną wersję i wersje dostępne w repozytorium.

yum -C --showduplicates list libavif
Last metadata expiration check: 0:38:15 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
libavif.x86_64                      0.11.1-7.el9                       @epel
Available Packages
libavif.x86_64                      1.1.1-2.el9                        epel

0.11.1 w Installed Packages i 1.1.1 w Available Packages to dwie wersje tego samego pakietu. Wersja w repozytorium jest wyższa, więc libavif czeka na aktualizację.

--exclude wyłącza ten pakiet z bieżącego polecenia.

yum -C --exclude=libavif check-update libavif libdav1d
Last metadata expiration check: 0:35:10 ago on Thu Oct 29 05:32:35 2026.

libdav1d.x86_64                         1.5.4-2.el9                         epel

Podano dwa pakiety, ale libavif został pominięty i został tylko libdav1d. Po dodaniu do update aktualizuje wszystko oprócz tego pakietu.

3️⃣ Zarządzanie pakietami w yum i kolejność aktualizacji

Nawet znając opcje, trzeba najpierw zobaczyć, co jest zainstalowane i co pojawiło się nowego, żeby wybrać pakiety do aktualizacji. Dlatego zaczynamy od poleceń, które sprawdzają zainstalowane pakiety.

yum -C list installed tree
Installed Packages
tree.x86_64                         1.8.0-12.el9                         @baseos

@baseos w ostatniej kolumnie to repozytorium, z którego zainstalowano pakiet. Zapytanie przez rpm -q pokazuje także wersję w jednym wierszu.

rpm -q tree htop libavif
tree-1.8.0-12.el9.x86_64
package htop is not installed
libavif-0.11.1-7.el9.x86_64

Dla pakietu, który nie jest zainstalowany, wynik kończy się jednym wierszem not installed, a kod wyjścia to 1.

Pakiety, które mają nową wersję w repozytorium, sprawdza się poleceniem list updates.

yum -C list updates libavif libdav1d
Last metadata expiration check: 0:35:07 ago on Thu Oct 29 05:32:35 2026.
Available Upgrades
libavif.x86_64                          1.1.1-2.el9                         epel
libdav1d.x86_64                         1.5.4-2.el9                         epel

Pod Available Upgrades są pakiety z nową wersją. Bez nazwy pakietu sprawdzane jest wszystko, co zainstalowano.

check-update podaje tę samą listę także przez kod wyjścia.

yum -C check-update libavif libdav1d; echo $?
Last metadata expiration check: 0:35:08 ago on Thu Oct 29 05:32:35 2026.

libavif.x86_64                          1.1.1-2.el9                         epel
libdav1d.x86_64                         1.5.4-2.el9                         epel
100

100 w ostatnim wierszu to kod wyjścia. Gdy są aktualizacje, wynosi 100, a gdy ich nie ma, 0, więc skrypty decydują na podstawie tej wartości.

Aktualizację przeprowadza się w kolejności makecache, update, autoremove.

yum makecache

makecache pobiera z wyprzedzeniem metadane repozytorium. update pobiera je samo, więc ten krok można pominąć.

yum update

update podnosi wszystkie zainstalowane pakiety do nowych wersji i obsługuje także zależności.

yum update libavif

Z nazwą pakietu aktualizowany jest tylko ten pakiet.

yum autoremove

autoremove usuwa pakiety zainstalowane razem jako zależności, które nie są już potrzebne. Uruchamia się je po update.

yum update --exclude='kernel*'

Aby zaktualizować bez jądra, dodaj do --exclude wzorzec kernel. Po aktualizacji jądra trzeba zrestartować serwer, żeby działał na nowym jądrze; czy restart jest potrzebny, sprawdza się narzędziem needs-restarting z yum-utils.

4️⃣ Narzędzia yum-utils: yumdownloader, repoquery, needs-restarting

W AlmaLinux 9 yum-utils to warstwa zgodności dostarczana przez dnf-plugins-core. Nazwy poleceń są takie jak w czasach starego YUM, ale uruchamiane są wtyczki dnf.

yum -C info yum-utils
Last metadata expiration check: 0:38:12 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
Name         : yum-utils
Version      : 4.3.0
Release      : 14.el9
Architecture : noarch
Size         : 23 k
Source       : dnf-plugins-core-4.3.0-14.el9.src.rpm
Repository   : @System
From repo    : baseos
Summary      : Yum-utils CLI compatibility layer
URL          : https://github.com/rpm-software-management/dnf-plugins-core
License      : GPLv2+
Description  : As a Yum-utils CLI compatibility layer, supplies in CLI shims for
             : debuginfo-install, repograph, package-cleanup, repoclosure, repomanage,
             : repoquery, reposync, repotrack, repodiff, builddep, config-manager, debug,
             : download and yum-groups-manager that use new implementations using DNF.

Source to dnf-plugins-core, a Summary to Yum-utils CLI compatibility layer. Jeśli nie jest zainstalowany, instaluje się go poleceniem [yum install yum-utils].

17 poleceń, które instaluje ten pakiet, pokazuje rpm -ql.

rpm -ql yum-utils | grep bin/
/usr/bin/debuginfo-install
/usr/bin/find-repos-of-install
/usr/bin/needs-restarting
/usr/bin/package-cleanup
/usr/bin/repo-graph
/usr/bin/repoclosure
/usr/bin/repodiff
/usr/bin/repomanage
/usr/bin/repoquery
/usr/bin/reposync
/usr/bin/repotrack
/usr/bin/yum-builddep
/usr/bin/yum-config-manager
/usr/bin/yum-debug-dump
/usr/bin/yum-debug-restore
/usr/bin/yum-groups-manager
/usr/bin/yumdownloader
ls -l /usr/bin/yumdownloader /usr/bin/repoquery /usr/bin/needs-restarting /usr/bin/yum-config-manager
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/needs-restarting -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/repoquery -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/yum-config-manager -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/yumdownloader -> /usr/libexec/dnf-utils

Wszystkie były dowiązaniami do jednego pliku, /usr/libexec/dnf-utils. Najczęściej używane narzędzia i ich zadania zebrano w drzewie.

yum-utilsJeden pakiet — wszystkie 17 poleceń to dowiązania do /usr/libexec/dnf-utils
yumdownloaderPobieranie plików pakietów (.rpm) · --urls wyświetla tylko adresy
repoqueryZapytanie o listę plików, zależności i zależności odwrotne pakietu
needs-restartingSprawdzenie, czy po aktualizacji potrzebny jest restart
package-cleanupWyszukiwanie zduplikowanych, osieroconych i problematycznych pakietów
yum-builddepInstalacja pakietów potrzebnych do zbudowania źródłowego RPM
yum-config-managerWłączanie, wyłączanie i dodawanie repozytoriów (zmienia pliki konfiguracyjne)
repoclosure · repodiff · repomanage · repo-graphSprawdzanie, porównywanie, porządkowanie repozytoriów i ich wykresy
reposync · repotrackPobieranie repozytoriów i grup pakietów
debuginfo-install · find-repos-of-install · yum-debug-dump · yum-debug-restore · yum-groups-managerInformacje debugowania · repozytorium źródłowe · zrzut i przywracanie konfiguracji · zarządzanie grupami

yumdownloader tylko pobiera pliki pakietów, nie instalując ich. Z --urls wyświetla tylko adresy, z których by pobierał.

yumdownloader --urls tree
Last metadata expiration check: 0:35:16 ago on Thu Oct 29 05:32:35 2026.
https://repo.almalinux.org/almalinux/9.8/BaseOS/x86_64/os/Packages/tree-1.8.0-12.el9.x86_64.rpm

Adres repozytorium i nazwa pliku pojawiają się w jednym wierszu. Dzięki temu adresowi można z wyprzedzeniem pobrać pliki, które przeniesiesz na serwer bez dostępu do internetu i tam zainstalujesz.

repoquery sprawdza pliki, które instaluje pakiet, oraz jego zależności.

repoquery -l tree
Last metadata expiration check: 0:35:17 ago on Thu Oct 29 05:32:35 2026.
/usr/bin/tree
/usr/lib/.build-id
/usr/lib/.build-id/e0
/usr/lib/.build-id/e0/e2ec3d46003583b56979e08d437395bd0d2a07
/usr/share/doc/tree
/usr/share/doc/tree/README
/usr/share/licenses/tree
/usr/share/licenses/tree/LICENSE
/usr/share/man/man1/tree.1.gz

-l to lista plików tego pakietu. Zawiera jeden plik wykonywalny oraz dokumentację, licencję i podręcznik.

repoquery --requires tree
Last metadata expiration check: 0:35:19 ago on Thu Oct 29 05:32:35 2026.
libc.so.6(GLIBC_2.34)(64bit)
rtld(GNU_HASH)

--requires pokazuje potrzebne biblioteki. yum deplist wyświetla to samo wraz z dostarczającymi pakietami, ale pomoc oznacza go jako deprecated, więc zamiast niego używa się repoquery --deplist.

yum -C repoquery --deplist tree
Last metadata expiration check: 0:38:17 ago on Thu Oct 29 05:32:35 2026.
package: tree-1.8.0-12.el9.x86_64
  dependency: libc.so.6(GLIBC_2.34)(64bit)
   provider: glibc-2.34-170.el9_8.x86_64
  dependency: rtld(GNU_HASH)
   provider: glibc-2.34-170.el9_8.i686
   provider: glibc-2.34-170.el9_8.x86_64

Wiersze dependency to to, co jest potrzebne, a wiersze provider to pakiety, które to dostarczają.

Czy po aktualizacji potrzebny jest restart, sprawdza się poleceniem needs-restarting -r.

needs-restarting -r
No core libraries or services have been updated since boot-up.
Reboot should not be necessary.

Po aktualizacji jądra lub kluczowej biblioteki komunikat zmienia się na informację, że potrzebny jest restart, a polecenie kończy się kodem wyjścia 1.

Uruchomione bez opcji package-cleanup wyświetla tylko komunikat z prośbą o wybór sprawdzenia.

package-cleanup
package-cleanup has to be executed with one of the options: --dupes, --leaves, --orphans, --problems or --cleandupes

5️⃣ Sprawdzanie repozytoriów yum: repolist i opcja enablerepo

Nawet z narzędziami yum nic nie znajdzie, jeśli pakietu nie ma w żadnym repozytorium. Dlatego najpierw sprawdza się, które repozytoria yum są włączone.

yum repolist
repo id             repo name
appstream           AlmaLinux 9 - AppStream
baseos              AlmaLinux 9 - BaseOS
epel                Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras              AlmaLinux 9 - Extras

repolist wyświetla tylko repozytoria z enabled=1 w pliku konfiguracyjnym. baseos i appstream to podstawowe repozytoria dystrybucji, a epel to repozytorium dodane osobno.

yum repolist --all | head -n 12
repo id                       repo name                                 status
appstream                     AlmaLinux 9 - AppStream                   enabled
appstream-debuginfo           AlmaLinux 9 - AppStream - Debug           disabled
appstream-source              AlmaLinux 9 - AppStream - Source          disabled
baseos                        AlmaLinux 9 - BaseOS                      enabled
baseos-debuginfo              AlmaLinux 9 - BaseOS - Debug              disabled
baseos-source                 AlmaLinux 9 - BaseOS - Source             disabled
crb                           AlmaLinux 9 - CRB                         disabled
crb-debuginfo                 AlmaLinux 9 - CRB - Debug                 disabled
crb-source                    AlmaLinux 9 - CRB - Source                disabled
epel                          Extra Packages for Enterprise Linux 9 - x enabled
epel-cisco-openh264           Extra Packages for Enterprise Linux 9 ope enabled

--all wyświetla także wyłączone repozytoria wraz z kolumną status. Pakietów z repozytorium disabled, takiego jak crb, nie da się zainstalować bez zmian.

Aby włączyć wyłączone repozytorium tylko w tym poleceniu, dodaj --enablerepo.

yum --enablerepo=crb repolist
repo id             repo name
appstream           AlmaLinux 9 - AppStream
baseos              AlmaLinux 9 - BaseOS
crb                 AlmaLinux 9 - CRB
epel                Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras              AlmaLinux 9 - Extras

crb pojawiło się na liście. Plik konfiguracyjny pozostaje bez zmian, więc w następnym poleceniu znowu znika. Aby repozytorium było stale włączone, zmienia się plik konfiguracyjny za pomocą yum-config-manager. Jak repozytoria się włączają i wyłączają, zobaczysz na diagramie poniżej, naciskając przyciski poleceń.

🧭 Repozytoria, w których yum szuka pakietów
Diagram objaśniający
🔍 Polecenie
$ yum repolist--enablerepo=crb repolist--disablerepo=epel repolist
baseosWłączoneWłączone tylko terazWyłączone tylko teraz
appstreamWłączoneWłączone tylko terazWyłączone tylko teraz
extrasWłączoneWłączone tylko terazWyłączone tylko teraz
epelWłączoneWłączone tylko terazWyłączone tylko teraz
crbWyłączoneWłączone tylko terazWyłączone tylko teraz
➜
yumRepozytoria przeszukiwane w poszukiwaniu pakietów564
repolist wyświetla tylko repozytoria z enabled=1 w pliku konfiguracyjnym. yum szuka pakietów tylko w repozytoriach z tej listy. Pakiety z wyłączonego repozytorium, takiego jak crb, nie są widoczne.
Z --enablerepo=crb repozytorium crb jest włączone tylko w tym jednym poleceniu i trafia na listę. Plik konfiguracyjny się nie zmienia, więc w następnym poleceniu znowu znika.
Z --disablerepo=epel repozytorium epel znika tylko w tym jednym poleceniu. Aby stale włączyć lub wyłączyć repozytorium, używa się yum-config-manager, który zmienia plik konfiguracyjny.

Dodanie nowego repozytorium, takiego jak EPEL, sprowadza się do instalacji jednego pakietu repozytorium.

yum install epel-release

Po instalacji w /etc/yum.repos.d/ powstaje plik epel.repo, a epel pojawia się w repolist.

🔲 Symulator polecenia yum

W symulatorze poniżej możesz samodzielnie wpisać yum list, check-update, repolist i polecenia yum-utils i zobaczyć wynik. Lista repozytoriów zawiera te same przykładowe wartości co artykuł, a polecenia instalacji, usuwania i aktualizacji pokazują tylko komunikat.

Symulator polecenia yumyum 4.14.0
[root@server work]#
Klawiszami ↑↓ przywołasz wcześniej wpisane polecenia.

🔢 FAQ & polecane treści

Nie. Wpisanie yum delete kończy się błędem No such command: delete. Pakiet usuwa się poleceniem yum remove, a erase działa tak samo.

To samo polecenie. W dnf update to inna nazwa upgrade, więc nawet yum help update pokazuje pomoc zaczynającą się od usage: yum upgrade.

Z -C polecenia list i info działają na pobranej pamięci podręcznej, bez łączenia się z repozytoriami. Aby zainstalować pakiet, pobiera się plik .rpm narzędziem yumdownloader na innym serwerze, przenosi go i podaje ścieżkę pliku do install.

ℹ️ Informacja o linkach partnerskich
Treści tej witryny zawierają linki partnerskie. Jeśli odwiedzający kupi produkt lub usługę przez taki link, witryna otrzymuje od sprzedawcy prowizję. Kwota płacona przy tym przez kupującego (podczas promocji spada↓) nie wzrasta. Podane ceny, rabaty i dostępność odnoszą się do chwili pisania i mogą różnić się od stanu faktycznego, dlatego przed zakupem sprawdź je u sprzedawcy. Produkty wybieramy i oceniamy według własnych kryteriów, a prowizja nie wpływa ani na kolejność prezentacji, ani na treść ocen.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Prove your humanity: 10   +   4   =