一次性修复“无法获得锁/var/lib/dpkg/lock”错误(Ubuntu) 您所在的位置:网站首页 无法获取dpkg前端锁 一次性修复“无法获得锁/var/lib/dpkg/lock”错误(Ubuntu)

一次性修复“无法获得锁/var/lib/dpkg/lock”错误(Ubuntu)

#一次性修复“无法获得锁/var/lib/dpkg/lock”错误(Ubuntu)| 来源: 网络整理| 查看: 265

文章目录[隐藏]

一次性修复“无法获取锁/var/lib/dpkg/lock”错误 从命令行禁用无人参与的升级 使现代化 Ubuntu什么时候进行无人值守的升级?

在虚拟机中运行的Debian/Ubuntu中,“无法获取lock/var/lib/dpkg/lock”错误非常常见。Internet上现有的解决方法(即终止apt get进程或删除锁定文件)并不理想,因为它们可能会损坏您的系统,并且您将来还会面临相同的错误。

一次性修复“无法获取锁/var/lib/dpkg/lock”错误

我会告诉你这个错误的真正原因,并告诉你如何一劳永逸地解决它。错误消息如下:

E:无法获得lock/var/lib/dpkg/lock-open(11:资源暂时不可用)E:无法锁定管理目录(/var/lib/dpkg),是否有其他进程在使用它?

could not get lock var lib dpkg lock

错误消息已经提示了问题的原因:另一个进程正在使用/var/lib/dpkg/。这是因为Ubuntu默认支持无人参与的安全更新升级。

当你的Ubuntu操作系统完成引导后,它会自动运行apt get update命令。如果有可用的安全更新,它将在后台安装它们。因此,如果同时运行sudo apt upgrade命令,则会显示上述错误。因为你在Virtualbox或VMware workstation中使用Ubuntu的频率不如在裸机上使用Ubuntu,所以你的Ubuntu虚拟机很少得到更新,所以你在虚拟机中看到这个错误的频率更高。

无论你是在裸机上还是在虚拟机上使用Ubuntu桌面,你都可以禁用无人值守的升级来一劳永逸地解决这个问题。

注意:这个错误很少发生在Ubuntu服务器上,建议您在服务器上启用无人值守升级,以自动安装安全更新。

下面是方法。开放软件;应用程序菜单中的更新。

is another process using it is another process using it

然后单击更新选项卡。默认情况下,安全更新会自动下载和安装。您可以将其更改为立即显示,这样它就不会在后台运行sudo apt get upgrade命令。

Fix “could not get lock var lib dpkg lock” Error Fix “could not get lock var lib dpkg lock” Error

然后输入用户密码以使此更改生效。

Unable to lock the administration directory Unable to lock the administration directory

之后,重启你的电脑。

从命令行禁用无人参与的升级

也可以通过命令行获得相同的结果。在终端中,使用命令行文本编辑器(如nano)打开/etc/apt/apt.conf.d/20auto-upgrades文件。

sudo nano/etc/apt/apt.conf.d/20auto-upgrades

原始内容如下:

APT::定期::更新包列表“1”;APT::Periodic::下载可升级的软件包“1”;APT::Periodic::AutocleanInterval“0”;APT::定期::无人值守升级“1”;

要禁用自动安全更新,请将其更改为

APT::定期::更新包列表“1”;APT::Periodic::下载可升级的软件包“0”;APT::Periodic::AutocleanInterval“0”;APT::定期::无人值守升级“0”;

要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认文件名。按Ctrl+X退出。然后重新启动你的电脑。

使现代化

一位读者告诉我,按照上面的说明操作后,如果他在Ubuntu启动完成后立即运行sudo apt update命令,仍然可以看到错误消息。这是因为背景“apt更新”尚未完成。

如果你是一个经常手动更新软件包的人,我建议将“自动检查更新”设置为每周,而不是每天。要真正一劳永逸地修复错误消息,请将该值设置为“从不”。

automatically check for updates automatically check for updates

Ubuntu什么时候进行无人值守的升级?

Ubuntu在系统启动后进行无人值守的升级。Systemd还可以执行无人值守的升级。《apt日报》。该服务用于每日更新套餐列表和apt每日升级。该服务用于每天下载和安装安全更新。您可以通过以下方式检查他们的状态:

systemctl状态为每日apt。服务系统CTL状态apt每日升级。服务

每天都有。服务由apt每日控制。计时器。计时器就像一个cron作业,在指定的时间以相同的名称执行systemd服务。《apt日报》。定时器的配置文件是/lib/systemd/system/apt daily。计时器。您可以通过以下方式查看其内容:

cat/lib/systemd/system/apt每日一次。计时器

输出:

[Unit]Description=每日apt下载活动[Timer]OnCalendar=*-*-*6,18:00 RandomizedDelaySec=12h Persistent=true[Install]WantedBy=timers。目标

绿线表示apt每天更新。服务时间为每天6:00和18:00。RandomizedDelaySec=12h意味着如果另一个计时器具有相同的启动时间,则操作将推迟0~12小时。

apt每日升级。服务由apt每日升级控制。定时器,其配置文件为/lib/systemd/system/apt daily upgrade。计时器。

cat/lib/systemd/system/apt每日升级。计时器

输出:

[Unit]Description=每日apt升级和apt后的清洁活动=每日apt。timer[timer]OnCalendar=*-*-*6:00 RandomizedDelaySec=60m Persistent=true[Install]WantedBy=timers。目标

正如你所见,apt每天都在升级。服务每天早上6点开始。RandomizedDelaySec=60m表示如果另一个计时器具有相同的启动时间,则操作将延迟0~60分钟。

两个。服务文件和两个。计时器文件由apt软件包安装,该软件包还附带了/usr/lib/apt/apt.systemd。由apt daily执行的daily shell脚本。服务和apt每日升级。服务

/usr/lib/apt/apt.systemd。daily shell脚本从/etc/apt/apt.conf.d/20auto-upgrades文件中读取配置。因此,修复上述错误不需要禁用这两个计时器。

就这样!我希望本文能帮助您修复Ubuntu上的“无法获得lock/var/lib/dpkg/lock”错误。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有