1. 程式人生 > >Linux下軟件安裝與卸載:rpm和yum工具

Linux下軟件安裝與卸載:rpm和yum工具

.rpm rhel enabled arch 發包 ble 功能 repos 簡潔

一、rpm工具

rpm命令是RPM軟件包的管理工具。rpm原本是Red Hat Linux發行版專門用來管理Linux各項套件的程序,由於它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的采用。RPM套件管理方式的出現,讓Linux易於安裝,升級,間接提升了Linux的適用度。

rpm命令語法:

# rpm [選項] [參數]

選項包括:

-a:查詢所有套件;
-b<完成階段><套件檔>+或-t <完成階段><套件檔>+:設置包裝套件的完成階段,並指定套件檔的文件名稱;
-c:只列出組態配置文件,本參數需配合"-l"參數使用;

-d:只列出文本文件,本參數需配合"-l"參數使用;
-e<套件檔>或--erase<套件檔>:刪除指定的套件;
-f<文件>+:查詢擁有指定文件的套件;
-h或--hash:套件安裝時列出標記;
-i:顯示套件的相關信息;
-i<套件檔>或--install<套件檔>:安裝指定的套件檔;
-l:顯示套件的文件列表;
-p<套件檔>+:查詢指定的RPM套件檔;
-q:使用詢問模式,當遇到任何問題時,rpm指令會先詢問用戶;
-R:顯示套件的關聯性信息;
-s:顯示文件狀態,本參數需配合"-l"參數使用;
-U<套件檔>或--upgrade<套件檔>:升級指定的套件檔;
-v:顯示指令執行過程;
-vv:詳細顯示指令執行過程,便於排錯。

參數:

軟件包:指定要操縱的rpm軟件包。

在做小實驗之前,掛載下光驅,裏面Packages下的後綴名.rpm的就是rpm安裝包

mount /dev/cdrom /mnt

然後執行

ls /mnt/Packages

列出rpm安裝包,下圖為截取了一部分
技術分享圖片
RPM包的一般格式為:

name-version-arch.rpm
name-version-arch.src.rpm

1.name,如:xvattr,是軟件的名稱。
2.version,如:1.3 ,是軟件的版本號。版本號的格式通常為“主版本號.次版本號.修正號”。27,是發布版本號,表示這個RPM包是第幾次編譯生成的。

3.arch,如:i386,表示包的適用的硬件平臺,目前RPM支持的平臺有:i386、i586、i686、sparc和alpha。
4.rpm或.src.rpm,是RPM包類型的後綴,.rpm是編譯好的二進制包,可用rpm命令直接安裝;.src.rpm表示是源代碼包,需要安裝源碼包生成源碼,並對源碼編譯生成.rpm格式的RPM包,就可以對這個RPM包進行安裝了。
註:
el* :表示這個軟件包的發行商版本,el7表示這個軟件包是在RHEL 7.x/CentOS 7.x下使用。
devel:表示這個RPM包是軟件的開發包。
noarch:這樣的軟件包可在任何平臺上安裝,不需特定的硬件平臺。在任何硬件平臺上都可運行。

實例

1、安裝rpm包:rpm -ivh 包名
技術分享圖片
2、升級rpm包:rpm -Uvh 包名
技術分享圖片
3、卸載rpm包:rpm -e 包名
技術分享圖片
卸載時後邊跟的filename和安裝時的是有區別的,安裝時是把一個存在的文件作為參數,而卸載時只需要包名即可。
4、查詢一個包是否已經安裝:rpm -q 包名
技術分享圖片
查詢系統中已安裝的rpm包:rpm -qa。下圖為列出前十個已安裝的rpm包
技術分享圖片
5、得到一個已安裝rpm包的相關信息:rpm -qi 包名
技術分享圖片
6、列出一個rpm包安裝的文件:rpm -ql 包名
技術分享圖片
7、列出某個文件屬於哪個rpm包:rpm -qf 文件的絕對路徑
技術分享圖片
這個還有個特殊用法:
技術分享圖片



二、yum工具

yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。
這個工具比rpm工具好用多了,當然前提是你使用的linux系統是支持yum的。yum最大的優勢在於可以聯網去下載所需要的rpm包,然後自動安裝,在這個工程中如果要安裝的rpm包有依賴關系,yum會幫你解決掉這些依賴關系依次安裝所有rpm包。
yum命令語法:

yum [選項] [參數] [rpm包名]

選項(可選):

-h:顯示幫助信息;
-y:對所有的提問都回答“yes”;
-c:指定配置文件;
-q:安靜模式;
-v:詳細模式;
-d:設置調試等級(0-10);
-e:設置錯誤等級(0-10);
-R:設置yum處理一個命令的最大等待時間;
-C:完全從緩存中運行,而不去下載或者更新任何頭文件。

參數:

install:安裝rpm軟件包;
update:更新rpm軟件包;
check-update:檢查是否有可用的更新rpm軟件包;
remove:刪除指定的rpm軟件包;
list:顯示軟件包的信息;
search:檢查軟件包的信息;
info:顯示指定的rpm軟件包的描述信息和概要信息;
clean:清理yum過期的緩存;
shell:進入yum的shell提示符;
resolvedep:顯示rpm軟件包的依賴關系;
localinstall:安裝本地的rpm軟件包;
localupdate:顯示本地rpm軟件包進行更新;
deplist:顯示rpm軟件包的所有依賴關系。

實例:

1、列出所有可用的rpm包:yum list
技術分享圖片
2、搜索rpm包:yum search [包關鍵字],為了更精確搜索可以用grep來過濾
技術分享圖片
3、安裝rpm包:yum install [-y] [rpm包名],如果不加-y選項,則會以與用戶交互的方式安裝,首先是列出需要安裝的rpm包信息,然後會問用戶是否需要安裝,輸入y則安裝,輸入n則不安裝。這樣太麻煩,所以直接加上-y選項。如果一個包已存在,則會檢查並更新。
技術分享圖片
4、卸載rpm包:yum remove [-y] [rpm包名],卸載和安裝一樣,也可以直接加上 “-y” 選項來省略掉和用戶交互的步驟。在這裏要提醒一下,卸載某個rpm包一定要看清楚了,不要連其他重要的rpm包一起卸載了,以免影響正常的業務。
技術分享圖片
5、升級rpm包:yum update [-y] [rpm包]
技術分享圖片



三、使用本地的光盤來制作一個yum源
有時候你的linux系統不能聯網,當然就不能很便捷的使用聯網的yum源了,這時候就需要你自己會利用linux系統光盤制作一個yum源。具體步驟如下:
1、掛載光盤:

mount /dev/cdrom /mnt

2、刪除/etc/yum.repos.d目錄所有的repo文件(刪除之前備份一下):

cp -r /etc/yum.repos.d /etc/yum.repos.d_bak //備份

# rm -rf /etc/yum.repos.d/*                 //刪除yum.repos.d目錄下的所有文件

3、創建dvd.repo文件:

vi /etc/yum.repos.d/dvd.repo //加入以下內容

[dvd]
name=install dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0

4、保存並退出,刷新repos,生成緩存:

yum makecache

之後就可以安裝rpm包了。

Linux下軟件安裝與卸載:rpm和yum工具