DNF (Dandified YUM), Fedora, RHEL, CentOS ve diğer RPM tabanlı Linux dağıtımlarında kullanılan güçlü bir paket yönetim aracıdır. Eski YUM (Yellowdog Updater Modified) aracının yerini alarak daha hızlı, daha verimli ve daha güvenilir bir paket yönetim deneyimi sunar.
DNF Nedir ve Neden Önemli?
DNF, RPM paketlerini yönetmek için geliştirilmiş bir komut satırı aracıdır. Bağımlılık çözümlemede daha gelişmiş algoritmalar kullanır ve daha az bellek tüketerek daha hızlı işlem yapmanızı sağlar. Python ile yazılmıştır ve libsolv adlı bir bağımlılık çözümleme kütüphanesi kullanır.
DNF’nin Temel Avantajları:
- Performans: Daha hızlı paket işlemleri
- Güvenilirlik: Gelişmiş bağımlılık çözümleme
- Modülerlik: Eklenti desteği ile genişletilebilir yapı
- API Desteği: Python API’si ile otomasyon kolaylığı
DNF Komutları ve Ayrıntılı Kullanımı
Aşağıda, görselde yer alan DNF komutlarını kategorilere ayırarak detaylandırıyoruz:
1. Paket Kurma ve Kaldırma İşlemleri
dnf install <paket-adı>
Belirli bir paketi ve tüm bağımlılıklarını kurar. Örneğin:
sudo dnf install nginx
dnf remove <paket-adı>
Belirli bir paketi sistemden kaldırır:
sudo dnf remove httpd
dnf reinstall <paket-adı>
Bir paketi orijinal haliyle yeniden kurar. Paket bozulduğunda veya yapılandırma dosyalarını sıfırlamak istediğinizde kullanışlıdır.
dnf localinstall <dosya.rpm>
Sistemdeki yerel bir RPM dosyasını kurar. İnternet bağlantısı olmadan paket kurmak için idealdir.
dnf groups install <grup-adı>
İlgili yazılımları bir arada kurmanızı sağlayan paket gruplarını yükler. Örneğin:
sudo dnf group install "Web Sunucusu"
2. Güncelleme ve Yükseltme İşlemleri
dnf check-update
Güncelleme kontrolü yapar ve güncellenebilecek paketleri listeler.
dnf upgrade
Tüm kurulu paketleri en son sürümlere yükseltir. Sistem güncellemeleri için en yaygın kullanılan komuttur.
dnf upgrade-minimal
Sadece güvenlik düzeltmeleri ve önemli hata düzeltmelerini uygular. Kararlılık odaklı sistemlerde tercih edilir.
dnf distro-sync
Paketleri dağıtımın desteklediği en son sürümlere senkronize eder. Fedora’da sürüm yükseltme işlemlerinde kullanılır.
3. Paket Keşfi ve Bilgi Alma
dnf search <anahtar-kelime>
Paket isimlerinde veya açıklamalarında arama yapar:
dnf search python3
dnf list
Çeşitli paket listelerini görüntüler:
dnf list installed # Kurulu paketler
dnf list available # Kullanılabilir paketler
dnf list updates # Güncellenebilir paketler
dnf info <paket-adı>
Paket hakkında detaylı bilgi verir: sürüm, boyut, açıklama, lisans vb.
dnf provides <dosya-yolu>
Belirli bir dosya veya komutun hangi paket tarafından sağlandığını bulur:
dnf provides /bin/ls
4. Depo (Repository) Yönetimi
dnf repolist
Yapılandırılmış depoların listesini gösterir:
dnf repolist all # Tüm depolar
dnf repolist enabled # Etkin depolar
dnf clean
Önbellek dizinini temizler. Disk alanı kazanmak veya sorun gidermek için kullanılır:
sudo dnf clean all # Tüm önbelleği temizler
5. Sistem Bakım ve Yardımcı Komutlar
dnf autoremove
Artık başka bir paket tarafından gerekmeyen bağımlılıkları (orphaned packages) kaldırır. Sistem temizliği için önemlidir.
dnf downgrade <paket-adı>
Bir paketi daha eski bir sürüme düşürür. Yeni sürümde sorun yaşandığında kullanışlıdır.
dnf history
Gerçekleştirilen tüm DNF işlemlerinin geçmişini gösterir. Geri alma işlemleri için önemlidir:
sudo dnf history undo 5 # 5 numaralı işlemi geri al
dnf updateinfo
Güvenlik güncellemeleri ve düzeltme notları hakkında bilgi sağlar:
dnf updateinfo list updates # Tüm güncellemeler
dnf updateinfo list security # Sadece güvenlik güncellemeleri
dnf help
Tüm komutlar veya belirli bir komut için yardım bilgisi gösterir:
dnf help install # Install komutu için yardım
DNF’nin Pratik Kullanım Örnekleri
Temel Sistem Güncellemesi:
sudo dnf check-update
sudo dnf upgrade
Güvenlik Güncellemelerini Uygulama:
sudo dnf upgrade-minimal --security
Paket Arama ve Kurma:
dnf search docker
sudo dnf install docker-ce docker-ce-cli containerd.io
Sistem Temizliği:
sudo dnf autoremove
sudo dnf clean all
Paket Sorunlarını Giderme:
# Bozuk bir paketi yeniden kurma
sudo dnf reinstall paket-adı
# Bağımlılık sorunlarını çözme
sudo dnf install --skip-broken
DNF Yapılandırma Dosyaları
DNF, /etc/dnf/dnf.conf ana yapılandırma dosyasını ve /etc/yum.repos.d/ dizinindeki depo dosyalarını kullanır. Bu dosyaları düzenleyerek:
- Yansı sunucularını değiştirebilirsiniz
- İndirme hızını artırabilirsiniz
- Önbellek ayarlarını özelleştirebilirsiniz
DNF Komutları ve Açıklamaları
| Komut | Açıklama |
|---|---|
install | Belirli yazılım paketlerini kurar |
upgrade-minimal | Sistemi etkileyen ana yamaları ve güvenlik düzeltmelerini günceller |
upgrade | Tüm paketleri yükseltir |
distro-sync | Kurulu tüm paketleri en son sürümlere senkronize eder |
updateinfo | Güncelleme danışma bilgilerini görüntüler |
check-update | Güncellenebilecek paket olup olmadığını kontrol eder |
remove | Belirli bir paketi kaldırır |
autoremove | Artık gerekli olmayan tüm bağımlılık paketlerini kaldırır |
reinstall | Bir paketi yeniden kurar |
list | Kullanılabilir paketler hakkında bilgi listeler |
info | Kullanılabilir paketlerin açıklama ve özet bilgilerini listeler |
clean | Önbellek dizinindeki birikmiş dosyaları temizler |
groups | Bir grup yazılım paketi kurar |
search | Paket bulmaya yardımcı olur |
localinstall | Yerel .rpm uzantılı paketleri kurar |
downgrade | Paketi daha yüksek sürümden daha düşük sürüme düşürür |
repolist | Yapılandırılmış depoların listesini gösterir |
provides | Hangi paketin belirli bir dosya veya yolu sağladığını bulur |
history | İşlem geçmişini görüntüler |
help | Tüm komutlar veya belirli bir komut için yardım listeler |
Sonuç
DNF, modern RPM tabanlı sistemler için vazgeçilmez bir araçtır. Hem yeni kullanıcılar hem de sistem yöneticileri için güçlü ve kullanımı kolay bir paket yönetim çözümü sunar. Düzenli olarak dnf upgrade ile sisteminizi güncel tutmak, dnf autoremove ile temizlemek ve dnf history ile işlemlerinizi takip etmek, sağlıklı bir Linux sisteminin olmazsa olmazlarıdır.
DNF’nin sunduğu bu kapsamlı komut seti sayesinde, paket yönetimi artık karmaşık bir görev olmaktan çıkmış, verimli ve kontrollü bir sürece dönüşmüştür.