对于我正在编写的构build工具(为此我想实现一种依赖性caching系统)我想知道.deb包缺less的依赖关系是什么, 而不诉诸安装(可能)并读取apt-get输出,即: 我必须能够在软件中以非交互方式进行输出,这不是人类应该做的事情
手动过程将是这样的:
dpkg -i something.deb || true apt-get -f install
在这一点上,打印像这样的东西:
The following extra packages will be installed: ca-certificates git git-man krb5-locales libasn1-8-heimdal libcurl3-gnutls libedit2 liberror-perl libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libidn11 libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 libroken18-heimdal librtmp0 libruby1.9.1 libsasl2-2 libsasl2-modules libsasl2-modules-db libwind0-heimdal libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxmuu1 libyaml-0-2 openssh-client openssl patch rsync ruby ruby1.9.1 xauth
我想可靠地获得这样的列表, 而不需要安装 .deb(可能,因为我可以在安装之后删除软件包,并且像以前一样拥有一个系统),但是尤其不需要手动和交互地parsingapt-get输出为包裹上市 。
我可以使用apt-get,apt-cache,aptitude或Debian和/或Ubuntu提供的任何软件包来执行此类任务。
dpkg -I package.deb
这是命令显示包信息。 你可以find依赖。