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?
| apt | dnf |
|---|---|
apt update | ne treba — dnf sam osvežava metapodatke |
apt upgrade | dnf update |
apt install paket | dnf install paket |
apt remove paket | dnf remove paket |
apt search pojam | dnf search pojam |
apt show paket | dnf info paket |
dpkg -l | dnf list --installed |
dpkg -S /putanja | dnf 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
Post a Comment