Eu apaguei acidentalmente o meu DE, depois quebrei o dpkg

1

Basicamente, decidi mudar do GNOME 3 para o MATE. Então eu instalei o MATE ( mate_desktop_environment_extras e o rodei e então (enquanto ainda estava no MATE) eu cometi o erro de consultar o Debian Wiki sobre como eu deveria deletar o GNOME.

aptitude purge dpkg --get-selections | grep gnome | cut -f 1
aptitude -f install
aptitude purge 'dpkg --get-selections | grep deinstall | cut -f 1
aptitude -f install

Exceto que, entre as dependências do GNOME escritas no obituário do Terminal, estavam os principais pacotes do MATE. Naturalmente eu desliguei meu computador esperando que de alguma forma nada essencial fosse apagado. Eu estava tão errado. O GRUB funciona, mas uma inicialização padrão me leva a um log baseado em texto que não funciona.

Então, a próxima questão era como obter conexão com a Internet (para instalar pacotes), já que o wifi que eu estava usando tinha que ser autenticado pelo PEAP ou algo assim que eu achava impossível fazer com o iwconfig padrão. Em vez disso, configurei um ponto de acesso no meu telefone que agora estou usando. Depois de obter internet eu tentei reinstalar tudo o que eu tinha perdido (não tenho certeza) com Aptidão.

Não funcionou, então instalei o Synaptic, que tentou instalar coisas que faltavam para mim. A maioria dos pacotes instalados, alguns não, mas isso não é importante. Basicamente, eu instalei pacotes em estágios, o que quer que o synaptic tenha me jogado (aquilo ficou preso). Em vários pontos o dpkg seria "interrompido" e eu precisava

sudo dpkg --configure -a

Até que recebi um aviso de que não era possível gravar em /var/lib/dpkg/status porque "no space left on device" . Um df me diz que dev/loop0 e dev/loop1 estão cheios. Eu olho para o que eles são usados, mas todas as maneiras de recuperar espaço envolviam o dpkg.

Em / var / lib / dpkg / status, descobri que, se eu deletasse algumas delas, haveria mais espaço para escrever. Exceto que eu quebrei o arquivo. Então eu tentei deletá-lo e recriá-lo. Não funcionou.

Então, basicamente, não tenho idéia de como corrigir dpkg especificamente e meu computador em geral.

O bom motivo de tudo isso é que eu era sagaz o suficiente para instalar o grml como backup. É assim que estou digitando isso. Funciona, mas eu ainda gostaria do meu computador de volta.

Desculpe pelo desabafo. No começo, eu teria dito que não queria começar do zero, mas a essa altura eu realmente não me importo. O problema é que eu não tenho um CD ao vivo.

Hum, então o que eu faço? Vou tentar responder a todas as perguntas que você tiver.

UPDATE: (desde que eu não posso comentar) Então, não tenho certeza de como esse backup de grml ( link ) é particionado da outra porcaria, mas /var/backups/dpkg.status .0 não pode stat porque não existe. Muito obrigado por tomar o tempo para escrever essa resposta embora. O que existe? ls -av (grml @ grml) revela

.  boot grml-live initrd.img.old media proc sbin tmp vmlinuz 
.. dev home lib mnt root srv usr vmlinuz.old 
bin etc initrd.img lib64 opt run sys var

Nenhum backup do status do dpkg pode ser encontrado. Para esclarecer eu fiz df e aprendi "dev / loop" s 0 e 1 estavam cheios. Para limpar o espaço, tive a brilhante idéia de quebrar o status do dpkg, lembra? Então eu não tenho ideia de como limpar o espaço lá basicamente. Além disso, eu deveria ter mencionado isso, mas estou usando o Debian. Eu sei que isso é askubuntu mas a comunidade de usuários na nossa filha distro é incrível, então eu imaginei que eu iria dar um tiro. Eu deveria ter feito isso antes, mas uname -a

Linux grml 3.16.0-1-grml-amd64 #1 SMP Debian 3.16.7-1+grml.1
(2014-11-05) x86_64 GNU/Linux

O grml é feito para o resgate do sistema, mas eu acho que é uma ferramenta bastante obscura. Basicamente eu gostaria de excluir todo o resto e usar este wifi para instalar um deb fresco em uma nova partição.

ATUALIZE NOVAMENTE: Então eu acabei de quebrar o dpkg nessa partição grml. Está na minha partição principal. O problema é que não consigo conectar a internet lá (resgate debian). Meu hotspot está aberto, mas não consigo um ponto de acesso associado, o que quer que isso signifique.

FINAL UPDATE: Acontece que eu esqueci de ifconfig wlan0 up. Meu computador está funcionando perfeitamente no mate, o gnome é removido e eu não perdi nenhum outro dado! Final feliz.

    
por trudgemank 14.09.2016 / 08:09

1 resposta

1

Neste ponto, o seu sistema provavelmente está quase em torrada e passou por muita coisa.

Embora seja possível repará-lo (mas muito difícil agora), pode haver muitos problemas muito grandes que devem ser resolvidos com algo mais strong que a fita duck.

O ideal é reinstalar o sistema, fazendo backup de qualquer item importante a ser restaurado posteriormente.

Agora, se a reinstalação não for uma opção, você pode aplicar fita adesiva ao sistema para tentar corrigi-lo.

Primeiro, obtenha seu backup (prático) de /var/lib/dpkg/status out. Você tem um, não? Se não, desculpe, você está torrado o Linux decidiu ser muito legal com você. Você tem uma versão de trabalho em /var/backups/dpkg.status.0 .

Copie seu backup:

sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status

Agora, você precisa ter o dpkg de volta e funcionando. cd /tmp para chegar em algum lugar não importante e obter o binário 'dpkg:

apt download dpkg

Tente reinstalá-lo e reze para que funcione. Se não, temos muito problemas maiores.

sudo dpkg -i dpkg*.deb

Depois que isso funcionar, reinstale sua base do Ubuntu:

apt-get download base-files
sudo dpkg -i base-files*.deb

Se tudo ainda parece bem, instrua dpkg para limpar e reconstruir tudo:

dpkg --audit
sudo apt-get update
sudo apt-get check

Quando tudo estiver de volta e a lição do dia (Nunca interrompa uma tarefa dpkg ativa ou mexa com dpkg/status ), precisamos reinstalar sua interface gráfica:

sudo apt install --reinstall ubuntu-mate-desktop

Isso levará tudo o que é necessário para o MATE e o instalará (novamente) para garantir que tudo funcione como deveria.

Quanto à limpeza do espaço no disco rígido, você pode usar du e df para rastrear onde está todo esse espaço e limpá-lo manualmente.

Algumas informações são provenientes de aqui

    
por Kaz Wolfe 14.09.2016 / 08:28