Я хочу скомпилировать и установить программное обеспечение на новой виртуальной машине. Программное обеспечение было успешно установлено на другой виртуальной машине другим администратором, но я хочу продублировать точную команду с параметрами, которые он использовал. Это возможно? Кстати, папка, из которой он запускал, ./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
.