1

Take MariaDB for an example.

Package management tools like yum is good solution to install software and handle the dependencies issue for you. But in a primitive situation, without internet access, you have to download the rpm one by one from the internet.

Now I need download these rpm on jumpbox and copy these rpm to the on-premise environment. It takes long time to download these rpm one by one. How can I know which one I need?

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

How can I know the relationship between these rpm? If there is internet access exist, maybe 5 minutes, if not, it will be half day because I have no ideas about the relationship between these packages.

Just found that in the environment there already some lib of MariaDB exist. The vesion is mariadb-5.5.44-2.el7.centos.x86_64, so all the package above conflict with these version. I think I should download the 5.5.44 version package to download.

When I finally download the same version,

[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

What does this mean?

0

1 Answer 1

1

You have two problems. The first one is you're trying to install mariadb RPM's that conflict with what's in CentOS/RHEL base packages. The second one is you're using the rpm command.

For the first problem, since you're not on the internet with this machine, then it's not a problem. But if you do manage to have the machine on the internet, then you may have issues with yum updates. So just be careful there.

For the second problem, don't use the rpm command even if it's just single RPM's. You should always use yum. You can install rpm's directly from yum. Examples below.

# yum install --disablerepo=* openfire-4.0.2-1.i386.rpm -y
## Or in your case...
# yum install --disablerepo=* MariaDB*.rpm -y
3
  • Sorry, I did not clearly got what you mean for my first problem. Are you referring to install wrong CentOS package which should be RHEL? For the second one, can you tell the reason? What's the difference between RPM and yum? Even if using yum instead of RPM, the conflict problem are still there. How can I handle them?
    – cdhit
    Commented May 1, 2016 at 9:20
  • The problem is that if you manage to install the packages and you do connect to the internet and do a yum update, you may have severe package conflicts or other issues. The point of using yum is to do proper dependency checking. You need to remove the mariadb packages that are already installed first and then you can install the rpm's you have downloaded.
    – Sokel
    Commented May 1, 2016 at 17:43
  • I can't do this because I have done this and all the Hadoop components had been removed in the same time. Hadoop components rely on this. Last time because of removing MariaDB packages I have to reinstall the whole Hadoop cluster. I am still upset about this removing things.
    – cdhit
    Commented May 1, 2016 at 19:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .