Linux'ta RPM Paket Yönetimi için 27 'DNF' (Fork of Yum) Komutları


DNF diğer adıyla Dandified YUM, RPM tabanlı Dağıtım için yeni nesil Paket Yöneticisidir. İlk olarak Fedora 18'de tanıtıldı ve Fedora 22'nin son sürümünde YUM yardımcı programının yerini aldı.

DNF, YUM, yani Performans, Bellek Kullanımları, Bağımlılık Çözümü, Hız ve diğer birçok faktördeki darboğazları iyileştirmeyi amaçlamaktadır. DNF, Paket Yönetimini RPM, libsolv ve hawkey kütüphanesini kullanarak yapar. CentOS ve RHEL 7'de ayrı ayrı kurulu olarak gelmese de yum, dnf yapabilir ve yum'un yanında kullanabilirsiniz.

Burada DNF hakkında daha fazla bilgi edinmek isteyebilirsiniz:

  1. Yum'u DNF ile Değiştirmenin Arkasındaki Nedenler

DNF'in en son kararlı sürümü, 11 Mayıs 2015'te yayımlanan 1.0'dır (yazının yazıldığı sırada). Bu (ve DNF'nin önceki tüm sürümleri) çoğunlukla Python'da yazılmıştır ve GPL v2 Lisansı altında yayınlanmıştır.

DNF'nin kurulumu

DNF, RHEL/CentOS 7'nin varsayılan deposunda mevcut değildir. Ancak Fedora 22, resmi olarak uygulanan DNF ile birlikte gelir.

RHEL/CentOS sistemlerine DNF'yi yüklemek için öncelikle epel-release deposunu kurup etkinleştirmeniz gerekir.

yum install epel-release
OR
yum install epel-release -y

Sisteminizde nelerin kurulu olduğunu görmeniz önerildiğinden yum ile birlikte '-y' kullanılması etik değildir. Ancak bu sizin için çok önemli değilse, kullanıcının müdahalesi olmadan her şeyi otomatik olarak yüklemek için yum ile '-y'yi kullanabilirsiniz.

Daha sonra epel-release deposundaki yum komutunu kullanarak DNF paketini yükleyin.

yum install dnf

Dnf başarıyla yüklendikten sonra, RPM tabanlı dağıtımda paketleri yönetmenize yardımcı olacak örneklerle dnf komutlarının 27 pratik kullanımını size göstermenin zamanı geldi. kolay ve etkili bir şekilde.

1. DNF Sürümünü Kontrol Edin

Sisteminizde yüklü olan DNF sürümünü kontrol edin.

dnf --version

2. Etkinleştirilmiş DNF Depolarını Listeleyin

Dnf komutuyla 'repolist' seçeneği, sisteminiz altındaki tüm etkin depoları görüntüleyecektir.

dnf repolist

3. Tüm Etkin ve Devre Dışı DNF Depolarını listeleyin

'Tümünü yeniden listele' seçeneği, sisteminizdeki tüm etkin/devre dışı depoları yazdıracaktır.

dnf repolist all

4. DNF kullanarak tüm Mevcut ve Kurulu Paketleri listeleyin

dnf list” komutu, Linux sisteminizdeki tüm depolardaki ve kurulu paketlerdeki mevcut tüm paketleri listeleyecektir.

dnf list

5. DNF kullanarak tüm Kurulu Paketleri listeleyin

dnf list” komutu tüm depolardaki mevcut/kurulu tüm paketleri gösterir. Ancak aşağıda gösterildiği gibi “kurulu olanları listele” seçeneğini kullanarak yalnızca kurulu paketleri listeleme seçeneğiniz vardır.

dnf list installed

6. DNF'yi kullanarak Mevcut tüm Paketleri listeleyin

Benzer şekilde, "Mevcut listele" seçeneği, etkinleştirilmiş tüm depolardan kurulabilecek tüm paketleri listeleyecektir.

