Programme offline installieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
isochor
Beiträge: 3
Registriert: 25.08.2020 22:08:47

Programme offline installieren

Beitrag von isochor » 25.08.2020 22:33:01

Hallo Leute,

auf der Arbeit nutzen wir für die Entwicklung von Hardware einen Debian-Rechner. Dieser wird offline betrieben, hat daher keinen Zugang zum Internet. Mit unseren Windows 7 Rechnern konnten wir noch einen Tunnel aufbauen und über das SSH-Protokoll über Putty unsere apt-get Befehle durchführen.

Seit wir Windows 10 auf der Arbeit haben, sind die Firewallregeln restriktiver und wir können diesen Weg daher nicht mehr gehen. Wir müssen aber in der Lage sein, Programme installieren zu können. Kleine Programme wie htop habe ich mit meinem Windowsrechner heruntergeladen, auf dem Debianrechner abgelegt und dieses Programm dann über dpkg installiert.

Anspruchsvollere Programme wie z.B. Wireshark oder Visual Code kann ich allerdings nicht ohne weiteres mit einer .deb installieren, da viele Abhängigkeiten fehlen. Wenn ich versuche, die Abhängigkeiten manuell zu installieren, gerate ich ziemlich schnell an Grenzen, da Zirkelabhängigkeiten bestehen. Auch der Versuch das Programm selbst zu kompilieren, in dem der Quellcode statt des Binärpakets (.deb) zu Grunde gelegt wurde, war aus gleichen Gründen nicht erfolgreich.

Ich habe mal privat linux from scratch durchexerziert und weiß, dass in diesen Fällen "dummy Bibliotheken" installiert werden. Das System denkt, er hätte eine Library, während die Library selbst eigentlich keinen Inhalt hat. Dadurch lässt sich die "circular dependency" vermeiden.

Nur bei Linux from scratch habe ich eine Anleitung. In der echten Welt nicht. Ich weiß auch gar nicht, ob es ratsam ist, diesen Weg zu begehen.

Muss ich eigentlich mein eigener Paketmanager sein, wenn ich keine Verbindung zum Internet habe oder gibt es vielleicht doch eine ganz triviale Lösung?

VIelen Dank!

thoerb
Beiträge: 1677
Registriert: 01.08.2012 15:34:53
Lizenz eigener Beiträge: MIT Lizenz

Re: Programme offline installieren

Beitrag von thoerb » 25.08.2020 22:40:29

Du kannst dir doch einfach die DVDs brennen und dann offline mit apt von der DVD installieren.

isochor
Beiträge: 3
Registriert: 25.08.2020 22:08:47

Re: Programme offline installieren

Beitrag von isochor » 25.08.2020 22:53:19

Ich kann ja jedes Programm mit dem Windowsrechner downloaden und auf den Linuxrechner ablegen. Wo ist der Unterschied zu einer DVD?

Der entsprechende Versuch sah so aus:
sudo apt install /PFAD/ZUR/PAKETDATEI.deb

Ich weiß, dass es bei der Installation von Wireshark Probleme bei der Installation gab aufgrund von fehlenden Abhängigkeiten. Ich ging immer davon aus, dass in einer .deb Datei alle notwendigen Abhängigkeiten mitgeliefert werden :roll: . Die Fehlermeldung könnte ich morgen mal hier rein kopieren

thoerb
Beiträge: 1677
Registriert: 01.08.2012 15:34:53
Lizenz eigener Beiträge: MIT Lizenz

Re: Programme offline installieren

Beitrag von thoerb » 25.08.2020 23:05:21

isochor hat geschrieben: ↑ zum Beitrag ↑
25.08.2020 22:53:19
Ich kann ja jedes Programm mit dem Windowsrechner downloaden und auf den Linuxrechner ablegen. Wo ist der Unterschied zu einer DVD?
Ich habe selbst schon lange nicht mehr von DVD installiert, aber auf den DVDs ist halt alles drauf und du musst es dir nicht einzeln herunterladen und dir Gedanken um Abhängigkeiten machen.

Wie man mit Debianapt aus den Debian-Quellen installiert ist dir bekannt?

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Programme offline installieren

Beitrag von eggy » 25.08.2020 23:08:12

isochor hat geschrieben: ↑ zum Beitrag ↑
25.08.2020 22:53:19
Ich weiß, dass es bei der Installation von Wireshark Probleme bei der Installation gab aufgrund von fehlenden Abhängigkeiten. Ich ging immer davon aus, dass in einer .deb Datei alle notwendigen Abhängigkeiten mitgeliefert werden :roll: . Die Fehlermeldung könnte ich morgen mal hier rein kopieren
In den debs (genauer in der control, die benutzt wird, um aus dem src ein deb zu bauen) steht drin, welche Abhängigkeiten es gibt, das Auflösen der Abhängigkeiten ist Aufgabe des Paketmanagements, das installiert die entsprechenden Pakete, die gebraucht werden um die Abhängigkeiten zu erfüllen. Also: Du lädst händisch nen deb, Installieren klappt dann problemlos, wenn die Abhängigkeiten bereits erfüllt sind oder es einfach keine gibt. Bei nen komplexeren Fall (wireshark) hast Du vermutlich ne Menge noch nicht vorhandener Libs etc gehabt. "apt-get install wireshark --print-uris" sollte zeigen, was fehlt, die Liste kann man speichern und extern runterladen. Die Idee mit der DVD ist aber nicht schlecht, darauf sind viele Pakete vorhanden, d.h. wenn Du was installierst, kann es die Abhängigkeiten von der/den DVD nehmen (vermutlich brauchst Du für nen Dev-Rechner nicht nur die erste).

