我的linux学习之路

今天回家不料断网了,想下载个东西都没办法,于是来玩下yum配置本地源。

其实自己也不会,网上搜了下,总结出以下两种办法:

一 . 通过CentOS DVD 来安装软件,光盘里面提供的软件足以满足我们需要了,而且DVD里的软件版本都是稳定版,下载速度还快,对于学习CentOS来说,将CentOS DVD作为默认yum源可以大大提高学习效率。

我的为CentOS 6.4 用的是虚拟机,虚拟机加载光盘方法:虚拟机->可移动设备->CD/DVD->设置,选择好光盘。

下来开始步骤了:

1.[root@localhost ~]# mkdir /media/CentOS //为光盘创建一个挂载目录
2.[root@localhost ~]#mount  /dev/cdrom /mnt/centos //挂载
3.[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak //用yum的网络更新方式,简单地将默认首选的CentOS-Base.repo改名为CentOS-Base.repo.bak即可
4.[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Media.repo //配置本地源

[c6-media]
 name=CentOS-$releasever - Media
 baseurl=file:///media/CentOS/
 file:///media/cdrom/
 file:///media/cdrecorder/
 gpgcheck=1
 enabled=0


修改为

[c6-media]
 name=CentOS-$releasever - Media
 baseurl=file:///media/CentOS/
 gpgcheck=1
 enabled=1


其中baseurl修改为DVD的挂载目录,enabled=1开启本地更新模式
:wq 保存退出

6.[root@localhost ~]# yum clean all //清除原有的yum信息

7.[root@localhost yum.repos.d]# yum list //检查DVD软件列表

这样以后就默认使用DVD安装软件了,如果想恢复网络安装模式,将 CentOS-Base.repo.bak 更名还原即可。
PS.每次重启系统后需要手工挂载DVD到/media/CentOS/,如果嫌麻烦可以自己写脚本自动挂载。

二. 1. [root@localhost ~]# mkdir yumload //创建存贮rpm包的文件夹

2. [root@localhost ~]# cp /media/CentOS/Packages/  yumload/   //复制过去

3. 然后使用createrepo指令创建本地repo,CentOS6默认不安装createrepo,需要手动安装,没关系,在我们的DVD光盘中已经集成了createrepo的包,如果报需要依赖安装其他包的使用,依次安装即可。

[root@localhost Packages]# rpm -ivh createrepo-0.9.9-17.el6.noarch.rpm
error: Failed dependencies:
python-deltarpm is needed by createrepo-0.9.9-17.el6.noarch[root@localhost Packages]# rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm
error: Failed dependencies:
deltarpm = 3.5-0.5.20090913git.el6 is needed by python-deltarpm-3.5-0.5.20090913git.el6.i686[root@localhost Packages]# rpm -ivh deltarpm-3.5-0.5.20090913git.el6.i686.rpm 
Preparing...                ########################################### [100%]
   1:deltarpm               ########################################### [100%][root@localhost Packages]# rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm 
Preparing...                ########################################### [100%]
     1:python-deltarpm        ########################################### [100%][root@localhost Packages]# rpm -ivh createrepo-0.9.9-17.el6.noarch.rpm
Preparing...                ########################################### [100%]
     1:createrepo             ########################################### [100%]

将依赖包装完。。

4. [root@localhost ~]# createrepo yumload/ #创建yum仓库,耐心等待

Spawning worker 0 with 3114 pkgs
 Workers Finished
 Gathering worker results


 Saving Primary metadata
 Saving file lists metadata
 Saving other metadata
 Generating sqlite DBs
 Sqlite DBs complete

5..在/etc/yum.repo.d/下创建一个repo文件,文件名可以自定义,但一定要以repo结尾,并添加一下内容:

[ultraera.org]                    #仓库名称可以自定义
name=This is a local repo    #描述信息
baseurl=file:///yumload/            #这里填写仓库的url,注意 有三个正斜线 
enabled=1                    #是否开启仓库,1为开启,0为关闭
gpgcheck=0                #是否检查gpgkey,1为开启,0为关闭

6.到这里本地yum源就已经搭建完成了,接下来重新初始化yum缓存:

[root@ultraera repodata]# yum clean all

7.测试group信息是否添加正确可以用如下代码,只要有输出信息就表示成功了

[root@ultraera ~]# yum grouplist