第一次接触Linux系统,用虚拟机安装了一个rad hat6.5版本64位的,傻瓜式安装。安装好之后简单的写了一个C代码,进行gcc编译的时候,提示没有该命令,上网查找了一下说没有安装gcc编译器,用yum install gcc安装就可以,但是发现该命令还是不能执行,总是提示连接超时,最后发现是yum源的问题。不知道为什么当时百度的时候,并没有发现本地源的配置,找到的都是网络源的配置。尝试了几个教程,但是发现没有一个是可行的,经过仔细的对比,发现这些教程的时间都有些久了(使用的是网易的源,网上都说不错,本人也是刚接触Linux的小白,所以不知道是否真的不错,暂时就这样使用),现在最新源的网站的一些文件夹和文件名都变了(主要是版本号问题),经过几次尝试并对比修改,最后终于配置成功,下面就分享一下所遇到的问题及解决办法。
在进行下面的操作之前,一定要确保网络正常,如果没有网络,下面的所有操作一个都不能实现。(本地yum源的安装参考这里)
首先配置网络源需要一些安装包,先简单罗列出来:
python-iniparse-0.3.1-2.1.el6.noarch.rpm python-urlgrabber-3.9.1-11.el6.noarch.rpm yum-3.2.29-73.el6.centos.noarch.rpm yum-metadata-parser-1.1.2-16.el6.x86_64.rpm yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
可以到这个网站直接下载:http://mirrors.163.com/centos/6/os/x86_64/Packages/
不过里面的安装包确实太多了,找起来要花费点时间,如果下面介绍的在线获取的方式没有问题,可以节约不少时间,当然有兴趣可以进入找找看。
在线获取方式:在Linux的终端执行以下命令:
[root@localhost ~]# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm [root@localhost ~]# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm [root@localhost ~]# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-73.el6.centos.noarch.rpm [root@localhost ~]# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm [root@localhost ~]# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
如果以上命令不能正确执行,提示网站没有响应,就是这个包已经找不到了,因为版本更新,老版本的包删掉了,只有新版本的包,所以按原来的文件名是不可能找到的,因此得自己到上面那个网站里去匹配这些安装包,名字是基本不会变的,变的是版本号。
我遇到的就是这个问题,那些教程里面的文件都不能在线下载,上面这些命令的执行结果总是提示网站没有响应。
现在基本工作已经做好了,接下来就进行安装和配置:
1、安装之前要先卸载系统本来的yum源,执行以下命令
[root@localhost ~]# rpm -aq|grep yum|xargs rpm -e --nodeps
2、查询一下是否完全卸载了
[root@localhost ~]# rpm -qa |grep yum
执行完这一条命令没有任何信息提示,就表示已经完全卸载了。(啰嗦一句,给刚接触Linux的提示一下,其他的可以飘过。在Linux下如果命令执行成功是不会出现任何提示,有错误才会提示)
3、先安装这下面的两个包
[root@localhost ~]# rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm [root@localhost ~]# rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
这两个包安装一般都不会出现问题,直接就通过(我是没出现问题,其他人如果出现问题,可以自行百度一下解决办法)
4、接下来尝试安装这两个包,一定要一起安装,也就是要在一条命令中执行,不可以跟上面的两个包一样分两条指令执行(网上的教程说是包的依赖关系)
[root@localhost ~]# rpm -ivh yum-3.2.29-73.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
如果能直接通过是最好的结果,可以省略不少麻烦,直接跳到第6步执行配置文件内容的替换。
不过应该不会那么顺利,我这里的错误提示是缺少了一个包的依赖
warning: yum-3.2.29-73.el6.centos.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
python-urlgrabber >= 3.9.1-10 is needed by yum-3.2.29-73.el6.centos.noarch
在 >= 左边的就是提示缺少依赖的包,找到名字为python-urlgrabber+版本号.rpm的包进行安装。这个提示,之前找到的教程是没有的,可能当时他们不存在这个问题。
还有可能会有其他的包依赖问题,根据个人的具体情况,找相应的安装包。
5、安装这个缺少的依赖包
[root@localhost ~]# rpm -ivh python-urlgrabber-3.9.1-11.el6.noarch.rpm
这里也可能会出现问题,当然没问题最好了。
这个网络yum源的配置是自己配置了两次,第一次是没有完全删除系统自带的yum源,到了这一步提示安装包冲突,之后就是完全删除了系统自带的yum源,重新从第3步开始安装一次,问题就解决了。第二次也就是按照现在的步骤,一开始就完全删除了系统自带的yum源,但是到了这一步还是提示安装冲突,网上的解决办法就是强制安装,也没有找到其他办法,所以也只有执行强制安装了。
提示信息都是这个
file /usr/lib/python2.6/site-packages/urlgrabber/grabber.py from install of python-urlgrabber-3.9.1-11.el6.noarch conflicts with file from package python-urlgrabber-3.9.1-9.el6.noarch
强制安装缺少的依赖包
[root@localhost ~]# rpm -ivh --force python-urlgrabber-3.9.1-11.el6.noarch.rpm
安装完之后,再执行第4步,应该就可以完全通过了。
6、更改配置文件 rhel-debuginfo.repo
更配置文件之前先进行备份(新手一定要记住这一点,更改系统配置文件之前一定要备份)
[root@localhost ~]# cp /etc/yum.repos.d/rhel-source.repo /etc/yum.repos.d/rhel-source.repo.bak
编辑该配置文件
[root@localhost ~]# vim /etc/yum.repos.d/rhel-source.repo
可能也有一些人装了系统之后,没有vim可以使用,但是vi是一定有的,所以上面的指令如果是出错提示没有该命令,可以用vi打开
[root@localhost ~]# vi /etc/yum.repos.d/rhel-source.repo
(vi或者vim的使用:上面的命令执行完成之后,会出现一个文本的编辑界面,按 i 键进入编辑模式,方向键进行光标移动,这里的复制和粘贴使用的是Ctrl+Shift+C、Ctrl+Shift+V ,然后按ESC键退出编辑模式,输入 ":wq" ,保存退出。)
将这里面的内容全部删掉,替换成以下内容
[base] name=CentOS-$releasever - Base baseurl=http://mirrors.163.com/centos/6/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever - Updates baseurl=http://mirrors.163.com/centos/6/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6 [extras] name=CentOS-$releasever - Extras baseurl=http://mirrors.163.com/centos/6/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus baseurl=http://mirrors.163.com/centos/6/centosplus/$basearch/ gpgcheck=1 enabled=0
这里也有要注意的地方,还是文件名的问题,版本更替是一定的会有的,在此过程中可能会产生文件名的更改,也许我现在可行的方法,到你用的时候就失效了,这时候你就得自己去核实路径文件名的正确与否了。因为我在这里也出过错,所以才能指出来,之前那些教程的baseurl路径都是baseurl=http://mirrors.163.com/centos/6.0/centosplus/$basearch/ ,以前是命名为6.0,现在已经更改为6,所以之前这个文件改好之后,在下一步进行验证的时候,也是提示连接失败。
这些内容更替好之后,保存退出就可以了。
7、清除原来的源配置
[root@localhost ~]# yum clean all
8、安装现在的yum源,这一步也是测试新安装的yum源有没有安装成功
[root@localhost ~]# yum install yum
如果这条命令能执行成功,就说明新安装的yum源已经正确配置好了。
9、更新yum源到本地
[root@localhost ~]# yum list
我到这里就已经完全没有问题了,如果有其他问题,到网上找找解决办法。这个可能也会随着时间的推移而失效,所以能提供只是个大概的方向,具体细节只能具体分析。