vérifier la base RPM

vérifier la base RPM - Logiciels - Linux et OS Alternatifs

Marsh Posté le 11-08-2003 à 13:51:38    

Bonjour  
 
suite à une restoration de mon disque racine, la base rpm (sur /var, un disque à part) n'est plus synchrone avec les programmes installés.  
 
c.a.d que la base a des références à des programmes qui ne sont pas présent sur le disque ...  
 
comment faire ?  
 


---------------
http://olivier.glagla.net/
Reply

Marsh Posté le 11-08-2003 à 13:51:38   

Reply

Marsh Posté le 11-08-2003 à 16:47:40    

rpm --rebuilddb


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 12-08-2003 à 11:10:46    


 
 
 :non:  
 
ça ne fait aucune comparaison avec les fichiers sur le disque :-(


---------------
http://olivier.glagla.net/
Reply

Marsh Posté le 12-08-2003 à 12:20:50    

alors c'est impossible, réfléchi 2 secondes. soit tu reconstruit la base, soit tu réinstalle tes rpm en forçant, mais à partir des fichiers présent il ne peut savoir kels rpms sont présent ou pas


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 01-09-2003 à 21:10:47    

Dark_Schneider a écrit :

alors c'est impossible, réfléchi 2 secondes. soit tu reconstruit la base, soit tu réinstalle tes rpm en forçant, mais à partir des fichiers présent il ne peut savoir kels rpms sont présent ou pas


 
apres 2 secondes de reflexion ....  
 
- je prends une entrée dans ma base  
- elle m'indique les fichiers contenus dans le paquet
- si ces fichiers existent, alors l'entrée est valable
- sinon on peut retirer l'entrée  
 
 :kaola:


---------------
http://olivier.glagla.net/
Reply

Marsh Posté le 02-09-2003 à 14:15:43    

mais ajouter une entrée si tu n'as pas le rpm n'est pas possible.
 
synchroniser c'est dans les 2 sens ...


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 03-09-2003 à 09:19:26    

Dark_Schneider a écrit :

mais ajouter une entrée si tu n'as pas le rpm n'est pas possible.
 
synchroniser c'est dans les 2 sens ...


 
 
vrai !  
 
je le suis mal exprimé
 
bon, mais mon pblm n'est pas résolu :-(


---------------
http://olivier.glagla.net/
Reply

Marsh Posté le 03-09-2003 à 12:46:12    

tu devras tout te taper à la main à mon avis.
 
tu peux éventuellement faire un script
 
un rpm -qa pour la liste complète des packages, une boucle dessus ki pour chaque éléments affiche la liste des fihcier ( rpm -ql ) et une boucle dessus qui testent si les fichiers existent et si non le nom du package est stockés dans un fichier.
une fois tout cela finie tu peux faire un autre script qui parcoure le fichier et désinstalle les packages listés et éventuellement avant vérifier par toi même pour certains packages si c'est correcte.


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 03-09-2003 à 19:05:56    

Dark_Schneider a écrit :

tu devras tout te taper à la main à mon avis.
 
tu peux éventuellement faire un script
 
un rpm -qa pour la liste complète des packages, une boucle dessus ki pour chaque éléments affiche la liste des fihcier ( rpm -ql ) et une boucle dessus qui testent si les fichiers existent et si non le nom du package est stockés dans un fichier.
une fois tout cela finie tu peux faire un autre script qui parcoure le fichier et désinstalle les packages listés et éventuellement avant vérifier par toi même pour certains packages si c'est correcte.


 
cimer pour les commandes rpm  
 
 :jap:


---------------
http://olivier.glagla.net/
Reply

Marsh Posté le 16-09-2003 à 21:47:21    

salut, j'ai un probleme avec la commande rpm --rebuilddb
 
[root@localhost david]# rpm --rebuilddb
error: db4 error(16) from dbenv->remove: Périphérique ou ressource occupé
 
vous savez d'ou ca vient?
(dsl pour le squatage du topic) :)

Reply

Marsh Posté le 16-09-2003 à 21:47:21   

