Offline-VPN-Pakete: Fragen Sie das Ziel, was es braucht
Lassen Sie die getrennte Maschine ihren eigenen Abhängigkeitssatz beschreiben. Zwei Runden, Anfrage und dann Import, gefolgt von der APT-Transaktion, die Sie noch ausführen müssen.
Sie brauchen den VPN-Client, um das Netzwerk zu erreichen, das seine Pakete normalerweise liefern würde, und das ist ein hübscher kleiner Kreis. Ein einzelnes OpenVPN-DEB auf einer anderen Maschine herunterzuladen, endet meist mit einer zweiten fehlenden Abhängigkeit, dann einer dritten und dann einem Abend, an dem man Bibliotheksversionen hinterherjagt. Die Alternative besteht darin, die getrennte Maschine selbst in ihren eigenen Begriffen sagen zu lassen, was ihr Paketmanager braucht. Alles Folgende ergibt sich aus dieser Umkehrung der Frage, wer fragt.
Bei Systemen der Debian-Familie läuft dieses Gespräch über apt-offline, einen Ablauf aus Anfrage und Rückgabe. Dessen eigene Laufzeitumgebung muss zuerst auf dem Ziel vorhanden sein, installiert von freigegebenen Datenträgern oder einem anderen, vom Administrator gesteuerten Bootstrap, denn kein Werkzeug kann sich selbst aus dem Nichts bootstrappen.
Beginnen Sie beim Paketzustand des Ziels, nicht bei dem des Helfers
Notieren Sie vor allem anderen die Distributionsversion des Ziels, die Architektur des Userspace und die konfigurierten Paketquellen. Diese drei Fakten entscheiden, welche VPN-Implementierung und welche Desktop-Integration passend sind, und es sind die Fakten, die ein verbundener Helfer nicht liefern kann.
Der Helfer lädt Dateien herunter; er wird nicht zur Abhängigkeitsbasis. Ein neueres Notebook, auf dem OpenVPN bereits installiert ist, hat einen völlig anderen Paketzustand als das Ziel, sodass sein Erfolg nichts darüber beweist, was das Ziel akzeptieren kann.
Entscheiden Sie außerdem, was Sie eigentlich wollen. Die VPN-Engine, ein Dienst-Plugin für NetworkManager und ein grafischer Editor sind getrennte Pakete, und die richtige Auswahl hängt von der Version und davon ab, wie der Benutzer die Verbindung verwalten wird. Ein Server ohne Bildschirm braucht die Engine und eine Konfigurationsdatei; ein Desktop braucht das Plugin, das seine Netzwerkeinstellungen den Tunnel besitzen lässt. Die falsche Gruppe anzufordern, ergibt eine Installation, die gelingt, und eine Verbindung, die niemand starten kann.
Zwei Runden, in dieser Reihenfolge
Das Handbuch trennt drei Vorgänge: eine Anfrage auf dem getrennten System erzeugen, auf einem verbundenen Helfer herunterladen und auf dem Ziel wieder importieren. Aktualisieren Sie die Repository-Metadaten des Ziels, bevor Sie Pakete anfordern, denn die Paketanfrage wird aus diesen Metadaten gebaut, und veraltete Indizes erzeugen Anfragen, die der Helfer nicht erfüllen kann.
Auf dem Ziel schreibt ein Administratorkommando der Form apt-offline set vpn-meta.sig --update die Aktualisierungsanfrage. Bringen Sie diese Datei auf die verbundene Maschine und laden Sie ein Bündel mit apt-offline get vpn-meta.sig --bundle vpn-meta.zip herunter. Bringen Sie das Bündel zurück und importieren Sie es auf dem Ziel mit apt-offline install vpn-meta.zip, wieder als Administrator.
Erzeugen Sie nun die Paketanfrage aus den aktualisierten Metadaten, zum Beispiel apt-offline set vpn-deps.sig --install-packages openvpn, und wiederholen Sie die Reise mit einem neuen Bündelnamen. Halten Sie jede Anfrage mit dem Bündel zusammen, das sie erzeugt hat; ein Bündel, das gegen ältere Metadaten erzeugt wurde, ist nicht dieselbe Anfrage, auch wenn die Dateinamen austauschbar wirken.
Fügen Sie die Integrationspakete nur hinzu, wenn das Design sie braucht
Wenn der Desktop den Tunnel über seine Netzwerkeinstellungen verwalten soll, braucht die Anfrage das passende Plugin ebenso wie die Engine. Nehmen Sie die konkreten Paketnamen auf, die Ihre Version bereitstellt, statt einer Liste, die aus einer anderen Distribution erinnert wird, und erzeugen Sie eine neue Anfrage, wann immer sich die Liste ändert. Auch das Festnageln von Versionen verdient einen Gedanken: Ein für eine neuere Version gebautes Paket kann den Namen erfüllen und zur Laufzeit trotzdem scheitern. Hier wird ein fester Satz von vier Paketen zur Last, denn die richtige Liste ist eine Eigenschaft des Ziels, und nur das Ziel kann sie berechnen.
Auch hier wird ein fester Satz von vier Paketen zur Last. Die richtige Liste ist eine Eigenschaft des Ziels, und das Ziel ist die einzige Maschine, die sie korrekt berechnen kann.
Ein Bündel zu importieren ist nicht das Installieren des VPN
Trotz des Namens legt der Installationsvorgang APT-Daten in der Paketverwaltungsumgebung ab. Er führt die Pakettransaktion nicht aus. Schließen Sie die tatsächliche APT-Installation des Ziels aus den lokal bereitgestellten Daten ab und prüfen Sie sie, und lesen Sie die Ausgabe, statt anzunehmen, der Erfolg des ZIP bedeute, dass die Software vorhanden ist.
Fordert diese Transaktion weiterhin nicht verfügbare Dateien an, halten Sie die konkrete fehlende Abhängigkeit oder den Repository-Fehler fest und erzeugen Sie daraus die nächste Anfrage. Ersetzen Sie kein DEB aus einer anderen Version, und deaktivieren Sie keine Prüfsummen- oder Repository-Authentifizierungsprüfungen, um es durchzudrücken. Das Handbuch warnt ausdrücklich davor, die Überprüfung heruntergeladener Dateien zu überspringen, und das zu Recht: Ein ungeprüftes Paket ist ein schlechteres Ergebnis als eine fehlgeschlagene Installation.
Pakete sind nur die erste Hälfte
Software zu installieren ist davon getrennt, den freigegebenen Endpunkt, das Profil, das Vertrauensmaterial und die Anmeldedaten zu beschaffen, und jedes davon kann eine eigene kontrollierte Übergabe haben. Ein funktionierender Paketsatz ohne gültiges Profil verbindet sich mit nichts.
Halten Sie dann den Offline-Übertragungsweg für künftige Aktualisierungen am Leben. Die erste erfolgreiche Verbindung als Ende der Wartung zu betrachten, bedeutet, dass die nächste Sicherheitsaktualisierung wartet, bis jemand mit einem Auto vorbeikommen kann, und so fällt ein Offline-Netzwerk still um Jahre zurück.