Windows'tan Linux'a geçenlerin çoğu, program kurma alışkanlığının burada tamamen farklı işlediğini fark ediyor. İndirilen bir kurulum dosyasını çalıştırmak yerine, yazılım paket yöneticisi denen bir sistem üzerinden, dağıtımın kendi deposundan gelir. Bu yöntem ilk bakışta kısıtlayıcı görünse de güvenlik ve düzen açısından önemli bir avantaj sağlar. Bu yazıda apt, yum/dnf ve pacman'ın nasıl çalıştığını, aralarındaki farkları ve günlük kullanımda işe yarayan komutları anlatıyorum.
Paket yöneticisi tam olarak ne yapar
Paket yöneticisi, yazılımın kurulmasını, güncellenmesini ve kaldırılmasını yöneten bir araçtır. Bir paket; programın dosyalarını, meta verisini ve bağımlılık listesini tek bir birimde toplar. Bu paketler, dağıtımın bakımcıları tarafından test edilen depolardan (repository) iner. Bu da rastgele bir siteden indirilen kurulum dosyasına göre çok daha güvenli bir modeldir.
Bağımlılık yönetimi, işin can alıcı kısmıdır. Bir program çalışmak için genelde başka kütüphanelere ihtiyaç duyar. Bunları elle bulup kurmak hem yorucu hem hataya açık bir iştir. Paket yöneticisi bu bağımlılık zincirini otomatik çözer, gerekli her şeyi sırayla indirip kurar. Windows'ta her programın kendi güncelleyicisini çalıştırmasına alışkın biri için bu merkezi model başta garip gelebilir. Ama tek bir komutla yüzlerce paketi güncelleyebilmek, alıştıktan sonra vazgeçilmez bir kolaylık hâline gelir.
Son yıllarda dağıtımdan bağımsız formatlar da güçlendi. Flathub üzerinden dağıtılan Flatpak uygulamaları hemen her dağıtımda aynı şekilde çalışıyor, Snap ve AppImage de benzer bir esneklik sunuyor. Bunlar klasik paket yöneticilerinin yerini almıyor, onları tamamlıyor. Masaüstü uygulamalarında sıkça tercih edilirken, sunucu tarafında hâlâ dağıtımın kendi paket yöneticisi ağırlıkta. Bir geliştirici aracını hem Ubuntu hem Fedora'da aynı sürümle çalıştırmak isteyenler için Flatpak genelde en az sürtünmeli yoldur.
APT: Debian ve Ubuntu'nun omurgası
APT (Advanced Package Tool), Debian, Ubuntu ve Linux Mint gibi türevlerin paket yöneticisidir. .deb uzantılı paketlerle çalışır ve Linux dünyasının en olgun, en geniş kullanıcı tabanına sahip sistemlerinden biridir. Günlük kullanımda ihtiyaç duyulan komutlar şunlardır:

