我最近安装了Ubuntu LTS 12.04的新版本。我一直在使用LTS 10.4,并保存了package.list,并打算使用
$> sudo dpkg --set-selections < package.list && apt-get dselect-upgrade
在新版本中安装相同的软件包
但是,计算机无法运行并显示以下错误
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
对此的简单答案是我是root还是sudo的成员?
$> whoami
surfer
$> groups
surfer adm cdrom sudo dip plugdev lpadmin sambashare
简单的答案就这么多。
每个类似的帖子无法锁定管理目录(/ var / lib / dpkg /)是另一个使用它的进程吗?推荐的解决方案是
$> sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock
执行该命令后,我的屏幕变为空白,键盘变得无响应,我唯一的选择是按下电源按钮并重新启动...(我原以为这是一个恶意的建议,但许多其他人似乎都喜欢它。 )
我尝试列出任何可能正在使用的程序 /var/lib/dpkg/lock
$> sudo lsof
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/surfer/.gvfs
Output information may be incomplete.
注意,没有列出程序。
同样,没有运气
$> ps -e | grep -e apt -e adept | grep -v grep
没有列出。
顺便说一句,我可以从命令行运行apt-get。
$> sudo apt-get update
按预期运行,并更新我的包裹清单...
@izx:尝试您的建议后,我无法运行
$> sudo dpkg --set-selections < package.list && apt-get dselect-upgrade
它失败,并出现相同的错误。我试过了
a)在F1终端中紧跟rm命令之后
b)执行rm命令并使用Ctrl + Alt + F7返回到X
c)执行rm命令并重新启动
有趣的是,只有选项c)产生了不同的(但类似的错误消息),这是
dpkg: error: dpkg status database is locked by another process
尽管无法使用/var/lib/dpkg/lock
with终止进程fuser
,但确实获得了与其链接的进程的以下输出。
$> fuser -cv /var/lib/dpkg/lock
USER PID ACCESS COMMAND
/var/lib/dpkg/lock: root kernel mount (root)/var
surfer 1641 ....m (surfer)gnome-settings-
surfer 1656 ....m (surfer)compiz
surfer 1679 ....m (surfer)nm-applet
surfer 1688 ....m (surfer)nautilus
surfer 1731 ....m (surfer)gtk-window-deco
surfer 1733 ....m (surfer)unity-panel-ser
surfer 1831 ....m (surfer)gnome-terminal
surfer 1899 f.... (surfer)unity-applicati
surfer 2029 F...m (surfer)update-notifier
因此,我尝试从F1终端中终止每个进程,并删除了锁定文件。没问题。结果是
$> fuser -cv /var/lib/dpkg/lock
USER PID ACCESS COMMAND
/var/lib/dpkg/lock: root kernel mount (root)/var
$> ls /var/lib/dpkg/lock
ls: cannot access /var/lib/dpkg/lock: No such file or directory
文件和链接似乎消失了,但是执行dpkg
命令后,我得到了同样的错误...并且锁文件又回来了。
我真的很困惑,欢迎您的帮助。
您的第一步应该是
sudo dpkg --set-selections < package.list && sudo apt-get dselect-upgrade
以下错误
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
本来从未发生,即使second time
你使用相同的代码,并得到了同样的错误。
按照上述方法通过添加sudo来尝试正确的命令,然后发布您的发现。
注意:使用&&可以使您在同一行上执行多个命令,通常情况下,&&仅在第一个命令返回报告成功值的情况下才执行第二个命令。因此,这里的sudo需要在第二个命令中指定。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句