dnf list available

7. DNF kullanarak Paket arayın

Kurmak istediğiniz paket hakkında hiçbir fikriniz yoksa, bu durumda kelime veya dizeyle eşleşen paketi aramak için dnf komutuyla 'arama' seçeneğini kullanabilirsiniz (nano diyelim) ).

dnf search nano

8. Bir dosya/alt paket sağlayan şeyin ne olduğunu görün?

"Sağlar" dnf seçeneği, belirli bir dosyayı/alt paketi sağlayan paketin adını bulur. Örneğin, sisteminizde '/bin/bash' sağlayan şeyin ne olduğunu bulmak isterseniz?

dnf provides /bin/bash

9. DNF kullanarak Paketin Ayrıntılarını Alın

Bir paketi sisteme kurmadan önce onun bilgilerini öğrenmek istediğinizi varsayalım, aşağıdaki gibi “info” anahtarını kullanarak bir paket (nano diyelim) hakkında detaylı bilgi alabilirsiniz.

dnf info nano

10. DNF'li Paket Kurun

nano adlı bir paket yüklemek için aşağıdaki komutu çalıştırmanız yeterlidir; bu paket, nano paketi için gerekli tüm bağımlılıkları otomatik olarak çözecek ve yükleyecektir.

dnf install nano

11. DNF Kullanarak Paket Güncelleme

Yalnızca belirli bir paketi güncelleyebilir (systemd diyelim) ve sistemdeki her şeye dokunmadan bırakabilirsiniz.

dnf update systemd

12. DNF kullanarak Sistem Güncellemelerini Kontrol Edin

Sisteme kurulu tüm sistem paketlerinin güncellemelerini aşağıdaki gibi kontrol edin.

dnf check-update

13. Tüm Sistem Paketlerini DNF kullanarak güncelleyin

Aşağıdaki komutlarla kurulu tüm paketler dahil tüm sistemi güncelleyebilirsiniz.

dnf update
OR
dnf upgrade

14. DNF kullanarak Paketi Kaldırma/Silme

İstenmeyen herhangi bir paketi kaldırmak veya silmek için (nano diyelim), onu kaldırmak için dnf komutuyla birlikte “kaldır” veya “sil” anahtarını kullanabilirsiniz. .

dnf remove nano
OR
dnf erase nano

15. DNF kullanarak Yetim Paketlerini kaldırın

Bağımlılığı karşılamak için kurulan paketler, başka uygulamalar tarafından kullanılmıyorsa işe yaramayabilir. Bu yetim paketleri kaldırmak için aşağıdaki komutu çalıştırın.

dnf autoremove

16. DNF kullanarak Önbelleğe Alınmış Paketleri Kaldırma

Çoğu zaman, dnf'yi çalıştırırken hatayla sonuçlanan güncel olmayan başlıklar ve tamamlanmamış işlemlerle karşılaşırız. Uzak paket bilgilerini içeren tüm önbelleğe alınmış paketleri ve başlıkları yalnızca çalıştırarak temizleyebiliriz.

dnf clean all

17. Belirli DNF Komutu Hakkında Yardım Alın

Aşağıdaki komutu çalıştırarak herhangi bir özel dnf komutuyla ilgili yardım alabilirsiniz (temiz deyin).

dnf help clean

18. Tüm DNF Komutlarını ve Seçeneklerini Listeleyin

Mevcut tüm dnf komutları ve seçeneklerine ilişkin yardımı listelemek için yazmanız yeterlidir.

dnf help

19. DNF Geçmişini Görüntüleyin

Halihazırda yürütülen dnf komutlarının listesine bakmak için dnf geçmişini arayabilirsiniz. Bu şekilde nelerin yüklendiğini/kaldırıldığını zaman damgasıyla öğrenebilirsiniz.

dnf history

20. Tüm Grup Paketlerini Listeleyin

