Konuyu Açan #1
RPM ile kurulu dosyaları listeleme

Bu konuyu kendi sistemimde yaşadığım günlük bir durum üzerinden ele alıyorum: bir sunucuda hangi RPM paketlerinin kurulu olduğunu, hangi dosyaların hangi paketlere ait olduğunu hızlıca görmek gerekebiliyor. Özellikle sunucu bakımını yaparken hangi paketlerin hangi sürümde kurulu olduğunu bilmek, yanlışlıkla örtüşmeyen dosyaları temizlemek veya güncelleme planı çıkarmak için kritik oluyor. Aşağıda, RPM tabanlı sistemlerde bu amaçla kullanabileceğiniz temel ve ileri düzey yöntemleri toparladım.


1) Basit kurulu paketleri listeleme
  • rpm -qa: Mevcut sistemde kurulu tüm paketleri listeler. Örneğin:

KOD
1rpm -qa | less

  • rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE} %{ARCH}\n': Paket adını, sürümünü ve mimarisini özel bir formatta çıktı alır.
  • dnf rpm -qa: Fedora/RHEL 8+ sistemlerinde DNF ile kurulu paketleri görmek, bazen daha kullanıcı dostu çıktılar için önerilir. Örneğin:

KOD
1dnf list installed


2) Belirli bir dosyanın hangi RPM paketine ait olduğunu bulma
  • rpm -qf /path/to/dosya: Verilen dosyanın hangi pakete ait olduğunu gösterir. Örneğin:

KOD
1rpm -qf /usr/bin/python3

  • rpm -qf /usr/share/doc/*: Belirli dizin içindeki dosyanın ait olduğu paketi bulmak için de geçerlidir.


3) Dosya içeriğine göre paket içeriğini listeleme
  • rpm -ql : Kurulu bir paket tarafından sağlanan dosyaların listesini gösterir.
  • rpm -qR veya rpm -ql | grep bin/: Paket tarafından kurulan bağımlılıkları ve içerikleri incelemek için kullanışlıdır.


4) Yüklü paketlerin sürüm karşılaştırması
  • rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}\n' | sort: Sistem genelinde sürümleri karşılaştırmak için temel bir yöntemdir.
  • grep ve awk ile filtreleme ve özelleştirilmiş çıktı almak mümkündür. Örneğin;

KOD
1rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}\n' | sort | uniq -d

Bu, aynı sürümde tekrarlanan paket adlarını bulmada yardımcı olabilir.

5) Özet ve pratik ipuçları
  • Sistem güvenliği veya güncelleme yönetimi için önce tüm paketlerin listesini almak faydalıdır, ardından bilinmeyen veya eski sürümlere odaklanabilirsiniz.
  • Özellikle paket adlarıyla hızlı filtreler kurun: rpm -qa | grep httpd veya rpm -qa | grep nginx gibi.
  • Paketlerin kaynağını ve dosya konumunu hızlıca kontrol etmek için rpm -qf ve rpm -ql komutlarını birbirleriyle kombinleyin.


Bu konudaki kendi deneyimlerinizle, hangi senaryolarda hangi komut kombinasyonlarını işinize yarar buluyorsunuz? Özellikle dağıtımınıza özgü paket adlarıyla pratik çıktı örneklerini paylaşarak tartışmayı zenginleştirebilirsiniz.

Yanıt vermek için giriş yapmış olmalısınız.

Bu konuyu görüntüleyen kullanıcılar (Toplam: 3, Üyeler: 3, Misafirler: 0)
Toplam: 3 (üyeler: 3, misafirler: 0)
0 alıntı seçildi