yum


yum Yellowdog Uupdate Modifier 
yum 屬於C/S架構,從yum倉庫中獲取所需的軟件包。yum倉庫中存儲兩類數據。軟件包自己和包的元數據。數據就是各個rpm包自己。元數據包括:包名,版本信息,各包所包含的文件列表,包之間的依賴關係,包分組信息 
    centos5 使用的xml來保存這元數據,而centos6以上使用一個關係型數據庫sqlite保存元數據。 

yum安裝軟件請求過程 
第一步:獲取元數據,緩存於本地。/var/cache/yum 
第二步:yum客戶端程序在本地分析元數據文件,並結合本地系統環境(查看本地都安裝了那些包)獲取依賴關係。而後分析須要那些依賴的程序包 
第三步:根據分析的結果,聯繫yum倉庫下載各個程序包後,一併安裝。 
第四步:刪除下載的數據包,以釋放空間。 

yum經常使用倉庫種類。 
base庫一般爲發行版光盤中所提供的程序包 
updates庫 最新的軟件更新包。
epel庫是fedora的倉庫php

    推薦地址:http://mirrors.ustc.edu.cn/fedora/epel/
nginx

優先級爲,base , updates, epel 
extra庫,其它不經常使用的包 

使用yum機制 
1,確保有yum repo可用,經常使用的網絡源有搜狐 http://mirrors.sohu.com 網易http://mirrors.163.com 。 rpm包的文件服務器上repodata目錄的父目錄即是可用的倉庫 
rpm訪問時使用的協議有ftp,http,nfs,文件協議(file:///) 

2,yum客戶端 
提供repo配置文件,主配置文件在/etc/yum.conf。,yum倉庫配置文件在/etc/yum.repo.d/*.repo 
yum倉庫配置格式 
[REPOID] yum的ID
name=倉庫描述 
baseurl=file:///mnt/cdrom 這裏指定yum源的路徑
enable={0|1}若是不定義,默認爲啓用些配置文件 
gpgcheck={0|1}1表示檢測0爲不檢測 
gpgkey=url #指定key文件的位置 
mirrorlist=url to a file#這個文件中有多個鏡像列表 
cost=1000#若是指定了多個倉庫,指定一個訪問的開銷。範圍1-1000,默認爲1000 


yum 客戶端命令的子命令 
repolist {enable|disabled|all} 列出可用的repo倉庫名 
list {all|installed|avail} 列出倉庫中的軟件包,all所有,installed已安裝的,available爲能夠安裝的 
    示例:yum list php* 這句命令能夠顯示已經安裝與可安裝的包 
info 軟件包名稱:查看軟件包的描述信息,不管安裝過與未安裝過的包都會顯示 
grouplist 顯示軟件包組信息。 
groupinfo 「包組名」 :顯示包組屬性信息,包組名要用隱號隱起來
clean all 清理緩存 
install 安裝程序包,後面跟上軟件包名。 
yum install <包的絕對路徑> 這種方法能夠安裝不屬於倉庫中的軟件包,但會解決依賴關係。前師是倉庫中有此包所需的包。適用centos6。 sql

    示例:yum install /media/Packages/pdf-tools-0.29a-2.1.el6.noarch.rpm數據庫

groupinstall 安裝包組,後面要跟上包組名,包組要用雙隱號隱起來 
reinstall 從新安裝軟件包,後面跟上軟件包名。 
update 升級軟件包,後面跟上要升級的軟件包名。 
    能夠直接跟上軟件包的名稱和版本號,直接升級到指定版本。 
downgrade 降級軟件版本,後面跟上指定的軟件版 
remove 卸載軟件包,若是其它軟件包依賴此軟件包,其它軟件包也會被卸載 
erase 卸載軟件包 
whatprovides 查詢某個文件由那個軟件包生成的 
provides 同上 
groupremove 卸載包組,包組要用雙隱號隱起來 
check-update 檢查可用的升級包。 


yum倉庫建倉 
前題須要一個文件共享服務器,把rpm包放在文件服務器上的一個目錄下,並用createrepo命令建立yum庫。而後把客戶端向此yum源 

把rpm包都複製到文件服務的目錄裏,而後須要安裝createrepo命令的軟件包, 
centos

#yum install createrepo-0.9.9-18.el6.noarch.rpm
 
#createrepo /data/yum/

配置客戶端使用此倉庫就能夠了緩存

[test]
name=test
baseurl= #由於80端口httpd佔用了,而服務器上用的是nginx,改成8000了 
enable=1
gpgcheck=1
gpgkey=http://127.0.0.0:8000/yum/RPM-GPG-KEY-CentOS-6


fedora的yum源配置文件,全部系統都適用bash

[epel]
name=CentOS-$releasever - EPEL
#baseurl=http://mirrors.ustc.edu.cn/fedora/epel/$releasever/$arch/
baseurl=http://mirrors.ustc.edu.cn/fedora/epel/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
相關文章
相關標籤/搜索