apt: deb パッケージをインストールせずに必要な依存関係を一覧表示する

apt: deb パッケージをインストールせずに必要な依存関係を一覧表示する

私が作成しているビルドツール(依存関係キャッシュシステムのようなものを実装したい)では、.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

これはパッケージ情報を表示するコマンドです。依存関係を見つけることができます。

関連情報