• Linux CentOS 的基础使用yum使用手册(下):yum安装高版本软件


    上次说到一些yum的基础使用。我们说yum最方便的地方在于,

      它可以自我下载、

      检测依赖并全部安装、

      甚至环境变量也一并可以配置完成、

      对于新手来说有了极大的方便。 
    但是使用惯之后,我们也可以发现yum很大的一个缺点:版本控制。

    yum软件版本的缺陷

    我们举个例子来说。 
    在原生系统中,我们使用yum安装php,其版本为5.4

    [root@localhost ~]# php -v
    PHP 5.4.16 (cli) (built: Nov  6 2016 00:29:02)
    Copyright (c) 1997-2013 The PHP Group
    Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    

    可是对于现在使用的绝大部分框架或者软件,其php版本要求都要到达5.6以上,而使用正常的yum update已经无法升级了。 
    所以这个例子告诉我们,yum为了保持软件的稳定性,不会把自己库中的软件升级到最新版,甚至连主流的稳定版也无法升级到。这时就需要我们动一些手脚了,比如使用epel包,以及更改yum源。

    epel包

    EPEL的全称叫 Extra Packages for Enterprise linux 。这个包专门为落后的yum源提供了额外的软件支持。而且其包内容版本更新,安装方式简单,更适合我们使用。 
    同时我们也要使用rpm包管理器进行解压配置,RPM之前全称为Red Hat Package Manager。我们现在可以把rpm理解为一个安装软件,它会像yum一样把本地安装包内的软件安装好。 
    在Cent中,Rpm功能是内置的,直接在命令行中执行rpm就可以。 
    和yum类似,rpm集成了软件包的安装与卸载,可喜的是,rpm包使用时,我们可以直接利用yum的操作在使用它。 
    使用rpm的基本使用方式是:

    [root@localhost ~]# rpm -Uvh xxx.rpm
    [root@localhost ~]# rpm -ivh xxx.rpm
    

    这里vh代表显示安装进度。而u代表update升级,i代表install安装。 
    为了解决上述问题,我们首先把之前的php低版本卸载

    因为安装5.6版本的php时,yum把其识别为和php不同的软件,为了防止冲突,一定要卸载。

    之后我们使用yum安装epel

    [root@localhost ~]# yum install epel-release
    

    同时,我们需要去安装固定的rpm包,这里我们直接使用remi的包

    [root@localhost ~]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    获取http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    警告:/var/tmp/rpm-tmp.7Pr0XW: 头V4 DSA/SHA1 Signature, 密钥 ID 00f97f56: NOKEY
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:remi-release-7.3-1.el7.remi      ################################# [100%]
    

    此时软件源就装好了

      如果你使用的是centos6版本,其内置没有epel,所以需要从网站下载 
      rpm -ivh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm 
      同时它的remi包的网址也不同 
      rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
      其他的包,请参照remi的网址 http://rpms.famillecollet.com/

    之后我们使用yum查看下我们现在所拥有的php版本

    [root@localhost ~]# yum list php*
    

    此时我们可以看到有php54,php55,php56等等。这后面的数字就代表着php的版本号。 
    所以我们这里安装php56.

    [root@localhost ~]# yum install php56
    

    安装好之后查看php版本

    [root@localhost ~]# php56 -v
    PHP 5.6.30 (cli) (built: Jan 19 2017 07:08:58)
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    

      

    请注意,这里的php版本我们需要输入php56才可以,如果想让这里输入php就可以显示版本,我们需要在安装时使用:

     [root@localhost ~]# yum install --enablerepo=remi --enablerepo=remi-php56 php 
    

    即把php56设置成php的默认版本。

    更改cent yum源

    更改yum源,即我们要使用其他的yum源来下载及校验yum。 
    比较好用的国内的yum源包括: 
    阿里镜像站:http://mirrors.aliyun.com/ 
    网易开源镜像站:http://mirrors.163.com/ 
    我们以网易的镜像站为例:(帮助文档:http://mirrors.163.com/.help/centos.html) 

      首先我们进入yum源存放的目录:

        

    [root@localhost yum.repos.d]# ls
    CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo  remi-php54.repo  remi.repo
    CentOS-CR.repo         CentOS-Media.repo      epel.repo          remi-php70.repo  remi-safe.repo
    CentOS-Debuginfo.repo  CentOS-Sources.repo    epel-testing.repo  remi-php71.repo
    

      

      这里可以很清晰的看到我们刚才使用的remi源以及epel的源。我们在这里更改base源。先备份:

    mv CentOS-Base.repo CentOS-Base.repo.backup
    

      

      然后下载163的源:

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

      

      运行命令生成缓存:

    yum clean all
    yum makecache
    

      

    此时我们的yum源就更新好了。

    yum源的更新不一定会使软件得到升级,但是如果使用了国内的yum源,我们下载软件的速度就大大的提升。

    删除epel包或者yum源

    我们可以看到,其实epel包的本质就是在yum源上添加自己的源。那我们自然可以删除它。 
    首先我们查看下当前的包。一般安装入yum的都是noarch的类型包。

    [root@localhost yum.repos.d]# yum list  *remi*noarch
    
    已安装的软件包 
    
    remi-release.noarch 7.3-1.el7.remi 
    

      

    之后我们直接卸载就可以

    [root@localhost yum.repos.d]# yum list  remi-release.noarch
    

      

    欢迎交流学习
  • 相关阅读:
    php ajax分页的例子,在使用中
    PHP远程文件管理,可以给表格排序,遍历目录,时间排序
    背景变暗的div可拖动提示窗口,兼容IE、Firefox、Opera
    CSS简洁的左侧菜单(侧拉菜单,向右显示)
    无间断循环滚动(兼容IE、FF)
    poj 1007 求逆序数
    poj 1775 简单搜索
    面向对象之继承和组合浅谈
    在flex中导入fl包
    C99中包括的特性
  • 原文地址:https://www.cnblogs.com/douzi520/p/9324497.html
Copyright © 2020-2023  润新知