Linux中國

如何用 rpm-ostree 資料庫檢查更新信息和更新日誌

這篇文章將教你如何使用 rpm-ostree 資料庫及其子命令檢查更新、檢查更改的軟體包和閱讀更新日誌。

這些命令將在 Fedora Silverblue 上進行演示,並且應該在任何使用 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 <uwe.klotz@gmail.com> - 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 <releng@fedoraproject.org> - 2.1.1-7
    - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

這個輸出顯示了提交說明以及版本號。

總結

使用 rpm-ostree db,你現在可以擁有相當於 dnf check-updatednf updateinfo 的功能。

如果你想檢查你所安裝的更新的詳細信息,這將非常有用。

via: https://fedoramagazine.org/how-to-check-for-update-info-and-changelogs-with-rpm-ostree-db/

作者:Mateus Rodrigues Costa 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國