DNF YUM RPM tabanlı dağıtım için yeni nesil paket yöneticisi programıdır. İlk olarak Fedora 18 sürümünde tanıtılmış ve Fedora 22 sürümünde YUM yerine kullanılmaya başlamıştır. DNF YUM komut sistemindeki darboğazları geliştirmeyi amaçlamaktadır. DNF paket yönetimi RPM libsov ve Hawkey kütüphanelerini kullanarak performans, hafıza kullanımı, bağımlılık çözünürlüğü ve diğer faktörleri kullanarak yapar. CentOS ve RHEL 7 sürümlerinde artık YUM gelmiyor olsa bie DNF ve YUM paket yönetimini birlikte kullanabilirsiniz.
DNF paket yönetiminin en son kararlı sürümü Mayıs tarihinde 1.0 olarak yayınlanmıştır. DNF paket yönetimi çoğunlukla Python kullanılarak yazılmış ve GPL v2 lisansı altında yayınlanmaktadır.
DNF Kurulumu
DNF RHEL/CentOS 7 varsayılan deposunda mevcut değildir. Ancak Fedora 22 ile DNF resmen hayata geçirilmiştir.
DNF RHEL/CentOS sistemlerinde DNF yüklemek için ilk önce epel-release depolarını etkinleştirmeniz gerekmektedir. Bunun için aşağıdaki komutlardan birini vermeniz yeterlidir:
# yum install epel-release
veya
# yum install epel-release -y
Sisteminizde ne yüklü olduğunu görmek için yum ile “-y” kullanılabilir. Kullanıcının çok fazla bir müdahalesi olmadan otomatik olarak herşeyi yüklemek için yum ile birlikte “-“y” kullanılabilir.
Daha sonra epel-release depolarından yum komutunu kullanarak DNF paketini yükleyebilirsiniz. Paketi yüklemek için aşağıdaki komutu verin:
# yum install dnf
DNF başarılı bir şekilde kurulduktan sonra artık size RPM paketlerini yönetmeniz için yardımcı olacaktır. Burada DNF komutunun pratik komutu verilecektir.
1. DNF sürüm kontrolü
Sisteminizde yüklü olan DNF sürümünü kontrol edin.
# dnf –version
2. Aktif DNF depolarını listeleyin
DNF komutu ile birlikte “repolist” komutunu verirseniz sisteminizin altındaki tüm aktif depolar listelenecektir.
# dnf repolist
3. Tüm aktif ve devre dışı olan DNF depolarını listeleyin
DNF komutu ile birlikte “repolist all” komutunu verirseniz sisteminizin altındaki tüm aktif ve devre dışı olan depolar listelenecektir.
# dnf repolist all
4. DNF kullanarak tüm mevcut yüklü paketleri listeleyin
DNF komutu ile birlikte “list” komutunu verirseniz Linux sisteminizde mevcut ve yüklü olan tüm paketler listelenecektir.
# dnf list
5. DNF kullanarak tüm yüklü paketleri listeleyin
Yukarıdaki komutu “dnf list” ile tüm depolardaki mevcut/kurulu paketleri göstermektedir. Ancak aşağıdaki komutu verirseniz sadece kurulu olan paketler listelenecektir.
# dnf list installed
6. DNF kullanarak tüm mevcut paketleri listeleyin
Yukarıdaki komutlara benzer şekilde “list available” seçeneği tüm aktif depolardan yüklenebilecek mevcut paketlerin tamamını listeler.
# dnf list available
7. DNF kullanarak bir paketi arama
Örneğin yüklemek istediğiniz bir paket hakkında bir fikriniz yoksa böyle bir durumda kurmak istediğiniz paketin kelimesini DNF komutuyla birlikte “search” seçeneğini kullanarak paket hakkında bilgi alabilirsiniz. Örneğin “nano” paketi hakkında bilgi almak için:
# dnf search nano
8. Bir dosya ve alt paketlerini görmek
DNF ile “provides” seçeneği belirli dosya ve alt paketlerinin adını bulmayı sağlar. Örneğin, sisteminizdeki “/bin/bash” seçeneğini sağlayan alanı bulmak için aşağıdaki komutu verin.
# dnf provides /bin/bash
9. DNF kullanarak paket detaylarını bulma
Sisteminize bir paketi kurmadan önce DNF kullarak paket hakkında bilgi almak için “info” seçeneğini kullanabilirsiniz. Örneğin “nano” paketi hakkında bilgi almak için aşağıdaki seçeneği kullanın.
# dnf info nano
10. DNF ile paket yükleyin
Örneğin “nano” paketini yüklemek için aşağıdaki komutu vrmeniz yeterlidir. Bu durumda “nano” paketi için gerekli tüm bağımlılıklar otomatik olarak kurulacaktır.
# dnf install nano
11. DNF kullanarak bir paketi güncelleme
Sadece bir paketi güncelleyebilirsiniz. Örneğin “systemd” paketini güncellemek için aşağıdaki komutu vermeniz yeterlidir.
# dnf update systemd
12. DNF kullanarak sistem güncellemelerini kontrol etme
Sistemde yüklü tüm paketlerin güncelleştirmelerinin olup olmadığını kontrol etmek için aşağıdaki komutu verebilirsiniz.
# dnf check-update
13. DNF kullanarak tüm sistem paketlerini güncelleyin
Aşağıdaki komutları kullanarak sistemdeki tüm yüklü paketler dahil her şeyi güncelleyebilirsiniz.
# dnf update
veya
# dnf upgrade
14. DNF kullanarak bir paketi silme/kaldırma
DNF komutu ile birlikte bir paketi silmek/kaldırmak için “remove” seçeneğini kullanabilirsiniz. Örneğin “nano” paketini kaldırmak için aşağıdaki komutu verebilirsiniz.
# dnf remove nano
veya
# dnf erase nano
15. DNF kullanarak artık paketleri kaldırma
Bir paketi kurduğunuzda bazı bağımlılıklarda kurulacaktır. Daha sonradan kurduğunuz bu paketi kaldırdığınızda kurulan bağımlılık paketleri sisteminizde kalacaktır. Kullanılmayan bu paketler sisteminizde yer kaplayacaktır. Kullanılmadığına emin olduğunuz bu artık paketleri kaldırmak için aşağıdaki komutu kullanabilirsiniz.
# dnf autoremove
16. DNF kullanarak ön belleğe alınmış paketleri kaldırma
DNF ile bir paket yüklenirken bitmemiş şlemlerden dolayı birçok hata ile karşılaşabiliyoruz. Bu durumda paketler ön belleğe alınabiliyor. Ön belleğe alınan bu paket bilgilerini temizlemek için aşağıdaki komutu kullanabilirsiniz.
# dnf clean all
17. Belirli bir DNF komutu ile ilgili bilgi alma
Belirli bir DNF komutu ile ilgili bilgi alabilirsiniz. Örneğin “clean” komutu ile ilgili bilgi almak için aşağıdaki komutu kullanabilirsiniz.
# dnf help clean
18. Tüm DNF komutlarını ve seçeneklerini listeleyin
Mevcut tüm DNF komutlarını listelemek için “help” seçeneğini kullanabilirsiniz.
# dnf help
19. DNF tarihini görüntüleme
DNF komutu ile hangi komutları verdiğinizi listeleyebilirsiniz. Bu durumda ne zaman ne yaptığınızın bilgilerine ulaşabilirsiniz.
# dnf history
20. Tüm grup paketlerini listeleme
Gruplar halindeki paketleri listeleyebilirsiniz. Tüm mevcut ve kurulu paketleri ve bilinen tüm grupları listelemek için aşağıdaki komutu verebilirsiniz.
# dnf gruplist
21. DNF kullanarak grup paketlerini kurun
Grup paketleri birlikte paketlenmiş paketlerdir. Bu grup paketlerini yüklemek için DNF komutu ile birlikte grup adı ve “groupinstall” seçenekleri kullanılır. Örneğin “Educational Software” paketini kurmak için aşağıdaki paketi kurabilirsiniz.
# dnf grupinstall ‘Educational Software’
22. Grup paketlerini güncelleyin
Eğer bir grup paketini güncellemeniz gerekirse aşağıdaki komutu verebilirsiniz.
# dnf grupupdate ‘Educational Software’
23. Grup paketlerini kaldırma
Bir grup paketini kaldırmak için aşağıdaki komutu verebilirsiniz.
# dbf grupremove ‘Educational Software’
24. Belirli bir depodan paket yükleme
DNF kullanarak basitçe bir depodan (örneğin epel) spesifik bir paket (örneğin phpmyadmin) yüklemek için aşağıdaki komutu verebilirsiniz.
# dnf –enablerepo=epel install phpmyadmin
25. Yüklü kararlı sürüm paketlerini eşitleme
Herhangi bir etkin depoda bulunan en son kararlı sürümü “dnf distro-sync” komutu ile yüklü paketleri eşitleyebilirsiniz. Hiçbir paket seçilmezse tüm yüklü paketler eşitlenecektir.
# dnf distro-sync
26. Bir paketi yeniden denetleyin
DNF komutu ile “reinstall” seçeneğini kullanarak yüklü bir paketi yeniden kurabilirsiniz. Örneğin “nano” paketini yeniden kurmak için aşağıdaki komutu verebilirsiniz.
# dnf reinstall nano
Kaynak: http://www.tecmint.com/dnf-commands-for-fedora-rpm-package-management/