Reply

Marsh Posté le 16-09-2003 à 21:50:35    

rpm déjà éxécuté ?

Reply

Marsh Posté le 16-09-2003 à 21:53:00    

non

Reply

Marsh Posté le 16-09-2003 à 22:05:47    

quelle distro ? pourquoi un rebuilddb ? (c'est pour cerner le problème)

Reply

Marsh Posté le 16-09-2003 à 22:21:38    

ah vi, j'ai oublié ces petits details :)
c'est sur une redhat 9 (je debute)
et on m'a dit de faire un rebuilddb parce que j'ai un soucis pour installer un rpm:
 
[root@localhost david]# rpm -i unrar-3.2.1-fr1.src.rpm
warning: unrar-3.2.1-fr1.src.rpm: V3 DSA signature: NOKEY, key ID e42d547b
warning: user dude does not exist - using root
warning: group dude does not exist - using root
 
pourquoi il cherche le group et le use dude? c'est le probleme ...

Reply

Marsh Posté le 16-09-2003 à 22:32:27    

ça n'a rien à voir ça, pas besoin de rebuild, il te signale juste que l'utilisateur qui a packagé n'existe pas sur ta machine, mais ça n'empêche rien...  
 
là en fait tu n'installes pas directement un rpm, disons plûtot que tu extraits les sources qui vont se mettre dans /usr/src/redhat/SOURCES, /usr/src/redhat/SPECS
 
toi ce que tu veux c'est installer unrar ? donc :
 
- soit tu prends unrar-3.2.1-fr1.rpm et tu fais : rpm -ivh unrar-3.2.1-fr1.rpm
 
- soit tu prends unrar-3.2.1-fr1.src.rpm, tu fais : rpmbuild --rebuild unrar-3.2.1-fr1.src.rpm et tu installes ensuite le rpm généré, à savoir unrar-3.2.1-fr1.rpm
 
rpm --rebuilddb sert à corriger les erreurs sur la base rpm, par exemple quand une coupure/plantage intervient pendant l'utilisation du processus rpm, ou par exemple quand celui-ci plante comme ça risque de t'arriver (dans ce cas il faut VRAIMENT bien tuer le processus rpm$ déjà existant et lancer rpm --rebuilddb)
 
rpm$ = rpmq, rpmi, rpme, ....

Reply

Marsh Posté le 16-09-2003 à 22:51:46    

un petit script que j'avais fait après avoir malencontreusement effacé ma base RPM et qui la reconstruit à partir des fichiers présents (c'est pas parfait, ya quelques paquets qui échappent mais pas des masses)  
 
http://mjules.free.fr/script/rebuildrpm


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 16-09-2003 à 23:00:51    

BMOTheKiller a écrit :

ça n'a rien à voir ça, pas besoin de rebuild, il te signale juste que l'utilisateur qui a packagé n'existe pas sur ta machine, mais ça n'empêche rien...  
 
là en fait tu n'installes pas directement un rpm, disons plûtot que tu extraits les sources qui vont se mettre dans /usr/src/redhat/SOURCES, /usr/src/redhat/SPECS
 
toi ce que tu veux c'est installer unrar ? donc :
 
- soit tu prends unrar-3.2.1-fr1.rpm et tu fais : rpm -ivh unrar-3.2.1-fr1.rpm
 
- soit tu prends unrar-3.2.1-fr1.src.rpm, tu fais : rpmbuild --rebuild unrar-3.2.1-fr1.src.rpm et tu installes ensuite le rpm généré, à savoir unrar-3.2.1-fr1.rpm
 
rpm --rebuilddb sert à corriger les erreurs sur la base rpm, par exemple quand une coupure/plantage intervient pendant l'utilisation du processus rpm, ou par exemple quand celui-ci plante comme ça risque de t'arriver (dans ce cas il faut VRAIMENT bien tuer le processus rpm$ déjà existant et lancer rpm --rebuilddb)
 
rpm$ = rpmq, rpmi, rpme, ....


 
merci! ca fonctionne !
 :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed