在 Fedora ostree 系统上搜索软件包
创始人
2024-03-02 18:18:15
0

本文介绍如何使用 rpm-ostree 查找要添加到基于 ostree 的系统(例如 Silverblue 和 Kinoite)的应用。

基于 Fedora ostree 的系统的主要优点之一是系统的不可变性。该镜像不仅是只读的,而且是预先构建在 Fedora 服务器上的。因此,更新正在运行的系统会下载更新增量(即仅差异)并修补系统。这使得许多安装在默认情况下都是相同的。

对于大多数人来说,预构建的镜像就足够了,因为通常鼓励用户同时使用 Flatpak 安装应用,使用工具箱进行开发任务。但是,如果特定应用不符合此要求并且用户需要在主机系统上安装应用怎么办?

在这种情况下,可以选择在系统上覆盖软件包,在本地创建一个新的镜像,在标准镜像上添加软件包。

但是,我如何知道我要安装哪个包?搜索功能怎么样?

虽然始终可以通过支持 PackageKit 的软件中心(例如 GNOME “ 软件 Software ” 应用 或 KDE “ 发现 Discover ” 应用)搜索软件包,但通过 CLI 来搜索软件包有点困难。

由于 rpm-ostree 不曾提供搜索命令,因此常见的搜索方式是使用 toolbox enter 进入工具箱并使用 dnf search <搜索词> 进行搜索。这样做的缺点是需要在工具箱中启用相同的仓库才能获得正确的搜索结果。

搜索 neofetch 的示例:

$ toolbox enter

⬢[fedora@toolbox ~]$ dnf search neofetch
 
=== 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

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

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

不同行为的不可变对象内的可...
在Python中,可以使用深拷贝(deepcopy)来创建不同行为...
2025-01-09 22:31:36
不适合放入内存的文件的不可...
对于不适合放入内存的文件的不可变数据结构,可以使用流式处理的方式来...
2024-12-28 05:00:12
不起作用的不可变数组修改
在Python中,数组是可变的,但是你可以使用元组来创建一个不可变...
2024-12-27 15:00:56
不理解Rust对临时值的不...
Rust对于引用的生命周期管理非常严格,包括对临时值的不可变和可变...
2024-12-26 11:31:16
不可变字符串和克隆
不可变字符串是指一旦创建就不能被修改的字符串。在Python中,字...
2024-12-26 03:31:51
不可变状态更新。在Redu...
在Redux中更新一个对象数组时,由于Redux的状态是不可变的,...
2024-12-26 03:31:47

热门资讯

2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...