Llevaba un par de días que las descargas de paquetes de repositorios en mi Antergos, que es Arch y usa sus repositorios, me iban más lentas que el caballo del malo y me dije, una solución quiero!!!

Después de preguntar en Twitter por si alguien me daba alguna pista para acelerar las descargas de paquetes desde los mirros y como nadie me contestaba acudí a ese amigo fiel que nunca falla. Exacto, hablo de Google.

Google me llevó a la wiki de Arch en español, a que conociera a un tal Reflector, y entonces me puse manos a la obra.

Reflector no es que sea nuevo pero yo no lo había usado nunca así que como de costumbre suelo publicar lo que a mi me va haciendo falta he pensado que sería buena idea dejarlo por aquí también, aunque en la wiki de Arch se explica perfectamente.

La lista de mirros, o espejos de software, de Arch Linux y basadas se encuentra en /etc/pacman.d/mirrorlist. Este es el que estaba usando, o más bien una parte de el pues no sale la lista completa. Es el que te pone el instalador de Antergos durante la instalación.

Y yo me pregunto, ¿para que queremos tantos mirros? con menos también se vive, con los más cercanos pero bueno, si el burro se cae al pozo échale paja que agua no le va a faltar.

Ahora es cuando vamos a usar Reflector para hacer una criba y obtener solo los más rápidos según nuestra ubicación.

Reflector es un script que es capaz de obtener la lista más reciente de mirrors desde la página MirrorStatus, filtrar los mirrors más actualizados, ordenarlos en base a su velocidad, y sobrescribir el archivo /etc/pacman.d/mirrorlist. (palabra de Arch Wiki)

Lo primero es instalar reflector y también es conveniente instalar rsync, donde sea lo leí.

sudo pacman -S reflector rsync

Ahora, y antes de continuar, haremos un backup, respaldo, copia de seguridad de nuestro /etc/pacman.d/mirrorlist, bien podemos copiar manualmente el archivo para guardarlo en otro lado o podemos hacer el propio backup en su mismo directorio desde la terminal.

sudo cp -vf /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

Eso nos hará otra copia de nuestro mirroslist llamada mirrorlist.backup por si luego queremos volver al original borramos el que vamos a crear y renombramos nuevamente a mirrorlist el backup.

Lo siguiente será ejecutar el siguiente comando que filtrará los primeros diez mirrors, los ordenará en base a su velocidad, y sobrescribirá el archivo /etc/pacman.d/mirrorlist. (en la wiki de Arch ponen 5, yo he puesto 10 para tener holgura)

sudo reflector --verbose -l 10 --sort rate --save /etc/pacman.d/mirrorlist

Y así ha quedado mi nuevo mirrorlist, el que me ha generado reflector.

Comentar que estos son los mirrors de Arch, Antergos tiene los suyos propios para sus propios paquetes y se encuentran en otro archivo llamado antergos-mirrorlist en el mismo directorio.

Ahora Antergos si me descarga paquetes de los repositorios a tope de mi conexión ADSL, que son 2 MB/s. En este momento no tengo actualizaciones pero su os fijáis en la terminal, al hacer un pacman -Syyu el pico de velocidad de chequeo llega a los 2 MB/s y se pasa un poquitín. Antes no me subía de 120 kbs/s.

Y nada más, ahora en nuestro directorio /etc/pacman.d/ tendremos el nuevo mirrorlist generado con Reflector, el mirrorlist.backup, y los otros que son los que pone Antergos y Arch.

Si tras pasado un tiempo los mirrors volvieran a ir lentos, usando nuevamente reflector y la orden que dejé más arriba podemos volver a generar el mirrorlist para que nos de otros nuevos que vayan veloces.

Si nos arrepentimos y queremos volver al principio solo tenemos que borrar el mirrrorlist generado por Reflector y renombrar el backup a mirrorlist.

Eliminando también reflector y rsync si ya no los queréis.

sudo pacman -R reflector rsync

Espero que os sea de utilidad.

Continuamos en línea…