我想在新的虛擬機器上編譯並安裝軟體。該軟體已由不同的管理員在不同的虛擬機器上成功安裝,但我想使用他使用的選項複製確切的命令。這可能嗎?順便說一句,他運行的資料夾./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
命令保留該檔案。