Ist es möglich, Pakete/Software unter Linux auf einen anderen Computer zu kopieren und einzufügen?

Ist es möglich, Pakete/Software unter Linux auf einen anderen Computer zu kopieren und einzufügen?

Hier ist ein Beispielszenario:

Beginnen Sie in einem neuen Verzeichnis, beispielsweise /myapps . Installieren Sie ein separates (vorkompiliertes oder Quell-) Python, beispielsweise in ./usr/bin (relativ zum Installationsverzeichnis und nicht zum System /usr/bin) und installieren Sie verschiedene Eggs in diesem benutzerdefinierten Python. Dies kann beispielsweise mit etwas wie buildout erfolgen.

Wenn nun ein anderer Benutzer mit derselben Betriebssystemversion den Ordner einfach per rsync synchronisiert und dabei die exakte Ordnerstruktur beibehält, kann er dann Python genauso verwenden wie der andere Benutzer? Muss er wirklich alles erneut installieren?

Ich dachte, die meisten Linux-Paketmanager funktionieren so mit /myapps analog zu /usr, also einer Standardkonvention, wo Dateien gespeichert werden sollen. Die Kompilierung ist nicht zwingend erforderlich, es sei denn, Sie möchten wie bei der Gentoo-Installation optimieren. Mit anderen Worten, ich denke, die meisten Paketmanager machen Folgendes:

1) Anforderungscheck

2) Kopieren/Einfügen von vorkompiliertem Material an einen Standardspeicherort wie /usr/lib /usr/bin

3) Führen Sie ein Menü-Update durch

Einige Voraussetzungen in der ersten Maschine:

Installieren Sie alles innerhalb dieses Verzeichnisses und nicht außerhalb davon. Es wird als normaler Benutzer und ohne sudo ausgeführt.

Ich denke, dass dies unter Windows aufgrund der Registrierung usw. schwierig sein wird, da ich nicht sicher bin, ob es dem normalen Dateisystemkonzept entspricht. Aber sollte dies unter *nix genauso einfach funktionieren?

Antwort1

Das ist durchaus möglich (aber normalerweise erzielen Sie dasselbe Ergebnis, wenn Sie virtualenv erstellen und Ihre gesamte Virtualenv-Root bündeln). Sie werden in Schwierigkeiten geraten, wenn einige Python-Pakete externe Bibliotheken benötigen und andere Benutzer diese nicht installiert haben (deshalb machen Sie das normalerweise mit virtualenv und pip bundle/pip freeze).

Der Paketmanager führt sogenannte Installationsskripte aus. Sie können beliebigen Code enthalten, fügen aber normalerweise erforderliche Benutzer/Gruppen hinzu und bearbeiten einige andere Konfigurationen (weil Sie eine Zeile in der Konfiguration nicht „installieren“ können; die Bewegung, alle *.conf's in *.conf.d aufzuteilen, hilft ein wenig, aber wir sind noch nicht einmal annähernd fertig), aber mit den meisten Python-Paketen werden Sie keine Probleme haben.

verwandte Informationen