実行ファイルを別の Linux マシンに移植可能

実行ファイルを別の Linux マシンに移植可能

1 台の Linux マシン (M1) に Motion プログラムをインストールしましたが、同じプログラムを別のマシン (M2) にもインストールしたいと考えています。

このプログラムにはさまざまなビルドがあり、どれを使用したか忘れてしまったので、M1 の user/bin/motion ファイルをそのままコピーして、M2 の user/bin/motion に配置することはできますか?

設定ファイルの場所はわかっているので、それを移動しますが、M2 で動作しているバージョンの motion がどのビデオ ドライバーを使用しているかはわかりません。調べる方法はありますか?

依存関係を確認する方法はありますか?

答え1

あるプログラムを他のコンピュータに移動するには、以下を移動する必要があります。

1) 実行ファイル
コマンド パスを見つける簡単な方法は、typeコマンドです。

例えば:type cal

calは/usr/bin/calです

2) ライブラリの依存関係
コマンドを使用してライブラリの依存関係を見つけることができますlddが、ソースからプログラムをコンパイルした場合は、両方のサーバーの CPU アーキテクチャが同じである必要があることに注意してください。

例えば: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) 設定ファイル
新しいサーバーでは、構成ファイルが以前のサーバーに属しているため、プログラムに構成ファイルを再作成するように指示する必要がある場合があります。

4) ハードウェア依存性の確認
これを確認するには、プログラムの Web サイトでサポートされているハードウェアを確認するか、新しい環境でプログラムをテストする必要があると思います。

関連情報