Linux中查看已安装软件包的全部文件方法有哪些?主要取决于当前使用的包管理系统,常见的包管理及如何列出已安装软件包全部文件的方法如下!
基于 Debian 的 Linux 发行版(如 Ubuntu)中可以用dpkg列出已安装软件包的全部文件。列出已安装包的所有文件:
dpkg -L <package_name>
如要查看 curl 软件包安装的所有文件:
dpkg -L curl
L 选项列出指定包的所有文件。<package_name> 是你要查询的软件包名称。
rpm 命令适用于基于 Red Hat 的发行版,如 CentOS, RHEL, Fedora。列出已安装包的所有文件:
rpm -ql <package_name>
要查看 curl 软件包安装的所有文件:
rpm -ql curl
q 表示查询(query)。l 表示列出文件。<package_name> 是你要查询的软件包名称。
如果是 Arch Linux 或其衍生版(如 Manjaro),可用 pacman 包管理器。列出已安装包的所有文件:
pacman -Ql <package_name>
查看 curl 软件包安装的所有文件:
pacman -Ql curl
Q 表示查询已安装的软件包。l 表示列出文件。<package_name> 是你要查询的软件包名称。
在现代版本的 Fedora、CentOS 和 RHEL 中,dnf 包管理器取代了 yum,用于管理软件包。列出已安装包的所有文件:
dnf repoquery -l <package_name>
查看 curl 软件包安装的所有文件:
dnf repoquery -l curl
repoquery 是 dnf 的子命令,用于查询软件包。l 选项列出指定包的文件。
openSUSE用 zypper 来列出已安装软件包的所有文件:
zypper info -t package <package_name>
查看 curl 软件包安装的所有文件:
zypper info -t package curl
如果你不知道具体的软件包名称,或者想要查看系统中某个文件属于哪个软件包,可以使用 dpkg 查找文件属于哪个软件包:
dpkg -S <file_name>
rpm 查找文件属于哪个软件包:
rpm -qf <file_name>
pacman 查找文件属于哪个软件包:
pacman -Qo <file_name>
dnf 查找文件属于哪个软件包:
dnf provides <file_name>
zypper 查找文件属于哪个软件包:
zypper search --installed-only <file_name>
locate是基于数据库的工具,能够快速查找文件。为了查找某个文件是否属于已安装的某个软件包,可以先用 locate 查找文件的位置。
locate <file_name>
locate 需要定期更新其数据库,可以通过 sudo updatedb 命令来更新。
综上看,Debian/Ubuntu:使用 dpkg -L <package_name>。
Red Hat/CentOS/Fedora:使用 rpm -ql <package_name>。
Arch Linux:使用 pacman -Ql <package_name>。
Fedora/CentOS/RHEL (新版本):使用 dnf repoquery -l <package_name>。
openSUSE:使用 zypper info -t package <package_name>。
查找文件所属的包:使用 dpkg -S, rpm -qf, pacman -Qo, dnf provides, zypper search 等命令。
上面的这些命令,能方便地列出已安装软件包的所有文件,或者查找文件所属的包。