rpm包安裝技巧


背景

一套CentOS6環境需要安裝xtrabackup,但安裝時遇到依賴問題,本文講解如何優雅地解決依賴問題。

#下載xtrabackup rpm安裝包
[root@localhost ~]# wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.14/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.14-1.el6.x86_64.rpm

#安裝時發現缺少依賴
[root@localhost ~]# rpm -ivh percona-xtrabackup-24-2.4.14-1.el6.x86_64.rpm 
warning: percona-xtrabackup-24-2.4.14-1.el6.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 8507efa5: NOKEY
error: Failed dependencies:
	libaio.so.1()(64bit) is needed by percona-xtrabackup-24-2.4.14-1.el6.x86_64
	libaio.so.1(LIBAIO_0.1)(64bit) is needed by percona-xtrabackup-24-2.4.14-1.el6.x86_64
	libaio.so.1(LIBAIO_0.4)(64bit) is needed by percona-xtrabackup-24-2.4.14-1.el6.x86_64
	libev.so.4()(64bit) is needed by percona-xtrabackup-24-2.4.14-1.el6.x86_64
	perl(DBD::mysql) is needed by percona-xtrabackup-24-2.4.14-1.el6.x86_64
	perl(Digest::MD5) is needed by percona-xtrabackup-24-2.4.14-1.el6.x86_64

過去

在過去,我會一個一個解決依賴,例如:

yum search perl |grep -i MD5 |grep -i Digest
#此時可以找到可用的依賴包perl-Digest-Perl-MD5.noarch
yum install perl-Digest-Perl-MD5.noarch

但一個一個解決依賴很痛苦,並且libev.so.4()這類包依賴問題很頭痛,不知道如何找到依賴包,只能百度

現在

我找到一個更優雅的解決辦法,如下:

yum localinstall percona-xtrabackup-24-2.4.14-1.el6.x86_64.rpm -y

這種辦法可以自動解決依賴問題。

新的問題

如果我的環境是內網環境,不能自由地使用yum怎么辦?

建議方法:

  1. 找一台可以yum的服務器
  2. 修改yum配置文件,使yum安裝后保留rpm包
vi /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=1

#將 keepcache=0 修改為 keepcache=1
#保留的rpm安裝包在 /var/cache/yum
  1. 默認rpm包保留在/var/cache/yum下,找出來並拷貝到需要安裝的服務器上。
  2. 用以下命令安裝
# 因為部分rpm包互相依賴,只能用此方法安裝。
rpm -ivh *.rpm --nodeps --force


免責聲明!

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



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