Como desfazer o apt-get remover?


18

Eu sei que é uma situação engraçada, mas eu removi o python com todos os programas associados do Ubuntu usando o sudo apt-get remove python? Obviamente, posso instalar o python de volta, mas levarei muito tempo para instalar todos os programas que removi. Talvez haja alguma solução?

obrigado


Inclua esforços de pesquisa para remover votos negativos.
precisa saber é o seguinte

Uau! Uma pergunta de 3 anos que está ajudando a restaurar o meu computador. Tão feliz que isso foi aqui e encontrado no google. Obrigado!
Michael Cole

Respostas:


26

Não existe uma maneira fácil, mas se você olhar para /var/log/apt/history.log, poderá ver o que foi removido. Apenas reinstale cada pacote que foi removido.


2
Apenas salvou minha vida!
Sanket Sahu

3
Registrei-me no serverfault apenas para voto a favor, obrigado.
Phil

20

Acabei de cometer este erro. Você pode executar os comandos abaixo para desfazer a remoção dos pacotes. Isso extrairá as informações dos pacotes removidos do arquivo de log e os reinstalará.

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

salva-vidas ... devia ter percebido apt remove libboost*foi uma má idéia
Persistência

2
Obrigado, você salvou minha vida !! Lembrete: NUNCA EXECUTAR "sudo apt purge python2.7"

2
Não corra sudo apt remove python3haha
ThaJay

Bem, eu costumava apt purgeme rasgar, ainda bem que era uma instalação nova. Seria bom saber que os principais sistemas operacionais (para a maioria das pessoas), como o netplan, exigem isso. Certifique-se de referenciá-lo na lista de remoção, antes de perguntar se você tem certeza, mas quem tem tempo para procurar e ter certeza de quando é mais fácil bater na ychave e returnno sistema no esquecimento ...
DeeJayh

5

Encontrei um truque legal nos fóruns do Ubuntu .

É possível executar o seguinte em um terminal:

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

Olhe para a saída e use

sudo apt-get install [packages]

e substitua [packages] pela última linha de pacotes retornada (observe que ele pode quebrar).


Você salvou meu dia. É realmente realmente me ajudou.
Khamidulla

1

Procure todos os pacotes que foram desinstalados. Ele é armazenado em /var/log/apt/history.log . Você pode escrever um programa shell para instalar cada pacote que foi removido. Escreva em qualquer editor de texto GNU Emacs, vi, GNU Nano. Execute-o através do terminal. Todos os programas desinstalados serão reinstalados por eles mesmos.


0

Para adicionar à resposta do ablackhat, você pode copiar e colar tudo após o último comando de remoção /var/log/apt/history.logem um novo editor de programadores. Regex substitua :.*?,por (string vazia) e copie todos os pacotes separados por espaço resultantes. Então corra$ sudo apt-get install <paste>


0

A atualização restaura a maior parte, o restante .. você pode usar as técnicas mostradas acima. Para atualizar, digite "sudo apt-get upgrade"


por que apt-get upgradereinstalar pacotes que foram propositalmente removidos?
Gerald Schneider

Na verdade não é assim tão longe de uma resposta perfeita para o OP: esperar três anos e fazerapt-get dist-upgrade
quadruplebucky

-1

se vocês

 apt-get install python

O Python será reinstalado com todos os pré-requisitos, e é isso que eu suponho que todos os programas associados que você está falando?


Eu já instalei o Python, mas os programas que onde dependente dele como Zim, Gimp e um monte de outras pessoas não foi revertida ((Mesmo Gedit não está funcionando
IgorDiy

-1. Não resolve a questão do OP, pois tudo o que precisa do Python também foi removido.
Magellan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.