红联Linux门户
Linux帮助

怎么做本地源或是系统镜像的源??

发布时间:2011-03-10 18:33:48来源:红联作者:fujiefujie
之前安装rpm包因为软件包的依赖关系装不上。
索性就用了nodeps 选项 之后发现安装的程序在重启机器后就不能用了。
怎么把光盘镜像作为软件源 自动分析依赖关系 安装软件??
:0D1
文章评论

共有 6 条评论

  1. fujiefujie 于 2011-03-10 22:03:04发表:

    呃 谢谢

  2. age 于 2011-03-10 21:21:54发表:

    [i=s] 本帖最后由 age 于 2011-3-10 21:27 编辑 [/i]

    3# fujiefujie

    你这种方法需要自己解决所有的依赖关系, 如果缺包就要自己去找, 去打包, 太麻烦了
    最好的方法是去和官方源同步, 像repodata/文件夹什么的都不要修改. 源里面都做好了
    没有用过rhel, 而是用的再编译发行版, 5.5 i386大概是9G, 6.x i386大概是6G
    每天更新量都很少. 2M带宽足以.
    PS: DVD光盘本身就是一个源, 里面已经有生成好的repodata/文件夹, 只要修改下repo文件路径指向就可以了. 如果是安装mplayer之类的软件, 需要再同步下dag源
    贴下我的sl更新脚本, 其中 /media/repo/exclude.txt 主要是屏蔽iso/和一些游戏包. 因为这个文件也同时被arch更新采用[code]#!/bin/bash

    set -x

    echo -e "\n"
    date

    SOURCE="rsync://ftp.riken.jp/scientificlinux"
    #SOURCE="rsync://mirror.cs.wisc.edu/scientificlinux"
    DST="/media/repo/sl"
    REPO="6x"
    ARCH="i386"

    #创建待同步目录
    mkdir -p $DST/$REPO/$ARCH

    rsync -avh --progress --delete-after --partial --exclude=/sites --exclude=*.src.rpm --exclude-from=/media/repo/exclude.txt $SOURCE/$REPO/$ARCH/ $DST/$REPO/$ARCH/


    [/code]

  3. treo 于 2011-03-10 21:12:40发表:

    路过

  4. tiany524 于 2011-03-10 20:15:26发表:

    收藏了

  5. fujiefujie 于 2011-03-10 19:12:16发表:

    恩 看过了 谢谢 网上搜来一些资料 分享一下 大同小异


    其实自己架设本地源重要的有两点。一是用createrepo程序对存放rpm包的文件夹进行依赖项关系生成,它会在rpm包所在的目录下建立个repodata文件夹,里面存放了createrepo生成的一些信息。二是配置yum的配置文件,将源的地址加上去就可以了。下面是实际操作:

    1 准备源,这里以dvd光盘中的Server目录为例,将该目录拷贝到本机,我是放在/var下。

    2 使用createrepo生成依赖信息,注意在Server下本身有一个reopdata文件夹,里面存放的是createrepo生成的东西,只不过这是由厂商做的而已。里面还有个comps-rhel5-vt.xml ,这个文件是对rpm包分组用的,具体我也不是很清楚。做法如下

    先将comps-rhel5-vt.xml 拷贝出来备用,这里直接放在/下面

    createrepo -g comps-rhel5-vt.xml /var/Server

    这是会在Server目录下重新生成repodata文件夹

    3 修改yum配置文件,使其使用本地源。

    打开/etc/yum.repos.d/下以repo结尾的文件(记得先备份一下),按如下修改:

    [WindFlow]#随意,但是不要再字符串中出现空格

    name=RHEL Local#

    baseurl=file:///var/sources/Server#源的位置,你的可能和这里不一样

    enabled=1#启用该源

    gpgcheck=0#不用验证

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

    4 使用如下命令更新yum

    yum clean all

    5 执行 yum list。如果输出很多项应该没没问题了。

    这里要注意:yum扫描yum.repos.d下所有以.repo结尾的文件来查找源。

  6. tiany524 于 2011-03-10 18:47:42发表:

    http://www.linuxdiyf.com/bbs/thread-194469-1-1.html
    这个能帮助你