在 bash 脚本中我想安装一个包。在明智地这样做之前,我需要检查是否没有其他实例apt-get或dpkg已经在工作。如果是这样的话,就会apt-get失败,因为它已经锁定了。
检查/var/lib/dpkg/lock和是否/var/lib/apt/lists/lock存在就足够了,如果两者都不存在,安装是安全的吗?
这取决于您想要如何处理 apt-get 错误。根据您的需要检查/var/lib/dpkg/lock,这/var/lib/apt/lists/lock很好,但如果您想格外小心,您可以进行模拟并检查返回代码,如下所示:
if sudo apt-get --simulate install packageThatDoesntExist
then echo "we're good"
else echo "oops, something happened"
fi
Run Code Online (Sandbox Code Playgroud)
例如:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package packageThatDoesntExist
oops, something happened
Run Code Online (Sandbox Code Playgroud)
编辑:--simulate不会检查锁,因此您可能需要在那里进行额外的检查。sudo如果您想单独检查 sudo,您可能还需要删除。
| 归档时间: |
|
| 查看次数: |
10524 次 |
| 最近记录: |