Paket Yönetimi: Linux'ta Yazılım Kurma ve Güncelleme
Windows'taki .exe dosyası indirmenin Linux karşılığı: paket yöneticileri.
Windows'ta bir program kurmak istediğinde genelde internetten bir .exe dosyası indirip çalıştırırsın. Linux'ta ise bu iş genelde çok daha organize ve güvenli bir sistemle, paket yöneticileri (package managers) aracılığıyla yapılır. Bu makalede bu sistemin mantığını öğreniyoruz.
Paket Yöneticisi Nedir?
Bir paket yöneticisi, yazılımları (ve onların ihtiyaç duyduğu diğer bileşenleri — "bağımlılıkları") merkezi, güvenilir bir depodan (repository) indirip kurmayı, güncellemeyi ve kaldırmayı yöneten bir araçtır. Bunu bir uygulama mağazasına (App Store, Google Play gibi) benzetebilirsin — farkı, Linux'ta bu genelde komut satırından yönetilir ve çok daha eski bir geleneğe (uygulama mağazalarından çok önceye) dayanır.
Dağıtıma Göre Farklı Paket Yöneticileri
Her Linux dağıtım ailesinin kendine ait bir paket yöneticisi vardır:
- Debian/Ubuntu tabanlı sistemler:
apt(Advanced Package Tool) - Red Hat/Fedora/CentOS tabanlı sistemler:
dnf(veya eski sistemlerdeyum) - Arch Linux:
pacman
Kali Linux, Debian tabanlı olduğu için apt kullanır — bu yüzden bu makalede örnekleri apt üzerinden vereceğiz, ama mantık diğer paket yöneticilerinde de büyük ölçüde aynıdır.
Temel apt Komutları
sudo apt update # yerel paket listesini güncelle (yeni sürümler var mı diye kontrol et)
sudo apt upgrade # kurulu TÜM paketleri en güncel sürümlerine yükselt
sudo apt install nmap # "nmap" adlı programı kur
sudo apt remove nmap # "nmap" adlı programı kaldır
sudo apt search "port scan" # isminde veya açıklamasında "port scan" geçen paketleri ara
sudo öneki, bu komutları YÖNETİCİ (root) yetkisiyle çalıştırmak için gereklidir — çünkü yazılım kurmak/kaldırmak, sistem genelinde değişiklik yapmak anlamına gelir ve bu normal bir kullanıcının varsayılan yetkisinde değildir.
sudo update ile upgrade Arasındaki Fark (Sıkça Karışan Nokta)
Yeni başlayanların sık karıştırdığı bir nokta: update YENİ YAZILIM KURMAZ, sadece "hangi paketlerin güncel sürümleri var" bilgisini tazeler (bir mağazanın raflarındaki fiyat etiketlerini güncellemek gibi düşünebilirsin). upgrade ise bu güncellenmiş bilgiye göre GERÇEKTEN kurulu yazılımları yeni sürümlerine yükseltir. Bu yüzden ikisi genelde art arda kullanılır: önce update, sonra upgrade.
Neden Bu Sistem Güvenlik Açısından Değerli?
Malware Analizi kütüphanemizdeki "Zafiyetli ve Güncel Olmayan Bileşenler" makalesinde bahsettiğimiz gibi, güncellenmemiş yazılımlar bilinen güvenlik açıklarına karşı savunmasız kalır. Linux'un paket yönetim sistemi, bu güncellemeleri MERKEZİ ve GÜVENİLİR bir kaynaktan (dağıtımın resmi depoları) tek bir komutla yapmayı mümkün kılar — bu, "internetten rastgele bir siteden .exe indirme" alışkanlığına kıyasla, çok daha güvenli bir yazılım tedarik zinciri sağlar çünkü resmi depolardaki paketler genelde dijital olarak imzalanır ve doğrulanır.
Pratik Senaryo
Bir siber güvenlik öğrencisi, Kali Linux'unda Nmap'in güncel bir sürümünü kullanmak istiyor. sudo apt update && sudo apt install nmap komutunu çalıştırdığında, sistem otomatik olarak Nmap'in en güncel, güvenilir kaynaktan gelen sürümünü indirip kurar — hiçbir şüpheli web sitesinden dosya indirmeye, "bu güvenilir mi?" diye düşünmeye gerek kalmaz, çünkü tüm süreç Debian'ın resmi, imzalı paket deposu üzerinden gerçekleşir.
Bu makale, Linux paket yönetimine giriş niteliğinde, başlangıç seviyeli bir özetidir; SiberCrew ekibi tarafından hazırlanmış özgün içeriktir.