18.04.1 服务器不断创建 /var/lib/dpkg/lock 和 /var/cache/apt/archives/lock。现在该怎么办?

18.04.1 服务器不断创建 /var/lib/dpkg/lock 和 /var/cache/apt/archives/lock。现在该怎么办?

我正在使用全新安装的 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

相关内容