阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

用 rpm-ostree 数据库检查更新信息和更新日志的方法

31次阅读
没有评论

共计 2508 个字符,预计需要花费 7 分钟才能阅读完成。

导读 这篇文章将教你如何使用 rpm-ostree 数据库及其子命令检查更新、检查更改的软件包和阅读更新日志。这些命令将在 Fedora Silverblue 上进行演示,并且应该在任何使用 rpm-ostree 的操作系统上工作。

用 rpm-ostree 数据库检查更新信息和更新日志的方法

简介

假设你对不可更改的系统感兴趣。在基于容器技术构建用例时使用只读的基本系统听起来非常有吸引力,它会说服你选择使用 rpm-ostree 的发行版。

你现在发现自己在 Fedora Silverblue(或其他类似的发行版) 上,你想检查更新。但你遇到了一个问题。虽然你可以通过 GNOME Software 找到 Fedora Silverblue 上的更新包,但你实际上无法阅读它们的更新日志。你也不能 使用 dnf updateinfo 在命令行上读取它们,因为主机系统上没有 DNF。

那么,你应该怎么做呢? 嗯,rpm-ostree 有一些子命令可以在这种情况下提供帮助。

检查更新

第一步是检查更新。只需运行:

$ rpm-ostree upgrade --check 
... 
AvailableUpdate: 
        Version: 34.20210905.0 (2021-09-05T20:59:47Z) 
         Commit: d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4 
   GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39 
  SecAdvisories: 1 moderate 
           Diff: 4 upgraded

请注意,虽然它没有在输出中告诉更新的软件包,但它显示了更新的提交为 d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4。这在后面会很有用。

接下来你需要做的是找到你正在运行的当前部署的提交。运行 rpm-ostree status 以获得当前部署的基提交 BaseCommit:

$ rpm-ostree status 
State: idle 
Deployments: 
● fedora:fedora/34/x86_64/silverblue 
                   Version: 34.20210904.0 (2021-09-04T19:16:37Z) 
                BaseCommit: e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e 
              GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39 
       RemovedBasePackages: ... 
           LayeredPackages: ...

对于这个例子,基提交是 e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e。

现在你可以用 rpm-ostree db diff [commit1] [commit2] 找到这两个提交的差异。在这个命令中,[commit1] 将是当前部署的基提交,[commit2] 将是升级检查命令中的提交。

$ rpm-ostree db diff e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4 
ostree diff commit from: e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e 
ostree diff commit to:   d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4 
Upgraded: 
  soundtouch 2.1.1-6.fc34 -> 2.1.2-1.fc34

diff 输出显示 soundtouch 被更新了,并指出了版本号。通过在前面的命令中加入 -changelogs 来查看更新日志:

$ rpm-ostree db diff e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4 --changelogs 
ostree diff commit from: e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e 
ostree diff commit to:   d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4 
Upgraded: 
  soundtouch 2.1.1-6.fc34.x86_64 -> 2.1.2-1.fc34.x86_64 
    * dom ago 29 2021 Uwe Klotz  - 2.1.2-1 
    - Update to new upstream version 2.1.2 
      Bump version to 2.1.2 to correct incorrect version info in configure.ac 
    * sex jul 23 2021 Fedora Release Engineering  - 2.1.1-7 
    - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild 

这个输出显示了提交说明以及版本号。

总结

使用 rpm-ostree db,你现在可以拥有相当于 dnf check-update 和 dnf updateinfo 的功能。

如果你想检查你所安装的更新的详细信息,这将非常有用。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计2508字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中