如何在REDHAT5.1下搭建自己的YUM
大家知道,REDHAT5.0后在X界面下使用“Add/Remove Software”是不能安装或者卸载软件包的,如果要使用要么去花钱注册,要么自己搭建一个本地的YUM源。
用过LINUX的人都知道,有时候安装程序包是一件非常痛苦的事,经常是要装A就要先装B,而装B前要先装C,装C前又要先安装A。碰到这种死循环会让你苦笑不得。但如果搭建一个YUM,就可以比较好的解决(至少系统光盘自带的包)各种包的依赖性关系。
本文就是探讨如何去搭建一个本地的YUM源。
一,准备工作
1,启动REDHAT Linux ,并放入安装光盘
2,挂载光驱 mount /dev/cdrom /mnt
3,安装FTP服务.如果你只是自己本机使用YUM源可以省略掉这一步
cd /mnt/Server
rpm -ivh vsftpd*
chkconfig vsftpd on
service vsftpd start
4,安装createrepo软件包
rpm –ivh createrepo*
5,拷贝系统盘中的文件本系统中
cp -R /mnt/Server /var/ftp/pub
二,搭建YUM
1, 生成依赖性关系
createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server/
这个地方要注意,comps-rhel5-server-core.xml一定不能手动生成,默认安装光盘上已经有了
注:要是创建redhat as4的仓库,则直接执行
# createrepo /opt/YUM/RHEL4.8_x64/RPMS 就行了
2, 做完上面的步骤后会有一个错误提示,“Could not remove old metadata dir: .olddata“说目录有问题。不用管他,把那个目录删除掉
rm –rf /var/ftp/pub/Server/.olddata
3, 把步骤1再做一遍
createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server/
4,cd /etc/yum.repos.d
vim yum.repo (新建一个仓库文件,名字可以随便起,在文件中写如下内容)
[base]
name=base
baseurl=ftp://192.168.0.6/pub/Server #192.168.0.6是你的YUM源地址
enabled=1 #是否开启源
gpgcheck=1 #是否验证,可不要
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #验证的密钥,可不要
~
经过以上步骤后,自己的YUM源就搭建好了。当然,你可以把你的源提供给别人使用,要使用的人只用将你的repo文件复制一份到/etc/yum.repos.d/下,或者自己手写一份。如果还想做其他仓库,比如VT,Cluster,ClusterStorage,重复上面的步骤,然后改改仓库文件就可以了。
有了YUM,以后再安装软件包就方便很多了,不用考虑依赖性关系。
创建Cluster、ClusterStorage、VT的yum源:
目录结构:
[root@cactiez RHEL5.3_x86]# pwd
/opt/YUM/RHEL5.3_x86
[root@cactiez RHEL5.3_x86]# ls
Cluster ClusterStorage Server VT
# createrepo -g /opt/YUM/RHEL5.3_x86/VT/repodata/comps-rhel5-vt.xml
/opt/YUM/RHEL5.3_x86/VT/
# createrepo -g /opt/YUM/RHEL5.3_x86/VT/repodata/comps-rhel5-vt.xml
/opt/YUM/RHEL5.3_x86/VT/
# createrepo -g /opt/YUM/RHEL5.3_x86/Cluster/repodata/comps-rhel5-cluster.xml
/opt/YUM/RHEL5.3_x86/Cluster
# createrepo -g /opt/YUM/RHEL5.3_x86/Cluster/repodata/comps-rhel5-cluster.xml
/opt/YUM/RHEL5.3_x86/Cluster
# createrepo -g /opt/YUM/RHEL5.3_x86/ClusterStorage/repodata/comps-rhel5-cluster-st.xml /opt/YUM/RHEL5.3_x86/ClusterStorage
# createrepo -g /opt/YUM/RHEL5.3_x86/ClusterStorage/repodata/comps-rhel5-cluster-st.xml /opt/YUM/RHEL5.3_x86/ClusterStorage
# more gmm-rhel5.3_x86.repo
[base]
name=base
baseurl=ftp://10.1.1.190/RHEL5.3_x86/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[VT]
name=VT
baseurl=ftp://10.1.1.190/RHEL5.3_x86/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[Cluster]
name=Cluster
baseurl=ftp://10.1.1.190/RHEL5.3_x86/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ClusterStorage]
name=ClusterStorage
baseurl=ftp://10.1.1.190/RHEL5.3_x86/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
在rhel4中设置yum源的时候,需要
# rpm --import
RHEL5使用光盘作为仓储的配置:
# vi /etc/yum.repos.d/mycdrom.repo
[Base]
name=RHEL5 ISO Base
baseurl=file:///media/cdrom/Server
enabled=1
gpgcheck=0
[Cluster]
name=RHEL5 ISO Cluster
baseurl=file:///media/cdrom/Cluster
enabled=1
gpgcheck=0