1 votes

Mise à jour de tous les paquets externes vers les paquets officiels

Disons que j'ai installé un tas de paquets à partir de dépôts PPA externes et qu'ils ont modifié ou remplacé les paquets par défaut existants dans le système. Supposons qu'ensuite je supprime ces PPA des apt-sources et que je ne me souvienne plus de leurs noms. Alors, comment puis-je utiliser ppa-purge ou de rétrograder ces paquets vers les paquets par défaut ?

Y a-t-il un moyen de lister/trouver tous les paquets installés à partir de dépôts de logiciels non-Ubuntu ? Je pourrais alors revenir aux paquets officiels si nécessaire.

1voto

Elder Geek Points 34144

Vous pourriez utiliser apt-forktracer

Pour l'installer, vous devez d'abord activer le référentiel de l'Univers et ensuite l'installer soit via le centre de logiciels, soit avec la commande sudo apt-get install apt-forktracer

Voici un extrait de la page de manuel :

apt-forktracer analyzes each installed package separately, reporting on the standard output these packages which are in a "non-standard" state. What "non-standard" means depends on the mode of program operation:

default (non-verbose) mode
    this state means packages in an incorrect state (e.g. no candidate version) or packages whose candidate version is different than the newest available official version.

verbose mode
    this state also includes packages whose installed version is different from the candidate version 

Et voici un exemple de la sortie par défaut :

libavformat57 (7:3.1~~git20160413.62652~ubuntu14.04.1) [LP-PPA-motumedia-ffmpeg-daily: 7:3.1~~git20160413.62652~ubuntu14.04.1]
libavresample3 (7:3.1~~git20160413.62652~ubuntu14.04.1) [LP-PPA-motumedia-ffmpeg-daily: 7:3.1~~git20160413.62652~ubuntu14.04.1]
libavfilter6 (7:3.1~~git20160413.62652~ubuntu14.04.1) [LP-PPA-motumedia-ffmpeg-daily: 7:3.1~~git20160413.62652~ubuntu14.04.1]

Pour plus d'informations, voir man apt-forktracer

Maintenant que nous connaissons les noms des paquets en question, nous pouvons les supprimer (ou les purger)

D'autres méthodes comme @muru Les notes dans son commentaire sont à :

A) utiliser synaptic pour localiser les paquets obsolètes.

synaptic-obsolete

Vous pouvez ensuite sélectionner ceux que vous souhaitez retirer ou supprimer complètement comme indiqué ci-dessous :

synaptic-removal

Ou

B) utiliser aptitude

Lors du lancement aptitude Sélectionnez Actions -> Devenir root et après avoir entré votre mot de passe, sélectionnez "Paquets obsolètes et créés localement" comme indiqué ci-dessous :

aptitude-obsolete

Naviguez jusqu'au paquet que vous voulez supprimer comme indiqué ci-dessous :

aptitude-remove

Appuyez sur le bouton - pour marquer le paquet à retirer. Lorsque vous avez terminé de marquer les paquets que vous souhaitez retirer, appuyez sur la touche g pour les enlever ou si vous avez fait une erreur de marquage, Ctrlu pour annuler les changements de comportement pour la session.

出典

https://manpages.debian.org/testing/apt-forktracer/apt-forktracer.8.en.html

http://aptitude.alioth.debian.org/doc/en/ch02s01s02.html

0voto

Kelvie Wong Points 1

Pour aller plus loin dans la réponse ci-dessus, j'ai trouvé que forktracer était très utile pour cela. Après de nombreux PPAs activés et désactivés, voici un moyen de revenir aux versions "officielles".

Tout d'abord, générez une liste de paquets en utilisant apt-forktracer :

apt-forktracer | grep Ubuntu: | sed 's/\([^ ]*\).*Ubuntu: \([^] ]*\).*/\1=\2/' > ubuntu-packages.list

En sed le met en forme d'une manière que vous pouvez utiliser avec apt-get install .

Ensuite, il suffit de les déclasser tous :

sudo apt-get install --mark-auto $(cat ubuntu-packages.list)

Il vous prévient s'il a l'intention de supprimer un paquet dangereux, mais vous devez absolument vérifier la liste des paquets qu'il va supprimer avant de continuer.

Dans mon exemple, j'ai dû modifier ubuntu-packages.list pour supprimer un déclassement de libcrypt1 parce que cela aurait pris libc avec elle, ce qui n'est pas ce que je voulais.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X