Linux ­Kurulu­m ve Y­onetim­i
  • Döküman Hakkında
  • Linux ve GNU'nun Geçmişi
    • CentOS, Debian ve FreeBSD Ana Sürümlerin Farkları
  • Temel Komutlar
    • Temel Terminal Komutları
    • Yardım Dosyaları
    • Dosya İzinleri, Yetkiler, Kullanıcılar ve Gruplar
    • Dosya Düzenleme Araçları
      • nano ve pico
      • vi
    • Sıkıştırılmış Dosyalar
  • Standart Girdi ve Çıktı
    • Standart Çıktı
    • Standart Girdi
    • UNIX Pipeline
    • Olmazsa Olmaz: stdio.h
    • Standart Hata ve File Descriptor
    • Forkbomb
    • Named Pipe
  • Gelişmiş Terminal Komutları
    • Tarih ve Saat Ayarlama
    • Sistem Yükünü İzleme
    • patch ve diff
    • xargs
    • awk ve sed
    • egrep ve Regular Expressions
    • rename
    • Imagemagick ve Görüntü Dosyaları
    • wget
    • Python ile Dosya Sunuculuğu
  • Temel Dağıtımlar
    • RHEL Tabanlı (CentOS, Rocky, Alma)
      • rpm Paketleri
      • DNF Paket Yöneticisi
      • Repo Ayarları
      • Network Ayarları
    • Debian
      • deb Paketleri
      • apt Paket Yöneticisi
      • Repo Ayarları
      • Network Ayarları
    • FreeBSD
      • Ports ve pkg Yönetimi
      • Güncelleme Teknikleri
      • Network Ayarları
    • Arch Linux
      • pacman ve AUR
      • Network Ayarları
    • Ortak Network Dosyaları
  • SSH
    • Uzak Sunucuya Bağlanma
    • sshd Sunucu Ayarları
    • Private ve Public Anahtarlar
    • Güvenli Dosya Aktarımı
    • sshfs
  • Kernel Boot
    • Sunucu Başlangıcına Genel Bakış
    • Çekirdeğin Yüklenmesi ve Boot Seçenekleri
    • Çekirdek Parametreleri
    • Bootloader Nedir?
  • User Space
    • Başlangıç: Init
    • Init Versiyonunu Belirlemek
    • System V
      • Servislerin Yönetimi
      • Çalışma Seviyeleri (Run Levels)
      • Örnek System V Servis Oluşturma
    • systemd
      • Servislerin Yönetimi
      • Birimler ve Birim Tipleri
      • Örnek systemd Servis Oluşturma
    • Acil Durumlar ve Tek Kullanıcı Modu
  • BASH Programlama
    • Döngüler ve Diğer Kontrol Yöntemleri
    • Menüler
  • Log Dosyaları
    • Log İnceleme ve Filtreleme
  • İnternet Servisleri
    • Bir sayfanın İnternetteki Serüveni
    • Nameserver Servisleri
    • Apache
    • PHP-FPM
    • FTP/FTPS/SFTP
      • vsftpd
      • ProFTPD
      • SFTP
      • Komut Satırından ftp Kullanımı
  • Zamanlanmış Görevler
    • crontab
    • at
  • Veritabanı
    • MySQL
      • MySQL Kurulumu
      • MySQL Servisini Çalıştırmak
      • Veritabanı ve Tablo oluşturmak
      • SQL Tablosuna Veri Eklemek
      • Temel SQL Sorgularına Giriş
        • Birinci bölüm
      • mysqldump ile yedekleme
      • Replikasyon teknikleri
      • Yedekleri içeri alma
    • PostgreSQL
      • PostgreSQL Kurulumu
      • Temel Yapılandırma
      • Temel Kullanım
    • MongoDB
      • MongoDB Kurulumu
      • Temel Yapılandırma
      • Temel Kullanım
    • Redis
      • Redis Kurulumu
      • Temel Yapılandırma
      • Temel Kullanım
  • Temel Network Yapılandırması
  • Gelişmiş Network Komutları
    • ip
    • ifconfig
    • route
    • ping
    • traceroute
    • dig
    • nslookup
    • netcat
    • nmap
    • tcpdump
    • Wireshark (Giriş)
    • Bantgenişliği Ölçümü
  • Güvenlik
    • Firewalld
    • IPTables
      • Temel İzinler
      • IP ve Port Engelleme
    • selinux
  • Disk Sistemleri
    • ext
    • zfs
    • lvm
  • RAID
    • RAID Biçimleri
    • Verinin Disklere Yayılması
    • Cache
    • Terimler ve Tavsiyeler
  • Örnek Kurulumlar ve Modern Yaklaşımlar
    • CentOS 7 Tam Sistem Kurulumu (Arşiv)
    • AlmaLinux ile Hosting Ortamı Kurulumu
    • Ubuntu ile Hosting Ortamı Kurulumu
    • Modern Hosting Yaklaşımları (PaaS, Coolify vb.)
  • Konteynerleştirme (Docker / Podman)
  • Yapılandırma Yönetimi (Ansible)
  • İzleme ve Uyarı (Prometheus / Grafana)
  • Nginx Web Sunucusu
  • Kubernetes (Giriş)
  • PCI-DSS ve Linux Sistemleri
  • İndeks
  • Kaynaklar
Powered by GitBook
On this page
  1. Temel Dağıtımlar
  2. RHEL Tabanlı (CentOS, Rocky, Alma)

rpm Paketleri

Red Hat için geliştirilmiş paket yönetim sistemidir. Paketler -çoğunlukla olduğu gibi- doğrudan derlenmiş dosyalar olarak dağıtılabileceği gibi, kaynak kodların dağıtımını (srpm, spm) da sağlayabilir.

