Bash - 如果 apt-get/dpkg 正在运行,如何检查软件包是否可以安装?

2023-11-23

在 bash 脚本中我想安装一个包。在明智地这样做之前,我需要检查是否没有其他实例apt-get or dpkg已经在工作了。如果是这样的话,那么apt-get会失败,因为它已经锁定了。

检查是否足够/var/lib/dpkg/lock and /var/lib/apt/lists/lock存在,如果两者都不存在,安装是否安全?


在 Debian Wheezy(目前稳定)中,这些文件始终存在。因此我发现使用lsof /var/lib/dpkg/lock成为更有用的支票。如果没有任何东西使用该锁,则返回 1,如果有,则返回 0,因此:

lsof /var/lib/dpkg/lock >/dev/null 2>&1
[ $? = 0 ] && echo "dpkg lock in use"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash - 如果 apt-get/dpkg 正在运行,如何检查软件包是否可以安装? 的相关文章

随机推荐