Mantenere aggiornato l'elenco dei mirror in Arch Linux offre alcuni importanti vantaggi. Se utilizzi la mirrorlist aggiornata, puoi facilmente evitare una velocità di download lenta e messaggi di errore scaduti durante l'installazione e l'aggiornamento dei pacchetti. Questo tutorial spiega cos'è Riflettore e come recuperare l'ultimo elenco di mirror in Arch Linux utilizzando Reflector.
Cos'è Riflettore?
Riflettore è un semplice modulo e script Python 3 che controlla e recupera la mirrorlist più aggiornata ordinata per velocità da Stato mirror pagina e li salva in /etc/pacman.d/mirrorlist
file nel tuo sistema Arch Linux.
Generalmente il /etc/pacman.d/mirrorlist
il file conterrà un server mirror per paese. Tuttavia, dovrebbe esserci più di un solo server per paese, ma il file dell'elenco mirror in genere ne avrà solo uno.
Quindi, come si aggiunge o si recupera l'elenco mirror più recente e aggiornato di propria scelta in Arch Linux? Qui è dove Riflettore viene in aiuto.
Reflector recupererà e filtrerà un elenco dei mirror Arch Linux più recenti e più veloci in base a velocità, paese ed età (ultima sincronizzazione del server).
Reflector è uno script Python gratuito e open source, che funziona perfettamente su Arch Linux e suoi derivati come EndeavourOS e Manjaro Linux.
1. Installa Reflector in Arch Linux, EndeavourOS, Manjaro
Per installare Reflector in Arch Linux e le sue varianti come EndeavourOS e Manjaro, esegui il seguente comando dal tuo Terminale:
$ sudo pacman -S reflector rsync curl
Il comando precedente installerà Reflector insieme alle sue dipendenze rsync e curl packages.
2. Recupera l'ultimo elenco di mirror utilizzando Reflector in Arch Linux
2.1. Eseguire il backup dell'elenco dei mirror correnti
Prima di eseguire Reflector, è necessario eseguire il backup del file dell'elenco dei mirror predefinito. Perché Reflector lo sovrascriverà e sostituirà l'elenco dei mirror esistente con uno nuovo.
Per eseguire il backup dell'elenco di mirror corrente, eseguire:
$ sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
2.2. Recupera gli ultimi N mirror e ordina per velocità di download
Recuperiamo i primi 20 mirror più recenti e ordiniamo l'elenco dei mirror in base alla loro velocità di download e salviamoli in /etc/pacman.d/mirrorlist
file usando il comando:
$ sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Tieni presente che questo sostituirà i mirror esistenti con nuovi mirror.
Analizziamo il comando precedente e vediamo cosa fa ciascuna opzione.
--latest 20
- recupera i server sincronizzati più di recente--protocol https
- recuperahttps
mirror abilitati--sort rate
- ordina mirrorlist in base alla velocità di download--save /etc/pacman.d/mirrorlist
-
Puoi verificarlo elencando il contenuto di /etc/pacman.d/mirrorlist
file.
$ cat /etc/pacman.d/mirrorlist
Risultato di esempio:
##################################################################### ########### Arch Linux mirrorlist generated by Reflector ########### ##################################################################### With: reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist When: 2021-06-10 09:51:51 UTC From: https://www.archlinux.org/mirrors/status/json/ Retrieved: 2021-06-10 09:49:34 UTC Last Check: 2021-06-10 09:15:02 UTC Server = https://mirror.osbeck.com/archlinux/$repo/os/$arch Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch Server = https://archlinux.thaller.ws/$repo/os/$arch Server = https://arch.mirror.constant.com/$repo/os/$arch Server = https://mirror.f4st.host/archlinux/$repo/os/$arch Server = https://phinau.de/arch/$repo/os/$arch Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch Server = https://mirror.pseudoform.org/$repo/os/$arch Server = https://arch.mirror.square-r00t.net/$repo/os/$arch Server = https://mirror.pkgbuild.com/$repo/os/$arch Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch Server = https://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch Server = https://mirror.telepoint.bg/archlinux/$repo/os/$arch Server = https://mirror.lty.me/archlinux/$repo/os/$arch Server = https://mirror.chaoticum.net/arch/$repo/os/$arch Server = https://mirror.efect.ro/archlinux/$repo/os/$arch Server = https://archmirror.it/repos/$repo/os/$arch Server = https://archlinux.mailtunnel.eu/$repo/os/$arch Server = https://archlinux.qontinuum.space:4443/$repo/os/$arch Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
Ora puoi installare, aggiornare e aggiornare i pacchetti dai mirror più aggiornati.
$ sudo pacman -Syu
$ sudo pacman -S <package_name>
2.3. Recupera gli ultimi N mirror e ordina per età
Per recuperare i mirror principali e ordinarli in base alla loro età, ovvero all'ultima sincronizzazione del server, eseguire:
$ sudo reflector --latest 20 --protocol https --sort age --save /etc/pacman.d/mirrorlist
2.4. Recupera l'elenco dei mirror specifici per paese
Puoi anche limitare i mirror a paesi selezionati. Ad esempio, se vivi in India, potresti voler aggiornare l'elenco dei mirror con i server solo dall'India.
Per elencare tutti i mirror Arch Linux disponibili in tutto il mondo, esegui:
$ reflector --list-countries
Risultato di esempio:
Country Code Count ---------------------- ---- ----- Australia AU 19 Austria AT 6 Bangladesh BD 1 Belarus BY 4 Belgium BE 3 Bosnia and Herzegovina BA 2 Brazil BR 11 Bulgaria BG 11 Canada CA 20 Chile CL 8 [...]
Come puoi vedere nell'output sopra, riflettore elenca gli specchi disponibili nel mondo insieme al codice del paese e al numero di specchi in ogni paese.
Al momento della stesura di questa guida, il maggior numero di mirror di Arch Linux si trova negli USA (134 specchi), Germania (114) e Paesi Bassi (51).
Per recuperare un mirror da un paese specifico, puoi utilizzare il nome del paese o il prefisso del paese, o una combinazione di entrambi.
Il comando seguente recupererà i primi 5 mirror dall'India , ordinali in base alla velocità di download e salvali nel file mirrorlist.
$ sudo reflector --verbose --country 'India' -l 5 --sort rate --save /etc/pacman.d/mirrorlist
Quello che segue è un breve riepilogo di ciò che faranno questi flag nel comando precedente.
--verbose
- stampa più informazioni del normale.--country India
- la mia posizione speculare preferita.--l 5
- recupera i primi cinque specchi dell'India.--sort rate
- ordina per velocità di download.--save
- salva la mirrorlist scaricata in/etc/pacman-d/mirrorlist
.
Verifichiamo l'elenco di mirror aggiornato utilizzando il comando:
$ cat /etc/pacman.d/mirrorlist
Risultato di esempio:
################################################################################ ################# Arch Linux mirrorlist generated by Reflector ######################### ################################################################################ # With: reflector --verbose --country India -l 5 --sort rate --save /etc/pacman.d/mirrorlist # When: 2021-06-10 10:27:06 UTC # From: https://www.archlinux.org/mirrors/status/json/ # Retrieved: 2021-06-10 10:26:49 UTC # Last Check: 2021-06-10 09:15:02 UTC Server = http://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch Server = https://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
Sfortunatamente, ci sono solo tre mirror Arch Linux disponibili in India.
2.5. Recupera l'elenco dei mirror da più paesi
Puoi anche specificare più paesi separati da virgole come di seguito.
$ sudo reflector --country 'United States,India' -l 10 --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Questo comando selezionerà i primi 10 mirror HTTPS sincronizzato nelle ultime 12 ore e si trova in uno degli Stati Uniti o India , ordinali per velocità di download e sovrascrivi il file /etc/pacman.d/mirrorlist
file.
2.6. Recupera l'elenco mirror ordinato per paese
Per ottenere tutti gli elenchi ordinati per paese, eseguire il comando seguente:
$ sudo curl -o /etc/pacman.d/mirrorlist https://archlinux.org/mirrorlist/all/
Dopo aver recuperato i mirror ordinati per paese, modifica il tuo /etc/pacman.d/mirrorlist
file:
$ sudo nano /etc/pacman.d/mirrorlist
Decommenta l'URL mirror di tua scelta per abilitarlo.
Ad esempio, ho abilitato i mirror dall'India. Quindi, ho rimosso il simbolo (#) davanti a ciascun URL.
[...] India Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch Server = http://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch Server = https://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch [...]
Salva e chiudi il file. Aggiorna gli elenchi dei repository usando il comando:
$ sudo pacman -Syu
2.7. Seleziona i mirror più veloci
Reflector può recuperare un mirror più veloce per il tuo Arch Linux.
Il comando seguente recupera i 5 10 mirror HTTPS più veloci con sede negli Stati Uniti , li ordina in base alla velocità di download e sovrascrive il file /etc/pacman.d/mirrorlist
file.
$ sudo reflector -f 5 --country 'United States' --protocol https --sort rate --save /etc/pacman.d/mirrorlist
2.8. Specifica il protocollo
Puoi selezionare i mirror aggiornati che supportano un tipo specifico di protocollo, ad esempio https
, http
, ftp
ecc.
Ad esempio, questo comando selezionerà 5 mirror più aggiornati degli Stati Uniti che supportano HTTP
e sovrascrivi /etc/pacman.d/mirrorlist
file:
$ sudo reflector --latest 5 --protocol http --country 'United States' --save /etc/pacman.d/mirrorlist
Le altre opzioni supportate sono --isos
che restituirà solo mirror che ospitano ISO, --ipv4
che restituirà solo mirror che supportano IPv4 e --ipv6
restituisce solo mirror che supportano IPv6.
3. Aggiorna automaticamente l'elenco dei mirror di Arch Linux all'avvio
Riflettore include systemd
unità di servizio e timer che possono essere utilizzate per aggiornare automaticamente la mirrorlist di Pacman.
3.1. Abilita e avvia il servizio di riflettore systemd
A partire dalla versione 2020.8, Reflector viene fornito con reflector.service
. Per aggiornare automaticamente l'elenco dei mirror di Arch Linux ad ogni riavvio, abilita e avvia semplicemente questo servizio utilizzando i comandi:
$ sudo systemctl enable reflector.service
$ sudo systemctl start reflector.service
Il servizio reflector eseguirà riflettore con i parametri specificati in /etc/xdg/reflector/reflector.conf
file.
Le impostazioni predefinite sono sufficienti per la maggior parte del tempo. Ecco il contenuto di reflector.conf
file:
$ cat /etc/xdg/reflector/reflector.conf
Risultato di esempio:
# # Empty lines and lines beginning with "#" are ignored. All other lines should # contain valid reflector command-line arguments. The lines are parsed with # Python's shlex modules so standard shell syntax should work. All arguments are # collected into a single argument list. # # See "reflector --help" for details. # Recommended Options # Set the output path where the mirrorlist will be saved (--save). --save /etc/pacman.d/mirrorlist # Select the transfer protocol (--protocol). --protocol https # Select the country (--country). # Consult the list of available countries with "reflector --list-countries" and # select the countries nearest to you or the ones that you trust. For example: # --country France,Germany # Use only the most recently synchronized mirrors (--latest). --latest 5 # Sort the mirrors by synchronization time (--sort). --sort age
Puoi anche modificare questo file e modificare i parametri secondo le tue esigenze. Questo file accetta tutti gli argomenti della riga di comando del riflettore.
Puoi raggruppare gli argomenti su una singola riga o dividerli su più righe, con righe vuote e righe di commento facoltative che iniziano con #
.
3.2. Abilita e avvia il timer di sistema del riflettore
Reflector spedisce un'altra unità di sistema denominata reflector.timer
, che avvia il reflector.service
settimanale.
Per abilitarlo e avviarlo automaticamente all'avvio del sistema, esegui i seguenti comandi uno per uno:
$ sudo systemctl enable reflector.timer
$ sudo systemctl start reflector.timer
Per impostazione predefinita, avvierà reflector.service
una volta alla settimana. Se non vuoi aspettare il tempo programmato, puoi avviare il reflector.service per aggiornare immediatamente l'elenco dei mirror di pacman:
$ sudo systemctl start reflector.service
Conclusione
In questa guida, abbiamo appreso cos'è Reflector, come recuperare l'elenco dei mirror Pacman aggiornato per il tuo sistema Arch Linux utilizzando lo script Reflector e infine come aggiornare automaticamente l'elenco dei mirror di Arch Linux.