网络安装服务器
yum 仓库的创建
1.创建存放软件包的目录:建议
首先安装:ftp、或者http
这样就有一个目录:/var/ftp/pub/
因为未来的http、nfs、ftp的目录都可以用这个目录
2.创建一个目录,可供http、ftp共同使用:/var/ftp/pub/。已经有了!
3.复制光盘中的所有文件到/var/ftp/pub/
4.检查验证:当然这个步骤可以在另外一台desktop上验证!
①编写yum源的路径:
②刷新缓存。
③验证:使用yum查询或安装一个包。
附加:一
如果出现以下报错:
一、无法读取“分组关系和依赖关系”目录repodata/。
路径出错。改为正确的路径更可。
[root@desktop36 ~]# vim /etc/yum.repos.d/gls.repo
baseurl=file:/var/ftp/pub/rhe6_iso
二、如果没有“分组关系和依赖关系”目录repodata,或者“分组关系和依赖关系”目录repodata/出错,不匹配。那么,
①安装一个包:createrepo RPM。这个包是用来创建包的分组关系和依赖关系。
②先删除原来的目录repodata/。 再运行createrepo,创建“分组关系和依赖关系”。
[root@desktop36 ~]# rm -rf /var/ftp/pub/rhe6_iso/Server/repodata/
[root@desktop36 ~]# createrepo -v /var/ftp/pub/rhe6_iso/Server/
[root@desktop36 ~]# cd /var/ftp/pub/rhe6_iso/Server/
[root@desktop36 Server]# ls
… repodata …
[root@desktop36 Server]# ls repodata/
… repomd.xml …
包的依赖关系有了,但我们发现没有分组关系文件:…comps…文件
③创建“包的分组关系”
这个目录如何创建呢?这个文件不可以被创建,我们必须从光盘中复制一个过来!
挂载光盘,拷贝
[root@desktop36 Server]# ls repodata/
…comps…
“分组关系”,组是指什么呢?指一组包,如:
[root@desktop36 ~]# yum -y groupinstall gnome
备注:
一般来说rhel5.1之前才要去创建目录repodata/,从rhel5.2之后,repodata/都是直接可用的,不用劳神创建。
rhel5.1创建时,这个地方有个bug,命令要重新敲1次即可。
三、如果出现“FTP Error 550:”报错。说明与SELinux有关。
附加:二
对于rhel6的软件创库配置其实与以往的rhel版本没有多大区别,配置语法上基本一样,只是增加了一些额外的参数,还有,就是系统安装光盘的目录结构发生了变化。
一、以下是rhel_6.0-i386-DVD的目录结构:
HighAvailability <—高可用相关软件包,如rhcs等相关套件
Server repodata -> Server/repodata
Packages -> ../Packages
Server <—常规软件包,如mysql,httpd,开发工具,系统管理工具等
Server repodata -> Server/repodata
Packages -> ../Packages
LoadBalancer <—负载均衡相关软件包,如lvs,pirihan
Server repodata -> Server/repodata
Packages -> ../Packages
ResilientStorage
Server repodata -> Server/repodata
Packages -> ../Packages
ScalableFileSystem x86_64中才有
Packages <—真正存放所有软件包的目录。充分理解这个,非常有意义!
images <—rhel安装进程所需要的引导和驱动镜像文件,该目录由于空间原因,去掉了boot.iso,如需要请另行到RHN下载
isolinux <—镜像文件引导时所需要的文件
[HighAvailability 、Server 、LoadBalancer、ResilientStorage、ScalableFileSystem每个目录下都有一个repodata目录(7个压缩包、2个文件);都包含有repomd.xml这个文件;还有包含有1个…comps…的压缩包。
repomd.xml文件的作用是:存放该目录中的所有依赖关系。
…comps…的压缩包的作用是:存放该目录中的所有文件的分组关系。]
二、以下本地Yum软件仓库的配置步骤:
1、拷贝光盘的所有数据到系统某个目录,以便搭建易于修改和升级的软件仓库
2、编辑配置文件
[root@desktop36 Server]# vim /etc/yum.repos.d/dvd.repo
[Server]
name=Servers
baseurl=file:/var/ftp/pub/dvd/Server
gpgcheck=0
[HighAvailability]
name=HA
baseurl=file:/var/ftp/pub/dvd/HighAvailability
gpgcheck=0
[LoadBalancer]
name=LB
baseurl=file:/var/ftp/pub/dvd/LoadBalancer
gpgcheck=0
[ResilientStorage]
name=RS
baseurl=file:/var/ftp/pub/dvd/ResilientStorage
gpgcheck=0
[ScalableFileSystem] x86_64中才有
name=RS
baseurl=file:/var/ftp/pub/dvd/ScalableFileSystem
gpgcheck=0
最简单扼要的配置方法:4行搞定!
[GLS]
name=GLS
baseurl=file:/var/ftp/pub/dvd
gpgcheck=0
注意:如果首次安装软件包之后,再次安装别的软件包的时候,很可能会发现报错了,错误信息如下:
Error: Cannot retrieve repository metadata (repomd.xml) for reposito
InstallMedia. Please verify its path and try again
其实,rhel6在首次读取改软件仓库之后,会把原本光盘根目录下,也就是一同被你拷贝到软件仓库目录的media.repo复制一份到/etc/yum.repos.d/,而该文件也就是导致本地yum源失效的罪魁祸首。
解决方法:
删除软件仓库中的media.repo
[root@desktop36 Server]# rm -f /var/ftp/pub/dvd/media.repo
或者在/etc/yum.conf增加以下选项
[root@desktop36 Server]# vim /etc/yum.conf
skip_if_unavailable=True