GPL-3.0-only licensed and maintained by Jens Petersen
This version can be pinned in stack with:dl-fedora-1.2.1@sha256:c0723d67bff4fbc3502081667e88d03ffdaa8c7a05088dd819067844d2eaaa51,2319

Module documentation for 1.2.1

There are no documented modules for this package.

dl-fedora

Hackage GPL-3 license Stackage Lts Stackage Nightly

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