Linux介紹---軟件包安裝

1.軟件包分類
1.軟件包分類
源碼包:
二進制包:
源碼包的優點:
開源,有足夠的能力可以修改源代碼,
可以自由選擇所需要的功能。
軟件是編譯安裝的,所有更加適合自己的系統,更加穩定也效率更高。
卸載方便。
源碼包的缺點:
安裝過程中步驟較多,尤其安裝較大的軟件集合時(如LAMP環境搭建),容易出現拼寫錯誤。
編譯過程時間較長,安裝比二進制安裝時間長。
因爲是編譯安裝,安裝過程中一旦報錯新手很難解決。
二進制包:
DPKG包:是由Debian LInux所開發出來的包管理機制,通過DPKG包,DebianLinux就可以進行軟件包管理,主要應用在Debain和un bnbuntu中。
RPM包:是由Red Hat公司所開發的包管理系統,功能強大,安裝,升級,查詢和卸載都非常簡單,目前很多Linux都是用這種包管理方式,包括Fedora,Centos SuSE等。我們學習的Centos,所以我們將要學習RPM包管理系統。
特點:
RPM包優點:
包管理系統簡單,只通過幾個命令就可以實現包的安裝,升級,查詢和卸載。
安裝速度比源碼包安裝快得多。
RPM包缺點:
經過編譯,不再可以看到源代碼。
功能選擇不如源碼包靈活。
依賴性。有時我們會發現需要安裝軟件包a時需要安裝b和c,而安裝b時需要安裝d和e。這是需要先安裝d和e,在安裝b和c最後才安裝a包。依賴性非常繁瑣。
在這裏插入圖片描述
二RPM安裝
1.rpm包命令規則:
httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd 軟件包名
2.2.15 軟件版本。
15 軟件發佈次數。
e16軟件發行商。e16是RedHat公司發佈,適合RHEL6.x和centos6.x下使用。
i686適合的硬件平臺。RPM包可以在不同的硬件平臺安裝。選擇合適不同cpu的軟件版本,可以最大化的發揮cpu性能,所以出現了所謂的i386(386y以上計算機都可以安裝,)i586,i686,x86_64和noarch等文件名稱。
rpm rpm包的擴展名。我們說過Linux下文件不是靠擴展名區分文件類型,也就是Linux中擴展名沒有任何的意義,。原因很簡單就是爲了讓管理員更好的識別。
包全名:如果操作的是未安裝軟件包,則使用包全名,而且需要注意絕對路徑。
包名:如果操作的是已經安裝的軟件包,則使用包名,系統會產生RPM包的數據庫(/var/lib/rpm),而且可以在任意路徑下操作。
rpm包手工命令安裝
3.1默認安裝位置

RPM包默認安裝路徑
/etc/ 配置文件安裝目錄
/usr/bin 可執行的命令安裝目錄
/usr/lib 程序所使用的函數庫保存位置
/usr/share/doc/ 基本的軟件使用手冊保存位置
/usr/share/man 幫助文件保存位置

