1 Star 0 Fork 7

brucezhang/dnf_test

forked from OpenCloudOS Stream/dnf 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
dnf.modularity.7 5.12 KB
一键复制 编辑 原始数据 按行查看 历史
nilusyi 提交于 2022-06-22 14:27 +08:00 . OCS package init
.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "DNF.MODULARITY" "7" "Apr 29, 2022" "4.12.0" "DNF"
.SH NAME
dnf.modularity \- Modularity in DNF
.sp
Modularity is new way of building, organizing and delivering packages.
For more details see: \fI\%https://docs.pagure.org/modularity/\fP
.SH DEFINITIONS
.INDENT 0.0
.TP
.B modulemd
Every repository can contain \fBmodules\fP metadata with modulemd documents.
These documents hold metadata about modules such as \fBName\fP, \fBStream\fP or list of packages.
.TP
.B (non\-modular) package
Package that doesn\(aqt belong to a module.
.TP
.B modular package
Package that belongs to a module. It is listed in modulemd under the \fBartifacts\fP section.
Modular packages can be also identified by having \fB%{modularitylabel}\fP RPM header set.
.TP
.B (module) stream
Stream is a collection of packages, a virtual repository. It is identified with
\fBName\fP and \fBStream\fP from modulemd separated with colon, for example "postgresql:9.6".
.sp
Module streams can be \fBactive\fP or \fBinactive\fP\&. \fBactive\fP means the RPM
packages from this stream are included in the set of available packages.
Packages from \fBinactive\fP streams are filtered out. Streams are
\fBactive\fP either if marked as \fBdefault\fP or if they are explicitly
\fBenabled\fP by a user action. Streams that satisfy dependencies of
\fBdefault\fP or \fBenabled\fP streams are also considered \fBactive\fP\&. Only
one stream of a particular module can be \fBactive\fP at a given point in
time.
.UNINDENT
.SH PACKAGE FILTERING
.sp
Without modules, packages with the highest version are used by default.
.sp
Module streams can distribute packages with lower versions than available in the
repositories available to the operating system. To make such packages available
for installs and upgrades, the non\-modular packages are filtered out when their
name or provide matches against a modular package name from any enabled, default,
or dependent stream. Modular source packages will not cause non\-modular binary
packages to be filtered out.
.SS Demodularized rpms
.sp
Contains names of RPMs excluded from package filtering for particular module stream. When defined in the latest active
module, non\-modular RPMs with the same name or provide which were previously filtered out will reappear.
.SH HOTFIX REPOSITORIES
.sp
In special cases, a user wants to cherry\-pick individual packages provided outside module
streams and make them available on along with packages from the active streams.
Under normal circumstances, such packages are filtered out or rejected from getting on the system by
Fail\-safe mechanisms.
To make the system use packages from a repository regardless of their modularity,
specify \fBmodule_hotfixes=true\fP in the .repo file. This protects the repository from package filtering.
.sp
Please note the hotfix packages do not override module packages, they only become
part of available package set. It\(aqs the package \fBEpoch\fP, \fBVersion\fP and \fBRelease\fP
what determines if the package is the latest.
.SH FAIL-SAFE MECHANISMS
.SS Repositories with module metadata are unavailable
.sp
When a repository with module metadata is unavailable, package filtering must keep working.
Non\-modular RPMs must remain unavailable and must never get on the system.
.sp
This happens when:
.INDENT 0.0
.IP \(bu 2
user disables a repository via \fB\-\-disablerepo\fP or uses \fB\-\-repoid\fP
.IP \(bu 2
user removes a .repo file from disk
.IP \(bu 2
repository is not available and has \fBskip_if_unavailable=true\fP
.UNINDENT
.sp
DNF keeps copies of the latest modulemd for every active stream
and uses them if there\(aqs no modulemd available for the stream.
This keeps package filtering working correctly.
.sp
The copies are made any time a transaction is resolved and started.
That includes RPM transactions as well as any \fBdnf module <enable|disable|reset>\fP operations.
.sp
When the fail\-safe data is used, dnf show such modules as part of @modulefailsafe repository.
.SS Orphaned modular packages
.sp
All packages that are built as a part of a module have \fB%{modularitylabel}\fP RPM header set.
If such package becomes part of RPM transaction and cannot be associated with any available
modulemd, DNF prevents from getting it on the system (package is available, but cannot be
installed, upgraded, etc.). Packages from Hotfix repositories or Commandline repository are not
affected by Fail\-safe mechanisms.
.SH AUTHOR
See AUTHORS in DNF source distribution.
.SH COPYRIGHT
2012-2022, Red Hat, Licensed under GPLv2+
.\" Generated by docutils manpage writer.
.
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/bbrucezhang/dnf_test.git
git@gitee.com:bbrucezhang/dnf_test.git
bbrucezhang
dnf_test
dnf_test
master

搜索帮助