我们已经知道如何 列出已安装的软件包 以及如何 列出包的依赖项 在 Linux 中。 今天,我们将看到如何在 Linux 中列出一个包的内容。 是否安装了该软件包并不重要。 可以读取已安装或未安装包的内容。
在 Linux 和 Unix 中,大多数程序通常不会出现在单个目录中。 当您安装一个包时,该包中的所有文件都分散在文件系统中并保存在不同的路径中。 通常,可执行文件(例如二进制文件/脚本)存储在’/bin’或’/usr/bin’或’/usr/local/bin’目录中,’/usr/lib’中的库文件,’/usr/lib’中的配置文件’/etc’、’/usr/share’ 中的静态数据等等。 现在让我们找出包中的文件列表,以及它们在 Linux 中的实际存储位置。
内容
在 Linux 中列出包的内容
首先,我们将了解如何在基于 DEB 的系统(例如 Ubuntu)中读取包的内容。
列出 Ubuntu 中已安装包的内容
我已经安装了 微软团队 包在我的 Ubuntu 20.04 桌面上。
要查看 Microsoft Teams 包的内容,只需运行:
$ dpkg -L teams
示例输出:
/. /usr /usr/bin /usr/bin/teams /usr/share /usr/share/applications /usr/share/applications/teams.desktop /usr/share/pixmaps /usr/share/pixmaps/teams.png /usr/share/teams . . . /usr/share/teams/swiftshader/libEGL.so /usr/share/teams/swiftshader/libGLESv2.so /usr/share/teams/teams /usr/share/teams/v8_context_snapshot.bin
看? 上面的输出显示了 Teams 包安装的文件及其在我的 Ubuntu 系统中的位置。
这是在 Ubuntu 中查看已安装软件包内容的另一种方法:
$ dpkg-query -L teams
列出 Ubuntu 中未安装包的内容
就像我已经说过的,上面的命令显示已安装包的内容。 如果该软件包未安装而您想阅读其内容怎么办? 也有可能! 您甚至可以在安装包之前找到包将安装哪些文件。
首先下载 .deb 文件。 我已经下载了 Teams 应用程序 .deb 文件。 转到您下载 .deb 文件的位置并运行以下命令以查看其内容:
$ dpkg --contents teams_1.2.00.32451_amd64.deb
或者,
$ dpkg -c teams_1.2.00.32451_amd64.deb
示例输出:
drwxr-xr-x root/root 0 2019-11-20 20:55 ./ drwxr-xr-x root/root 0 2019-11-20 20:54 ./usr/ drwxr-xr-x root/root 0 2019-11-20 20:54 ./usr/bin/ -rwxr-xr-x root/root 286 2019-11-20 20:54 ./usr/bin/teams drwxr-xr-x root/root 0 2019-11-20 20:54 ./usr/share/ drwxr-xr-x root/root 0 2019-11-20 20:54 ./usr/share/applications/ -rw-r--r-- root/root 352 2019-11-20 20:54 ./usr/share/applications/teams.desktop . . . -rwxr-xr-x root/root 286264 2019-11-20 20:54 ./usr/share/teams/swiftshader/libEGL.so -rwxr-xr-x root/root 2677296 2019-11-20 20:54 ./usr/share/teams/swiftshader/libGLESv2.so -rwxr-xr-x root/root 114944384 2019-11-20 20:54 ./usr/share/teams/teams -rw-r--r-- root/root 1040824 2019-11-20 20:54 ./usr/share/teams/v8_context_snapshot.bin