使用本地光盘或iso来制作yum源
对于redhat来说,因为我们没有购买序列号,所以yum源是不能使用的,但是,人们往往习惯了yum源的方便,所以少了这项功能真的是麻烦多多,但是不怕,只要你有光盘或者是它的iso镜像,我们就可以让yum这个功能正常使用
前提:本地源挂载成功,即/mnt/cdrom 1. 本地源的制作是通过一个文件来控制,它的路径是: /etc/yum.repos.d/下,文件的后缀是: .repo 如把文件名为:cdrom.repo (这个文件可以由系统自带的文件rhel-deuginfo.repo复制得到。) 2. 修改文件 打开这个文件时里面的内容,内容为: [rhel-debuginfo] name=Red Hat Enterprise Linux $releasever - $basearch - Debug baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 注:[ ]仓库,这个名字不能和其他的文件名相同,否则会出现错误。 Name:对仓库的描述文字 baseurl:你使用的要作为yum 源的文件路径如baseurl=file:///mnt/cdrom/Server/ enabled :因为我们要使用这个我们制作的源,所以要把0改为1,如果为0则不能使用这个源 gpgcheck : 这个是说明是否使用gpg验证,因为我们使用的是本地源,所以可以不用开启,让它等于0即可 gpgkey: gpg密钥,因为我们没有启用gpg验证,所以这个是否写没有关系 3. 完成操作,现在就可以使用:yum来进行安装软件了 4.示例 1.挂载光盘 mount –o loop /dev/cdrom /mnt/cdrom 2.复制cdrom.repo cd /etc/yum.repos.d/ cp -p rhel-debuginfo.repo cdrom.repo 3.配置文件 [cdrom] name=cdrom baseurl=file:///mnt/cdrom/Server/ enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 4.配置成功,可以测试使用 yum update 得到结果:cdrom | 1.3 kB 00:00
在更新yum源时,有时会出现下面的错误
[root@centos CentOS]# yum update
Loaded plugins: fastestmirror, security
Determining fastest mirrors
file:///mnt/cdrom/CentOS/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] No such file or directory: '/mnt/cdrom/CentOS/repodata/repomd.xml'
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again
对于这个问题,我们需要重新创建repomd.xml来解决,因为是直接挂载到光盘上,而光盘是不可写,所以要更新repomd.xml文件,必须要把/mnt/cdrom/CentOS中的内容复制到一个可写的目录中
# mkdir /mnt/CentOS
# cp /mnt/cdrom/CentOS/* /mnt/CentOS/ //把软件复制到/mnt/CentOS中
# mkdir /mnt/CentOS/repodata //创建 repodata文件夹
创建repomd.xml需要使用一个工具:createrepo 这个文件在镜像中可以直接安装
# rpm -ivh /mnt/cdrom/CentOS/createrepo-0.4.11-3.el5.noarch.rpm
开始进行软件的更新
# createrepo --update /mnt/CentOS/
更新之后,更改yum源目录(vim /etc/yum.repos.d/cdrom.repo)
baseurl=file:///mnt/CentOS/ //修改成自己指定的目录