如何列出所有已安装的软件包

Iva*_*van 2323 package-management apt

我想将所有已安装软件包的列表输出到一个文本文件中,以便我可以查看它并在另一个系统上批量安装。我该怎么做?

Sab*_*con 2656

Ubuntu 14.04 及以上

aptUbuntu 14.04 及更高版本上的工具使这变得非常容易。

apt list --installed
Run Code Online (Sandbox Code Playgroud)

旧版本

要获取本地安装的软件包列表,请在终端中执行以下操作:

apt list --installed
Run Code Online (Sandbox Code Playgroud)

-v标签“反转”grep 以返回不匹配的行)

要获取已安装的特定软件包的列表:

dpkg --get-selections | grep -v deinstall
Run Code Online (Sandbox Code Playgroud)

要将该列表保存到packages桌面上调用的文本文件,请在终端中执行以下操作:

dpkg --get-selections | grep postgres
Run Code Online (Sandbox Code Playgroud)

或者,只需使用

dpkg --get-selections | grep -v deinstall > ~/Desktop/packages
Run Code Online (Sandbox Code Playgroud)

(您不需要以超级用户身份运行这些命令中的任何一个,因此sudo这里不需要或任何其他变体)

  • 请注意,这不会跟踪用户明确安装了哪些软件包以及作为依赖项安装的软件包。这意味着如果你使用这种方法在另一台机器上重新创建你的设置,当你删除给定的包时 apt 将无法删除不需要的依赖项。 (246认同)
  • 令人悲伤和惊奇的是,@intuited 的评论没有被社区更好地理解。在给出简单地在新的 ubuntu 版本上重新加载旧包不是一个好主意的建议之前,更多“高评价”的贡献者是否会停止思考更多(?)。使用所有 dpkg 选项,我仍然没有看到用户提取“明确”安装的软件包以便可以重新加载该列表并允许安装其依赖项的选项;我很想知道 - 请分享该信息。同时,列出您在重新安装时真正需要的软件包并运行它 (75认同)
  • 然后,当安装到新电脑时,执行`cat ~/Desktop/packages > sudo dpkg --set-selections && sudo apt-get dselect upgrade` [source](http://ubuntuforums.org/archive/index.php /t-169062.html) (38认同)
  • dpkg 的语法自 2006 年以来可能略有变化,因为该命令对我不起作用,@koanhead。`sudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgrade` 可以解决问题。 (14认同)
  • 请注意,如果您从其他来源(其他 ppa 站点)安装了一些软件包,则需要在设置新机器时将这些来源添加到 sources.list。一些示例:保管箱、heroku、蒸汽、编织、... (2认同)

int*_*ted 472

要仅获取明确安装的软件包(不仅仅是作为依赖项安装),您可以运行

aptitude search '~i!~M'
Run Code Online (Sandbox Code Playgroud)

这还将包括您可能需要的简要说明。如果没有,也添加选项-F '%p',如 karthick87 所述。


另一种选择似乎是复制 file /var/lib/apt/extended_states,它是这种格式的文本文件数据库:

Package: grub-common
Architecture: amd64
Auto-Installed: 0

Package: linux-headers-2.6.35-22-generic
Architecture: amd64
Auto-Installed: 1
Run Code Online (Sandbox Code Playgroud)

Auto-Installed: 0 表示该软件包是明确安装的,而不仅仅是依赖项。

  • 这应该是正确答案。为什么要列出依赖项? (58认同)
  • 这 ** 应该** 是答案,但不幸的是,由于 Multiarch *目前*(正在修复),使用 *aptitude* 有点不可靠。仍然 +1 指出仅列出明确安装的软件包以及执行此操作的方法(尽管它目前不适用于 11.10+)。 (13认同)
  • 这列出了所有软件包,而不仅仅是在 Ubuntu 13.10 上手动安装的软件包。 (13认同)
  • 有没有办法用`apt-get`来达到同样的结果? (11认同)
  • @intuited 为 Precise 提供“修复发布”(前段时间)。:) (4认同)
  • 在 Ubuntu-15.10 上,必须先安装 aptitude _eg_:`sudo apt-get install aptitude` (4认同)
  • 鉴于它只适用于(现在)过时的 Ubuntu 版本,有机会更新这个答案吗?理想情况下进行修复,但如果不是的话,至少进行编辑以明确其适用的 Ubuntu 版本。 (3认同)

