Linux 通过 RPM 或者 DEB 包安装的文件
你是否想要了解安装包中各个文件在 Linux 系统中安装(位于)的位置?我们将在来自《Linux就该这么学》技术干货的这篇文章中介绍如何列出文件的来源,或存在于某个特定包或者一组软件窄忾行崦包中的文件。
这篇文章可以帮你轻松地找到重要的软件包文件,如配置文件、帮助文档等。我们来看看找出文件在哪个包中或者从哪个包中安装的几个方法:
如何列出 Linux 中全部已安装软件包的文件
你可以使用 repoquery 命令,它是 yum-utils 的一部分,用来列出给定的软件包在 CentOS/RHEL 系统上安装的文件。
要安装并使用 yum-utils,运行下面的命令:
# yum update
# yum install yum-utils
现在你可以列出一个已安装包的文件了,比如 httpd 服务器 (注意包名是大小写敏感的)。--installed 表示已经安装的包,-l 列出所有的文件:
# repoquery --installed -l httpd
# dnf repoquery --installed -l httpd [On Fedora 22+ versions]
Linux 通过 RPM 或者 DEB 包安装的文件Linux 通过 RPM 或者 DEB 包安装的文件
repoquery 列出 httpd 安装的文件
重要:在 Fedora 22 以上的版本中,repoquery 命令在基于 RPM 的发行版中已经与 dnf 包管理器整合,可以用上面的方法列出安装的文件。
除此之外,你也可以使用下面的 rpm 命令列出 .rpm 包中或已经安装的 .rpm 包的文件,下面的 -q 和 -l表示列出其后跟着的包中的文件:
# rpm -ql httpd
Linux 通过 RPM 或者 DEB 包安装的文件Linux 通过 RPM 或者 DEB 包安装的文件
rpm 查询已安装程序的安装包另外一个有用的建议是使用 -p 在安装之前列出 .rpm中的文件。
# rpm -qlp telnet-server-1.2-137.1.i586.rpm
在 Debian/Ubuntu 发行版中,你可以使用 dpkg 命令带上 -L标志在 Debian 系统或其衍生版本中列出给定 .deb 包的安装的文件。
在这个例子中,我们会列出 apache2 Web 服务器安装的文件:
$ dpkg -L apache2
Linux 通过 RPM 或者 DEB 包安装的文件Linux 通过 RPM 或者 DEB 包安装的文件
dpkg 列出安装的包不要忘记查看其它有关在 Linux 中软件包管理的文章。