web-dev-qa-db-fra.com

La mise à niveau d'apt-get échoue avec `Permission denied`

J'ai récemment installé 12.04 et tout semblait aller bien, jusqu'à aujourd'hui, quand j'ai eu une série d'erreurs en essayant de lancer 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)

Tout semble avoir commencé avec cette erreur infâme:

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

qui est probablement dû à mon installation visual-regexp - que je suis maintenant incapable de supprimer.

J'ai essayé plusieurs correctifs, notamment:

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

et d'autres, essayant de suivre cette réponse , mais en vain.

De plus, je ne suis pas tout à fait clair de ce que le problème peut être avec la permission, car je suis évidemment en train de faire apt-get en tant que 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

Notez également le 11 not fully installed or removed. qui était dû à des échecs précédents dans apt-get upgrade: y a-t-il un moyen de récupérer cette erreur?

Merci d'avance, Marco.

5
Marco

OP posté:

Donc, je me suis soudain rendu compte que l'autorisation refusée pouvait être liée à l'option noexec dans /etc/fstab (je monte /var sur un disque différent de /).

Il s'avère que j'avais utilisé l'option de montage suivante:

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

et, alors que defaults implique exec, users implique plutôt noexec - puisque ce dernier est le dernier, il remplacera le précédent.

Changé en defaultsseulement et tout est maintenant poneys et soleil avec apt-get. Le laisser ici au cas où cela aiderait quelqu'un d'autre.

3
Jorge Castro