您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)Linux下rpm、yum和源碼三種安裝方式的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
第1章 源碼安裝
源碼包安裝會比RPM包安裝慢,是因為RPM的軟件包是根據(jù)特定系統(tǒng)和平臺而指定的,經(jīng)常一種
程序會提供很多RPM包的格式,用戶根據(jù)系統(tǒng)情況選擇適合的RPM包直接安裝,而源碼包相當(dāng)于
通用型,可以是用于多個系統(tǒng)中,所以需要運行configure腳本來檢測環(huán)境,生成對應(yīng)的安裝信息。
1.1 源碼安裝優(yōu)點
1、文檔齊全
2、因為可以定位到代碼,所以debug方便
3、本機兼容性最好(由于是本機編譯的,只要編譯通過,就沒有各種庫的依賴的問題)
1.2 源碼安裝的缺點
1、編譯麻煩
2、缺乏自動依賴管理,軟件升級麻煩
1.3 安裝流程
1.3.1 解壓源碼包tar文件:源碼包通常會使用tar工具歸檔然后使用gunzip或bzip2進行壓縮,
后綴格式會分別
為.tar.gz與.tar.bz2,分別的解壓方式:
tar -zxvf FileName.tar.gz tar -jxvf FileName.tar.bz2
1.3.2 切換到解壓后的目錄
cd /解壓后目錄
1.3.3 準備編譯工作:在開始安裝服務(wù)之前,需要執(zhí)行configure腳本,會自動的對當(dāng)前系統(tǒng)進行
一系列的評估,如源文件、軟件依賴庫、編譯器、匯編器、連接器檢查等等,如果有需要,還
可以使用-prefix參數(shù)來指定程序的安裝路徑,而當(dāng)腳本檢查系統(tǒng)環(huán)境符合要求后,則會在當(dāng)
前目錄下生成一個Makefile文件。
./configure -prefix=/usr/local/program
1.3.4 生成安裝程序:上步生成的Makefile文件會保存有系統(tǒng)環(huán)境依賴關(guān)系的安裝規(guī)則,接下來
需要使用make命令來根據(jù)Makefile文件提供的規(guī)則使用合適的SHELL來編譯所有依賴的
源碼,然后make命令會生成一個最終可執(zhí)行的安裝程序。
make 編譯
1.3.5 安裝服務(wù)程序:如果在configure腳本階段中沒有使用-prefix參數(shù),那么程序一般會被默認
安裝到/usr/local/bin目錄中。
make install 編譯安裝
1.3.6 清理臨時文件(可選):
make clean
1.3.7 卸載服務(wù)程序命令(需要才執(zhí)行)
make uninstall
1.3.8 查看安裝信息
whereis 命令定位可執(zhí)行文件、源代碼文件、幫助文件在文件系統(tǒng)中的位置。這些文件的
屬性應(yīng)屬于原始代碼,二進制文件,或是幫助文件。
例如:whereis java
whereis [-bmsu] [BMS 目錄名 -f ] 文件名
-b 搜索文件的二進制部分。
-m 搜索文件的手冊部分。
-s 搜索文件的源部分。
-u 沒有說明文檔的文件
-B、-M 和 -S 標志可以用于更改或限制 whereis 命令搜索的位置。由于該程序為了運行得
更快而使用了chdir子例程,所以用-M、-S 和 -B標志目錄列表給出的路徑名必須是完整的;
例如,它們必須以一個/(斜杠)開始。
-B 與 -b 一樣,但是添加了要搜索的目錄。更改或限制 whereis 命令搜索二進制文件的位置。
-M 與 -m 一樣,但是添加了要搜索的目錄。更改或限定 whereis 命令搜索手冊部分的位置。
-S 與 -s 一樣,但是添加了要搜索的目錄。更改或限定 whereis 命令搜索源的位置。
-f 終止最后的 -M、-S 或 -B 目錄列表并發(fā)文件名起始位置信號。
(四)[參數(shù)][文件]
-c 壓縮文件
-x 解壓文件
-t 查看壓縮包內(nèi)有哪些文件
-z 用Gzip壓縮或解壓
-j 用bzip2壓縮或解壓
-v 顯示壓縮或解壓過程信息
-f 目標文件名
-P 保留原始權(quán)限和屬性
-p 使用絕對路徑壓縮
-C 指定解壓到的目錄
第2章 RPM包安裝
對于一個rpm包來說,都是有"-"和"."構(gòu)成的,基本上有以下幾部分組成:
* 包名 *版本信息 * 發(fā)布版本號 * 運行平臺,當(dāng)出現(xiàn)noarch,代表的是軟件可以平臺兼容
2.1 常用用法1
2.1.1 安裝
rpm -i 需要安裝的包文件
rpm -iv 需要安裝的包文件(顯示安裝詳情)
rpm -ivh 需要安裝的包文件(顯示安裝詳情及進度)
2.1.2 升級
rpm -U 需要升級的包文件
rpm -Uvh 需要升級的包文件(顯示升級詳情及進度)
2.1.3 卸載
rpm -e 需要卸載的軟件包
注:如果其他程序依賴要卸載的包,系統(tǒng)會提示不能刪除,若需要強行刪除加上--nodeps,
會強制刪除,但可能導(dǎo)致依賴于它的軟件不能運行。
2.1.4 查看已安裝
rpm -qa
2.1.5 查看指定包
rpm -qa | grep "軟件或者包的名字"
2.2 常用方法2
2.2.1 第一種:對于已安裝的如軟件服務(wù)信息查詢
1、查詢系統(tǒng)中已經(jīng)安裝的軟件
rpm -qa
2、查詢一個已經(jīng)安裝的文件屬于哪個軟件包;
rpm -qf 文件名的絕對路徑
3、查詢已安裝軟件包都安裝到何處;
軟件名定義是:rpm包去除平臺信息和后綴后的信息
rpm -ql 軟件名
4、查詢一個已安裝軟件包的信息
rpm -qi 軟件名
5、查看一下已安裝軟件的配置文件;
rpm -qc 軟件名
6、查看一個已經(jīng)安裝軟件的文檔安裝位置:
rpm -qd 軟件名
7、查看一下已安裝軟件所依賴的軟件包及文件;
rpm -qR 軟件名
2.2.2 第二種:對于未安裝的軟件包信息查詢
1、查看一個軟件包的用途、版本等信息;
rpm -qpi rpm文件
2、查看一件軟件包所包含的文件;
rpm -qpl rpm文件
3、查看軟件包的文檔所在的位置;
rpm -qpd rpm文件
4、查看一個軟件包的配置文件;
rpm -qpc rpm文件
5、查看一個軟件包的依賴關(guān)系
rpm -qpR rpm文件
2.2.3 [選項] [參數(shù)]:
-a:查詢所有軟件包
-e:刪除指定的軟件包
-f<文件>:查詢擁有指定文件的套件;
-h或--hash:顯示進度信息
-i:顯示包的詳細信息
-i<軟件包>或--install<軟件包>:安裝指定的軟件包
-l:顯示包的文件列表
-p:查詢指定的RPM包
-q:使用詢問模式
-U<軟件包>或--upgrade<軟件包>:升級指定的程序包
-v:顯示指令執(zhí)行過程;
-vv:詳細顯示指令執(zhí)行過程,便于排錯。
常用命令組合:
-ivh:安裝顯示安裝進度--install--verbose--hash
-Uvh:升級軟件包--Update;
-qpl:列出RPM軟件包內(nèi)的文件信息[Query Package list];
-qpi:列出RPM軟件包的描述信息[Query Package install package(s)];
-qf:查找指定文件屬于哪個RPM軟件包[Query File];
-Va:校驗所有的 RPM軟件包,查找丟失的文件[View Lost];
-e:刪除包
--force 強制操作 如強制刪除等;
--requires 顯示該包的依賴關(guān)系;
--nodeps 忽略依賴關(guān)系并繼續(xù)操作
第3章 yum
3.1 安裝流程
1、安裝: yum install 軟件
2、升級: yum update 軟件
3、刪除: yum remove 軟件
4、查看: yum info 軟件
5、搜索軟件: yum search 軟件
6、查看依賴關(guān)系: yum deplist 軟件
7、查看已安裝軟件: yum list installded
3.2 [選項] [參數(shù)]:
-e 靜默執(zhí)行
-t 忽略錯誤
-R[分鐘] 設(shè)置等待時間
-y 自動應(yīng)答yes
check-update 檢查可更新的包
clean all 清除全部
clean packages 清除臨時包文件(/var/cache/yum 下文件)
clean headers 清除rpm頭文件
clean oldheaders 清除舊的rpm頭文件
deplist 列出包的依賴
list 可安裝和可更新的RPM包
list installed 已安裝的包
list extras 已安裝且不在資源庫的包
info 可安裝和可更新的RPM包 信息
info installed 已安裝包的信息(-qa 參數(shù)相似)
install[RPM包] 安裝包
localinstall 安裝本地的 RPM包
update[RPM包] 更新包
upgrade 升級系統(tǒng)
search[關(guān)鍵詞] 搜索包
provides[關(guān)鍵詞] 搜索特定包文件名
reinstall[RPM包] 重新安裝包
repolist 顯示資源庫的配置
resolvedep 指定依賴
remove[RPM包] 卸載包
關(guān)于“Linux下rpm、yum和源碼三種安裝方式的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。