Hin und wieder kommt es vor, dass man für ein (Debian basiertes) Linux-System, welches selbst keinen Zugang zum Internet hat, deb-Pakete aus den Repositories benötigt, um spezielle Software zu installieren.

Da es oftmals etwas mühselig ist, die entsprechenden Dateien per Hand in einem Respository zu finden, habe ich ein kleines Bash-Script erstellt, welches einem die gesamte Arbeit abnimmt und die nötigen deb-Dateien herunterlädt. Die heruntergeladenen Dateien können anschließend auf das Zielsystem kopiert und dort installiert werden.

Das Script lädt zuerst die entsprechenden Index-Dateien des Repositories herunter und entpackt diese. Mit Hilfe dieser Index-Dateien wird dann der Download-Link des entsprechenden Paketes ermittelt.

Optional ist es zudem möglich, alle Abhängigkeiten automatisch zu ermitteln und mit herunter zu laden.

Download des gesamten Scripts:

wget https://github.com/crycode-de/deb-downloader/raw/master/deb-downloader.sh

Projekt auf GitHub.

Aufruf des Scripts

Dem Script müssen bestimmte Argumente mitgegeben werden.

Benötigte Argumente

  • -m <Mirror URL> Die URL des Spiegelservers vom Repository.
  • -d <Dist> Codename der Distribution.
  • -p <Paket> Name des Paketes, das heruntergeladen werden soll.

Optionale Argumente

  • -c <Component> Komponente(n) im Repository. Standard ist main.
  • -a <Architektur> Architektur des Prozessors des Zielsystems. Standard ist amd64.
  • -D Automatische Erkennung und Download aller Abhängigkeiten.
  • -t Testlauf. Es werden nur die Index-Dateien des Repositories heruntergeladen und gegebenenfalls die Äbhängigkeiten ermittelt.
  • -h Anzeigen der Hilfe.

Beispiele

Download des Paketes nano für Ubuntu xenial (16.04).

./deb-downloader.sh -m http://archive.ubuntu.com/ubuntu/ -d xenial -p nano

Download des Paketes gimp für Ubuntu artful (17.10) unter Verwendung der universe Komponente für i386 Systeme.

./deb-downloader.sh -m http://archive.ubuntu.com/ubuntu/ -d artful -c universe -a i386 -p gimp

Download des Pakete ntp für Raspbian Stretch unter Verwendung der normalen Raspian Repository Einstellungen inklusive aller Abhängigkeiten.

./deb-downloader.sh -m http://archive.raspbian.org/raspbian/ -d stretch -c "main contrib non-free rpi" -a armhf -p ntp -D

Lizenz

Lizenziert unter GPL Version 2

Copyright (c) 2018 Peter Müller