GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Können aus dem Quellcode erstellte Binärdateien auf einem zweiten Computer installiert werden?

Ich bin mir nicht sicher, ob dies der beste Ort ist, um diese Frage zu stellen. Bitte weisen Sie mich in die richtige Richtung, wenn es einen besseren Ort gibt.

Nehmen wir hypothetisch an, dass ich zwei Maschinen habe – A ist eine Entwicklungsmaschine und B eine Produktionsmaschine. A hat Software wie einen Compiler, der zum Erstellen von Software aus dem Quellcode verwendet werden kann, während B dies nicht tut.

Auf A kann ich einfach Software aus dem Quellcode erstellen, indem ich der üblichen Routine folge:

./configure
make

Dann kann ich die erstellte Software auf A installieren, indem ich sudo make install ausführe . Was ich jedoch wirklich gerne tun würde, ist die Software zu installieren, die ich gerade auf B erstellt habe. Wie geht das am besten?

Es gibt ein paar Optionen, die ich in Betracht gezogen habe:

  1. Verwenden Sie einen Paketmanager, um Software auf B zu installieren:Dies ist keine Option für mich, da die im Paketmanager verfügbare Software sehr veraltet ist.
  2. Installieren Sie den Compiler und andere Build-Tools auf B:Ich möchte aufgrund verschiedener Einschränkungen lieber keine Build-Tools auf dem Produktionscomputer installieren.
  3. Kopieren Sie die Binärdateien manuell von A nach B:Dies ist fehleranfällig, und ich möchte sicherstellen, dass die Binärdateien auf allen Produktionsmaschinen einheitlich installiert werden.
  4. Nur make installieren Übertragen Sie auf B das Quellverzeichnis und führen Sie sudo make install aus zu B:Dies ist die beste Lösung, die ich bisher gefunden habe, aber aus irgendeinem Grund (vielleicht Uhr-Offsets) make wird versuchen, die Software neu zu erstellen, die bereits hätte erstellt werden sollen, was fehlschlägt, da die Erstellungswerkzeuge nicht auf B installiert sind. Da meine Maschinen auch schreckliche E/A-Geschwindigkeiten haben, dauert die Übertragung des Quellverzeichnisses sehr lange .

Was wirklich nett wäre, wäre, wenn es eine Möglichkeit gäbe, eine Art Paket zu erstellen, das die erstellten Binärdateien enthält, die übertragen und ausgeführt werden können, um die Binärdateien und Konfigurationsdateien zu installieren. Gibt es ein solches Tool?

Akzeptierte Antwort:

Wenn Sie das verwenden, was Sie bisher haben, und wenn das Makefile mit GNU Autotools generiert wird, würde ich den Zielspeicherort oder Installationspfad festlegen mit

./configure --prefix=/somewhere/else/than/the/usual/usr/local

und dann ausführen

make && make install

und kopieren Sie schließlich die Dateien aus dem Präfixordner in den usr/ Ordner auf dem anderen Rechner. Dies setzt voraus, dass beide Maschinen die gleiche Architektur haben, wenn nicht, dann verwenden Sie die entsprechende Cross-Toolchain.

Verwandte:Gibt es eine Möglichkeit, xargs über eine Pipe zu verwenden?
Linux
  1. Pakete aus nicht vertrauenswürdiger Quelle entfernen und neu installieren?

  2. Wann sollte man aus dem Quellcode kompilieren und installieren?

  3. Openssl von der Quelle installieren?

  4. So installieren Sie Apache 2.4.2 von der Quelle auf CentOS 6.2 mit SSL

  5. Wie kann ich eine auf einem Linux-Rechner installierte OpenGL-Anwendung von meinem Windows-Rechner aus ausführen?

So installieren Sie die neueste OpenSSL-Version von Source unter Linux

So installieren Sie ein Programm von der Quelle unter Linux

So entfernen Sie Programme, die mit GNU Stow in Linux aus der Quelle installiert wurden

So installieren Sie Software von der Quelle in Linux

So installieren Sie Software aus dem Quellcode … und entfernen sie anschließend

Wenn ich kann, wie installiere ich Ubuntu von Ubuntu?