sudo apt update
sudo apt upgrade
sudo apt install paket-adi
sudo apt remove paket-adi
sudo apt autoremove
sudo apt search paket-adi
apt update depo listesini tazeler, upgrade kurulu paketleri yükseltir. install ve remove isimlerinden bellidir. autoremove ise artık hiçbir paketin bağımlılığı olmayan "yetim" paketleri temizler. search komutu, tam paket adı bilinmediğinde işe yarar; örneğin "pdf düzenleyici" aramak yerine apt search pdf yazıp listeye göz gezdirilebilir.
Debian ve Ubuntu depoları neredeyse her ihtiyaca hazır paket barındırır, bu yüzden aranan yazılımı bulmak genelde tek komutluk bir iştir. Bu geniş ekosistem ve kalabalık kullanıcı topluluğu, karşılaşılan hemen her hataya bir forum yanıtı bulmayı da kolaylaştırır. Yeni başlayanların APT'yi tercih etmesinin bir nedeni budur: hata mesajı arandığında genelde birileri aynı sorunu daha önce çözmüş oluyor.
YUM ve DNF: Red Hat ailesi
Fedora, CentOS ve RHEL gibi dağıtımlar .rpm paketleriyle çalışır; buradaki araç YUM'un modern hâli olan DNF'dir. DNF, YUM'a göre daha hızlı bağımlılık çözümü ve daha temiz bir önbellek yönetimi sunar. Temel komutlar şöyledir:
sudo dnf check-update
sudo dnf upgrade
sudo dnf install paket-adi
sudo dnf remove paket-adi
sudo dnf autoremove
sudo dnf search paket-adi
Komut yapısı APT'ye oldukça yakındır. check-update mevcut güncellemeleri listeler ama hiçbir şey kurmaz; tam bir yükseltme için upgrade komutu gerekir. Grup kurulumları da DNF'nin güçlü yanlarından biridir: sudo dnf groupinstall "Development Tools" gibi bir komutla, tek tek paket aramak yerine önceden tanımlı bir yazılım demeti tek seferde kurulabilir.
Bu aile, kurumsal ortamlarda tercih edilir çünkü uzun vadeli destek ve kararlılığa öncelik verir. Sunucu tarafında bir paketin sürümünü aylarca sabit tutmak isteyen ekipler için RHEL tabanlı dağıtımlar hâlâ standart sayılır. CentOS'un yerini alan Rocky Linux ve AlmaLinux da bu ekosistemi sürdürüyor; DNF komutları bu iki dağıtımda da birebir aynı çalışır.
DNF'nin bağımlılık çözücüsü, eski YUM'a göre gözle görülür şekilde daha hızlıdır. Büyük paket listelerinde bile saniyeler içinde sonuç verir. Bu performans farkı, özellikle çok sayıda paketin kurulu olduğu üretim sunucularında fark yaratır.
Pacman: Arch'ın hız ve sadelik anlayışı
Pacman, Arch Linux'un paket yöneticisidir ve .pkg.tar.zst formatındaki paketlerle çalışır. Arch'ın "yuvarlanan sürüm" (rolling release) modelini destekler. Sistem tazelendikçe yazılımlar sürekli en güncel hâlde kalır; ayrı bir sürüm yükseltmesi beklenmez. Temel komutlar diğerlerinden biraz farklı görünse de mantık aynıdır:

sudo pacman -Syu
sudo pacman -S paket-adi
sudo pacman -R paket-adi
sudo pacman -Rns paket-adi
pacman -Ss paket-adi
-Syu depo listesini günceller ve sistemi yükseltir, -S kurar, -R kaldırır. -Rns ise paketi bağımlılıklarıyla ve yapılandırma dosyalarıyla birlikte söker; sistemi temiz tutmak isteyenler genelde -R yerine bunu tercih eder. -Ss ise sudo gerektirmeden paket arar, hızlı bir kontrol için idealdir.
Arch Kullanıcı Deposu (AUR), resmi depoda olmayan binlerce ek paketi topluluk desteğiyle sunar. yay gibi bir AUR yardımcı aracıyla bu depoya da erişilebilir. AUR paketleri resmi olarak denetlenmediği için kurmadan önce PKGBUILD dosyasına göz atmak makul bir alışkanlıktır. Pacman'in kısa komut yapısı başta tuhaf görünse de, alıştıktan sonra APT'den bile hızlı hissettirir.
Depo yönetimi ve güven meselesi
Paket yöneticisinin gücü, bağlı olduğu depodan gelir. Resmi depolar test edilmiş, dağıtımla uyumluluğu doğrulanmış paketler barındırır; bu yüzden yazılım kurarken önce resmi depoya bakmak en güvenli yoldur. Bazen ihtiyaç duyulan paket resmi depoda bulunmaz ve üçüncü taraf bir depo eklemek gerekir.

