OpenBSD下如何检查包的依赖关系?

OpenBSD下如何检查包的依赖关系?

AFAIK 这是我可以在 OpenBSD 上安装例如 XYZ 的方式:

pkg_add -Uvi XYZ

如何获取有关 XYZ 包的所有依赖项的列表?

-> 因此,我需要一个有关 .tgz 文件名的列表,当我需要安装给定的 XYZ 软件包时,pkg_add 将下载/安装/更新该列表。

生成 XYZ 包列表的命令是什么?

答案1

看起来依赖项已在装箱单中指定。您可以看到带 的装箱单pkg_info -f

因此,假设PKG_PATH已经设置:

pkg_info -f XYZ | grep '^@depend' | cut -f 3 -d :

应该给你包名称。

在每一行前面$PKG_PATH和后面.tgz应该为您提供一个可能会下载的 URL,例如获取 的bash依赖项:

PKG_PATH=http://ftp3.usa.openbsd.org/pub/OpenBSD/5.1/packages/amd64/
export PKG_PATH
pkg_info -f bash | grep '@depend' | cut -f 3 -d : | while read package; do
    echo $PKG_PATH$package.tgz
done

印刷

http://ftp3.usa.openbsd.org/pub/OpenBSD/5.1/packages/amd64/libiconv-1.14.tgz
http://ftp3.usa.openbsd.org/pub/OpenBSD/5.1/packages/amd64/gettext-0.18.1p1.tgz

另请参见pkg_add -nPKG_CACHE

参考:

相关内容