dnf grouplist” komutu mevcut veya kurulu tüm paketleri yazdıracak, hiçbir şey belirtilmemişse bilinen tüm grupları listeleyecektir.

dnf grouplist

21. DNF kullanarak Grup Paketi Kurun

Grup paketi (örneğin Eğitim Yazılımı) olarak bir araya getirilmiş bir grup paketi yüklemek için aşağıdaki gibi basit bir işlem yapın:

dnf groupinstall 'Educational Software'

22. Grup Paketini Güncelleyin

Aşağıdaki komutu çalıştırarak bir Grup Paketini (Eğitim Yazılımı diyelim) güncelleyelim.

dnf groupupdate 'Educational Software'

23. Grup Paketini Kaldırma

Grup Paketini (Eğitim Yazılımı diyelim) olarak kaldırabiliriz.

dnf groupremove 'Educational Software'

24. Belirli Bir Depodan Paket Kurun

DNF, herhangi bir özel paketin (phpmyadmin diyelim) bir depodan (epel) kurulmasını aşağıdaki gibi basit bir şekilde mümkün kılar:

dnf --enablerepo=epel install phpmyadmin

25. Kurulu Paketleri Kararlı Sürümle Senkronize Edin

"dnf distro-sync" komutu, kurulu tüm paketleri herhangi bir etkin depoda bulunan en son kararlı sürümle senkronize etmek için gerekli seçenekleri sağlayacaktır. Hiçbir paket seçilmezse kurulu tüm paketler senkronize edilir.

dnf distro-sync

26. Paketi Yeniden Yükleyin

"dnf yeniden nano" komutu önceden yüklenmiş bir paketi yeniden yükleyecektir (nano diyelim).

dnf reinstall nano

27. Paketin Sürüm Düşürülmesi

"Düşürme" seçeneği, mümkünse adı geçen paketin (acpid diyelim) sürümünü daha düşük bir sürüme düşürür.

dnf downgrade acpid
Örnek Çıktı
Using metadata from Wed May 20 12:44:59 2015
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.

Gözlemim: DNF, paketin sürümünü olması gerektiği gibi düşürmüyor. Ayrıca hata olarak da bildirildi.

Çözüm

DNF, son teknoloji ürünü Paket Yöneticisi YUM'un en üst seviyesidir. Pek çok işlemi otomatik olarak yapma eğilimindedir ve bu, inanıyorum ki, birçok deneyimli Linux Sistem Yöneticisi tarafından övülmeyecektir. Örnek olarak:

  1. --skip-broken DNF tarafından tanınmıyor ve alternatifi yok.
  2. 'resolvedep' komutu gibi bir şey yoktur ancak dnf'nin sağladığı komutları çalıştırabilirsiniz.
  3. Paket bağımlılığını bulmak için 'deplist' komutu yoktur.
  4. Bir repoyu hariç tutarsınız, bu, yalnızca kurulum ve güncellemeler vb. sırasında bu depoları hariç tutan yum'un aksine, hariç tutmanın tüm işlemlere uygulanacağı anlamına gelir.

Pek çok Linux kullanıcısı Linux Ekosisteminin gidişatından memnun değil. İlk olarak Systemd, init system v'yi kaldırdı ve şimdi DNF, Fedora 22'de ve daha sonra RHEL ve CentOS'ta YUM'un yerini alacak.

Ne düşünüyorsun? dağıtımlardır ve tüm Linux ekosistemi kullanıcılarına değer vermiyor ve onların istekleri dışında hareket ediyor. Ayrıca BT sektöründe sıklıkla şu ifade kullanılır: "Kırık değilse neden düzeltilsin?" ve ne init System V bozuk ne de YUM.

Şimdilik bu kadar. Lütfen değerli düşüncelerinizi aşağıdaki yorumlarda bana bildirin. Bizi beğenip paylaşın ve yayılmamıza yardımcı olun.