社区编辑申请
注册/登录
如何列出 Ubuntu 和 Debian 上已安装的软件包
系统 Linux
当你安装了 Ubuntu 并想好好用一用。但在将来某个时候,你肯定会遇到忘记曾经安装了那些软件包。

当你安装了 Ubuntu 并想好好用一用。但在将来某个时候,你肯定会遇到忘记曾经安装了那些软件包。

这个是完全正常。没有人要求你把系统里所有已安装的软件包都记住。但是问题是,如何才能知道已经安装了哪些软件包?如何查看安装过的软件包呢?

列出 Ubuntu 和 Debian 上已安装的软件包

如果你经常用 apt 命令,你可能觉得会有个命令像 apt 一样可以列出已安装的软件包。不算全错。

apt-get 命令 没有类似列出已安装软件包的简单的选项,但是 apt 有一个这样的命令:

  1. apt list --installed

这个会显示使用 apt 命令安装的所有的软件包。同时也会包含由于依赖而被安装的软件包。也就是说不仅会包含你曾经安装的程序,而且会包含大量库文件和间接安装的软件包。

用 atp 命令列出显示已安装的软件包

由于列出出来的已安装的软件包太多,用 grep 过滤特定的软件包是一个比较好的办法。

  1. apt list --installed | grep program_name

如上命令也可以检索出使用 .deb 软件包文件安装的软件。是不是很酷?

如果你阅读过 apt 与 apt-get 对比的文章,你可能已经知道 aptapt-get 命令都是基于 dpkg。也就是说用 dpkg 命令可以列出 Debian 系统的所有已经安装的软件包。

  1. dpkg-query -l

你可以用 grep 命令检索指定的软件包。

用 dpkg 命令列出显示已经安装的软件包

现在你可以搞定列出 Debian 的软件包管理器安装的应用了。那 Snap 和 Flatpak 这个两种应用呢?如何列出它们?因为它们不能被 aptdpkg 访问。

显示系统里所有已经安装的 Snap 软件包,可以这个命令:

  1. snap list

Snap 可以用绿色勾号标出哪个应用来自经过认证的发布者。

列出已经安装的 Snap 软件包

显示系统里所有已安装的 Flatpak 软件包,可以用这个命令:

  1. flatpak list

让我来个汇总:

apt 命令显示已安装软件包:

  1. apt list installed

dpkg 命令显示已安装软件包:

  1. dpkg-query -l

列出系统里 Snap 已安装软件包:

  1. snap list

列出系统里 Flatpak 已安装软件包:

  1. flatpak list

显示最近安装的软件包

现在你已经看过以字母顺序列出的已经安装软件包了。如何显示最近已经安装的软件包?

幸运的是,Linux 系统保存了所有发生事件的日志。你可以参考最近安装软件包的日志。

有两个方法可以来做。用 dpkg 命令的日志或者 apt 命令的日志。

你仅仅需要用 grep 命令过滤已经安装的软件包日志。

  1. grep " install " /var/log/dpkg.log

这会显示所有的软件安装包,其中包括最近安装的过程中所依赖的软件包。

  1. 2019-02-12 12:41:42 install ubuntu-make:all 16.11.1ubuntu1
  2. 2019-02-13 21:03:02 install xdg-desktop-portal:amd64 0.11-1
  3. 2019-02-13 21:03:02 install libostree-1-1:amd64 2018.8-0ubuntu0.1
  4. 2019-02-13 21:03:02 install flatpak:amd64 1.0.6-0ubuntu0.1
  5. 2019-02-13 21:03:02 install xdg-desktop-portal-gtk:amd64 0.11-1
  6. 2019-02-14 11:49:10 install qml-module-qtquick-window2:amd64 5.9.5-0ubuntu1.1
  7. 2019-02-14 11:49:10 install qml-module-qtquick2:amd64 5.9.5-0ubuntu1.1
  8. 2019-02-14 11:49:10 install qml-module-qtgraphicaleffects:amd64 5.9.5-0ubuntu1

你也可以查看 apt 历史命令日志。这个仅会显示用 apt 命令安装的的程序。但不会显示被依赖安装的软件包,详细的日志在日志里可以看到。有时你只是想看看对吧?

  1. grep " install " /var/log/apt/history.log

具体的显示如下:

  1. Commandline: apt install pinta
  2. Commandline: apt install pinta
  3. Commandline: apt install tmux
  4. Commandline: apt install terminator
  5. Commandline: apt install moreutils
  6. Commandline: apt install ubuntu-make
  7. Commandline: apt install flatpak
  8. Commandline: apt install cool-retro-term
  9. Commandline: apt install ubuntu-software

显示最近已安装的软件包

apt 的历史日志非常有用。因为他显示了什么时候执行了 apt 命令,哪个用户执行的命令以及安装的软件包名。

小技巧:在软件中心显示已安装的程序包名

如果你觉得终端和命令行交互不友好,还有一个方法可以查看系统的程序名。

可以打开软件中心,然后点击已安装标签。你可以看到系统上已经安装的程序包名。

在软件中心显示已安装的软件包

这个不会显示库和其他命令行的东西,有可能你也不想看到它们,因为你的大量交互都是在 GUI。此外,你也可以用 Synaptic 软件包管理器。

结束语

我希望这个简易的教程可以帮你查看 Ubuntu 和基于 Debian 的发行版的已安装软件包。

如果你对本文有什么问题或建议,请在下面留言。


责任编辑:庞桂玉 来源: Linux中国
相关推荐

2022-06-26 18:23:07

Ubuntu软件包

2016-10-18 19:02:56

DebianUbuntu LinuMD5

2022-07-25 10:20:39

apt 命令Ubuntu软件包

2022-08-04 18:34:18

Ubuntuaptupgrade 命令

2022-08-01 22:19:35

Ubuntu命令

2021-01-06 13:03:22

UbuntuDebianLinux

2019-05-10 10:00:07

apt-clone软件包Ubuntu

2010-02-05 14:46:20

2020-06-28 13:56:01

UbuntuAptSynaptic

2022-02-24 16:15:16

OpenHarmon鸿蒙OpenEuler

2017-02-06 19:58:31

DebianLinux软件包

2021-07-06 18:19:03

2021-07-08 09:55:18

2018-10-09 10:07:57

Ubuntu应用程序软件包

2022-02-08 11:21:26

2010-01-05 10:14:09

2018-10-29 14:10:19

Linux软件包命令

2010-01-06 16:33:24

2016-11-15 09:52:37

LinuxDebian管理软件包

2019-12-26 09:18:33

软件LinuxWindows

同话题下的热门内容

超实用的 Linux 高级命令,运维同仁一定要懂!五种常见 Linux 系统安装包管理工具中文使用指南一学就会:如何在 Linux 中挂载远程文件系统或目录Linux下,如何自动对日志进行压缩备份?Linux内存管理(Golang实现)选择 Linux 发行版时要考虑的六个重要因素如何在 Linux 中连接到串行控制台如何在 Linux 上正确使用 cat 命令

编辑推荐

Linux系统下安装MySQL的步骤详解CentOS与Ubuntu有什么不同?Linux下如何使用minicom USB串口为什么你可能想要略过Ubuntu 17.04?Linux中7个判断文件系统类型的方法
我收藏的内容
点赞
收藏

51CTO技术栈公众号