dl-fedora
Fedora image download tool
https://github.com/juhp/dl-fedora
LTS Haskell 23.1: | 1.2.1 |
Stackage Nightly 2024-12-26: | 1.2.1 |
Latest on Hackage: | 1.2.1 |
dl-fedora-1.2.1@sha256:c0723d67bff4fbc3502081667e88d03ffdaa8c7a05088dd819067844d2eaaa51,2319
Module documentation for 1.2.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 41 silverblue
: downloads the Fedora Silverblue iso
dl-fedora respin kde
: downloads the latest KDE Live respin
dl-fedora 40 server --arch aarch64
: will download the Server iso for armv8
dl-fedora --run 41
: 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.
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.2
$ 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) | --list | (-R|--replace)]
[-n|--dry-run] [-r|--run]
[(-L|--latest) | (-d|--dl) | (-k|--koji) | (-m|--mirror URL)]
[--dvd] [--cs-live-respin]
[--cs-devel | --cs-test | --cs-production] [-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,kdemobile,lxde,lxqt,mate,miracle,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
--list List spins and editions
-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-live-respin Centos Stream Alternative Live image
--cs-devel Use centos-stream development compose
--cs-test Use centos-stream test compose
--cs-production Use centos-stream production compose (default is
mirror.stream.centos.org)
-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.2.1 (2024-11-01)
- add MiracleWM and KDE_Mobile Live images
1.2 (2024-09-17)
- default centos-stream to mirror.stream.centos.org
- initial support for CS Alternative Live respins
- refactoring for new Release type
- new –list command to list all spins/editions
- checksum now only runs for downloaded (specified) image
- fix fedora.gpg url
- prompt to retry (continue) download if curl errors
- –debug: output redirects, including http -> https
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