Evite los dolores de cabeza de Pacman en Arch Linux automatizando las actualizaciones de la lista de espejos

Puntos clave

  • Los espejos son servidores que contienen paquetes de software en repositorios de Linux. Mantener actualizada su lista de espejos es fundamental para las instalaciones de aplicaciones y las actualizaciones del sistema.
  • Actualizar manualmente la lista de réplicas de Arch implica generar una lista de réplicas en su región, pegarla en un archivo y guardarla para que Pacman la use.
  • Reflector es una utilidad que genera listas de espejos y actualiza el archivo de lista de espejos. Se puede utilizar desde la línea de comandos o como un servicio con opciones personalizables.

Los mirrors son servidores que replican los repositorios de una distribución de Linux. Arch Linux tiene muchas réplicas ubicadas en todo el mundo. Le mostramos dos formas de seleccionar qué espejos utiliza su computadora Arch Linux.

→ Índice de contenidos
  • Por qué los espejos son importantes
  • Actualización manual de la lista de espejos de Arch
  • ¿Qué es Reflector y para qué sirve?
  • Instalación de Reflector en Arch Linux
  • Usando Reflector en la línea de comando
  • Usando el servicio reflector
  • Usa el cronómetro y actualiza cuando quieras
  • Por qué los espejos son importantes

    Todos los paquetes de software disponibles para los usuarios de una distribución de Linux se almacenan en repositorios. Los repositorios son simplemente servidores a los que se puede acceder desde Internet. Cuando instala una aplicación, su administrador de paquetes debe conectarse a un repositorio para que pueda recuperar los archivos de instalación.

    Como todos los recursos basados ​​en la nube, los repositorios enfrentan desafíos de disponibilidad y ancho de banda. Demasiadas conexiones y tráfico de red pueden provocar cuellos de botella y ralentizaciones en el servidor. Las fallas de hardware o el mantenimiento programado pueden dejar un repositorio fuera de línea.

    Las distribuciones utilizan una red de repositorios imitadores ubicados en todo el mundo. Estos permiten conexiones más rápidas con los usuarios al proporcionar repositorios en sus regiones, en lugar de obligar a todos a conectarse al repositorio principal.

    Es importante asegurarse de que la lista de mirrors utilizados por su computadora esté actualizada porque de ellos dependen las instalaciones de aplicaciones y las actualizaciones del sistema.

    Actualización manual de la lista de espejos de Arch

    De forma predeterminada, Arch no actualiza automáticamente la lista de espejos. Crea una lista de réplicas durante la instalación, pero a menos que usted mismo tome medidas, esa lista nunca cambiará.

    La actualización manual de la lista funciona, pero no es conveniente. Automatizar el proceso es la mejor solución. Pero puedes, si lo deseas, actualizar manualmente tu lista de espejos.

    El punto de partida es Arch Linux Pacman Mirrorlist Generator. Nuestro objetivo es obtener una lista de espejos en su región y algunos de otras regiones para redundancia.

    Selecciono "Reino Unido" en la lista de desplazamiento y "HTTPS" e "IPV4" en las casillas de verificación. Marqué la casilla de verificación "Usar estado de espejo", por lo que solo se incluyen los espejos activos en los resultados.

    Para ver los resultados, haga clic en el botón "Generar lista".

    Se enumeran los espejos correspondientes. Copia este texto y pégalo en tu editor. Tenga en cuenta que todas las líneas comienzan con un carácter de almohadilla "#", lo que significa que se tratan como comentarios. Para activar un espejo, elimine el signo de almohadilla del inicio de su línea.

    Una lista de espejos generada

    Puede repetir este proceso para otras regiones, pegando cada vez los resultados en su editor. También seleccioné espejos en Alemania y Suecia. De esta forma, si los espejos del Reino Unido están rotos o son inaccesibles, Pacman intentará utilizar los espejos sueco y alemán.

    Pacman lee sus espejos desde un archivo llamado "/etc/pacman.d/mirrorlist". Debe editar ese archivo y reemplazar su contenido con la nueva lista.

    sudo gedit /etc/pacman.d/mirrorlist 

    Editar el archivo de lista de espejos

    Reemplace "gedit" con su editor favorito. Copie y pegue la lista que acaba de crear en el archivo mirrorlist, reemplazando el contenido original. Guarde el archivo y cierre el editor.

    Pacman ahora usará nuestra nueva lista.

    ¿Qué es Reflector y para qué sirve?

    Reflector es una utilidad para generar listas de espejos y, opcionalmente, actualizar el archivo de lista de espejos. Puedes usarlo desde la línea de comando o como servicio.

    Puede pasarle parámetros para elegir las regiones desde las que desea utilizar espejos y puede clasificar los resultados según, por ejemplo, la velocidad de descarga.

    En Arch Linux, Reflector no está instalado de forma predeterminada, pero en otras distribuciones basadas en Arch puede que sí.

    Instalación de Reflector en Arch Linux

    Instalar Reflector es simple, siempre que tenga una lista de espejos que funcione. Si no haces esto, Pacman no funcionará. En ese caso, deberá seguir los pasos anteriores para crear manualmente una lista de espejos en funcionamiento.

    El comando pacman es:

    sudo pacman -S reflector 

    Instalación de Reflector en Arch Linux

    Usando Reflector en la línea de comando

    El uso de Reflector en la línea de comando puede sobrescribir su lista de espejos existente, por lo que si desea conservar su lista de espejos existente como copia de seguridad, haga una copia antes de comenzar.

    sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/old-mirrorlist 

    Haga una copia del archivo mirrorlist

    Este ejemplo no sobrescribe la lista de espejos.

    reflector  

    Una lista de espejos generados por Reflector en una ventana de terminal

    Las opciones que utilizamos fueron:

    • verboso: proporcione resultados más detallados siempre que sea posible.
    • ipv4: seleccione espejos que admitan el protocolo IPv4.
    • protocolo: seleccione espejos que admitan el protocolo especificado, como HTTP, HTTPS o FTP.
    • punto: Seleccione una cantidad de espejos que tengan las mejores puntuaciones. Cada espejo obtiene una puntuación, siendo mejores las puntuaciones más bajas que las más altas. Se calcula en función de los tiempos de retraso de la conexión, la duración promedio de la conexión y el porcentaje de conexiones de prueba completadas con éxito. Tenga en cuenta que el "10" en la línea de comando se refiere a la cantidad de espejos con mayor puntuación que queremos devolver. No se refiere a la partitura en sí.
    • Poner en orden: Ordena los resultados. Elegimos ordenar por velocidad de descarga. Pacman prueba los espejos en la lista de espejos de arriba a abajo, hasta que encuentra uno que funciona, entonces tiene sentido tener el espejo más rápido primero en la lista.

    Reflector admite muchos modificadores de línea de comando. Sin embargo, no los encontrará en la página de manual de Reflector, debe usar su opción de ayuda:

    reflector  

    Salida de ayuda del reflector en una ventana de terminal

    Como hemos visto, omitir la opción --save le permite ejecutar comandos de Reflector sin poner en riesgo su lista de espejos existente. Incluimos la opción --save para que nuestro archivo mirrorlist se actualice. Debes usar sudo cuando uses esta opción.

    sudo reflector  

    Reflector que genera una lista de espejos en una ventana de terminal

    Nuestras nuevas opciones son:

    • Aldea: Selecciona las regiones de las que queremos incluir mirrors. Puede utilizar códigos de país o nombres de países.
    • último: Queremos utilizar los 20 espejos actualizados más recientemente.
    • descarga agotada: establece la duración en segundos antes de que Reflector considere que un repositorio está fuera de línea.
    • ahorrar: El archivo en el que se deben escribir los resultados. La ubicación predeterminada en Arch es "/etc/pacman.d/mirrorlist".

    Puede ver la lista de sus espejos usando los comandos cat o less.

    less /etc/pacman.d/mirrorlist 

    Use menos para ver la lista de espejos

    Reflector escribe un encabezado con marca de tiempo, para que pueda ver cuándo ocurrió la última actualización.

    El contenido de la lista de espejos.

    Usando el servicio reflector

    Reflector proporciona un servicio y un temporizador. Si habilita e inicia reflector.service, actualizará la lista de espejos cada vez que inicie su computadora. La desventaja son los tiempos de inicio más lentos.

    Una mejor solución es habilitar e iniciar reflector.timer. Ejecutará el servicio reflector una vez a la semana para usted.

    sudo systemctl enable reflector.timer
    
    
    

    sudo systemctl start reflector.timer

    Habilitar e iniciar el temporizador del reflector

    Para editar el archivo de configuración del Reflector, use su editor favorito en este comando:

    sudo gedit /etc/xdg/reflector/reflector.conf 

    Editar el archivo de configuración del reflector

    Puede ver que las opciones de la línea de comando se enumeran en líneas separadas.

    El contenido del Reflector

    Puedes cambiar sus valores o agregar los que quieras usar.

    Para editar el archivo de configuración del temporizador, utilice:

    sudo gedit /usr/lib/systemd/system/reflector.timer 

    Edición del archivo de configuración del temporizador del reflector

    Hemos descrito en profundidad cómo configurar temporizadores en otro artículo.

    Usa el cronómetro y actualiza cuando quieras

    Puede actualizar manualmente la lista de espejos en cualquier momento ejecutando Reflector desde la línea de comando. Si convierte el comando en un alias o una función de shell Bash, no necesitará recordar todos los parámetros.

    Subir Change privacy settings