yum本地源 baseurl repodata repomd.xml comps.xml(三)

2 )制作本地源,用 createrepo 生成 repodata 目录, 以光驱为源
为了避免从网络下载软件包可能发生的软件包不完整、下载速度慢、网络故障等问题,我们强烈建议您使用本地的 DVD/CD iso 来创建 yum 仓库,这样在安装的时候速度快,而且可以保证所有软件包都能顺利安装。
如果您有局域网内的 yum 仓库,可以直接使用它,就不需要按照以下的步骤重复创建了。
下面的操作都是在您安装好 RHEL/CentOS 系统后进行的。
1 先从光盘或已有的 YUM 仓库安装 createrepo 工具:
Shell 命令:
# rpm -ivh createrepo-x.y.z.rpm
createrepo 命令用于生成 yum 仓库所必须的一些信息,这些信息都存放在 repodata/ 目录底下,您打开看看就会明白它做了些什么事情。
2 使用 ISO 文件制作 yum 仓库
2 1      DVD ISO
2 1 1 如果你使用的是 DVD 光盘,可以直接挂载光盘,然后制作 yum 仓库:
Shell 命令:
# mkdir /mnt/dvd/
# mount /dev/cdrom /mnt/dvd/
# cd /mnt
# createrepo .
2 1 2 如果您使用的是官方的 DVD ISO ,则需要将它复制到系统上,挂载后制作 yum 仓库:
Shell 命令:
# mkdir /mnt/dvd/
# mount -o loop /root/rhel5.1-dvd.iso /mnt/dvd
# cd /mnt
# createrepo .
2 2      CD ISO
2 2 1 如果您使用的是多个 CD iso 文件,需要先复制到系统上,挂载后制作 yum 仓库。
有几个 ISO 就创建几个目录,并将对应的 ISO 挂载上去:
Shell 命令:
# mkdir -p /mnt/{1,2,3,4,5,6}
# mount -o loop rhel5.1-disc1.iso /mnt/1
# mount -o loop rhel5.1-disc2.iso /mnt/2
# mount -o loop rhel5.1-disc3.iso /mnt/3
# mount -o loop rhel5.1-disc4.iso /mnt/4
# mount -o loop rhel5.1-disc5.iso /mnt/5
创建 yum 仓库:
Shell 命令:
# cd /mnt/
# createrepo .
3 .定义 yum 仓库
创建 yum 仓库的定义文件: /etc/yum.repos.d/dvdiso.repo ,然后加入以下内容:
Shell 命令:
[DVDISO]
name=DVD ISO
baseurl=file:///mnt/
enabled=1
gpgcheck=0
4 .测试 yum 仓库
强烈建议执行 'yum clean all' 命令,将所有 yum metadata 等信息清空,再重新获取最新的仓库信息:
Shell 命令:
# yum clean all
# yum list
如果在 'yum list' 命令的输出中能够看到刚才制作的仓库里的软件包的名字,那就是 OK 了。再试着安装一个软件包看是否成功:
Shell 命令:
# yum install cyrus-sasl.i386
如果是 x86_64 平台,则将后面的 i386 改为 x86_64
Shell 命令:
# yum install cyrus-sasl.x86_64
如果安装成功,表示 yum 仓库和 RPM 包都没问题。
 
3 ftp 搭建 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 �C 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 一定不能手动生成,默认安装光盘上已经有了
   2 .做完上面的步骤后会有一个错误提示,“ Could not remove old metadata dir: .olddata “说目录有问题。不用管他,把那个目录删除掉
   rm �C 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 # 验证的密钥,可不要
 
4 RHEL5.1用光盘做yum 以下源自 http://www.shocr.com/rhel5-1-cdrom-yum-source/
RHEL5.4 可以直接使用光盘作 yum 源,而 RHEL5.1 不能直接用光盘中的源 , 否则会出现  urlopen error unknown url type: media ,需要改造一番,注意这里提供的方法不用拷贝光盘中的大量文件 .
1. 将光盘镜像挂载到 /media/RHEL/ 目录下
[root@Blinux Desktop]#mkdir /media/RHEL
   
[root@Blinux Desktop]#mount /root/rhel5.1.iso /media/RHEL -o loop
 
2. 生成库文件
[root@Blinux Desktop]#mkdir  /media/yum/
   
[root@Blinux Desktop]#rpm -ivh /media/RHEL/Server/createrepo-
   
   
    0.4.4
   -2.fc6.noarch.rpm
   
[root@Blinux Desktop]createrepo -o /media/yum/ -g /media/RHEL/Server/repodata/comps-rhel5-server-core.xml /media/RHEL/Server/
   
[root@Blinux Desktop]mount --bind /media/yum/repodate/ /media/RHEL/Server/repodate/
   
3. 生成依赖关系
[root@Blinux Desktop]# vim /etc/yum.repos.d/rhel-debuginfo.repo
修改为类似
[rhel]
name=Red
baseurl=file:///media/RHEL/Server/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@Blinux Desktop]# yum clean all;yum makecache
RHEL5.1 下的本地 YUM 源就这样 OK 了,注意 , 这里并没有拷贝大量的文件,而是挂载 .
 
5 http 搭建 yum 服务器 ( )
 
参考资料:参考了很多,没办列举,敬请原谅!

你可能感兴趣的:(yum本地源,baseurl,repomd.xml,repodata,comps.xml)