**RPM (Red Hat Package Manager)**
RPM, öncelikle [Red Hat](https://www.nedemek.page/kavramlar/Red%20Hat) tabanlı sistemler için geliştirilmiş bir paket yönetim sistemidir. Artık birçok Linux dağıtımında kullanılmaktadır. Temel olarak, yazılımların ve uygulamaların kurulumunu, güncellenmesini, kaldırılmasını ve yönetilmesini kolaylaştıran bir araçtır.
**Temel İşlevleri:**
* **Paket Kurulumu:** Yazılımları .rpm uzantılı paketler halinde kurar.
* **Paket Güncelleme:** Mevcut yazılımları daha yeni sürümlere günceller.
* **Paket Kaldırma:** Sistemden yazılımları tamamen kaldırır.
* **Paket Sorgulama:** Kurulmuş paketler hakkında bilgi verir (sürüm, bağımlılıklar vb.).
* **Bağımlılık Yönetimi:** Bir paketin çalışması için gerekli olan diğer paketlerin (bağımlılıkların) otomatik olarak kurulmasını sağlar. Bağımlılık kavramı için: [Bağımlılık](https://www.nedemek.page/kavramlar/bağımlılık)
**RPM Paketlerinin İçeriği:**
Bir RPM paketi genellikle şunları içerir:
* **Yazılım Dosyaları:** Uygulamanın çalışması için gerekli olan yürütülebilir dosyalar, kütüphaneler, yapılandırma dosyaları vb.
* **Metadata:** Paket hakkında bilgi içeren veriler (isim, sürüm, açıklama, bağımlılıklar vb.).
**RPM Komutları (Örnekler):**
* `rpm -i paketadı.rpm`: Paketi kurar.
* `rpm -U paketadı.rpm`: Paketi günceller veya kurar (eğer daha önce kurulmamışsa).
* `rpm -e paketadı`: Paketi kaldırır.
* `rpm -q paketadı`: Paket hakkında bilgi verir.
* `rpm -qa`: Kurulmuş tüm paketleri listeler.
* `rpm -qi paketadı`: Paket hakkında daha detaylı bilgi verir.
**Avantajları:**
* Kurulum ve kaldırma işlemlerini standartlaştırır.
* Bağımlılık yönetimini kolaylaştırır.
* Sistemdeki yazılımların izlenmesini ve yönetilmesini kolaylaştırır.
**Dezavantajları:**
* Bağımlılıkları çözmek bazen karmaşık olabilir (özellikle büyük ve karmaşık yazılımlar için). Bu nedenle, genellikle [YUM](https://www.nedemek.page/kavramlar/YUM) veya [DNF](https://www.nedemek.page/kavramlar/DNF) gibi daha üst düzey paket yönetim araçları kullanılır.