我想在新的虚拟机上编译并安装软件。该软件已由不同的管理员在不同的虚拟机上成功安装,但我想使用他使用的选项复制确切的命令。这可能吗?顺便说一句,他运行的文件夹./configure
仍然完好无损。
答案1
如果之前运行的整个目录./configure
完整无缺,那么该目录中将有一个名为config.status
.该config.status
文件是在./configure +args
运行时生成的,它记录了运行的参数。如果您想要做的所有事情都完全相同,并且新系统具有所有依赖项,那么您有多种选择。
- 您可以 tar/gzip 整个目录,将 tarball 复制到新系统,解压它,然后运行
make install
以简单地重新安装以前创建的对象。如果系统足够相似(架构/操作系统),这应该可行。 - 您可以 tar/gzip 整个目录,将 tarball 复制到新系统,解压它,然后运行脚本
./config.status
重做之前的所有./configure
工作,从而允许您运行干净的make
、make test
、 和make install
. - 您还可以使用先前管理员的确切参数进行完全干净的构建,方法是运行
cp config.status myconfigure
、make clean
、make distclean
,然后运行./myconfigure
重做全部工作。
即使您在不同的 Linux 发行版之间切换,或者从 Linux 切换到 Solaris 或 FreeBSD,或者从 32 位切换到 64 位,最后一个选项也可以工作,前提是事先满足所有软件的依赖关系。
通过复制config.status
到新文件名(例如 )myconfigure
,您可以通过任何make clean
, 或make distclean
命令保留该文件。