现象
执行sudo apt install -y openjdk-17-jdk
报错
~$ sudo apt install -y openjdk-17-jdk
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 1802 (apt)
解决办法
杀掉被占用进程后清理lock文件再执行sudo dpkg --configure -a
重新配置包
如下
# 查看进程
~$ sudo ps -ef|grep 1802
root 1802 1801 0 Apr26 ? 00:03:39 apt upgrade -y
root 3327 1802 0 Apr26 pts/0 00:00:00 /usr/bin/dpkg --status-fd 69 --configure --pending
sudo killall apt apt-get
# 或者直接杀掉进程
sudo killall 1802
# 删除lock 文件
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
# 配置包
sudo dpkg --configure -a
sudo apt update
原因
可能是在在脚本里面运行了sudo apt upgrade -y
需要界面交互导致apt update或者upgrade过程被中断
参考
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)