JIGDO
Jigsaw (Puzzle) Downloader
Debian GNU/Linux heeft verschillende download opties beschikbaar, van de standaard ISO downloads via FTP/HTTP en BitTorrent tot het minder bekende jigdo. jigdo of Jigsaw-Downloader download in tegenstelling tot the andere methodes géén volledig ISO bestand, maar de verschillende paketten van deze ISO individueel en past ze op het einde als een puzzle in elkaar.
jigdo is heel gamakkelijk om te gebruiken. Er zijn in princiepe 2 methodes om dit te doen.
URL van bestanden opgeven:
Je kunt jigdo het URL van 1 of meerdere .jigdo bestanden geven:
Vervolgens moeten we het URL van een mirror of spiegelserver opgeven, of op ENTER drukken om de standaard server http://deb.debian.org/debian/ te gebruiken.
Het .jigdo bestand voor deze ISO's bevat ook bestanden die op de non-US1 servers staan, hiervoor moet ik een andere URL opgeven.
http://ftp.be.debian.org/debian/
jigdo begint nu het het downloaden van alle nodige paketten van de opgegeven servers. We kunnen ondertussen een kopje koffie gaan drinken of de hond uitlaten, en als we terugkomen is jigdo hopelijk klaar met het downloaden.
jigdo is klaar met het downloaden en samenvoegen van de laatste ISO uit de lijst. De MD5 checksum van het bestand is correct, maar zoals jigdo aangeeft is dit geen "veilige" hash en is het beter om ook nog een andere verificatie uit te voeren.
Laten we een kijken op de site van Debian of we daar andere checksums kunnen vinden:
Hier zien we oa. verschillende checksums en de .jigdo en .template bestanden die jigdo nodig heeft om alles te downloaden (je kun ipv het opgeven vah het URL naar deze .jigdo bestanden deze ook downloaden en ze dan als invoer gebruiken voor jigdo.
Om te controleren gaan we de "beste" SHA checksum gebruiken, daarom downloaden we SHA512SUMS en SHA512SUMS.sign.
Het eerste bestand is gewoon een tekstbestand met de SHA512 checksum waardes van de ISO bestanden en het .sign bestand is om te controleren of het SHA512SUMS bestand niet is aangepast door onbevoegden (man-in-the-middle attacj bijvoorbeeld).
Voor deze controle hebben we het programma gnupg (gpg2) nodig, dit moet je eerst installeren met $ sudo apt install gnupg2.
Daarna moeten we de signing-keys die worden gebruikt om de bestanden te "tekenen" downloaden en toevoegen aan de sleutelbos:
pub 4096R/64E6EA7D 2009-10-03
Key fingerprint = 1046 0DAD 7616 5AD8 1FBC 0CE9 9880 21A9 64E6 EA7D
uid Debian CD signing key <debian-cd@lists.debian.org>
pub 4096R/6294BE9B 2011-01-05
Key fingerprint = DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B
uid Debian CD signing key <debian-cd@lists.debian.org>
sub 4096R/11CD9819 2011-01-05
pub 4096R/09EA8AC3 2014-04-15
Key fingerprint = F41D 3034 2F35 4669 5F65 C669 4246 8F40 09EA 8AC3
uid Debian Testing CDs Automatic Signing Key <debian-cd@lists.debian.org>
sub 4096R/6BD05CFB 2014-04-15
We gaan deze alle 3 toevoegen:
$ gpg --keyserver keyring.debian.org --recv-keys 64E6EA7D
$ gpg --keyserver keyring.debian.org --recv-keys 6294BE9B
$ gpg --keyserver keyring.debian.org --recv-keys 09EA8AC3
Nu kunnen we het SHA512SUMS bestand controleren:
gpg: assuming signed data in 'SHA512SUMS'
gpg: Signature made zo 02 aug 2020 04:01:34 CEST
gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 1 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1 valid: 1 signed: 0 trust: 1-, 0q, 0n, 0m, 0f, 0u
gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>" [full]
gpg: assuming signed data in 'SHA512SUMS'
gpg: Signature made zo 02 aug 2020 04:01:34 CEST
gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B
gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B
Attentie | |
---|---|
Nu we weten dat het SHA512SUMS de correcte checksum waardes bevat, kunnen we deze checksums gaan vergelijken met deze van de gedownloade ISO bestanden.
Het programma dat we gebruiken om deze checksum te berekenen heet sha512sum je kunt dit op verschillende manieren controleren. Je kunt 1 enkel bestand controleren en de uitvoer vergelijken met wat er in het SHA512SUMS bestand staat:
sha512sum debian-10.5.0-amd64-DVD-1.iso
Dit zal enige tijd in beslag nemen (hoe beter de hash (sha512 is beter dan sha256) hoe langer het duurt om deze te berekenen, maar hoe zekerder je bent dat deze correct is.
a577aa8b7bd798dc20120c89432a2485d1cb10e3b2ebe987a91265ca028b5293ccd32f43bb1578ba3cd59390b8d77fa3c5ecfa8239974f2772a437085d8182f8 debian-10.5.0-amd64-DVD-1.iso
Een betere methode is door gebruik te maken van het SHA512SUMS bestand en alle bestanden in 1 keer te controleren:
sha512sums -c SHA512SUMS
Debian-10.5.0-amd64-DVD-1.iso: OK
debian-10.5.0-amd64-DVD-1.jigdo: OK
debian-10.5.0-amd64-DVD-1.template: OK
sha512sum: debian-10.5.0-amd64-DVD-10.iso: No such file or directory
debian-10.5.0-amd64-DVD-10.iso: FAILED open or read
sha512sum: debian-10.5.0-amd64-DVD-10.jigdo: No such file or directory
debian-10.5.0-amd64-DVD-10.jigdo: FAILED open or read
sha512sum: debian-10.5.0-amd64-DVD-10.template: No such file or directory
debian-10.5.0-amd64-DVD-10.template: FAILED open or read
Zoals je kunt zien zijn de 3 bestanden voor ISO 1 correct, en omdat ik DVD-10 niet gedownload heb2 wordt daarvoor een foutmelding gegeven. Indien je alle DVD ISO bestanden gedownload hebt, kun je dus met dit ene commando alle 16 bestanden controleren.
Waarschuwing | |
---|---|
Een van de redenen waarom je jigdo zou gebruiken en niet het downloaden vanaf de website met een download manager zoals aria2 of wget is dat Debian een 16GB ISO bestand aanbied, speciaal voor op een USB-Stick the branden. Deze kun je enkel via jigdo downloaden.
jigdo-lite debian-testing-amd64-STICK16GB-1.jigdo
De 16GB USB ISO is momenteel enkel beschikaar voor Debian Testing (Bullseye):
Ook hiervoor worden weer SHA512 checksum bestanden bijgeleverd.
Meer informatie kun je altijd terugvinden in de manpages of de infopages