红联Linux门户
Linux帮助

查看Linux软件包的更新日志

发布时间:2016-06-26 15:35:05来源:topspeedsnail.com作者:斗大的熊猫

问题:当我在Linux上安装或更新软件包时,我想看看这个软件包有哪些改变(添加了什么新特性、修复了什么bug等),然后再决定安不安装这个软件包。那么问题来了,怎么查看Deb/RPM(Debian, Ubuntu, CentOS, Fedora)软件包的changelog呢?


当一个软件或库使用Deb或RPM打包发布时,包中包含一些元数据(metadata)文件。其中有一个就是更新日志,里面按顺序记录了每次软件更新的changelog。

下面使用几个例子说明:


基于Debian的发行版(Deb包)

在基于Debian的发行版上有几种方法查看软件包更新日志(安装的或没安装的)。


方法一:apt-get 或 aptitude

使用apt-get,使用命令如下:

$ sudo apt-get changelog <软件包的名字> | more

查看Linux软件包的更新日志

aptitude是另一个包管理工具,它使用的选项和apt-get一样。aptitude处理Ubuntu都是预装的。

$ sudo apt-get install aptitude
$ aptitude changelog <软件包的名字> | more

查看Linux软件包的更新日志

aptitude的优点是支持基于ncurses的用户图形接口。打开:

$ aptitude-curses

查看Linux软件包的更新日志


方法二:Synaptic

如果你想使用带图形界面的工具,可以使用Synaptic, Deb包的图形管理工具。安装

$ sudo apt-get install synaptic

查看Linux软件包的更新日志


方法三:/usr/share/doc

对于已安装的软件包,可以查看/usr/share/doc/中的文档,例如:

$ zless /usr/share/doc/<软件包的名字>/changelog.Debian.gz

$ zless /usr/share/doc/python/changelog.Debian.gz


基于Red Hat的发行版(RPM包)

在基于Red Hat的发行版上有几种方法查看软件包更新日志(安装的或没安装的)。


方法一:rpm命令

对于安装的包,使用rpm命令:

$ sudo rpm -q --changelog <软件包的名字> | more

查看Linux软件包的更新日志


方法二:repoquery

如果软件包还没安装,想要查看远程仓库中软件包,可以使用repoquery命令。

安装repoquery:

$ sudo yum install yum-utils

查看更新日志:

$ repoquery --changelog <软件包的名字> | more


方法三:yum-changelog

安装yum-changelog:

$ sudo yum install yum-changelog

查看更新日志:

$ yum changelog <软件包的名字>

查看最近的5条记录:

$ yum changelog 5 <软件包的名字>

指定从某个日期开始的更新日志:

$ yum changelog "2016-06-26" <软件包的名字>


方法四:dnf,针对Fedora

$ dnf updateinfo info | more


本文永久更新地址:http://www.linuxdiyf.com/linux/21862.html