如何检查deb包的依赖列表
如何检查deb包的依赖列表。 我正在运行Ubuntu 11.10并且我已经从var/cache/apt/archives
备份了所有deb包。 我想格式化我的电脑并仅重新安装选定的应用程序。 另外,我如何获取已安装的软件包和依赖项列表。
除了dpkg
方法,您还可以检查存储库中包的依赖关系:
apt-cache depends package-name
编辑更新了@Tino的推荐。 @ Tigran的评论不再适用。
这将显示有关该包的所有信息:
dpkg -I package.deb
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(',') ]) "