Rétrograder un paquet

De ArchwikiFR

Avant de rétrograder un seul ou un ensemble de paquets, il serait intéressant de savoir pourquoi vous voulez le faire. Si c'est dû à un bug, merci de prendre un moment pour rechercher si un ticket est déjà ouvert, et sinon ouvrez-en un, ça peut au mieux corriger le bug et au minimum avertir les autres utilisateurs.

Pour l'ouverture de ticket → http://bugs.archlinux.org

Sommaire

Revenir de [testing]

Vous avez voulu tester [testing], mais en fin de compte, vous vous ravisez, et voudriez bien revenir comme avant, le principe est simple, il suffit de commenter l'entrée du dépôt [testing] dans /etc/pacman.conf puis:

pacman -Syuu

Librairie trop récente

Certaines mises à jour demandent une reconstruction en chaîne d'applications et il peut arriver qu'un paquet ne soit pas encore reconstruit lorsque vous l'installez. L'erreur typique ressemble à :

error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory

(pour cette erreur en particulier, installer le paquet libjpeg6 dispo sur AUR ou compilé ici.)

Une solution générale peut être de recompiler le paquet à qui appartient le programme qui sort l'erreur :

yaourt -Sb <paquet>

Malheureusement, cette solution peut s'avérer fastidieuse si le nombre de paquets à recompiler est énorme ou tout simplement si l'on a du mal à définir les paquets à recompiler.

Pour savoir à quel paquet appartient un fichier:

pacman -Qo /chemin/du/fichier

Réinstaller la version précédente d'un paquet

Si vous venez de procéder à l'installation et que vous n'avez pas effacé le cache de pacman (cf. man pacman, -Scc), le paquet à la version précédente est encore disponible dans /var/cache/pacman/pkg/ :

cd /var/cache/pacman/pkg/
pacman -U <nom_du_fichier_du_paquet>

Archlinux Rollback Machine

Ou ARM de son petit nom. Ce projet a été initié par kumyco, un utilisateur d'Archlinux, et il consiste à garder un historique des dépôts officiels.

Le principe est simple, pour exemple, on veut accéder aux paquets i686 de [extra] datant de 01/05/2010, il suffit d'accéder à l'adresse http://arm.konnichi.com/2010/05/01/extra/os/i686/

C'est suffisant pour télécharger le paquet et l'installer à l'aide de pacman -U, mais si toutefois, le paquet en question demande des dépendances avec une version antérieure ou que vous vouliez tout simplement revenir à un jour précis, il faut définir le miroir en premier dans /etc/pacman.d/mirrorlist de la façon suivante :

Server = http://arm.konnichi.com/2010/05/01/$repo/os/$arch/

Il ne reste plus qu'à faire :

pacman -Syy paquet

Puis installer ledit paquet datant de cette date.

On peut également ramener tout le système à cette date :

pacman -Syyuu

Si la date est inconnue, on peut également rechercher un paquet manuellement à cette adresse http://arm.konnichi.com/search/, le télécharger et l'installer.

Outils personnels
Autres langues