ubuntuusers.de

apt-offline

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Wiki/Icons/terminal.png apt-offline 🇬🇧 ist ein Kommandozeilenwerkzeug, um einen Rechner ohne direkten Internetzugang mit Sicherheitsaktualisierungen und Updates zu versorgen. Darüber hinaus können auch einzelne Pakete damit installiert werden. Erstellt wurde es mit Python.

Neben einem USB-Stick mit mindestens 1 GiB als Transportmedium wird ein zweiter Rechner mit Internetverbindung benötigt. Dieser Rechner muss mit Ubuntu, einer anderen Ubuntu-Variante oder Debian als Betriebssystem ausgestattet sein, da apt-offline auf beiden Rechnern benötigt wird.

Eine grafische Benutzeroberfläche ist per apt-offline-gui verfügbar (siehe unten).

Vorbereitung

Um apt-offline auf einem Rechner ohne Internetzugang nutzen zu können, muss der betreffende Rechner im Rahmen der Installation mit dem Internet verbunden werden. Alle weiteren Schritte erfolgen dann ohne eine Internetverbindung. Des Weiteren sind auf dem Zielrechner Root-Rechte [1] erforderlich.

Die Installation muss auch auf dem zweiten Rechner erfolgen, der später als Quelle dienen soll.

Als Teil der Vorbereitung sollte man auch von den Einschränkungen des Programms wissen:

  • Einige spezifische Pakete unterstützen keine netzwerklose Installation, da sie Download-Skripte während des Installations- oder Aktualisierungsprozesses ausführen. Pakete, welche dieses Verhalten zeigen, sind z.B. nautilus-dropbox, ttf-mscorefonts-installer und einige andere. Apt-offline eignet sich nicht für Installationspakete, die selbst Downloads durchführen.

  • Während der Verwendung von apt-offline erscheinen möglicherweise einige Warnungen in roter Schrift, die sich auf Download-Fehler von Übersetzungen oder fehlende LZMA-Dateien beziehen. Diese können ignoriert werden.

Installation

Wiki/Icons/synaptic.png

