【问题标题】:How to compare installed rpm and latest rpm availble on repository?如何比较存储库上已安装的 rpm 和可用的最新 rpm?
【发布时间】:2018-08-05 15:10:18
【问题描述】:

我想找出存储库中安装的 xyz-1.0.rpm 和最新可用的 xyz-1.1.rpm 之间的区别。还想找出新 rpm 中发生的任何文件更改。我该怎么做?

请帮忙。 谢谢

【问题讨论】:

标签: linux centos centos7 centos6


【解决方案1】:

您使用yum check-update 检查上述最新版本,并检查已安装rpm 的版本:rpm -qa | grep mypackage

接下来使用yumdownloader 获取当前 rpm 和新 rpm 的副本(您可能需要使用 sudo,因为某些 TLS 证书可能只能由 root 访问)例如:

sudo yumdownloader mypackage-current.version
sudo yumdownloader mypackage-latest.version

然后安装pkgdiff:sudo yum install pkgdiff 并运行它以生成关于差异的 HTML 报告:

pkgdiff mypackage-current.version mypackage-latest.version

【讨论】:

    【解决方案2】:
    1. 检查变更日志

    您可以查看 changelog 文件:

    确保你有包裹yum-plugin-changelog

    然后您可以使用此命令打印xyz 包的最后(最新)更改日志消息

    # yum changelog 1 xyz | less
    

    否则你可以使用rpm:

    # rpm -q --changelog -p xyz-1.0.rpm | less
    # rpm -q --changelog -p http://mirror.centos.org/centos/6/os/x86_64/Packages/xyz-1.1.rpm | less
    

    1. 比较文件列表

    列出 rpm 中的文件:

    下载xyz-1.1.rpm并列出xyz-1.1.txt中的文件

    # rpm -qlp xyz-1.1.rpm > xyz-1.1.txt
    

    然后列出安装包的文件xyz-1.0.rpm

    # rpm -ql xyz > xyz-1.0.txt
    

    最后:

    # diff xyz-1.0.txt xyz-1.1.txt
    

    ;)

    【讨论】:

      【解决方案3】:

      百胜检查更新

      此命令允许您确定是否有任何更新可用于已安装的软件包。 yum 返回所有存储库中所有软件包更新的列表(如果有的话)。

      https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s1-yum-useful-commands.html

      【讨论】:

      • 这应该如何显示附加/删除的 rpm 的增量?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-15
      • 2011-09-01
      • 2014-01-14
      • 2015-09-13
      • 1970-01-01
      • 2018-05-26
      相关资源
      最近更新 更多