Bu yazı, Arch Linux’a yeni başlayan kullanıcılar için, Arch Linux ve türevlerinde “pacman” komutlarıyla neler yapılabileceğini, bu komutların yeni paketleri bulmak/kurmak/kaldırmak, sistemi yükseltmek ve temizlemek vb. için nasıl kullanılabileceği konusunda küçük ve basit bir rehber olması amacyla yazılmıştır.
Pacman paket yöneticisi, Arch Linux ile Ubuntu / Debian gibi diğer büyük dağıtımlar arasındaki temel farklardan biridir. Basit bir ikili paket formatını, kullanımı kolay bir derleme sistemi ile birleştirir. Pacman’ın amacı, paketleri resmi depolardan veya kullanıcı depolarından kolayca yönetmektir.
Ubuntu veya Debian tabanlı dağıtımları kullandıysanız, apt-get veya apt komutlarını kullanmış olmalısınız. Pacman, Arch Linux’ta bunlara eşdeğerdir. Yeni bir Arch Linux kullanıcısıysanız, Arch Linux’u yükledikten sonra yapmanız gereken ilk ve en önemli şeylerden birisi, Pacman komutlarını kullanmayı öğrenmek olmalıdır.
Diğer paket yöneticileri gibi Pacman, kullanıcı için gerekli tüm bağımlılıkları çözerek paketleri basit bir komutla indirmesine ve yüklemesine izin vermek için paket listelerini yazılım depolarıyla senkronize edebilir.
1- Pacman‘la Veritabanını Güncelleme:
Herhangi bir paket yöneticisinin düzgün çalışması için, ana sunucularla senkronize olması gerekir. Aynı şey pacman için de geçerlidir.
Pacman paket veritabanını güncelleme ve paketi kurma:
1 |
sudo pacman -Sy paket_adı |
Pacman‘ı, paket veritabanını güncellemeye zorlamak mümkündür. (Bağımlılık sorunları yaratabileceği için kullanımları önerilmez.)
1 |
sudo pacman -Syy |
2- Pacman‘la Paket Kurulumu
Pacman komutunu kullanarak, bağımlılıklarıyla birlikte, aşağıdaki şekilde tek bir paket veya birden çok paket yükleyebilirsiniz:
1 |
sudo pacman -S paket_adı |
Komuttaki -S, senkronizasyon anlamına gelir. Bu da pacman‘ın yüklemeden önce senkronize olduğunu belirtir.
Pacman veritabanı, kurulu paketleri neden kurulu olduklarına göre iki gruba ayırır:
- explicitly-installed: pacman -S veya -U komutu tarafından yüklenen paketler
- dependencies: yüklenmiş başka bir paketin gerektirdiği, dolaylı olarak yüklenen paketler.
3- pacman‘la Yüklü Bir Paketi Kaldırma
Tek bir paketi, tüm bağımlılıkları kurulu halde bırakarak kaldırma:
1 |
sudo pacman -R paket_adı |
Bir paketi, yüklü başka bir paket için gerekli olmayan bağımlılıklarıyla birlikte kaldırma:
1 |
sudo pacman -Rs paket_adı |
4- Pacman‘la Paket Yükseltme
Pacman, Arch Linux’u güncellemenin kolay bir yoludur. Kurulu tüm paketleri tek bir komutla güncelleyebilirsiniz. Bu, sistemin ne kadar güncel olduğuna bağlı olarak biraz zaman alabilir.
Depo veritabanlarını eşitleme ve sistemdeki paketleri güncelleme:
1 |
sudo pacman -Syu |
Bu komutta kullanılan bayraklar:
- S (senkronizasyon)
- y (yenileme)
- u (sistem güncellemesi),
Zorunlu paket veritabanı güncelleştirmesini yükseltme komutuyla birleştirebilirsiniz:
1 |
sudo pacman -Syyu |
Bir sonraki komut pacman‘a, kurulu paketleri ana sunucularda bulunan sürüme yükseltmesini / düşürmesini söyler:
1 |
sudo pacman -Syuu |
Her ikisi de benzer bir eylem gerçekleştirmek için birleştirilebilir:
1 |
sudo pacman -Syyuu |
Uyarı!
Bir Arch Linux kullanıcısıysanız, sıra dışı güncellemelerden önce en son haberleri kontrol etmek için Arch Linux ana sayfasını ziyaret etmeniz önerilir. Manuel müdahale gereken bir durum varsa, buna uygun bir haber gönderisi yapılmış olacaktır. Alternatif olarak RSS beslemesine veya Arch Linux posta listesine( arch-announce mailing list) abone olabilirsiniz.
Çekirdek, xorg, systemd veya glibc gibi temel paketleri yükseltmeden önce, bildirilen sorunlar için uygun forumu gözden geçirmeye dikkat edin.
Arch ve Manjaro gibi yuvarlanan sürüm dağıtımlarında kısmi yükseltmeler desteklenmez.
5- Pacman‘la Paket Arama
Pacman, veritabanındaki paketleri hem paketlerin adlarında hem de açıklamalarında arayabilir:
1 |
sudo pacman -Ss paket_adı |
Kurulu paketleri listeleme:
1 |
sudo pacman -Qs |
Bir paketin bağımlılık ağacını görüntüleme:
1 |
sudo pactree paket_adı |
Kurulu paketler hakkında detaylı bilgi alma:
1 |
sudo pacman -Qi paket_adı |
6- Pacman‘la Paket Kaldırma
Pacman‘la bir paketi kaldırmak için aşağıdaki komutu çalıştırın:
1 |
sudo pacman -R paket_adı |
Not:Bir bağımlılığı kaldırmaya çalışıyorsanız, kaldırma işlemini engeller.
Bir paketi tüm bağımlılıklarıyla birlikte kaldırma:
1 |
sudo pacman -Rs paket_adı |
Pacman‘ı, diğer bağımlılıkları ihlal edip etmediğine bakılmaksızın bir paketi kaldırmaya zorlamak mümkündür. Bu, bir paketi kaldırmanın son derece tehlikeli bir yoludur ve ne yaptığınızdan emin değilseniz önerilmez.
1 |
sudo pacman -Rdd paket_adı |
Şu anda yüklü olmayan, önbelleğe alınmış tüm paketleri ve kullanılmayan senkronizasyon veritabanını kaldırma:
1 |
sudo pacman -Sc |
Tüm dosyaları önbellekten kaldırma:
1 |
sudo pacman -Scc |
Bu en agresif yaklaşımdır ve önbellek klasöründe hiçbir şey bırakmaz.
7- Paket Önbelleğini Temizleme
Pacman, indirilen paketleri /var/cache/pacman/pkg/ dizininde saklar ve eski veya kaldırılmış sürümleri otomatik olarak kaldırmaz. Bunun bazı avantajları vardır:
- Önceki sürümün başka kaynaklardan alınmasına gerek kalmadan bir paketi eski sürüme döndürmeye izin verir.
- Kaldırılmış bir paket doğrudan önbellek klasöründen kolayca yeniden yüklenebilir.Ancak bu durumda, klasörün boyutunun büyümesini önlemek için önbelleği düzenli olarak temizlemek gerekir.
paccache betiği, varsayılan olarak, en son 3 tanesi hariç, yüklü ve kaldırılmış paketlerin önbelleğe alınmış tüm sürümlerini siler:
1 |
sudo paccache -r |
8- Yerel Veya Üçüncü Taraf Paketlerini Yükleme
Yerel bir paketi yükleme:
1 |
sudo pacman -U /paketin/bulunduğu/yol/paket_adı.sürüm.pkg.tar.xz |
Resmi bir depoda bulunmayan ‘uzak’ bir paketi yükleme:
1 |
sudo pacman -U http://www.example.com/depo_adı/paket_adı.pkg.tar.xz |
Pacman‘la İlgili En Genel Hata Ve Giderilmesi
Pacman çalışırken kesintiye uğrarsa, bu kilit dosyası sorunu olarak kendini gösterebilir. Bu durumda kilit dosyasını silmek gerekir.
Bir işlemin kilit dosyasını tutup tutmadığını kontrol edin:
1 |
lsof /var/lib/pacman/db.lck |
Yukarıdaki komut hiçbir şey döndürmezse kilit dosyasını kaldırabilirsiniz:
1 |
sudo rm /var/lib/pacman/db.lck |
Bitirirken…
Lütfen, gördüğünüz hata ve eksiklikleri yorumlarınızda belirtmeyi ihmal etmeyiniz.