将文件名与包相关联

use*_*000 8 yum apt package-management

说,我得到了一个像libasound.so.2. 有没有办法查询包管理器以将文件名与其对应的包相关联?

我有兴趣获得任何包管理器的答案,但我的主要关注点是aptyum

Gil*_*il' 13

/sbin/shutdown我的系统上提供了哪个已安装的软件包?

$ dpkg -S /sbin/shutdown
sysvinit: /sbin/shutdown
Run Code Online (Sandbox Code Playgroud)

发行版中的哪个包提供/sbin/shutdown?安装apt-file软件包并apt-file update在必要时运行,然后

$ apt-file search /sbin/shutdown
molly-guard: /usr/sbin/shutdown
sysvinit: /sbin/shutdown
upstart: /sbin/shutdown
Run Code Online (Sandbox Code Playgroud)

要下载源代码(如果您使用默认的初始化系统 SysVinit):

apt-get source sysvinit
Run Code Online (Sandbox Code Playgroud)

不过,这可能不是配置桌面通知的地方。配置启动和关闭过程通常是通过/etc/init.d. 将脚本链接/etc/rc0.d到在关机/etc/rc6.d时执行并在重新启动前执行;有关更多信息,请参阅政策手册。桌面通知通过dbus


ter*_*don 7

以下是对最常见的包管理器执行此操作的方法(稍微改编自此处):

  1. Debian 及其衍生产品

  2. 红帽/Fedora

  3. SUSE/openSUSE,所有其他基于 RPM 的发行版

    rpm -qf /path/to/file
    
    Run Code Online (Sandbox Code Playgroud)
  4. pacman -Qo /path/to/file
    
    Run Code Online (Sandbox Code Playgroud)
  5. Gentoo

    equery belongs /path/to/file
    
    Run Code Online (Sandbox Code Playgroud)

  • 对于 pacman,q(安静)选项也很有用:`pacman -Qikk "$(pacman -Qqo /path/to/file)"` (2认同)

Joh*_*han 5

dpkg -S 在 Ubuntu 10.04 上给我们这个

dpkg -S /sbin/shutdown 
upstart: /sbin/shutdown
Run Code Online (Sandbox Code Playgroud)

但是在 Debian 5 机器上我得到了这个

dpkg -S /sbin/shutdown 
sysvinit: /sbin/shutdown
Run Code Online (Sandbox Code Playgroud)