zoukankan      html  css  js  c++  java
  • yum服务器设置

    转自:http://blog.chinaunix.net/uid-22141042-id-1789605.html

    不得不说,RedHat的确很邪恶,如果我们直接用他自带的系统碟做YUM源的话,总是会得到类似下面的信息:

    media://1192656534.547140%232/httpd-2.2.3-11.el5.i386.rpm:[Errno 4] IOError: <urlopen error unknown url type: media>
    Trying other mirror.
    Error: failed to retrieve httpd-2.2.3-11.el5.i386.rpm from rhel
    error was [Errno 4] IOError: <urlopen error unknown url type: media>

    不过,还好Linux是开源的,我们可以自己RH的rpm包自己来架设一个源。

    首先,我们按照他的目前结构把光盘上所有的文件拷贝一份到服务器上(假设服务器目录为/yumrepo)

    # mount /dev/cdrom /mnt
    # cp -ar /mnt/* /yumrepo

    然后,我们要先安装一个RPM包才能开始架设YUM仓库

    # cd /yumrepo/Server
    # rpm -ihv createrepo-0.4.4-2.fc6.noarch.rpm 
    warning: createrepo-0.4.4-2.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, keyID 37017186
    Preparing...               ########################################### [100%]
       1:createrepo            ########################################### [100%]

    这个包安装之后,会生成一个新的命令:/usr/bin/createrepo,而这个命令是我下面必须要用到的。
    首先生成最重要的东西,是最基本的RPM:

    #cd /yumrepo/Server
    # cp repodata/comps-rhel5-server-core.xml /root
    # rm -rf repodata
    # createrepo -g  /root/comps-rhel5-server-core.xml  .
    2159/2159 - xorg-x11-drv-cyrix-1.1.0-4.i386.rpm       
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata

    comps-rhel5-server-core.xml这个文件保存的是分组的信息,这个是createrepo这个命令不能自动生成的,我们要先把这个信息保存下来。

    然后其他的几个目录,Cluster,ClusterStorage,VT也按上面的方法做一次,要注意的是comps-rhel5-server-core.xml这个文件名会不相同,但都以comps开头。我们的YUM仓库到这里也就建好了。

    接下来,我们要做的就是要设置/etc/yum.repo.d里面的内容了,大家按我这个里面的写就是:

    [Server]
    name=Red Hat Enterprise Linux Server Core
    baseurl=file:///yumrepo/Server
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    [VT]
    name=Red Hat Enterprise Linux Virtual Technology
    baseurl=file:///yumrepo/VT
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    [Cluster]
    name=Red Hat Enterprise Linux Cluster
    baseurl=file:///yumrepo/Cluster
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    [ClusterStorage]
    name=Red Hat Enterprise Linux Cluster Storage
    baseurl=file:///yumrepo/ClusterStorage
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

    当然,你也可以通过http与ftp方式把这个目录发布出去,那只要把相关的file:///yumrepo/这部分修改一下就可以了。

    PS:
    也可以修改这个文件:/usr/lib/python2.4/site-packages/yum/yumRepo.py中的411行来直接使用光盘做YUM仓库
    比如我们上面的例子中,可改为:

    remote = url + '/' + relative

    改为:

    remote = “/mnt” + '/' + relative

    其中mnt为你光盘的挂载点

  • 相关阅读:
    TCP,UDP协议下的socket通信
    socket套接字
    野指针
    各种数据类型与零值比较规范
    【C++复习】1.1基本概念
    【转载】C++中的static关键字的总结
    Windows10下搭建汇编语言开发环境(利用DOSBOX和MASM32)
    初试ARM开发板
    命令行中编译和运行JAVA程序出现“错误: 找不到或无法加载主类”
    用c语言产生随机数的方法
  • 原文地址:https://www.cnblogs.com/nufangrensheng/p/3485771.html
Copyright © 2011-2022 走看看