Linux下軟件安裝與卸載:rpm和yum工具
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包是第幾次編譯生成的。
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工具