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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM