Improve pacman performance (Italiano)

From ArchWiki
Revision as of 19:12, 3 February 2012 by Hilinus (Talk | contribs)

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 – فارسی

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Improve pacman performance (Italiano)#)
Attenzione: Questo articolo è in fase di traduzione. Seguite per ora le istruzioni della versione inglese.

Miglioramento dei tempi d'accesso al database

Pacman memorizza tutte le informazioni relative ai pacchetti in piccoli file; uno per pacchetto. Migliorare i tempi d'accesso al database, riduce il tempo necessario a portare a termine le operazioni che ne fanno uso, come la ricerca dei pacchetti e la risoluzione delle dipendenze. Il metodo più sicuro e veloce, è dare il seguente comando come root:

# pacman-optimize

In questo modo il sistema tenterà di raggruppare tutti i files con le informazioni dei pacchetti, in modo che risiedano nella stessa area dell'hard disk, evitando che le testine si muovano eccessivamente quando devono accedere a tutti i pacchetti. Questo medodo è sicuro, ma non è infallibile. La sua efficacia varia in funzione del filesystem utilizzato, dalla percentuale di utilizzo del disco e dalla frammentazione dello spazio ancora libero. Un'opzione più "aggressiva", sarebbe quella di rimuovere i pacchetti disinstallati e i repository inutilizzati dalla cache, prima di procedere all'ottimizzazione del database:

# pacman -Sc && pacman-optimize

Migliorare la velocità di download

Nota: Se la velocità di download è minima, assicurarsi di star utilizzando uno dei mirror, e non ftp.archlinux.org, la cui banda è stata ridotta da marzo 2007.

La velocità con cui Pacman scarica i pacchetti può essere migliorata usando un'applicazione differente per lo scaricamento, preferendola al downloader built-in.

In ogni caso, assicurarsi di avere l'ultima versione di Pacman prima di effettuare qualsiasi modifica:

# pacman -Syu

Usando wget

Questa opzione è utile se si necessita di impostazioni per i proxy più avanzate rispetto a quelle native di pacman.

Per utilizzare wget, lo si installi con pacman -S wget e poi si modifichi /etc/pacman.conf aggiungendo le seguenti linee alla sezione [options]:

XferCommand = /usr/bin/wget -c --passive-ftp -c %u

Invece di inserire i parametri di wget in /etc/pacman.conf, è possibile modificare direttamente il relativo file di configurazione (quello globale risiede in /etc/wgetrc, mentre la configurazione per utente è contenuta in $HOME/.wgetrc).


Usando aria2

aria2 è una utility per il download molto leggera che supporta i download per parti, oltre a consentire la ripresa del download di un file interrotto. Tra I protocolli supportati ci sono HTTP/HTTPS e FTP. aria2 consente inoltre di stabilire più connessioni HTTP/HTTPS o FTP ad un mirror Arch linux, il che dovrebbe consentire un aumento della velocià di download, sia per i file che per i pacchetti.

Installazione

Si installino aria2 e relative dipendenze:

# pacman -S aria2

Configurazione

Si modifichi /etc/pacman.conf aggiungendo la linea seguente nella sezione [options]:

XferCommand = /usr/bin/aria2c --allow-overwrite=true -c --file-allocation=none --log-level=error -m2 --max-connection-per-server=2 --max-file-not-found=5 --min-split-size=5M --no-conf --remote-time=true --summary-interval=60 -t5 -d / -o %o %u

Spiegazione delle opzioni

/usr/bin/aria2c
Il percorso completo all'eseguibile di aria2c.
--allow-overwrite=true
Riavvia un download se il corrispondente file di controllo non esiste. (Default: false)
-C, --continue
Continua il download di un file parzialmente scaricato, se il relativo file di controllo esiste.
--file-allocation=none
Non prealloca lo spazio su disco per il file prima dell'inizio del download. (Default:prealloc)1
--log-level=error
Vengono scritti nel file di log solamente gli errori. (Default: debug)
m2, --max-tries=2
Effettua un massimo di 2 tentativi a mirror per il download di un file specifico. (Default: 5)
--max-connections-per-server=2
Imposta un massimo di due connessioni per ogni mirror. (Default:1)
--max-file-not-found=5
Costringe un download ad essere considerato come "fallito" se non viene ricevuto un singolo byte dopo 5 tentativi. (Default: 0)
--max-split-size=5M
Divide il file se è più grande di 2;5MB = 10MB. (Default: 20M)
--no-conf
Disabilita il caricamento del file aria2.conf, se esistente. (Default:~/.aria2/aria2.conf)
--remote-time=true
Applica i timestamps dei file(s) remoti a quelli locali. (Default: false)
--summary-interval=60
visualizza un riassunto dei progressi ogni 60 secondi. (Default: 60)2
-t5, --timeout=5
Imposta 5 secondi di timeout per mirror dopo che viene stabilita una connessione. (Default: 60)
-d, --dir
La directory dove memorizzare i files scaricati, come specificato da pacman.
-o, --output
Imposta il nome del/i file/s scaricato/i.
%o
Variabile che rappresenta il nome del file, come specificato da pacman.
%u
Variabile che rappresenta l'URL di download, come specificato da pacman.

Note aggiuntive

1 --file-allocation=falloc
Valore raccomandato per filesystem di nuova generazione come ext4 (con supporto agli extents abilitato), btrfs o xfs, poichè consente l'allocazione pressochè istantanea di files di grandi dimensioni (GB). Non utilizzare falloc con filesystem legacy come ext3, poichè la preallocazione impiega approssimativamente lo stessso tempo che l'allocazione standard, cosa che costringerebbe il processo di aria2 ad aspettare prima di iniziare il download.
2 --summary-interval=0
Disabilita l'output del riassunto progressi di download, il che potrebbe aumentare le prestazioni generali. I logs continueranno ad essere scritti, seguendo quanto specificato dall'opzione log-level.

Usando powerpill-light

pacman2aria2 fornisce uno script chiamato "powerpill-light" che può essere parzialmente usato come sostituto per powerpill. Benchè non sia un wrapper completo come lo era powerpill, supporta le seguenti operazioni:

  • download paralleli
  • download per parti
  • recupero mirror con Reflector per aumentare il numero di download paralleli

Ciò lo rende veloce come powerpill nello scaricamento dei pacchetti. pacman2aria2 è disponibile in AUR e nel repo di Xyne.

Uso

Si esegua powerpill-light come si eseguirebbe pacman per effettuare un sync dei repository, ma senza l'opzione "-S". Per esempio, per aggiornare il sistema, invece di "pacman -Su" si usi:

powerpill-light -u

Per installare gnome, invece di "pacman -S gnome" si usi:

powerpill-light gnome

Usando airpac