Mirrors (Italiano)
Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end
Questa pagina è una guida per la selezione e la configurazione dei "mirrors", e un elenco degli attuali mirrors disponibili.
Contents
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.
# Any # Server = ftp://mirrors.kernel.org/archlinux/$repo/os/i686 Server = http://mirrors.kernel.org/archlinux/$repo/os/i686
Consultare #Mirror status e #List by speed 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 http://www.archlinux.de/?page=MirrorStatus o http://www.archlinux.org/mirrors/status/.
Si può generare una lista aggiornata dei mirror qui oppure installare eventualmente reflector, una utility che genera una mirrorlist usando la lista "Mirrorcheck".
Oppure controllare il livello di aggiornamento manualmente:
- scegliere un server ed esplorare "extra/os/";
- accedere a http://www.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 #List by speed, 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 # Invocazione di sudo se non si è root [ "$UID" != 0 ] && su=sudo # Impostazione variabile paese country='Germany' # Definire l'URL per il prelevamento dei mirror url="http://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on" # Definire un file temporaneo tmpfile=$(mktemp --suffix=-mirrorlist) # Prelevare la lista dei mirror aggiornati e salvarla nel file temporaneo wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile" # Creare un backup e rimpiazzarlo con con il file mirrorlist precedentemente creato { echo "Backup del mirrorlist originale..." $su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } && { echo "Rotazione con il nuovo mirrorlist..." $su mv -i "$tmpfile" /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 http://www.archlinux.org/mirrorlist/all/
Assicurarsi di decommentare il mirror preferito come descritto sopra, quindi:
# pacman -Syy # pacman -Sf 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 #Unofficial mirrors 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
Nota: è anche possibile utilizzare il valore auto
e i686
per l'architettura.
Mirror non ufficiali
Questi mirror non sono elencati in /etc/pacman.d/mirrorlist
.
Global
- http://prdownloads.sourceforge.net/archlinux/ - Non dispone di ISO delle release recenti. Usarlo solo per ISO datate.
Belarus
- ftp://mirror.datacenter.by/pub/archlinux/ http rsync://mirror.datacenter.by/arch/
- ftp://ftp.byfly.by/pub/archlinux/ http rsync://ftp.byfly.by/ftp/pub/archlinux/
- http://linux.solo.by/archlinux/
Bulgaria
- http://mirror.telepoint.bg/archlinux/
- ftp://mirror.telepoint.bg/archlinux/
- http://archlinux.igor.onlinedirect.bg/ - http
- ftp://archlinux.igor.onlinedirect.bg/linux/archlinux/ - http
China
- CERNET
- http://mirror.bjtu.edu.cn/archlinux/
- http://ftp.sjtu.edu.cn/pub/mirror2/www.archlinux.org/
- http://ftp.sjtu.edu.cn/pub/mirror3/www.archlinux.org/
- http://ftp.sjtu.edu.cn/pub/mirror4/www.archlinux.org/
- CHINA TELECOM
- CHINA UNICOM
Czech Republic
Finland
France
Germany
- ftp://ftp.uni-erlangen.de/mirrors/archlinux/ - http
- ftp://mirror.das-iro.de/archlinux/ - http
- ftp://ftp.u-tx.net/archlinux/ - http
Great Britain
Indonesia
- http://archlinux.idrepo.or.id/archlinux/ - http
- http://bali.idrepo.or.id/archlinux/ - http
- http://madura.idrepo.or.id/archlinux/ - http
- http://sulawesi.idrepo.or.id/archlinux/ - http
- http://sumbawa.idrepo.or.id/archlinux/ - http
- http://mirror.kavalinux.com/archlinux/ - http only from indonesia
- http://kambing.ui.ac.id/archlinux/ - http
- http://repo.ukdw.ac.id/archlinux/ - http
Lithuania
- http://edacval.homelinux.org/mirrors/archlinux/ - Only from LT, without ISO
Malaysia
New Zealand
Norway
Poland
- ftp://ftp.icm.edu.pl/pub/Linux/sunsite/distributions/archlinux/ - http - Up-to-date, but no [core] repository
Russia
- http://hatred.homelinux.net/archlinux/ - Vladivostok, without iso, with 3SPY project repos and mingw32 repo
- ftp://opgsff.info - Zelenograd
South Africa
- http://archlinux.mirror.ac.za/ - TENET Mirror
- ftp://archlinux.mirror.ac.za/
- http://ftp.sun.ac.za/ftp/pub/mirrors/archlinux/ - Stellenbosch University
- ftp://ftp.sun.ac.za/pub/mirrors/archlinux/
- http://ftp.leg.uct.ac.za/pub/linux/arch/ - University of Cape Town
- ftp://ftp.leg.uct.ac.za/pub/linux/arch/
Spain
- ftp://ftp.udc.es/mirror/archlinux/ - http rsync://ftp.udc.es/mirror/archlinux/
Taiwan
- http://shadow.ind.ntou.edu.tw/archlinux/ - National Taiwan Ocean University
United States
- http://mirror.mocker.org - http
- http://archlinux.linuxfreedom.com - Contains all of the ISO images
- ftp://mirrors.acm.jhu.edu/arch/ - http rsync://mirrors.acm.jhu.edu/arch/
- ftp://ftp.osuosl.org/pub/archlinux/ - http rsync://ftp.osuosl.org/archlinux/
- http://mirror.pointysoftware.net/archlinux/
- http://mirrors.lax1.thegcloud.com/arch - http
- http://mirror.ece.vt.edu/archlinux/ - http
Mirror IPv6
- http://power.klette.us/mirror/ (Norway)
- http://arch.iskrembilen.com/ (Norway, rsync available)
- niue.belnet.be (Belgium)
- ftp.estpak.ee (Estonia)
- ftp.free.fr (France)
- patroklos.noc.ntua.gr (Greece)
- ftp.heanet.ie (Ireland)
- ftp.nluug.nl (Netherlands)
- ftp.surfnet.nl (Netherlands)
- ftp.sixnix.net/ftp6.sixnix.net (Finland) - dead
- http://mirror6.bjtu.edu.cn/archlinux (China)
- http://mirrors.inetutils.net/archlinux/ (Malaysia)
- http://mirror.ece.vt.edu/archlinux/ (Virginia, US)
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/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/,')
Verifica di mirror multipli con paccheck
È anche possibile utilizzare lo script paccheck:
- per il confronto della sincronizzazione dei database di pacman e la descrizione dei pacchetti su mirror differenti,
- per verificare le dimensioni dei pacchetti nella cache di pacman,
- per eventuali confronti dei pacchetti nella cache di pacman di determinati mirror.
- per il confronto della sincronizzazione dei database di pacman e la descrizione dei pacchetti su mirror differenti,
Lo script è destinato a contribuire al rilevamento di determinati mirror prima della loro implementazione mediante la verifica GPG.
È destinato a coloro che desiderano maggiore garanzia nei confronti di alcuni possibili scenari di hacking dei server mirror.
La procedura di aggiornamento completo del sistema consiste in:
1) Eseguire paccheck come utente NON root pacman verrà sincronizzato e i pacchetti necessari scaricati 2) Esaminare i rapporti 3) Se tutti i pacchetti corrispondono eseguire "sudo pacman -Su" per aggiornare il sistema
Lo script è reperibile su AUR: paccheck script
Vedere anche
- [MirUp] -- pacman mirrorlist downloader/checker