J'ai utilisé la commande Sudo apt-get remove python
et j'ai accidentellement retiré un paquet de paquets nécessaires. Je me suis connecté via la ligne de commande et j'ai installé ubuntu-desktop à nouveau, mais il manque d'autres paquets, et je cherche un moyen de réinstaller facilement les paquets supprimés. Comme il existe un journal au centre logiciel, je voulais demander quel serait le moyen le plus simple d’annuler les modifications ou d’extraire la liste des paquets supprimés à partir du centre logiciel ...
remarque: j'ai tapé Sudo apt-get install .... .... ... ...
pour environ deux douzaines de programmes supprimés dans cette liste, mais lorsque j'ai appuyé sur Entrée, aucun de ces programmes n'a été installé car certains noms de paquetages étaient introuvables.
Les programmes ont été supprimés à la même date.
Tout d’abord, laissez-moi vous dire que supprimer python
peut conduire à de nombreuses commandes fondamentales qui ne fonctionnent plus. Donc, je ne sais pas si ce qui suit va marcher.
Deuxièmement, je suppose que votre erreur package names couldn't be found
provient d'un nom mal orthographié sur la ligne de commande ou d'un package installé localement et non disponible dans les référentiels.
Ensuite, pour obtenir un journal des packages supprimés, par rapport au dernier journal dpkg
disponible (je ne pense pas que vous deviez prendre en compte les anciens journaux):
awk '$3 == "remove" { print $1, $2, $4 }' /var/log/dpkg.log | tee list
Editez ensuite le fichier list
créé dans le répertoire en cours et ne laissez que les lignes relatives aux packages que vous souhaitez réinstaller, en fonction de l'horodatage de la ligne. Supposons que vous sauvegardiez le fichier modifié dans list-mod
.
Pour réinstaller ces packages, utilisez la commande suivante:
Sudo apt-get --simulate install $(awk '{ print $3 }' list-mod)
J'ai inséré l'option --simulate
pour voir ce que la commande ferait. Si tout est ok, relancez la commande avec cette option supprimée.
Si la commande indique que certains packages sont introuvables, supprimez-les simplement de list-mod
et réessayez.
Donc, je fais une erreur similaire: Sudo apt-get purge python3.6*
au lieu de Sudo apt-get purge python3.6.*
.
J'ai pu résoudre le problème assez rapidement en procédant comme suit:
vim /var/log/history.log
./python3.6\*
.Purge: unity-control-center-signon:AMD64 (0.1.7~+14.04.20140211.2-0ubuntu4), ...
avec une longue liste de paquets purgés (en cas de suppression, elle commencera par Remove:
), que j'ai copiée dans un autre fichier sans la partie Purge:
pour l'utiliser. .%s/:[^,]*,//g
, qui a supprimé la partie de version et m'a laissé une liste de packages unity-control-center-signon lxc ...
.Sudo apt-get install unity-control-center-signon lxc ...
, et c'est ainsi que cela a été corrigé.