Linux Paketleri Nasıl Yönetilir? APT, DNF, YUM, PKG
Linux ve BSD türevlerinde yer alan paket yönetim araçları, yazılımların sistemli şekilde yüklenmesini, güncellenmesini ve tüm bileşenleriyle kaldırılmasını sağlayan ana mekanizmalardır. Her dağıtımın kendine özgü bir paket biçimi bulunur ve bu biçimler, yazılımla ilgili verileri, meta bilgileri ve kuruluma dair adımları içerir.
Depodaki Güncel Verileri Çekme İşlemi
Paket yöneticileri mevcut paket listesine göre işlem yürütür. Bu yüzden depolardan en güncel sürümlerin çekilmesi gereklidir. Depo verileri güncellenmezse sistem eski sürümlere göre işlem yapabilir ve bazı paketleri görüntüleyemeyebilir.
Bu komutlar sadece listeyi günceller ve sistemde bulunan yazılımlara müdahale etmez.
apt update
dnf check-update
yum check-update
pkg update
apk update
pacman -Sy
zypper refresh
emerge --sync🛈 İpucu
pacman -Sy komutu sadece paket listesini günceller, ancak tam sistem güncellemesi gerçekleştirmez. Arch Linux’ta tam güncellemelerin atlanması, uyumsuzluklara ve paketlerin bozulmasına yol açabilir. Buna ek olarak Gentoo’da emerge –sync, Portage veritabanını baştan senkronize eder ve paketlerin derleme kurallarını güncel tutar.
Sistemde Paketleri Güncel Tutma
Zaman geçtikçe çekirdek ve bağlı bileşenlerin yeni versiyonları kullanıma sunulur. Paket yöneticileri bu değişiklikleri algılar ve sistemi otomatik olarak güncel sürümlere taşır.
apt upgrade
dnf upgrade
yum update
pkg upgrade
apk upgrade
pacman -Syu
zypper update
emerge --update @world🛈 İpucu
Arch Linux’ta -Syu tam bir sistem güncellemesidir ve yarım bırakılmış ya da eksik güncellemeye izin verilmez.
Gentoo’da @world işlemi tüm paketleri ve onlara bağlı bileşenleri sırayla yeniler, işlem uzun sürse de sistemin düzeni ve bütünlüğü korunur.
Depodaki Paketleri Sorgulama
Depodaki paketlerin bulunması için arama komutları kullanılır. Bu komutlar paket adı, açıklama veya kategori bazlı sonuç döndürebilir
apt search <adı>
dnf search <adı>
yum search <adı>
pkg search <adı>
apk search <adı>
pacman -Ss <adı>
zypper search <adı>🛈 İpucu
FreeBSD’de pkg search -D kelime komutu, paket açıklamalarında arama yaparak daha kapsamlı sonuç verir.
Pacman’da -Ss kullanıldığında alt dizinler de taranır ve benzer isimli paketleri bulmak daha kolay olur.
Kaynak tabanlı sistemlerde paket açıklamaları genellikle daha ayrıntılıdır.
Paketleri Depodan Yükleme
Depodan yükleme işlemi, bağımlılıkların kendiliğinden çözülmesi sayesinde en güvenilir kurulum yoludur. Dağıtımlar bu adımı farklı yöntemlerle yönetir fakat temel mantık değişmez. Paketle birlikte ihtiyaç duyulan tüm parçalar sistem tarafından otomatik olarak eklenir. Depo imza doğrulaması aktifse paketlerin bütünlüğü de doğrulanır.
Debian / Ubuntu
sudo apt install paket_adiRocky / Fedora / RHEL
sudo dnf install paket_adiCentOS 7
sudo yum install paket_adiFreeBSD
sudo pkg install paket_adiArch Linux
sudo pacman -S paket_adiAlpine Linux
sudo apk add paket_adiopenSUSE
sudo zypper install paket_adiGentoo
sudo emerge paket_adi🛈 İpucu
DNF ve Zypper, paketler arasında sorun çıktığında bunu düzgün şekilde çözer. Pacman, kurulum sırasında her dosyayı SHA-256 ile kontrol eder.
Gentoo’da emerge paketleri kaynak koddan derlediği için işlem süresi paketin büyüklüğüne göre değişir.
Yerel Paketleri Sisteme Kurma
Depo dışından indirilen paketler bu komutlarla kurulabilir. Bu yöntem, resmi depolarda bulunmayan özel sürümler ya da üreticinin sağladığı paketler için tercih edilir. Eğer gereken bağımlılıklar eksikse kurulum tamamlanmayabilir.
dpkg -i paket.deb
dnf install paket.rpm
yum install paket.rpm
pkg add paket.txz
apk add paket.apk
pacman -U paket.pkg.tar.zst🛈 İpucu
APT tabanlı sistemlerde dpkg -i ile kurulum yapıldıktan sonra eksik bağımlılıkları tamamlamak için sudo apt -f install komutu çalıştırılır.
Pacman’da -U parametresi yalnızca yereldeki paket dosyasını kurar ve depo bağlantısına ihtiyaç duymaz.
Paket Kaldırma İşlemleri
Sistemdeki kurulu yazılımları kaldırmak için kullanılır. Paket yöneticileri, paketin sisteme hangi dosyaları eklediğini bildiği için silme işlemi güvenli şekilde yapılır. Bazı dağıtımlarda yapılandırma dosyaları istenirse bırakılabilir.
apt remove paket
dnf erase paket
yum remove paket
pkg delete paket
apk del paket
pacman -R paket
zypper remove paket
emerge --unmerge paket🛈 İpucu
APT’de apt purge paket komutu çalıştırılırsa yapılandırma dosyaları da temizlenir. Pacman’da -Rs kullanıldığında paketin bağımlılıkları da birlikte kaldırılır. Zypper ise gereksiz hâle gelen bağımlılıkları kendiliğinden tespit edebilir.
Sonuç olarak Linux ve BSD dağıtımlarında kullanılan farklı paket yöneticileri temelde aynı amacı taşır. Yazılımların güvenli biçimde kurulması, güncellenmesi ve kaldırılması bu araçlarla düzenli bir şekilde yapılır. APT, DNF, Pacman, Zypper, APK ve Portage kendi komut yapılarıyla çalışsa da hepsi bağımlılıkları doğru yöneterek sistemin kararlı kalmasını sağlar. Yöntemler değişse de yazılım yönetiminin genel mantığı her dağıtımda aynıdır.
Sık Sorulan Sorular
Paket yöneticisiyle indirilen dosyaları arşivleyip saklamak mümkün mü?
Yüklenen paketleri ya da sistem yapılandırmalarını arşivlemek isteyenler tar komutunu kullanabilir. Bu yöntem özellikle yedekleme ya da taşıma işlemlerinde kullanışlıdır.
Bir paket kaldırıldığında geride kalan artık dosyalar nasıl temizlenir?
APT’de apt purge, Pacman’da pacman -Rns gibi komutlar hem paketi hem yapılandırma dosyalarını kaldırır. Zypper ise kullanılmayan bağımlılıkları otomatik algılayıp temizleme seçeneği sunar. Ayrıca paket önbelleğini temizlemek de sistemin kararlılığı açısından fayda sağlar.
Depo dışı kurulum yaptım, paket çalışmıyor?
Depo dışından indirilen paketlerde bağımlılık eksikliği yaygındır. APT için sudo apt -f install, Pacman için pacman -Syu, Gentoo için emerge --sync sonra ilgili paketi yeniden derlemek sorunu büyük ölçüde çözer. Eksik bağımlılıkla yazılımın sorunsuz çalışması beklenmemelidir.