Difference between revisions of "Mirrors (Italiano)"

From ArchWiki
Jump to: navigation, search
m (Globali: add tor mirrors)
m (allineata)
Line 6: Line 6:
 
{{Article summary text|Aggiornamento e gestione dei pacchetti con i mirrors}}
 
{{Article summary text|Aggiornamento e gestione dei pacchetti con i mirrors}}
 
{{Article summary heading|Related}}
 
{{Article summary heading|Related}}
{{Article summary wiki|pacman}}
+
{{Article summary wiki|pacman (Italiano)}}
{{Article summary wiki|reflector}}
+
{{Article summary wiki|Reflector}}
 
{{Article summary end}}
 
{{Article summary end}}
  
Line 289: Line 289:
  
 
== Vedere anche ==
 
== Vedere anche ==
* [[http://wiki.gotux.net/code:bash:mirup MirUp]] -- pacman mirrorlist downloader/checker
+
* [[http://wiki.gotux.net/code:bash:mirup MirUp]] –  pacman mirrorlist downloader/checker

Revision as of 09:09, 20 March 2012

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 #Elenco per velocità 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 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ì:

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

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

Globali

TOR Network

Bulgaria

Viet Nam

FPT TELECOM

China

CHINA TELECOM

CHINA UNICOM

Cernet

France

Germany

Indonesia

Kazakhstan

Lithuania

Malaysia

New Zealand

Poland

Russia

South Africa

United States

IPv6-ready mirrors

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/,')

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 (package signing). È 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 # pacman -Su per aggiornare il sistema

Lo script paccheckAUR è reperibile su AUR.

Vedere anche

  • [MirUp] – pacman mirrorlist downloader/checker