小智 238

要列出apt 命令有意安装的所有软件包(而不是作为依赖项),请运行以下命令:

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
  egrep '^(Start-Date:|Commandline:)' |
  grep -v aptdaemon |
  egrep '^Commandline:'
Run Code Online (Sandbox Code Playgroud)

这提供了基于反向时间的视图,首先列出较旧的命令:

Commandline: apt-get install k3b
Commandline: apt-get install jhead
...
Run Code Online (Sandbox Code Playgroud)

安装数据也显示突触使用情况,但没有详细信息(与安装日期相同):

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
  egrep '^(Start-Date:|Commandline:)' |
  grep -v aptdaemon |
  egrep -B1 '^Commandline:'
Run Code Online (Sandbox Code Playgroud)

提供以下内容:

Start-Date: 2012-09-23  14:02:14
Commandline: apt-get install gparted
Start-Date: 2012-09-23  15:02:51
Commandline: apt-get install sysstat
...
Run Code Online (Sandbox Code Playgroud)

  • 虽然上述简单的答案对一般用户有好处。到目前为止,此方法最适合回溯对机器所做的所有自定义,因为它还显示从基本映像中删除或添加的内容,因为它按照执行的顺序列出它们,并帮助您记住哪些是将它们添加回另一个系统的正确顺序。 (8认同)
  • 或者(使用 zgrep 并删除更新消息):`zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|升级' | egrep -B1 '^命令行:'` (3认同)
  • 这种方法是否会遗漏使用 `dpkg` 安装的软件包? (3认同)
  • @drevicko 你是对的,它没有列出用 dpkg 安装的包 (3认同)
  • 这对于保持井井有条非常方便——无论出于何种原因,我的大脑都喜欢这种方式。 (3认同)

小智 205

创建当前安装的软件包的备份:

dpkg --get-selections > list.txt
Run Code Online (Sandbox Code Playgroud)

然后(在另一个系统上)从该列表中恢复安装:

dpkg --clear-selections
sudo dpkg --set-selections < list.txt
Run Code Online (Sandbox Code Playgroud)

要摆脱陈旧的包:

sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)

要像在备份时一样安装(即安装由 设置的软件包dpkg --set-selections):

sudo apt-get dselect-upgrade
Run Code Online (Sandbox Code Playgroud)

  • 在 2 台不同的 ubuntu 12.04 机器之间迁移这种方法破坏了我的系统。过了一段时间,我才意识到以某种方式卸载了 `ubuntu-desktop` - 可能是由于 dpkg 命令之一。小心,我花了几个小时才修复损坏! (16认同)
  • 关于在另一台机器上恢复的重要提示。+1。 (8认同)

Tim*_*all 91

apt-mark showmanual
Run Code Online (Sandbox Code Playgroud)

手册页状态:

将打印手动安装的软件包列表

因此,它应该只给出一个明确安装的软件包列表(尽管这包括默认初始安装的一部分),而不包括由于安装了这些软件包而包含的所有依赖项。

要将结果输出到文本文件中:

apt-mark showmanual > list-manually-installed.txt
Run Code Online (Sandbox Code Playgroud)

  • 与大多数其他答案一样,`apt-mark showmanual` 并不是真的。它还列出了大量自动安装的软件包,可能是基本安装的一部分。 (14认同)
  • 没有人提到列出手动安装的软件包的替代方法:`apt list --manual-installed`。 (10认同)
  • 那么问题是关于已安装的包,这给出了所有已安装的包减去自动安装的依赖项。它确实包含初始包作为初始安装的一部分。我想您可以在全新安装时运行它以获取默认安装列表,然后从中减去以查看差异。 (8认同)

kyl*_*leN 43

dpkg-query(而不是dpkg --get-selections,它列出了一些未安装的软件包)如下:

