Reflector (Español)
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
Utilización
- 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.
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