Üçüncü taraf depo eklerken dikkatli olmak gerekir. Güvenilmeyen bir kaynak, sisteme kararsızlık veya kötü amaçlı yazılım bulaştırabilir. Ubuntu'da PPA eklerken, Fedora'da COPR kullanırken kaynağın kim tarafından sürdürüldüğüne bakmak beş dakikalık bir kontrolün ötesinde bir alışkanlık olmalıdır; bir PPA sahibinin GitHub geçmişine bakmak bile fikir verir.
| Kaynak türü | Güvenlik | Kullanım senaryosu |
|---|---|---|
| Resmi depo | Yüksek, test edilmiş | Günlük kullanım, sunucu |
| Topluluk deposu (AUR, COPR, PPA) | Değişken, kaynağa bağlı | Resmi depoda olmayan yazılım |
| Bağımsız format (Flatpak, Snap) | Yüksek, izole çalışır | Masaüstü uygulamaları |
Depo yapılandırması sürüm tercihini de belirler. Bazı depolar en güncel sürümü sunarken, bazıları kararlılığı önceleyip biraz daha eski ama test edilmiş paketleri tutar. Sunucu yönetenler için kararlı depo, masaüstünde en yeni özellikleri denemek isteyenler için güncel depo mantıklı bir tercihtir.
Sık karşılaşılan sorunlar ve çözümleri
Bağımlılık çakışması en sık görülen sorunlardan biridir; iki paket aynı kütüphanenin farklı sürümlerini istediğinde ortaya çıkar. Modern paket yöneticileri bu çakışmaları çoğunlukla otomatik çözer, ama bazen elle müdahale gerekir. APT'de aşağıdaki komutlar yarım kalan bağımlılıkları tamamlamaya çalışır:
sudo apt --fix-broken install
sudo dpkg --configure -a
Kesintiye uğramış kurulumlar da başka bir klasik sorundur. Güç kesintisi ya da terminalin kapanması yüzünden yarıda kalan bir işlem, paket veritabanını tutarsız bırakabilir. Yukarıdaki dpkg --configure -a komutu tam olarak bunu onarmak için vardır. Pacman'de ise sudo pacman -Syyu ile önbelleği zorla tazelemek çoğu zaman işe yarar.
Depo erişim hataları da zaman zaman çıkar; bir aynanın (mirror) geçici olarak çökmesi ya da anahtar (GPG key) sorunları buna örnektir. Bu durumda depo listesini güncellemek veya sorunlu aynayı listeden çıkarmak genelde yeterlidir. Sorunun kaynağını anlamak çözüme giden en kısa yoldur; hata mesajını olduğu gibi arama motoruna yapıştırmak bile çoğu zaman işe yarar.
Disk alanı da unutulmaması gereken bir konudur. Zamanla biriken paket önbellekleri gigabaytlarca yer kaplayabilir. APT'de sudo apt clean, pacman'de sudo pacman -Sc komutu bu önbelleği temizler. Aylık bir bakım rutini olarak eklemeye değer.
Hangi paket yöneticisini öğrenmeli
Kullanılan dağıtım bu kararı zaten belirliyor: Ubuntu ya da Debian tabanlı bir sistemde APT, Fedora veya RHEL ailesinde DNF, Arch'ta pacman. Mantık üçünde de aynıdır: depo tazele, kur, kaldır, temizle. Birini iyi öğrendikten sonra diğerine geçiş, birkaç komut ismini ezberlemekten ibaret kalır.
Yeni bir dağıtım denerken paket yöneticisinin komutlarını bir kenara not almak zaman kazandırır. Aşağıdaki gibi kısa bir referans tablosu, dağıtımlar arası geçişte işi kolaylaştırır:
| İşlem | APT | DNF | Pacman |
|---|---|---|---|
| Depo güncelle | apt update | dnf check-update | pacman -Sy |
| Sistemi yükselt | apt upgrade | dnf upgrade | pacman -Syu |
| Paket kur | apt install | dnf install | pacman -S |
| Paket kaldır | apt remove | dnf remove | pacman -R |
Sistemi düzenli güncellemek, güvenlik açıklarını kapatmanın en pratik yoludur. apt update && apt upgrade, dnf upgrade ya da pacman -Syu komutlarını haftalık bir alışkanlık hâline getirmek, çoğu güvenlik sorununu ortaya çıkmadan önler. Resmi belgeler için Debian paket yönetimi dokümantasyonu ve Arch Wiki pacman sayfası güvenilir referanslardır.
Henüz yorum yok.
Sohbete katıl. Yorumlar yayınlanmadan önce moderasyondan geçer.