dpkg-query -W -f='${PackageSpec} ${Status}\n' | grep installed |  sort -u | cut -f1 -d \ > installed-pkgs
Run Code Online (Sandbox Code Playgroud)

或者:

dpkg -l | grep ^ii | sed 's_  _\t_g' | cut -f 2 > installed-pkgs
Run Code Online (Sandbox Code Playgroud)


kar*_*k87 41

要列出所有已安装的软件包,

dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt
Run Code Online (Sandbox Code Playgroud)

或者

aptitude search -F '%p' '~i' > 1.txt
Run Code Online (Sandbox Code Playgroud)

或者

dpkg --get-selections > 1.txt
Run Code Online (Sandbox Code Playgroud)

注意:
您将在您的主文件夹中获得结果 1.txt 文件,或者您可以指定自己的路径。


Ner*_*est 37

您可以使用 Synaptic 来保存已安装的打包文件的当前状态。在 Synaptic 中,选择“文件/保存标记”,输入要将状态保存到的文件名,并确保选中“保存完整状态,不仅更改”框。

可以使用 Synaptic 中的“文件/读取标记”将由此保存的文件加载到新机器中。


Tam*_*mer 36

我建议使用blueprint。尽管它是为服务器设计的,但它也可以用于台式机。它将创建一个 shell 脚本/厨师/木偶,您可以使用它来重新安装所有软件包。


Nir*_*mik 34

您想在 12.04 上重新安装软件包,对吗?

如果是这样,那非常容易。您需要一个“Ubuntu 单点登录帐户”。(在重新安装之前创建它,以便您的系统同步。)

  1. 转到软件中心并在文件菜单下查找“计算机之间同步...”选项。

  2. 当您单击它时,您将看到您的计算机已注册以及计算机上所有应用程序的列表。

  3. 当您全新安装时,该计算机将被视为新计算机。

  4. 您只需要登录您的 Ubuntu 帐户,就会显示您之前使用的计算机。

  5. 点击它; 您将获得所有应用程序的列表。在要安装的应用程序上选择“安装”。


Sad*_*adi 34

还有一个名为Aptik的工具(目前是专有的,包括命令行和 GUI),它可以帮助您查看所有已安装软件包的列表,并提供选择/取消选择其中一些软件包的选项,制作备份列表,然后恢复相同的集合另一个系统中的软件包。

安装:

sudo add-apt-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install aptik
Run Code Online (Sandbox Code Playgroud)

更多信息:https : //teejeetech.in/aptik/

在此处输入图片说明

从截图中可以看出,Aptik允许您备份和恢复 PPA,这对于安装一些已安装的软件包来说肯定是必要的。


use*_*.dz 34

APT-克隆

这个包可用于在基于 apt 的系统上克隆/恢复包。

  • 它将保存/恢复包、sources.list、密钥环和自动安装状态。
  • 它还可以使用 dpkg-repack 保存/恢复不再可下载的包。

来源: man apt-clone

APT-Clone 由ubiquity(Ubuntu 安装程序)用于升级过程。它比dpkg --get-selections解决方案好得多,因为:

  1. 它保留所有存储库信息。
  2. 它跟踪自动安装了哪些软件包。
  3. 它允许重新打包本地安装的 DEB 文件。

如何使用

  1. 安装

     sudo apt-get install apt-clone
    
    Run Code Online (Sandbox Code Playgroud)
  2. 进行备份

     sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
    
    Run Code Online (Sandbox Code Playgroud)
  3. 恢复备份

     sudo apt-clone restore path-to/apt-clone-state-ubuntu.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)

    恢复到较新的版本:

     sudo apt-clone restore-new-distro path-to/apt-clone-state-ubuntu.tar.gz $(lsb_release -sc)
    
    Run Code Online (Sandbox Code Playgroud)

结果结构

它制作了一个简单的 gzipped tar 文件,可以在其他机器上恢复之前轻松编辑和查看。这是它的结构示例:

