LINUX怎么查看某个软件包的安装路径_LINUX软件安装位置查询方法

嗯,我在这方面有经验,所以我必须具体一点。

例如,在Debian或Ubuntu等系统中,可以使用dpkg工具来检查。
如果你想查看软件,比如nginx,你需要这样做:dpkg -L nginx。
单击此按钮,将显示 nginx 安装的所有文件路径。

或者你想知道哪个包包含某个文件,例如你想查看/etc/nginx/nginx.conf是哪个包,那么你应该使用 dpkg -S /etc/nginx/nginx.conf。
这次系统会告诉你这个文件在nginx包里。

还有基于 RPM 的系统,例如 CentOS、RHEL 或 Fedora。
在这种情况下,您应该使用 RPM 工具。
如果要检查httpd的安装路径,请使用rpm -ql httpd。
该命令将为您提供 httpd 安装的所有文件的列表。

要确认某个文件是哪个软件包提供的,例如想知道 /usr/sbin/httpd 的所有者是谁,可以使用 rpm -qf /usr/sbin/httpd。
它会告诉你这个文件属于哪个包。

要快速查找可执行文件的路径,请使用which命令。
如果你想找到python3 的路径,使用which python3 .该命令将在您的 PATH 环境变量中找到。

另一个例子是Whereis命令,它可以帮助您找到二进制文件、源代码和手册页的位置。
例如,如果要搜索gcc相关的文件,请使用whereis gcc。
Ubuntu/Debian 用户也可以使用 apt-file。
需要先安装它,sudo apt install apt-file,然后更新数据库,sudo apt-file update。
如果要查找某个包的文件列表,请使用包名 apt-file list,例如 apt-file list nginx。
Fedora 和 CentOS 用户可以使用 dnfrepoquery 或 yum。
如果要列出包中的所有文件,请使用 dnfrepoquery -l 包名或 yum 提供 /文件名。

但是说实话,使用这些工具时需要注意一些事情。
首先,系统类型一定要匹配,不要用错工具。
例如,Debian/Ubuntu 应使用 dpkg,CentOS/RHEL/Fedora 应使用 rpm。
接下来,有些命令需要 sudo 权限,您应该知道这一点。
另外,如果你想搜索已卸载的软件包,apt-file 和 dnfrepoquery 可以做到这一点。

这样,通过这些方法,就可以准确的找到软件包的安装路径或者文件归属。
根据您使用的系统,只需选择相应的工具即可。

Linux dpkg冲突排查实例

如何查询Linux已安装软件包 rpm和dpkg查看方法对比

说实话,当我第一次接触 Linux 服务器上的软件管理时,我对这些各种各样的包管理命令感到不知所措。
我记得试图弄清楚 CentOS 服务器上安装了什么,并在 rpm 和 dpkg 之间来回切换了很长一段时间。

首先我们来说说RPM系统,比如CentOS和Fedora,rpm命令是它们的标准配置。
我有一台旧的 CentOS 7 服务器。
如果我想查看系统上安装了哪些软件包,我只需运行 rpm -qa,屏幕就会弹出。
这个命令非常适合快速浏览,但如果有很多包,它很容易变得混乱。
如果您只想查找安装了 nginx 的软件包,只需运行 rpm -qa | grep nginx ,它会立即出来。
这种葡萄组合是完美的。
当我编写脚本来检查包时,十之八九我都会使用这种组合。

看看像 Ubuntu 和 Debian 这样的 dpkg 系统,dpkg 命令是明星。
我在Ubuntu 2 0.04 虚拟机上尝试过。
如果我想查看所有已安装的软件包,只需运行 dpkg -l 即可。
除了 rpm -qa 之外还有很多细节,比如哪些是默认安装的,哪些是手动安装的。
要检查像apache2 这样的特定包,使用dpkg -s apache2 ,就会出现一堆详细信息,这比像rpm -qi这样的简化版本要详细得多。
该命令特别适合需要查看包正在做什么的情况。

说实话,这两套命令的区别还是挺有趣的。
rpm命令参数均以-q开头,并且-q后面加一个字母以区分功能。
使用时,记得-qa查看全部,-qi查看详细信息,-ql查看文件。
dpkg 比较直观,-l 检查整个包,-s 查看细节,-l 查看文件。
输出格式也不同。
RPM默认相当简洁,适合快速扫描; DPKG会包含很多状态信息,比如是否完全安装。
我有一个朋友专门用Vim重写了这些命令的输出格式,将dpkg的详细输出整理成像rpm这样的简短形式。
他说这样更有效。

最担心的就是兼容性问题。
rpm 命令不能在 Debian 系统上本地使用,反之亦然。
当我做跨平台维护时,我特别记得有一次我想使用rpm来检查Ubuntu服务器上的软件包。
结果系统直接给我返回了“命令未找到”。
当时真的很尴尬。
后来我做了一个小脚本。
我首先查看/etc/os-release,看看是什么系统,然后决定是使用rpm还是dpkg。
这个技巧非常有效。

其实用多了就会习惯的。
我维护着数十台服务器。
现在,当我看到 rpm 命令时,我会自动想到 rpm 系统,而当我看到 dpkg 时,我会想到 Debian 系统。
检查包裹。
主要是要知道你的系统使用哪个系统,使用哪些命令。
正如你所说,这两组命令在服务器维护期间检查软件包版本和依赖项时排查问题,或者查看某个服务是否安装时有很大帮助。

linux dpkg命令

你好,最近有朋友问我有关 dpkg 命令的问题。
这对于 Debian Linux 系统非常重要。
我自己也经常使用。
这里我们将讲解如何使用dpkg的一些常用功能。

首先,如果你想安装一个软件包,比如下载一个名为package.deb的软件包,可以直接使用以下命令: 巴什 dpkg -i package.deb
就像在超市挑选一件商品,告诉店员“我想要这个”,店员帮你安装。

相反,如果您想从系统中删除诸如 package_name 之类的软件包,您应该使用以下命令: 巴什 dpkg -r 包名称
这就像对超市的商品不满意并想要退货一样。

顺便说一句,如果你想查看你的系统上安装了哪些软件包,可以使用以下命令: 巴什 dpkg -l
这个命令列出了所有已安装的软件包,类似于你去超市清空你的购物车。

您可能还想知道为特定软件包安装了哪些文件。
您可以使用以下命令来完成此操作: 巴什 dpkg -L 包名称
此方法允许您查看系统上某个包名称的所有文件的分布情况,类似于您在超市中查看产品的详细成分列表。

如果您有一个已卸载的 .deb 软件包,并且您想查看其中包含哪些文件,可以使用以下命令: 巴什 dpkg -c package.deb
该命令显示package.deb中包含的所有文件,类似于打开超市盒子看里面有什么。

这些是使用 dpkg 的基本方法,但请注意,使用这些命令时,在终端中工作很方便。
无论如何,这取决于你。
这些命令对于管理 Debian 系统非常有用。
我仍然想知道这些命令在不同的 Debian 版本中是否有任何差异。
下次有机会我再和你谈谈。