以 MariaDB 为例。
像 yum 这样的包管理工具是安装软件和处理依赖关系问题的良好解决方案。但在原始情况下,没有网络,你必须从互联网上一一下载rpm。
现在我需要在 Jumpbox 上下载这些 rpm 并将这些 rpm 复制到本地环境。这些rpm一一下载需要很长时间。我怎么知道我需要哪一个?
MariaDB-10.1.13-centos7-x86_64-server.rpm
jemalloc-devel-3.6.0-1.el7.x86_64.rpm
MariaDB-10.1.13-centos7-x86_64-gssapi-client.rpm
MariaDB-10.1.13-centos7-x86_64-client.rpm
MariaDB-10.1.13-centos7-x86_64-gssapi-server.rpm
MariaDB-10.1.13-centos7-x86_64-cracklib-password-check.rpm
MariaDB-10.1.13-centos7-x86_64-test.rpm
MariaDB-10.1.13-centos7-x86_64-compat.rpm
galera-25.3.15-1.rhel7.el7.centos.x86_64.rpm
MariaDB-10.1.13-centos7-x86_64-common.rpm
MariaDB-10.1.13-centos7-x86_64-shared.rpm
MariaDB-10.1.13-centos7-x86_64-devel.rpm
MariaDB-10.1.13-centos7-x86_64-connect-engine.rpm
jemalloc-3.6.0-1.el7.x86_64.rpm
我怎样才能知道这些rpm之间的关系呢?如果有互联网接入,可能需要 5 分钟,如果没有,则需要半天,因为我不知道这些包之间的关系。
刚刚发现环境中已经存在一些MariaDB的lib。版本是mariadb-5.5.44-2.el7.centos.x86_64,所以上面的所有包都与这些版本冲突。我觉得应该下载5.5.44版本包来下载。
当我最终下载相同版本时,
[root@dataapp01 5.5.44]# rpm -i MariaDB-5.5.44-centos7-x86_64-common.rpm
warning: MariaDB-5.5.44-centos7-x86_64-common.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
file /etc/my.cnf from install of MariaDB-common-5.5.44-1.el7.centos.x86_64 conflicts with file from package mariadb-libs-1:5.5.44-2.el7.centos.x86_64
这是什么意思?
答案1
你有两个问题。第一个是您尝试安装与 CentOS/RHEL 基础软件包中的内容冲突的 mariadb RPM。第二个是您正在使用该rpm
命令。
对于第一个问题,由于您没有使用这台机器上网,所以这不是问题。但如果您确实设法将计算机连接到互联网,那么您可能会遇到 yum 更新问题。所以在那里要小心。
对于第二个问题,不要使用 rpm 命令,即使它只是单个 RPM。您应该始终使用yum
.您可以直接从 yum 安装 rpm。下面的例子。
# yum install --disablerepo=* openfire-4.0.2-1.i386.rpm -y
## Or in your case...
# yum install --disablerepo=* MariaDB*.rpm -y