程式包管理之yum
yum命令引數使用詳解
一、yum的簡介
yum,是Yellow dog Updater, Modified 的簡稱,是杜克大學為了提高RPM 軟體包安裝性而開發的一種軟體包管理器。起初是由yellow dog 這一發行版的開發者Terra Soft 研發,用python 寫成,那時還叫做yup(yellow dog updater),後經杜克大學的[email protected] 開發團隊進行改進,遂有此名。yum 的宗旨是自動化地升級,安裝/移除rpm 包,收集rpm 包的相關資訊,檢查依賴性並自動提示使用者解決。yum 的關鍵之處是要有可靠的repository,顧名思義,這是軟體的倉庫,它可以是http 或ftp 站點,也可以是本地軟體池,但必須包含rpm 的header,header 包括了rpm 包的各種資訊,包括描述,功能,提供的檔案,依賴性等。正是收集了這些header 並加以分析,才能自動化地完成餘下的任務。
yum的理念是使用一箇中心倉庫(repository)管理一部分甚至一個distribution 的應用程式相互關係,根據計算出來的軟體依賴關係進行相關的升級、安裝、刪除等等操作,減少了Linux 使用者一直頭痛的dependencies 的問題。這一點上,yum 和apt 相同。apt 原為debian 的deb 型別軟體管理所使用,但是現在也能用到RedHat 門下的rpm 了。
yum主要功能是更方便的新增/刪除/更新RPM 包,自動解決包的倚賴性問題,便於管理大量系統的更新問題。
yum可以同時配置多個資源庫(Repository),簡潔的配置檔案(/etc/yum.conf),自動解決增加或刪除rpm 包時遇到的依賴性問題,保持與RPM 資料庫的一致性
二、yum的配置
配置檔案:
/etc/yum.conf:為所有倉庫提供公共配置
/etc/yum.repos.d/*.repo:為倉庫的指向提供配置
倉庫指向的定義:
[repositoryID]
name=Some name for this repository這個倉的名稱
baseurl=url://path/to/repository/
enabled={1|0}是否啟用此倉庫
gpgcheck={1|0}是否檢查完整性及來源合法性
gpgkey=URL金鑰檔案路徑連結
enablegroups={1|0}是否在此倉庫上支援使用組,來批量管理程式包
failovermethod={roundrobin|priority按順序}
預設為:roundrobin,意為隨機挑選;
cost= 開銷
預設為1000
教室裡的yum源:http://172.16.0.1/cobbler/ks_mirror/CentOS-6.6-x86_64/
CentOS 6.7 X84_64 epel:http://172.16.0.1/fedora-epel/6/x86_64/
三、yum命令的用法:
顯示程式包:
list
# yum list [all | glob_exp1] [glob_exp2] [...]
# yum list {available|installed|updates} [glob_exp1] [...]
圖示:
安裝程式包:
install package1 [package2] [...]
reinstall package1 [package2] [...] (重新安裝)
升級程式包:
update [package1] [package2] [...]
downgrade package1 [package2] [...] (降級)
檢查可用升級:
check-update
解除安裝程式包:
remove | erase package1 [package2] [...]
檢視程式包information:
info [...]
檢視指定的特性(可以是某檔案)是由哪個程式包所提供:
provides | whatprovides feature1 [feature2] [...]
清理本地快取:
clean [ packages | metadata 元資料| expire-cache過期資料 | rpmdb | plugins | all ]
構建快取:
makecache
搜尋:
search string1 [string2] [...]
以指定的關鍵字搜尋程式包名及summary資訊;
檢視指定包所依賴的capabilities:
deplist package1 [package2] [...]
檢視yum事務歷史:
history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
安裝及升級本地程式包:
* localinstall rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use install)
* localupdate rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use update)
包組管理的相關命令:
* groupinstall group1 [group2] [...]
* groupupdate group1 [group2] [...]
* grouplist [hidden] [groupwildcard] [...]
* groupremove group1 [group2] [...]
* groupinfo group1 [...]
如何使用光碟當作本地yum倉庫:
(1) 掛載光碟至某目錄,例如/media/cdrom
# mount -r -t iso9660 /dev/cdrom /media/cdrom
(2) 建立配置檔案
[CentOS 6]
yum的命令列選項:
--nogpgcheck:禁止進行gpg check;
-y: 自動回答為“yes”;
-q:靜默模式;
--disablerepo=repoidglob:臨時禁用此處指定的repo;
--enablerepo=repoidglob:臨時啟用此處指定的repo;
--noplugins:禁用所有外掛;
yum的repo配置檔案中可用的變數:
$releasever: 當前OS的發行版的主版本號;
$arch: 平臺;
$basearch:基礎平臺;
$YUM0-$YUM9
http://mirrors.magedu.com/centos/$releasever/$basearch/os
四、建立yum倉庫:
createrepo [options] <directory>
1、建立本地repo目錄
[[email protected]]#mkdir -p /yum/repo
2、到遠端伺服器下載rpm到本地
4、yum源建立完成
5、配置本地yum源
轉載於:https://blog.51cto.com/liaodijin/1727533