Come annullare apt-get remove?


18

So che è una situazione divertente ma ho rimosso Python con tutti i programmi associati da Ubuntu usando sudo apt-get remove python? Ovviamente posso installare nuovamente Python, ma ci vorrà molto tempo per installare tutti i programmi che ho rimosso. Forse c'è qualche soluzione?

Grazie


Includere gli sforzi di ricerca per rimuovere il voto negativo.
Colyn1337,

Wow! Una domanda di 3 anni, che mi sta aiutando a ripristinare il mio computer. Sono contento che questo fosse qui e trovato su Google. Grazie!
Michael Cole,

Risposte:


26

Non c'è un modo semplice ma se guardi /var/log/apt/history.log puoi vedere cosa è stato rimosso. Basta reinstallare ogni pacchetto che è stato rimosso.


2
Mi ha appena salvato la vita!
Sanket Sahu,

3
Mi sono registrato con serverfault solo per votare questo, grazie.
Phil

20

Ho appena fatto questo errore, puoi eseguire i comandi seguenti per annullare la rimozione dei pacchetti Questo estrarrà le informazioni dei pacchetti rimossi dal file di registro e li reinstallerà

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

salvavita ... avresti dovuto capire che apt remove libboost*era una cattiva idea
Persistenza il

2
Grazie, mi hai salvato la vita !! Promemoria: MAI CORRI "sudo apt purge python2.7"

2
Non correre sudo apt remove python3haha
ThaJay

Bene, ho usato apt purgecosì strapparmi, buona cosa è stata una nuova installazione. Sarebbe bello sapere che i sistemi operativi chiave (per la maggior parte delle persone), come netplan, lo richiedono. Certo, fa riferimento nell'elenco di rimozione, prima di chiedere se sei sicuro, ma chi ha tempo di guardare ed essere sicuro quando è più semplice semplicemente schiacciare la ychiave e il returntuo sistema nell'oblio ...
DeeJayh

5

Ho trovato un bel trucco dai forum di Ubuntu .

È possibile eseguire quanto segue in un terminale:

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

Guarda l'output, quindi usa

sudo apt-get install [packages]

e sostituisci [pacchetti] con l'ultima riga di pacchetti che è stata restituita (nota che potrebbe essere a capo).


Mi hai salvato la giornata. Mi ha davvero aiutato.
Khamidulla,

1

Cerca tutti i pacchetti che sono stati disinstallati. È memorizzato in /var/log/apt/history.log . È possibile scrivere un programma shell per installare ciascun pacchetto che è stato rimosso. Scrivilo su qualsiasi editor di testo GNU Emacs, vi, GNU Nano. Eseguire attraverso il terminale. Tutti i programmi che sono stati disinstallati verranno reinstallati da soli.


0

Per aggiungere alla risposta di ablackhat, puoi copiare e incollare tutto dopo l'ultimo comando di rimozione /var/log/apt/history.login un nuovo editor di programmatori. Regex sostituisce :.*?,con (stringa vuota) e copia tutti i pacchetti separati da spazi risultanti. Quindi corri$ sudo apt-get install <paste>


0

L'aggiornamento ripristina la maggior parte, il resto .. puoi usare le tecniche mostrate sopra. Per aggiornare basta digitare "sudo apt-get upgrade"


perché apt-get upgradereinstallare i pacchetti che sono stati rimossi intenzionalmente?
Gerald Schneider,

In realtà non è poi così lontano da una risposta perfetta all'OP: aspetta tre anni e falloapt-get dist-upgrade
quadruplebucky

-1

se tu

 apt-get install python

Python verrà reinstallato con tutti i suoi prerequisiti, qual è quello che presumo fossero tutti i programmi associati di cui parlavi?


Ho già installato Python, ma i programmi che dipendevano da esso come Zim, GImp e molti altri non sono stati ripristinati ((Anche Gedit non funziona
IgorDiy

-1. Non risolve la domanda del PO in quanto tutto ciò che ha bisogno di Python è stato rimosso.
Magellan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.