Não é possível atualizar ou remover o pacote brokenbox virtual

1

Vou começar com alguns detalhes sobre o que levou a isso:

  • Estou usando o Ubuntu 14.0 (o KDE no topo, embora presumivelmente isso seja irrelevante)
  • há alguns dias, deixei o sistema fazer uma atualização automática.
  • Ele caiu no meio do caminho ao tentar atualizar o Virtualbox, o que eu presumi ser devido ao fato de tê-lo instalado e funcionando no momento. (Eu não tenho o erro que deu)
  • Eu dei de ombros com um "mijo, vou lidar com isso mais tarde".
  • Hoje tivemos uma queda de energia e, quando tento reinicializar qualquer uma das minhas máquinas virtuais, recebo um erro. Infelizmente, não tenho esse erro. Eu acredito que o pacote está completamente quebrado em minhas tentativas de consertá-lo. Não consigo nem encontrar o programa, muito menos executá-lo.

Agora estou tendo problemas para consertar ou até mesmo remover o pacote. Por uma questão de brevidade, não incluirei a saída completa do console aqui - apenas os erros. Eu certamente posso adicionar mais, se necessário.

Primeiramente, eu fiz uma atualização do apt-get e consegui isto:

You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 virtualbox-dkms : Depends: virtualbox (>= 4.3.18-dfsg-2ubuntu1) but 4.3.18-dfsg-1 is installed
 virtualbox-qt : Depends: virtualbox (= 4.3.18-dfsg-2ubuntu1) but 4.3.18-dfsg-1 is installed

De acordo com a saída de recomendação do apt-get, eu fiz isso:

apt-get -f install

E tenho:

Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.16.0-23 linux-headers-3.16.0-23-generic
  linux-image-3.16.0-23-generic linux-image-extra-3.16.0-23-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  virtualbox
Suggested packages:
  vde2 virtualbox-guest-additions-iso
The following packages will be upgraded:
  virtualbox

...

Preparing to unpack .../virtualbox_4.3.18-dfsg-2ubuntu1_amd64.deb ...           
  File "/usr/bin/pyclean", line 63                                              
    except (IOError, OSError), e:                                               
                             ^                                                  
SyntaxError: invalid syntax                                                     
dpkg: warning: subprocess old pre-removal script returned error exit status 1   
dpkg: trying script from the new package instead ...                            
  File "/usr/bin/pyclean", line 63                                              
    except (IOError, OSError), e:                                               
                             ^                                                  
SyntaxError: invalid syntax                                                     
dpkg: error processing archive /var/cache/apt/archives/virtualbox_4.3.18-dfsg-2ubuntu1_amd64.deb (--unpack):                                                    
 subprocess new pre-removal script returned error exit status 1                 
Traceback (most recent call last):                                              
  File "/usr/bin/pycompile", line 35, in <module>                               
    from debpython.version import SUPPORTED, debsorted, vrepr, \                
  File "/usr/share/python/debpython/version.py", line 24, in <module>           
    from ConfigParser import SafeConfigParser                                   
ImportError: No module named 'ConfigParser'
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/virtualbox_4.3.18-dfsg-2ubuntu1_amd64.deb

Agora, eu não sou um cara do Python, mas pensei em pelo menos tentar ver se eu poderia corrigir esses erros de sintaxe movendo o ", e" entre parênteses nessas linhas. Quando eu mudei o acima mencionado, eu recebi o mesmo erro em uma linha em /usr/share/python/debpython/namespace.py. Eu mudei também e então recebi este erro:

root@gonzo:~# apt-get -f remove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  dkms linux-headers-3.16.0-23 linux-headers-3.16.0-23-generic
  linux-image-3.16.0-23-generic linux-image-extra-3.16.0-23-generic
  virtualbox-dkms
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  virtualbox
Suggested packages:
  vde2 virtualbox-guest-additions-iso
The following packages will be upgraded:
  virtualbox
1 upgraded, 0 newly installed, 0 to remove and 98 not upgraded.
129 not fully installed or removed.
Need to get 0 B/15.9 MB of archives.
After this operation, 17.4 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 209565 files and directories currently installed.)
Preparing to unpack .../virtualbox_4.3.18-dfsg-2ubuntu2_amd64.deb ...
Traceback (most recent call last):
  File "/usr/bin/pyclean", line 32, in <module>
    from debpython.namespace import add_namespace_files
  File "/usr/share/python/debpython/namespace.py", line 28, in <module>
    from debpython.pydist import PUBLIC_DIR_RE
  File "/usr/share/python/debpython/pydist.py", line 27, in <module>
    from string import maketrans
ImportError: cannot import name 'maketrans'
dpkg: warning: subprocess old pre-removal script returned error exit status 1
dpkg: trying script from the new package instead ...
Traceback (most recent call last):
  File "/usr/bin/pyclean", line 32, in <module>
    from debpython.namespace import add_namespace_files
  File "/usr/share/python/debpython/namespace.py", line 28, in <module>
    from debpython.pydist import PUBLIC_DIR_RE
  File "/usr/share/python/debpython/pydist.py", line 27, in <module>
    from string import maketrans
ImportError: cannot import name 'maketrans'
dpkg: error processing archive /var/cache/apt/archives/virtualbox_4.3.18-dfsg-2ubuntu2_amd64.deb (--unpack):
 subprocess new pre-removal script returned error exit status 1
Traceback (most recent call last):
  File "/usr/bin/pycompile", line 35, in <module>
    from debpython.version import SUPPORTED, debsorted, vrepr, \
  File "/usr/share/python/debpython/version.py", line 24, in <module>
    from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/virtualbox_4.3.18-dfsg-2ubuntu2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Nesse momento, dei a entender que estava indo pelo caminho errado e reverta minhas alterações nos arquivos mencionados anteriormente.

Eu então (realmente não sabendo o que estava fazendo naquele momento, e adivinhando como as coisas funcionam), tentei mover / var / cache / apt / virtualbox * para outro diretório e executá-lo novamente. Isso, claro, não funcionou, então eu mudei de volta.

Então eu peguei o Synaptic para tentar consertá-lo de lá. Isso não funcionou também. Se eu marcar o pacote para remoção, recebo este erro

E: virtualbox: package is in a very bad inconsistent state; you should  reinstall it before attempting a removal

Não consigo seguir essas instruções, pois a opção "Marcar para reinstalação" está desativada.

Toda a saída do console do que o Synaptic tentou é a seguinte:

(synaptic:21937): GLib-CRITICAL **: g_child_watch_add_full: assertion 'pid > 0' failed
dpkg: error processing package virtualbox (--purge):
 package is in a very bad inconsistent state; you should
 reinstall it before attempting a removal
Errors were encountered while processing:
 virtualbox
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:

E neste momento estou com uma perda total. Alguém poderia me tirar daqui?

    
por Jacob Ewing 04.05.2015 / 20:51

1 resposta

1

Ok, para qualquer outra pessoa que aparecer nesse problema, meu chefe conseguiu descobrir:

Eu tinha a versão errada do Python em execução. Depois de voltar do Python 3.4 para o Python 2.7.8, o problema foi corrigido.

    
por Jacob Ewing 04.05.2015 / 21:21