---
title: 'Paket Kurma ve Kaldırma'
source: 'https://academia.sh/tr/kurslar/linuxa-giris/paket-kurma-ve-kaldirma'
course: "Linux'a Giriş"
language: tr
updated: '2026-08-17T18:09:56+00:00'
license: 'CC BY-SA 4.0'
---

# Paket Kurma ve Kaldırma

Paket yöneticisi ailelerinde ortak olan işlem sınıfları, işlem listesinin okunması, kaldırma ile yapılandırmayla birlikte kaldırmanın farkı ve paket dışı kurulum alanları.

Önceki ders paket kavramını ve bağımlılık çözümlemesini kurdu. Bu ders gündelik işlemlere
iner.

Komut adları paket yöneticisi ailesine göre değişir; bu kurs belirli bir aracın söz dizimini
öğretmez. Öğretilen şey, **hangi işlemin ne yaptığı ve hangi sırayla yapılacağıdır**; bu
bilgi taşınabilir, komut adları taşınabilir değildir. Bir sistemde karşılıklarını bulmak
için, yardım kaynakları dersindeki kılavuz sayfaları yeterlidir.

## İşlem Sınıfları

Ailesi ne olursa olsun her paket yöneticisinde şu işlemlerin karşılığı vardır:

| İşlem | Yaptığı |
|---|---|
| Dizin güncelleme | Depolardaki paket listesinin yerel kopyasını tazeler |
| Arama | Ada ve açıklamaya göre paket arar |
| Gösterme | Bir paketin üstverisini yazdırır |
| Kurma | Paketi ve bağımlılıklarını kurar |
| Kaldırma | Paketin dosyalarını siler, yapılandırmayı bırakır |
| Tümüyle kaldırma | Yapılandırma dosyalarını da siler |
| Artıkları temizleme | Bağımlılık olarak kurulmuş, artık gerekmeyen paketleri kaldırır |
| Yükseltme | Kurulu paketleri yeni sürümlerine geçirir |
| Dosya listesi | Bir paketin kurduğu dosyaları listeler |
| Sahiplik sorgusu | Bir dosyanın hangi pakete ait olduğunu bulur |
| Doğrulama | Kurulu dosyaları kayıttaki özetlerle karşılaştırır |

İlk satır, sıranın başında olması gereken işlemdir. Yerel dizin, deponun içeriğinin bir
kopyasıdır ve eskiyebilir. Eskimiş dizinle yapılan kurulum, artık depoda bulunmayan bir
sürümü indirmeye çalışır ve başarısız olur. Bu yüzden kurulum, dizin güncellemesinin
ardından yapılır.

Son satır, önceki derste anlatılan özetlerin kullanıldığı yerdir: kurulu bir dosyanın
içeriği kayıttakinden farklıysa, dosya ya elle değiştirilmiştir ya da bozulmuştur. Bir
arıza araştırmasında ilk sorulacak sorulardan biri budur.

## İşlem Listesini Okumak

Kurma ve kaldırma komutları, işlemi yapmadan önce ne olacağını listeler ve onay ister. Liste
üç bölümden oluşur: kurulacaklar, kaldırılacaklar ve yükseltilecekler.

Onaylamadan önce denetlenecek üç nokta vardır:

**Kaldırılacaklar listesi boş mu?** Bir paket kurmak için başka paketlerin kaldırılması
gerekiyorsa, çakışan bir bağımlılık vardır. Liste beklenmedik adlar içeriyorsa işlem iptal
edilmelidir.

**Sürüklenen bağımlılıkların sayısı beklenen düzeyde mi?** Küçük bir aracın yüzlerce paket
sürüklemesi, yanlış paketin seçildiğini veya çok kapsamlı bir üst paketin istendiğini
gösterebilir.

**Paketler beklenen depodan mı geliyor?** Birden çok depo yapılandırılmışsa, aynı paket
farklı kaynaklardan gelebilir. Kaynak, sonraki dersin konusudur.

Kurulum işlemleri kök yetkisi ister; sistem dizinlerine yazarlar ve kurulum betiklerini
ayrıcalıklı çalıştırırlar. Yetki yükseltme dersindeki ilke burada doğrudan uygulanır: paket
kurma yetkisi vermek, kurulum betikleri kök olarak çalıştığı için, kök yetkisi vermeye
yakındır.

## Kaldırma ve Tümüyle Kaldırma

İki kaldırma işlemi arasındaki fark yapılandırma dosyalarındadır.

**Kaldırma**, paketin getirdiği dosyaları siler ama `/etc` altındaki yapılandırmayı bırakır.
Gerekçe şudur: yapılandırma dosyaları yönetici tarafından düzenlenmiştir ve paket
kaldırılıp yeniden kurulduğunda bu emeğin korunması beklenir.

**Tümüyle kaldırma**, yapılandırmayı da siler. Paketin bir daha kullanılmayacağı kesinse ve
temiz bir durum isteniyorsa bu seçilir.

Hiçbiri kullanıcı verisini silmez. Ev dizinlerindeki ayarlar ve `/var` altındaki veriler
paket yöneticisinin kaydında değildir; paket onları oluşturmamıştır, silmez de. Bir servisi
kaldırdıktan sonra verisinin de gitmesi isteniyorsa bu ayrı ve bilinçli bir adımdır.

Bağımlılık olarak kurulmuş paketler ayrı işaretlenir. Bir paket kaldırıldığında, yalnızca
onun için getirilmiş bağımlılıklar sistemde kalır ama "artık" olarak işaretlenir; temizleme
işlemi bunları toplar. Bu ayrım olmasaydı sistem, zamanla hiçbir şeyin kullanmadığı
paketlerle dolardı.

