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.
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
Sebep: Paketin istediği kütüphaneler sistemde yok.
Çözüm: Paketi direkt RPM ile değil, yöneticilerle kur.
Fedora/RHEL tarafı:
openSUSE:
Çözüm:
openSUSE için:
Çözüm:
Sadece veritabanından siler.
Bir dosyayı iki paket sahipleniyorsa:
Zorlamak gerekirse (dikkatli!):
Sebep: Paket bozuk ya da GPG anahtarı eksik.
Çözüm:
openSUSE:
Çözüm:
Arka plandaki otomatik güncellemeyi kapatır
Çı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.
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
Kod:
sudo rpm -e --noscripts --justdb paket-adı
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.