/
??? etc
?   ??? apt
?       ??? preferences.d
?       ??? sources.list
?       ??? sources.list.d
?       ?   ??? anton_-ubuntu-dnscrypt-vivid.list
?       ?   ??? maarten-baert-ubuntu-simplescreenrecorder-vivid.list
?       ?   ??? megasync.list
?       ??? trusted.gpg
?       ??? trusted.gpg.d
?           ??? anton__ubuntu_dnscrypt.gpg
?           ??? anton__ubuntu_dnscrypt.gpg~
?           ??? maarten-baert_ubuntu_simplescreenrecorder.gpg
?           ??? maarten-baert_ubuntu_simplescreenrecorder.gpg~
??? var
    ??? lib
        ??? apt-clone
            ??? extended_states
            ??? installed.pkgs
            ??? uname
Run Code Online (Sandbox Code Playgroud)


May*_*hux 29

你可以看看下面的apt日志/var/log/apt/和下面的dpkg日志/var/log/

只需一个命令,您就可以获取已安装软件包的列表:

dpkg -l | grep '^ii '
Run Code Online (Sandbox Code Playgroud)


thi*_*ive 28

Unix StackExchange 上一个很好的解释,它描述了如何使用 aptitude 列出未作为依赖项安装的软件包,以及如何将该列表与 Ubuntu 版本的默认软件包列表进行比较。

要获取 12.04 及更高版本桌面版本的清单文件,请访问此站点,选择您的版本,然后向下滚动 CD 图像下方的文件部分。您会找到与您的架构相匹配的类似“ubuntu-12.04.4-desktop-amd64+mac.manifest”的内容。

对于服务器版本,您需要从用于安装原始系统的 ISO 中获取清单文件。对于 VPS 或云服务器,您的提供商可能会提供图像,或者您可能需要联系他们。

这是使用引用帖子中的代码的示例,以及在新服务器上安装的修改。

旧服务器(来自其他帖子的代码,输出保存到文件):

aptitude search '~i !~M' -F '%p' --disable-columns | sort -u > currently-installed.list
wget -qO - http://mirror.pnl.gov/releases/precise/ubuntu-12.04.3-desktop-amd64.manifest \
  | cut -f1 | sort -u > default-installed.list
comm -23 currently-installed.list default-installed.list > user-installed.list
Run Code Online (Sandbox Code Playgroud)

在新服务器上,使用 scp 复制文件,然后使用 sed 将“安装”附加到每一行(-i 执行内联替换)。然后您可以使用该列表作为 'dpkg --set-selections' 的输入并使用 apt-get 安装软件包:

scp user@oldserver:user-installed.list .
sed -i 's/$/\tinstall/' user-installed.list
sudo dpkg --set-selections < user-installed.list
sudo apt-get dselect-upgrade
Run Code Online (Sandbox Code Playgroud)

在开始此任务之前,我建议阅读并理解开头提到的帖子的所有部分,然后查阅aptitude 参考指南以获取有关搜索模式和自定义包的显示方式的详细信息,以根据需要使用该-F选项。


ost*_*ach 27

我很惊讶上面没有提到apt-cache专门为此目的设计的命令......

apt-cache pkgnames
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请运行apt-cache --help

**apt-cache 是一个用于查询信息的底层工具
来自 APT 的二进制缓存文件

命令:
   gencaches - 构建包和源缓存
   showpkg - 显示单个包的一些一般信息
   showsrc - 显示源记录
   stats - 显示一些基本统计数据
   dump - 以简洁的形式显示整个文件
   dumpavail - 将可用文件打印到标准输出
   unmet - 显示未满足的依赖项
   search - 在包列表中搜索正则表达式模式
   show - 显示包的可读记录
   依赖 - 显示包的原始依赖信息
   rdepends - 显示包的反向依赖信息
   pkgnames - 列出系统中所有包的名称
   dotty - 为 GraphViz 生成包图
   xvcg - 为 xvcg 生成包图
   policy - 显示策略设置

选项:
  -h 此帮助文本。
  -p=? 包缓存。
  -s=? 源缓存。
  -q 禁用进度指示器。
  -i 仅显示 unmet 命令的重要 deps。
  -c=? 读取这个配置文件
  -o=? 设置任意配置选项,例如 -o dir::cache=/tmp
