Reflector (Español)

From ArchWiki
Estado de la traducción: esta traducción de Reflector fue revisada el 2019-10-18. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Reflector es un script que puede recuperar la última lista de servidores de réplicas desde la página MirrorStatus, filtrar la mayoría de los servidores de réplicas actualizados, ordénarlos por velocidad y sobrescribir el archivo /etc/pacman.d/mirrorlist.

Instalación

Instale el paquete reflector.

Utilización

Advertencia:
  • En los siguientes ejemplos, se sobrescribirá el archivo /etc/pacman.d/mirrorlist. Haga una copia de seguridad antes de continuar.
  • Asegúrese de que el archivo /etc/pacman.d/mirrorlist resultante no contenga entradas que considere poco fiables antes de sincronizar o actualizar con Pacman (Español).

Para ver todos las órdenes disponibles, ejecute la siguiente orden:

# reflector --help

Ejemplos

Para clasificar y ordenar detalladamente los cinco servidores de réplicas sincronizados más recientes por velocidad de descarga y sobrescribir el archivo /etc/pacman.d/mirrorlist:

# reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist

Para seleccionar los 200 servidores de réplicas HTTP o HTTPS más recientemente sincronizados, ordenarlos por velocidad de descarga y sobrescribir el archivo /etc/pacman.d/mirrorlist:

# reflector --latest 200 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist

Para seleccionar los 200 servidores de réplicas HTTPS sincronizados en las últimas 12 horas y ubicados en Francia o Alemania, ordenarlos por velocidad de descarga y sobrescribir el archivo /etc/pacman.d/mirrorlist:

# reflector --country France --country Germany --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist

Automatización

Hook de pacman

Puede crear un hook de pacman que ejecute reflector y elimine el archivo .pacnew creado cada vez que pacman-mirrorlist obtenga una actualización:

/etc/pacman.d/hooks/mirrorupgrade.hook
[Trigger]
Operation = Upgrade
Type = Package
Target = pacman-mirrorlist

[Action]
Description = Actualizar pacman-mirrorlist con reflector y eliminar pacnew...
When = PostTransaction
Depends = reflector
Exec = /bin/sh -c "reflector --country 'United States' --latest 200 --age 24 --sort rate --save /etc/pacman.d/mirrorlist; rm -f /etc/pacman.d/mirrorlist.pacnew"

Asegúrese de sustituir los argumentos de reflector con los que desee.

Servicio systemd

Este es un ejemplo de unidad de servicio (de systemd) que espera a que la red esté activa y conectada antes de ejecutar reflector:

/etc/systemd/system/reflector.service
[Unit]
Description=Actualizar la lista de servidores de réplica de pacman
Wants=network-online.target
After=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist

[Install]
RequiredBy=multi-user.target

Inicie reflector.service para actualizar la lista de servidores de réplica. Para actualizar la lista de servidores de réplica cada vez que arranque el equipo, active el servicio.

Nota: para obtener más información sobre la implementación de la dependencia de la conexión de red, consulte Systemd#Running services after the network is up.

Temporizador de systemd

Si desea ejecutar reflector.service semanalmente, cree un archivo .timer asociado. Por ejemplo::

/etc/systemd/system/reflector.timer
[Unit]
Description=Ejecutar reflector semanalmente

[Timer]
OnCalendar=Mon *-*-* 7:00:00
RandomizedDelaySec=15h
Persistent=true

[Install]
WantedBy=timers.target

Y luego solo tiene que iniciar reflector.timer.

Paquete reflector-timer

Instale reflector-timerAUR[enlace roto: package not found] to run reflector weekly.

La configuración predeterminada, que se puede editar para adaptarse a sus necesidades, es:

/usr/share/reflector-timer/reflector.conf
AGE=6
COUNTRY=Germany
LATEST=30
NUMBER=20
SORT=rate
### eliminar una entrada si no la quiere como protocolo disponible
PROTOCOL1='-p http'
PROTOCOL2='-p https'
PROTOCOL3='-p ftp'

Asegúrese de activar reflector.timer.

Tarea de cron

Para actualizar la lista servidores de réplica diariamente, considere lo siguiente:

/etc/cron.daily/mirrorlist
#!/bin/bash

# Obtener los del país
/usr/bin/reflector -c "India" -p http --sort rate > /etc/pacman.d/mirrorlist

# Trabajar con otras alternativas
/usr/bin/reflector -p http  --latest 20 -p https -p ftp --sort rate >> /etc/pacman.d/mirrorlist