Mirrors (Italiano)
Questa pagina è una guida per la selezione e la configurazione dei "mirrors", e un elenco degli attuali mirrors disponibili.
Attivazione di un mirror specifico
Per attivare i mirrors, aprire /etc/pacman.d/mirrorlist
e individuare la propria regione geografica. Decommentare i mirrors che si desidera utilizzare.
Esempio:
# Any # Server = ftp://mirrors.kernel.org/archlinux/$repo/os/i686 Server = http://mirrors.kernel.org/archlinux/$repo/os/i686
Consultare #Mirror status e #Elenco per velocità per alcuni utili strumenti che aiutano nella scelta dei mirrors.
È anche possibile specificare i mirrors in /etc/pacman.conf
. Per il repository [core], l'impostazione di default è:
[core] Include = /etc/pacman.d/mirrorlist
Per usare il mirror HostEurope come predefinito, aggiungerlo prima della riga Include
:
[core] Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/core/os/i686 Include = /etc/pacman.d/mirrorlist
pacman tenterà ora di connettersi prima a questo mirror. Procedere con la stessa impostazione per [testing], [extra], e [community], se possibile.
pacman.conf
, ricordarsi di utilizzare lo stesso mirror per tutti i repository. In caso contrario, potrebbero essere installati pacchetti che sono incompatibili tra di loro, come linux da [core] e un vecchio modulo del kernel da [extra].Mirror status
Verificare lo stato dei mirror Arch ed il loro livello di aggiornamento visitando il sito https://www.archlinux.de/?page=MirrorStatus o https://archlinux.org/mirrors/status/.
Si può generare una lista aggiornata dei mirror qui e automatizzare il processo con uno script, oppure installare eventualmente Reflector, una utility che genera una mirrorlist usando la lista "Mirrorcheck"; un ulteriore alternativa è controllare il livello di aggiornamento manualmente così:
- scegliere un server ed esplorare "extra/os/";
- accedere a https://archlinux.org/ in un'altra scheda o finestra del browser e,
- confrontare la data dell'ultima modifica della cartella
i686
sul mirror [extra] nella pagina principale, nel box Package Repositories a destra.
Scelta e selezione dei mirrors
Se non si usa reflector, che offre la funzionalità di ordinare i mirror sia per livello di aggiornamento che per velocità, seguire questa dimostrazione di scelta manuale dei mirror.
Elenco per velocità
È raccomandabile, al fine di trarre il massimo vantaggio, utilizzare il mirror locale più veloce, che può essere determinato tramite lo script bash incluso /usr/bin/rankmirrors
.
Usare cd
per spostarsi nella cartella /etc/pacman.d
:
# cd /etc/pacman.d
Eseguire un backup del /etc/pacman.d/mirrorlist
esistente:
# cp mirrorlist mirrorlist.backup
Modificare mirrorlist.backup
decommentando i mirrors testing con rankmirrors:
# nano mirrorlist.backup
Facoltativamente eseguire la seguente riga sed
per decommentare ogni mirror:
# sed '/^#\S/ s|#||' -i mirrorlist.backup
Per ultimo, i comandi per creare la graduatoria dei mirrors. L'operando -n 6
significa solo l'output dei 6 mirrors più veloci:
# rankmirrors -n 6 mirrorlist.backup > mirrorlist
Eseguire rankmirrors -h
per una lista di tutte le opzioni disponibili.
Forzare pacman ad aggiornare la lista dei pacchetti
Dopo la creazione/modifica di /etc/pacman.d/mirrorlist
(manualmente o usando rankmirrors
), eseguire il seguente comando:
# pacman -Syy
--refresh
o -y
forza pacman ad aggiornare tutti i pacchetti nella lista anche se sono considerati perfettamente aggiornati. Eseguire pacman -Syy
, ogni volta che si cambia mirror, è una buona abitudine, e si evitano eventuali e sempre possibili problemi.Elenco misto in base a velocità e stato
Non è una buona idea quella di utilizzare solo i mirror più veloci, dal momento che potrebbe anche non essere ben aggiornato. La soluzione migliore sarebbe usare #Elenco per velocità, che elenca i 6 mirror più veloci tramite il loro #Mirror status.
Basta visitare uno o più #Mirror status link e ordinarli in base al più alto livello di aggiornamento. Spostare i mirror più aggiornati in cima a /etc/pacman.d/mirrorlist
e se non sono aggiornati, semplicemente non usarli; ripetere il processo tralasciando i mirror non aggiornati. Così si ottiene un totale di 6 mirror ordinati per velocità e stato, lasciando da parte quelli obsoleti.
Quando si rileva una qualche irregolarità con i mirror, il procedimento descritto dovrebbe essere ripetuto. Lo si può anche rifare una volta ogni tanto, anche se non si riscontrano problemi, per mantenere aggiornato /etc/pacman.d/mirrorlist
.
Script per automatizzare l'uso di Pacman Mirrorlist Generator
È possibile utilizzare il seguente script di shell per aggiornare i propri mirror in base ai punteggi di Pacman Mirrorlist Generator. Se non si vive negli Stati Uniti, è possibile modificare la variabile country
.
updatemirrors.sh
#!/bin/sh [ "$UID" != 0 ] && su=sudo country='US' url="https://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on" tmpfile=$(mktemp --suffix=-mirrorlist) # Get latest mirror list and save to tmpfile wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile" # Backup and replace current mirrorlist file (if new file is non-zero) if [ -s "$tmpfile" ] then { echo " Backing up the original mirrorlist..." $su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } && { echo " Rotating the new list into place..." $su mv -i "$tmpfile" /etc/pacman.d/mirrorlist; } else echo " Unable to update, could not download list." fi # allow global read access (required for non-root yaourt execution) chmod +r /etc/pacman.d/mirrorlist
chmod +x
. Se non si è effettuato l'accesso come root lo script invocherà il comando sudo
per poter essere eseguito con i giusti privilegi ed effettuare la rotazione del mirrorlist.Uso di reflector
È possibile utilizzare Reflector per recuperare gli ultimi mirrorlist dalla pagina MirrorStatus, filtrare i mirror più aggiornati, ordinarli in base alla velocità e sovrascrivere il file /etc/pacman.d/mirrorlist
.
Mirror ufficiali
La lista dei mirror ufficiali di Arch Linux è disponibile con il pacchetto pacman-mirrorlist. Per ottenere un elenco mirror ancora più aggiornato, usare la pagina Pacman Mirrorlist Generator sul sito ufficiale.
Nell'improbabile caso in cui ci si trovi senza nessun mirror configurato e pacman-mirrorlist
non sia installato:
# wget -O /etc/pacman.d/mirrorlist https://archlinux.org/mirrorlist/all/
Assicurarsi di decommentare il mirror preferito come descritto sopra, quindi:
# pacman -Syy # pacman -S --force pacman-mirrorlist
Se si volesse vedere il proprio mirror aggiunto alla lista ufficiale, presentare una richiesta ai responsabili del progetto. Nel frattempo, aggiungerlo alla lista #Mirror non ufficiali alla fine di questa pagina.
Se si verifica un errore che indica che la variabile $arch è usata ma non definita, aggiungere al proprio /etc/pacman.conf
:
Architecture = x86_64
auto
e i686
per l'architettura.IPv6-ready mirrors
Il pacman mirrorlist generator può essere usato per generare una lista di mirrors IPv6.
Mirror non ufficiali
Questi mirror non sono elencati in /etc/pacman.d/mirrorlist
.
Globali
- https://sourceforge.net/projects/archlinux/files/ - Non dispone di ISO delle release post 2006. Usarlo solo per ISO datate.
TOR Network
- http://cz2jqg7pj2hqanw7.onion/archlinux[link interrotto 2020-08-04]
- ftp://mirror:mirror@cz2jqg7pj2hqanw7.onion/archlinux
Singapore
Bulgaria
Vietnam
FPT TELECOM
Cina
CHINA TELECOM
CHINA UNICOM
Cernet
- https://ftp.sjtu.edu.cn/archlinux/ - Shanghai Jiaotong University
- ftp://ftp.sjtu.edu.cn/archlinux/
- https://mirrors.ustc.edu.cn/archlinux/ - University of Science and Technology of China
- ftp://mirrors.ustc.edu.cn/archlinux/
- https://mirrors.tuna.tsinghua.edu.cn/archlinux/ - Tsinghua University
- http://mirrors.4.tuna.tsinghua.edu.cn/archlinux/ (IPv4 only)
- http://mirrors.6.tuna.tsinghua.edu.cn/archlinux/ (IPv6 only)
- http://mirror.lzu.edu.cn/archlinux/ - Lanzhou University
Francia
- http://delta.archlinux.fr/ - Supporto al Delta Package. È necessario il pacchetto xdelta3 da [extra]
- http://mirror.soa1.org/archlinux [link interrotto 2020-08-04]
- ftp://mirror:mirror@mirror.soa1.org/archlinux
Germania
- http://ftp.uni-erlangen.de/mirrors/archlinux/[link interrotto 2020-08-04]
- ftp://ftp.uni-erlangen.de/mirrors/archlinux/
- http://ftp.u-tx.net/archlinux/[link interrotto 2021-11-13]
- ftp://ftp.u-tx.net/archlinux/
- http://mirror.michael-eckert.net/archlinux/[link interrotto 2020-08-04]
- https://linux.rz.rub.de/archlinux/
Indonesia
- http://mirror.kavalinux.com/archlinux/[link interrotto 2021-05-17] - solo per l'indonesia
- http://kambing.ui.ac.id/archlinux/
- http://repo.ukdw.ac.id/archlinux/[link interrotto 2020-08-04]
Kazakistan
- http://archlinux.kz/[link interrotto 2020-08-04]
- http://mirror.neolabs.kz/archlinux/
- http://mirror-kt.neolabs.kz/archlinux/[link interrotto 2020-08-04]
Lituania
- http://edacval.homelinux.org/mirrors/archlinux/[link interrotto 2020-08-04] - Solo per Lituania, no ISO
Malesia
- http://mirror.oscc.org.my/archlinux/[link interrotto 2021-11-13]
- http://mirrors.inetutils.net/archlinux/[link interrotto 2020-08-04] - ISO and Core
Nuova Zelanda
Polonia
- ftp://ftp.icm.edu.pl/pub/Linux/dist/archlinux/ - ICM UW
- https://ftp.icm.edu.pl/pub/Linux/dist/archlinux/ - ICM UW
- rsync://ftp.icm.edu.pl/pub/Linux/dist/archlinux/ - ICM UW
Russia
- http://hatred.homelinux.net/archlinux/[link interrotto 2020-08-04] - Vladivostok, without iso, with 3SPY[link interrotto 2020-08-04] project repos and mingw32[link interrotto 2020-08-04] repo
- http://mirrors.krasinfo.ru/archlinux/ - Krasnoyarsk, Classica-Service Ltd
Sud Africa
- http://ftp.sun.ac.za/ftp/pub/mirrors/archlinux/[link interrotto 2020-08-04] - Università di Stellenbosch
- ftp://ftp.sun.ac.za/pub/mirrors/archlinux/
- http://ftp.leg.uct.ac.za/pub/linux/arch/ - Università di Cape Town
- ftp://ftp.leg.uct.ac.za/pub/linux/arch/
- http://mirror.ufs.ac.za/archlinux/ - Università di Free State
- ftp://mirror.ufs.ac.za/os/linux/distros/archlinux/
- http://ftp.wa.co.za/pub/archlinux/[link interrotto 2021-05-17] - Web Africa Networks
- ftp://ftp.wa.co.za/pub/archlinux/
- http://archlinux.mirror.ac.za - TENET - Tertiary Education and Research Network of South Africa
- ftp://archlinux.mirror.ac.za
Stati Uniti
- http://archlinux.linuxfreedom.com[link interrotto 2020-08-04] - contiente molte ISO ma NON l'ultima 2011.08.19
- http://mirror.pointysoftware.net/archlinux/
Risoluzioni dei problemi
Mirror non sincronizzati: pacchetti corrotti/file non trovati
Le problematiche relative ai mirror out-of-sync sottolineate in questo post possono essere già state risolte per molti utenti, ma nel caso si ripresentino di nuovo gli stessi problemi, provare semplicemente a vedere se sono presenti i pacchetti nel repository [testing].
Dopo aver sincronizzato con pacman -Sy
, usare questo comando:
# pacman -Ud $(pacman -Sup | tail -n +2 | sed -e 's,/\(core\|extra\)/,/testing/,' \ -e 's,/\(community\)/,/\1-testing/,')
Ciò potrebbe aiutare in quelle occasioni in cui i pacchetti nel mirror non siano stati sincronizzati a [core] o [extra], e resiedano ancora in [testing]. È completamente sicuro installare da [testing] in questo caso, poiché i pacchetti sono accompagnati dai numeri di versione e di rilascio.
In ogni caso, è meglio dare una rinfrescata ai mirror e alla sincronizzazione con pacman -Syy
che ricorrere a un repository alternativo. Tuttavia, tutti, o alcuni mirror, potrebbero a volte non essere sincronizzati, in qualche misura.
Usare tutti i mirror
Per emulare il comportamento di pacman -Su
, e cioè di scorrere l'intera lista dei mirror, utilizzare questo script:
~/bin/pacup
#!/bin/bash # Pacman will not exit on the first error. Comment the line below to # try from [testing] directly. pacman -Su "$@" && exit while read -r pkg; do if pacman -Ud "$pkg"; then continue else while read -r mirror; do pacman -Ud $(sed "s,.*\(/\(community-\)*testing/os/\(i686\|x86_64\)/\),$mirror\1," <<<"$pkg") && break done < <(sed -ne 's,^ *Server *= *\|/$repo/os/\(i686\|x86_64\).*,,gp' \ </etc/pacman.d/mirrorlist | tail -n +2 ) fi done < <(pacman -Sup | tail -n +2 | sed -e 's,/\(core\|extra\)/,/testing/,' \ -e 's,/\(community\)/,/\1-testing/,')
Vedere anche
- GitHub archweb mirrorlist.py - codice sorgente del mirrorlist generator di archweb