Linux下rpm、yum和源碼三種安裝方式詳細(xì)介紹
第1章 源碼安裝
源碼包安裝會(huì)比RPM包安裝慢,是因?yàn)镽PM的軟件包是根據(jù)特定系統(tǒng)和平臺(tái)而指定的,經(jīng)常一種
程序會(huì)提供很多RPM包的格式,用戶根據(jù)系統(tǒng)情況選擇適合的RPM包直接安裝,而源碼包相當(dāng)于
通用型,可以是用于多個(gè)系統(tǒng)中,所以需要運(yùn)行configure腳本來(lái)檢測(cè)環(huán)境,生成對(duì)應(yīng)的安裝信息。
1.1 源碼安裝優(yōu)點(diǎn)
1、文檔齊全
2、因?yàn)榭梢远ㄎ坏酱a,所以debug方便
3、本機(jī)兼容性最好(由于是本機(jī)編譯的,只要編譯通過(guò),就沒(méi)有各種庫(kù)的依賴的問(wèn)題)
1.2 源碼安裝的缺點(diǎn)
1、編譯麻煩
2、缺乏自動(dòng)依賴管理,軟件升級(jí)麻煩
1.3 安裝流程
1.3.1 解壓源碼包tar文件:源碼包通常會(huì)使用tar工具歸檔然后使用gunzip或bzip2進(jìn)行壓縮,
后綴格式會(huì)分別
為.tar.gz與.tar.bz2,分別的解壓方式:
tar -zxvf FileName.tar.gz tar -jxvf FileName.tar.bz2
1.3.2 切換到解壓后的目錄
cd /解壓后目錄
1.3.3 準(zhǔn)備編譯工作:在開始安裝服務(wù)之前,需要執(zhí)行configure腳本,會(huì)自動(dòng)的對(duì)當(dāng)前系統(tǒng)進(jìn)行
一系列的評(píng)估,如源文件、軟件依賴庫(kù)、編譯器、匯編器、連接器檢查等等,如果有需要,還
可以使用-prefix參數(shù)來(lái)指定程序的安裝路徑,而當(dāng)腳本檢查系統(tǒng)環(huán)境符合要求后,則會(huì)在當(dāng)
前目錄下生成一個(gè)Makefile文件。
./configure -prefix=/usr/local/program
1.3.4 生成安裝程序:上步生成的Makefile文件會(huì)保存有系統(tǒng)環(huán)境依賴關(guān)系的安裝規(guī)則,接下來(lái)
需要使用make命令來(lái)根據(jù)Makefile文件提供的規(guī)則使用合適的SHELL來(lái)編譯所有依賴的
源碼,然后make命令會(huì)生成一個(gè)最終可執(zhí)行的安裝程序。
make 編譯
1.3.5 安裝服務(wù)程序:如果在configure腳本階段中沒(méi)有使用-prefix參數(shù),那么程序一般會(huì)被默認(rèn)
安裝到/usr/local/bin目錄中。
make install 編譯安裝
1.3.6 清理臨時(shí)文件(可選):
make clean
1.3.7 卸載服務(wù)程序命令(需要才執(zhí)行)
make uninstall
1.3.8 查看安裝信息
whereis 命令定位可執(zhí)行文件、源代碼文件、幫助文件在文件系統(tǒng)中的位置。這些文件的
屬性應(yīng)屬于原始代碼,二進(jìn)制文件,或是幫助文件。
例如:whereis java
whereis [-bmsu] [BMS 目錄名 -f ] 文件名
-b 搜索文件的二進(jìn)制部分。
-m 搜索文件的手冊(cè)部分。
-s 搜索文件的源部分。
-u 沒(méi)有說(shuō)明文檔的文件
-B、-M 和 -S 標(biāo)志可以用于更改或限制 whereis 命令搜索的位置。由于該程序?yàn)榱诉\(yùn)行得
更快而使用了chdir子例程,所以用-M、-S 和 -B標(biāo)志目錄列表給出的路徑名必須是完整的;
例如,它們必須以一個(gè)/(斜杠)開始。
-B 與 -b 一樣,但是添加了要搜索的目錄。更改或限制 whereis 命令搜索二進(jìn)制文件的位置。
-M 與 -m 一樣,但是添加了要搜索的目錄。更改或限定 whereis 命令搜索手冊(cè)部分的位置。
-S 與 -s 一樣,但是添加了要搜索的目錄。更改或限定 whereis 命令搜索源的位置。
-f 終止最后的 -M、-S 或 -B 目錄列表并發(fā)文件名起始位置信號(hào)。
(四)[參數(shù)][文件]
-c 壓縮文件
-x 解壓文件
-t 查看壓縮包內(nèi)有哪些文件
-z 用Gzip壓縮或解壓
-j 用bzip2壓縮或解壓
-v 顯示壓縮或解壓過(guò)程信息
-f 目標(biāo)文件名
-P 保留原始權(quán)限和屬性
-p 使用絕對(duì)路徑壓縮
-C 指定解壓到的目錄
第2章 RPM包安裝
對(duì)于一個(gè)rpm包來(lái)說(shuō),都是有"-"和"."構(gòu)成的,基本上有以下幾部分組成:
* 包名 *版本信息 * 發(fā)布版本號(hào) * 運(yùn)行平臺(tái),當(dāng)出現(xiàn)noarch,代表的是軟件可以平臺(tái)兼容
2.1 常用用法1
2.1.1 安裝
- rpm -i 需要安裝的包文件
- rpm -iv 需要安裝的包文件(顯示安裝詳情)
- rpm -ivh 需要安裝的包文件(顯示安裝詳情及進(jìn)度)
2.1.2 升級(jí)
- rpm -U 需要升級(jí)的包文件
- rpm -Uvh 需要升級(jí)的包文件(顯示升級(jí)詳情及進(jìn)度)
2.1.3 卸載
- rpm -e 需要卸載的軟件包
注:如果其他程序依賴要卸載的包,系統(tǒng)會(huì)提示不能刪除,若需要強(qiáng)行刪除加上--nodeps,
會(huì)強(qiáng)制刪除,但可能導(dǎo)致依賴于它的軟件不能運(yùn)行。
2.1.4 查看已安裝
rpm -qa
2.1.5 查看指定包
- rpm -qa | grep "軟件或者包的名字"
2.2 常用方法2
2.2.1 第一種:對(duì)于已安裝的如軟件服務(wù)信息查詢
1、查詢系統(tǒng)中已經(jīng)安裝的軟件
rpm -qa
2、查詢一個(gè)已經(jīng)安裝的文件屬于哪個(gè)軟件包;
- rpm -qf 文件名的絕對(duì)路徑
3、查詢已安裝軟件包都安裝到何處;
軟件名定義是:rpm包去除平臺(tái)信息和后綴后的信息
- rpm -ql 軟件名
4、查詢一個(gè)已安裝軟件包的信息
- rpm -qi 軟件名
5、查看一下已安裝軟件的配置文件;
- rpm -qc 軟件名
6、查看一個(gè)已經(jīng)安裝軟件的文檔安裝位置:
- rpm -qd 軟件名
7、查看一下已安裝軟件所依賴的軟件包及文件;
- rpm -qR 軟件名
2.2.2 第二種:對(duì)于未安裝的軟件包信息查詢
1、查看一個(gè)軟件包的用途、版本等信息;
- rpm -qpi rpm文件
2、查看一件軟件包所包含的文件;
- rpm -qpl rpm文件
3、查看軟件包的文檔所在的位置;
- rpm -qpd rpm文件
4、查看一個(gè)軟件包的配置文件;
- rpm -qpc rpm文件
5、查看一個(gè)軟件包的依賴關(guān)系
- rpm -qpR rpm文件
2.2.3 [選項(xiàng)] [參數(shù)]:
-a:查詢所有軟件包
-e:刪除指定的軟件包
-f<文件>:查詢擁有指定文件的套件;
-h或--hash:顯示進(jìn)度信息
-i:顯示包的詳細(xì)信息
-i<軟件包>或--install<軟件包>:安裝指定的軟件包
-l:顯示包的文件列表
-p:查詢指定的RPM包
-q:使用詢問(wèn)模式
-U<軟件包>或--upgrade<軟件包>:升級(jí)指定的程序包
-v:顯示指令執(zhí)行過(guò)程;
-vv:詳細(xì)顯示指令執(zhí)行過(guò)程,便于排錯(cuò)。
常用命令組合:
-ivh:安裝顯示安裝進(jìn)度--install--verbose--hash
-Uvh:升級(jí)軟件包--Update;
-qpl:列出RPM軟件包內(nèi)的文件信息[Query Package list];
-qpi:列出RPM軟件包的描述信息[Query Package install package(s)];
-qf:查找指定文件屬于哪個(gè)RPM軟件包[Query File];
-Va:校驗(yàn)所有的 RPM軟件包,查找丟失的文件[View Lost];
-e:刪除包
--force 強(qiáng)制操作 如強(qiáng)制刪除等;
--requires 顯示該包的依賴關(guān)系;
--nodeps 忽略依賴關(guān)系并繼續(xù)操作
第3章 yum
3.1 安裝流程
1、安裝: yum install 軟件
2、升級(jí): yum update 軟件
3、刪除: yum remove 軟件
4、查看: yum info 軟件
5、搜索軟件: yum search 軟件
6、查看依賴關(guān)系: yum deplist 軟件
7、查看已安裝軟件: yum list installded
3.2 [選項(xiàng)] [參數(shù)]:
-e 靜默執(zhí)行
-t 忽略錯(cuò)誤
-R[分鐘] 設(shè)置等待時(shí)間
-y 自動(dòng)應(yīng)答yes
check-update 檢查可更新的包
clean all 清除全部
clean packages 清除臨時(shí)包文件(/var/cache/yum 下文件)
clean headers 清除rpm頭文件
clean oldheaders 清除舊的rpm頭文件
deplist 列出包的依賴
list 可安裝和可更新的RPM包
list installed 已安裝的包
list extras 已安裝且不在資源庫(kù)的包
info 可安裝和可更新的RPM包 信息
info installed 已安裝包的信息(-qa 參數(shù)相似)
install[RPM包] 安裝包
localinstall 安裝本地的 RPM包
update[RPM包] 更新包
upgrade 升級(jí)系統(tǒng)
search[關(guān)鍵詞] 搜索包
provides[關(guān)鍵詞] 搜索特定包文件名
reinstall[RPM包] 重新安裝包
repolist 顯示資源庫(kù)的配置
resolvedep 指定依賴
remove[RPM包] 卸載包
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Linux配置yum源全過(guò)程
- Linux中實(shí)現(xiàn)光盤開機(jī)自動(dòng)掛載和配置本地yum源教程
- linux掛載本地yum源問(wèn)題
- Linux如何配置本地yum源(光盤鏡像掛載)
- linux下如何使用yum源安裝mysql
- linux 配置本地yum源,配置國(guó)內(nèi)yum源,配置epel源的步驟
- linux常用命令小結(jié)之yum、源碼安裝
- Linux下安裝mysql的方式(yum和源碼編譯兩種方式)
- linux下配置yum源方法詳解
- 阿里云云服務(wù)器Linux系統(tǒng)更新yum源Shell腳本
- Linux配置yum源以及基本yum指令的實(shí)現(xiàn)
相關(guān)文章
Linux下ulimit關(guān)于open files的配置過(guò)程
本文介紹了在CentOS系統(tǒng)中設(shè)置文件描述符和進(jìn)程限制的方法,包括/etc/security/limits.conf文件和systemd的system.conf文件的配置,這些設(shè)置對(duì)于大數(shù)據(jù)系統(tǒng)的穩(wěn)定運(yùn)行至關(guān)重要2024-12-12
Apache2.4和Apache2.2訪問(wèn)控制配置語(yǔ)法對(duì)比
這篇文章主要介紹了Apache2.4和Apache2.2訪問(wèn)控制配置語(yǔ)法對(duì)比,本文給出若干配置實(shí)現(xiàn)講解Apache2.4和Apache2.2訪問(wèn)控制配置語(yǔ)法的不同之處,需要的朋友可以參考下2015-04-04
CentOS8 Linux 8.0.1905的安裝過(guò)程(圖解)
這篇文章主要介紹了CentOS Linux 8.0.1905的安裝過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
Linux持續(xù)集成自動(dòng)化安裝Maven的方法
今天小編就為大家分享一篇關(guān)于Linux持續(xù)集成自動(dòng)化安裝Maven的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
Linux中如何修改~/.bashrc或/etc/profile設(shè)置環(huán)境變量
這篇文章主要介紹了Linux中如何修改~/.bashrc或/etc/profile設(shè)置環(huán)境變量問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
解決Vmware虛擬機(jī)安裝centos8報(bào)錯(cuò)“Section?%Packages?Does?Not?End?W
這篇文章介紹了解決Vmware虛擬機(jī)安裝centos8報(bào)錯(cuò)“Section?%Packages?Does?Not?End?With?%End.?Pane?Is?Dead”的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
使用VSCode和SSH進(jìn)行遠(yuǎn)程開發(fā)
這篇文章主要介紹了使用VSCode和SSH進(jìn)行遠(yuǎn)程開發(fā),文中通過(guò)圖文以及示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05

