Wie mache ich apt-get remove rückgängig?

18

Ich weiß, dass es eine lustige Situation ist, aber ich habe Python mit allen dazugehörigen Programmen von Ubuntu mit sudo apt-get remove python entfernt. Natürlich kann ich wieder Python installieren, aber es wird eine Menge Zeit in Anspruch nehmen, alle Programme zu installieren, die ich entfernt habe. Vielleicht gibt es eine Lösung?

Vielen Dank

IgorDiy
quelle
Bitte geben Sie Forschungsaufwand an, um Abstimmungen zu entfernen.
Colyn1337
Wow! Eine 3 Jahre alte Frage, die hilft, meinen Computer wiederherzustellen. So froh, dass dies hier war und auf der Google gefunden. Vielen Dank!
Michael Cole

Antworten:

26

Es gibt keine einfache Möglichkeit, aber wenn Sie sich /var/log/apt/history.log ansehen, können Sie sehen, was entfernt wurde. Installieren Sie einfach jedes entfernte Paket neu.

verdammt
quelle
2
Es hat mir nur das Leben gerettet!
Sanket Sahu
3
Ich habe mich bei serverfault registriert, um dies zu verbessern, danke.
Phil
20

Ich habe gerade diesen Fehler gemacht. Sie können die folgenden Befehle ausführen, um das Entfernen von Paketen rückgängig zu machen. Dadurch werden die Informationen der entfernten Pakete aus der Protokolldatei extrahiert und neu installiert

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
tzafrir
quelle
Lebensretter ... hätte erkennen sollen, dass apt remove libboost*es eine schlechte Idee war
Beharrlichkeit
2
Danke, du hast mein Leben gerettet !! Erinnerung: Führen Sie
2
Laufen Sie nicht sudo apt remove python3haha
ThaJay
Naja, ich hab apt purgemich so aufgerissen, gut, dass es eine Neuinstallation war. Wäre schön zu wissen, dass wichtige Betriebssysteme (für die meisten Leute) wie netplan dies erfordern. Sicher, es verweist auf es in der Löschliste, bevor Sie gefragt werden, ob Sie sicher sind, aber wer hat Zeit zu suchen und sicher zu sein, wann es einfacher ist, nur den ySchlüssel und returnIhr System in Vergessenheit zu bringen ...
DeeJayh
5

Ich habe einen coolen Trick aus den Ubuntu-Foren gefunden .

In einem Terminal kann Folgendes ausgeführt werden:

awk '!/^Start|^Commandl|^End|^Upgrade:|^Error:/ { gsub( /\([^()]*\)/ ,"" );gsub(/ ,/," ");sub(/^Install:/,""); print}' /var/log/apt/history.log

Schauen Sie sich die Ausgabe an und verwenden Sie dann

sudo apt-get install [packages]

und ersetzen Sie [Pakete] durch die letzte Zeile der zurückgegebenen Pakete (beachten Sie, dass diese möglicherweise umgebrochen werden).

Railgun
quelle
Du hast meinen Tag gerettet. Es hat mir wirklich sehr geholfen.
Khamidulla
1

Suchen Sie nach allen Paketen, die deinstalliert wurden. Es wird unter /var/log/apt/history.log gespeichert . Sie können ein Shell-Programm schreiben, um jedes entfernte Paket zu installieren. Schreiben Sie es in einen beliebigen Texteditor GNU Emacs, vi, GNU Nano. Führen Sie es über das Terminal aus. Alle deinstallierten Programme werden automatisch neu installiert.

user234756
quelle
0

Um die Antwort von ablackhat zu ergänzen, können Sie alles nach dem letzten Befehl zum Entfernen /var/log/apt/history.login einen neuen Programmiereditor kopieren und einfügen . REGEX ersetzen :.*?,mit (leere Zeichenkette) und kopieren alle resultierenden Leerzeichen getrennte Pakete. Dann renne$ sudo apt-get install <paste>

Trent Bing
quelle
0

Durch das Aktualisieren wird das meiste wiederhergestellt, der Rest. Sie können die oben gezeigten Techniken verwenden. Um ein Upgrade durchzuführen, geben Sie einfach "sudo apt-get upgrade" ein.

Thom
quelle
Warum sollten apt-get upgradePakete, die absichtlich entfernt wurden, neu installiert werden?
Gerald Schneider
Eigentlich ist es gar nicht so weit von einer perfekten Antwort auf die OP entfernt: Warten Sie drei Jahre und machen Sie esapt-get dist-upgrade
vierfach
-1

wenn du

 apt-get install python

Python wird mit all seinen Voraussetzungen neu installiert. Ich gehe davon aus, dass Sie von all den dazugehörigen Programmen gesprochen haben.

Nick M.
quelle
Ich habe Python bereits installiert, aber Programme, die davon abhängig waren, wie Zim, GImp und viele andere, wurden nicht wiederhergestellt ((Auch
Gedit
-1. Löst nicht die Frage des OP, dass alles, was Python benötigt, auch entfernt wurde.
Magellan