debパッケージの依存関係リストを確認するにはどうすればよいですか。私はUbuntu 11.10を実行していますが、すべてのdebパッケージをからバックアップしましたvar/cache/apt/archives
。PCをフォーマットし、選択したアプリケーションのみを再インストールします。また、インストールされているパッケージと依存関係のリストを取得する方法もあります。
dpkg --get-selections | sed -n 's/[[:space:]]install$//p'
debパッケージの依存関係リストを確認するにはどうすればよいですか。私はUbuntu 11.10を実行していますが、すべてのdebパッケージをからバックアップしましたvar/cache/apt/archives
。PCをフォーマットし、選択したアプリケーションのみを再インストールします。また、インストールされているパッケージと依存関係のリストを取得する方法もあります。
dpkg --get-selections | sed -n 's/[[:space:]]install$//p'
回答:
dpkg
メソッドに加えて、リポジトリ内のパッケージの依存関係を確認できます。
apt-cache depends package-name
編集 @Tinoの推奨で更新されました。@Tigranのコメントは適用されなくなりました。
dpkg -I package
、インストールされたパッケージに対してのみ機能することに注意してください。 apt-cache
あなたがした後に知られているすべてのパッケージに働きますapt-get update
。
apt-cache depends package
その場合、showpkg
依存関係が推奨、競合などであるかどうかはわかりませんので、より良い方法ですので、少し困惑しています。ないスクリプトのためdepends
と組み合わせshowpkg
参照くださいunix.stackexchange.com/a/362866/23450
これにより、パッケージに関するすべての情報が表示されます。
dpkg -I package.deb
dpkg -I splunkforwarder-6.3.3-f44afce176d0-linux-2.6-amd64.deb new debian package, version 2.0. size 15881308 bytes: control archive=3104 bytes. 153 bytes, 5 lines control 6058 bytes, 207 lines * postinst #!/bin/bash 2912 bytes, 93 lines * preinst #!/bin/bash Package: splunkforwarder Version: 6.3.3 Maintainer: Splunk Inc. <info@splunk.com> Architecture: amd64 Description: Splunk The platform for machine data.
/var/cache/apt/archives/
パッケージ名の前に置き、タブ補完を使用してバージョンなどの完全なパッケージ名を見つけることを忘れないでくださいdpkg -I /var/cache/apt/archives/elasticsearch_2.4.4_all.deb
。
sudo apt-get install --reinstall --download-only [package name]
。
apt-cache depends [Package-Name]
同様に動作します。.deb
ソースリストの外部からパッケージを入手した場合、
apt-cache showpkg [Package-Name] && apt-cache depends [Package-Name]
古い情報が表示されたり、実際にインストールされたパッケージと同期されなかったりする可能性があるため
dpkg -I [Package-Name]
、その場合に最適です。
ここにいくつかのずさんなものがあり、おそらくdpkg -I
依存項目をリストとして取得するために出力に対して行うことができる後処理をあまり網羅していないでしょう:
コンピューター用に凝縮
# dpkg -I package.deb | python -c "import sys, re; t=re.split(r'\n(?= ?[\w]+:)|:', sys.stdin.read()); print '\n'.join([i.strip() for i in {key.strip(): value.strip() for key, value in zip(t[::2], t[1::2])}['Depends'].split(',')])"
#
人間向けに拡張:
dpkg -I package.deb | python -c "
import sys, re;
# Split keys and values into pairs (zipped together later)
t=re.split(
r'\n(?= ?[\w]+:)|:',
sys.stdin.read()
);
# Newline separate each dependency
print '\n'.join([
# Trim each dependency value
i.strip() for i in {
# Build assoc array from package metadata
key.strip(): value.strip()
for key, value in zip(t[::2], t[1::2])
}['Depends'].split(',')
])
"
libc6\nadduser\n Installed-Size\n
ます。つまり、Depends行だけでなく、それ以上の一致があるようです。
特定のパッケージバージョンの場合:
apt-cache show <package_name>=<version>
利用可能なバージョンを見つけるには:リポジトリ内のパッケージの利用可能なバージョンを確認するにはどうすればよいですか?