Jusqu'à preuve du contraire, aucune option de ligne de commande urpmi ne permet de forcer une réinstallation.
La réponse reste invariablement "Tout est déjà installé".
Pour y remédier, j'ai testé l'installation intermédiaire d'une version précédente :
# urpmq -ar coreutils
coreutils-5.0-6mdk|coreutils-5.0-6.1.92mdk
# urpmi --force coreutils-5.0-6mdk && urpmi coreutils-5.0-6.1.92mdk
Ça fonctionne, mais nécessite le téléchargement d'un paquet supplémentaire et peut poser problème avec les dépendances.
J'ai aussi testé la désinstallation virtuelle :
# rpm -e --justdb --nodeps coreutils
# urpmi coreutils
Là l'inconvénient c'est que urpmi fait une nouvelle installation, pas une mise à jour. Du coup il tique un peu sur les fichiers de config déjà existants et rajoute des rpmnew.
Reste le téléchargement et l'installation à la main, mais urpmi est là pour nous éviter ça, pas vrai ?
Bref rien de vraiment satisfaisant.
Vous avez une meilleure solution ?
Un vrai --force ça serait tellement bien...
NB: Les motifs de réinstallation sont nombreux, là n'est pas la question.
Dans mon cas il s'agit d'installer les catalogues de messages manquants suite à la modif de la langue dans /etc/rpm/macros
# Ah ben tiens....
Posté par Nicolas Melay . Évalué à 3.
http://qa.mandriva.com/twiki/bin/view/Main/UrpmiDev
# C'est pas fini...
Posté par Nicolas Melay . Évalué à 1.
http://qa.mandriva.com/show_bug.cgi?id=16112
Autre hack possible: modifier la base de données rpm directement (sans utiliser rpm) et y changer le numéro de version installé (en ajoutant un caractère?).
De cette manière, une exécution consécutive de urpmi identifierait la version installée comme non-à jour et autoriserait la mise à jour.
Ça parait tordu mais ça a l'avantage d'être direct.
Par contre modifier la bdd rpm à la main (ou avec les db-utils qui vont bien?), ça risque de ne pas être de la tarte...
Encore une autre piste: regénérer un paquet rpm à partir de l'installation courante.
Est-ce possible?
Y a-t-il moyen de reconstruire un rpm à partir de la bdd rpm et des fichiers installés, tout en bidouillant son numéro de version à la volée ?
Qu'en pensez-vous?
[^] # Re: C'est pas fini...
Posté par Sylvain Rampacek (site web personnel) . Évalué à 2.
car ça ne m'étonnerai absolument pas qu'un md5 ou une telle vérification soit faite sur cette base pour éviter justement de partir avec un fichier corrompue ou autre !
donc une modif à la main dedans risque de corrompre cette base...
et là, ben, ça va devenir galère !!
# urpmi.recover
Posté par Laurent Saint-Michel . Évalué à 3.
# urpmi.recover
urpmi.recover version 4.8.23
Copyright © 2006 Mandriva.
Ceci est un logiciel libre pouvant être redistribué selon les termes de la licence GNU GPL.
usage :
--help - afficher ce message d'aide
--checkpoint - initialiser maintenant le point de référence
--noclean - ne pas vider le répertoire de regénération lors de
l'initialisation du point de référence
--list - lister les transactions effectuées depuis la date ou durée
précisée
--list-all - lister toutes les transactions de la base RPM.
--list-safe - lister les transactions effectuées depuis le dernier point
de référence
--rollback - revenir à l'état correspondant à la date spécifiée,
ou revenir en arrière du nombre de transactions précisé
--disable - désactive la regénération
[^] # Re: urpmi.recover
Posté par Nicolas Melay . Évalué à 1.
D'après la description, urpmi.recover permet un suivi des (dés)installations de paquets et rollback éventuel, mais rien concernant l'intégrité des paquets actuellement installés.
[^] # Re: urpmi.recover
Posté par Laurent Saint-Michel . Évalué à 2.
Voila simple et efficase
Laurent
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.