GNU/Linux dağıtımları bilindiği üzere kendi aralarında da bir kaç kategoriye ayrılmıştır. Bu kategorilere göre de gerek dosya yolları, gerek paket yöneticileri gerek başka özellikleri farklılık gösterebilmektedir.
Örneğin Debian tabanlı sistemler apt paket yöneticisini kullanırken, RHEL tabanlı sistemler yum paket yöneticisini kullanmaktadır. Bunlar en bilinenler olduğundan örnek olarak verilse de diğer dağıtımlarda da çeşitli paket yöneticileri kullanılmaktadır.
Pardus da Debian tabanlı bir dağıtım olduğundan, bu yazımızda dpkg ve apt paket yöneticilerini inceleyeceğiz.
Debian Package Manager'ın kısaltması olan dpkg, debian tabanlı sistemlerde kullanılan bir paket yöneticisidir.
Kullanıcı dostu bir paket yöneticisi olmadığından yerini daha kullanıcı dostu olan apt'ye bırakmıştır. dpkg'yi apt'den ayıran en önemli özellik bağımlılıklar bu paket yöneticisi ile yüklenmemektedir.
Sistemde kurulu paketler için,
bir kapeti kurmak için
bir paketin sistemde yüklü olup olmadığı
komutları ile kontrol edilebilir.
apt paket yöneticisi giriş yazısında da belirtildiği üzere, debian tabanlı sistemlerde paket yükleme, silme, paket ve paket listelerini güncelleme için kullanılmaktadır. apt sistem paketleri üzerinde değişiklik yaptığından ve bu değişiklikler sistem üzerinde hasara yol açabileceğinden çalıştırırken yetkili kullanıcı olarak ya da sudo yetkisi ile çalıştırılmalıdır.
update, sistem üzerindeki paket listelerini güncellemekte kullanılır. Böylece uzak depo sunucusundaki uygulama listesi, yerel bilgisayar üzerine çekilir. Çoğu zaman sistemin ilk açılışında paket listelerinin güncellenmesi, sunucunun internete çıkabildiğinin testi ya da paket listelerine yeni bir tanesi eklendiğinde kullanılır.
Bunun için /var/lib/apt/lists/
dizini altındaki InRelease dosyaları kontrol edilebilir.
Eğer bir paketi yüklemek istiyor ve o paketin depolarda olup olmadığını, varsa hangi versiyonunun olduğunu ya da hangi depoda olduğunu öğrenmek için kullanılabilir.
install, sisteme yeni paket yüklemek için kullanılır. Eğer yüklenecek paket, paket listelerindeki bir depoda bulunuyorsa paket rahatlıkla indirilecektir. Ancak bulunmuyorsa önce paket listelerine bu deponun eklenmesi gerekmektedir.
Aynı zamanda hali hazırda .deb uzantılı bir paketi sisteme yüklemede de kullanılabilir.
remove, sistemde yüklü olan bir paketi silmek için kullanılır.
Bu komut paket kaldırılırken bağımlılıkları ve config dosyalarını kaldırmaz. Paketin yapılandırma dosyaları ile birlikte kaldırılması isteniyorsa aşağıdaki komut kullanılır
upgrade, paket yükseltmelerinde kullanılır. Örneğin sambahvl paketi sistem üzerinde 14.0 versiyonunda iken depolarda 14.5 versiyonu bulunuyorsa upgrade ile paket güncelleştirilebilir.
İstenirse tüm sistemdeki paketler de tek seferde güncellenebilir.
apt install ile sisteme bir paket kurulduğunda, paketin yanında bağımlılıkları da sisteme yüklenmektedir. Paket kaldırılmak istendiğinde eğer tek başına paket kaldırılırsa yüklenen bağımlılıklar sistemde kalmaya devam edecektir.
autoremove, kaldırılan paketin bağımlılıklarını eğer sistemde başka bir paket kullanmıyorsa paketle beraber kaldırır.
Bu paket yöneticisinin en büyük özelliği dağıtım tabanlı olmamasıdır. Bağımlılıkları da içermesinden dolayı rpm tabanlı Centos işletim sisteminde de Debian tabanlı Pardus işletim sisteminde de aynı şekilde kullanılabilir.
Sistemde artık gerekli olmayan paketler hangi apt komutu ile temizlenir?