【发布时间】:2022-09-27 14:47:23
【问题描述】:
我们有一个使用脚本在 ubuntu 机器上安装更新的系统。该脚本可以安排定期运行,用户可以选择安装哪些更新。用户可以选择要安装的更新类型(例如安全性\\关键),还可以选择要安装的特定软件包及其版本。用户还可以选择可以安装这些更新的维护时段。如果安装更新花费的时间比维护窗口长,则可以跳过安装一些更新。
假设用户选择安装安全更新并指定要安装的特定软件包列表。我们首先获取安全更新列表,然后添加用户指定的特定包列表。假设列表中总共有 100 个更新,即 U1、U2...U100。
目前更新按如下顺序安装,在每个命令后我们检查是否超过维护窗口:
sudo apt-get install U1
检查是否超过维护窗口
sudo apt-get install U2
检查是否超过维护窗口
. . .
sudo apt-get 安装 U100
但这需要很长时间,有时需要 3-4 个小时。 只需运行命令 \"sudo apt-get install\" 而无需提及任何软件包版本即可更快地安装软件包,即在 30-40 分钟内。 但是我们不想安装所有的包。我们只想安装用户指定的软件包列表。
在一个命令中提及所有软件包是否可以更快地安装所有软件包?例如命令看起来像以下 sudo apt-get install U1,U2,U3... U100
但是在这种情况下,如果要安装许多更新并且它跨越维护窗口,我们没有任何方法可以停止安装更新,因为所有更新都是使用单个命令安装的。因此,我们无法遵守维护窗口。
一种解决方法是分批安装(一次说 20 个)
sudo apt-get install U1, U2.... U20
检查是否超过维护窗口
sudo apt-get install U21, U22.... U40
检查是否超过维护窗口
. . .
sudo apt-get install U81, U82.... U100
**安装大量更新以减少安装更新时间的标准方法是什么?如果批量安装更新是个好方法,那么理想的批量大小是多少? **
标签: ubuntu installation upgrade apt-get package-managers