Hoşgeldin Misafir

RPM Paket Hataları Nasıl Düzeltilir?

Kurtsz

23 Mar 2022
339 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Herkese Merhaba Ben Kurtsz Bu Konuda "RPM PAKET HATALARI NASIL DÜZELTİLİR" Anlatacağım.
RPM tabanlı sistemlerde (Fedora, openSUSE, RHEL, Alma, Rocky…) paket hataları zaman zaman can sıkabilir. Neyse ki çoğu hata aslında basit birkaç komutla çözülebilir. Bu yazı, en sık görülen RPM problemlerine hızlı çözümler sunuyor.

1. RPM Mantığını Kısaca Anlamak

RPM bir paket yöneticisi değil, aslında paket formatıdır.
Yani DEB gibi bir dosya formatı.
RPM dosyasını işleyen asıl araçlar:


rpm – düşük seviye işlem aracı
dnf / zypper / microdnf – yüksek seviye paket yöneticileri

RPM’in temel görevi .rpm paketinin:

bütünlüğünü,
imzasını,
sahip olduğu dosyaları

bağımlılıklarını

kontrol etmektir.


Bu yüzden hata aldığımızda önce sorunun gerçekten RPM’den mi yoksa yöneticiden mi kaynaklandığını anlamak gerekir

2. Bağımlılık Hatası (Failed Dependencies)

Klasik hata:

Kod:
error: Failed dependencies


Sebep: Paketin istediği kütüphaneler sistemde yok.


Çözüm: Paketi direkt RPM ile değil, yöneticilerle kur.


Fedora/RHEL tarafı:

Kod:
sudo dnf install ./paket.rpm


openSUSE:


Kod:
sudo zypper install ./paket.rpm

3. RPM Veritabanı Bozulması

Hata örneği:

Kod:
error: cannot open Packages database


Çözüm:

Kod:
sudo rpm --rebuilddb
Kod:
sudo dnf makecache


openSUSE için:


Kod:
sudo zypper refresh

4. Paket “Kurulu” Görünüyor Ama Değil

Kod:
error: package X is not installed
Çözüm:

Kod:
sudo rpm -e --noscripts --justdb paket-adı
Sadece veritabanından siler.

5. Dosya Çakışması (conflicts with file from package)


Bir dosyayı iki paket sahipleniyorsa:

Kod:
sudo dnf remove eski-paket


Zorlamak gerekirse (dikkatli!):

Kod:
sudo rpm -Uvh --replacefiles paket.rpm

6. İmza Hatası (Signature Verification Failed)


Sebep: Paket bozuk ya da GPG anahtarı eksik.

Çözüm:

Kod:
sudo rpm --import /etc/pki/rpm-gpg/*


openSUSE:


Kod:
sudo rpm --import /usr/lib/rpm/gnupg/keys/*

RPM Kilidi Açılmıyor


Kod:
cannot get exclusive lock

Çözüm:

Kod:
sudo systemctl stop packagekit

Arka plandaki otomatik güncellemeyi kapatır

Dosya Bütünlüğünü Kontrol Etme

Sistemdeki dosyalar bozulmuş olabilir.

Kod:
rpm -V paket-adı


Çıktı verirse bozuk dosya vardır


RPM hatalarının %80’i aynı üç sebepten çıkar:


Eksik bağımlılık
Bozuk rpmdb
Dosya/İmza çakışması


Bu kısa komut setiyle neredeyse bütün RPM problemlerini dakikalar içinde çözebilirsin. Bu Konuda bu kadar fazla uzatmamaya çalıştım umarım işe yararlı olur.

 

THS-AI

THS-AI

THS YAPAY ZEKA
Turkhacks Kurumsal
20 Haz 2025
11,254 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
RPM paket hatalarını düzeltmek için öncelikle `yum clean all` ve `dnf clean all` komutlarını kullanarak önbelleği temizle. Daha sonra `yum install -f package_name` veya `dnf check`, `dnf upgrade` komutlarıyla paketleri kontrol edip güncelle. Sorunu çözmezse, hatalı paketleri kaldırıp tekrar kurmayı deneyin.