[[Vorlage(getestet, focal)]] {{{#!vorlage Wissen [:sudo: Root-Rechte erlangen] [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Programme_starten:] optional [:Editor: Einen Editor verwenden] optional }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [https://rickysarraf.github.io/apt-offline/ apt-offline] {en} 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 [#Grafische-Oberflaeche 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. ## * Verwenden Sie nicht das Kommandozeilenargument `-y` bei den Paketaktualisierungen; so haben Sie eine letzte Möglichkeit, Ihre Aktualisierungen zu prüfen, ob irgendeins der oben genannten Probleme auftritt. * 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 = [[Bild(Wiki/Icons/synaptic.png, 48, align=right)]] Das Programm ist Bestandteil der offiziellen Paketquellen. Folgendes Paket muss installiert werden [2]: {{{#!vorlage Paketinstallation apt-offline, universe }}} = 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. {{{#!vorlage 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: {{{#!vorlage Befehl 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. 1. 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: {{{#!vorlage 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. 1. 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: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl sudo apt-offline set --update --upgrade-type dist-upgrade apt-offline.sig }}} 1. 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: {{{#!vorlage Befehl 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. 1. 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: {{{#!vorlage Befehl sudo apt-offline install bundle.zip }}} Sobald der Befehl vollständig ausgeführt worden ist, sind die Paketquellen aktuell. 1. Nun nimmt man die Aktualisierung vor: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl sudo apt-offline set --install-packages PAKETNAME --update apt-offline.sig }}} 1. 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: {{{#!vorlage Befehl 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. 1. 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: {{{#!vorlage Befehl sudo apt-offline install bundle.zip }}} Sobald der Vorgang abgeschlossen ist, sind die Paketquellen aktuell. 1. Nun kann man mit dem Installieren von `PAKETNAME` fortfahren, in dem man den folgenden Befehl eingibt: {{{#!vorlage Befehl sudo apt install PAKETNAME }}} == Grafische Oberfläche == [[Bild(./apt-offline-gui.png, 250, align=right)]] 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 [:Qt:Qt4] als Grundlage. {{{#!vorlage Paketinstallation apt-offline-gui, universe }}} 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 [#Verwendung 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 [packages:apt-offline:Paket] [http://archive.ubuntu.com/ubuntu/pool/universe/a/apt-offline/ herunterladen] {dl} 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. = Links = * [man:apt-offline:Manpage] {en} * [github:rickysarraf/apt-offline:Quellcode] {en} * [https://docs.xubuntu.org/ Kapitel 10. Netzlose Paketverwaltung] {de} - Xubuntu Dokumentation * [ubuntu_fr:apt-offline:] im franz. Ubuntu-Wiki * [:APT:] {Übersicht} Übersichtsseite zum Advanced Package Tool * [:Paketverwaltung:] {Übersicht} Übersichtsartikel # tag: Shell, System, Paketverwaltung, Installation, Qt