1

How do I manage the dependencies while manually downloading and installing these rpm files? Googling the names of the rpm files results in differently-named rpm files. I cannot use yum install because this is a development server that is not yet directly connected to the internet.

How do I manage the dependencies in order to successfully install WPA_supplicant on the CentOS 7 development server?

FIRST ATTEMPT:

As a first attempt, I downloaded wpa_supplicant-2.4-4.2.x86_64.rpm to a devbox from this link and I copied the rpm file to the development server, which is not connected to any other machine or network. Then on the development server, I tried the following:

[root@localhost wpa_supplicant_rpm_files]# rpm -Uvh wpa_supplicant-2.4-4.2.x86_64.rpm
warning: wpa_supplicant-2.4-4.2.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 3dbdc284: NOKEY
error: Failed dependencies:
    libcrypto.so.1.0.0()(64bit) is needed by wpa_supplicant-2.4-4.2.x86_64
    libnl-3.so.200(libnl_3)(64bit) is needed by wpa_supplicant-2.4-4.2.x86_64
    libnl-genl-3.so.200(libnl_3)(64bit) is needed by wpa_supplicant-2.4-4.2.x86_64
    libssl.so.1.0.0()(64bit) is needed by wpa_supplicant-2.4-4.2.x86_64
    wpa_supplicant >= 1:1.1 is needed by (installed) NetworkManager-1:1.0.0-14.git20150121.b4ea599c.el7.x86_64

SECOND ATTEMPT:

I then googled the four rpm files and downloaded the rpm files that it seemed to be guiding me to, but I am still getting the same error. Here is what I tried:

I googled libcrypto.so.1.0.0()(64bit), which led me to: this link, from which I downloaded lib64openssl1.0.0-1.0.2d-2.mga6.x86_64.rpm.

Next, I googled libnl-3.so.200(libnl_3)(64bit), which led me to this link., from which I downloaded lib64nl-nf3_200-3.2.25-4.mga6.x86_64.rpm.

Then I googled libnl-genl-3.so.200(libnl_3)(64bit), which led me to this link, from which I downloaded lib64nl-genl3_200-3.2.25-4.mga6.x86_64.rpm.

And I googled libssl.so.1.0.0()(64bit), which led me to this link, from which I downloaded lib64openssl1.0.0-1.0.2d-2.mga6.x86_64.rpm again (see above).

I copied the rpm files from the devbox onto the development server, and confirmed their presence as follows:

[root@localhost ~]# cd /root/wpa_supplicant_rpm_files
[root@localhost wpa_supplicant_rpm_files]# ls -al
total 2000
drwxr-xr-x. 2 root root    4096 Sep 15 14:18 .
dr-xr-x---. 3 root root    4096 Sep 15 13:25 ..
-rw-r--r--. 1 root root   18332 Sep 15 14:18 lib64nl-genl3_200-3.2.25-4.mga6.x86_64.rpm
-rw-r--r--. 1 root root   37160 Sep 15 14:15 lib64nl-nf3_200-3.2.25-4.mga6.x86_64.rpm
-rw-r--r--. 1 root root 1111752 Sep 15 14:22 lib64openssl1.0.0-1.0.2d-2.mga6.x86_64.rpm
-rw-r--r--. 1 root root  861734 Sep 15 13:28 wpa_supplicant-2.4-4.2.x86_64.rpm

Finally, I tried to install wpa_supplicant again, but got the following error message:

[root@localhost wpa_supplicant_rpm_files]# rpm -Uvh wpa_supplicant-2.4-4.2.x86_64.rpm
warning: wpa_supplicant-2.4-4.2.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 3dbdc284: NOKEY
error: Failed dependencies:
    libcrypto.so.1.0.0()(64bit) is needed by wpa_supplicant-2.4-4.2.x86_64
    libnl-3.so.200(libnl_3)(64bit) is needed by wpa_supplicant-2.4-4.2.x86_64
    libnl-genl-3.so.200(libnl_3)(64bit) is needed by wpa_supplicant-2.4-4.2.x86_64
    libssl.so.1.0.0()(64bit) is needed by wpa_supplicant-2.4-4.2.x86_64
    wpa_supplicant >= 1:1.1 is needed by (installed) NetworkManager-1:1.0.0-14.git20150121.b4ea599c.el7.x86_64

THIRD ATTEMPT:

Per @TimS.'s idea, I yum localinstall wpa_supplicant-2.4-4.2.x86_64.rpm, but the terminal replied with

Loaded plugins: fastestmirror.  
Cannot open: wpa_supplicant-2.4-4.2.x86_64.rpm.  
Skipping. Nothing to do.

I assume that the problem is that I do not know which rpm files to download, or where to download them from. Also, I do not have a local repository set up, so I would have to know how to set up a local repository with the correct rpm files downloaded from the correct locations.

FOURTH ATTEMPT:

As per @meuh's advice, I re-attempted my search for rpm files specifying centos as the system and x86_64 as the architecture, this led to the following results:

I downloaded a different version of WPA_SUPPLICANT wpa_supplicant-2.0-13.el7_0.x86_64.rpm from what turned into this link.

I left the three other rpm files as-is, so that the containing folder had the following contents:

[root@localhost wpa_supplicant_rpm_files]# ls -al
total 1960
drwxr-xr-x. 2 root root    4096 Sep 16 16:33 .
dr-xr-x---. 3 root root    4096 Sep 15 13:25 ..
-rw-r--r--. 1 root root   18332 Sep 15 14:18 lib64nl-genl3_200-3.2.25-4.mga6.x86_64.rpm
-rw-r--r--. 1 root root   37160 Sep 15 14:15 lib64nl-nf3_200-3.2.25-4.mga6.x86_64.rpm
-rw-r--r--. 1 root root 1111752 Sep 15 14:22 lib64openssl1.0.0-1.0.2d-2.mga6.x86_64.rpm
-rw-r--r--. 1 root root  820636 Sep 16 10:05 wpa_supplicant-2.0-13.el7_0.x86_64.rpm

Then I ran rpm -Uvh *.rpm, and got the following results:

[root@localhost wpa_supplicant_rpm_files]# rpm -Uvh *rpm
warning: lib64nl-genl3_200-3.2.25-4.mga6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 80420f66: NOKEY
warning: wpa_supplicant-2.0-13.el7_0.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
    libnl-3.so.200(libnl_3)(64bit) is needed by lib64nl-genl3_200-3.2.25-4.mga6.x86_64
    libnl-3.so.200(libnl_3)(64bit) is needed by lib64nl-nf3_200-3.2.25-4.mga6.x86_64
    libnl-route-3.so.200(libnl_3)(64bit) is needed by lib64nl-nf3_200-3.2.25-4.mga6.x86_64
    lib64openssl-engines1.0.0 >= 1.0.2d-2.mga6 is needed by lib64openssl1.0.0-1.0.2d-2.mga6.x86_64
[root@localhost wpa_supplicant_rpm_files]# 

I tried to download libnl-3.so.200(libnl_3)(64bit), but was not able to get any results at this link.

I tried to download libnl-route-3.so.200(libnl_3)(64bit) but was not able to find a suitable download at this link.

I tried to download lib64openssl-engines1.0.0 but this link sent me to a download site where it was not clear which file to download to get the rpm.

So what else do I need to do to get WPA_supplicant running properly on the development server?

I plan to follow these other instructions to set up a wifi connection once the rpm file has been successfully installed on the development server.

2 Answers 2

0

rpmfind has difficulty in matching some of the dependencies, but all the files come from the same CentOS 7 repository.

If you have a system with access to the internet that has the rpm command then you can copy all the dependent rpms from the CentOS repository, then move these rpms to your target and install them all, though most will already be installed.

Create a file /etc/yum.repos.d/my.repo (as root) with contents:

[mycentos]
name=my centos
enabled=0
baseurl=http://mirror.centos.org/centos/7.1.1503/os/x86_64/

This assumes the baseurl value is the CentOS version you have already installed. Then (no longer root) create a directory ~/centosrpm, cd into it, and download all 106 dependent rpms for the package you want:

yumdownloader --rootinstall=$PWD  --disablerepo=* --enablerepo=mycentos --resolve wpa_supplicant

Copy these rpms to the target and install them all in one command:

rpm -Uvh *.rpm

You will already have most of them installed.


If you don't have rpm, download (eg with wget) all the rpms in the Packages subdir of the above baseurl into a dir, copy them to say /tmp/p on the target, and then start over on the target with a my.repo of baseurl=file:///tmp/p.

4
  • I will try your suggestion in a few hours when I am at my devbox. Are you willing to confirm the names and download URLs of the rpm files?
    – CodeMed
    Sep 16, 2015 at 11:41
  • you should download all the files from the same OS release. Fill in the system field of rpmfind with centos and the arch with x86_64 to reduce the choices. You should find all of them on a server like this mirror
    – meuh
    Sep 16, 2015 at 12:01
  • I just added documentation of my attempt to follow your guidance labelled FOURTH ATTEMPT towards the end of my OP. Are you willing to show me the specific names of the rpm files that I need to download? Along with the specific URL(s) from which to download them? This is very foreign to me, and the link you sent did not have the rpm files when I searched for them by name.
    – CodeMed
    Sep 16, 2015 at 23:03
  • I added how to auto get the rpms via another machine.
    – meuh
    Sep 17, 2015 at 11:57
0

you have to use the yum-plugin-downloadonly package from a server which have internet access :

yum install yum-plugin-downloadonly
yum install --downloadonly --downloaddir=/root/wpa_supplicant/ wpa_supplicant

I don't know if you need to create first the directory /root/wpa_supplicant

It will download wpa_supplicant + direct dependancies.

You must log in to answer this question.

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