结合“apt install”与“apt dist-upgrade”?
我经常在镜像构建/刷新脚本中看到这样的模式:先安装一组软件包,然后更新所有软件包:
|
|
虽然影响不大,但这会导致冗余工作。例如读取/写入软件包数据库,可能还会运行触发器(如手册页刷新、ldconfig等)。实际上,内部软件包依赖关系解析并没有区别:“install”命令也会升级需要的软件包等。将它们合并应该是完全可行的,但我还没有找到一种简洁的方法来实现。
目前我找到的最佳方案是:
|
|
这种方法让我能够同时实现“install”和“upgrade”的效果,但不是“dist-upgrade”(它具有稍微不同的解析逻辑,我更喜欢使用)。此外,它还包含了本应不必要的更新dpkg数据库的开销。有人知道更好的方法吗?
更新:Julian Andres Klode指出,dist-upgrade实际上也像install一样接受软件包参数。拍额头 我甚至没有尝试过——我相信了手册页和-h输出。它完美地工作!
© 2020, Kees Cook。本作品采用知识共享署名-相同方式共享4.0国际许可协议进行许可。