在 opkg(OpenWRT 中的包管理器)中,我可以获取某些包的依赖页面。例如
命令
opkg depends vsftpd
将输出
vsftpd depends on:
libc
dpkg 中(在 Debain 上)有没有这个命令的替代方法?
答案1
在 Debian 上,您可以使用apt-cache
查询软件包数据库。有几种方法可以获取依赖项列表,其行为和输出格式各不相同:
打印特定软件包版本的依赖项(仅名称):
apt-cache depends <pkg_name>[=version|/target_release]
打印每个可用包版本的包信息(包括依赖项名称+版本):
apt-cache showpkg <pkg_name>
打印每个可用软件包版本的可读软件包信息:
apt-cache show <pkg_name>[=version|/target_release]
查阅完整的语法和man apt-cache
可用的命令行选项(例如--no-recommends
,,)。--no-suggests
--no-all-versions
考虑 grepping 输出(参见下面的示例),但请注意,在 Debian 中存在几种类型的依赖项,虽然apt-get install <pkg_name>
总是会尝试安装列出的依赖项Depends:
,但它也可能会尝试安装列出的依赖项Recommends:
(默认行为)。
输出示例:
apt-cache depends vsftpd | grep Depends:
|Depends: debconf Depends: <debconf-2.0> Depends: init-system-helpers Depends: libc6 Depends: libcap2 Depends: libpam0g Depends: libssl1.0.0 Depends: libwrap0 Depends: adduser Depends: dialog Depends: libpam-modules Depends: netbase
apt-cache showpkg vsftpd | grep -A1 Dependencies:
Dependencies: 3.0.3-5 - debconf (18 0.5) debconf-2.0 (0 (null)) init-system-helpers (2 1.18~) libc6 (2 2.15) libcap2 (2 1:2.10) libpam0g (2 0.99.7.1) libssl1.0.2 (2 1.0.2d) libwrap0 (2 7.6-4~) adduser (0 (null)) libpam-modules (0 (null)) netbase (0 (null)) logrotate (0 (null)) ssl-cert (0 (null)) ftp-server (0 (null)) ftp-server (0 (null))
apt-cache show vsftpd | grep Depends:
Depends: debconf (>= 0.5) | debconf-2.0, init-system-helpers (>= 1.18~), libc6 (>= 2.15), libcap2 (>= 1:2.10), libpam0g (>= 0.99.7.1), libssl1.0.2 (>= 1.0.2d), libwrap0 (>= 7.6-4~), adduser, libpam-modules, netbase