如何查看 DPKG 和 apt 历史记录

您所在的位置:网站首页 软件升级记录怎么查找 如何查看 DPKG 和 apt 历史记录

如何查看 DPKG 和 apt 历史记录

2024-06-29 08:15| 来源: 网络整理| 查看: 265

如何查看 DPKG 和 apt 历史记录

本教程介绍如何在基于 Debian 的 Linux 发行版中查看 dpkg 和 apt 历史记录。

阅读本教程后,您将了解如何使用命令 apt、dpkg-query 以及读取 dpkg 日志来查找有关已安装、删除和升级的软件包的信息。其中包含创建已安装软件包列表、在新计算机上安装所有列出的软件包的说明,以及其他 apt 和 dpkg 提示。

使用 apt 查看已安装的软件包

下面的命令打印通过 apt/apt-get 包管理器安装的所有软件的列表。

apt --installed list使用 dpkg-query 列出已安装的软件包

dpkg-query 是显示 dpkg 数据库中的软件包信息的命令。

sudo dpkg-query -l计算所有已安装的软件包

使用 dpkg-query,您可以获得所有已安装软件包的总数。 -f 标志将仅列出所有二进制包,然后 wc 命令对所有列出的包进行计数:

sudo dpkg-query -f '${binary:Package}\n' -W | wc -l

如您所见,已安装 2802 个软件包。 

查看已安装的软件包读取日志

您可以通过读取日志 /var/log/apt/history.log 来了解最近的 apt 活动(安装、删除、升级),如下所示:

cat /var/log/apt/history.log

要获取有关使用 dpkg 安装的软件包的信息,您需要阅读位于 /var/log 的 dpkg 日志。您可以通过运行以下命令来读取当前日志:

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

要检查之前的日志,请参阅文件 /var/log/dpkg.log.1。

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

读取压缩日志的过程相同,但使用 zgrep 而不是 grep,如下例所示。

zgrep " install " /var/log/dpkg.log.10.gz

如果您想一次查看所有压缩日志,可以使用通配符,如下例所示:

zgrep " install " /var/log/dpkg.log.*.gz列出已删除的软件包

您还可以通过将“install”替换为“remove”来读取日志来列出已删除的软件包,如下图所示。

grep "remove " /var/log/dpkg.log

与前面的示例一样,您还可以使用 zgrep 命令和通配符来读取所有压缩日志,如下面的屏幕截图所示。

zgrep "remove " /var/log/dpkg.log.*.gz列出升级包

要显示升级的软件包,请将“install”或“remove”替换为“upgrade”,如下例所示。

grep "upgrade " /var/log/dpkg.log

使用zgrep读取压缩日志。

zgrep "upgrade " /var/log/dpkg.log.10.gz

与前面的示例一样,您也可以使用通配符。

zgrep "upgrade " /var/log/dpkg.log.*.gz导出已安装软件包的列表以安装在新设备上

您可以创建已安装软件包的列表,然后将其导入新设备以安装相同的软件。

要创建已安装软件包的列表,您可以执行与计算已安装软件包类似的过程,如下所示。以下命令不进行计数,而是创建一个名为 installedpackages 的列表。

sudo dpkg-query -f '${binary:Package}\n' -W > installedpackages

在要安装相同软件包的计算机上运行:

sudo xargs -a installedpackages apt install

在下面的屏幕截图中,apt 是在创建列表的同一台计算机上执行的;因此,它检测到软件包已经安装。

更新过时的软件包

您可以使用 apt 命令来检查是否有过时的软件包进行更新,方法是运行以下命令:

sudo apt --fix-missing update修复依赖项或损坏的软件包

要修复依赖项或损坏的软件包,请在运行 apt-get update 后执行以下命令。

sudo apt-get install -f关于 apt 和 dpkg

APT(高级包工具)自动执行包检索、配置(包括依赖性解析)和安装。它可以被认为是一些基于 Debian 的 Linux 发行版(包括 Debian 本身)中的主要包管理器或 dpkg 包管理器的前端。 APT 相对于 DPKG 的主要优点是它能够解决依赖关系并跟踪更新。 Apt 还用于软件包删除、更新以及本教程中的检索信息。

DPKG 是 APT 使用的 Debian 包管理器。正如前面所说,虽然它比编译好很多,但它也有 APT 之前的缺点。它处理单个包并且不解决依赖关系。尽管如此,DPKG 仍然包含一些有趣的工具,例如本教程中提到的 dpkg-query。其他工具包括 dpkg-split、dpkg-statoverride、dpkg-trigger、dpkg-divert。 dpkg 包括以下开发工具:dpkg-source、dpkg-gencontrol、dpkg-shlibdeps、dpkg-genchanges、dpkg-buildpackage、dpkg-dist 和 dpkg-parsechangelog。

有关 apt/apt-get 包管理器的更多信息,请访问手册页 https://linux.die.net/man/8/apt-get。

有关 dpkg 的更多信息,请访问手册页 https://linux.die.net/man/1/dpkg。

结论

正如您所看到的,显示已安装、删除和升级的软件是一项简单的任务,任何级别的 Linux 用户都可以通过几个命令来执行。 Linux 提供了各种多功能命令和工具来以自定义方式管理和管理包。例如,如果没有外部工具的帮助,获取 Microsoft Windows 中已安装程序的总数可能会更困难或不可能。

学习本教程中解释的简单任务可能会为您节省大量时间,正如描述如何导出软件包列表以安装在新设备上的部分所证明的那样,当您需要创建类似的服务器并且克隆不是“时”特别有用。 t 一个选项。

学习管理包是任何用户都必须具备的关键和基本知识。

我希望本教程有用。继续关注 Linux Hint 以获取更多 Linux 技巧和教程。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3