有关更多信息,请参阅 apt-cache(8) 和 apt.conf(5) 手册页。
**

  • TLDR;我最终发现 `apt --installed list` 给出了最好的结果(如上面的最佳答案所建议的那样。虽然 `apt-cache pkgnames` 乍一看似乎可以解决问题,但它列出了“系统中的所有包”(根据上面的帮助文本),其中还包括 apt 知道但实际上未安装的软件包。有一个 `--installed` 选项,但它似乎不适用于 `pkgnames`。 (6认同)
  • `apt-cache pkgnames | wc -l` 给出了 `55909` 包(系统知道),而 `aptitude search '~i!~M' | wc -l` 给出了 `2160`(显式安装的包,没有依赖项)。 (4认同)

Dav*_*end 20

帮助这个社区维基 - 添加最新的解决方案。


dpkg、xargs 和 apt-get

此命令应完成创建包含已安装软件包的文本文件:

dpkg -l | awk  '{print $2}' > package_list.txt
Run Code Online (Sandbox Code Playgroud)

要完成所列软件包的批量安装,您需要编辑“package_list.txt”。使用文本编辑器删除文件顶部的奇怪行。然后,您可以使用此命令从创建的文件中安装软件包:

xargs < package_list.txt apt-get install -y
Run Code Online (Sandbox Code Playgroud)

apt-cache、xargs 和 apt-get

仅当您希望使用列表(包括自动安装等)安装所有当前软件包时才使用此方法。

将“apt-cache pkgnames”的响应输出到我们将简单命名为“package_list.txt”的文件中。您可以通过以下方式完成此操作:

apt-cache pkgnames > package_list.txt
Run Code Online (Sandbox Code Playgroud)

然后当你想从“package_list.txt”安装包时,你可以使用这个命令:

xargs < package_list.txt apt-get install -y
Run Code Online (Sandbox Code Playgroud)

apt-mark、xargs 和 apt-get

我们可以使用该命令apt-mark showmanual给出手动或最初随 Ubuntu 安装的软件包列表。我们想把它输出到一个我们称之为“package-list.txt”的文件中。使用此命令来完成:

apt-mark showmanual > package-list.txt
Run Code Online (Sandbox Code Playgroud)

我们用来从文件“package_list.txt”安装包的命令如下。

xargs < package_list.txt apt-get install -y
Run Code Online (Sandbox Code Playgroud)

Aptik 迁移实用程序

用于在升级/重新安装基于 Ubuntu 的发行版后简化重新安装软件包的实用程序。
[启动板 | Aptik ]

有关 Aptik 的信息,请尝试访问其官方页面,并单击此处或查看本节末尾的屏幕截图。

安装 Aptik很简单。按着这些次序:

  1. 添加PPA:
    sudo add-apt-repository -y ppa:teejee2008/ppa

  2. 使用以下命令更新apt。
    sudo apt-get update

  3. 使用以下命令安装Aptik:
    sudo apt-get install aptik

Aptik 迁移实用程序 v16.5.2



Avi*_*Raj 18

下面的命令还将列出所有已安装的软件包,

grep ' installed ' /var/log/dpkg.log /var/log/dpkg.log.1 | awk '{print $5}' | sort -u
Run Code Online (Sandbox Code Playgroud)


wb9*_*688 16

要将已安装的软件包列表保存到名为 的文件中installed_packages.txt,只需运行:

dpkg-query --list >> installed_packages.txt
Run Code Online (Sandbox Code Playgroud)


M.A*_*pon 5

https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/

1.列出Ubuntu上已安装的软件包

要列出计算机上已安装的软件包,可以使用以下命令:

sudo apt list --installed
Run Code Online (Sandbox Code Playgroud)

该命令的输出将与以下输出非常相似,具体取决于当前安装的软件包:

Listing...
acl/xenial,now 2.2.52-3 amd64 [installed]
adduser/xenial,xenial,now 3.113+nmu3ubuntu4 all [installed]
apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed,automatic]
apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apparmor/xenial-updates,now 2.10.95-0ubuntu2.5 amd64 [installed,automatic]
apt/xenial-updates,now 1.2.19 amd64 [installed]
apt-utils/xenial-updates,now 1.2.19 amd64 [installed]
...
Run Code Online (Sandbox Code Playgroud)

