Archlinux: ottimizzare la compilazione dei pacchetti da AUR
AUR (Archlinux User Repository) è un server di pacchetti per Archlinux non ufficiale supportato dalla comunità di utenti e ricco di pacchetti utili e in continua evoluzione. In questa guida descriverò brevemente come installare un pacchetto presente in AUR e soprattutto come ottimizzarne la compilazione. Sono ormai un ricordo (o quasi) i PC con processore single core ed è quindi importante saper utilizzare a pieno le potenzialità della propria macchina con 2, 4 o (se siete fortunati) 8 unità di elaborazione (cores).
Installare un pacchetto da AUR
Poichè non è un server ufficiale, il gestore pacman
non attinge dai pacchetti presenti in AUR. Ci sono fondamentalmente due metodi per installare un pacchetto da AUR:
- Utilizzare un gestore analogo a
pacman
, il più diffuso èyaourt
; - Utilizzare la procedura manuale.
In questo secondo caso, scarichiamo il tarball da AUR (che solitamente è un archivio contenente il file di testo PKGBUILD), estraiamolo in una cartella temporanea, posizioniamoci in quella cartella e lanciamo nel terminale
$ makepkg
makepkg
"coordina" i vari step:- Scarica i sorgenti;
- Compila i sorgenti;
- Comprime il pacchetto producendo un archivio .tar.xz.
# pacman -U pacchetto.tar.xz
Ottimizzare la compilazione
Prima di tutto dobbiamo conoscere il numero di unità di elaborazione disponibili sulla nostra macchina. Quindi digitiamo
$ nprocL'output è semplicemente un numero, nel mio caso:
4
Adesso dobbiamo comunicare a makepkg di utilizzare questo numero di core durante la compilazione. Per far questo modifichiamo il file di configurazione /etc/makepkg.conf
decommentando e sostituendo la riga (nel mio caso)
#MAKEFLAGS="-j2"con
MAKEFLAGS="-j4"
Ottimizzare la compressione
Il terzo step, la compressione, è quello per esperienza più pesante. La limitazione che si incontra è che il programma xz
, che effettua la compressione, non è ottimizzato per lavorare su più core. Per ovviare al problema installiamo p7zip
, disponibile nei repositories ufficiali tramite un semplice
# pacman -S p7zip
p7zip
è un programma analogo a xz
, con il vantaggio semplice ma cruciale di essere pensato per processori multicore. Per fare in modo che makepkg utilizzi p7zip
invece di xz
durante la compressione dobbiamo modificare nuovamente il file /etc/makepkg.conf
e sostituire la riga
COMPRESSXZ=(xz -c -z -)
COMPRESSXZ=(7z a dummy -txz -si -so)Salviamo il file ed il gioco è fatto!
