To bit or not to bit, ingeniera en desarrollo de software, criadora de mantis, mujer transgénera
Ingeniería de software

Instalar iperf 3.5 en CentOS 7 vía compilación

Me llega a pasar muy seguido que no hay RPMs o vía de que por yum u otros medios pueda instalar un software que necesite, como es el caso de iperf3.5 en un CentOS 7, los RPMs y repositorios que encontré sólo llegaban a iperf3.1 en CentOS 7, y desafortunadamente no cae en mi poder elegir CentOS 8 y realmente necesitaba iperf3.5.

¿Qué es iperf?

iperf es una utilería desarrollada por ESnet / Lawrence Berkeley National Laboratory, que es usada para poder testear anchos de banda, iperf puede ejecutarse en modo servidor o modo cliente. La liga a github con documentación es https://github.com/esnet/iperf

¿Por qué necesitaba iperf 3.5 y no podía continuar con iperf 3.1?

Básicamente por un parámetro de iperf3, el de ‘–connect-timeout’ que nos permite, se cancele la prueba en el cliente si es que el servidor no responde al inicio durante los segundos que se indiquen.

Cuando probé con iperf3.1 me mandaba el siguiente error:

[root@telecomgscae ~]# iperf3 -c ip.ip.ip.ip --connect-timeout 3600
iperf3: unrecognized option '--connect-timeout'

Como lo resolví

Básicamente busqué el código fuente, lo compilé, instalé y probé, de la siguiente forma.

Paso 1. Descargar compilador gcc

Es un paso un poco obvio, pero no siempre recordamos si ya instalamos gcc, nuestro compilador de c. Para instalarlo en nuestro Linux ejecutamos:

[root@host ~]# sudo yum -y install gcc

Paso 2. Descargar código fuente de iperf

La liga de versiones se encuentra en la página de github pero de cualquier forma hago el link aquí https://downloads.es.net/pub/iperf/

Escogemos la versión que necesitamos y verificamos el sha256 de nuestra descarga así:

[root@host ~]# sha256sum iperf-3.5.tar.gz

Y la comparamos con la lista del sitio.

Paso 3. Descomprimir código fuente

A mi me gusta dedicar un directorio a mis códigos fuente en /opt por lo que creo un directorio en opt y guardo mis compilaciones ahí de esta forma:

[root@host ~]# sudo mkdir /opt/compile-lab

Entonces muevo mi archivo gz a ese directorio, lo descomprimo y borro así:

[root@host ~]# mv iperf-3.5.tar.gz /opt/compile-lab/
[root@host ~]# cd /opt/compile-lab/
[root@host compile-lab]# tar -xzf iperf-3.5.tar.gz
[root@host compile-lab]# sudo rm iperf-3.5.tar.gz

Paso 4. Compilar e instalar

Entonces debemos entrar a la carpeta recién creada de iperf3 y realizamos nuestra compilación e instalación de la siguiente forma:

[root@host compile-lab]# cd iperf-3.5
[root@host iperf-3.5]# ./configure
[root@host iperf-3.5]# make
[root@host iperf-3.5]# make install

Conclusiones

Hay cosas que tenemos que resolver a mano y la mejor forma para hacerlo es apuntando para que no se nos olvide, por eso hago estas miniguias hoy sucedió en iperf3.5 ayer con otra utilería. Recuerden que para cualquier comentario los escucho en mi Twitter @SoyTabs

Espero les guste y si no de cualquier forma compartan.