dpkg 替代 opkg 依赖

dpkg 替代 opkg 依赖

在 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
    

相关内容