arch-wiki-md-repo
Version:
All arch-wiki articles in markdown format, updated every two days.
386 lines (254 loc) • 18.7 kB
Markdown
Articoli correlati
* [Mirroring](/index.php/Mirroring "Mirroring")
* [pacman (Italiano)](/index.php/Pacman_(Italiano) "Pacman (Italiano)")
* [Reflector](/index.php/Reflector "Reflector")
Questa pagina è una guida per la selezione e la configurazione dei "mirrors", e un elenco degli attuali mirrors disponibili.
## Contents
* [1 Attivazione di un mirror specifico](#Attivazione_di_un_mirror_specifico)
* [2 Mirror status](#Mirror_status)
* [3 Scelta e selezione dei mirrors](#Scelta_e_selezione_dei_mirrors)
* [3.1 Elenco per velocità](#Elenco_per_velocit.C3.A0)
* [3.2 Elenco misto in base a velocità e stato](#Elenco_misto_in_base_a_velocit.C3.A0_e_stato)
* [3.3 Script per automatizzare l'uso di Pacman Mirrorlist Generator](#Script_per_automatizzare_l.27uso_di_Pacman_Mirrorlist_Generator)
* [3.4 Uso di reflector](#Uso_di_reflector)
* [4 Mirror ufficiali](#Mirror_ufficiali)
* [4.1 IPv6-ready mirrors](#IPv6-ready_mirrors)
* [5 Mirror non ufficiali](#Mirror_non_ufficiali)
* [5.1 Globali](#Globali)
* [5.2 TOR Network](#TOR_Network)
* [5.3 Singapore](#Singapore)
* [5.4 Bulgaria](#Bulgaria)
* [5.5 Vietnam](#Vietnam)
* [5.6 Cina](#Cina)
* [5.7 Francia](#Francia)
* [5.8 Germania](#Germania)
* [5.9 Indonesia](#Indonesia)
* [5.10 Kazakistan](#Kazakistan)
* [5.11 Lituania](#Lituania)
* [5.12 Malesia](#Malesia)
* [5.13 Nuova Zelanda](#Nuova_Zelanda)
* [5.14 Polonia](#Polonia)
* [5.15 Russia](#Russia)
* [5.16 Sud Africa](#Sud_Africa)
* [5.17 Stati Uniti](#Stati_Uniti)
* [6 Risoluzioni dei problemi](#Risoluzioni_dei_problemi)
* [6.1 Mirror non sincronizzati: pacchetti corrotti/file non trovati](#Mirror_non_sincronizzati:_pacchetti_corrotti.2Ffile_non_trovati)
* [6.1.1 Usare tutti i mirror](#Usare_tutti_i_mirror)
* [7 Vedere anche](#Vedere_anche)
## 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.
**Nota:** La velocità di banda di ftp.archlinux.org [è limitata a 50KB/s](https://www.archlinux.org/news/throttling-ftparchlinuxorg-rsyncarchlinuxorg/)
Esempio:
```
# Any
# Server = ftp://mirrors.kernel.org/archlinux/$repo/os/i686
**Server = http://mirrors.kernel.org/archlinux/$repo/os/i686**
```
Consultare [#Mirror status](#Mirror_status) e [#Elenco per velocità](#Elenco_per_velocit.C3.A0) per alcuni utili strumenti che aiutano nella scelta dei mirrors.
**Tip:** Decommentare 5 mirrors di preferenza e metterli in cima al file mirrorlist. In questo modo è più facile trovarli ed eventualmente spostarli se il primo mirror della lista avesse dei problemi. Inoltre agevola gli aggiornamenti dei mirrorlist all'interno del file stesso.
È 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.
**Nota:** Se i mirror sono stati indicati direttamente in `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](http://www.archlinux.de/?page=MirrorStatus) o [https://www.archlinux.org/mirrors/status/](https://www.archlinux.org/mirrors/status/).
Si può generare una lista aggiornata dei mirror [qui](https://www.archlinux.org/mirrorlist/) e automatizzare il processo con uno [script](#Script_per_automatizzare_l.27uso_di_Pacman_Mirrorlist_Generator), oppure installare eventualmente [Reflector](/index.php/Reflector "Reflector"), una utility che genera una mirrorlist usando la lista "Mirrorcheck"; un ulteriore alternativa è controllare il livello di aggiornamento manualmente così:
1. scegliere un server ed esplorare "extra/os/";
2. accedere a [https://www.archlinux.org/](https://www.archlinux.org/) in un'altra scheda o finestra del browser e,
3. 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](https://www.archlinux.org/packages/?name=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
```
**Tip:** L'esecuzione di una doppia flag `--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à](#Elenco_per_velocit.C3.A0), che elenca i 6 mirror più veloci tramite il loro [#Mirror status](#Mirror_status).
Basta visitare uno o più [#Mirror status](#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](https://www.archlinux.org/mirrorlist/). 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
```
**Nota:** É necessario copiare e salvare il testo in un file e accordargli i permessi di esecuzione tramite il comando `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](/index.php/Reflector "Reflector") per recuperare gli ultimi mirrorlist dalla pagina [MirrorStatus](https://www.archlinux.de/?page=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](https://www.archlinux.org/packages/?name=pacman-mirrorlist). Per ottenere un elenco mirror ancora più aggiornato, usare la pagina [Pacman Mirrorlist Generator](https://www.archlinux.org/mirrorlist/) 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://www.archlinux.org/mirrorlist/all/](https://www.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 [#Unofficial mirrors](#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.
### IPv6-ready mirrors
Il [*pacman mirrorlist generator*](https://www.archlinux.org/mirrorlist/?country=all&protocol=http&ip_version=6) può essere usato per generare una lista di mirrors IPv6.
## Mirror non ufficiali
Questi mirror *non* sono elencati in `/etc/pacman.d/mirrorlist`.
### Globali
* [http://sourceforge.net/projects/archlinux/files/](http://sourceforge.net/projects/archlinux/files/) - *Non dispone di ISO delle release post 2006\. Usarlo solo per ISO datate.*
### TOR Network
* [http://cz2jqg7pj2hqanw7.onion/archlinux](http://cz2jqg7pj2hqanw7.onion/archlinux)
* [ftp://mirror:mirror@cz2jqg7pj2hqanw7.onion/archlinux](ftp://mirror:mirror@cz2jqg7pj2hqanw7.onion/archlinux)
### Singapore
* [http://mirror.nus.edu.sg/archlinux/](http://mirror.nus.edu.sg/archlinux/)
### Bulgaria
* [http://mirror.telepoint.bg/archlinux/](http://mirror.telepoint.bg/archlinux/)
* [ftp://mirror.telepoint.bg/archlinux/](ftp://mirror.telepoint.bg/archlinux/)
### Vietnam
**FPT TELECOM**
* [http://mirror-fpt-telecom.fpt.net/archlinux/](http://mirror-fpt-telecom.fpt.net/archlinux/)
### Cina
**CHINA TELECOM**
* [http://mirror.lupaworld.com/archlinux/](http://mirror.lupaworld.com/archlinux/)
**CHINA UNICOM**
* [http://mirrors.sohu.com/archlinux/](http://mirrors.sohu.com/archlinux/)
**Cernet**
* [http://ftp.sjtu.edu.cn/archlinux/](http://ftp.sjtu.edu.cn/archlinux/) - *Shanghai Jiaotong University*
* [ftp://ftp.sjtu.edu.cn/archlinux/](ftp://ftp.sjtu.edu.cn/archlinux/)
* [http://mirrors.ustc.edu.cn/archlinux/](http://mirrors.ustc.edu.cn/archlinux/) - *University of Science and Technology of China*
* [ftp://mirrors.ustc.edu.cn/archlinux/](ftp://mirrors.ustc.edu.cn/archlinux/)
* [http://mirrors.tuna.tsinghua.edu.cn/archlinux/](http://mirrors.tuna.tsinghua.edu.cn/archlinux/) - *Tsinghua University*
* [http://mirrors.4.tuna.tsinghua.edu.cn/archlinux/](http://mirrors.4.tuna.tsinghua.edu.cn/archlinux/) *(IPv4 only)*
* [http://mirrors.6.tuna.tsinghua.edu.cn/archlinux/](http://mirrors.6.tuna.tsinghua.edu.cn/archlinux/) *(IPv6 only)*
* [http://mirror.lzu.edu.cn/archlinux/](http://mirror.lzu.edu.cn/archlinux/) - *Lanzhou University*
### Francia
* [http://delta.archlinux.fr/](http://delta.archlinux.fr/) - *Supporto al Delta Package. È necessario il pacchetto xdelta3 da [extra]*
* [http://mirror.soa1.org/archlinux](http://mirror.soa1.org/archlinux)
* [ftp://mirror:mirror@mirror.soa1.org/archlinux](ftp://mirror:mirror@mirror.soa1.org/archlinux)
### Germania
* [http://ftp.uni-erlangen.de/mirrors/archlinux/](http://ftp.uni-erlangen.de/mirrors/archlinux/)
* [ftp://ftp.uni-erlangen.de/mirrors/archlinux/](ftp://ftp.uni-erlangen.de/mirrors/archlinux/)
* [http://ftp.u-tx.net/archlinux/](http://ftp.u-tx.net/archlinux/)
* [ftp://ftp.u-tx.net/archlinux/](ftp://ftp.u-tx.net/archlinux/)
* [http://mirror.michael-eckert.net/archlinux/](http://mirror.michael-eckert.net/archlinux/)
* [http://linux.rz.rub.de/archlinux/](http://linux.rz.rub.de/archlinux/)
### Indonesia
* [http://mirror.kavalinux.com/archlinux/](http://mirror.kavalinux.com/archlinux/) - *solo per l'indonesia*
* [http://kambing.ui.ac.id/archlinux/](http://kambing.ui.ac.id/archlinux/)
* [http://repo.ukdw.ac.id/archlinux/](http://repo.ukdw.ac.id/archlinux/)
### Kazakistan
* [http://archlinux.kz/](http://archlinux.kz/)
* [http://mirror.neolabs.kz/archlinux/](http://mirror.neolabs.kz/archlinux/)
* [http://mirror-kt.neolabs.kz/archlinux/](http://mirror-kt.neolabs.kz/archlinux/)
### Lituania
* [http://edacval.homelinux.org/mirrors/archlinux/](http://edacval.homelinux.org/mirrors/archlinux/) - *Solo per Lituania, no ISO*
### Malesia
* [http://mirror.oscc.org.my/archlinux/](http://mirror.oscc.org.my/archlinux/)
* [http://mirrors.inetutils.net/archlinux/](http://mirrors.inetutils.net/archlinux/) - *ISO and Core*
### Nuova Zelanda
* [http://mirror.ihug.co.nz/archlinux/](http://mirror.ihug.co.nz/archlinux/)
* [http://mirror.ece.auckland.ac.nz/archlinux/](http://mirror.ece.auckland.ac.nz/archlinux/) *solo NZ*
### Polonia
* [ftp://ftp.icm.edu.pl/pub/Linux/dist/archlinux/](ftp://ftp.icm.edu.pl/pub/Linux/dist/archlinux/) - ICM UW
* [http://ftp.icm.edu.pl/pub/Linux/dist/archlinux/](http://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/](http://hatred.homelinux.net/archlinux/) - *Vladivostok, without iso, with <sub>[3SPY](http://hatred.homelinux.net/wiki/proekty:3spy:start)</sub> project repos and [**mingw32**](http://hatred.homelinux.net/archlinux/mingw32/os/i686) repo*
* [http://mirrors.krasinfo.ru/archlinux/](http://mirrors.krasinfo.ru/archlinux/) - *Krasnoyarsk, Classica-Service Ltd*
### Sud Africa
* [http://ftp.sun.ac.za/ftp/pub/mirrors/archlinux/](http://ftp.sun.ac.za/ftp/pub/mirrors/archlinux/) - *Università di Stellenbosch*
* [ftp://ftp.sun.ac.za/pub/mirrors/archlinux/](ftp://ftp.sun.ac.za/pub/mirrors/archlinux/)
* [http://ftp.leg.uct.ac.za/pub/linux/arch/](http://ftp.leg.uct.ac.za/pub/linux/arch/) - *Università di Cape Town*
* [ftp://ftp.leg.uct.ac.za/pub/linux/arch/](ftp://ftp.leg.uct.ac.za/pub/linux/arch/)
* [http://mirror.ufs.ac.za/archlinux/](http://mirror.ufs.ac.za/archlinux/) - *Università di Free State*
* [ftp://mirror.ufs.ac.za/os/linux/distros/archlinux/](ftp://mirror.ufs.ac.za/os/linux/distros/archlinux/)
* [http://ftp.wa.co.za/pub/archlinux/](http://ftp.wa.co.za/pub/archlinux/) - *Web Africa Networks*
* [ftp://ftp.wa.co.za/pub/archlinux/](ftp://ftp.wa.co.za/pub/archlinux/)
* [http://archlinux.mirror.ac.za](http://archlinux.mirror.ac.za) - *TENET - Tertiary Education and Research Network of South Africa*
* [ftp://archlinux.mirror.ac.za](ftp://archlinux.mirror.ac.za)
### Stati Uniti
* [http://archlinux.linuxfreedom.com](http://archlinux.linuxfreedom.com) - *contiente molte ISO ma NON l'ultima 2011.08.19*
* [http://mirror.pointysoftware.net/archlinux/](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](https://www.archlinux.org/news/482/) 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
* [MirUp](http://wiki.gotux.net/code:bash:mirup) – pacman mirrorlist downloader/checker