apt-get upgrade falha com 'Permission denied'

5

Instalei o 12.04 recentemente e tudo parecia estar bem, até hoje, quando recebi uma série de erros ao tentar executar apt-get upgrade :

$ sudo apt-get upgrade 

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  visual-regexp
The following packages will be upgraded:
  dkms firefox firefox-globalmenu firefox-gnome-support 
  firefox-locale-en gnome-games-data gnome-sudoku gnomine
  google-chrome-stable libglu1-mesa libglu1-mesa:i386 libmysqlclient18:i386 
  mahjongg mysql-common tk8.5 vino
16 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
11 not fully installed or removed.
Need to get 0 B/67.4 MB of archives.
After this operation, 2,890 kB of additional disk space will be used.
Do you want to continue [Y/n]? 
(Reading database ... 
dpkg: warning: files list file for package 'tk8.5' missing, assuming package has no     files currently installed.
(Reading database ... 235237 files and directories currently installed.)
    Removing visual-regexp ...
dpkg (subprocess): unable to execute installed post-removal script (/var/lib/dpkg/info/visual-regexp.postrm): Permission denied
dpkg: error processing visual-regexp (--remove):
 subprocess installed post-removal script returned error exit status 2
Errors were encountered while processing:
     visual-regexp
E: Sub-process /usr/bin/dpkg returned an error code (1)

Parece que tudo começou com esse erro infame:

dpkg: warning: files list file for package 'tk8.5' missing, 
assuming package has no files currently installed.

que provavelmente foi originado pela minha instalação visual-regexp - que agora não consigo remover.

Eu tentei várias correções, incluindo:

sudo apt-get -f install
sudo dpkg --configure -a
sudo apt-get --fix-missing upgrade

e outros, tentando seguir esta resposta , mas sem sucesso.

Além disso, não estou bem claro qual pode ser o problema com o permission , pois estou obviamente executando o apt-get como sudo :

$ ll /var/lib/dpkg/info/visual-regexp.postrm
-rwxr-xr-x 1 root root 160 Jun 24  2011 /var/lib/dpkg/info/visual-regexp.postrm

Além disso, observe o 11 not fully installed or removed. que foi devido a falhas anteriores em apt-get upgrade : existe alguma maneira de recuperar isso?

Obrigado antecipadamente, Marco.

    
por Marco 23.01.2013 / 08:46

1 resposta

3

OP postado:

Então, de repente me dei conta de que a permissão negada pode estar relacionada à opção noexec em /etc/fstab (estou montando /var em um disco diferente de / ) .

Acontece que usei a seguinte opção de montagem:

UUID=b5ae50cf-58e6-46f8-8313-6c1492dcc8ad /var ext4 defaults,users 0 0 

e, enquanto defaults implica exec , users , em vez disso, implica noexec - como o último é o último, ele substituirá o anterior.

Alterou para defaults somente e agora tudo é pônei e sol com o apt-get. Deixá-lo aqui no caso de ajudar alguém lá fora.

    
por Jorge Castro 26.01.2013 / 02:30