Eu removi acidentalmente todos os pacotes começando com o nome jpeg
com:
sudo apt-get remove jpeg*
Isso estragou muitas coisas, removeu o Unity, Firefox, Flash player etc.
De alguma forma, consegui recuperar a área de trabalho e a unidade, mas muitas coisas ainda estão com erros. Por exemplo, .rpm
arquivos e .tag.gz
simplesmente não serão abertos.
O que eu quero é uma maneira de consertar tudo o que está errado. Algo que é equivalente a uma 'instalação de reparo' com um disco do Windows.
Alguma dica, alguém?
Respostas:
Você pode instalar a
ubuntu-desktop
tarefa:Isso instalará todos os pacotes do Ubuntu Desktop padrão que você removeu. Ele não restaurará os pacotes que você instalou que não fazem parte da área de trabalho padrão (ou seja, reinstalarão o Unity e o Firefox, mas não o Flash player).
Para instalar esses pacotes, você pode verificar
/var/log/apt/history.log
e ver exatamente o que removeu.Nota: instalar a
ubuntu-desktop^
tarefa não é o mesmo que instalar oubuntu-desktop
pacote . O primeiro fornecerá ao APT algumas dicas para resolver dependências que envolvem pacotes virtuais, o último dará ao APT a liberdade de escolher pacotes (e acabará instalando coisas inúteis comoubiquity
).Por que o problema aconteceu?
apt-get remove jpeg*
irá não remover todos os pacotes começando comjpeg
. Em vez disso, removerá todos os pacotes que contenhamjpe
seus nomes. Isso ocorre porque o apt-get trabalha com expressão regular, de modo que jpeg * significa: tudo que contém jpe seguido por zero ou mais g .fonte
tasksel
para remover uma tarefa - veja desagradável tasksel-bugA melhor maneira de corrigir esse problema pode ser reinstalar o Ubuntu. (Você deve fazer backup dos seus documentos primeiro, mesmo se planeja reinstalar sem reformatar.)
Se você deseja tentar consertar o sistema, verifique os arquivos de log do gerenciador de pacotes para ver quais pacotes foram removidos e reinstale-os:
/var/log/dpkg.log
(informação completa, mas difícil de ler)/var/log/apt/history.log
(abreviado por dirá a você todos os pacotes removidos ou modificados - provavelmente sua melhor aposta)/var/log/apt/term.log
(se você tiver removido os pacotes comapt-get
no terminal, isto deve exibir o que você viu, então, incluindo listas de quais pacotes foram vai ser removido - de modo que este pode ser o melhor caminho)Reinstalar apenas pacotes cujos nomes começam
jpeg
não funcionará, porque muitos (quase certamente) dos pacotes removidos foram removidos porque dependiam desses pacotes.No futuro , recomendo verificar cuidadosamente as consequências da desinstalação de um pacote. Se você estiver trabalhando na linha de comando, sempre será notificado. (A menos que você use a
-y
opção, nesse caso, geralmente não. Recomendo que não seja usada, a menos que você saiba o que está fazendo, principalmente para remoções.)Uma maneira de verificar as consequências de uma operação de gerenciamento de pacotes realizada
apt-get
sem correr o risco de ocorrer, é executar emapt-get -s
vez desudo apt-get
. Isso simula apenas a ação especificada e relata quais pacotes serão afetados como resultado e como.fonte
Eu corro
sudo apt-get purge wine*
no Ubuntu 15.10, portanto, nenhuma interface gráfica na opção de login do terminal apenas de inicialização.Como Eliah Kagan sugeriu, usei as informações do
/var/log/apt/history.log
I nano no history.log e criei um script simples que continhasudo apt-get install
todos os pacotes limpos que encontrei na linha:Mas primeiro eu tive que remover manualmente o texto entre todos: e, incluindo o:,
nesta etapa, um novo script seria útil porque os pacotes eram centenas. depois disso, executei o script e removi alguns
Unable to locate packages
(que eu tinha instalado manualmente). execute o script novamente e pronto. Tudo está funcionando bem ... felizmentefonte
Instale o pacote ubuntu-desktop
Ele instalará os pacotes necessários para o seu sistema.
fonte
Eu removi acidentalmente
libssl1.0.0
e minha máquina estava danificada. Para restaurar, eu fiz:cp /var/log/apt/term.log ~/libssl.term.log
vi ~/libssl.term.log
ping google.com
), reinicie no modo de recuperação e ative a redecat ~/libssl.term.log | grep ^Removing | sed -e 's/^Removing //g;s/ (.*$//g;/diversion of/d;/dangling symlinks/d' | xargs sudo apt-get -y install
fonte
Aqui está um pequeno script python onde você pode escrever a sequência de pacotes (inutilizável) a partir da desinstalação em massa que está ativada
/var/log/apt/history.log
. Ele produzirá uma string que você pode copiar e colar no comando apt-get install para instalar facilmente todos os pacotes removidos.fonte