天天看點

Linux下的YUM與RPM差別

分享知識 傳遞快樂

YUM

一、yum是什麼

yum = Yellow dog Updater, Modified主要功能是更友善的添加/删除/更新RPM包,它能自動解決包的倚賴性問題,同時它也能便于管理大量系統的更新問題。

注:為什麼要使用yum而不用apt,最簡單的原因,Fedora自帶

二、yum特點

可以同時配置多個資源庫(Repository)

簡潔的配置檔案(/etc/yum.conf)

自動解決增加或删除rpm包時遇到的倚賴性問題

使用友善

保持與RPM資料庫的一緻性

三、yum指令詳解

yum check-update 檢查可更新的所有軟體包
yum update 下載下傳更新系統已安裝的所有軟體包
yum upgrade 大規模的版本更新,與yum update不同的是,連舊的淘汰的包也更新
yum install 安裝新軟體包
yum update 更新指定的軟體包
yum remove 解除安裝指定的軟體包
yum groupinstall 安裝指定軟體組中的軟體包
yum groupupdate 更新指定軟體組中的軟體包
yum groupremove 解除安裝指定軟體組中的軟體包
yum grouplist 檢視系統中已經安裝的和可用的軟體組
yum list 列出資源庫中所有可以安裝或更新以及已經安裝的rpm包
yum list 列出資源庫中與正規表達式比對的可以安裝或更新以及已經安裝的rpm包
yum list available 列出資源庫中所有可以安裝的rpm包
yum list available 列出資源庫中與正規表達式比對的所有可以安裝的rpm包
yum list updates 列出資源庫中所有可以更新的rpm包
yum list updates 列出資源庫中與正規表達式比對的所有可以更新的rpm包
yum list installed 列出資源庫中所有已經安裝的rpm包
yum list installed 列出資源庫中與正規表達式比對的所有已經安裝的rpm包
yum list extras 列出已經安裝的但是不包含在資源庫中的rpm包
yum list extras 列出與正規表達式比對的已經安裝的但是不包含在資源庫中的rpm包
yum list recent 列出最近被添加到資源庫中的軟體包
yum search 檢測所有可用的軟體的名稱、描述、概述和已列出的維護者,查找與正規表達式比對的值
yum provides 檢測軟體包中包含的檔案以及軟體提供的功能,查找與正規表達式比對的值
yum clean headers 清除緩存中的rpm頭檔案
yum clean packages 清除緩存中rpm封包件
yum clean all 清除緩存中的rpm頭檔案和封包件
yum deplist 顯示軟體包的依賴資訊      

RPM

一、RPM包管理的用途

1、可以安裝、删除、更新和管理軟體;當然也支援線上安裝和更新軟體;

2、通過RPM包管理能知道軟體包包含哪些檔案,也能知道系統中的某個檔案屬于哪個軟體包;

3、可以在查詢系統中的軟體包是否安裝以及其版本;

4、作為開發者可以把自己的程式打包為RPM 包釋出;

5、軟體包簽名GPG和MD5的導入、驗證和簽名釋出

6、依賴性的檢查,檢視是否有軟體包由于不相容而擾亂了系統;

二、RPM 的使用權限

RPM軟體的安裝、删除、更新隻有root權限才能使用;對于查詢功能任何使用者都可以操作;如果普通使用者擁有安裝目錄的權限,也可以進行安裝;

三、rpm 的一點簡單用法

我們除了軟體包管理器以外,還能通過rpm 指令來安裝;是不是所有的軟體包都能通過rpm 指令來安裝呢?不是的,檔案以.rpm 字尾結尾的才行;有時我們在一些網站上找到file.rpm ,都要用 rpm 來安裝;

rpm執行安裝包

二進制包(Binary)以及源代碼包(Source)兩種。二進制包可以直接安裝在計算機中,而源代碼包将會由RPM自動編譯、安裝。源代碼包經常以src.rpm作為字尾名。

常用指令組合:

-ivh:安裝顯示安裝進度--install--verbose--hash
-Uvh:更新軟體包--Update;
-qpl:列出RPM軟體包内的檔案資訊[Query Package list];
-qpi:列出RPM軟體包的描述資訊[Query Package install package(s)];
-qf:查找指定檔案屬于哪個RPM軟體包[Query File];
-Va:校驗所有的RPM軟體包,查找丢失的檔案[View Lost];
-e:删除包      
rpm -q samba //查詢程式是否安裝

rpm -ivh  /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm //按路徑安裝并顯示進度
rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm    //指定安裝目錄

rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm    //用來檢查依賴關系;并不是真正的安裝;
rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降級為舊版本

rpm -qa | grep httpd      #[搜尋指定rpm包是否安裝]--all搜尋*httpd*
rpm -ql httpd         #[搜尋rpm包]--list所有檔案安裝目錄

rpm -qpi Linux-1.4-6.i368.rpm #[檢視rpm包]--query--package--install package資訊
rpm -qpf Linux-1.4-6.i368.rpm #[檢視rpm包]--file
rpm -qpR file.rpm       #[檢視包]依賴關系
rpm2cpio file.rpm |cpio -div    #[抽出檔案]

rpm -ivh file.rpm  #[安裝新的rpm]--install--verbose--hash
rpm -ivh

rpm -Uvh file.rpm    #[更新一個rpm]--upgrade
rpm -e file.rpm      #[删除一個rpm包]--erase      

總結:

yum與rpm的差別:rpm适用于所有環境,而yum要搭建本地yum源才可以使用!yum是上層管理工具,自動解決依賴性,而rpm是底層管理工具。

————————————

繼續閱讀