isochor
Beiträge: 3
Registriert: 25.08.2020 22:08:47

Re: Programme offline installieren

Beitrag von isochor » 25.08.2020 23:16:55

@ thoerb ja ich wuschtel mich mit apt durch. Privat nutze ich Linux Mint aber mehr als das was unter https://wiki.ubuntuusers.de/apt/apt-get/ steht, nutze ich auch nicht. Meistens laufen die Programme. Im Fehlerfall ist aber das Problem hier schnell gelöst.

@eggy -print-uris werde ich morgen mal ausprobieren.

Vielen Dank euch beiden!

tobo
Beiträge: 1997
Registriert: 10.12.2008 10:51:41

Re: Programme offline installieren

Beitrag von tobo » 25.08.2020 23:17:25

isochor hat geschrieben: ↑ zum Beitrag ↑
25.08.2020 22:53:19
Ich kann ja jedes Programm mit dem Windowsrechner downloaden und auf den Linuxrechner ablegen. Wo ist der Unterschied zu einer DVD?
Der Unterschied ist, dass du die DVDs in der sources.list einbinden kannst und dann diese DVDs als Datenquelle nimmst. Genauso wird ja z.B. auch bei einem entsprechendem Installationsmedium verfahren. Und besorgt man sich auch noch die Update-DVD(s), dann kann man das gesamte System aktuell halten, obwohl der Rechner nicht im Netz ist.
Der entsprechende Versuch sah so aus:
sudo apt install /PFAD/ZUR/PAKETDATEI.deb
Das geht auch. Du musst halt nur vorher auf der Maschine schauen, was er gerne als Abhängigkeiten installieren will (apt-get -s install PAKET), das dann auf einem verbundenen Rechner besorgen (apt-get download PAKET+Abhängigkeiten) und auf dem anderen Recher dann per lokalem Repository bereitstellen oder direkt per (apt install ./PAKET) installieren.
Ich ging immer davon aus, dass in einer .deb Datei alle notwendigen Abhängigkeiten mitgeliefert werden
Das hört sich wie eine Programm-Setup-Datei für ein Windows-Installation an. In Linux sind die notwendigen Abhängigkeiten eigenständige deb-Paketdateien.

Benutzeravatar
tegula
Beiträge: 439
Registriert: 04.06.2004 13:51:04
Lizenz eigener Beiträge: MIT Lizenz

Re: Programme offline installieren

Beitrag von tegula » 27.08.2020 07:37:36

Debianapt-offline [1] [2] wäre eine weitere Möglichkeit:
https://packages.debian.org/buster-backports/apt-offline hat geschrieben: apt-offline can fully update and upgrade an APT based distribution without connecting to the network, all of it transparent to APT.

apt-offline can be used to generate a signature on a machine (with no network). This signature contains all download information required for the APT database system. This signature file can be used on another machine connected to the internet (which need not be a Debian box and can even be running windows) to download the updates. The downloaded data will contain all updates in a format understood by APT and this data can be used by apt-offline to update the non-networked machine.

apt-offline can also fetch bug reports and make them available offline.
Wenn du auf dem für den Datenaustauch verwendeten USB-Stick eine portable Python-Umgebung (z. B. WinPython [3]) installierst, dann ist es auch unter Windows nutzbar :-).

[1] https://github.com/rickysarraf/apt-offline
[2] https://wiki.ubuntuusers.de/apt/apt-offline/
[3] https://winpython.github.io/

fbartels
Beiträge: 326
Registriert: 20.08.2009 10:06:56
Kontaktdaten:

Re: Programme offline installieren

Beitrag von fbartels » 27.08.2020 09:04:51

thoerb hat geschrieben: ↑ zum Beitrag ↑
25.08.2020 22:40:29
mit apt von der DVD installieren.
Oder einfach ein lokales Repository erstellen. Ich habe dafür folgendes Skript in meinen dotfiles:

Code: Alles auswählen

#!/bin/bash

read -p "Create a local apt repo from the current dir? (y/n) " RESP
if [ "$RESP" = "y" ]; then
        apt-ftparchive packages . | gzip -9c > Packages.gz
fi

echo "To use this repo just add the following line to /etc/apt/sources.list:"
echo "deb [trusted=yes] file:$(pwd) ./"
echo
Nachdem der Eintrag in der sources.list ist kann ganz einfach apt update && apt install package genutzt werden.

Wobei ich das generelle Setup fragwürdig finde. Da hat man einen Rechner ohne direkten Internetzugang mit dem Hardware Entwicklung betrieben wird. Diese Einschränkung existiert damit eben jene Entwicklungsumgebung (und damit auch die entwickelte Hardware) nicht kompromittiert wird. Und dann ist es dennoch erlaubt dass Entwickler einfach Pakete aus dem Internet laden, auf das System kopieren und dort installieren?

stevepega
Beiträge: 1
Registriert: 27.10.2023 12:13:00

Re: Programme offline installieren

Beitrag von stevepega » 27.10.2023 12:16:30

isochor hat geschrieben: ↑ zum Beitrag ↑
25.08.2020 22:33:01
Hallo Leute,

auf der Arbeit nutzen wir für die Entwicklung von Hardware einen Debian-Rechner. Dieser wird offline betrieben, hat daher keinen Zugang zum Internet. Mit unseren Windows 7 Rechnern konnten wir noch einen Tunnel aufbauen und über das SSH-Protokoll über Putty unsere apt-get Befehle durchführen.

Hallo isochor, wie ging das über ssh Tunnel?
mit python scipten hab ich das schon geschafft
Grüße Stefan

Antworten