web-dev-qa-db-fra.com

Comment annuler apt-get autoremove

Je viens de tomber dans le piège d'appeler

Sudo apt-get install autoremove

Je l'ai fait car je ne pouvais pas installer Sudo apt-get install libopencv-dev à cause de unmet dependencies. Maintenant, mon ros-Indigo installation est défectueuse, opencv n'est toujours pas installé et je ne peux pas non plus le réinstaller.

En essayant de l'installer, je ne reçois que

E: Unable to correct problems, you have held broken packages.

Je crains d'être sur le point de tuer tout mon système de dépendance aux paquets. Quelqu'un peut m'aider s'il vous plaît?

Puis-je utiliser le fichier /var/log/apt pour inverser la procédure de suppression de ros?

5
mcExchange

Je ne sais pas s'il existe un moyen plus simple, mais si vous regardez /var/log/apt/history.log, vous pouvez voir ce qui a été supprimé. Il suffit de réinstaller chaque paquet qui a été supprimé.

En utilisant cela peut économiser votre temps

echo '#!/bin/bash' > restore
echo Sudo apt-get install `grep Remove /var/log/apt/history.log | tail -1 | sed -e 's|Remove: ||g' -e 's|([^)]*)||g' -e 's|:[^ ]* ||g' -e 's|,||g'` >> restore
chmod +x restore 
./restore
7
storm