RPM (RPM Package Manager, eskiden Red Hat Package Manager), RHEL tabanlı dağıtımların (CentOS Stream, Rocky Linux, AlmaLinux, Fedora vb.) kullandığı temel paket yönetim sistemidir. Paketler genellikle .rpm uzantılı dosyalardır ve derlenmiş programları, kütüphaneleri, yapılandırma dosyalarını ve kurulum/kaldırma betiklerini içerir. Kaynak kod paketleri ise .src.rpm uzantılıdır.

Önemli Not: rpm komutu, paketleri doğrudan yönetmek için kullanılan düşük seviyeli bir araçtır. Bağımlılıkları otomatik olarak çözmez. Bu nedenle, paket kurma, kaldırma veya güncelleme işlemleri için genellikle dnf (veya eski sistemlerde yum) gibi daha üst seviye paket yöneticilerinin kullanılması şiddetle tavsiye edilir. rpm komutu daha çok paketleri sorgulamak, dosyaların hangi pakete ait olduğunu bulmak veya bağımlılıkları manuel olarak yönetmek gerektiğinde kullanılır.

RPM paketlerinin isimlendirmesinde genellikle aşağıdaki düzen izlenir.

<name>-<version>-<release>.<architecture>.rpm
<isim>-<versiyon>-<dağıtım>.<mimari>.rpm

Çoğunlukla yukarıdaki bölümlerden isim ve mimari kısmı bizi ilgilendirecektir. isim kısmı, tahmin edeceğiniz üzere yüklemek istediğimiz pakettir. mimari ise çalıştığımız sistemin işlemci mimarisidir. Örneğin x86, i386, arm gibi değerler alabilir. noarch yazması, paketin mimari bağımsız olması demektir. Örneğin düz metin dosyaları, Python/Perl scriptleri bu şekilde olabilir.

rpm dosyalarını genellikle dağıtımınızın yapılandırılmış depolarından (dnf aracılığıyla) veya güvenilir üçüncü parti kaynaklardan edinebilirsiniz. İnternetten rastgele indirilen RPM paketlerini kurmak güvenlik riski oluşturabilir.

rpm Komutu ile Sorgulama ve Yönetim

Aşağıda rpm komutunun bazı yaygın kullanım örnekleri verilmiştir. Unutmayın, kurulum/kaldırma/güncelleme için genellikle dnf tercih edilmelidir.

Paket Kurulumu (Bağımlılıkları Çözmez!):

İndirilmiş bir RPM dosyasını kurmak için (genellikle -ivh kullanılır: install, verbose, hash marks):

rpm -ivh paket-dosyası.rpm

Not: Eğer bu paket başka paketlere bağımlıysa ve bu bağımlılıklar sistemde kurulu değilse, rpm komutu hata verecektir. dnf install paket-dosyası.rpm komutu ise bağımlılıkları depolardan otomatik olarak bulup kurmaya çalışır.

Paket Sorgulama:

Bir RPM dosyasının (kurulu olmayan) bağımlı olduğu paketleri listelemek için (-p ile dosya üzerinde işlem yapılır):

rpm -qpR paket-dosyası.rpm

Bir RPM dosyasının (kurulu olmayan) içerdiği genel bilgileri görmek için:

rpm -qip paket-dosyası.rpm

Bir RPM dosyasının (kurulu olmayan) içerdiği dosyaları listelemek için:

rpm -qlp paket-dosyası.rpm

Kurulu Paketleri Sorgulama:

Sistemde belirli bir paketin kurulu olup olmadığını kontrol etmek için:

rpm -q htop

Sistemde kurulu tüm paketleri listelemek için (less ile kullanmak faydalıdır):

rpm -qa | less

Kurulu bir paket hakkında detaylı bilgi almak için:

rpm -qi nmap

Kurulu bir paketin içerdiği dosyaları listelemek için:

rpm -ql nmap

Belirli bir dosyanın hangi kurulu pakete ait olduğunu bulmak için:

rpm -qf /etc/my.cnf

Kurulu bir paketin dosyalarının bütünlüğünü doğrulamak için (değiştirilmiş, eksik dosyaları vb. kontrol eder):

rpm -V nmap

(Eğer komut çıktı vermezse, paket dosyaları orijinal durumdadır.)

Paket Kurulum/Güncelleme/Kaldırma (Düşük Seviye):

Uyarı: Aşağıdaki komutlar bağımlılıkları otomatik yönetmez. Genellikle dnf kullanın.

Bağımlılıkları göz ardı ederek paket kurmak (Genellikle önerilmez!):

rpm -ivh --nodeps paket-dosyası.rpm

Bir paketi güncellemek veya kurulu değilse kurmak için (-U update/install):

rpm -Uvh paket-dosyası.rpm

(Sadece kuruluysa güncellemek için -F veya --freshen kullanılır.)

Bir paketi kaldırmak için (-e erase):

rpm -e paket-ismi

Not: Bu komut, kaldırılan pakete bağımlı olan diğer paketlerin çalışmasını bozabilir. dnf remove paket-ismi komutu bağımlılıkları daha güvenli yönetir.

Bağımlılıkları kontrol etmeden bir paketi kaldırmak için (Genellikle önerilmez!):

rpm -ev --nodeps paket-ismi

Özetle, rpm komutu paketler hakkında bilgi almak ve düşük seviyeli işlemler yapmak için kullanışlıdır, ancak günlük paket yönetimi (kurulum, kaldırma, güncelleme) için dnf komutunu kullanmak daha güvenli ve pratiktir.

PreviousRHEL Tabanlı (CentOS, Rocky, Alma)NextDNF Paket Yöneticisi

Last updated 1 month ago