GLG Programs fa uso di cookie per migliorare l'esperienza di navigazione degli utenti, ma non per tracciarne un profilo. Proseguendo nella navigazione, si accetta implicitamente l'utilizzo dei cookie.
[OK]Note legaliNon mi importa
Logo GLGPrograms Logo GLGPrograms

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:

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:
  1. Scarica i sorgenti;
  2. Compila i sorgenti;
  3. Comprime il pacchetto producendo un archivio .tar.xz.
Infine installiamo il pacchetto appena creato tramite
# pacman -U pacchetto.tar.xz
Vediamo adesso come rendere questi step più efficienti sulla propria macchina.

Ottimizzare la compilazione

Prima di tutto dobbiamo conoscere il numero di unità di elaborazione disponibili sulla nostra macchina. Quindi digitiamo

$ nproc
L'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 -)
con
COMPRESSXZ=(7z a dummy -txz -si -so)
Salviamo il file ed il gioco è fatto!
Pagina scritta da LucaLuca

Hai una domanda? Scrivici!
Questa pagina ti è piaciuta? Condividila!
Share on Facebook Share on Google+ Share on linkedin