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
相关文章
相关标签/搜索