歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux軟件 >> Unix/Linux軟件安裝

Unix/Linux軟件安裝

日期:2017/3/3 17:00:44   编辑:Linux軟件

Unix/Linux 軟件安裝首先我們明白,在Unix like的機器上,一套軟件並不僅僅有一個程序,而是一堆程序代碼文件。例如main.c,haha.c,sin_value.c這三個源代碼文件。

1.程序源碼

1.1用gcc等編譯工具手動編譯 #什麼是gcc工具?GNU的gcc工具是很通用的C語言編譯器。 gcc -c main.c gcc -c haha.c gcc -c sin_value.c gcc -c cos_value.c 生成main.o,haha.o,sin_value.o,cos_value.o 4個經過編譯文件。 將幾個.o文件進行連接,並加入libm數學函數,以生成main可執行文件。 gcc -o main main.o haha.o sin_value.o cos_value.o \ -lm -L/usr/lib -L/lib #然後我們就可以跑main這個可執行文件了。 [padep@cnsz081003 fwy]$ ./main Please input your name: fengweiyuan Please enter the degree angle (ex> 90): 110 Hi, Dear fengweiyuan, nice to meet you. The Sin is: 0.94 The Cos is: -0.34

1.2 用configure與make等工具編譯源碼 ./configure 檢測用戶環境,檢查該OS是否適合等。然後會生成makefile文本文件。

1.是否有適合的編譯程序,可以編譯本軟件的程序源碼。

2.是否已經存在本軟件所需的函數庫或其他依賴軟件。

3.OS平台,包括內核版本,是否適合本軟件。

4.內核的頭定義文件是否存在。 makefile當中記錄了源碼如何編譯等信息。這個步驟的相關信息你可以參考README與INSTALL等文件。 makeclean 不一定需要,但執行一下比較安全。如果已經有上次編譯過的.o文件存在,當然是清除一下比較好,這樣我們就可確定新編譯出來的執行文件我們可以確定是使用自己的機器所編譯完成的。 make 會在當前目錄下搜索makefile這個文本文件,利用makefile來編譯源碼,編譯成可執行文件,放當前目錄下。(這個過程就如上面1.1的生成.o文件,將.o文件連接一起並加函數庫的工作)。 make會自動判斷源碼是否經過變動了而自動更新執行文件。 make install 如果makefile裡面有寫上關於install的選項,就會將上一步編譯完成的文件安裝到默認的目錄下,以完成安裝。 這些步驟是一個一個來的,前面的沒有成功,後面的也無法執行。總結由於不同OS的函數庫路徑、或者函數庫文件名定義,或者是默認安裝的編譯程序,以及內核版本不同。理論上,不能將CentOS 5.x上編譯出來的二進制文件(二進制執行文件包含該OS上函數庫路徑信息),拿到SuSE上執行。所以同一套軟件要在不同的平台上執行,必須要重復編譯,因此才需要源碼。

2.已經編譯好的文件

2.1二進制分發版直接選擇編譯好的二進制分發版,需要從網站上按照操作系統版本來選擇。其實就使在特定操作系統上,已經編譯好的二進制文件,我們直接拷貝使用。

2.2rpm包要安裝的軟件,預先編譯了,然後打包成rpm安裝包。包頭會有軟件依賴信息,安裝rpm包前,rpm會先依照rpm包頭記錄的信息,去檢查環境是否滿足,若不滿足就不安裝。安裝的時候,會將該軟件的信息,寫入本地RPM數據庫,以便未來的查詢、驗證與反安裝。所以,rpm包並不是跨平台的,要安裝這個rpm包,那麼這個平台要與當初建立這個軟件文件的主機環境一致或相當才行。
srpm包。**.src.rpm

Copyright © Linux教程網 All Rights Reserved