Mirrors (Italiano)

From ArchWiki
Revision as of 17:34, 21 January 2012 by Umby213 (Talk | contribs) (allineata alla versione inglese...)

Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

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.

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
Esempio:
# 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.

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 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:

  1. scegliere un server ed esplorare "extra/os/";
  2. accedere a http://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, 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 #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; }
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 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

Belarus

Bulgaria

China

  1. CERNET
  1. CHINA TELECOM
  1. CHINA UNICOM

Czech Republic

Finland

France

Germany

Great Britain

Indonesia

Lithuania

Malaysia

New Zealand

Norway

Poland

Russia

South Africa

Spain

Taiwan

United States

Mirror IPv6

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.

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