DNF Paket Yöneticisi
RHEL tabanlı modern Linux dağıtımlarında (Fedora, CentOS Stream, Rocky Linux, AlmaLinux, RHEL 8+) paket yönetimi için kullanılan standart araç dnf (Dandified YUM)'dir. dnf, eski paket yöneticisi yum'un (Yellowdog Updater Modified) yeni nesil versiyonudur ve daha iyi performans, daha düşük bellek kullanımı, geliştirilmiş bağımlılık çözümü gibi avantajlar sunar.
Çoğu modern sistemde, geriye dönük uyumluluk için yum komutu dnf'e yönlendirilmiş bir sembolik link veya alias olabilir. Ancak, yeni komutları ve özellikleri kullanmak için doğrudan dnf komutunu öğrenmek ve kullanmak tavsiye edilir.
dnf, sisteminize yazılım kurmak, güncellemek, kaldırmak ve yapılandırılmış yazılım depolarını (repositories) yönetmek için kullanılır. Temel olarak RPM paketleri üzerinde çalışır ancak bağımlılıkları otomatik olarak çözer.
Paket Arama ve Listeleme
Bir paketin depolarda mevcut olup olmadığını aramak için search kullanılır:
# İçinde 'htop' geçen paketleri ara
sudo dnf search htop Belirli bir paketin veya tüm paketlerin listelenmesi için list kullanılır:
# 'htop' paketinin kurulu olup olmadığını ve mevcut sürümünü listele
sudo dnf list htop
# Sistemde kurulu tüm paketleri listele
sudo dnf list installed | less
# Depolarda mevcut tüm paketleri listele
sudo dnf list available | less
# Tüm paketleri (kurulu ve mevcut) listele
sudo dnf list all | less Kurulu paketleri listelemek için rpm -qa komutu da kullanılabilir.
Paket Kurma (install)
install)Bir veya daha fazla paketi kurmak için install komutu kullanılır. dnf, gerekli bağımlılıkları otomatik olarak bulup kurmaya çalışacaktır.
Kurulum sırasında onay istenecektir. Onay vermeden doğrudan kurmak için -y parametresi eklenebilir:
Yerel bir RPM dosyasını kurarken de dnf kullanmak, bağımlılıkların depolardan çözülmesini sağlar:
Paket Kaldırma (remove)
remove)Bir veya daha fazla paketi kaldırmak için remove (veya erase) komutu kullanılır:
Yine onay istenir ve -y ile atlanabilir. dnf remove, kaldırılan pakete bağımlı olan ve başka hiçbir paket tarafından kullanılmayan diğer paketleri de kaldırmayı önerebilir (bkz. autoremove).
Paket Güncelleme (upgrade)
upgrade)Sistemdeki kurulu tüm paketleri en son sürümlerine güncellemek için upgrade komutu kullanılır:
Sadece belirli bir paketi güncellemek için:
Sadece güvenlik güncellemelerini uygulamak için:
Hangi paketlerin güncellemesinin mevcut olduğunu görmek için check-update kullanılır:
Paket Bilgisi (info)
info)Bir paket hakkında (kurulu olsun veya olmasın) detaylı bilgi almak için info kullanılır:
Bu komut paketin sürümünü, mimarisini, boyutunu, özetini, açıklamasını ve hangi depodan geldiğini gösterir. Benzer bilgi rpm -qi <paket-ismi> ile de alınabilir (sadece kurulu paketler için).
Dosyanın Hangi Pakete Ait Olduğunu Bulma (provides)
provides)Belirli bir dosyanın veya komutun hangi paket tarafından sağlandığını bulmak için provides (veya whatprovides) kullanılır:
Paket Grupları (group)
group)İlgili paketler genellikle gruplar halinde sunulur (örneğin, "Web Server", "Development Tools").
Mevcut grupları listelemek için:
Bir grup hakkında bilgi almak için (içerdiği zorunlu, varsayılan, opsiyonel paketler):
Bir grubu kurmak, güncellemek veya kaldırmak için:
Grup kurulumlarında varsayılan olarak hangi tür paketlerin (mandatory, default, optional) kurulacağını /etc/dnf/dnf.conf dosyasındaki group_package_types direktifi belirler.
İşlem Geçmişi (history)
history)dnf, yapılan tüm kurulum, kaldırma, güncelleme işlemlerinin kaydını tutar. Bu, değişiklikleri takip etmek ve gerekirse geri almak için çok kullanışlıdır.
Geçmiş işlemleri listelemek için:
Belirli bir işlem hakkında detaylı bilgi almak için (ID'si ile):
Belirli bir işlemi geri almak için (örneğin 15 numaralı kurulumu geri al):
Geri alınan bir işlemi tekrar uygulamak için:
Diğer Kullanışlı dnf Komutları
dnf Komutlarıautoremove: Başka hiçbir kurulu paketin ihtiyaç duymadığı bağımlılıkları (artık gereksiz olan paketleri) kaldırmak için kullanılır. Genellikle birremoveişleminden sonra çalıştırılır.downgrade: Bir paketi önceki bir sürümüne düşürmek için kullanılır.reinstall: Bir paketi yeniden kurmak için kullanılır (yapılandırma dosyaları genellikle korunur).clean:dnftarafından önbelleğe alınan verileri temizlemek için kullanılır (örn.dnf clean all).
Modüller (RHEL 8+ / CentOS Stream 8+)
RHEL 8 ve sonrası tabanlı dağıtımlarda "Application Streams" (Uygulama Akışları) ve dnf module komutları tanıtılmıştır. Bu, aynı paketin farklı sürümlerini (örneğin Python 3.6, 3.8, 3.9) aynı anda depolarda bulundurmayı ve kullanıcının hangisini kuracağını seçmesini sağlar.
Mevcut modülleri listelemek için:
Belirli bir modül akışını (stream) etkinleştirmek ve kurmak için:
Yapılandırma
dnf'in ana yapılandırma dosyası /etc/dnf/dnf.conf'tur. Yazılım depoları ise /etc/yum.repos.d/ dizini altındaki .repo uzantılı dosyalarda tanımlanır (bkz. Repo Ayarları).
dnf, RHEL tabanlı sistemlerde paket yönetiminin temel taşıdır ve rpm komutuna göre çok daha kullanıcı dostu ve güvenli bir deneyim sunar.
Last updated