3.2RPM包安裝
1.安裝命令:
rpm -ivh 包全名:
#注意:一定是包全名,如果跟包全名的命令要注意路徑因爲軟件包在光盤中。
選項:
-i:install 安裝(install)
-v 顯示更詳細的信息(verbose)
-h 打印#顯示安裝進度。
– nodeps 不檢測依賴性安裝,軟件時會檢測依懶性,確定所需的底層軟件是否可以安裝,如果沒有安裝則會報錯,如果不管依賴性,想強行安裝,可以使用這個選項。注意:這樣不檢測依懶性安裝的軟件基本是不能使用的。所以不建議這樣做。
–replacefiles 替換文件安裝,如果安裝軟件包,可是包中部分文件已經存在,那麼正常安裝時候,會報錯某個文件已經存在,從而導致軟件無法安裝,使用這個選項可以忽視這個報錯,而覆蓋安裝。
–replacepkgs 替換軟件包安裝,如果軟件包已經安裝,此選項可以把軟件包重複安裝一遍。
–force 強制安裝,不管是否已經安裝,都重新安裝,就是–replacefiles和replacepkgs的綜合。
–test 測試安裝,不會實際安裝,只是檢測一下依懶性。
–prefix 指定安裝路徑,未安裝軟件指定安裝路徑,而不使用默認安裝路徑。
注意
如果指定了安裝路徑,軟件沒有安裝到系統默認路徑中的話,系統會在不到這些安裝的軟件,需要手工配置才能被系統識別,所以rpm包我們一般都採用默認路徑安裝。
服務啓動
service 服務名 start | restart | status |stop
參數:
start 啓動服務
stop 停止服務
restart 重啓服務
status 查看服務狀態。
在centos7 中使用systemctl restart httpd
3.3RPM包升級
rpm -Uvh 包全名
選項:
-U(大寫) 升級到安裝,若沒有安裝,系統直接安裝,如果安裝過舊的版本則會升級到最先的版本。
rpm -Fvh 包全名
-F(大寫):升級安裝,如果沒有安裝過,則不會安裝。必須安裝有較舊的版本,才能升級。
卸載
rpm -e 包名:
選項:
–nodes 不檢查依賴性
-e 卸載。
查詢
1.查詢軟件包是否安裝。
rpm -q 包名
選項:
-q查詢:(query)
查詢系統中所有安裝軟件包
可以查詢Linux系統中所有已經安裝的軟件包,命令格式如下:
rpm -qa
選項:
-a 所有(all)
當然也可以使用管道符查看所需的內容,比如:
rpm -qa | grep mysql
使用rpm -q 包名,只能查看這個包是否安裝,但是使用 rpm -qa | grep 包名
會把包含包名稱的所有包都列出來。
查詢軟件包的詳細信息;
可以查詢已經安裝的某個軟件包的詳細信息,命令格式如下:
rpm -qi 包名
選項:
-i:查詢軟件信息。
也可以查詢還沒有安裝的軟件包的詳細信息。
rpm - qip 包全名。
選項:
-p查詢沒有安裝的軟件包(package)。
查詢系統文件屬於那個RPM包。
既然可以知道每個RPM包中的文件的安裝位置,那麼可以查詢系統文件屬於那本RPM包?當然可以,不過需要主要的是:手共建立的文件是不可以查詢的,因爲這些文件不是通過RPM包安裝的當然不能反向查詢它屬於那個RPM包
rpm -qf 系統文件名:
選項:
-f 查詢系統 文件屬於那個軟件包。
查詢軟件包所依賴的軟件包。
查詢系統中和已經安裝的軟件包有依賴關係的軟件包,命令格式如下:
rpm -qR 包名
選項:
-R 查詢軟件包的依賴性。
查詢沒有安裝的軟件包的依賴性,加上-p選項即可。
rpm -qRp 包全名。
rpm -Va
選項:
-Va校驗本機已經安裝的所有軟件包。
rpm -V 已經安裝的包名
選項 -V:校驗指定RPM包中的文件。
rpm -Vf 系統文件名。
選項:
-Vf檢驗某個系統文件是否被修改。
驗證內容中的8個信息:
S:文件大小是否改變。
M 文件的類型或者文件權限是否被改變。
5 文件MD5校驗和是否改變(可以看成文件內容是否改變)
D 設備的主從代碼是否改變
L 文件的路徑是否改變
U 文件的屬主(所有者)是否改變
G 文件的屬組是否改變
T文件的修改時間是否改變。
apache配置文件的文件類型是c,
c配置文件
d普通文件
g 鬼文件 很少見 就是該文件不應該被這個RPM包包含。
l授權文件
r描述文件。
3.7數字證書
剛剛的檢驗方法只能對已經安裝的RPM包中的文件進行校驗,但是如果RPM包本身就被動過手腳,那麼檢驗就不能解決問題。我們必須下使用數字證書校驗。
數字證書有如下的特點:
首先必須找到原廠的公鑰文件,然後進行安裝。
在安裝RPM包時會去校驗RPM包中的證書信息,然後和本機安裝的原廠證書進行驗證,。
如果驗證通過,則允許安裝。如果驗證不通過,則不允許安裝並警告。
數字證書的位置;
在這裏插入圖片描述
在這裏插入圖片描述
3.8 rpm包中文件的提取
cpio命令:
cpio命令主要有三種基本模式:-o模式指的是:copy-out模式,就是把數據備份到文件庫中,-i模式指的是copy-i模式,就是把數據從文件庫中恢復,-p模式指的是複製模式,就是不把數據備份到cpio庫中,而是直接複製爲其他文件。
cpio -o[vcB] > [文件| 設備] #備份
選項:
-o:copy-out模式,備份。
-v:顯示備份過程。
-c:設定輸入新的portable format存儲方式
-B:設定輸入塊5120bytes,而不是512butes
cpio -i[vcdu] >[文件|設備]#還原:
-i:copy-in模式,還原。
-v顯示還原過程。
-c:使用較新的portable format存儲方式。
-d:還原時自動新建目錄。
-u:自動使用較新的文件覆蓋較舊的文件。
cpio -p 目標目錄。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章