RPM/YUM/DNF PAKET YÖNETİMİ VE REPOSITORY KONFİGÜRASYONU
Kurumsal Linux sunucularında yazılım kurma, güncelleme, bağımlılıkları yönetme ve harici paket kaynaklarını (Repository) sisteme ekleme süreçleri.
Giriş: CentOS/RHEL tabanlı sistemlerde temel paket formatı **RPM** (Red Hat Package Manager)'dir. **YUM** (Yellowdog Updater, Modified) ve daha yeni olan **DNF** (Dandified YUM) ise RPM tabanlı paketleri otomatik olarak indirip kurarken, karmaşık bağımlılıkları çözen üst düzey yönetim araçlarıdır.
Bölüm 1: DNF (Dandified YUM) ile Temel Paket Yönetimi
RHEL 8/CentOS 8 ve üzeri sistemlerde DNF, varsayılan ve en çok önerilen paket yöneticisidir. Komut yapısı YUM ile neredeyse aynıdır.
Kritik DNF Komutları
- **Paket Kurulumu:** Yeni bir yazılım paketini (Örn: `nginx`) bağımlılıklarıyla birlikte kurar.
sudo dnf install nginx -y
**Açıklama:** `-y` parametresi, tüm sorulara otomatik olarak evet (`yes`) yanıtı verir.
- **Paket Güncellemesi:** Tüm sistemdeki güncel paketleri listeler ve ardından yükler. Sistem güvenliği için zorunludur.
sudo dnf check-update
sudo dnf update -y
- **Paket Arama:** Belirli bir anahtar kelimeye (`httpd`) sahip paketleri Repository'lerde arar.
sudo dnf search httpd
- **Paket Hakkında Bilgi:** Bir paketin açıklamasını, sürümünü ve dosya boyutunu görüntüler.
sudo dnf info mariadb-server
- **Paket Kaldırma:** Kurulan paketi ve gereksiz bağımlılıkları sistemden kaldırır.
sudo dnf remove nginx -y
- **Gereksiz Bağımlılıkları Temizleme:** Artık hiçbir paket tarafından kullanılmayan bağımlılık paketlerini temizler.
sudo dnf autoremove
Bölüm 2: RPM (Red Hat Package Manager) ile Yönetim
RPM, paketleri manuel olarak kurmak, sorgulamak ve kaldırmak için kullanılan temel düşük seviyeli araçtır. Bağımlılıkları otomatik çözmez.
Temel RPM Komutları
- **RPM Dosyasını Kurma (Manuel):** İnternetten indirilen bir `.rpm` dosyasını kurmak için. Bağımlılıklar manuel olarak çözülmelidir.
sudo rpm -ivh /tmp/jdk-17.rpm
- **Hangi Pakete Ait Olduğunu Sorgulama:** Sistemdeki bir dosyanın hangi RPM paketine ait olduğunu bulur.
rpm -qf /etc/ssh/sshd_config
- **Kurulu Paketleri Listeleme:** Sisteme kurulu olan tüm paketleri listeler (Genellikle `grep` ile kullanılır).
rpm -qa | grep "kernel"
Bölüm 3: Repository (Paket Kaynağı) Yönetimi
YUM/DNF, paketleri **Repository** adı verilen merkezi sunuculardan indirir. Harici yazılımlar için yeni Repository'ler eklemek gerekebilir.
Repository Yapısı ve Ekleme
- **Mevcut Repository'leri Listeleme:** Aktif olan ve pasif olan tüm Repository'leri listeler.
dnf repolist all
- **Harici Repository Eklemek (Örn: EPEL):** Kurumsal Linux'ta yaygın olarak kullanılan bir topluluk deposu olan **EPEL**'i (Extra Packages for Enterprise Linux) ekleyin.
sudo dnf install epel-release -y
- **Manuel Repository Tanımlama:** Repository dosyaları **`/etc/yum.repos.d/`** dizininde bulunur. Bu dizine manuel olarak bir `.repo` dosyası oluşturarak harici bir kaynağı sisteme ekleyebilirsiniz. (Örn: `mariadb.repo` dosyası oluşturmak.)
# vi ile yeni dosyayı açın
sudo vi /etc/yum.repos.d/mariadb.repo
**Örnek `mariadb.repo` İçeriği:**
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled = 1
- **Repository'yi Kontrol Etme:** Yeni eklenen kaynağın çalıştığını ve paketleri listelediğini doğrulayın.
dnf repolist
Güvenlik Uyarısı (GPG Key): Yeni bir Repository eklerken, paketlerin kaynağının doğruluğunu teyit etmek için mutlaka **GPG Key**'inin doğru olduğundan emin olun (`gpgcheck=1`). Güvenilmeyen bir kaynaktan paket kurmak, sisteme zararlı yazılım bulaştırabilir.
← ÖNCEKİ: AĞ YÖNETİMİ | SONRAKİ: KULLANICI & SUDO →