私は最近12.04をインストールしましたが、今日は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)
この悪名高いエラーですべてが始まったようです:
dpkg: warning: files list file for package `tk8.5' missing,
assuming package has no files currently installed.
これはおそらくvisual-regexp
をインストールしたことに起因するもので、現在は削除できません。
以下を含むいくつかの修正を試しました。
Sudo apt-get -f install
Sudo dpkg --configure -a
Sudo apt-get --fix-missing upgrade
そして他の人たち この答え を追いかけようとしているが、役に立たない。
また、明らかにapt-getをpermission
として実行しているので、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
また、11 not fully installed or removed.
の以前の障害が原因であったapt-get upgrade
にも注意してください。これから回復する方法はありますか?
事前に感謝、マルコ。
投稿されたOP:
だから、許可されないことは/etc/fstab
のnoexecオプションに関連しているのではないかと突然思いつきました(私は/var
は/
とは異なるディスク上にあります。
私は次のマウントオプションを使用したことがわかりました:
UUID=b5ae50cf-58e6-46f8-8313-6c1492dcc8ad /var ext4 defaults,users 0 0
また、defaults
はexec
を意味しますが、users
は代わりにnoexec
を意味します。後者は最後であるため、前のものをオーバーライドします。
defaults
onlyに変更し、すべてがapt-getでポニーとサンシャインになりました。他の人の助けになる場合に備えて、ここに置いておきます。