#!/bin/bash set -euo pipefail source ${HOME}/bin/script_framework.sh check_util rankmirrors # from pacman-contrib outfile=/etc/pacman.d/mirrorlist oldlist=/etc/pacman.d/mirrorlist.bak if [ $(id -u) -eq 0 ]; then step "Creating backup of current mirrorlist" cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak else outfile=/tmp/mirrors.rank oldlist=/etc/pacman.d/mirrorlist warn "Not running as root, new mirrorlist will be written to ${outfile}" fi step "Measuring mirror speed, searching 5 fastest mirrors" curl -s "https://www.archlinux.org/mirrorlist/?country=all&protocol=https&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 5 - | tee ${outfile} step "Generating diff from old to new mirrorlist" diff -wu ${oldlist} ${outfile}