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