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

Thursday, March 5, 2020

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'选项先更新数据库
linux

转载:X-Y Problem

命令行中查看当前Linux发行版信息