From 4366fe04f5a6596e687e43b393dc7a908862ffe6 Mon Sep 17 00:00:00 2001 From: bbrucezhang Date: Wed, 16 Oct 2024 15:09:34 +0800 Subject: [PATCH 1/2] init --- README.en.md | 36 ------------------------------------ README.md | 39 --------------------------------------- hello.py | 3 +++ 3 files changed, 3 insertions(+), 75 deletions(-) delete mode 100644 README.en.md delete mode 100644 README.md create mode 100644 hello.py diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 6787b7f..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# epol-test - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index ffee57e..0000000 --- a/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# epol-test - -#### 介绍 -{**以下是 Gitee 平台说明,您可以替换此简介** -Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/hello.py b/hello.py new file mode 100644 index 0000000..6df61b5 --- /dev/null +++ b/hello.py @@ -0,0 +1,3 @@ +#!/usr/bin/env python3 + +print("Hola") -- Gitee From 5187d774495fceaf57545cba099dc02a3366f21e Mon Sep 17 00:00:00 2001 From: bbrucezhang Date: Fri, 18 Oct 2024 10:53:46 +0800 Subject: [PATCH 2/2] init --- ...ash-completion-due-to-sqlite-changes.patch | 25 + 0002-Protect-dnf.patch | 21 + 5000-default-zchunk-false.patch | 32 + dnf-automatic.8 | 178 ++ dnf-transaction-json.5 | 194 ++ dnf.8 | 2123 +++++++++++++++++ dnf.conf.5 | 1312 ++++++++++ dnf.modularity.7 | 125 + dnf.spec | 289 +++ hello.py | 3 - sources | 1 + yum-aliases.1 | 2123 +++++++++++++++++ yum-shell.8 | 2123 +++++++++++++++++ yum.8 | 2123 +++++++++++++++++ yum.conf.5 | 1312 ++++++++++ yum2dnf.8 | 717 ++++++ 16 files changed, 12698 insertions(+), 3 deletions(-) create mode 100644 0001-Fix-bash-completion-due-to-sqlite-changes.patch create mode 100644 0002-Protect-dnf.patch create mode 100644 5000-default-zchunk-false.patch create mode 100644 dnf-automatic.8 create mode 100644 dnf-transaction-json.5 create mode 100644 dnf.8 create mode 100644 dnf.conf.5 create mode 100644 dnf.modularity.7 create mode 100644 dnf.spec delete mode 100644 hello.py create mode 100644 sources create mode 100644 yum-aliases.1 create mode 100644 yum-shell.8 create mode 100644 yum.8 create mode 100644 yum.conf.5 create mode 100644 yum2dnf.8 diff --git a/0001-Fix-bash-completion-due-to-sqlite-changes.patch b/0001-Fix-bash-completion-due-to-sqlite-changes.patch new file mode 100644 index 0000000..afc4ee8 --- /dev/null +++ b/0001-Fix-bash-completion-due-to-sqlite-changes.patch @@ -0,0 +1,25 @@ +From 7fb385ca63aedb086a0cd7cacf2106f148bec76d Mon Sep 17 00:00:00 2001 +From: Ze Zhang +Date: Thu, 1 Feb 2024 20:10:05 +0800 +Subject: [PATCH] Fix bash completion due to sqlite changes + +--- + etc/bash_completion.d/dnf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/etc/bash_completion.d/dnf b/etc/bash_completion.d/dnf +index eb34b80..8a9256a 100644 +--- a/etc/bash_completion.d/dnf ++++ b/etc/bash_completion.d/dnf +@@ -112,7 +112,7 @@ _dnf_query_db() + { + local table=$1 + local prefix=$2 +- local query="select pkg from $table where pkg like \"$prefix%\"" ++ local query="select pkg from $table where pkg like '$prefix%'" + if [ "$table" = "available" ]; then + # The available table contains both installed and non-installed + # packages. Exclude the installed packages. +-- +2.41.0 + diff --git a/0002-Protect-dnf.patch b/0002-Protect-dnf.patch new file mode 100644 index 0000000..74b1da8 --- /dev/null +++ b/0002-Protect-dnf.patch @@ -0,0 +1,21 @@ +From 54c06c52652cb7ac2d85c0d6ad69b448dd1b9734 Mon Sep 17 00:00:00 2001 +From: Ze Zhang +Date: Thu, 17 Oct 2024 17:04:18 +0800 +Subject: [PATCH] Protect dnf + +--- + etc/dnf/protected.d/dnf.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/etc/dnf/protected.d/dnf.conf b/etc/dnf/protected.d/dnf.conf +index c2b5885..15b8aa9 100644 +--- a/etc/dnf/protected.d/dnf.conf ++++ b/etc/dnf/protected.d/dnf.conf +@@ -1,3 +1,3 @@ + # DNF is obsoleted in Fedora 39 by DNF 5 and should no longer be marked as protected. + +-# dnf ++dnf +-- +2.41.1 + diff --git a/5000-default-zchunk-false.patch b/5000-default-zchunk-false.patch new file mode 100644 index 0000000..6ff4daf --- /dev/null +++ b/5000-default-zchunk-false.patch @@ -0,0 +1,32 @@ +From 8733ed15f14dabf2de0f8c7d37a42257226a996d Mon Sep 17 00:00:00 2001 +From: victorzhong +Date: Mon, 19 Sep 2022 16:45:07 +0800 +Subject: [PATCH] default zchunk false + +--- + etc/dnf/dnf-strict.conf | 1 + + etc/dnf/dnf.conf | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/etc/dnf/dnf-strict.conf b/etc/dnf/dnf-strict.conf +index 3d08d07..b211b39 100644 +--- a/etc/dnf/dnf-strict.conf ++++ b/etc/dnf/dnf-strict.conf +@@ -4,3 +4,4 @@ installonly_limit=3 + clean_requirements_on_remove=True + best=True + skip_if_unavailable=False ++zchunk=False +diff --git a/etc/dnf/dnf.conf b/etc/dnf/dnf.conf +index 460dd25..899f178 100644 +--- a/etc/dnf/dnf.conf ++++ b/etc/dnf/dnf.conf +@@ -6,3 +6,5 @@ installonly_limit=3 + clean_requirements_on_remove=True + best=False + skip_if_unavailable=True ++zchunk=False ++ +-- +2.27.0 + diff --git a/dnf-automatic.8 b/dnf-automatic.8 new file mode 100644 index 0000000..82cd229 --- /dev/null +++ b/dnf-automatic.8 @@ -0,0 +1,178 @@ +.\" 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-AUTOMATIC" "8" "Apr 29, 2022" "4.12.0" "DNF" +.SH NAME +dnf-automatic \- DNF Automatic +.SH SYNOPSIS +.sp +\fBdnf\-automatic []\fP +.SH DESCRIPTION +.sp +Alternative CLI to \fBdnf upgrade\fP with specific facilities to make it suitable to be executed automatically and regularly from systemd timers, cron jobs and similar. +.sp +The operation of the tool is usually controlled by the configuration file or the function\-specific timer units (see below). The command only accepts a single optional argument pointing to the config file, and some control arguments intended for use by the services that back the timer units. If no configuration file is passed from the command line, \fB/etc/dnf/automatic.conf\fP is used. +.sp +The tool synchronizes package metadata as needed and then checks for updates available for the given system and then either exits, downloads the packages or downloads and applies the packages. The outcome of the operation is then reported by a selected mechanism, for instance via the standard output, email or MOTD messages. +.sp +The systemd timer unit \fBdnf\-automatic.timer\fP will behave as the configuration file specifies (see below) with regard to whether to download and apply updates. Some other timer units are provided which override the configuration file with some standard behaviours: +.INDENT 0.0 +.IP \(bu 2 +dnf\-automatic\-notifyonly +.IP \(bu 2 +dnf\-automatic\-download +.IP \(bu 2 +dnf\-automatic\-install +.UNINDENT +.sp +Regardless of the configuration file settings, the first will only notify of available updates. The second will download, but not install them. The third will download and install them. +.SH RUN DNF-AUTOMATIC +.sp +You can select one that most closely fits your needs, customize \fB/etc/dnf/automatic.conf\fP for any specific behaviors, and enable the timer unit. +.sp +For example: \fBsystemctl enable \-\-now dnf\-automatic\-notifyonly.timer\fP +.SH CONFIGURATION FILE FORMAT +.sp +The configuration file is separated into topical sections. +.SS \fB[commands]\fP section +.sp +Setting the mode of operation of the program. +.INDENT 0.0 +.TP +.B \fBapply_updates\fP +boolean, default: False +.sp +Whether packages comprising the available updates should be applied by \fBdnf\-automatic.timer\fP, i.e. installed via RPM. Implies \fBdownload_updates\fP\&. Note that if this is set to \fBFalse\fP, downloaded packages will be left in the cache till the next successful DNF transaction. Note that the other timer units override this setting. +.TP +.B \fBdownload_updates\fP +boolean, default: False +.sp +Whether packages comprising the available updates should be downloaded by \fBdnf\-automatic.timer\fP\&. Note that the other timer units override this setting. +.TP +.B \fBnetwork_online_timeout\fP +time in seconds, default: 60 +.sp +Maximal time dnf\-automatic will wait until the system is online. 0 means that network availability detection will be skipped. +.TP +.B \fBrandom_sleep\fP +time in seconds, default: 0 +.sp +Maximal random delay before downloading. Note that, by default, the \fBsystemd\fP timers also apply a random delay of up to 1 hour. +.UNINDENT +.INDENT 0.0 +.TP +.B \fBupgrade_type\fP +either one of \fBdefault\fP, \fBsecurity\fP, default: \fBdefault\fP +.sp +What kind of upgrades to look at. \fBdefault\fP signals looking for all available updates, \fBsecurity\fP only those with an issued security advisory. +.UNINDENT +.SS \fB[emitters]\fP section +.sp +Choosing how the results should be reported. +.INDENT 0.0 +.TP +.B \fBemit_via\fP +list, default: \fBemail, stdio, motd\fP +.sp +List of emitters to report the results through. Available emitters are \fBstdio\fP to print the result to standard output, \fBcommand\fP to send the result to a custom command, \fBcommand_email\fP to send an email using a command, and \fBemail\fP to send the report via email and \fBmotd\fP sends the result to \fI/etc/motd\fP file. +.TP +.B \fBsystem_name\fP +string, default: hostname of the given system +.sp +How the system is called in the reports. +.UNINDENT +.SS \fB[command]\fP section +.sp +The command emitter configuration. Variables usable in format string arguments are \fBbody\fP with the message body. +.INDENT 0.0 +.TP +.B \fBcommand_format\fP +format string, default: \fBcat\fP +.sp +The shell command to execute. +.TP +.B \fBstdin_format\fP +format string, default: \fB{body}\fP +.sp +The data to pass to the command on stdin. +.UNINDENT +.SS \fB[command_email]\fP section +.sp +The command email emitter configuration. Variables usable in format string arguments are \fBbody\fP with message body, \fBsubject\fP with email subject, \fBemail_from\fP with the "From:" address and \fBemail_to\fP with a space\-separated list of recipients. +.INDENT 0.0 +.TP +.B \fBcommand_format\fP +format string, default: \fBmail \-Ssendwait \-s {subject} \-r {email_from} {email_to}\fP +.sp +The shell command to execute. +.TP +.B \fBemail_from\fP +string, default: \fBroot\fP +.sp +Message\(aqs "From:" address. +.TP +.B \fBemail_to\fP +list, default: \fBroot\fP +.sp +List of recipients of the message. +.TP +.B \fBstdin_format\fP +format string, default: \fB{body}\fP +.sp +The data to pass to the command on stdin. +.UNINDENT +.SS \fB[email]\fP section +.sp +The email emitter configuration. +.INDENT 0.0 +.TP +.B \fBemail_from\fP +string, default: \fBroot\fP +.sp +Message\(aqs "From:" address. +.TP +.B \fBemail_host\fP +string, default: \fBlocalhost\fP +.sp +Hostname of the SMTP server used to send the message. +.TP +.B \fBemail_to\fP +list, default: \fBroot\fP +.sp +List of recipients of the message. +.UNINDENT +.SS \fB[base]\fP section +.sp +Can be used to override settings from DNF\(aqs main configuration file. See conf_ref\&. +.SH AUTHOR +See AUTHORS in DNF source distribution. +.SH COPYRIGHT +2012-2022, Red Hat, Licensed under GPLv2+ +.\" Generated by docutils manpage writer. +. diff --git a/dnf-transaction-json.5 b/dnf-transaction-json.5 new file mode 100644 index 0000000..8003e3a --- /dev/null +++ b/dnf-transaction-json.5 @@ -0,0 +1,194 @@ +.\" 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-TRANSACTION-JSON" "5" "Apr 29, 2022" "4.12.0" "DNF" +.SH NAME +dnf-transaction-json \- DNF Stored Transaction JSON +.sp +The stored transaction format is considered unstable and may change in an +incompatible way at any time. It will work if the same version of dnf is used +to store and replay (or between versions as long as it stays the same). +.SH TOP-LEVEL OBJECT +.INDENT 0.0 +.TP +.B \fBversion\fP +Type: string +.sp +The version of the stored transaction format, in the form \fBMAJOR.MINOR\fP\&. +.sp +\fBMAJOR\fP version denotes backwards incompatible changes (old dnf won\(aqt work with +new transaction JSON). +.sp +\fBMINOR\fP version denotes extending the format without breaking backwards +compatibility (old dnf can work with new transaction JSON). +.TP +.B \fBrpms\fP +Type: an array of \fI\%rpm\fP objects +.sp +A list of RPM packages in the transaction. +.TP +.B \fBgroups\fP +Type: an array of \fI\%group\fP objects +.sp +A list of groups in the transaction. +.TP +.B \fBenvironments\fP +Type: an array of \fI\%group\fP objects +.sp +A list of environment groups in the transaction. +.UNINDENT +.SH RPM OBJECT +.INDENT 0.0 +.TP +.B \fBaction\fP +Type: string +.sp +Possible values: \fBDowngrade, Downgraded, Install, Obsoleted, Reason Change, Reinstall, Reinstalled, Removed, Upgrade, Upgraded\fP +.sp +The action performed on the package in the transaction. +.TP +.B \fBnevra\fP +Type: string +.sp +\fBNEVRA\fP (\fBname\-epoch:version\-release.arch\fP) of the package. +.TP +.B \fBreason\fP +Type: string +.sp +Possible values: \fBdependency, clean, group, unknown, user, weak\-dependency\fP +.sp +The reason why the package was pulled into the transaction. +.TP +.B \fBrepo_id\fP +Type: string +.sp +The id of the repository this package is coming from. Note repository ids are defined in the local repository configuration and may differ between systems. +.UNINDENT +.SH GROUP OBJECT +.INDENT 0.0 +.TP +.B \fBaction\fP +Type: string +.sp +Possible values: \fBInstall, Upgrade, Removed\fP +.sp +The action performed on the group in the transaction. +.TP +.B \fBid\fP +Type: string +.sp +The id of the group. +.TP +.B \fBpackage_types\fP +Type: string +.sp +Possible values: \fBconditional, default, mandatory, optional\fP +.sp +The types of packages in the group that will be installed. Valid only for +the \fBInstall\fP action. +.TP +.B \fBpackages\fP +Type: an array of \fI\%group\-package\fP objects +.sp +The packages belonging to the group in the transaction. +.UNINDENT +.SH ENVIRONMENT OBJECT +.INDENT 0.0 +.TP +.B \fBaction\fP +Type: string +.sp +Possible values: \fBInstall, Upgrade, Removed\fP +.sp +The action performed on the environment group in the transaction. +.TP +.B \fBid\fP +Type: string +.sp +The id of the environment group. +.TP +.B \fBpackage_types\fP +Type: string +.sp +Possible values: \fBconditional, default, mandatory, optional\fP +.sp +The types of packages in the environment group that will be installed. +Valid only for the \fBInstall\fP action. +.TP +.B \fBgroup\fP +Type: an array of \fI\%environment\-group\fP objects +.sp +The groups belonging to the environment in the transaction. +.UNINDENT +.SH GROUP-PACKAGE OBJECT +.INDENT 0.0 +.TP +.B \fBinstalled\fP +Type: boolean +.sp +Whether the package is considered installed as part of the group. +.TP +.B \fBname\fP +Type: string +.sp +The name of the package. +.TP +.B \fBpackage_type\fP +Type: string +.sp +Possible values: \fBconditional, default, mandatory, optional\fP +.sp +The type of the package in the group. +.UNINDENT +.SH ENVIRONMENT-GROUP OBJECT +.INDENT 0.0 +.TP +.B \fBgroup_type\fP +Type: string +.sp +Possible values: \fBmandatory, optional\fP +.sp +The type of the group in the environment. +.TP +.B \fBid\fP +Type: string +.sp +The id of the group. +.TP +.B \fBinstalled\fP +Type: boolean +.sp +Whether the group is considered installed as part of the environment. +.UNINDENT +.SH AUTHOR +See AUTHORS in DNF source distribution. +.SH COPYRIGHT +2012-2022, Red Hat, Licensed under GPLv2+ +.\" Generated by docutils manpage writer. +. diff --git a/dnf.8 b/dnf.8 new file mode 100644 index 0000000..57f224b --- /dev/null +++ b/dnf.8 @@ -0,0 +1,2123 @@ +.\" 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" "8" "Apr 29, 2022" "4.12.0" "DNF" +.SH NAME +dnf \- DNF Command Reference +.SH SYNOPSIS +.sp +\fBdnf [options] [...]\fP +.SH DESCRIPTION +.sp +\fI\%DNF\fP is the next upcoming major version of \fI\%YUM\fP, a package manager for RPM\-based Linux +distributions. It roughly maintains CLI compatibility with YUM and defines a strict API for +extensions and plugins. +.sp +Plugins can modify or extend features of DNF or provide additional CLI commands on top of those +mentioned below. If you know the name of such a command (including commands mentioned below), you +may find/install the package which provides it using the appropriate virtual provide in the form of +\fBdnf\-command()\fP, where \fB\fP is the name of the command; e.g.\(ga\(gadnf install +\(aqdnf\-command(versionlock)\(aq\(ga\(ga installs a \fBversionlock\fP plugin. This approach also applies to +specifying dependencies of packages that require a particular DNF command. +.sp +Return values: +.INDENT 0.0 +.IP \(bu 2 +\fB0\fP : Operation was successful. +.IP \(bu 2 +\fB1\fP : An error occurred, which was handled by dnf. +.IP \(bu 2 +\fB3\fP : An unknown unhandled error occurred during operation. +.IP \(bu 2 +\fB100\fP: See \fI\%check\-update\fP +.IP \(bu 2 +\fB200\fP: There was a problem with acquiring or releasing of locks. +.UNINDENT +.sp +Available commands: +.INDENT 0.0 +.IP \(bu 2 +\fI\%alias\fP +.IP \(bu 2 +\fI\%autoremove\fP +.IP \(bu 2 +\fI\%check\fP +.IP \(bu 2 +\fI\%check\-update\fP +.IP \(bu 2 +\fI\%clean\fP +.IP \(bu 2 +\fI\%deplist\fP +.IP \(bu 2 +\fI\%distro\-sync\fP +.IP \(bu 2 +\fI\%downgrade\fP +.IP \(bu 2 +\fI\%group\fP +.IP \(bu 2 +\fI\%help\fP +.IP \(bu 2 +\fI\%history\fP +.IP \(bu 2 +\fI\%info\fP +.IP \(bu 2 +\fI\%install\fP +.IP \(bu 2 +\fI\%list\fP +.IP \(bu 2 +\fI\%makecache\fP +.IP \(bu 2 +\fI\%mark\fP +.IP \(bu 2 +\fI\%module\fP +.IP \(bu 2 +\fI\%provides\fP +.IP \(bu 2 +\fI\%reinstall\fP +.IP \(bu 2 +\fI\%remove\fP +.IP \(bu 2 +\fI\%repoinfo\fP +.IP \(bu 2 +\fI\%repolist\fP +.IP \(bu 2 +\fI\%repoquery\fP +.IP \(bu 2 +\fI\%repository\-packages\fP +.IP \(bu 2 +\fI\%search\fP +.IP \(bu 2 +\fI\%shell\fP +.IP \(bu 2 +\fI\%swap\fP +.IP \(bu 2 +\fI\%updateinfo\fP +.IP \(bu 2 +\fI\%upgrade\fP +.IP \(bu 2 +\fI\%upgrade\-minimal\fP +.UNINDENT +.sp +Additional information: +.INDENT 0.0 +.IP \(bu 2 +\fI\%Options\fP +.IP \(bu 2 +\fI\%Specifying Packages\fP +.IP \(bu 2 +\fI\%Specifying Provides\fP +.IP \(bu 2 +\fI\%Specifying File Provides\fP +.IP \(bu 2 +\fI\%Specifying Groups\fP +.IP \(bu 2 +\fI\%Specifying Transactions\fP +.IP \(bu 2 +\fI\%Metadata Synchronization\fP +.IP \(bu 2 +\fI\%Configuration Files Replacement Policy\fP +.IP \(bu 2 +\fI\%Files\fP +.IP \(bu 2 +\fI\%See Also\fP +.UNINDENT +.SH OPTIONS +.INDENT 0.0 +.TP +.B \fB\-4\fP +Resolve to IPv4 addresses only. +.TP +.B \fB\-6\fP +Resolve to IPv6 addresses only. +.TP +.B \fB\-\-advisory=, \-\-advisories=\fP +Include packages corresponding to the advisory ID, Eg. FEDORA\-2201\-123. +Applicable for the install, repoquery, updateinfo and upgrade commands. +.TP +.B \fB\-\-allowerasing\fP +Allow erasing of installed packages to resolve dependencies. This option could be used as an alternative to the \fByum swap\fP command where packages to remove are not explicitly defined. +.TP +.B \fB\-\-assumeno\fP +Automatically answer no for all questions. +.TP +.B \fB\-b, \-\-best\fP +Try the best available package versions in transactions. Specifically during \fI\%dnf upgrade\fP, which by default skips over updates that can not be installed for dependency reasons, the switch forces DNF to only consider the latest packages. When running into packages with broken dependencies, DNF will fail giving a reason why the latest version can not be installed. +.sp +Note that the use of the newest available version is only guaranteed for +the packages directly requested (e.g. as a command line arguments), and the +solver may use older versions of dependencies to meet their requirements. +.TP +.B \fB\-\-bugfix\fP +Include packages that fix a bugfix issue. Applicable for the install, repoquery, updateinfo and +upgrade commands. +.TP +.B \fB\-\-bz=, \-\-bzs=\fP +Include packages that fix a Bugzilla ID, Eg. 123123. Applicable for the install, repoquery, +updateinfo and upgrade commands. +.TP +.B \fB\-C, \-\-cacheonly\fP +Run entirely from system cache, don\(aqt update the cache and use it even in case it is expired. +.sp +DNF uses a separate cache for each user under which it executes. The cache for the root user is called the system cache. This switch allows a regular user read\-only access to the system cache, which usually is more fresh than the user\(aqs and thus he does not have to wait for metadata sync. +.TP +.B \fB\-\-color=\fP +Control whether color is used in terminal output. Valid values are \fBalways\fP, \fBnever\fP and \fBauto\fP (default). +.TP +.B \fB\-\-comment=\fP +Add a comment to the transaction history. +.TP +.B \fB\-c , \-\-config=\fP +Configuration file location. +.TP +.B \fB\-\-cve=, \-\-cves=\fP +Include packages that fix a CVE (Common Vulnerabilities and Exposures) ID +(\fI\%http://cve.mitre.org/about/\fP), Eg. CVE\-2201\-0123. Applicable for the install, repoquery, updateinfo, +and upgrade commands. +.TP +.B \fB\-d , \-\-debuglevel=\fP +Debugging output level. This is an integer value between 0 (no additional information strings) and 10 (shows all debugging information, even that not understandable to the user), default is 2. Deprecated, use \fB\-v\fP instead. +.TP +.B \fB\-\-debugsolver\fP +Dump data aiding in dependency solver debugging into \fB\&./debugdata\fP\&. +.UNINDENT +.sp +\fB\-\-disableexcludes=[all|main|], \-\-disableexcludepkgs=[all|main|]\fP +.INDENT 0.0 +.INDENT 3.5 +Disable the configuration file excludes. Takes one of the following three options: +.INDENT 0.0 +.IP \(bu 2 +\fBall\fP, disables all configuration file excludes +.IP \(bu 2 +\fBmain\fP, disables excludes defined in the \fB[main]\fP section +.IP \(bu 2 +\fBrepoid\fP, disables excludes defined for the given repository +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \fB\-\-disable, \-\-set\-disabled\fP +Disable specified repositories (automatically saves). The option has to be used together with the +\fBconfig\-manager\fP command (dnf\-plugins\-core). +.UNINDENT +.INDENT 0.0 +.TP +.B \fB\-\-disableplugin=\fP +Disable the listed plugins specified by names or globs. +.TP +.B \fB\-\-disablerepo=\fP +Temporarily disable active repositories for the purpose of the current dnf command. +Accepts an id, a comma\-separated list of ids, or a glob of ids. This option can be +specified multiple times, but is mutually exclusive with \fB\-\-repo\fP\&. +.TP +.B \fB\-\-downloaddir=, \-\-destdir=\fP +Redirect downloaded packages to provided directory. The option has to be used together with the \-\fI\%\-downloadonly\fP command line option, with the +\fBdownload\fP, \fBmodulesync\fP or \fBreposync\fP commands (dnf\-plugins\-core) or with the \fBsystem\-upgrade\fP command +(dnf\-plugins\-extras). +.UNINDENT +.INDENT 0.0 +.TP +.B \fB\-\-downloadonly\fP +Download the resolved package set without performing any rpm transaction (install/upgrade/erase). +.TP +.B \fB\-e , \-\-errorlevel=\fP +Error output level. This is an integer value between 0 (no error output) and +10 (shows all error messages), default is 3. Deprecated, use \fB\-v\fP instead. +.TP +.B \fB\-\-enable, \-\-set\-enabled\fP +Enable specified repositories (automatically saves). The option has to be used together with the +\fBconfig\-manager\fP command (dnf\-plugins\-core). +.TP +.B \fB\-\-enableplugin=\fP +Enable the listed plugins specified by names or globs. +.TP +.B \fB\-\-enablerepo=\fP +Temporarily enable additional repositories for the purpose of the current dnf command. +Accepts an id, a comma\-separated list of ids, or a glob of ids. This option can be +specified multiple times. +.TP +.B \fB\-\-enhancement\fP +Include enhancement relevant packages. Applicable for the install, repoquery, updateinfo and +upgrade commands. +.UNINDENT +.INDENT 0.0 +.TP +.B \fB\-x , \-\-exclude=\fP +Exclude packages specified by \fB\fP from the operation. +.TP +.B \fB\-\-excludepkgs=\fP +Deprecated option. It was replaced by the \-\fI\%\-exclude\fP option. +.TP +.B \fB\-\-forcearch=\fP +Force the use of an architecture. Any architecture can be specified. +However, use of an architecture not supported natively by your CPU will +require emulation of some kind. This is usually through QEMU. The behavior of \fB\-\-forcearch\fP +can be configured by using the arch and ignorearch +configuration options with values \fB\fP and \fBTrue\fP respectively. +.TP +.B \fB\-h, \-\-help, \-\-help\-cmd\fP +Show the help. +.UNINDENT +.INDENT 0.0 +.TP +.B \fB\-\-installroot=\fP +Specifies an alternative installroot, relative to where all packages will be +installed. Think of this like doing \fBchroot dnf\fP, except using +\fB\-\-installroot\fP allows dnf to work before the chroot is created. It requires absolute path. +.UNINDENT +.INDENT 0.0 +.IP \(bu 2 +\fIcachedir\fP, \fIlog files\fP, \fIreleasever\fP, and \fIgpgkey\fP are taken from or +stored in the installroot. \fIGpgkeys\fP are imported into the installroot from +a path relative to the host which can be specified in the repository section +of configuration files. +.IP \(bu 2 +\fIconfiguration file\fP and reposdir are searched inside the installroot first. If +they are not present, they are taken from the host system. +Note: When a path is specified within a command line argument +(\fB\-\-config=\fP in case of \fIconfiguration file\fP and +\fB\-\-setopt=reposdir=\fP for \fIreposdir\fP) then this path is always +relative to the host with no exceptions. +.IP \(bu 2 +\fIvars\fP are taken from the host system or installroot according to reposdir +\&. When \fIreposdir\fP path is specified within a command line argument, vars are taken from the +installroot. When varsdir paths are specified within a command line +argument (\fB\-\-setopt=varsdir=\fP) then those path are always relative to the host with no +exceptions. +.IP \(bu 2 +The \fIpluginpath\fP and \fIpluginconfpath\fP are relative to the host. +.UNINDENT +.INDENT 0.0 +.INDENT 3.5 +Note: You may also want to use the command\-line option +\fB\-\-releasever=\fP when creating the installroot, otherwise the +\fI$releasever\fP value is taken from the rpmdb within the installroot (and thus +it is empty at the time of creation and the transaction will fail). If \fB\-\-releasever=/\fP is used, the +releasever will be detected from the host (\fB/\fP) system. The new installroot path at the time of creation +does not contain the \fIrepository\fP, \fIreleasever\fP and \fIdnf.conf\fP files. +.sp +On a modular system you may also want to use the +\fB\-\-setopt=module_platform_id=\fP command\-line option when creating the installroot, +otherwise the module_platform_id value will be taken from the +\fB/etc/os\-release\fP file within the installroot (and thus it will be empty at the time of creation, the modular +dependency could be unsatisfied and modules content could be excluded). +.sp +Installroot examples: +.INDENT 0.0 +.TP +.B \fBdnf \-\-installroot= \-\-releasever= install system\-release\fP +Permanently sets the \fBreleasever\fP of the system in the +\fB\fP directory to \fB\fP\&. +.TP +.B \fBdnf \-\-installroot= \-\-setopt=reposdir= \-\-config /path/dnf.conf upgrade\fP +Upgrades packages inside the installroot from a repository described by +\fB\-\-setopt\fP using configuration from \fB/path/dnf.conf\fP\&. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \fB\-\-newpackage\fP +Include newpackage relevant packages. Applicable for the install, repoquery, updateinfo and +upgrade commands. +.TP +.B \fB\-\-noautoremove\fP +Disable removal of dependencies that are no longer used. It sets +clean_requirements_on_remove configuration option to \fBFalse\fP\&. +.TP +.B \fB\-\-nobest\fP +Set best option to \fBFalse\fP, so that transactions are not limited to best candidates only. +.TP +.B \fB\-\-nodocs\fP +Do not install documentation. Sets the rpm flag \(aqRPMTRANS_FLAG_NODOCS\(aq. +.TP +.B \fB\-\-nogpgcheck\fP +Skip checking GPG signatures on packages (if RPM policy allows). +.TP +.B \fB\-\-noplugins\fP +Disable all plugins. +.UNINDENT +.INDENT 0.0 +.TP +.B \fB\-\-obsoletes\fP +This option has an effect on an install/update, it enables +dnf\(aqs obsoletes processing logic. For more information see the +obsoletes option. +.sp +This option also displays capabilities that the package obsoletes when used together with the \fI\%repoquery\fP command. +.sp +Configuration Option: obsoletes +.TP +.B \fB\-q, \-\-quiet\fP +In combination with a non\-interactive command, shows just the relevant content. Suppresses messages notifying about the current state or actions of DNF. +.TP +.B \fB\-R , \-\-randomwait=\fP +Maximum command wait time. +.UNINDENT +.INDENT 0.0 +.TP +.B \fB\-\-refresh\fP +Set metadata as expired before running the command. +.TP +.B \fB\-\-releasever=\fP +Configure DNF as if the distribution release was \fB\fP\&. This can +affect cache paths, values in configuration files and mirrorlist URLs. +.UNINDENT +.INDENT 0.0 +.TP +.B \fB\-\-repofrompath ,\fP +Specify a repository to add to the repositories for this query. +This option can be used multiple times. +.UNINDENT +.INDENT 0.0 +.IP \(bu 2 +The repository label is specified by \fB\fP\&. +.IP \(bu 2 +The path or url to the repository is specified by \fB\fP\&. +It is the same path as a baseurl and can be also enriched by the +repo variables\&. +.IP \(bu 2 +The configuration for the repository can be adjusted using \-\fI\%\-setopt\fP=.