CentOS7主要有rpm和yum這兩種包軟件的管理。兩種包的管理各有用處,其中主要區(qū)別是:YUM使用簡(jiǎn)單但需要聯(lián)網(wǎng),YUM會(huì)去網(wǎng)上的YUM包源去獲取所需要的軟件包。而RPM的需要的操作經(jīng)度比較細(xì),需要我們做的事情比較多。
軟件包的安裝和卸是很平常的事,但在Linux上面卻不簡(jiǎn)單。Linux的其中一個(gè)哲學(xué)就是一個(gè)程序只做一件事,并且做好。組合小程序來(lái)完成復(fù)雜的任務(wù),這樣做有很多好處,但是各個(gè)小程序之間往往會(huì)存在著復(fù)雜的依賴(lài)關(guān)系。這時(shí)就有了redhat包管理器rpm。英文是redhat package manager ,redhat 軟件包的管理。
rmp原本是Red Hat Linux發(fā)行版專(zhuān)門(mén)用來(lái)管理Linux各項(xiàng)套件的程序,由于它遵循GPL規(guī)則且功能強(qiáng)大方便,因而廣受歡迎。逐漸受到其他發(fā)行版的采用。RPM套件管理方式的出現(xiàn),讓Linux易于安裝,升級(jí),間接提升了Linux的適用度。
rpm是以一種數(shù)據(jù)庫(kù)記錄的方式來(lái)將所需要的套件安裝在Linux主機(jī)的一套管理程序。也就是說(shuō)Linux系統(tǒng)中存在一個(gè)關(guān)于rpm的數(shù)據(jù)庫(kù),它記錄了安裝的包與包之間的依賴(lài)相關(guān)性。rpm包是預(yù)先在Linux主機(jī)上編譯好并打包的文件,安裝起來(lái)非常快捷。
要安裝rpm包,首先需要下載對(duì)應(yīng)包,可用的下載鏈接:
http://rpmfind.net/
http://www.rpmseek.com/index.html
http://rpm.pbone.net/
以tree命令對(duì)應(yīng)的rpm包為例,下載界面可能是這樣的:可以看到,有許多不同版本的rpm包,那么我們?cè)诖_定應(yīng)該下載哪個(gè)前,需要先了解rpm包的包名含義。
1. rpm包名詳解
rpm包以.rpm結(jié)尾,而源碼包以.src.rpm結(jié)尾。RPM軟件包命令規(guī)則:
name-version-arch.rpm
name-version-arch.src.rpm
以tree-2.0.2-1.2.x86_64.rpm為例
- name,如:tree,是軟件的名稱(chēng)
- version,如:2.0.2-1.2,是軟件的版本號(hào),版本號(hào)格式通常為“主版本號(hào).次版本號(hào).修正號(hào)”。
- arch,如:x86_64,是表示包適用的硬件平臺(tái),目前rpm支持的平臺(tái)有:i386,i586,i686,sparc和alpha
- rpm和.src.rpm,是rpm包類(lèi)型后綴,rpm是編譯好的二進(jìn)制包,.src.rpm是源碼包
- 特殊名稱(chēng):
(1)el*:表示發(fā)行商的版本,el6表示這個(gè)軟件包是在rhel6.x/centos6.x下使用;rpm包有個(gè)特點(diǎn),centOS7的rpm包一般只能裝到CentOS7的系統(tǒng)里,CentOS6的軟件包只能裝到CentOS6的系統(tǒng)里。
(2)devel:表示這個(gè)rpm包是軟件的開(kāi)發(fā)包
(3)noarch:說(shuō)明這樣的軟件包可以在任何平臺(tái)安裝和運(yùn)行,不需要特定的硬件平臺(tái)
僅了解包名定義還無(wú)法幫助我們準(zhǔn)確的找到我們需要的包,因?yàn)閍rch這一項(xiàng)我們還不太解
2. 安裝包的劃分
1.安裝包按操作系統(tǒng)劃分,可以分為:
windows包,以.mis以及.exe結(jié)尾
linux包,以.rpm以及.deb結(jié)尾
2.也可以按照處理器進(jìn)行劃分,如:
xxx.x86_64.rpm,xxx.x86.exe,xxx_amd64.deb
上面x86_64,x86,amd64這三種屬于x86架構(gòu)。
xxx.aarch64.rpm
而aarch64這種屬于arm架構(gòu)
3. 處理器架構(gòu)簡(jiǎn)介
關(guān)于arm架構(gòu)和x86架構(gòu)的介紹,不是此次學(xué)習(xí)重點(diǎn),簡(jiǎn)略介紹。
3.1 x86架構(gòu)
一般PC機(jī)都選擇x86這種架構(gòu)處理器
-
x86和x64
x86是指32位處理器、(x86_64有時(shí)簡(jiǎn)稱(chēng)為x64)x64是指64位處理器,因?yàn)閤64指令是在x86指令集上擴(kuò)展出來(lái)的,所以x86編譯出來(lái)的程序可以在64位處理器上運(yùn)行,反過(guò)來(lái)就不行。 -
x64和amd64
這個(gè)有點(diǎn)歷史淵源,一開(kāi)始interl和amd都是x86架構(gòu),后來(lái)intel和amd都開(kāi)始研發(fā)各自的64位處理器指令集,intel選擇開(kāi)辟新的指令集,amd則選擇在x86上擴(kuò)展。后來(lái)證明intel方案失敗了,最終intel也采用amd的64指令標(biāo)準(zhǔn),做了稍微的修改,所以有了x64和amd64。
3.2 arm架構(gòu)
32位處理器需要armv7,或者armv7s架構(gòu),
64位處理器需要arm64架構(gòu)。
3.3 其他
i386 就是已經(jīng)即將被淘汰的x86的以奔騰系列位代表的32位架構(gòu)
power9 ppc64le ppc64對(duì)應(yīng)IBM的power系列,僅作了解
aarch64 就是arm架構(gòu)的64位系統(tǒng)(aarch64和arm64指的是同一件事,兩者已合并,現(xiàn)稱(chēng)為aarch64)
更多細(xì)節(jié)以及處理器發(fā)展,可參考文章https://blog.csdn.net/zygblock/article/details/60867744
至此,我們?cè)倏醋铋_(kāi)始的那張圖,就能明白每個(gè)包適用的系統(tǒng)了。
另外,要確定我們自己的linux版本,可以通關(guān)查看鏡像文件的命名,或者終端輸入uname -a查看
4. rpm常用命令
-i 安裝軟件包(–install)
可選附帶參數(shù):
–nodeps 不驗(yàn)證軟件包的依賴(lài)
–force 強(qiáng)制安裝,即使覆蓋其他包的文件也要安裝
-v 可視化,提供更多的詳細(xì)信息的輸出
-h 顯示安裝進(jìn)度
-a 查詢所有已經(jīng)安裝的軟件包
-f 查詢文件所屬于的軟件包
-q 查詢軟件包(通常用來(lái)看下還未安裝的軟件包,注意,查詢時(shí)不需要帶包名后綴,只需命令名,如rpm -q tree)
-l 顯示軟件包的文件列表
-e 卸載指定軟件包(注意,卸載時(shí)需要指定具體包名后綴,如 rpm -e tree-1.7.0-1.30.x86_64)
-U 升級(jí)軟件包,很少用
常用組合:
-ivh 安裝指定rmp包并顯示安裝進(jìn)度
-qa 查詢所有已經(jīng)安裝的軟件包
-qi 查詢軟件包安裝信息
-ql 顯示軟件包的文件列表
-qf 查詢文件所屬的文件包
5. Ubuntu無(wú)法安裝rpm包
ubuntu RPM should not be used directly install RPM packages, use Alien instead!
Ubuntu的軟件包格式是deb,如果要安裝rpm的包,則要先用alien把rpm轉(zhuǎn)換成deb
1.alien默認(rèn)沒(méi)有安裝,所以首先要安裝它
sudo apt-get install alien
2.將rpm轉(zhuǎn)換位deb,完成后會(huì)生成一個(gè)同名的xxxx.deb
sudo alien xxxx.rpm
3.安裝
sudo dpkg -i xxxx.deb文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-443538.html
關(guān)于ubuntu以及dpkg命令,另起文章介紹文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-443538.html
到了這里,關(guān)于rpm命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!