2.使用LESS程序

要轻松读取整个输出,您可以使用该less程序。

sudo apt list --installed | less
Run Code Online (Sandbox Code Playgroud)

3.使用GREP命令

您可以使用该程序通过输出查找特定的包 grep

sudo apt list --installed | grep -i apache
Run Code Online (Sandbox Code Playgroud)

4.列出所有包含Apache的包

上述命令的输出将列出 apache其名称中包含的所有包。

apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed,automatic]
apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
libapache2-mod-php/xenial,xenial,now 1:7.0+35ubuntu6 all [installed,automatic]
libapache2-mod-php7.0/xenial-updates,now 7.0.13-0ubuntu0.16.04.1 amd64 [installed,automatic]
libapache2-mod-security2/xenial,now 2.9.0-1 amd64 [installed]
libapache2-modsecurity/xenial,xenial,now 2.9.0-1 all [installed]
Run Code Online (Sandbox Code Playgroud)

Apt 支持匹配包名称的模式和列出已安装(--installed)包、可升级(--upgradeable) 包或所有可用(--all-versions)包版本的选项。

5.使用DPKG程序

另一种可用于列出Ubuntu VPS上已安装软件包的替代方法是dpkg命令。

sudo dpkg -l
Run Code Online (Sandbox Code Playgroud)

该命令的输出将为您提供包名称、版本、体系结构和有关包的简短描述等信息。当然,您可以grep再次使用该程序来搜索特定的包。

sudo dpkg -l | grep -i apache
Run Code Online (Sandbox Code Playgroud)

输出应如下所示:

ii  apache2                       2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server
ii  apache2-bin                   2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                  2.4.18-2ubuntu3.1                     all          Apache HTTP Server (common files)
ii  apache2-doc                   2.4.18-2ubuntu3.1                     all          Apache HTTP Server (on-site documentation)
ii  apache2-utils                 2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server (utility programs for web servers)
rc  apache2.2-common              2.2.22-6ubuntu5.1                     amd64        Apache HTTP Server common files
ii  libapache2-mod-php            1:7.0+35ubuntu6                       all          server-side, HTML-embedded scripting language (Apache 2 module) (default)
rc  libapache2-mod-php5           5.5.9+dfsg-1ubuntu4.16                amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-php7.0         7.0.13-0ubuntu0.16.04.1               amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-security2      2.9.0-1                               amd64        Tighten web applications security for Apache
ii  libapache2-modsecurity        2.9.0-1                               all          Dummy transitional package
ii  libapr1:amd64                 1.5.2-3                               amd64        Apache Portable Runtime Library
ii  libaprutil1:amd64             1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library
ii  libaprutil1-dbd-sqlite3:amd64 1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library - SQLite3 Driver
ii  libaprutil1-ldap:amd64        1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library - LDAP Driver
.
Run Code Online (Sandbox Code Playgroud)

通过本教程的竞赛,您已经成功学会了如何在 Ubuntu 中列出已安装的软件包。


rus*_*tyx 5

除了APT软件包之外,现在许多 GUI 软件包都以snap 的形式分发

\n\n

如果在 中找不到您的包apt list --installed,请尝试snap list

\n\n
$ snap list\n\nName                  Version                     Rev   Tracking  Publisher       Notes\ngimp                  2.10.10                     165   stable    snapcrafters    -\ngnome-calculator      3.32.1                      406   stable/\xe2\x80\xa6  canonical\xe2\x9c\x93      -\nkeepassxc             2.4.1                       267   stable    keepassxreboot  -\n...\n
Run Code Online (Sandbox Code Playgroud)\n\n

添加也是一个好主意/snap/bin,这样您就可以从终端启动它们(对于非 root 用户自动完成)。

\n