在 Fedora ostree 系統上搜索軟體包
本文介紹如何使用 rpm-ostree 查找要添加到基於 ostree 的系統(例如 Silverblue 和 Kinoite)的應用。
基於 Fedora ostree 的系統的主要優點之一是系統的不可變性。該鏡像不僅是只讀的,而且是預先構建在 Fedora 伺服器上的。因此,更新正在運行的系統會下載更新增量(即僅差異)並修補系統。這使得許多安裝在默認情況下都是相同的。
對於大多數人來說,預構建的鏡像就足夠了,因為通常鼓勵用戶同時使用 Flatpak 安裝應用,使用工具箱進行開發任務。但是,如果特定應用不符合此要求並且用戶需要在主機系統上安裝應用怎麼辦?
在這種情況下,可以選擇在系統上覆蓋軟體包,在本地創建一個新的鏡像,在標準鏡像上添加軟體包。
但是,我如何知道我要安裝哪個包?搜索功能怎麼樣?
老方法(toolbox + dnf search)
雖然始終可以通過支持 PackageKit 的軟體中心(例如 GNOME 「 軟體 」 應用 或 KDE 「 發現 」 應用)搜索軟體包,但通過 CLI 來搜索軟體包有點困難。
由於 rpm-ostree
不曾提供搜索命令,因此常見的搜索方式是使用 toolbox enter
進入工具箱並使用 dnf search <搜索詞>
進行搜索。這樣做的缺點是需要在工具箱中啟用相同的倉庫才能獲得正確的搜索結果。
搜索 neofetch
的示例:
$ toolbox enter
<Note that at this point the toolbox command might request creating a toolbox, which might involve downloading a container image>
⬢[fedora@toolbox ~]$ dnf search neofetch
<snip>
=== Name Exactly Matched: neofetch ===
neofetch.noarch : CLI system information tool written in Bash
=== Summary Matched: neofetch ===
fastfetch.x86_64 : Like neofetch, but much faster because written in c
新方法(rpm-ostree search)
從 version 2023.6 開始,rpm-ostree
支持 search
命令,允許用戶使用 rpm-ostree
搜索可用的軟體包。一個示例命令是:
rpm-ostree search *kernel
要使用搜索命令,請首先確保你使用的是 rpm-ostree
2023.6 或更高版本:
$ rpm-ostree --version
rpm-ostree:
Version: '2023.8'
Git: 9a99d0af32640b234318815a256a2d11e35fa64c
Features:
- rust
- compose
- container
- fedora-integration
如果滿足版本要求,你應該能夠運行 rpm-ostree search <搜索詞>
。
這是一個使用 rpm-ostree search
搜索 neofetch
的示例:
$ rpm-ostree search neofetch
===== Name Matched =====
neofetch : CLI system information tool written in Bash
===== Summary Matched =====
fastfetch : Like neofetch, but much faster because written in c
(題圖:DA/5d27838e-6068-46a6-9bca-4ec486d65c46)
via: https://fedoramagazine.org/searching-for-packages-with-rpm-ostree-search/
作者:Mateus Rodrigues Costa 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive