将文件名与包相关联

将文件名与包相关联

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

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

答案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

以下是如何为最常见的包管理器执行此操作(稍微改编自这里):

  1. 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
      
  2. 红帽/软呢帽

    • 已安装的软件包:

      rpm -qf /path/to/file
      
    • 所有可用的包:

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

    rpm -qf /path/to/file
    
  4. pacman -Qo /path/to/file
    
  5. 根图

    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

相关内容