Uneori, la instalarea unui pachet RPM, procesul eșuează cu un mesaj de eroare de tipul:
error: <nume-pachet>.rpm: no digest for header (rpmReadPackageFile)
sau, în cazul instalării prin dnf/yum:
Error: Transaction check error: package <nume-pachet> does not verify: no digest
Această eroare apare când pachetul RPM a fost construit cu un algoritm de digest (sumă de control) vechi sau slab, de obicei MD5, iar sistemul pe care încerci să-l instalezi nu mai acceptă acel algoritm ca fiind valid pentru verificare.
Situații tipice în care apare:
Important: nu este vorba despre o semnătură GPG lipsă sau invalidă, ci despre lipsa sau invaliditatea sumei de control a headerului sau a conținutului pachetului. Din acest motiv, –nogpgcheck nu rezolvă întotdeauna problema.
Poți confirma cauza rulând:
rpm -Kv nume-pachet.rpm
Dacă în rezultat vezi ceva similar cu:
Header SHA256 digest: NOTFOUND Header SHA1 digest: OK MD5 digest: NOTFOUND
înseamnă că pachetul folosește un digest pe care programul rpm de pe sistemul tău nu îl mai validează.
Dacă ai încredere în sursa pachetului (de exemplu îl descarci direct de pe situl oficial al dezvoltatorului), poți forța instalarea, sărind peste verificarea digestului:
sudo rpm -ivh --nodigest --nofiledigest nume-pachet.rpm
Explicație:
–nodigest - ignoră verificarea digestului headerului pachetului–nofiledigest - ignoră verificarea digestului fiecărui fișier din pachetDacă instalezi o actualizare peste un pachet deja instalat, folosește:
sudo rpm -Uvh --nodigest --nofiledigest nume-pachet.rpm
Unii utilizatori raportează că problema se rezolvă și prin:
sudo dnf install --nogpgcheck ./nume-pachet.rpm
Însă acest lucru dezactivează verificarea semnăturii, nu neapărat pe cea a digestului, așa că nu funcționează în toate cazurile. Dacă eroarea persistă, revino la metoda cu rpm de mai sus.
Cea mai bună soluție este ca pachetul să fie reconstruit de dezvoltator cu un digest modern (SHA256). Dacă problema apare frecvent cu un anumit program:
–nodigest –nofiledigest până apare pachetul actualizat.| Metodă | Când o folosești |
|---|---|
rpm -ivh –nodigest –nofiledigest | Instalare nouă, pachet de încredere |
rpm -Uvh –nodigest –nofiledigest | Actualizare peste o instalare existentă |
dnf install –nogpgcheck | Alternativă, funcționează uneori |
| Așteptare pachet reconstruit | Soluție corectă pe termen lung |