从上游存储库查询软件包信息¶
本指南介绍如何从 Clear Linux* OS 上游存储库查询软件包信息。本指南面向开发人员和高级用户。
概述¶
在 Clear Linux* OS 中,swupd 工具用于管理软件依赖项以及安装捆绑包而非软件包。虽然捆绑包是一个或多个软件包的集合,但 Clear Linux OS 在客户端上无法处理软件包。但是,在上游/工厂端,Clear Linux OS 可以使用名为混合的过程来处理软件包。
当前,swupd 不会报告已安装的软件包,也不会提供软件包版本信息或返回其他软件包详细信息。本指南介绍了用于使用 DNF 命令从 Clear Linux OS 上游存储库检索软件包信息的方法。
必备条件¶
本指南假定您已在主机系统中安装了 Clear Linux OS。有关在裸机系统中安装 Clear Linux OS 的详细说明,请参见 裸机安装指南。
安装任何新软件包之前,请使用以下命令更新 Clear Linux OS:
sudo swupd update
配置 DNF¶
使用以下命令安装 DNF 捆绑包:
sudo swupd bundle-add dnf
使用以下命令创建
dnf.conf
文件:sudo mkdir -p /etc/dnf sudo curl -L https://github.com/clearlinux/common/raw/master/conf/dnf.conf --output /etc/dnf/dnf.conf
编辑
/etc/dnf/dnf.conf
文件,并为以下示例中的第 3 行和第 9 行中显示的二进制 RPM 和源 RPM 设置 baseurl 变量。1 2 3 4 5 6 7 8 9 10 11
[clear] name=Clear baseurl=https://cdn.download.clearlinux.org/releases/$releasever/clear/x86_64/os/ enabled=1 gpgcheck=0 [clear-source] name=Clear sources failovermethod=priority baseurl=https://cdn.download.clearlinux.org/releases/$releasever/clear/source/SRPMS/ enabled=1 gpgcheck=0
使用以下命令初始化 RPM 数据库:
sudo rpm --initdb
DNF 命令用法示例¶
列出当前发行版中的所有二进制 RPM 和源 RPM¶
命令:
dnf repoquery --releasever=current
示例输出:
Clear 5.1 MB/s | 13 MB 00:02
Clear sources 1.8 MB/s | 1.7 MB 00:00
AVB-AudioModules-0:4.1.0-1.src
AVB-AudioModules-0:4.1.0-1.x86_64
AVB-AudioModules-data-0:4.1.0-1.x86_64
AVB-AudioModules-dev-0:4.1.0-1.x86_64
AVB-AudioModules-lib-0:4.1.0-1.x86_64
AVB-AudioModules-license-0:4.1.0-1.x86_64
AVBStreamHandler-0:1.1.0-21.src
AVBStreamHandler-0:1.1.0-21.x86_64
AVBStreamHandler-abi-0:1.1.0-21.x86_64
AVBStreamHandler-bin-0:1.1.0-21.x86_64
AVBStreamHandler-data-0:1.1.0-21.x86_64
AVBStreamHandler-dev-0:1.1.0-21.x86_64
AVBStreamHandler-lib-0:1.1.0-21.x86_64
AVBStreamHandler-license-0:1.1.0-21.x86_64
...
<trimmed>
显示当前发行版中的软件包的版本信息¶
此示例查询 zstd 软件包的版本信息。
命令:
dnf repoquery --releasever=current zstd
示例输出:
Last metadata expiration check: 0:02:30 ago on Tue 16 Jul 2019 03:03:34 PM PDT.
zstd-0:1.4.0-46.src
zstd-0:1.4.0-46.x86_64
显示特定发行版中的软件包的版本信息¶
此示例查询发行版 21000 中的 zstd 软件包的版本信息。
命令:
dnf repoquery --releasever=21000 zstd
示例输出:
Clear
2.7 MB/s | 3.9 MB 00:01
Clear sources
628 kB/s | 559 kB 00:00
zstd-0:1.3.3-20.src
zstd-0:1.3.3-20.x86_64
仅显示特定发行版中的软件包的版本和发行信息¶
此示例查询发行版 15000 中的 zstd 软件包的版本和发行信息。
命令:
dnf repoquery --releasever=15000 --qf="%{VERSION}\n%{RELEASE}" zstd
示例输出:
Clear
3.4 MB/s | 3.9 MB 00:01
Clear sources
345 kB/s | 528 kB 00:01
1.1.4
5
显示指定二进制文件的二进制包¶
此示例将返回包含 /usr/bin/zip
二进制文件的二进制包。
命令:
dnf repoquery --releasever=current --whatprovides /usr/bin/zip
示例输出:
Last metadata expiration check: 0:04:47 ago on Tue 16 Jul 2019 03:03:34 PM PDT.
zip-bin-0:3.0-23.x86_64
显示指定二进制文件的源包¶
此示例将返回包含 /usr/bin/zip
二进制文件的源包。
命令:
dnf repoquery --releasever=current --whatprovides /usr/bin/zip --srpm
示例输出:
Last metadata expiration check: 0:05:50 ago on Tue 16 Jul 2019 03:03:34 PM PDT.
zip-0:3.0-23.src