这篇文章将教你如何使用 rpm-ostree 数据库及其子命令检查更新、检查更改的软件包和阅读更新日志。这些命令将在 Fedora Silverblue 上进行演示,并且应该在任何使用 rpm-ostree 的操作系统上工作。
这篇文章将教你如何使用 rpm-ostree 数据库及其子命令检查更新、检查更改的软件包和阅读更新日志。
这些命令将在 Fedora Silverblue 上进行演示,并且应该在任何使用 rpm-ostree 的操作系统上工作。
简介
假设你对不可更改的系统感兴趣。在基于容器技术构建用例时使用只读的基本系统听起来非常有吸引力,它会说服你选择使用 rpm-ostree 的发行版。
你现在发现自己在 Fedora Silverblue(或其他类似的发行版)上,你想检查更新。但你遇到了一个问题。虽然你可以通过 GNOME Software 找到 Fedora Silverblue 上的更新包,但你实际上无法阅读它们的更新日志。你也不能 使用 dnf updateinfo 在命令行上读取它们,因为主机系统上没有 DNF。
那么,你应该怎么做呢?嗯,rpm-ostree 有一些子命令可以在这种情况下提供帮助。
检查更新
第一步是检查更新。只需运行:
- $rpm-ostreeupgrade--check
- ...
- AvailableUpdate:
- Version:34.20210905.0(2021-09-05T20:59:47Z)
- Commit:d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4
- GPGSignature:Validsignatureby8C5BA6990BDB26E19F2A1A801161AE6945719A39
- SecAdvisories:1moderate
- Diff:4upgraded
请注意,虽然它没有在输出中告诉更新的软件包,但它显示了更新的提交为 d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4。这在后面会很有用。
接下来你需要做的是找到你正在运行的当前部署的提交。运行 rpm-ostree status 以获得当前部署的基提交BaseCommit:
- $rpm-ostreestatus
- State:idle
- Deployments:
- ●fedora:fedora/34/x86_64/silverblue
- Version:34.20210904.0(2021-09-04T19:16:37Z)
- BaseCommit:e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e
- GPGSignature:Validsignatureby8C5BA6990BDB26E19F2A1A801161AE6945719A39
- RemovedBasePackages:...
- LayeredPackages:...
- ...
对于这个例子,基提交是e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e。
现在你可以用 rpm-ostree db diff [commit1] [commit2] 找到这两个提交的差异。在这个命令中,[commit1] 将是当前部署的基提交,[commit2] 将是升级检查命令中的提交。
- $rpm-ostreedbdiffe279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1ed8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4
- ostreediffcommitfrom:e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e
- ostreediffcommitto:d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4
- Upgraded:
- soundtouch2.1.1-6.fc34->2.1.2-1.fc34
diff 输出显示 soundtouch 被更新了,并指出了版本号。通过在前面的命令中加入 -changelogs 来查看更新日志:
- $rpm-ostreedbdiffe279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1ed8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4--changelogs
- ostreediffcommitfrom:e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e
- ostreediffcommitto:d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4
- Upgraded:
- soundtouch2.1.1-6.fc34.x86_64->2.1.2-1.fc34.x86_64
- *domago292021UweKlotz<uwe.klotz@gmail.com>-2.1.2-1
- -Updatetonewupstreamversion2.1.2
- Bumpversionto2.1.2tocorrectincorrectversioninfoinconfigure.ac
- *sexjul232021FedoraReleaseEngineering<releng@fedoraproject.org>-2.1.1-7
- -Rebuiltforhttps://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
这个输出显示了提交说明以及版本号。
总结
使用 rpm-ostree db,你现在可以拥有相当于 dnf check-update 和 dnf updateinfo 的功能。
如果你想检查你所安装的更新的详细信息,这将非常有用。
©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经