Debian Jessie - dpkg / apt instalação, atualização e desinstalação quebrada

1

Eu tenho um problema com um servidor Debian que eu uso para múltiplos propósitos. Ontem eu tentei atualizar meus pacotes com um simples apt-get update / upgrade como de costume e descobri que tudo estava quebrado:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  owncloud owncloud-config-apache owncloud-server
The following packages will be upgraded:
  python-apt
1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
Need to get 0 B/171 kB of archives.
After this operation, 47.1 kB disk space will be freed.
Do you want to continue? [Y/n]
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 83301 files and directories currently installed.)
Preparing to unpack .../python-apt_0.9.3.12_amd64.deb ...
/var/lib/dpkg/info/python-apt.prerm: /usr/bin/pyclean: /usr/bin/python: bad interpreter: No such file or directory
dpkg: warning: subprocess old pre-removal script returned error exit status 126
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: /usr/bin/pyclean: /usr/bin/python: bad interpreter: No such file or directory
dpkg: error processing archive /var/cache/apt/archives/python-apt_0.9.3.12_amd64.deb (--unpack):
 subprocess new pre-removal script returned error exit status 126
/var/lib/dpkg/info/python-apt.postinst: /usr/bin/pycompile: /usr/bin/python: bad interpreter: No such file or directory
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 126
Errors were encountered while processing:
 /var/cache/apt/archives/python-apt_0.9.3.12_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Desde então, tentei aplicar várias soluções, incluindo as recomendações de dpkg --audit , bem como soluções sugeridas aqui e em outros sites de ajuda da comunidade para problemas semelhantes, sem sucesso.

Parece também que, mesmo depois de corrigir o problema de localidade que perl menciona, ele reaparece se eu sair da minha sessão ssh e abrir uma nova.

Alguma idéia de como posso consertar isso? (além de reinstalar do zero, o que eu prefiro evitar, se possível).

Obrigado.

EDIT (atualizado): Conforme solicitado por @Gilles, aqui está o resultado de ls -l /usr/bin/python; ls -lL /usr/bin/python; dpkg -S /usr/bin/python

ls: cannot access /usr/bin/python: No such file or directory
ls: cannot access /usr/bin/python: No such file or directory
python-minimal: /usr/bin/python

Eu não tenho nenhuma lembrança de alterar as configurações do python manualmente.

    
por kRYOoX 02.10.2015 / 15:41

1 resposta

2
/var/lib/dpkg/info/python-apt.postinst: /usr/bin/pycompile: /usr/bin/python: bad interpreter: No such file or directory

Esse erro indica que /usr/bin/python está corrompido de algumas maneiras. A maioria dos scripts Python não pode ser executada.

Quando o pacote python-apt está instalado, ele executa um script Python. Isso falha, portanto, a instalação do pacote não pode ser concluída. Embora o APT possa continuar com outros pacotes, mesmo que um deles falhe, isso pode exigir a execução de apt-get -f install algumas vezes e pode evitar atualizações que misturem dependências. E, de qualquer forma, um Python quebrado quebrará muitos softwares.

$ ls -l /usr/bin/python
ls: cannot access /usr/bin/python: No such file or directory
$ dpkg -S /usr/bin/python
python-minimal: /usr/bin/python

/usr/bin/python não existe. Mas o sistema de embalagem acha que está instalado.

Reinstale o pacote que contém /usr/bin/python :

sudo apt-get --reinstall install python-minimal
sudo apt-get -f install

Se a ausência de /usr/bin/python for o único problema, isso deve reparar seu sistema. Mas o que causou o desaparecimento do /usr/bin/python pode ter causado outros problemas.

Tente descobrir o que poderia ter causado a /usr/bin/python desaparecer. Isso normalmente não acontece se você usa dpkg e apt para gerenciar pacotes. Certifique-se de que, se você instalar qualquer software sem usar o gerenciador de pacotes, ele ficará abaixo de /opt ou /usr/local , nunca diretamente abaixo de /usr .

    
por 03.10.2015 / 14:00

Tags