这篇文章将教您如何使用rpm-ostree数据库及其子命令检查更新、检查更改的包和读取更新日志。这些命令将在FedoraSilverblue上进行演示,并且应该可以在任何使用rpm-ostree的操作系统上运行。介绍假设您对不可变系统感兴趣。在基于容器技术构建用例时,使用只读基础系统听起来很有吸引力,它会说服您选择使用rpm-ostree发行版。您现在发现自己在FedoraSilverblue(或其他类似的发行版)上并且想要检查更新。但是你遇到了问题。虽然您可以通过GNOME软件在FedoraSilverblue上找到更新包,但您实际上无法阅读它们的更新日志。您也无法在命令行上使用dnfupdateinfo读取它们,因为主机系统上没有DNF。那你该怎么办?嗯,rpm-ostree有一些子命令可以在这种情况下提供帮助。CheckforUpdatesThefirststepistocheckforupdates.只需运行:$rpm-ostreeupgrade--check...AvailableUpdate:Version:34.20210905.0(2021-09-05T20:59:47Z)Commit:d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4GPGSignature:Validsignatureby8C5BA6990BDB26E19F2A1A801161AE6945719A39SecAdvisories:1moderateDiff:4upgraded请注意,虽然它没有在输出中告诉更新的包,但它显示更新的提交为d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4。这以后会有用。您需要做的下一件事是找到您正在运行的当前部署的提交。运行rpm-ostreestatus以获得当前部署的基提交BaseCommit:$rpm-ostreestatusState:idleDeployments:●fedora:fedora/34/x86_64/silverblueVersion:34.20210904.0(2021-09-04T19:16:37Z)BaseCommit:e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1eGPGSignature:Validsignatureby8C5BA6990BDB26E19F2A1A801161AE6945719A39RemovedBasePackages:...LayeredPackages:...对于这个例子,基础提交是e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee4713dd132现在您可以使用rpm-ostreedbdiff[commit1][commit2]找到这两个提交之间的区别。在此命令中,[commit1]将是当前部署的基础提交,[commit2]将是升级检查命令中的提交。$rpm-ostreedbdiffe279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1ed8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4ostreediffcommitfrom:e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1eostreediffcommitto:d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4Upgraded:soundtouch2.1.1-6.fc34->2.1.2-1.fc34diff输出显示soundtouch被更新了,并指出了版本号。通过在前面的命令中加入-changelogs来查看更新日志:$rpm-ostreedbdiffe279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1ed8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4--changelogsostreediffcommitfrom:e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1eostreediffcommitto:d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4Upgraded:soundtouch2.1.1-6.fc34.x86_64->2.1.2-1.fc34.x86_64*domago292021UweKlotz
