CentOS6.5-安装yum方法

时间:2024-11-06 11:36:50

1、卸载原有系统中的yum
rpm –qa | grep yum | xargs rpm -e --nodeps
(xargs 把rpm –qa | grep yum传来的每一行信息 都用xargs后面的命令进行处理)

2、创建一个目录intallyum_mirrors.163.com,进入此目录下载rpm包。

下载yum安装文件
注意,如果下载时找不到文件,就登录到:http://mirrors.163.com/centos/6/os/x86_64/ 上查找相应的安装包的包名,对以下包名进行修改,再进行下载。
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm

3、在当前installyum_mirrors.163.com目录下执行ls |grep yum |xargs rpm -ivh --nodeps
[root@Apache installyum_mirrors.163.com]# ls |grep yum |xargs rpm -ivh --nodeps
Preparing...                ########################################### [100%]
   1:yum-metadata-parser    ########################################### [ 33%]
   2:yum-plugin-fastestmirro########################################### [ 67%]
   3:yum                    ########################################### [100%]
[root@Apache installyum_mirrors.163.com]#

如果出现此安装所依赖的其他安装包没有安装,就继续wget 下载所依赖的安装包到installyum_mirrors.163.com目录下,继续ls |grep yum |xargs rpm -ivh --nodeps安装

直到yum安装成功。

4、备份/etc/yum.repos.d目录下的repo文件

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak

5、从mirrors.163.com上面下载reop文件。

[root@Apache yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

6、设置CentOS6-Base-163.repo不更新可以更新的安装包,编辑以下[updates]中的enabled=0即可,如果配置中无enabled,那么是默认配置了enabled=1,需要添加enabled=0关闭update。

[updates] name=CentOS-$releasever - Updates - 163.com

baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates

gpgcheck=1

enabled=0

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

7、yum clean all

8、yum makecache

8、yum search vsftpd  测试yum功能是否OK

--------End Of Text--------

yum clean all   #会从系统中找$releasever和$basearch  如值为6和x86_64,然后生成/var/cache/yum/x86_64/6/base/packages/目录(目录里是空的)、cat /var/cache/yum/x86_64/6/extras/packages/(目录里是空的)等目录。

yum makecache  #从yum网络仓库获取元数据信息--本地建立元数据缓存,本地将元数据放在yum clean all生成的那些目录(/var/cache/yum/)中部署好。

PS:

/etc/yum.repos.d/CentOS6-Base-163.repo文件中的$releasever和$basearch的变量值是从哪里获取到的呢?从系统(例如arch、rpm -qi centos-release)中获取这些 built-in variables

CentOS6.5-安装yum方法

yum 安装其他rpm包的时候,是从/etc/yum.repos.d/目录下寻找repo文件(.repo),找到之后会找enabled=1的baseurl的值,如果baseurl的值中含有$releasever和$basearch这样的变量存在,就去系统(arch、rpm -qi centos-release)中去找$releasever和$basearch的值,进而利用此baseurl访问yum网络仓库。如果baseurl被设置成无变量存在(sed -i  's/$releasever/6/g' /etc/yum.repos.d/CentOS-Base.repo和sed -i  's/$baseurl/x86_64/g' /etc/yum.repos.d/CentOS-Base.repo)的url,那么yum clean all (清空了本地元数据缓存)之后,yum就直接根据baseurl去访问yum网络仓库。当然repo文件可以直接到http://mirrors.163.com/.help/等网站目录中去下载。