如何查看Linux软件包更新历史 yum history和apt日志分析

P粉602998670

P粉602998670

2025-07-10

407人浏览

原创

linux系统中查看软件包更新历史的方法分为两类:1. 对于centos/rhel系统,使用yum history命令可查看安装、升级或删除记录,支持按包名过滤和事务详情查询;2. 对于debian/ubuntu系统,更新日志保存在/var/log/apt/history.log中,可通过cat或less查看,旧日志以压缩文件形式存档;此外,建议定期备份日志、结合时间线分析、使用脚本辅助及控制访问权限以提升运维效率与安全性。

如何查看Linux软件包更新历史 yum history和apt日志分析

Linux系统中,查看软件包更新历史是一个常见的运维需求。不管是排查问题还是审计变更记录,了解yum或apt的更新日志都是关键步骤。

如何查看Linux软件包更新历史 yum history和apt日志分析

yum history:适用于CentOS/RHEL系统的更新记录查询

在基于Red Hat的系统中,yum history 是一个非常实用的命令,可以查看系统上通过yum安装、升级或删除的软件包记录。

使用方式很简单,直接输入:

如何查看Linux软件包更新历史 yum history和apt日志分析
yum history

它会列出所有事务的历史记录,包括ID、执行时间、操作类型(Install、Update等)以及受影响的包数量。

如果你只想看某个特定软件包的操作记录,可以加上包名过滤:

如何查看Linux软件包更新历史 yum history和apt日志分析
yum history list httpd

更详细的事务信息可以用如下命令查看:

宝塔Linux面板11.8.1
宝塔Linux面板11.8.1

宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。

下载
yum history info 

这个命令会显示该次操作涉及的具体软件包变化,比如从哪个版本升级到哪个版本。

注意:yum的这些记录是保存在 /var/lib/yum/history/ 目录下的SQLite数据库中,因此只要不手动清理,通常不会丢失。

apt日志:Debian/Ubuntu系统的更新记录查看方法

对于使用apt作为包管理器的系统(如Ubuntu和Debian),更新历史主要记录在日志文件中,最常用的是:

/var/log/apt/history.log

这个文件记录了每次apt操作的时间、操作类型(Install、Upgrade、Remove等)、具体操作内容及执行结果。

例如,你可以用 catless 查看这个文件:

less /var/log/apt/history.log

里面的内容类似这样:

Start-Date: 2024-03-15  10:00:00
Commandline: apt upgrade
Upgrade: nginx:amd64 (1.18.0 -> 1.20.1), openssl:amd64 (1.1.1f -> 1.1.1g)
End-Date: 2024-03-15  10:05:00

除了当前的日志,老的日志通常会被压缩存放在同目录下的 history.log.1.gz, history.log.2.gz 等文件中,需要用 zcatgunzip 来查看。


日常维护中的几个实用建议

  • 定期备份日志:特别是生产环境中,最好把yum或apt的日志归档保存,便于后续审计。
  • 结合时间线分析:如果发现服务异常,可以根据服务出问题的时间点去查找相近的软件包更新记录。
  • 自动化脚本辅助:可以用简单的shell脚本提取最近一周的更新记录,方便快速查阅。
  • 权限控制:确保只有授权用户能访问这些日志,避免敏感信息泄露。

基本上就这些方法了。虽然看起来简单,但真正在排查问题时特别有用,尤其是当你不确定某个改动是什么时候发生的。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux nginx centos shell脚本

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.12

1009

5

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

1283

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

2787

10

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

2023.08.31

1237

3

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.05

525

5

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1291

5

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

2023.10.16

1289

4

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

2023.10.16

2328

3

vb连接数据库的方法
vb连接数据库的方法

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

2023.10.19

1166

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 128人学习