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

Utiliser le cache de pacman

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>

Arch Rollback Machine

Arch Rollback Machine (ARM) est un historique quotidien des miroirs Archlinux officiels.

Note: La Arch Rollback Machine d'origine a été fermée le 2013-08-18.

ARM peut-être utilisé pour réinstaller un paquet plus ancien ou remettre tout le système à une date précise, voir ces instructions.

Recompiler le paquet

Dans le pire des cas, si le paquet ne se trouve nulle part, vous aurez besoin de compiler l'ancienne version vous-même. Pour ce faire, vous aurez besoin d'un PKGBUILD.

Pour les paquets des dépôts officiels, vous pourriez modifier le PKGBUILD existant fourni par ABS de façon à utiliser des sources plus anciennes ou vous pouvez visiter https://www.archlinux.org/packages/ et rechercher le paquet que vous souhaitez rétrograder. Une fois trouvé, cliquez sur "View Changes". Localisez la version dont vous avez besoin et cliquez sur le chemin correspondant. Il suffit ensuite de télécharger les fichiers situés dans le répertoire et construire le paquet avec makepkg.

Les anciennes versions des paquets AUR peuvent être obtenues sur http://pkgbuild.com/git/aur-mirror.git/ .

Outils personnels
Autres langues