查找某个文件属于哪个package的方法
从https://www.garron.me/en/linux/find-which-package-library-belongs.html学到的
Debian/Ubuntu
我们需要借助 apt-file 来实现
sudo apt-get install apt-file -y
然后更新数据库
apt-file update
然后搜索
apt-file search ${file}
Archlinux
若只需要在已经安装的包内查询,则可以直接使用pacman
pacman -Qo ${file}
/usr/bin/nc 属于 gnu-netcat 0.7.1-6
若需要查询所有数据库中的包,则可以使用pacmang中的 -F 选项
# 更新package databases sudo pacman -Fy # 搜索文件 pacman -Fs ${file}
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
archlinuxcn is up to date
extra/bash-completion 2.8-1
usr/share/bash-completion/completions/nc
extra/gnu-netcat 0.7.1-7
usr/bin/nc
community/openbsd-netcat 1.190_2-1
usr/bin/nc
或者也可以使用 pkgfile
sudo pacman -S pkgfile --noconfirm
更新数据库信息
sudo pkgfile --update
:: Updating 5 repos... extra is up to date community is up to date multilib is up to date core is up to date archlinuxcn is up to date
使用pkgfile查询
pkgfile ${file}
extra/bash-completion extra/gnu-netcat community/openbsd-netcat
Redhat,Fedora,Centos
在已安装的包中检查执行
rpm -qf $(which ${file})
nmap-ncat-6.40-13.el7.x86_64
或者,在所有包中检查,执行
yum provides */${file}
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
1:bash-completion-extras-2.1-11.el7.noarch : Additional programmable completions
: for Bash
Repo : epel
Matched from:
Filename : /usr/share/bash-completion/completions/nc
euca2ools-2.1.4-1.el7.centos.noarch : Eucalyptus/AWS-compatible command line
: tools
Repo : extras
Matched from:
Filename : /usr/lib/python2.7/site-packages/euca2ools/nc
kde-runtime-4.10.5-11.el7.i686 : KDE Runtime
Repo : os
Matched from:
Filename : /usr/share/locale/l10n/nc
kde-runtime-4.10.5-11.el7.x86_64 : KDE Runtime
Repo : os
Matched from:
Filename : /usr/share/locale/l10n/nc
kf5-kdelibs4support-5.33.0-1.el7.x86_64 : KDE Frameworks 5 Tier 4 module with
: porting aid from KDELibs 4
Repo : epel
Matched from:
Filename : /usr/share/kf5/locale/countries/nc
2:nmap-ncat-6.40-13.el7.x86_64 : Nmap's Netcat replacement
Repo : os
Matched from:
Filename : /usr/bin/nc
rngom-javadoc-201103-0.8.20120119svn.el7.noarch : Javadoc for rngom
Repo : os
Matched from:
Filename : /usr/share/javadoc/rngom/org/kohsuke/rngom/nc
2:nmap-ncat-6.40-13.el7.x86_64 : Nmap's Netcat replacement
Repo : @os
Matched from:
Filename : /usr/bin/nc
