我曾尝试解决 Ubuntu 中的以下问题,但到目前为止只能通过重新启动 Linux 机来解决该问题。
我正在运行该sudo apt update
命令,但很快意识到由于某种原因没有互联网。因此我按下Ctrl+Z键来停止该过程。当我确定互联网已恢复在线时,我尝试重新启动该sudo apt update
命令并遇到以下错误:
root@myubuntu-OS:/home/root# apt update
Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
除了重新启动系统之外,还有其他方法可以清理混乱并再次运行该过程吗?
答案1
Ctrl+Z不会停止进程(Ctrl+C会这样做)。相反,它会将其移至后台。您必须fg
在同一终端中执行命令才能移sudo apt update
回前台。这就是为什么当您sudo apt update
第二次尝试时会失败的原因 - 后台进程已被锁定apt
(一次只能使用一个进程apt
,因此它会锁定它以防止多个进程相互干扰)。
如果你已经关闭了此终端,则删除锁定文件
sudo rm -v /var/lib/dpkg/lock* /var/cache/apt/archives/lock
然后运行
sudo apt update
再次。
答案2
它被锁定是因为另一个进程正在使用它。这是在任务运行时终止任务的结果,从而使锁保持原位。
最简单的解决方案是重新启动,或者您可以使用以下方式删除锁定文件这个答案。
如果即使您没有终止更新任务,这种情况仍然继续发生,则可能是因为您的系统更新落后,并且您的 GUI 软件中心或无人值守升级已锁定下载可用软件列表并进行关键的安全修复。
您可以通过定期运行来保持系统保持最新状态,sudo apt update
从而防止出现这种情况。sudo apt upgrade