Portabilität einer ausführbaren Datei auf eine andere Linux-Maschine

Portabilität einer ausführbaren Datei auf eine andere Linux-Maschine

Ich habe das Programm Motion auf einer Linux-Maschine (M1) installiert und möchte das gleiche Programm auf einer anderen (M2).

Es gibt verschiedene Builds dieses Programms und ich habe vergessen, welches ich verwendet habe. Kann ich also eine direkte Kopie der User/Bin/Motion-Datei von M1 erstellen und sie in die User/Bin/Motion-Datei von M2 einfügen?

Ich weiß, wo die Konfigurationsdatei ist, also werde ich sie verschieben, aber ich bin nicht sicher, welche Grafiktreiber die funktionierende Version von Motion auf M2 verwendet. Gibt es eine Möglichkeit, das herauszufinden?

Gibt es eine Möglichkeit, die Abhängigkeiten herauszufinden?

Antwort1

Um ein Programm auf einen anderen Computer zu verschieben, müssen Sie Folgendes verschieben:

1) Ausführbare Datei
Eine einfache Möglichkeit zum Finden des Befehlspfads ist typeder Befehl.

Zum Beispiel:type cal

cal ist /usr/bin/cal

2) Bibliotheksabhängigkeiten
Sie können Bibliotheksabhängigkeiten mit ldddem Befehl finden. Denken Sie jedoch daran, dass die CPU-Architektur beider Server identisch sein muss, wenn Sie ein Programm aus dem Quellcode kompiliert haben.

Zum Beispiel:ldd date

linux-vdso.so.1 => (0x00007fff83dff000)
librt.so.1 => /lib64/librt.so.1 (0x0000003784e00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003783e00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003784200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003783a00000)

3) Konfigurationsdateien
Auf einem neuen Server müssen Sie dem Programm möglicherweise mitteilen, dass die Konfigurationsdateien neu erstellt werden sollen, da diese Konfigurationsdateien zum vorherigen Server gehören.

4) Überprüfen der Hardwareabhängigkeit
Um dies zu überprüfen, müssen Sie meiner Meinung nach auf der Website des Programms nachsehen, welche Hardware unterstützt wird, oder Sie müssen das Programm in einer neuen Umgebung testen.

verwandte Informationen