El 错误“无法获取锁/ var / lib / dpkg /锁”在Debian,Ubuntu和衍生产品中非常常见 而这个 它通常在使用apt的另一个进程启动时启动 它在后台运行,或者在您打开Ubuntu软件中心,Synaptic和其他软件中心时运行。
这就是为什么 在本文中,我们将看到如何解决此错误 尽管已将解决方案应用于上述方法。
通常,他们绝望看到此错误并且无法使用apt进行任何操作,因此选择应用经典的“ sudo rm”,这是最没有显示的选项。
但是在直接进行讨论之前,我们可以看到其他原因是阻止使用apt的原因。
解决方案
科莫 上面提到的当您在另一个进程中运行apt时,通常会显示此错误因此,如果您想从终端进行更新或安装,并且在后台打开了Ubuntu软件中心,Synaptic或程序包管理器,则这是导致此错误的主要原因。
解决方案1
第一个解决方案 只要它们不做任何工作就关闭它们 作为更新或应用程序安装,因为如果这样的话,强烈建议您等待。
这样,我们将不再收到以下错误:
E: No se pudo obtener el bloqueo /var/lib/dpkg/lock - abierto (11: El recurso no está disponible temporalmente) E: No se puede bloquear el directorio de administración (/var/lib/dpkg), ¿lo está usando otro proceso? no se pudo obtener el bloqueo var lib lib bloqueo dpkg
但是,如果您没有任何运行该怎么办?
该错误消息已经为您提供了引起问题的线索:正在使用另一个进程/ var / lib / dpkg /。
埃斯托 这是因为默认情况下,Ubuntu启用了后台更新以进行安全更新。
Ubuntu完成引导后,它将自动运行apt-get update命令。
如果有安全更新,它将在后台安装。
因此,如果他们同时运行sudo apt upgrade命令,则会显示上述错误。
通常这种情况很少发生,但对我们所有人来说都是这样,因为当我们打开计算机并想用apt进行一些移动时,终端会向我们抛出此错误。
在这里,建议让Ubuntu进行相应的更新。
解决方案2
解决这个问题 转到“软件和更新”应用程序就足够了,我们将从应用程序菜单中查找该应用程序。
在打开的窗口中,我们必须转到“更新”选项卡,在默认情况下显示给我们的选项中,安全更新会自动下载并安装 要更改此设置,我们必须更改为“立即显示”。
在检查更新的部分中,我们将其更改为“每周或每两周”。
然后输入您的用户密码,此更改才能生效。
相似地 您可以从命令行获得相同的结果。 在您的终端中,打开/etc/apt/apt.conf.d/20auto-upgrades文件:
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
原始内容如下:
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "0"; APT::Periodic::Unattended-Upgrade "1";
要禁用自动安全更新,请将其更改为:
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Download-Upgradeable-Packages "0"; APT::Periodic::AutocleanInterval "0"; APT::Periodic::Unattended-Upgrade "0";
他们使用Ctrl + O保存文件,然后退出,必须按Ctrl +X。
稍后,我们重新启动设备。
解决方案3
最后,如果您仍然继续收到此错误,请不要失望,建议您让团队执行其更新,但是如果这花费的时间太长,则您配置的镜像可能已饱和或关闭。
因此,建议您从获取Ubuntu软件包的位置更改服务器。
解决方案4
最后,如果问题仍然存在,则可以选择应用确定的解决方案,即删除阻止apt的文件。
他们可以使用以下命令删除锁定文件:
sudo rm /var/lib/apt/lists/lock
他们可能还需要删除缓存目录中的锁定文件
sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock
但是他们应该知道,最不推荐使用最后一种方法。
2条评论,留下您的评论
嗨,谢谢你的文章。
这个错误很烦人,我用第一个选项解决了。
或者最好等待几分钟,几小时,然后再次运行