erro de gravação: Não há espaço no dispositivo. Removendo pacotes 'extras'. Tentando recuperar

3

O problema:

Quando eu digito:

dpkg-query -Wf '${Package;-40}${Priority}\n' | sort -b -k2,2 -k1,1

Eu recebo uma lista de todos os pacotes instalados na minha máquina, por exemplo:

...
raspberrypi-artwork                     extra
raspberrypi-bootloader                  extra
raspberrypi-ui-mods                     extra
raspi-config                            extra
rpi-update                              extra
sonic-pi                                extra
ssh                                     extra
triggerhappy                            extra
wireless-tools                          extra
xkb-data                                extra
adduser                                 important
apt                                     important
apt-utils                               important
aptitude                                important
aptitude-common                         important
bsdmainutils                            important
...

Eu recentemente executei um script que instalou muitas coisas e agora minha máquina responde com: /usr/bin/mandb: can't write to /var/cache/man/2694: No space left on device (os caminhos mudam, mas sempre me dizem que não há mais espaço).

Os rótulos possíveis que vejo são:

  • padrão
  • extra
  • importante
  • opcional
  • obrigatório

Eu não realizei alterações em vários repositórios e quero ser capaz de promover minhas alterações locais, mas continuo recebendo esse erro quando tento enviar:

$ git push
fatal: write error: No space left on device
error: Couldn't write .git/refs/remotes/origin/master.lock
error: Cannot update the ref 'refs/remotes/origin/master'.
Everything up-to-date

Eu também devo dizer que sei que tudo não está atualizado.

O sistema:

Isto está em um raspberry pi executando "wheezy" raspbian.

A pergunta:

Eu tenho centenas de pacotes instalados. Como faço para remover todos os pacotes rotulados como "extra"? Essa é a melhor maneira de liberar espaço na minha máquina? Não me comprometi com alterações em vários repositórios e quero ser capaz de impulsionar minhas alterações locais.

Eu também aceito uma resposta que remova tudo, mas necessária e importante. O Git é rotulado como opcional e eu preferiria manter isso (embora eu possa sempre instalá-lo novamente depois de remover todos os pacotes desnecessários).

Obrigado antecipadamente !!

    
por Caleb Adams 14.02.2016 / 22:25

3 respostas

3

Você pode usar o seguinte comando para limpar todos os pacotes opcionais e extras: sudo apt-get --simulate purge $(dpkg-query -Wf '${Package;-40}${Priority}\n' | awk '$2 ~ /optional|extra/ { print $1 }')

A --simulate bandeira permite que você veja o que será removido sem realmente remover tudo. Remova o sinalizador para desinstalar os pacotes.

Você precisará reinstalar o git, já que ele será removido junto com os outros pacotes opcionais e extras.

Você pode precisar de alguns pacotes opcionais e extras, portanto, remova com cuidado. Mais aqui: link

    
por 14.02.2016 / 22:28
2

Você precisa verificar onde fica sem espaço. O comando df(1) informa quais sistemas de arquivos estão cheios.

Um motivo comum para a falta de espaço são os arquivos de log grandes (verifique em /var/log , seu sistema deve ter comandos para limpar logs obsoletos). Observe que sort(1) usa arquivos temporários, seja em var/tmp ou /tmp , se algum deles contiver muita informação, pode falhar por falta de espaço.

    
por 14.02.2016 / 23:20
1

Desde que você tenha o aptitude instalado, ele pode ajudá-lo aqui. Lance aptitude e limite (atalho: l ) a visualização para pacotes correspondentes

~i ~pextra

Consulte o manual on-line ou /usr/share/doc/aptitude/README para obter uma referência de termo de pesquisa.

Agora você pode optar por desinstalá-los: pressione - em cada título de nível superior para marcar os pacotes para desinstalação (mantém os arquivos de configuração) ou _ para marcá-los para limpeza (remove os arquivos de configuração). g para ir em frente. Você tem a oportunidade de revisar a lista caso deseje manter alguns dos pacotes.

    
por 15.02.2016 / 00:10