使用本地光盘或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/ //修改成自己指定的目录
转载于:https://blog.51cto.com/guodong810/1019314