Компиляция программного обеспечения с теми же параметрами, что и в предыдущей установке

Компиляция программного обеспечения с теми же параметрами, что и в предыдущей установке

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

Связанный контент