我正在使用全新安装的 18.04.1,从中移除了某些与其他主机异步通信的软件包,并将它们与某些其他软件包一起固定为未安装。每次运行 (a) dpkg -i
、(b)apt-get install
或 (c)时aptitude install
,锁定文件 /var/lib/dpkg/lock 和 /var/cache/apt/archives/lock 都会重新创建,我必须手动移除它们才能再次运行 a、b 或 c。在 18.04.1 之前从未发生过这种情况,在 16.04 的任何问题上也没有发生过这种情况。问:哪里出了问题,我该如何避免手动移除锁定文件?
dpkg --configure -a
不起作用,它不会删除锁定文件。如果它发现有事要做,它会修复它,创建 /var/lib/dpkg/lock 并将该锁定文件留在那里,然后正常退出。
ps aux | grep -E 'apt|dkpg'
产量
root 24494 0.0 0.0 14428 1064 pts/0 S+ 11:48 0:00 grep --color=auto -E apt|dkpg
即,不存在可能导致该问题的遗留过程。
根据 user535733 的要求,这里有一个终端会话来演示这种现象。(顺便说一句,我现在已经新安装了 2 个带有 18.04.1 的主机,它们都表现出同样令人不安的行为。)
~ root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock 2018 年 8 月 14 日星期二 08:52:46 EDT ls:无法访问‘/var/cache/apt/archives/lock’:没有此文件或目录 -rw-r----- 1 root root 0 8月11日 04:48 /var/lib/dpkg/lock ~ root@sea{3}# ls -d /var/cache/apt/archives /var/缓存/apt/档案/ ~ root@sea{3}# apt-get install -f 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 升级了 0 个,新安装了 0 个,删除了 0 个,并且未升级 1 个。 ~ root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock 2018 年 8 月 14 日星期二 08:53:58 EDT -rw-r----- 1 root root 0 8月14日 08:53 /var/cache/apt/archives/lock -rw-r----- 1 root root 0 8月11日 04:48 /var/lib/dpkg/lock ~root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock; rm /var/lib/dpkg/lock /var/cache/apt/archives/lock; 2018 年 8 月 14 日星期二 08:54:36 EDT -rw-r----- 1 root root 0 8月14日 08:53 /var/cache/apt/archives/lock -rw-r----- 1 root root 0 8月11日 04:48 /var/lib/dpkg/lock ~root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock; rm /var/lib/dpkg/lock /var/cache/apt/archives/lock; 2018 年 8 月 14 日星期二 08:54:44 EDT ls:无法访问‘/var/lib/dpkg/lock’:没有此文件或目录 ls:无法访问‘/var/cache/apt/archives/lock’:没有此文件或目录 rm:无法删除‘/var/lib/dpkg/lock’:没有此文件或目录 rm:无法删除‘/var/cache/apt/archives/lock’:没有此文件或目录 ~ root@sea{3}# apt-get install -f 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 升级了 0 个,新安装了 0 个,删除了 0 个,并且未升级 1 个。 ~root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock; rm /var/lib/dpkg/lock /var/cache/apt/archives/lock; 2018 年 8 月 14 日星期二 08:55:09 EDT -rw-r----- 1 root root 0 8月14日 08:54 /var/cache/apt/archives/lock -rw-r----- 1 root root 0 8月14日 08:54 /var/lib/dpkg/lock ~root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock; rm /var/lib/dpkg/lock /var/cache/apt/archives/lock; 2018 年 8 月 14 日星期二 08:56:20 EDT ls:无法访问‘/var/lib/dpkg/lock’:没有此文件或目录 ls:无法访问‘/var/cache/apt/archives/lock’:没有此文件或目录 rm:无法删除‘/var/lib/dpkg/lock’:没有此文件或目录 rm:无法删除‘/var/cache/apt/archives/lock’:没有此文件或目录 ~ root@sea{3}# dpkg -r telnet (正在读取数据库...当前安装了 310184 个文件和目录。) 正在删除 telnet (0.17-41) ... 处理 man-db (2.8.3-2) 的触发器... ~root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock; rm /var/lib/dpkg/lock /var/cache/apt/archives/lock; 2018 年 8 月 14 日星期二 08:56:53 EDT ls:无法访问‘/var/cache/apt/archives/lock’:没有此文件或目录 -rw-r----- 1 root root 0 8月14日 08:56 /var/lib/dpkg/lock rm:无法删除‘/var/cache/apt/archives/lock’:没有此文件或目录 ~root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock; rm /var/lib/dpkg/lock /var/cache/apt/archives/lock; 2018 年 8 月 14 日星期二 08:57:17 EDT ls:无法访问‘/var/lib/dpkg/lock’:没有此文件或目录 ls:无法访问‘/var/cache/apt/archives/lock’:没有此文件或目录 rm:无法删除‘/var/lib/dpkg/lock’:没有此文件或目录 rm:无法删除‘/var/cache/apt/archives/lock’:没有此文件或目录 ~ root@sea{3}# dpkg -r telnet dpkg:警告:忽略删除 telnet 的请求,仅删除配置 系统中的文件;使用 --purge 也可以删除它们 ~ root@sea{3}# dpkg -i telnet dpkg:错误:无法访问档案“telnet”:没有此文件或目录 ~ root@sea{3}# apt-get -y install telnet 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 将会安装以下新软件包: 远程登录 升级了 0 个,新安装了 1 个,删除了 0 个,并且未升级 1 个。 需要获取 67.1 kB 的档案。 此操作后,将使用165 kB的额外磁盘空间。 获取:1 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 telnet amd64 0.17-41 [67.1 kB] 0 秒内获取 67.1 kB(207 kB/秒) debconf:无法初始化前端:对话框 debconf:(对话框前端无法在哑终端、emacs shell缓冲区或没有控制终端上工作。) debconf:回到前端:Readline 选择以前未选择的包 telnet。 (正在读取数据库...当前安装了 310185 个文件和目录。) 准备解压 .../telnet_0.17-41_amd64.deb ... 正在解压 telnet (0.17-41) ... 正在设置 telnet (0.17-41) ... update-alternatives:使用 /usr/bin/telnet.netkit 在自动模式下提供 /usr/bin/telnet (telnet) 处理 man-db (2.8.3-2) 的触发器... ~root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock; rm /var/lib/dpkg/lock /var/cache/apt/archives/lock; 2018 年 8 月 14 日星期二 08:58:21 EDT -rw-r----- 1 root root 0 8月14日 08:57 /var/cache/apt/archives/lock -rw-r----- 1 root root 0 8月14日 08:58 /var/lib/dpkg/lock ~root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock; rm /var/lib/dpkg/lock /var/cache/apt/archives/lock; 2018 年 8 月 14 日星期二 08:58:24 EDT ls:无法访问‘/var/lib/dpkg/lock’:没有此文件或目录 ls:无法访问‘/var/cache/apt/archives/lock’:没有此文件或目录 rm:无法删除‘/var/lib/dpkg/lock’:没有此文件或目录 rm:无法删除‘/var/cache/apt/archives/lock’:没有此文件或目录 ~ root@sea{3}# apt-get -y install telnet 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 telnet已经是最新版本(0.17-41)。 升级了 0 个,新安装了 0 个,删除了 0 个,并且未升级 1 个。 ~root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock; rm /var/lib/dpkg/lock /var/cache/apt/archives/lock; 2018 年 8 月 14 日星期二 08:59:25 EDT -rw-r----- 1 root root 0 8月14日 08:59 /var/cache/apt/archives/lock -rw-r----- 1 root root 0 8月14日 08:59 /var/lib/dpkg/lock ~root@sea{3}# 日期; ls -l /var/lib/dpkg/lock /var/cache/apt/archives/lock; rm /var/lib/dpkg/lock /var/cache/apt/archives/lock; 2018 年 8 月 14 日星期二 08:59:43 EDT ls:无法访问‘/var/lib/dpkg/lock’:没有此文件或目录 ls:无法访问‘/var/cache/apt/archives/lock’:没有此文件或目录 rm:无法删除‘/var/lib/dpkg/lock’:没有此文件或目录 rm:无法删除‘/var/cache/apt/archives/lock’:没有此文件或目录 ~ root@sea{3}#
我怀疑这可能与我固定了以下软件包而不进行安装有关,就像我过去所做的那样,没有出现任何问题:
apport-gtk
apturl
kerneloops-daemon
landscape-common
libfam0
libreoffice-calc
libreoffice-core
libreoffice-gnome
libreoffice-gtk
libreoffice-style-elementary
libreoffice-writer
lightdm-gtk-greeter-settings
light-locker
lxd
nagios-images
nagios-plugins
popularity-contest
postgresql
postgresql-9.5
postgresql-9.6
postgresql-client-9.5
postgresql-client-9.6
postgresql-contrib-9.5
postgresql-contrib-9.6
python3-distupgrade
python3-distupgrade
python3-update-manager
python-pycurl
samba-common
samba-common-bin
smbclient
snap-confine
snapd
software-center
software-center-aptdaemon-plugins
squashfs-tools
squashfs-tools
ubuntu-release-upgrader-core
ubuntu-release-upgrader-gtk
ubuntu-server
ubuntu-standard
unattended-upgrades
update-manager
update-manager-core
update-manager-gnome
update-notifier
update-notifier-common
update-notifier-core
virtualbox-guest-dkms
virtualbox-guest-utils
virtualbox-guest-x11
whoopsie