前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is...

Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is...

原创
作者头像
shirishiyue
发布2023-05-25 09:45:18
7.9K0
发布2023-05-25 09:45:18
举报
文章被收录于专栏:全栈码全栈码

当在ubuntu系统上进行apt安装时,报了这种错误:

代码语言:shell
复制
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 1565 (unattended-upgr)...

原因是

因为其他一些程序正在尝试更新 Ubuntu。 当命令或应用程序更新系统或安装新软件时,它会锁定 dpkg 文件(Debian 包管理器)。完成此锁定是为了让两个进程不会同时更改内容,因为这可能会导致不必要的情况和可能损坏的系统。

处理办法分析:

第一件事是检查是否有其他程序正在运行系统更新或安装程序。如果使用的是命令行,请检查软件中心、软件更新程序、Synaptic 包管理器、Gdebi 等应用程序是否正在运行任何更新/安装。 如果是这种情况,请等待程序完成运行过程。如果没有运行此类应用程序,请检查所有打开的终端窗口,看看是否正在运行更新或安装程序。 如果是,请等待它完成。

如果以上都没有发生,请检查哪个其他进程正在运行 apt 命令(用于处理软件的包管理器)。 使用此命令:

代码语言:txt
复制
ps aux | grep -i apt

我的打印如下:

代码语言:txt
复制
ubuntu:~$ ps aux | grep -i apt
root        1491  0.0  0.0   2628   716 ?        Ss   09:19   0:00 /bin/sh /usr/lib/apt/apt.systemd.daily install
root        1495  0.0  0.0   2628  1724 ?        S    09:19   0:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install
root       74210 34.6  6.1 138288 123968 ?       SN   09:28   0:01 /usr/bin/python3 /usr/lib/update-notifier/apt-check --human-readable
ubuntu     74254  0.0  0.0   6524   916 pts/0    S+   09:28   0:00 grep --color=auto -i apt

如果你看到 apt 正在被 apt.systemd.daily update 这样的程序使用,那么问题就确认了。这是一个在后台运行的守护进程,并在启动系统时自动检查系统更新。

在 Ubuntu 18.04 及更高版本中,它甚至可能会尝试自行下载并安装重要的安全更新。 至少这是我在 Ubuntu 桌面上的软件和更新工具的默认设置中看到的。

处理办法1

最简答的,直接关闭自动更新:

代码语言:txt
复制
sudo nano /etc/apt/apt.conf.d/20auto-upgrades

把值改为0

代码语言:txt
复制
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";

处理办法2

把这些更新进程kill掉,或者等他们完成。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原因是
  • 处理办法分析:
  • 处理办法1
  • 处理办法2
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档