Skip to content

Latest commit

 

History

History
86 lines (62 loc) · 3.02 KB

deb-downloader.md

File metadata and controls

86 lines (62 loc) · 3.02 KB
title author date updated categories tags
deb-downloader
name link
Peter Müller
2018-01-14 04:00:00 -0800
2024-04-24 13:42:34 -0700
Linux
Software
Bash
deb
Debian
dpkg
Eigenentwicklung
Linux
Raspberry Pi
Ubuntu

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 Repository zu finden, habe ich ein kleines Bash-Skript 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 Skript 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 Skripts:

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

Projekt auf GitHub

Aufruf des Skripts

Dem Skript 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 Abhängigkeiten ermittelt.
  • -h Anzeigen der Hilfe.

Beispiele

Download des Paketes nano für Ubuntu jammy (22.04).

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

Download des Paketes inkscape für Ubuntu mantic (23.10) unter Verwendung der universe Komponente für i386 Systeme.

./deb-downloader.sh -m http://archive.ubuntu.com/ubuntu/ -d mantic \
  -c universe -a i386 -p inkscape

Download des Paketes ntp für Raspberry Pi OS bookworm unter Verwendung der normalen Raspberry Pi OS Repository Einstellungen inklusive aller Abhängigkeiten.

./deb-downloader.sh -m http://raspbian.raspberrypi.com/raspbian/ -d bookworm \
  -c "main contrib non-free rpi" -a armhf -p ntp -D

Lizenz

Lizenziert unter GPL Version 2

Copyright (c) 2018 Peter Müller