Das Programm ist Bestandteil der offiziellen Paketquellen. Folgendes Paket muss installiert werden [2]:

  • apt-offline (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install apt-offline 

Oder mit apturl installieren, Link: apt://apt-offline

Verwendung

Vor der konkreten Beschreibung noch einige prinzipielle Hinweise zur Funktion von apt-offline (die verwendeten Dateinamen sind nicht fix und dienen hier als nur Beispiel):

  • Zuerst wird eine Datei apt-offline.sig auf dem Rechner ohne Internetverbindung erstellt

  • Mit Hilfe dieser Datei wird auf dem Rechner mit Internetverbindung die Datei bundle.zip erzeugt, die alle notwendigen Dateien enthält

  • Diese beiden Dateien dienen dann auf dem Rechner ohne Internetverbindung zur Aktualisierung der Paketquellen bzw. zur Systemaktualisierung.

Hinweis:

Vor jeder Verwendung ist eine auf dem USB-Stick vorhandene Datei bundle.zip zu entfernen.

Aktualisieren der Paketquellen

  1. Man öffnet ein Terminal [3] und erzeugt eine Anfrage, um die lokalen Paketquellen auf dem Rechner zu aktualisieren:

    sudo apt-offline set --update apt-offline.sig 

    Dann schließt man das Terminalfenster und kopiert die Datei apt-offline.sig auf den USB-Stick.

  2. Der USB-Stick wird nun an einen mit dem Internet verbundenen Rechner angeschlossen. Dann wechselt man in das Verzeichnis auf dem USB-Speicher, welches die Datei apt-offline.sig enthält, öffnet hier ein Terminalfenster und verwendet folgenden Befehl:

    apt-offline get --bundle bundle.zip apt-offline.sig 

    Wenn dies abgeschlossen ist, entfernt man den USB-Speicher und bringt ihn zurück an den vom Netzwerk getrennten Rechner.

  3. Am unverbundenen Computer steckt man den USB-Speicher wieder ein. Im Verzeichnis auf dem Flashspeicher, der die beiden Dateien bundle.zip und apt-offline.sig enthält, öffnet man erneut ein Terminalfenster, um folgenden Befehl zu starten:

    sudo apt-offline install bundle.zip 

    Sobald der Befehl vollständig ausgeführt worden ist, sind die Paketquellen aktualisiert und das verwendete Terminalfenster kann geschlossen werden.

Aktualisierung des Offline-Systems

Die Aktualisierung des Offline-Systems erfordert zwei Schritte: Das Aktualisieren der Paketquellen und das Herunterladen und Aktualisieren der Pakete. Diese beiden Schritte können mit apt-offline zusammengefasst werden.

  1. Man verbindet den USB-Speicher mit dem Computer, navigiert zum Verzeichnis des USB-Speichers und öffnet hier ein Terminal-Fenster:

    sudo apt-offline set --update --upgrade-type dist-upgrade apt-offline.sig 
  2. Mit installiertem apt-offline auf dem Computer mit Internetzugang benutzt man die Datei apt-offline.sig zum Herunterladen der Software, die der unverbundene Computer zum Aktualisieren benötigt. Im Verzeichnis auf dem USB-Speicher, der diese Datei enthält, öffnet man ein Terminalfenster und führt folgenden Befehl aus:

    apt-offline get --bundle bundle.zip apt-offline.sig 

    Wenn der Vorgang abgeschlossen ist, entfernt man den USB-Speicher wieder und bringt ihn zurück zum unverbundenen Computer.

  3. Am Computer ohne Internetverbindung steckt man USB-Flashspeicher ein und navigiert zum Verzeichnis mit den beiden Dateien. Nun öffnet man ein Terminalfenster, um folgenden Befehl zu starten:

    sudo apt-offline install bundle.zip 

    Sobald der Befehl vollständig ausgeführt worden ist, sind die Paketquellen aktuell.

  4. Nun nimmt man die Aktualisierung vor:

    sudo apt dist-upgrade 

Installieren eines Pakets

Man kann apt-offline auch dazu nutzen, um ein einzelnes Paket zum Installieren herunterzuladen. Diese Aktion wird auch hier mit dem Aktualisieren der Paketquellen kombiniert.

Im folgenden Beispiel soll ein neues Programmpaket PAKETNAME installiert werden. Ziemlich häufig erfordert das Installieren eines Pakets auch die Installation von Abhängigkeiten in Form zusätzlicher Pakete. Apt-offline übernimmt das Auflösen dieser Abhängigkeiten.

  1. Man verbindet den USB-Speicher mit dem Computer, navigiert zum Verzeichnis des USB-Speichers und öffnet hier ein Terminal-Fenster:

    sudo apt-offline set --install-packages PAKETNAME --update apt-offline.sig 
  2. Mit installiertem apt-offline auf einem Computer mit Internetverbindung benutzt man diese Datei zum Herunterladen und Installieren von PAKETNAME. Im Ordner, der die Datei apt-offline.sig enthält, öffnet man ein Terminalfenster und führt folgenden Befehl aus:

    apt-offline get --bundle bundle.zip apt-offline.sig 

    Wenn der Vorgang abgeschlossen ist, entfernt man den USB-Speicher und bringt ihn zum unverbundenen Computer zurück.

  3. Am Computer ohne Internetverbindung steckt man den USB-Speicher ein. Im Ordner, der die beiden Dateien enthält, öffnet man ein Terminalfenster und führt folgenden Befehl aus:

    sudo apt-offline install bundle.zip 

    Sobald der Vorgang abgeschlossen ist, sind die Paketquellen aktuell.

  4. Nun kann man mit dem Installieren von PAKETNAME fortfahren, in dem man den folgenden Befehl eingibt:

    sudo apt install PAKETNAME 

Grafische Oberfläche

./apt-offline-gui.png Wenn die grundlegenden Vorgänge verstanden worden sind, kann man alternativ zur Kommandozeilenversion auch eine ausschließlich englischsprachige grafische Oberfläche nutzen. Diese verwendet die Grafikbibliothek Qt4 als Grundlage.

  • apt-offline-gui (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install apt-offline-gui 

Oder mit apturl installieren, Link: apt://apt-offline-gui

Anschließend kann man das Programm bei Ubuntu-Varianten mit einem Anwendungsmenü über den Eintrag "System → APT Offline" starten [4]. Das Programm bietet über die drei Schaltflächen:

  • "Generate Signature" - auf dem Rechner ohne Internetverbindung

  • "Download Packages or Updates" - auf dem Rechner mit Internetverbindung

  • "Install Packages or Updates" - auf dem Rechner ohne Internetverbindung

exakt die oben beschriebene Funktionalität der Kommandozeilenversion.

Problembehebung

Unterschiedliche Programmversionen

Bedingt durch unterschiedliche Ubuntu-Versionen enthalten die offiziellen Paketquellen auch unterschiedliche Versionen von apt-offline. Um Fehlerquellen auszuschließen, ist es empfehlenswert, möglichst die aktuelle Version oder zumindest identische Versionen auf beiden beteiligten Rechnern zu nutzen.

Da es sich bei apt-offline letztlich nur um ein Python-Skript handelt, kann man das Paket herunterladen ⮷ und manuell installieren.

Unterschiedliche Systemarchitekturen

Idealerweise sollten beide Rechner die gleiche Systemarchitektur besitzen. Kombinationen aus 32- und 64-bit-Rechnern wurden im Rahmen dieses Artikels nicht getestet.

Windows zum Herunterladen nutzen

Prinzipiell kann man auch einen Computer mit Microsoft Windows benutzen, um mit apt-offline die Datei bundle.zip zu erstellen. Allerdings enthält Windows im Gegensatz zu Debian und Ubuntu kein Python.

Anstatt Python unter Windows nachzuinstallieren, ist es in der Praxis wesentlich einfacher, sich einen USB-Stick mit Debian bzw. Ubuntu zu erstellen und einen mit dem Internet verbundenen Rechner über diesen zu starten. Nun kann man apt-offline wie oben beschrieben nutzen. Anschließend entfernt man den USB-Stick und bootet den Rechner neu, um wieder Windows zu starten.

Normalerweise benötigt man bei dieser Variante ein zweiten USB-Stick, da auf Live-USB-Sticks nichts dauerhaft abgespeichert werden kann. Einfacher wird es mit einer Installation auf externen Speichermedien, die diese Einschränkung aufhebt.

Diese Revision wurde am 20. März 2021 21:05 von icke68746 erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Paketverwaltung, Installation, Shell, System, Qt