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:
- 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:
--skip-broken
DNF tarafından tanınmıyor ve alternatifi yok.- 'resolvedep' komutu gibi bir şey yoktur ancak dnf'nin sağladığı komutları çalıştırabilirsiniz.
- Paket bağımlılığını bulmak için 'deplist' komutu yoktur.
- 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.