1. 程式人生 > >CentOS系統中升級指定版本軟體方法-鎖定軟體版本

CentOS系統中升級指定版本軟體方法-鎖定軟體版本

有些時候,我們在對系統進行更新操作時,又不需要對某些軟體包進行升級操作,要把該包鎖定在升級指定版本軟體。比如mysql-server,為了避免更新遇到不可預知的錯誤,禁止對該包進行升級。

下面我來介紹另一種方法。使用yum versionlock 命令來鎖定版本。

1. 安裝

 程式碼如下 複製程式碼
# yum install yum-plugin-versionlock.noarch

2. 新增鎖定包

將perl包鎖定到當前版本

 程式碼如下 複製程式碼
# yum versionlock perl
Loaded plugins: fastestmirror, versionlock
Adding versionlock on: 4:perl-5.10.1-127.el6
versionlock added: 1

3. 檢視鎖定列表

 程式碼如下 複製程式碼
# yum versionlock list
Loaded plugins: fastestmirror, versionlock
4:perl-5.10.1-127.el6.*
versionlock list done

4. 清除單個包鎖定

 程式碼如下 複製程式碼
# yum versionlock delete '4:perl-5.10.1-127.el6.*'
Loaded plugins: fastestmirror, versionlock
Deleting versionlock for: 4:perl-5.10.1-127.el6.*
versionlock deleted: 1

5. 清除所有鎖定

 程式碼如下 複製程式碼
# yum versionlock clear
Loaded plugins: fastestmirror, versionlock
versionlock cleared

6. 例項

 程式碼如下 複製程式碼
# yum check-update perl
Loaded plugins: fastestmirror, versionlock
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirror01.idc.hinet.net
 * extras: mirrors.163.com
 * updates: mirrors.163.com
 
perl.x86_64                                                               4:5.10.1-136.el6                                                               base

鎖定perl當前版本

 程式碼如下 複製程式碼
# yum versionlock perl
Loaded plugins: fastestmirror, versionlock
Adding versionlock on: 4:perl-5.10.1-127.el6
versionlock added: 1

更新perl版本

 程式碼如下 複製程式碼
# yum update perl
Loaded plugins: fastestmirror, versionlock
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirror01.idc.hinet.net
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Update Process
No Packages marked for Update

No Packages marked for Update可見鎖定成功了。

為了更新取消perl鎖定

 程式碼如下 複製程式碼
# yum versionlock delete '4:perl-5.10.1-127.el6.*'
Loaded plugins: fastestmirror, versionlock
Deleting versionlock for: 4:perl-5.10.1-127.el6.*
versionlock deleted: 1
# yum versionlock list
Loaded plugins: fastestmirror, versionlock
0:mysql-server-5.1.73-3.el6_5.*
0:mysql-5.1.73-3.el6_5.*
versionlock list done

更新perl包

 程式碼如下 複製程式碼
# yum update -y perl
Updated:
  perl.x86_64 4:5.10.1-136.el6                                                                                                                                  
Complete!

更新前後perl版本

 程式碼如下 複製程式碼
[[email protected] ~]# rpm -qa | grep perl
perl-5.10.1-127.el6.x86_64
[[email protected] ~]# rpm -qa | grep perl
perl-5.10.1-136.el6.x86_64

Centos

使用該指令就可以避免誤升級軟體包到最新版本。特別是在生產環境下的軟體包,版本的更新可以有些配置引數不相容到服務停止,從而影響正常的訪問