如何检查是否安装了虚拟包?
在以下问题中,有一个在安装包之前检查包的解决方案:
如何检查我的服务器上是否安装了软件包?
但是,我发现这对虚拟包不起作用。
有没有办法遍历apt-get自动选择并检查正确的包名称?
您可以使用grep-status (软件包dctrl-tools
,默认情况下未安装)来查找提供某些虚拟软件包的所有已安装软件包:
$ grep-status -FProvides,Package -sPackage,Provides,Status awk Package: mawk Provides: awk Status: install ok installed Package: gawk Provides: awk Status: install ok installed
除非只有一个提供程序,否则Apt不会安装虚拟包。 如果另一个包依赖于虚拟包,它通常也会命名一个真正的包作为替代(即build-essential取决于“libc6-dev | libc-dev” – 第二个是虚拟包)。
未安装虚拟包,因此无法检查其状态。 您可以使用apt-cache showpkg
查看提供虚拟包的软件包,然后检查是否安装了任何软件包。
您可以使用包名称查询已安装包的数据库
dpkg -l packagename
并且您可以列出packagename中的所有文件
dpkg -L packagename
阅读man dpkg
以获取更多信息,例如如何使用通配符。
- 破了dpgk? 运行脚本失败/ usr / sbin / dpkg-preconfigure –apt || 真正
- 尽管在尝试之前进行了更新,但无法安装最新版本的NodeJ
- 如何恢复配置文件?
- “涉及服务的循环”:apt-get install打破dpkg
- maas / stable / ubuntu xenial存储库没有Release文件
- 如何在ubuntu 15.10上安装或卸载半安装的mysql-client-5.6?
- 使用@in密码错误进行Apt-get更新
- `Gtk-WARNING **:C库不支持区域设置。 `从命令行启动应用程序时
- 我需要将哪些INPUT规则添加到iptables,以便apt(apt-get,aptitude)可以工作(更新,升级,搜索,安装)?