DNF; Linux/RPM tabanlı dağıtımlarda kullandığımız YUM paket yöneticisine alternatif olarak geliştirilen bir paket yöneticisidir. Yakın zamanda da Fedora’nın default paket yöneticisi YUM’ın yerini alacağı söyleniyor. Fedora 18 sürümünden beri yaklaşık 2 yıldır geliştirme aşamasında olan DNF paket yöneticisi Fedora geliştirme ekibine göre Fedora 22 sürümünde ön tanımlı paket yöneticisi haline gelebilir. Fakat DNF’i henüz APT-GET, YUM gibi popüler paket yöneticileri arasında göstermek için henüz erken.

DNF paket yöneticisi RPM, libsolv ve hawkey kütüphaneleri kullanarak paket yönetimi yapar. Meta kullanımı ve paket yüklemeleri içinde librepo kullanır.

Neden DNF
-YUM’ın bağımlılık problemleri C hawkey, SUSE kütüphaneleri ile DNF’te giderilmiş.
-YUM reposunun belgelenmiş bir API’si yok.
-YUM’a yeni özellikler eklemek zordur.
-YUM’ın Python dışındaki uzantılar için desteği yoktur.

NOT: Burada amaç YUM’ın kötü ve kullanışsız bir paket yöneticisi olduğunu göstermek değil sadece eksiklerini dile getirmektir.

1-DNF Kurulumu

Fedora_verticalFedora işletim sisteminin 18. sürümünden bu yana yayınlanan tüm sürümlerinde DNF ve tüm bağımlılıları mevcuttur. Sizde DNF ‘i denemek isterseniz Fedora sisteminizde yum paket yöneticisi ile kurabilirsiniz. Fedora 18 ve sonrasında çıkan Fedora sürümlerinde DNF default olarak yüklü gelmektedir. Bu yazıda Fedora 20 sürümü kullanılmış ve Fedora 20 sürümünde DNF default yüklü gelmektedir. Yinede DNF paket yöneticisi olmayan bir sisteme kurulum için;

[[email protected] ~]# yum install dnf


2-DNF Kullanımı

dnf  [options] <command>

dnf yazıp daha sonra “opsiyon” ve ardından “dnf komutu” belirterek kullanabilirsiniz. Kullanabileceğiniz temel opsiyon ve komutlar bir sonraki başlıklarda belirtilmiştir. DNF kullanımı YUM kullanıma çok benzemektedir. Örneğin;

Paket kurulumu için;

[[email protected] ~]# yum install <paket-adı>

Paket kaldırmak için;

[[email protected] ~]# dnf remove <paket-adı>

Sistemi update etmek için;

[[email protected] ~]# dnf update

Sistemi upgrade etmek için;

[[email protected] ~]# dnf upgrade

 

DNF Komutları Listesi – Commands

Temel DNF komutları listesi;

dnf [options] <command>

check-update   Mevcut paket updatelerini kontrol eder.
clean          Ön belleği temizler.
downgrade      Paket downgrade yapar.
erase          Paket veya paketleri kaldırır.
help           DNF için yardım.
info           Paket veya paket grupları hakkında bilgi verir.
install        Paket kurar.
list           Paket veya paket gruplarını listeler.
reinstall      Bir paketi yeniden kurar.
repolist       Display the configured software repositories
search         Paket arar ve bilgi verir.
upgrade        Paket veya sistem upgrade eder.
upgrade-to     Belirttiğiniz sürüme upgrade eder.

 

DNF Seçenekler Listesi – Options 

Temel DNF seçenekleri listesi;

dnf [options] <command>

YUM’da olduğu gibi belirli bir işlemi gerçekleştirebilmek için seçenekleri kullanabilirsiniz.

--best: En uygun paket sürümlerini dener.
-h, --help: Yardım.
--nogpgcheck: GPG imza kontrolünü atlar.
-q, --quiet: işlemi arka planda(sessiz) yürütür.
-v, --verbose: Debug ederek işlemi sürdürür.
--version: DNF versiyonunu gösterir.
-y, --assumeyes: Sorulan sorulaarın tümüne evet yanıtını otomatik olarak verir.

 

3-DNF Konfigürasyonu

Varsayılan olarak DNF konfigürasyonu /etc/dnf/dnf.conf  dosyasında tutulur. Default “dnf.conf” dosya içeriği;

[[email protected] ~]# cat /etc/dnf/dnf.conf
[main]
keepcache=0
gpgcheck=1
plugins=0
installonly_limit=3
clean_requirements_on_remove=true

Konfigürasyon dosyasında “main” ve “repository” olarak iki tür yapılandırma vardır.

Main: Tüm global konfigürasyon seçeneklerini belirtir. Tek bir ana bölüm (main) olmalıdır.

Repository: Her repo için (yerel veya uzak) ayrı ayrı tanımlanması gerekmektedir.

 

4-DNF Logları

DNF logları /var/log/dnf.log dosyasında tutulur. Aşağıda örnek DNF log kesiti gösterilmiştir.

[[email protected] ~]# tailf /var/log/dnf.log
 Oct 10 05:36:32 SUBDEBUG Base command: repolist
 Oct 10 05:36:32 SUBDEBUG Extra commands: []
 Oct 10 05:36:32 DEBUG repo: using cache for: fedora
 Oct 10 05:36:32 DEBUG not found deltainfo for: Fedora 20 - x86_64
 Oct 10 05:36:32 DEBUG repo: using cache for: updates
 Oct 10 05:36:32 DEBUG hawkey sack setup time: 0.187
 Oct 10 05:36:32 INFO repo id repo name status
 Oct 10 05:36:32 INFO *fedora Fedora 20 - x86_64 38,597
 Oct 10 05:36:32 INFO *updates Fedora 20 - x86_64 - Updates 19,577
 Oct 10 05:36:32 INFO repolist: 58,174

 

DNF hakkında daha fazla bilgi edinmek için;

[[email protected] ~]# man dnf
[[email protected] ~]# dnf help

veya

[Kaynaklar]
http://fedoraproject.org/wiki/Features/DNF
http://www.unixmen.com/yum-will-replaced-dnf-fedora-22-later-versions/
http://www.tecmint.com/dnf-next-generation-package-management-utility-for-linux/

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Post Navigation