Linux上如何查看Deb和RPM软件包的更新日志

导读 当一个程序或库打包成Deb或RPM软件包后会有一些元数据文件包含在其中,其中之一就是 changelog文件,它记录了软件包每次更新后发生了什么变化。因此
导读 当一个程序或库打包成Deb或RPM软件包后会有一些元数据文件包含在其中,其中之一就是 changelog文件,它记录了软件包每次更新后发生了什么变化。因此,如果你想找出你安装或更新的软件包发生了什么变化,我们可以查看软件包的更新日志(changelog)。本文将介绍如何查看基于Debian系统或红帽系统软件包的更新日志。
查看Deb软件包更新日志
方法一:apt-get 或 aptitude

最新apt-get命令可以检查包的更新日志以及该软件包是否以及安装在您的系统。

$ apt-get changelog  | more 

apt-get 

另一个命令行包管理器apittude与apt-get具有相同的选项。在Debian-based所有发行版上是默认安装的,Ubuntu桌面版除外。

$ aptitude changelog  | more 

aptitude的一大优势在于它有补充基于ncurses的用户界面

$ aptitude-curses 

可以通过敲打“/”加软件包名字搜索指定的软件包。敲击“C”查看软件包的更新日志

aptitude

方法二:synaptic

如果你是一个桌面用户,synaptic有一个额外的选项来查看包的更新日志——Deb包的图形软件包管理工具。 在Debian-based系统上通过以下命令安装synaptic

$ sudo apt-get install synaptic 

synaptic安装完成并加载之后,在任何一个安装包描述页面点击“Get Changelog”就能查看到软件包的更新日志了。

Synaptic

方法三(在Ubuntu上):Software-Updater

另一个GUI的方法——Software Updater是特定于Ubuntu桌面的,这个GUI工具能够提醒任何Ubuntu软件的更新及安装。但是要注意的是,这个软件更新器(Software Updater)不能像其他方法一样显示任意包的更新日志。使用以下命令运行Software Updater

$ update-manager 

它能显示将要安装的软件包的更新日志(非下载好的)

update-manager

方法四: /usr/share/doc

检查已经安装好的软件包的更新日志:

$ zless /usr/share/doc/<package -name>/changelog.Debian.gz
$ zless /usr/share/doc/<package -name>/changelog.gz 
查看RPM包的更新日志
方法一:rpm

使用rpm命令可以检查任意安装好的软件包。 注:rpm不能检查未安装在系统上的软件包的更新日志。

$ rpm -q --changelog  | more 

rpm

方法二:Repoquery

使用repoquery命令可以检查尚未安装在你系统的软件包的更新日志。 安装repoquery

$ sudo yum install yum-utils 

使用repoquery命令查看更新日志

$ repoquery --changelog  | more 
方法三:yum-changelog

安装yum-changelog插件

$ sudo yum install yum-changelog

现在您可以使用yum命令在安装包之前/之后查看单个包的更新日志

$ yum changelog  

这个changelog插件有附加选项可以自定义查看更新日志 查看最近的5个包的更新日志

$ yum changelog 5  

查看自2015年6月1日以来包的更新日志

$ yum changelog "2015-06-01"  

yum-changelog

方法四(在Fedora上):dnf

所有三种以上方法仍然在Fedora上工作,除非你将dnf作为默认的软件包管理器。 dnf暂时还没有提供一个选项来可以检查单个包的更新日志。但你可以使用dnf来显示任何重要的bug修复、安全补丁和增强(类似于Ubuntu的软件更新)的更新报告。如下所示

$ dnf updateinfo info | more 

dnf

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:https://www.linuxprobe.com/

您可能有感兴趣的文章
软件更新服务之客户端更新

Android

Android软件版本更新

Android软件自动更新

用于Windows 软件更新程序包的命令行开关