解决 RedHat 自带 yum 无法使用问题


由于安装的RedHat是商业版的,通常由于没有注册,导致yum程序无法使用,对于学习linux来说,安装软件什么的各种不方便,实在是很苦恼,其实解决办法不难,具体如下。


1.先把RedHat自带的 yum 卸载

rpm -qa | grep yum | xargs rpm -e --nodeps




2.下载相关的包

可以去找网易源或其他网站的源,对网易的比较熟悉就以网易为例

http://mirrors.163.com/ 

以RedHat 7 为例 选/centos/7/os/x86_64/Packages/

找到下面这些包并下载

       yum-cron-3.4.3-132.el7.centos.0.1.noarch.rpm

       yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

       yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm




3.安装yum

rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
rpm -ivh yum-cron-3.4.3-132.el7.centos.0.1.noarch.rpm  yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm

(有依赖关系的包要一起装)




4.配置网易源

下载 http://mirrors.163.com/.help/CentOS7-Base-163.repo

(在 /centos 右边 的 centos使用帮助 里面选择对应的版本(只分5,6,7))

将下载的repo文件放入 /etc/yum.repos.d/ 下

把所有

baseurl=http://mirrors.163.com/centos/$releasave/extras/$basearch/

中的$releasave 改成系统的版本(只分5,6,7) $basearch代表cpu的架构

(就相当于指定软件包的路径)


yum update

这里就ok了linux  yum 用法_redhat7




搭建YUM仓库

基本概念:

要搭一个yum仓库首先要在 /etc/yum.repos.d/ 下创建一个以 .repo 结尾的文件 格式如下

[ ]                   #[ ] 内写仓库的ID,必须唯一
name=                 # name是yum的名称 也必须唯一
baseurl=              #指定你访问到那些rpm包的路径
gpgcheck=             #默认为1 ,1表示检查公匙,当检查公匙时要指定gpgkey地址,0表示不检查
enable=               #默认为1 ,1表示启用此仓库 ,0表示关闭



用光盘搭建本地yum仓库

挂载光盘 到 /mnt/cdrom 然后在 /etc/yum.repod.s/ 下创建 .repo文件

mount /dev/sr0 /mnt/cdrom
cat >> /etc/yum.repos.d/iso.repo <<ENDF
[iso]
name=RHEL-7.1 Server.x86_64
baseurl=file:///mnt/cdrom
gpgcheck=0
enable=1
ENDF




搭建外网的yum仓库

cat >> /etc/yum.repos.d/sohu.repo <<ENDF
[sohu]
name=Internet-centos
baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch
gpgcheck=1                       #需要检查公匙
enable=1
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-6
ENDF




自己搭建一个本地的yum仓库 

下载 createrepo 并安装   createrepo 会生成一个repodata的软件信息仓库(在iso里也有repodata,没这个文件将不能搭好yum仓库)

把下载好的rpm包放在 一个目录下 如/RPM_1

createrepo /RPM_1

在 /RPM_1 下会生成一个 repodata的文件

在/etc/yum.repos.d/ 创建相应的 .repo 文件

cat >> /etc/yum.repos.d/RPM_1.repo <<ENDF
[RPM_1]
name=centos-RPM_1
baseurl=file:///RPM_1
gpgcheck=0
enable=1
ENDF
yum install RPM_1




yum repolist [ all | enable | disable ]  查看yum仓库的个数 默认显示启用的仓库

yum provides     用来查看某个路径是由哪个软件包生成的