reg*_*gie 11 libraries dependencies executable portability
我已经在一台 Linux 机器 (M1) 上安装了程序 Motion,并希望在另一台 (M2) 上安装相同的程序。
这个程序有多种版本,我忘记了我用过哪个版本,所以我可以直接从 M1 复制 user/bin/motion 文件并将其放在 M2 的 user/bin/motion 中吗?
我知道配置文件在哪里,所以我会移动它,但我不确定运动的工作版本在 M2 上使用什么视频驱动程序;有什么办法可以查到吗?
有没有办法找出它的依赖关系?
Sep*_*our 12
要将一个程序移动到另一台计算机,您必须移动:
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)检查硬件依赖性
为了检查这个我认为你必须检查程序的网站以支持硬件或者你必须在新环境中测试程序。