在 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

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...