linux安装yum

额,写下这篇文章记录艰辛历程。

yum 是个好东西,关于它的说法,参照别人或者是官网的说法:

yum 简介

  yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。

  yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到RedHat 门下的rpm 了。

  yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。

  yum 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与RPM 数据库的一致性。


好了,要使用yum来安装软件,两个条件:联网+软件mirror网站(比较快的有:163、ali等,稍后附上连接)。此前使用linux安装软件,为了学习更多东西,故意不用yum,通过外部windows下载好rpm软件包或者tar格式的源码来安装。就是进行离线安装。

这两种安装方式,第一种rpm的,找软件很麻烦,要考虑依赖关系,若依赖复杂的,还是使用yum吧。第二种根据源码,那么就需要一点linux编程一点小小知识就好(其实来个人给你讲解一下步骤也没问题了),需要查看解压后的源码文件,是否有Makefile文件等。若没有,就需要根据configure命令来执行生成Makefile文件,这里需要配置软件的安装路劲等信息,不了解的还真不知道该如何配置。有了Makefile,就可以执行make & make install进行安装了。


使用yum安装,就会很方便。


但是由于redhat版本有点低,显示没有注册RHN,就把redhat自带的yum卸载了

卸载命令如下:

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


然后由于linux版本是redhat 5.3版本,各大仓库,如163,centos,ali等都不能直接通过版本号找到安装yum的三个基本软件:

yum-fastestmirror

yum-metadata-parser

yum

【以上也是安装顺序】

小提示:Centos是RedHat的社区免费版,所以软件基本是通用的。

那么,找遍了很多方法,各大前辈的方法都试过,就是我的情况不行。不能直接上网通过wget命令找到Centos5版本的软件。找到Centos6软件时,yum依赖的其它软件版本又不够高,不可能把它依赖的其它软件重装一遍,如python这一系就有很多。所以方法不行

这里放下方法链接,可能以后有用,或者对其他人有用的其它linux系统版本有用:

RedHat5配置yum源

CentOS yum 源的配置与使用

YUM安装调试以及命令详解

RHEL5.5安装Yum笔记


还一种方法是通过yum的源码安装,比较复杂,难度较大,当下载yum源码后,解压,打开INSTALL文件时,有条官方推荐是说尽量使用rpm软件包安装。最后通过源码安装也因为依赖问题安装失败

。。。。。。。。。

还很多,思路都差不多了。需要注意的是,如果使用wget 去下载软件,那么先自己进一下这个网站,如果自己都打不开这个网站,wget肯定是找不到这个软件的,就会404 not found。有时候由于仓库软件升级更新,更换一下链接上的版本数字就可以,或者从网站主页开始找对应版本就不会有问题


安装yum

最后几近无望时,想到了此前离线安装gcc时的方法,想到虚拟机软件的老祖宗,就是光驱镜像,镜像中有很多随系统的软件,有些安装了,有些没有安装,那么,yum肯定也是有的。如果你的桌面没有显示cd光驱,就设置一下VM:

linux安装yum_第1张图片

第一步找到要安装的yum相关文件

然后在linux系统桌面可以看到镜像,打开找到有软件的文件夹,如我的是:

linux安装yum_第2张图片

在这个目录下,想办法把需要安装的三个文件:

yum-fastestmirror

yum-metadata-parser

yum

找到并复制到其他文件夹,进行备份到其他文件准备安装,千万不要直接在镜像中安装,防止意外


安装yum三个文件


执行命令

rpm -ivh yum*



安装好后,查看安装软件版本信息,命令:

rpm -qa yum

[root@localhost ~]# rpm -qa yum
yum-3.2.19-18.el5


配置yum源,也就是配置软件仓库

国内 yum 源

网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。

将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

安装步骤

首先备份/etc/yum.repos.d/CentOS-Base.repo

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

下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)

  • CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
  • CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo

运行以下命令生成缓存

yum clean all
yum makecache

除了网易之外,国内还有其他不错的yum源,比如中科大和搜狐。

中科大的yum源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos

sohu的yum源安装方法查看: http://mirrors.sohu.com/help/centos.html



若下载的源包执行yum makecache显示not found时的解决

参考:

CentOS-5的yum源无法使用问题


我的解决方式就是:在
/etc/yum.repos.d/
目录下新建一个文件:rhel-debuginfo.repo          <------这是此前yum默认的源的文件名称,然后把下面配置复制到文件中即可:

# CentOS-Base.repo  
#  
# The mirror system uses the connecting IP address of the client and the  
# update status of each mirror to pick mirrors that are updated to and  
# geographically close to the client.  You should use this for CentOS updates  
# unless you are manually picking other mirrors.  
#  
# If the mirrorlist= does not work for you, as a fall back you can try the   
# remarked out baseurl= line instead.  
#  
#  
  
  
[base]  
name=CentOS-$releasever - Base  
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os  
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/  
baseurl=http://vault.centos.org/5.11/os/$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5  
  
  
#released updates   
[updates]  
name=CentOS-$releasever - Updates  
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates  
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/  
baseurl=http://vault.centos.org/5.11/updates/$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5  
  
  
#additional packages that may be useful  
[extras]  
name=CentOS-$releasever - Extras  
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras  
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/  
baseurl=http://vault.centos.org/5.11/extras/$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5  
  
  
  
  
#additional packages that extend functionality of existing packages  
[centosplus]  
name=CentOS-$releasever - Plus  
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus  
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/  
baseurl=http://vault.centos.org/5.11/centosplus/$basearch/  
gpgcheck=1  
enabled=0  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5  
  
  
  
  
#contrib - packages by Centos Users  
[contrib]  
name=CentOS-$releasever - Contrib  
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib  
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/  
baseurl=http://vault.centos.org/5.11/contrib/$basearch/  
gpgcheck=1  
enabled=0  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

然后再次yum clean all

yum makecache 应该没有问题了


至此就可以去安装软件了,我的安装yum问题也解决了。


这是redhat5.3版本的情况。高版本的linux可能就不需要这么复杂,可以直接wget正确的地址下载yum的rpm包即可

你可能感兴趣的:(Linux,linux实用技巧)