Linux軟體安裝 (基於 Fedroa )
一、Linux軟體包種類
-
1.原始碼包---tar.gz
這種格式下軟體安裝包,可以看到原始碼,安裝比較靈活。 -
2.RPM 包
原始碼進行編譯後的Linux軟體包,看不到原始碼,相對沒有原始碼包靈活,但rpm包安裝起來比較方便,只需要幾個簡單的命令。
二、RPM包安裝
1.RPM包命名原則
httpd-2.2.15-15.el6.centos.1.i868.rpm
httpd--軟體包名
2.2.15--軟體版本
15--釋出次數
el6.centos--適合Linux的平臺
i868--適合硬體平臺
rpm--包副檔名
2.包全名和包名
- 在作業系統沒有安裝軟體包時,需要的為包全名。
- 操作已經安裝的軟體包時,使用包名,安裝的RPM在,/var/lib/rpm資料庫中。
3.rpm軟體包安裝命令
安裝命令
rmp -ivh 包全名
i -- install 安裝
v-- verbose 顯示詳細資訊
h -- hash顯示進度
rpm包升級
rpm -Uvh 包全名
U - upgrade升級
rpm包解除安裝
rpm - e 軟體包
-e erase 解除安裝
查詢rpm包安裝情況
rpm - q 包名 //查詢包是否安裝
q - query
查詢所有已經安裝的RPM包
rpm -qaa -- all
查詢包中含有xxx關鍵字的所有包
rpm -qa | grep xxx
查詢包的詳細資訊
rpm -qi 包名
i -- information
p -- 查詢未安裝包的詳細資訊
查詢包中檔案的安裝位置
rpm -ql 包名
l -- list
常見的RPM預設安裝位置
目錄 | 檔案屬性 |
---|---|
/etc/ | 配置檔案的安裝目錄 |
/usr/bin/ | 可執行的命令安裝目錄 |
/usr/lib/ | 程式使用的函式庫的儲存位置 |
/usr/share/doc/ | 基本的軟體使用手冊儲存位置 |
/usr/share/man | 幫助文件的儲存位置 |
查詢系統檔案屬於哪一個RPM包
rpm -qf 系統檔名
f - file
查詢軟體包的依賴性
rpm -aR 包名
R -- requires
p--查詢未安裝包的資訊
RPM包的校驗
rpm -V 已經安裝的包名
V 校驗指定RPM 包中的檔案
驗證內容中的8個資訊的具體內容如下:
S-文加的大小是否改變
M - 檔案的型別或者許可權是否改變
5 - 檔案的MD5校驗和是否改變(可以看成檔案內容是否改變)
D - 裝置的主從程式碼是否改變
L - 檔案的路徑是否改變
U - 檔案的屬主(所有者)是否改變
G - 檔案的屬組是否改變
T - 檔案的修改時間是否改變
二、原始碼包安裝
rpm包存在預設安裝目錄,也可以指定安裝目錄,但是不建議這樣做。
原始碼包需要指定安裝目錄,否則原始碼包會將安裝檔案放到各處,造成後續操作複雜。
- 具體原始碼包河RPM包的區別
-
rpm可以通過service 命令進行啟動
rpm包的安裝位置一般在包中由包作者指定,但是也可以進行自定義安裝位置。
rpm包安裝的服務可以使用系統服務管理命令(service)來管理,例如RPM包安裝的appache的啟動方法就是:
/etc/rc.d/httpd start (啟動service服務)
service httpd start (通過service啟動軟體)
-
原始碼包的安裝位置一般需要指定位置,一般是: /usr/local/軟體名
原始碼包安裝的服務則不能被服務管理命令管理,因為沒有安裝到預設的路徑中,只能通過絕對路徑進行服務管理:
/usr/local/appache2/bin/apachectl start/stop
安裝準備
- 安裝C語言編譯器
- 下載原始碼包
-
基本步驟
- 下載原始碼包
- 解壓原始碼包
- 進入解壓目錄
安裝注意事項:
原始碼儲存位置: /usr/local/src
軟體安裝位置: /user/local/
-
如何確定安裝過程報錯:
安裝過程停止
並出現error 、wraning或no的提示
-
可自定義項:
進入到解壓目錄後, 可操作configure檔案,進行軟體配置和檢查
可進行以下操作:
定義需要的功能選項
檢測系統環境是否符合安裝要求
把定義好的功能選項和檢測系統環境的資訊都寫入Markfile檔案,用於後續的編輯。
使用 --prefix=xxx 來自定義安裝位置
-
具體的安裝命令:
make 編譯
由於錯誤造成編譯失敗,需要制定 make clean 進行刪除相關的編譯檔案
make install編譯安裝
-
原始碼包的解除安裝
不需要解除安裝命令,直接刪除安裝目錄即可,不會遺留任何的垃圾檔案。