dnf i yum — upravljanje paketima na RHEL sistemima

Menadžer paketa je alat kojim instaliraš, ažuriraš i uklanjaš softver na Linuxu. Umesto da preuzimaš instalacije sa sajtova, sve ide iz repozitorijuma — proverenih skladišta paketa koje održava distribucija. Menadžer sam rešava i zavisnosti: ako paket koji instaliraš zahteva još pet biblioteka, on će ih povući bez pitanja.

dnf ili yum?

Na RHEL-u, Rocky Linuxu, AlmaLinuxu i CentOS-u koristi se dnf. Stariji sistemi (RHEL 7 i CentOS 7) koriste yum.

Na modernim sistemima yum i dalje radi — ali je samo preusmerenje na dnf. Možeš i sam da proveriš:

$ which yum
/usr/bin/yum

$ ls -l /usr/bin/yum
lrwxrwxrwx. 1 root root 5 Apr 12 09:31 /usr/bin/yum -> dnf-3

Zato u tekstu koristim dnf. Ako radiš na starijem sistemu, svuda umesto toga otkucaj yum — sintaksa je gotovo identična.

Skoro sve komande ispod zahtevaju administratorska prava, pa idu uz sudo.

Pronalaženje paketa

Pretraga po imenu i opisu

$ dnf search htop
========== Name Exactly Matched: htop ==========
htop.x86_64 : Interactive process viewer

Detalji o paketu pre instalacije

$ dnf info htop
Available Packages
Name         : htop
Version      : 3.2.2
Release      : 1.el9
Architecture : x86_64
Size         : 190 k
Repository   : epel
Summary      : Interactive process viewer
License      : GPLv2+

Obrati pažnju na red Repository — govori ti odakle paket dolazi. Ako piše nešto što ne prepoznaješ, proveri odakle ti je taj repozitorijum.

Koji paket sadrži određenu komandu

Ovo je komanda koju ćeš koristiti češće nego što misliš. Kad ti sistem kaže da komanda ne postoji, a ne znaš kako se zove paket:

$ dnf provides */netstat
net-tools-2.0-0.62.el9.x86_64 : Basic networking tools
Repo        : baseos
Matched from:
Filename    : /usr/bin/netstat

Znači, netstat se ne instalira paketom „netstat" nego paketom net-tools. Bez dnf provides to bi pogađao.

Instalacija i uklanjanje

# dnf install htop

Dobićeš spisak svega što će biti instalirano i pitanje da potvrdiš. Ako želiš da preskočiš pitanje, dodaj -y:

# dnf install -y htop

Više paketa odjednom se navodi jedan za drugim:

# dnf install -y vim git wget curl

Uklanjanje:

# dnf remove htop

Pažljivo pročitaj šta remove planira da ukloni. Ako paket koji brišeš vuče za sobom zavisnosti, dnf će ponuditi da ukloni i njih — a ponekad je u tom spisku nešto što ti itekako treba.

Paketi koji su ostali kao siročići, instalirani samo kao nečija zavisnost, čiste se ovako:

# dnf autoremove

Ažuriranje sistema

Prvo pogledaj šta ima novo, bez ikakvih izmena:

$ dnf check-update

Zatim ažuriraj sve:

# dnf update

Ili samo jedan paket:

# dnf update httpd

Na dnf-u su update i upgrade ista stvar, pa koristi šta ti je lakše da zapamtiš.

Samo bezbednosne zakrpe, što je čest zahtev na produkcijskim serverima:

# dnf update --security

Šta je instalirano

$ dnf list --installed | wc -l
1247

$ dnf list --installed | grep httpd
httpd.x86_64                 2.4.57-5.el9    @appstream
httpd-core.x86_64            2.4.57-5. el9   @appstream
httpd-tools.x86_64           2.4.57-5.el9    @appstream

Znak @ ispred imena repozitorijuma znači da je paket instaliran (za razliku od dostupnog).

Grupe paketa

Grupa je unapred sastavljen komplet paketa za određenu namenu. Umesto da nabrajaš dvadeset paketa za kompajliranje softvera:

$ dnf group list
Available Groups:
   Container Management
   Development Tools
   Headless Management
   System Tools

# dnf group install "Development Tools"

Repozitorijumi i EPEL

Koji su repozitorijumi trenutno aktivni:

$ dnf repolist
repo id              repo name
appstream            Rocky Linux 9 - AppStream
baseos               Rocky Linux 9 - BaseOS
extras               Rocky Linux 9 - Extras

Konfiguracija svakog repozitorijuma je fajl u /etc/yum.repos.d/. Možeš ih pogledati i običnim cat-om.

Podrazumevani repozitorijumi na RHEL-u su namerno konzervativni i mnogi poznati alati u njima ne postoje — htop, ncdu, fail2ban i slično. Njih donosi EPEL (Extra Packages for Enterprise Linux), zvanični dodatni repozitorijum Fedora projekta:

# dnf install -y epel-release
# dnf repolist

Posle toga se EPEL pojavljuje u spisku i paketi iz njega su ti dostupni. EPEL je siguran izbor; repozitorijume sa nasumičnih sajtova izbegavaj, jer ti mogu prepisati sistemske pakete i razbiti nadogradnju.

dnf history — vraćanje unazad

Ovo je najkorisnija funkcija koju većina ljudi ne zna da postoji. dnf pamti svaku transakciju:

$ dnf history
ID | Command line              | Date                | Action(s) | Altered
---|--------------------------|---------------------|-----------|--------
12 | install nginx            | 2026-08-19 11:04    | Install   |    4
11 | update                   | 2026-08-18 22:15    | Upgrade   |   38
10 | remove net-tools         | 2026-08-15 09:47    | Removed   |    1

Detalji jedne transakcije:

$ dnf history info 12

A ovo poništava celu transakciju — vraća sistem u stanje pre nje:

# dnf history undo 12

Ako si ikada ažurirao paket posle čega je servis prestao da radi, dnf history undo ti je izlaz iz problema za deset sekundi.

Kad nešto zapne

Ako dnf tvrdi da paket ne postoji iako znaš da postoji, ili se buni na metapodatke, prvo osveži keš:

# dnf clean all
# dnf makecache

Druga česta situacija je poruka o zaključanom procesu. To znači da već radi neka dnf ili automatska nadogradnja u pozadini — sačekaj da završi umesto da brišeš lock fajl ručno.

Dolaziš sa Debiana ili Ubuntua?

aptdnf
apt updatene treba — dnf sam osvežava metapodatke
apt upgradednf update
apt install paketdnf install paket
apt remove paketdnf remove paket
apt search pojamdnf search pojam
apt show paketdnf info paket
dpkg -ldnf list --installed
dpkg -S /putanjadnf provides /putanja
dnf history undo

Najveća razlika u navici: na apt-u moraš da se setiš apt update pre svega, dok dnf to radi sam. Druga je dnf history, koji na apt strani nema pravi ekvivalent.


Povezano: apt-get · systemctl · Administracija i servisi

Comments