需求场景:企业的内部网络或是集群服务器往往是无法直接连接到外网的,在给其安装配置软件的时候直接使用yum命令是不行了,但是rpm又无法很好的解决软件相互依赖的问题,这时,就是配置yum服务器源的用武之地了。
什么是yum:
Yum(全称为 Yellow dog Updater, Modified)yum是软件的仓库,是一个在Fedora中的shell前端软件包管理器。基于rpm包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些 header并加以分析,才能自动化地完成余下的任务。
软体包来源:
可供Yum下载的软体包包括 fedora 本身的软体包以及源自rpm.livna.org的Fedora Extras,全部是由Linux社区维护的,并且基本是自由软体。所有的包都有一个独立的GPG签名,主要是为了你的系统安全。而对于Fedora core 4.0的用户rpm.livna.org的签名是自动导入并安装的。
YUM的特点:
1、可以同时配置多个资源库(Repository)
2、简洁的配置文件(/etc/yum.conf)
3、自动解决增加或删除rpm包时遇到的依赖性问题使用方便
4、YUM分为服务器端和客户端
设立本地yum源:
将光盘中的rpm库作为yum源为本地提供安装服务。
步骤:
1.挂载光盘或镜像
#mount -o loop rhel5.iso /mnt/cdrom --挂载光盘镜像的办法
#mount /dev/cdrom /mnt/cdrom --挂载实际光驱的办法
2.#vi /etc/yum.repos.d/iso.repo --创建配置文件
以下是配置文件内容:
[iso]
name=iso
baseurl=file:///mnt/cdrom/Server/
gpgcheck=0
3.#yum update --建立服务
设置网络yum源:
①用ftp服务器架设yum 服务器:
1.服务器端要安装要以下两个软件包:
createrepo-0.4.11-3.el5.norach.rpm
yum-3.0.1-5.el5
2.把所有的rpm文件全部考到/var/ftp/pub/中
3.安装createrepo-0.4.11-3.el5.norach.rpm
4.用 createrepo -v /var/ftp/pub/ 来重建索引文件。建立的索引文件存放在/var/ftp/pub下生成一个repodata目录里。
或用createrepo-g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml生成。
如果提示有.olddate,就删除之后再运行一遍createrepo命令
5.然后用service vsftpd restart命令重新启动vsftpd服务就可以了,这样服务器端就配置好了。ftp一定要可以匿名登录。
②客户端配置:
1.客户端配置目录在/etc/yum.repos.d/ 文件名要以.repo为后缀,配置文件内容简介:
[rhel]
name=Red Hat Enterprise Linux
baseurl=ftp://192.168.0.200/pub 192.168.0.200为ftp服务器的地址
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RedHat-release
[ ]内的是仓库的名字
name是仓库的描述也可以说是名字
baseurl 仓库的位置,如果是本地配置为客户端,则要以"file:/"开头,如果库在ftp服务器上就按上图显示
配置.在这里注意这个地址不能写成ftp://192.168.0.200/var/ftp/pub目录,因为登陆到ftp上的根目录就是/var/ftp目录.
enabled 是否启用这个仓库,1为起用,0为禁用
gpgcheck 是否检查GPG签名(用来验证要安装的包是不是RedHat官方的,这一行没有也可)
GPGKEY 的存放地址一般就在图片上显示的,(这一行没有也行)
安装参数:
yum <options> <command><package...>
参数说明:
options: 常用的有
-y : 如果在工作过程中如要使用者响应,这个参数可以直接回答yes
command:
list : 列出在yum server 上面有的RPM套件
install: 安装某个套件
update : 升级某个套件,如果update后面没有接套件名称,即更新目前主机所有已安装的套件.
info : 列出某个套件的详细信息,相当于rpm -qi package内容
clean : 将已下载到本机的packages或headers移除
remove: 移除已经安装在系统中的某个套件
yum localinstall package 本地安装软件包
yum update 全部更新
yum update package 更新指定程序包package
yum check-update 检查可更新的程序
yum info <package> 显示安装包信息
yum list 显示所有已经安装和可以安装的程序包
yum list <package> 显示指定程序包安装情况
yum search <keyword>查找软件包
yum remove | erase package1 删除程序包
yum clean headers 清除header
yum clean packages 清除下载的rpm包
yum clean all 清除header与rpm包
例如:
如果最后显示的installed则表示系统已经安装了该软件包,显示的是server则系统没有安装该软件包