解决Linux国内yum源不能用的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/programmerhhy/article/details/52289900

前段时间购买了一个Linux-Ubuntu操作系统 的云服务器,需要在线安装一些软件,本来想着直接用apt-get命令进行安装,然而发现apt-get命令安装的软件包非常有限,很多软件都没有,所以只能直接使用大家公认的方便的yum来安装,然而对于Ubuntu系统来说,yum在最开始是没有安装在系统上的,所以还得先通过apt-get命令先 安装yum:

命令行输入apt-get install yum安装yum,这个相信大家都会了,就不再多说。

安装好yum后发现yum并不能正常使用,原因是Ubuntu里面使用apt-get安装的yum中没有配置源文件,而yum的使用时需要配置源文件配合使用才可以的。可以进入/etc/yum/repos.d/目录下查看,确实缺少配置源文件。

因此,命令行输入wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo 下载配置源文件(wget的使用需要先安装nginx,如果没有请先输入apt-get install nginx进行安装),并将其复制到/etc/yum/repos.d/目录下,至此/etc/yum/repos.d/目录下就多了个CentOS-Base.repo文件,接下来就是修改这个配置源文件就可以使用yum了。在此之前有必要先了解一下yum是怎么通过这个配置源文件进行工作的。


首先用vi编辑器可以看到CentOS-Base.repo配置源文件中有[base],[extras],[updates]等模块,这些模块是什么意思呢?

拿[base]模块来说:

[base]:代表软体库的名字!中括号一定要存在,里面的名称则可以随意取。但是不能有两个相同的软体库名称, 否则yum 会不晓得该到哪里去找软体库相关软体清单档案。

name:只是说明一下这个软体库的意义而已,重要性不高!

mirrorlist=:列出这个软体库可以使用的映射站台,如果不想使用,可以注解这行;

baseurl=:这个最重要,因为后面接的就是软体库的实际网址!mirrorlist 是由yum 程式自行去捉映射站台, baseurl 则是指定固定的一个软体库网址!下载就是根据baseurl指定的路径来下载 

enable=1:就是让这个软体库启动。如果不想启动可以使用enable=0

gpgcheck=1:指定是否需要查阅RPM 档案内的数位签章!

gpgkey=:就是数位签章的公钥档所在位置!使用预设值即可

至此就基本了解了配置源文件模块的作用了,那么yum是怎么通过配置源文件进行工作的呢?首先yum会根据baseurl所指定的软件库网址找到一个repodata的目录,然后通过在该目录下的repomd.xml文件中指定的软件的正确地址来下载相应的软件并安装。所以我们就可以直接通过修改baseurl的值,让其指定特点的国内yum源来让yum正确工作了。

以上海交通大学yum源为例:网址为:http://ftp.sjtu.edu.cn/

1. 打开网址,进入centos/目录,找到最新版本号,我这里最新版本号为:7.2.1511


2. 进入最新版本号目录,找到os目录,并依次进入其子目录,直到可以看到repodata/该目录为止


3. 复制该页面地址,加入[base]模块中的baseurl中:


4. 重复2,3步骤,进入最新版本号目录,分别找到updates目录,extras目录,并依次进入其子目录,直到可以看到repodata/该目录为止,分别复制相应页面网址,替换相应模块中的baseurl,最终效果如图:(配置源文件只需要用到[base],[extras],[updates]这个3个模块就够了,其他可以删掉)

[base]
name=CentOS-$releasever - Base
baseurl=http://ftp.sjtu.edu.cn/centos/7.2.1511/os/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=http://ftp.sjtu.edu.cn/centos/7.2.1511/updates/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=http://ftp.sjtu.edu.cn/centos/7.2.1511/extras/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


5. 保存并退出,输入yum clean all 清除本机上yum的旧资料,然后执行yum update 更新yum


6. 至此,就可以愉快的使用yum来安装软件了



总结:其实现在很多说国内yum在线源无法使用,其实就是yum配置源文件中baseurl指定的软件库地址有错,不能根据baseurl所指定的地址找到repodata目录中的repomd.xml文件,所以yum就不能正常工作了,所以最好的解决办法就是到相应的国内源网站中找到相应的repodata目录,然后复制下网址替换原来baseurl的值,然后更新yum即可使用了。


阅读更多

没有更多推荐了,返回首页