對於我正在編寫的建置工具(我想為其實現一種依賴項快取系統),我想知道 .deb 套件缺少的依賴項是什麼,沒有求助於安裝它(可能)並讀取 apt-get 輸出,即:我必須能夠在軟體中以非互動方式完成此操作,這不是人類應該做的事情
手動過程類似:
dpkg -i something.deb || true
apt-get -f install
此時,apt 會印出如下內容:
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 (可能是因為我可以在安裝後刪除該軟體包並擁有一個像以前一樣的系統,畢竟)但特別是無需手動和交互地解析 apt-get 輸出以獲取包列表。
我可以使用 apt-get、apt-cache、aptitude 或 Debian 和/或 Ubuntu 中可用的任何軟體包來執行此類任務。
答案1
dpkg -I package.deb
它的命令顯示包資訊。你可以找到依賴.