1DNF5(8) dnf5 DNF5(8)
2
3
4
6 dnf5 - DNF5 Package Management Utility
7
9 dnf5 <command> [options] [<args>...]
10
12 DNF5 is the new version of DNF, a package manager for RPM-based Linux
13 distributions. It has been completely rewritten in C++ aiming for bet‐
14 ter performance and reducing external dependencies.
15
17 Here is the list of the available commands. For more details see the
18 separate man page for the specific command, f.e. man dnf5 install.
19
20 advisory
21 Manage advisories.
22
23
24 autoremove
25 Remove unneeded packages.
26
27
28 clean
29 Remove or invalidate cached data.
30
31
32 distro-sync
33 Upgrade or downgrade installed packages to the latest available version.
34
35
36 downgrade
37 Downgrade packages.
38
39
40 download
41 Download packages.
42
43
44 environment
45 Manage comps environments.
46
47
48 group
49 Manage comps groups.
50
51
52 install
53 Install packages.
54
55
56 leaves
57 List groups of leaf packages.
58
59
60 makecache
61 Generate the metadata cache.
62
63
64 mark
65 Change the reason of an installed package.
66
67
68 reinstall
69 Reinstall packages.
70
71
72 remove
73 Remove packages.
74
75
76 repo
77 Manage repositories.
78
79
80 repoquery
81 Search for packages in repositories.
82
83
84 search
85 Search for packages using keywords.
86
87
88 swap
89 Remove software and install another in the single transaction.
90
91
92 upgrade
93 Upgrade packages.
94
95
96 Plugin commands
97 Here is the list of the commands available as plugins. These are
98 available after installing the dnf5-plugins package.
99
100 builddep
101 Install missing dependencies for building an RPM package.
102
103
104 copr
105 Manage Copr repositories (add-ons provided by users/community/third-party).
106
107
108 repoclosure
109 Display a list of unresolved dependencies for repositories.
110
111
113 Following options are applicable in the general context for any dnf5
114 command:
115
116 --assumeno
117 Automatically answer no for all questions.
118
119
120 --best
121 Try the best available package versions in transactions.
122
123
124 Specifically during dnf upgrade, which by default skips over up‐
125 dates that can not be installed for dependency reasons, the
126 switch forces DNF5 to only consider the latest packages. When
127 running into packages with broken dependencies, DNF5 will fail
128 giving the reason why the latest version can not be installed.
129
130 Note that the use of the newest available version is only guar‐
131 anteed for the packages directly requested (e.g. as a command
132 line arguments), and the solver may use older versions of depen‐
133 dencies to meet their requirements.
134
135 -C, --cacheonly
136 Use only cached data for working with packages and repository metadata.
137 Cache won't be updated, even if it is expired.
138
139
140 --comment=COMMENT
141 Add a comment to the transaction history.
142
143
144 --config=CONFIG_FILE_PATH
145 Define configuration file location.
146
147
148 --debugsolver
149 Dump additional data from solver for debugging purposes.
150 Data are saved in ./debugdata.
151
152
153 --disable-plugin=PLUGIN_NAME,...
154 Disable specified plugins for the purpose of the current DNF5 command.
155 This is a list option which can be specified multiple times.
156 Accepted values are names, or a glob of names.
157
158
159 --disable-repo=REPO_ID,...
160 Temporarily disable active repositories for the purpose of the current DNF5 command.
161 This is a list option which can be specified multiple times.
162 Accepted values are ids, or a glob of ids.
163
164
165 --dump-main-config
166 Print main configuration values to stdout.
167
168
169 --dump-repo-config=REPO_ID,...
170 Print repository configuration values to stdout.
171 This is a list option which can be specified multiple times.
172 Accepted values are ids, or a glob of ids.
173
174
175 --dump-variables
176 Print variable values to stdout.
177
178
179 --enable-plugin=PLUGIN_NAME,...
180 Enable specified plugins for the purpose of the current DNF5 command.
181 This is a list option which can be specified multiple times.
182 Accepted values are names, or a glob of names.
183
184
185 --enable-repo=REPO_ID,...
186 Temporarily enable additional repositories for the purpose of the current DNF5 command.
187 This is a list option which can be specified multiple times.
188 Accepted values are ids, or a glob of ids.
189
190
191 --forcearch=ARCH
192 Force the use of a specific architecture.
193 See dnf5-forcearch(7) for more info.
194
195
196 -h, --help
197 Show the help.
198
199
200 --installroot=ABSOLUTE_PATH
201 Setup installroot path.
202 Absolute path is required.
203 See dnf5-installroot(7) for more info.
204
205
206 --no-best
207 Do not limit the transaction to the best candidates only.
208
209
210 --no-docs
211 Do not install any files that are marked as a documentation (which includes man pages and texinfo documents).
212 It sets the RPMTRANS_FLAG_NODOCS flag.
213
214
215 --no-gpgchecks
216 Skip checking GPG signatures on packages (if RPM policy allows that).
217
218
219 --no-plugins
220 Disable all plugins.
221
222
223 -q, --quiet
224 In combination with a non-interactive command, shows just the
225 relevant content. Suppresses messages notifying about the cur‐
226 rent state or actions of DNF5.
227
228 --refresh
229 Force refreshing metadata before running the command.
230
231
232 --repo=REPO_ID,...
233 Enable just specified repositories.
234 This is a list option which can be specified multiple times.
235 Accepted values are ids, or a glob of ids.
236
237
238 --repofrompath=REPO_ID,REPO_PATH
239 Specify a repository to add to the repositories only for this
240 run. Can be used multiple times.
241
242 The new repository id is specified by REPO_ID and its baseurl by
243 REPO_PATH. Variables in both values are substituted before cre‐
244 ating the repo.
245
246 The configuration of the new repository can be adjusted using
247 options --setopt=REPO_ID.option=value.
248
249 If you want only packages from this repository to be available,
250 combine this option with --repo=REPO_ID switch.
251
252 --releasever=RELEASEVER
253 Override the value of the distribution release in configuration files.
254 This can affect cache paths, values in configuration files and mirrorlist URLs.
255
256
257 --setopt=[REPO_ID.]OPTION=VALUE
258 Override a configuration option from the configuration file.
259 The REPO_ID parameter is used to override options for repositories.
260
261
262 Values for the options like excludepkgs, includepkgs, installon‐
263 lypkgs and tsflags are appended to the original value, they do
264 not override it. However, specifying an empty value (e.g. --se‐
265 topt=tsflags=) will clear the option.
266
267 --setvar=VAR_NAME=VALUE
268 Override a DNF5 variable value, like arch, releasever, etc.
269
270
271 --show-new-leaves
272 Show newly installed leaf packages and packages that became leaves after a transaction.
273
274
275 --skip-broken
276 Resolve any dependency problems by removing packages that are causing problems from the transaction.
277
278
279 -y, --assumeyes
280 Automatically answer yes for all questions.
281
282
283 -x PACKAGE-SPEC,..., --exclude=PACKAGE-SPEC,...
284 Exclude packages specified in PACKAGE-SPEC arguments from the transaction.
285 This is a list option.
286
287
289 Correct operation of DNF5 depends on having an access to up-to-date
290 data from the all enabled repositories, but contacting remote mirrors
291 on every operation considerably slows it down and costs bandwidth for
292 both the client and the repository provider. The metadata_expire repos‐
293 itory configuration option is used by DNF5 to determine whether a par‐
294 ticular local copy of repository data is due to be re-synced. It is
295 crucial that the repository providers set the option well, namely to a
296 value where it is guaranteed that if particular metadata was available
297 in time T on the server, then all packages it references will still be
298 available for download from the server in time T + metadata_expire.
299
300 To further reduce the bandwidth load, some of the commands where having
301 up-to-date metadata is not critical (e.g. the group list command) do
302 not look at whether a repository is expired and whenever any version of
303 it is locally available to the user's account, it will be used.
304
305 For non-root usages it can be also useful running entirely from the
306 system cache, don't update the cache and use it even in case it is ex‐
307 pired by setting the cacheonly configuration option. DNF5 uses a sepa‐
308 rate cache for each user under which it executes. The cache for the
309 root user is called the system cache. This option allows a regular user
310 read-only access to the system cache, which usually is more fresh than
311 the user's and thus he does not have to wait for metadata sync.
312
314 The updated packages could replace the old modified configuration files
315 with the new ones or keep the older files. Neither of the files are ac‐
316 tually replaced. To the conflicting ones RPM gives additional suffix to
317 the origin name. Which file should maintain the true name after trans‐
318 action is not controlled by package manager, but is specified by each
319 package itself, following packaging guideline.
320
322 The dnf5 command in general exits with the following return values:
323
324 0
325 Operation was successful.
326
327
328 1
329 An error occurred during processing of the command.
330
331
332 2
333 An error occurred during parsing the arguments.
334
335
336 Other exit codes could be returned by the specific command itself, see
337 its documentation for more info.
338
340 Cache Files
341 /var/cache/libdnf5/
342
343 Main Configuration
344 /etc/dnf/dnf.conf
345
346 Repository Metadata
347 /etc/yum.repos.d/
348
349 Repository Persistence
350 /var/lib/dnf/
351
352 System state
353 /usr/lib/sysimage/libdnf5/
354
356 Commands in detail:
357 dnf5-advisory(8), Advisory command
358 dnf5-autoremove(8), Autoremove command
359 dnf5-clean(8), Clean command
360 dnf5-distro-sync(8), Distro-Sync command
361 dnf5-downgrade(8), Downgrade command
362 dnf5-download(8), Download command
363 dnf5-environment(8), Environment command
364 dnf5-group(8), Group command
365 dnf5-install(8), Install command
366 dnf5-leaves(8), Leaves command
367 dnf5-makecache(8), Makecache command
368 dnf5-mark(8), Mark command
369 dnf5-reinstall(8), Reinstall command
370 dnf5-remove(8), Remove command
371 dnf5-repo(8), Repo command
372 dnf5-repoquery(8), Repoquery command
373 dnf5-search(8), Search command
374 dnf5-swap(8), Swap command
375 dnf5-upgrade(8), Upgrade command
376
377
378 Plugins:
379 dnf5-builddep(8), Builddep command
380 dnf5-copr(8), Copr command
381 dnf5-repoclosure(8), Repoclosure command
382
383
384 Miscellaneous:
385 dnf5-aliases(7), Aliases for command line arguments
386 dnf5-comps(7), Comps groups and environments
387 dnf5-forcearch(7), Forcearch parameter
388 dnf5-installroot(7), Installroot parameter
389 dnf5-specs(7), Patterns specification
390
391
392 Project homepage:
393 https://github.com/rpm-software-management/dnf5
394
395
397 See AUTHORS.md in dnf5 source distribution.
398
400 Contributors to the dnf5 project.
401
402
403
404
405 Nov 09, 2023 DNF5(8)