Yum源配置

在红帽中使用yum命令的时候可能会出现以下情况:

Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

中文意思大致是:

加载插件:product-id,refresh-packagekit,security,subscription-manager
此系统未注册到Red Hat预订管理。 您可以使用subscription-manager注册。

故此时修改yum源即可,修改/etc/yum.repos.d/rhel.source.repo文件

PS:先详细解释一下*.repo文件中比较重要字段内容的含义

  1. [....] 代表这个库的名字,必须是唯一的,不可以重复。
  2. name= 是这个库的说明,没有太大的实际意义,只是一个字段说明,可随便定义。
  3. baseurl= 说明采取什么方式传输,具体路径在哪里,可以使用的方式有,file:///,ftp://,http://等,关于baseurl中的变量,可以查看yum.conf 的手册:man yum.conf ,在手册的最后一段有详细描述。本地的时候,红帽中用/dev/cdrom挂载的目录
  4. enabled=1 说明启用这个更新库,0表示不启用。告诉yum是否使用这个仓库
  5. gpgcheck=0 表示不使用gpg文件来检查软件包的签名。这告诉yum是否应该对从此存储库获取的包执行GPG签名检查。
  6. gpgcheck=1 时有gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release(一般都是这个路径)指向存储库的ASCII-armored GPG密钥文件的URL。如果yum需要公钥来验证软件包,则使用此选项,如果设置了此选项,yum将自动从指定的URL导入密钥。


方法一、基于光盘挂载配置本地yum源:
1、先进/etc/yum.repos.d/目录下

cd /etc/yum.repos.d/

2、然后把rhel.source.repo文件名改为rhel.source.repo.bak(所加的后缀名随意,目的就是使用yum的时候不会引用此文件,做为备份

mv rhel.source.repo rhel.source.repo.bak

3、而后把刚才rhel.source.repo.bak文件拷贝并更名rhel.source.repo(这个文件名随意,但是必须要以.repo为后缀)

cp rhel.source.repo.bak rhel.source.repo

4、在rhel.source.repo 文件中添加一些配置

[rhel-source]  
name=Red Hat Enterprise Linux  
baseurl=file:///media/RHEL_6.4\ i386\ Disc\ 1  
enabled=1  
gpgcheck=0   

PS:此配置baseurl为本地/dev/sr0挂载的目录地址,若没有挂载,先挂载/dev/sr0,可用mount命令查看/dev/sr0目录是否已经挂载,若显示没有挂载则可以先创建一个挂载目录,而后挂载

mount -t iso9660 /dev/sr0 /mnt/cdrom 

这里需要注意,经过我多次实验发现,以VMware Workstation为例,若没有安装上VMtools工具,一般是不能挂载成功的,挂载不成功则本地yum源依旧不能使用,所以推荐使用后面的几种方法


方法二、到开源镜像网站中获取yum源配置文件:
以阿里云镜像网站为例,获取Centos 版本的repo文件,进去后先点击help,里面会有一些repo文件,在linux下wget一下就好了,自动下载到/etc/yum.repo.d/目录中,并保存至对应的文件中,不过在获取文件之前可以先备份原repo文件!

 

1、备份默认repo文件

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

PS:下载完后,repo文件已经更改,一般是直接可以使用了,若不行可以yum makecache 生成缓存,然后就应该能使用了。
若依然不能使用,可以把下载过来的repo文件中的$releasever 替换成版本号,如果是Centos 6系统,可以在末行模式下输入以下内容进行替换:

%s/$releasever/6/g

而后保存退出,再yum makecache 然后应该就能使用了

Fedora版本:
可能比较特殊一点,在此版本上,大致类似于Centos  配置yum源的方式,可以去阿里云镜像网站中,找fedora的help,而后获取yum源。

1、备份默认repo文件

mv /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo.backup
mv /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo.backup

2、下载新的fedora.repo和fedora-updates.repo 到/etc/yum.repos.d/

# fedora
wget -O /etc/yum.repos.d/fedora.repo http://mirrors.aliyun.com/repo/fedora.repo

# fedora updates
wget -O /etc/yum.repos.d/fedora-updates.repo http://mirrors.aliyun.com/repo/fedora-updates.repo

3、之后运行yum makecache生成缓存

PS:若配置完出现以下错误内容,请按照下面方式进行改动:
Error: failure: repodata/repomd.xml from fedora: [Errno 256] No more mirrors to try.

这个情况下就需要把fedora.repo和fedora-updates.repo文件中所有baseurl后的地址换成以下内容:

http://archives.fedoraproject.org/pub/archive/fedora/Linux/releases/$releasever/Everything/$basearch/os/

然后修改完文件,yum makecache生成缓存,若是成功,即可使用yum。

END!
以上是我学习以来配置yum源的经验,当然在解决配置的时候可能会遇到很多突发问题,一时找不到原因,以下我总结几点配置yum源时解决的思路
1、网络问题,在下载yum源或安装包的时候如果网络状况不好可能会下载失败(本地yum源除外)
2、如果是配置本地yum源,在修改配置文件的时候需要注意配置文件不要写错,笔者就遇到过这种问题

有什么疑问可以在评论区留言或私聊,会尽力解决大家的问题

你可能感兴趣的:(Linux)