当工作包完成后,开始安装包

当工作包完成后,开始安装包

假设我通过在基于 Debian 的系统上安装一个软件包sudo aptitude install mypackage。假设包很大,下载和安装需要很长时间。

当我注意到我想在调用该命令后安装另一个包时,我必须等到第一个包完全安装。

是否可以使 aptitude 在第一个包完成后自动开始安装第二个包?

答案1

您可以列出多个要同时安装的软件包:

aptitude install package1 package2

如果您确实关心它们的安装顺序(您几乎肯定不关心,因为 aptitude 自动考虑依赖性和其他微妙之处),或者正在寻找更通用的解决方案,请执行以下操作:

aptitude install package1 && aptitude install package2

&&如果前一个命令成功(返回退出状态 0),逻辑 AND ( ) 运算符将仅执行第二个命令。

如果您甚至问如何做到这一点您最初执行了该命令,请尝试另一个终端:

aptitude-after() {
    printf '%s\n' "Waiting for current aptitude operations to finish"
    while pgrep -x aptitude >/dev/null 2>&1; do
        sleep 10
    done
    printf '%s\n' "Done, running new instance of aptitude."
    aptitude "$@"
}

将其运行为aptitude-after install mypackage2.它将等待所有当前的 aptitude 实例完成。

相关内容