比如说,我得到了一个像libasound.so.2
.有没有办法查询包管理器以将文件名与其相应的包关联起来?
我有兴趣获得任何包管理器的答案,但我的主要关注点是apt
和yum
。
答案1
/sbin/shutdown
我的系统上提供了哪个已安装的软件包?
$ dpkg -S /sbin/shutdown
sysvinit: /sbin/shutdown
发行版中提供了哪个包/sbin/shutdown
?安装apt-file
如果需要的话打包并运行apt-file update
,然后
$ apt-file search /sbin/shutdown
molly-guard: /usr/sbin/shutdown
sysvinit: /sbin/shutdown
upstart: /sbin/shutdown
下载源代码(如果您使用默认的初始化系统 SysVinit):
apt-get source sysvinit
不过,这可能不是配置桌面通知的地方。配置启动和关闭过程通常是通过/etc/init.d
.链接一个脚本/etc/rc0.d
以使其在关机时执行,并链接一个脚本以/etc/rc6.d
使其在重新启动之前执行;看到政策手册了解更多信息。桌面通知通过总线。
答案2
以下是如何为最常见的包管理器执行此操作(稍微改编自这里):
Debian 及其衍生产品
已安装的软件包:
dpkg -S /path/to/file
或者
dlocate /path/to/file
所有可用的套餐
安装
apt-file
并构建其数据库:sudo apt-get install apt-file && apt-file update
然后,搜索发行版存储库(已安装或未安装)中提供感兴趣文件的所有可用软件包:
apt-file search /path/to/file
红帽/软呢帽
已安装的软件包:
rpm -qf /path/to/file
所有可用的包:
yum whatprovides
SUSE/openSUSE、所有其他基于 RPM 的发行版
rpm -qf /path/to/file
拱
pacman -Qo /path/to/file
根图
equery belongs /path/to/file
答案3
dpkg -S 在 Ubuntu 10.04 上为我们提供了这个
dpkg -S /sbin/shutdown
upstart: /sbin/shutdown
但在 Debian 5 机器上我得到了这个
dpkg -S /sbin/shutdown
sysvinit: /sbin/shutdown
答案4
为了完整起见,这是基于 yum 的系统
yum whatprovides /sbin/shutdown
或者,只使用 rpm:
rpm -qf /sbin/shutdown