Download and keep up-to-date Linux/BSD distribution ISO images (installers/live images). Can be used to maintain a local ISO image repository.
git clone https://gitlab.com/nodiscc/distrib-dl
- bash
- wget
- gnupg
Usage: ./distrib-dl [OPTIONS] DISTRIBUTION1 [DISTRIBUTION2 DISTRIBUTION3 ...] [all]
Available distributions: debian centos tails kali proxmox pfsense freebsd androidx86 debian-live-config fedora
Options:
-c only check that the url returns 200, don't download anything
-d DIR specify base download directory (by default the current working directory is used)
-h show help
- Debian GNU/Linux (netinstall and live)
- CentOS
- Tails
- Kali
- Proxmox VE
- pfSense
- FreeBSD
- Android x86
- debian-live-config
- Fedora Workstation
- Ubuntu
Downloads will be verified against checksums and GPG keys when available. Checksums/signatures are downloaded as part of the process. The script will return warnings unless you manually import and trust gpg keys:
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Debian: You need to import Debian signing keys to your GPG keyring:
gpg --keyserver keyring.debian.org --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B
Consider a periodic cleanup of old/obsolete images from your download directory, else disk usage will keep increasing over time (unless you intend to keep old distribution releases?).
Architectures and distribution versions are configurable in the script itself.
- Patches and pull requests welcome.
- File bugs or possible improvements at https://gitlab.com/nodiscc/distrib-dl/issues
- Run
shellcheck
against the script to check for errors/styling issues.
- add GPG/checksum verifications for proxmox
- add support for Arch Linux
- add support for Bedrock Linux
- add support for Clonezilla
- add support for GNU Guix System
- add support for Lakka
- add support for NixOS
- add support for OpenBSD
- add support for Rocky Linux
- add support for Sparky Linux
- add support for slackware
- add support for opensuse
- add support for void linux
- add support for nixos
- add support for bittorrent downloads (transmission-cli?)
- add support for windows 10
- automatically check for new versions of distributions (RSS feeds?)
- centos: do not hardcode mirror, let centos.org take us to the closest download
- integrate with https://github.com/ventoy/Ventoy/
- support downloading via bittorrent/transmission-cli