Solo EL6, dado que F19 en adelante y EL7 ya usan descarga en paralelo para yum
El sueño de todos.... no se porque este plugin no prosperó y no esta en los repos oficiales, pero bueno... no importa. Se trata de un plugin en python, gracias a la modularidad de yum, criticada por los debianitas, que permite a yum usar una cantidad determinada de mirrors por server, de conexiones por mirror y de hilos al mismo tiempo al instalar. Funciona en Fedora y EL6
La verdad es que me cruce con este plugin por sugerencia de un amigo, si no estaría bueno que yum usara multi hilo para la instalacion, yo entendi multi hilo en la bajada, en fin, buscando me topé con un plugin de hace 3 años que en CentOS funciona a la perfeccion, usando mi maximo ancho de banda y mi maximo CPU al instalar. Paso a explicar como instalarlo paso a paso:
1.- su -
2.- cd /usr/lib/yum-plugins/
3.- wget https://dl.dropboxusercontent.com/u/85827164/multithread.py
4.- vim /etc/yum.conf -set plugins=1, save and exit (better vim than nano)-
5.- vim /etc/yum/pluginconf.d/multithread.conf and put:
Save and exit, now, yum works with multi thread CPU and connection!!
The test:
16 segundos menos no es poca cosa.
NOTA: No funciona para instalaciones locales, el plugin toma TODO como un mirror, si alguien se anima a reparar el mismo, lo subo asi de paso podria incluirse en los repos de EL6 oficiales. Para instalaciones locales, usar yum --disableplugin=multitheread install o usa rpm directamente.
NOTE: Does not work with local .rpm files, because the plugins search a mirror (/home/rpms/ is not a mirror), so, for local rpm installations, use: yum --disableplugin=multitheread install, or use rpm directly :)
Command suggested: Put in /usr/bin/ as yumlocal name the following code and chmod +x /usr/bin/yumlocal for local installations / Comando sugerido: Poner en /usr/bin/ con el nombre yumlocal el siguiente codigo, hacer chmod +x /usr/bin/yumlocal y usarlo para instalaciones locales:
PD: Lo de reparar el fallo y empaquetar para EL6 fue un guiño para Skytux :)
Source: https://github.com/mjschultz/yum-multithread
El sueño de todos.... no se porque este plugin no prosperó y no esta en los repos oficiales, pero bueno... no importa. Se trata de un plugin en python, gracias a la modularidad de yum, criticada por los debianitas, que permite a yum usar una cantidad determinada de mirrors por server, de conexiones por mirror y de hilos al mismo tiempo al instalar. Funciona en Fedora y EL6
La verdad es que me cruce con este plugin por sugerencia de un amigo, si no estaría bueno que yum usara multi hilo para la instalacion, yo entendi multi hilo en la bajada, en fin, buscando me topé con un plugin de hace 3 años que en CentOS funciona a la perfeccion, usando mi maximo ancho de banda y mi maximo CPU al instalar. Paso a explicar como instalarlo paso a paso:
1.- su -
2.- cd /usr/lib/yum-plugins/
3.- wget https://dl.dropboxusercontent.com/u/85827164/multithread.py
4.- vim /etc/yum.conf -set plugins=1, save and exit (better vim than nano)-
5.- vim /etc/yum/pluginconf.d/multithread.conf and put:
[main]
enabled=1
verbose=1
dl_timeout=300
socket_timeout=10
max_threads=8
threads_per_server=2
servers_per_repo=4
enabled=1
verbose=1
dl_timeout=300
socket_timeout=10
max_threads=8
threads_per_server=2
servers_per_repo=4
Save and exit, now, yum works with multi thread CPU and connection!!
The test:
synflag]# time yum install --disableplugin=multithread httpd gnome-user-share php -y
Complete!
real 0m46.808s
user 0m10.253s
sys 0m1.158s
synflag]# time yum install httpd gnome-user-share php -y
Complete!
real 0m30.371s
user 0m9.912s
sys 0m1.315s
Complete!
real 0m46.808s
user 0m10.253s
sys 0m1.158s
synflag]# time yum install httpd gnome-user-share php -y
Complete!
real 0m30.371s
user 0m9.912s
sys 0m1.315s
16 segundos menos no es poca cosa.
NOTA: No funciona para instalaciones locales, el plugin toma TODO como un mirror, si alguien se anima a reparar el mismo, lo subo asi de paso podria incluirse en los repos de EL6 oficiales. Para instalaciones locales, usar yum --disableplugin=multitheread install o usa rpm directamente.
NOTE: Does not work with local .rpm files, because the plugins search a mirror (/home/rpms/ is not a mirror), so, for local rpm installations, use: yum --disableplugin=multitheread install, or use rpm directly :)
Command suggested: Put in /usr/bin/ as yumlocal name the following code and chmod +x /usr/bin/yumlocal for local installations / Comando sugerido: Poner en /usr/bin/ con el nombre yumlocal el siguiente codigo, hacer chmod +x /usr/bin/yumlocal y usarlo para instalaciones locales:
#!/bin/bash
yum "$1" --disableplugin=multithread "$2"
yum "$1" --disableplugin=multithread "$2"
PD: Lo de reparar el fallo y empaquetar para EL6 fue un guiño para Skytux :)
Source: https://github.com/mjschultz/yum-multithread
2 comentarios:
Te devuelvo el guiño ;) jaja!
Entonces lo tomo como un si, ya quiero verlo empaquetado para el6 en EPEL
Publicar un comentario