Linux ve BSD türevlerinde yer alan paket yönetim sistemleri, yazılımların düzenli olarak yüklenmesine, güncellenmesine ve eksiksiz kaldırılmasına imkân tanıyan temel mekanizmalardır. Her dağıtım, kendine özgü bir paket formatı kullanır ve bu paketler yazılımın içeriğini, meta verilerini ve kurulum sırasında çalışacak işlemleri barındırır.
Depodaki Paket Listesini Güncelleme
Paket yöneticileri komutları mevcut paket listesine göre uygular. Bu sebeple depodaki en yeni sürümlerin alınması ilk aşamayı oluşturur. Depo bilgilerinin güncellenmemesi durumunda sistem eski sürümlere göre işlem yapabilir ve bazı paketler eksik görünebilir.
Bu komutlar sadece mevcut listeyi tazeler ve sistemdeki yazılımlara dokunmadan çalışır.
apt update
dnf check-update
yum check-update
pkg update
apk update
pacman -Sy
zypper refresh
emerge --sync🛈 İpucu
pacman -Sy yalnızca paket listesini yenileyen bir komuttur ve sistemin tamamını güncellemez. Arch Linux’ta tam güncelleme yapılmadığında uyumsuzluklar meydana gelebilir ve bazı paketler zarar görebilir. Öte yandan Gentoo’da emerge –sync işlemi Portage veritabanını sıfırdan günceller ve paketlerin derleme yapılandırmaları güncel hâle gelir.
Paket Güncelleme İşlemleri
Zaman içinde çekirdek ve ona bağlı bileşenlerin yeni sürümleri yayınlanır. Paket yöneticileri bu güncellemeleri algılar ve sistemi otomatik şekilde yeniler.
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.
Paketleri Arama İşlemi
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.
Depodaki Paketleri Kurma
Depo üzerinden kurulum yapmak, bağımlılıkların otomatik olarak çözülmesi nedeniyle en sağlam yöntemdir. Dağıtımlar bu süreci farklı mekanizmalarla yürütse de işleyiş aynı temele dayanır. Paketle beraber gereken tüm bileşenler otomatik biçimde kurulmuş olur. Depo imza doğrulaması açıksa paketlerin bütünlük kontrolü de sağlanı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.
Dosyadan Doğrudan Paket Kurulumu
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.