## Yükseltme

Yükseltmenin iki kapsamı vardır ve karıştırılmaları risklidir.

**Tek paket yükseltme**, yalnızca adı verilen paketi yeniler. Bağımlılıkları da yeni sürüm
gerektiriyorsa onlar da yükseltilir.

**Sistem yükseltme**, kurulu tüm paketleri depodaki güncel sürümlere geçirir. Depo tutarlı
bir bütün olarak yayımlandığı için önerilen yol budur.

Aradaki tehlikeli bölge **kısmi yükseltmedir**: bazı paketler yeni, bazıları eski
bırakıldığında, birbirine bağlı kütüphanelerin sürümleri uyuşmayabilir. Depo bakımcıları
paketleri birlikte sınar; ayrı ayrı yükseltilmiş bir küme sınanmamış bir bileşimdir.

Bir sürümü kasıtlı olarak geride tutmak gerekiyorsa, paket yöneticileri bunun için bir
**sabitleme** düzeneği sunar: paket veya sürüm işaretlenir ve yükseltmelerin dışında
bırakılır. Sabitleme, kısmi yükseltme riskini bilinçli olarak üstlenmektir ve gerekçesi
belgelenmelidir.

Sürüm düşürme genel olarak desteklenmez. Kurulum betikleri ileri yönde çalışacak biçimde
yazılır; veri biçimini dönüştüren bir yükseltmeden sonra eski sürüme dönmek veriyi
okunamaz bırakabilir.

## Paket Yöneticisinin Dışı

Her yazılım depoda bulunmaz. Yerleşim standardı bu durum için ayrılmış bir alan tanımlar:
`/usr/local`, paket yöneticisinin dokunmadığı, yerel olarak kurulan yazılımların yeridir.
Aynı ayrımın kullanıcı düzeyindeki karşılığı ev dizini altındaki yerel dizindir ve kök
yetkisi gerektirmez.

```
$ mkdir -p ~/.local/bin
$ chmod 755 ~/.local/bin/proje-yedek
$ cat ~/.local/bin/proje-yedek
#!/bin/sh
# Proje agacini tarihli bir arsive alir.
tar -czf "$HOME/proje/arsiv/proje-$(date +%Y%m%d).tar.gz" -C "$HOME" proje/veri proje/betik proje/belge
```

Bu dizin, oturum açılışında okunan yapılandırma tarafından arama listesine eklenir:

```
$ echo "$PATH"
/home/ogrenci/proje/betik:/home/ogrenci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ command -v proje-yedek
/home/ogrenci/.local/bin/proje-yedek
```

Araç artık her yerden çağrılabilir:

```
$ proje-yedek
$ ls -l proje/arsiv
total 84
-rw-r--r-- 1 ogrenci ogrenci 11665 Jul 26 19:35 proje-20260726.tar.gz
-rw-r--r-- 1 ogrenci proje   51200 Jul 26 19:10 veri.tar
-rw-r--r-- 1 ogrenci proje   11330 Jul 26 19:10 veri.tar.gz
-rw-r--r-- 1 ogrenci proje    4416 Jul 26 19:10 veri.tar.xz
```

Arşivleme dersindeki komut, tarihli bir adla ve tek çağrıyla çalışan bir araca dönüşmüştür.

Bu yaklaşımın sınırı, önceki dersteki veritabanı tartışmasıdır. Tek dosyalık bir araçta
kaldırma işlemi bir `rm` komutudur. Onlarca dosyayı altı ayrı dizine dağıtan bir yazılımda
ise hangi dosyanın kime ait olduğu kaydedilmediği için kaldırma güvenilir biçimde
yapılamaz. Paket yöneticisinin çözdüğü sorun tam olarak budur.

Ölçüt şudur: tek dosyalık ve bağımlılıksız araçlar yerel dizine kurulabilir; bağımlılığı
olan ve sisteme dağılan yazılımlar paket yöneticisinden geçmelidir. Aradaki durumlar için,
yazılımı kendi dizinine kapatan ve tek bir bağla arama listesine bağlayan yerleşim tercih
edilir; kaldırma o dizini silmeye indirgenir.

## Özet

- Paket yöneticileri farklı komut adlarıyla aynı işlem sınıflarını sunar; taşınabilir olan
  işlem bilgisidir, komut adı değil.
- Kurulum, yerel paket dizininin güncellenmesinden sonra yapılır; eskimiş dizin artık
  bulunmayan sürümleri indirmeye çalışır.
- İşlem listesinde kaldırılacaklar, sürüklenen bağımlılık sayısı ve paketlerin kaynağı
  denetlenir.
- Kaldırma yapılandırmayı bırakır, tümüyle kaldırma siler; ikisi de kullanıcı verisine
  dokunmaz.
- Kısmi yükseltme, birlikte sınanmamış bir sürüm bileşimi üretir; sabitleme bu riskin
  bilinçli üstlenilmesidir.
- Paket dışı kurulum, tek dosyalık ve bağımlılıksız araçlar için uygundur; sisteme dağılan
  yazılımlarda kaldırma kaydı olmadığı için güvenilir değildir.

## Sonraki Adım

Paketlerin geldiği yer bu derste "depo" olarak anıldı ama tanımlanmadı. Depo bir dosya
sunucusundan ibaret değildir: bir dizin dosyası, bu dosyanın imzası ve paketlerin özetleri
birlikte bir güven zinciri kurar. Sonraki ders bu zinciri açar ve yeni bir deponun sisteme
eklenmesinin neden bir güven kararı olduğunu gösterir.
