Linux查询文件所属包和查看包所包含文件

图片来源:https://www.pixiv.net/artworks/101077465

Debain,Ubuntu,Deepin等使用deb包的发行版

已安装的包

根据文件名(命令名)查找包名

dpkg -S <file> #仅查询本地已安装的包

根据包名查看其所包含文件

dpkg -L <package> #仅查询本地已安装的包

未安装的包

要查找未安装的包需要额外工具 apt-file (使用 sudo apt install apt-file 安装),使用前可以先更新本地缓存 sudo apt update

根据文件名(命令名)查找包名

apt-file search <file>

根据包名查看其所包含文件

apt-file list <package> 

RHEL,Centos,Fedora等使用rpm包的发行版

根据文件名(命令名)查找包名

rpm -qf <file> #仅查询本地已安装的包

yum provides <file>

# Fedora22,RHEL8 以及 Centos8 引入了dnf用以取代yum
dnf provides <file> 

根据包名查看其所包含文件

rpm -ql <package> #仅查询本地已安装的包

要查询未安装的包所包含的文件需要额外工具 repoquery (使用 sudo yum install yum-utilssudo dnf install dnf-utils 安装)

repoquery -l <package>

Arch,Manjaro等使用 pacman 的发行版

根据文件名(命令名)查找包名

pacman -Qo <file> #仅查询本地已安装的包

pacman -F <file> #在数据库中查找,可以加上'-y'选项先更新数据库

根据包名查看其所包含文件

pacman -Ql <package> #仅查询本地已安装的包

pacman -Fl <package> #在数据库中查找,可以加上'-y'选项先更新数据库
知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

一条评论 “Linux查询文件所属包和查看包所包含文件”