inux上幾乎所有的軟件都經過了gpl授權,因此幾乎所有的軟件都會提供源碼。?
而一個軟件要在linux上執行,必須是二進制文件,因此當我們拿到軟件源碼后,需要將它編譯成二進制文件才能在Linux上運行。
軟件編譯過程
將源碼編譯成可供Linux運行的二進制文件一共需要兩步:? ? ? ? ? ? ? (推薦學習:linux運維)
1. 使用gcc編譯器將源碼編譯成目標文件?
2. 再次使用gcc編譯器將目標文件鏈接成二進制文件
這過程看似簡單,實則不然。一個軟件的源代碼往往被封裝在多個源文件中,此外這些文件有錯綜復雜的依賴關系,編譯需要嚴格按照指定的順序進行,這無疑增加了編譯的難度。好在make命令可以幫助我們簡化編譯過程。
整個編譯過程被濃縮在Makefile文件中(告訴make命令需要怎么去編譯和鏈接程序),當執行make命令時,make會去當前目錄中尋找Makefile文件,并根據該文件中的要求完成整個編譯過程。
而Makefile文件由configure命令產生。當執行configure命令時,configure會根據當前系統環境動態生成一個適合本系統的Makefile文件,供make命令使用。
Linux源碼安裝步驟
獲取源碼?
將軟件的源碼下載至/usr/local/,并解壓。
查看INSTALL與README文件?
解壓后查看INSTALL與README文件,這兩個文件中詳細介紹了本軟件的安裝方法和注意事項。
創建Makefile文件?
執行configure命令,生成Makefile文件。
編譯?
執行make clean;make命令將源碼編譯成二進制文件。?
PS:make clean命令用來清除上一次編譯生成的目標文件。這個步驟可有可無,但為了確保編譯的成功,還是加上為好。防止由于軟件中含有殘留的目標文件導致編譯失敗。
安裝?
執行make install命令將上一步編譯好的二進制文件安裝到指定的目錄中去。