Dans la doc, sur cette page là

https://doc.fedora-fr.org/wiki/RPM_:_les_bases_de_la_commande

je lis la ligne suivante :
Il est fortement conseillé d'utiliser DNF pour supprimer des paquets, l'utilisation de la commande rpm directement peut conduire à l'altération de la base RPM.
Je dois dire que ça me laisse perplexe car je ne vois pas comment rpm pourrait altérer la base rpm.
il s'agit de la base dnf, un rpm supprimé par rpm -e est toujours considéré comme installé par dnf. Ce qui peut amener des incohérences dans les mises à jours
J'utilise indifféremment les deux et j'ai jamais vu ce souci. D'autant plus que dnf utilise rpm et maintient la base rpmdb.
Si il y a un problème:
rpm -vv initdb
rm -f /var/lib/rpm/__db*
rpm -vv --rebuilddb

ou
rm -f /var/lib/rpm/__db*
rpm --rebuilddb
dnf -y update
Cordialement bolivari.
Fut une époque dnf ou yum disait que la bd rpm avait un souci et donner comme commande rpm --rebulddb.

Perso cela me choque pas plus que cela, mais c'est sans doute l'habitude...
En effet, l'explication n'est pas triviale.

dnf utilise en effet rpm et donc par conséquent l'ensemble de la base RPM sqlite contenue dans /var/lib/rpm/.

L'avertissement consisterait plus dans le fait de la gestion des dépendances. Comme par exemple :
Il est fortement conseillé d'utiliser DNF pour supprimer des paquets rpm afin de gérer automatiquement les dépendances. L'utilisation de la commande rpm directement peut conduire à des conflits lors d'installation ou mise à jour de paquets rpm par la suite.
Ensuite, les commandes fournies par bolivari dont aussi une solution pour reconstruire une base rpm en cas de problème.
Je pense que le problème est un peu différent

- rpm utilise la base dans /var/lib/rpm
- dnf utilise évidement librpm, donc la même base, mais aussi ses propres données, notamment l'historique dans /var/lib/dnf

D'ailleurs si la base librpm a été modifiée directement par une commande rpm, de mémoire, il râle avec un message d'avertissement, car ses données ne sont plus cohérentes.

Après ce n'est pas critique, donc juste déconseillé.


(par ailleurs, dnf est le seul capable de gérer les remplacements, les modules, etc...)