dl-fedora
Fedora image download tool
https://github.com/juhp/dl-fedora
Version on this page: | 1.1 |
LTS Haskell 23.2: | 1.2.1 |
Stackage Nightly 2025-01-02: | 1.2.1 |
Latest on Hackage: | 1.2.1 |
dl-fedora-1.1@sha256:0e960086898afa4326d8b43b0ce245ad05b15533d72220a13a78b99d8689949a,2279
Module documentation for 1.1
There are no documented modules for this package.
dl-fedora
A tool for downloading Fedora, ELN, and Centos Stream images. By default it targets the Workstation edition of Fedora.
Usage examples:
dl-fedora rawhide
: downloads the latest Fedora Rawhide Workstation Live iso
dl-fedora 40 silverblue
: downloads the Fedora Silverblue iso
dl-fedora respin kde
: downloads the latest KDE Live respin
dl-fedora 39 server --arch aarch64
: will download the Server iso for armv8
dl-fedora --run 40
: will download Fedora Workstation and boot the Live image with qemu-kvm.
dl-fedora --check respin
: checks if there is a newer respin iso image
available.
dl-fedora --local rawhide
: shows the current locally available image.
It can be combined with --run
to quickly run the latest local image,
without a newer download.
dl-fedora c9s
: downloads a Centos Stream 9 net installer.
By default dl-fedora downloads to ~/Downloads/
(correctly the XDG user “DOWNLOADS” directory),
but if you create an iso
subdirectory there (~/Downloads/iso/
)
it will use that directory instead.
dl-fedora
downloads the latest mirrored image redirected from
download.fedoraproject.org
by default.
If you want to ensure getting the very latest image you can use --latest
,
which will then download from dl.fedoraproject.org
instead
if your mirror is not synced yet. (This behavior changed with 0.10.)
If the image is already found to be downloaded it will not be re-downloaded of course. Curl is used to do the downloading: partial downloads will continue.
A symlink to the latest iso is also created:
eg for rawhide it might be "Fedora-Workstation-Live-x86_64-Rawhide-latest.iso"
.
It also tries to check the iso checksum and its gpg signature.
Usage
$ dl-fedora --version
1.1
$ dl-fedora --help
Fedora iso downloader
Usage: dl-fedora [--version] [-g|--gpg-keys] [--no-checksum | --checksum]
[--debug] [-T|--no-http-timeout]
[(-c|--check) | (-l|--local) | (-R|--replace)] [-n|--dry-run]
[-r|--run]
[(-L|--latest) | (-d|--dl) | (-k|--koji) | (-m|--mirror URL)]
[--dvd] [--cs-devel | --cs-test] [-a|--arch ARCH] RELEASE
[EDITION]
Tool for downloading Fedora iso file images.
RELEASE = release number, respin, rawhide, test (Beta), stage (RC), eln, c9s, c10s
EDITION = {cloud,container,everything,server,workstation,budgie,cinnamon,i3,
kde,lxde,lxqt,mate,soas,sway,xfce,silverblue,kinoite,onyx,sericea,
iot} [default: workstation]
See <https://github.com/juhp/dl-fedora/#readme>
Available options:
-h,--help Show this help text
--version Show version
-g,--gpg-keys Import Fedora GPG keys for verifying checksum file
--no-checksum Do not check checksum
--checksum Do checksum even if already downloaded
--debug Debug output
-T,--no-http-timeout Do not timeout for http response
-c,--check Check if newer image available
-l,--local Show current local image
-R,--replace Delete previous snapshot image after downloading
latest one
-n,--dry-run Don't actually download anything
-r,--run Boot image in QEMU
-L,--latest Get latest image either from mirror or dl.fp.o if
newer
-d,--dl Use dl.fedoraproject.org (dl.fp.o)
-k,--koji Use koji.fedoraproject.org
-m,--mirror URL Mirror url for /pub [default
https://download.fedoraproject.org/pub]
--dvd Download dvd iso instead of boot netinst (for Server,
eln, centos)
--cs-devel Use centos-stream development compose
--cs-test Use centos-stream test compose (default is
production)
-a,--arch ARCH Specify arch [default: x86_64]
References
See https://fedoraproject.org/wiki/Infrastructure/MirrorManager, https://admin.fedoraproject.org/mirrormanager/, and also https://fedoramagazine.org/verify-fedora-iso-file.
Contribution
dl-fedora is distributed under the GPL license version 3 or later.
Please report issues or pull requests at https://github.com/juhp/dl-fedora.
Changes
Changelog
1.1 (2024-05-23)
- add c10s and Fedora IoT edition
- print multiple matches and download latest
- ‘–dvd’ option to select dvd image rather than boot/netinst iso
- handle empty mirror directory by falling back to dl.fp.o
- better debug output
- improve handling of empty checksum file
- filename tweaks for Container and Cloud
1.0 (2023-09-15)
- default to download.fp.o: replace –no-dl with –latest
- new –check (-c) command mode: checks for newer image
- –local mode now only derefs symlink to show latest local image
- help: list ostree editions last
- add Onyx (F39 Budgie ostree image)
- allow “sb” as alias for Silverblue
- offer to fix permissions of a partially downloaded run iso file
0.9.6 (2023-08-18)
- –no-dl option to avoid dl.fp.o even if newer
- support c8s and add options for centos-stream channels
- update eln path
- downloadFile: add showdestdir to downloading message and curl debug
- add –debug option
0.9.5 (2023-04-13)
- add F38 Sericea sway ostree image
0.9.4 (2023-03-23)
- add new F38 spins: Budgie and Sway
- change koji target to –koji mirror option
- if mirror redirect fails then fallback to primary
- run with qemu -cpu host option
0.9.3 (2022-06-11)
- show timestamp of image
0.9.2 (2021-10-01)
- fix test (beta) image selection to be the latest version
0.9.1 (2021-08-30)
- new Kinoite edition for F35
- initial Centos Stream “c9s” target for production boot images
0.9 (2021-04-22)
- edition is now an argument after release, not an option
- –local –dryrun only accesses local files now for speed
- add ‘–no-http-timeout’ (mostly for CI)
0.8 (2021-04-07)
- –local option: print (or –run) current local image instead of newer download
- improve –dryrun Downloads/ handling for testsuite in CI
0.7.7 (2021-04-06)
- add the new F34 i3 spin
- shorten mate_compiz to mate
- convert tests to Haskell
0.7.6 (2021-01-21)
- improve help text for releases related for Beta and RCs (#1)
- if ~/Downloads/iso/ exists then download to it otherwise ~/Downloads/
- support ELN boot.iso
0.7.5 (2020-09-13)
- always print download url and already downloaded filename
- –replace deletes previous symlinked image after downloading new one
- improved checksum file handling
0.7.4 (2020-03-15)
- add ‘koji’ release target: downloads latest branched compose from kojipkgs
0.7.3 (2020-02-11)
- fix CHECKSUM512 detection (for respins)
0.7.2 (2019-10-29)
- add stage release target (useful just prior to release)
0.7.1 (2019-09-25)
- print datestamp beside filesize
- show directory correctly with ~/
- use a subdirectory for checksum files
0.7 (2019-09-12)
- add –checksum to always do checksum when possible
- add –run to run image in qemu-kvm if available
- rework algorithms
- check local filesize earlier: don’t even check mirror if already downloaded
- for partial local file output percentage already downloaded
- otherwise show filesize
- show dir for symlink: so one knows location
- drop the ‘devel’ target (use release version number instead)
- handle old dangling symlink too (after deleting iso)
0.6 (2019-09-02)
- major rework to correct the url logic
- first checks on dl.fedoraproject.org (master)
- then tries to download corresponding filepath on download.fedoraproject.org
- or falls back to master mirror
- new –dl option to download directly from dl.fedoraproject.org
- can now find branched development release
- also compares mirror and master filesizes
- builds with lts-14
0.5 (2019-07-06)
- no hardcoding of devel branch, beta, and respins
- fix Spins and Cloud/Container paths
- use rawhide for devel if not branched
- don’t checksum if no file downloaded or new –no-checksum
- more informative error messages
- add simple dryrun test script
0.4 (2019-06-03)
- drop version 30 special case
- support gpg verification of checksum file
0.3 (2019-04-16)
- run sha256sum check
- support fedora Spins
0.2
- fix and improve symlink naming
- use new http-directory library to check exact filesize
0.1
- initial release