9.10.2017

Fedora'da dnf kullanımı

Fedora'da yum'ın yerini alan dnf gayet pratik. Ama özetlemek için birkaç önemli noktayı yazmak istedim, biraz da apt ile kıyaslayarak (// işaretinden sonrası Ubuntu için).

Repository'leri güncellemek
# dnf check-update  // apt update
Kurulu bütün paketleri güncellemek
# dnf update // apt upgrade
Tek bir paketi güncelleme
# dnf update firefox // apt upgrade firefox
Veya daha da öncesinde paket kurmak
# dnf install firefox // apt install firefox
Paketi kaldırmak
# dnf remove firefox // apt remove firefox
Bazen log dosyaları vs ile birlikte programın tüm artıklarından kurtulmak gerekir. Bu işin dnf'te karşılığı yok.
 # --------- // apt purge firefox (veya apt remove --purge firefox)
Kurulu paketi tekrar kurmak
# dnf reinstall firefox  //  apt reinstall firefox
Başka bir programın bağımlılığı olarak kurulmuş ama şu anda ihtiyaç duyulmayan paketleri kaldırmak için
# dnf autoremove // apt autoremove
Güncellenebilir (veya kurulu) olan paketlerin listesini almak için
# dnf list --upgrades (--installed) // apt list --upgradable (--installed)
Bir paket aramak
# dnf search (all) firefox // apt-cache search firefox
Bir paket hakkında ayrıntılı bilgi almak
# dnf info firefox // apt show firefox
Kurulu ve depolardaki sürüm hakkında bilgi almak
# dnf info firefox // apt-cache policy firefox
Geçici (cache) bilgileri temizlemek için
# dnf clean all  // apt clean
Bir dosyayı hangi paket kurdu
# dnf provides <dosya_adi> //  dpkg -S <dosya_adi> (veya apt-file search <dosya_adi>)
Veya bir paket kurulunce sisteme hangi dosyalar eklendi
# rpm -ql firefox (veya paket için rpm -qlp firefox-58.0.2-1.fc27.x86-64.rpm) //  dpkg-query -L firefox (paket için dpkg-deb -c firefox.deb, veya apt-file list firefox)
İnternet bağlantısı olmayan bir sisteme bir paketi kurabilmek için internet bağlantısı olan bir Fedora makinede gerekli indirmeleri yapıp, bunları daha sonra bağlantısı olmayan bilgisayara kurmak için download komutu kullanılabilir.
# dnf download NetworkManager
Açıkça belirtilmezse indirme konumu /var/cache/dnf olur (nasıl açıkça belirtilir, az sonra!) Ama hedef paketin bağımlılıkları varsa bunları tek tek indirmeye çalışmak zaman alıcı olabilir. Bunun için --resolve anahtarın kullanmak gerek.
# dnf download NetworkManager --resolve
Hatta bu indirilen tüm paketleri belli bir klasörde toplamak için --downloaddir anahtarı kullanılabilir.
# dnf download NetworkManager --resolve --downloaddir=/home/user/Downloads/NM
Komut geçmişini incelemek
# dnf history // # less /var/log/apt/history.log [bkz. 2]
En sol satırda yazan ID, belli bir tarihe ait benzersiz bir belirteçtir. Bu tarihte yapılan işlerin ayrıntısını görmek için (örneğin ID'si 49 olan tarih ile ilgili) şu yazılabilir:
# dnf history info 49
Repository listesini amak
# dnf repolist // # grep -Erh '^deb ' /etc/apt/sources.list*
Bunun yanı sıra bir de Fedora'ya özgü paket grupları var. Örneğin geliştiriciler için "Development and Creative Workstation" gibi. Bunların listesini almak için
# dnf grouplist
Bu grup paketlerinden birini kurmak için
# dnf groupinstall "Web Server"
Kaldırmak için ise
# dnf groupremove "Web Server"
kullanılabilir.

Ubuntu ile aralarındaki bir küçük fark da örneğin dnf update sonrasında emin misiniz sorusunun cevabının varsayılan olarak "hayır (H)" olması. Ubuntu'da bu varsayılan olarak evetti.

---
Ekleme 2018-10-15: dnf history kullanırken farkettiğim birşey var. Yeni kurulmuş bir Fedora 28 işistasyonu için dnf history komutunu verince aldığım çıktı şöyle oluyor.


Wikipedia'da [3] ve Fedora Project Community Blog'da [4] görüldüğü gibi Fedora 28'in çıkış tarihi 01.05.2018. Yani history'nin 1 numaralı girişi için gözüken tarih 2018-04-25 aslında Fedora 28'in resmi çıkış tarihinden önce bir tarih. Sistemi kurduktan sonraki ilk açılışta dnf upgrade ile güncellediğim için 2 numaralı satırda gözüken tarih doğru olarak sistemin ilk güncellemesine ait giriş.

[1] https://www.digitalocean.com/community/tutorials/package-management-basics-apt-yum-dnf-pkg
[2] https://askubuntu.com/questions/21657/how-do-i-show-apt-get-package-management-history-via-command-line
[3] https://en.wikipedia.org/wiki/Fedora_version_history
[4] https://communityblog.fedoraproject.org/fedora-28-release-dates-schedule/

Hiç yorum yok: