Ich habe den sudo apt-get remove python
Befehl verwendet und versehentlich eine Reihe von Paketen entfernt, die erforderlich waren. Ich habe mich über die Befehlszeile angemeldet und Ubuntu-Desktop erneut installiert, aber es fehlen noch andere Pakete, und ich suche nach einer Möglichkeit, diese entfernten Pakete einfach neu zu installieren. Da es das Protokoll im Software-Center gibt, wollte ich fragen, wie es am einfachsten ist, Änderungen rückgängig zu machen oder die Liste der entfernten Pakete aus dem Software-Center zu extrahieren ...
Hinweis: Ich habe sudo apt-get install .... .... ... ...
ungefähr zwei Dutzend dieser entfernten Programme in dieser Liste eingegeben , aber als ich die Eingabetaste gedrückt habe, wurde keines davon installiert, da einige Paketnamen nicht gefunden wurden.
Die Programme wurden zum gleichen Zeitpunkt entfernt.
quelle
/var/log/apt/history.log
Antworten:
Lassen Sie mich zunächst sagen, dass das Entfernen
python
dazu führen kann, dass viele grundlegende Befehle nicht mehr funktionieren. Ich weiß also nicht, ob das Folgende funktionieren wird.Zweitens
package names couldn't be found
gehe ich davon aus, dass der Fehler , den Sie haben, von einem falsch geschriebenen Namen in der Befehlszeile oder von einem lokal installierten und nicht in Repositorys verfügbaren Paket herrührt.Um dann ein Protokoll der entfernten Pakete relativ zum zuletzt
dpkg
verfügbaren Protokoll zu erhalten (ich glaube nicht, dass Sie ältere Protokolle berücksichtigen müssen):Bearbeiten Sie dann die
list
im aktuellen Verzeichnis erstellte Datei und lassen Sie nur Zeilen relativ zu Paketen, die Sie neu installieren möchten, basierend auf dem Zeitstempel der Zeile. Angenommen, Sie speichern die geänderte Datei inlist-mod
.Verwenden Sie den folgenden Befehl, um diese Pakete neu zu installieren:
Ich habe die
--simulate
Option eingefügt, um zu sehen, was der Befehl tun würde. Wenn alles in Ordnung ist, führen Sie den Befehl erneut aus, wobei diese Option entfernt wurde.Wenn der Befehl besagt, dass einige Pakete nicht gefunden werden können, entfernen Sie sie einfach aus
list-mod
und versuchen Sie es erneut.quelle
dpkg
zuapt-get
,aptitude
, Synaptische, Software Center,gdebi
etc. Sie einen Blick auf ältere geben könnendpkg.log
Dateien findenls -lrt /var/log/dpkg.log*
.Also mache ich zufällig einen ähnlichen Fehler:
sudo apt-get purge python3.6*
stattsudo apt-get purge python3.6.*
.Ich konnte es mit den folgenden Schritten ziemlich schnell beheben:
vim /var/log/history.log
./python3.6\*
.Purge: unity-control-center-signon:amd64 (0.1.7~+14.04.20140211.2-0ubuntu4), ...
mit einer langen Liste gelöschter Pakete (im Falle des Entfernens beginnt sie damitRemove:
), die ich in eine andere Datei kopierte, ohne dass dasPurge:
Teil damit arbeiten konnte.%s/:[^,]*,//g
, der den Versionsteil entfernt und mir eine Liste von Paketen hinterlassen hatunity-control-center-signon lxc ...
.sudo apt-get install unity-control-center-signon lxc ...
und so wurde es behoben.quelle
/var/log/apt/history.log