假设从安装到测试的反馈循环代价高昂(就像在大型 Docker 容器中一样),我们希望将反复试验的依赖项添加次数减少到仅一个。
鉴于此,如何自动执行识别所需的最小依赖项列表的任务,以使用
apt
为给定程序安装?
请注意,此程序的需求列表可能很长,其中一些已经得到满足,我们甚至不想在安装脚本中明确指定一个冗余(以前安装的)依赖项(例如
Dockerfile
),因为它降低了可读性。
可以通过过滤构建缺失的依赖列表
ldd
输出:
APP=perf_analyzer
$ ldd $(which $APP) | grep "not found" | awk '{print $1}'
libb64.so.0d
libcudart.so.12
libssl.so.1.1
libcrypto.so.1.1
然后所有当前可用的是在线搜索包含这些库的
deb
包。