zoukankan      html  css  js  c++  java
  • 在centOS中加入本地ISO yum源

    注:本文转载自《liujun_live的博客》,感谢原博主的辛勤写作;原文地址:http://blog.sina.com.cn/s/blog_8ea8e9d50101em6f.html

    在没有网络的情况下,本地镜像源不实为一个上等的权宜之计!


        目前linux的两大主流包管理器(基于redhat rpm包系列的yum和基于以debian deb包系列的apt-get)都提供本地dvd或ISO入源的功能,即使用本地的dvd或ISO镜像作为软件安装源。

        但ISO镜像比刻盘后再放进光驱加载来得方便,也不损耗光驱,所以不实为一个上上之选噢!


    #########
      yum
    #########

        相信习惯了yum安装软件包的朋友们都对yum有不错的评价,现在就给大家介绍一下,怎么把一个从网上下好的ISO dvd镜像作为源来安装软件,这在没有网络的情况下可以说是相当不错的功能噢!特别是在编译某些源码包的时候缺这缺那库的时候更能突显本地yum源的方便省事。
        这里以兼容redhat企业版的CentOS 6.2来介绍,yum的repo文件默认放置在/etc/yum.repos.d这个目录,而我们的CentOS 6已经为我们准备了一些源,其中就包括了一个未启用的本地ISO的repo, CentOS-Media.repo,默认文件内容如下:

    ##################
    CentOS-Media.repo
    ##################
    # CentOS-Media.repo
    #
    # This repo is used to mount the default locations for a CDROM / DVD on
    #  CentOS-6.  You can use this repo and yum to install items directly off the
    #  DVD ISO that we release.
    #
    # To use this repo, put in your DVD and use it with the other repos too:
    #  yum --enablerepo=c6-media [command]
    #  
    # or for ONLY the media repo, do this:
    #
    #  yum --disablerepo=* --enablerepo=c6-media [command]

    [c6-media]
    name=CentOS-$releasever - Media
    baseurl=file:///var/ftp/ct6
                  file:///var/ftp/ct6_2
    gpgcheck=1
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

        我们只需修改两个地方取可配置完成:

        1. baseurl=file:///var/ftp/ct6
                            file:///var/ftp/ct6_2

        baseurl(base uniform resource location),用来指定DVD或ISO挂载目录(大家不要奇怪,为什么是这个目录?因为我的iso镜像是作为系统安装源挂载在ftp上,所以就简单地直接将该目录作为baseurl,大家可以根据自己的喜好来设定挂载目录,只要是挂目录就行),如上,我下的CentOS 6镜像的ISO有两个文件,一个3.6G(安装系统所必备)一个900MB(额外软件包)左右(主要考虑fat32文件系统单个文件不能超过4G而进行的分割(split)),所以我这里就设了两个file;大家要是下载的是4.6G左右的ISO就只需设一个就OK了。

       2.enabled=1
        将默认的enabled=0修改为enabled=1表示启用该repo

        其它选项保持默认就行,哈,也没有必要作过多的设置,用的就是简单么!呵呵!

        3.将ISO挂载到指定目录,一般习惯上我们会把ISO挂到/mnt下的任意一个空目录,比如:/mnt/iso或/mnt/ct6,呵呵,这个,It's up to you!!!  因为我下的是两个所以这里就挂两个喽!

        sudo mount -o loop /mnt/games/centos-6/centos-6.2-i386-dvd.iso /var/ftp/ct6
        sudo mount -o loop /mnt/games/centos-6/centos-6.2-i386-dvd2.iso /var/ftp/ct6_2


        4.加入开机启动
        有朋友可能会问,那每次用的时候都要手动挂上去,太麻烦了,有没有一种能自动挂载的方法?
        有的,如果想在linux开机的时候就将ISO挂上去,可以在/etc/rc.local文件中添加要挂载ISO的命令就OK,这样以后就可以到哪都有本地yum源喽!

        sudo vi /etc/rc.local

    #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don't
    # want to do the full Sys V style init stuff.

    touch /var/lock/subsys/local

    mount -o loop /mnt/games/centos-6/centos-6.2-i386-dvd.iso /var/ftp/ct6
    mount -o loop /mnt/games/centos-6/centos-6.2-i386-dvd2.iso /var/ftp/ct6_2


    ###############
    本地yum源的使用
    ###############
                                       
        细心的朋友可能已经注意到了,CentOS 6的CentOS-Media.repo文件中已经告诉我们最简单的使用方法了,那就是:

        yum --disablerepo=* --enablerepo=c6-media [command]   #禁用除c6-media(本地源名)以外的其它repo

        例如:
        1.安装screen
        yum --disablerepo=* --enablerepo=c6-media install screen
        2.安装dhcp
        yum --disablerepo=* --enablerepo=c6-media install dhcp*
        3.搜索vsFTP
        yum --disablerepo=* --enablerepo=c6-media search vsftp
        4.安装软件包集合,kde-desktop
        yum --disablerepo=* --enablerepo=c6-media groupinstall kde-desktop

        怎么样,是不是相当之方便呢!命令行完全和yum相同只是加了点前缀而己。


    **********
    小技巧
    **********
            很多朋友是不是觉得yum --disablerepo=* --enablerepo=c6-media [command] ,这一长串命令太长,有时候装软件比较多时相当的"痛苦",哈,我开始就有过这样的感觉,每次要用的时候没准还要去先看看CentOS- Media.repo,因为确实有那么一点小长,后来想想,定义个别名(alias)不就OK了!
        vi ~/.bashrc   添加这么一行

        alias yi='yum --disablerepo=* --enablerepo=c6-media '  #“yi”是我自己定义的,这个可以根据自己喜好随意定义


        然后,source ~/.bashrc 使配置生效!

        接下来就可以通过以下命令进行软件安装和搜索
        yi search   <软件包>
        yi install  <软件包>

  • 相关阅读:
    POJ 1651:Multiplication Puzzle(区间DP)
    POJ 2955:Brackets(区间DP)
    LightOJ 1422:Halloween Costumes(区间DP入门)
    Gym 101257G:24(尺取)
    Codeforces 777D:Cloud of Hashtags(水题)
    Gym 101257B:2Trees(DFS+思维)
    Codeforces 777C:Alyona and Spreadsheet(思维)
    Codeforces 776C:Molly's Chemicals(思维)
    HDU-3440 House Man
    BZOJ-1202 狡猾的商人
  • 原文地址:https://www.cnblogs.com/thinkinglife/p/5001096.html
Copyright © 2011-2022 走看看