Se le auto funzionassero come i software, si bloccherebbero due volte al giorno senza motivo e l'unica soluzione sarebbe reinstallare il motore

— anonimo dirigente General Motors

ArchLinux, una distro al ... KISS

http://www.stenoweb.it/files/blog/archlogo.png Chiunque bazzichi nell'universo Linux sà sicuramente che riferirsi al sistema operativo in sè con questo nome è come chiamare una automobile con la sigla del suo motore. Linux (o meglio GNU/Linux) è il kernel del nostro SO preferito e attorno a lui è nato un universo di distribuzioni diverse che lo utilizzano. Basta una rapida occhiata a distrowatch per farsi venire il mal di testa. Sul motore nessun dubbio, ma quale carrozzeria ? Dopo prove e riprove, download e installazioni, formattazioni e riformattazioni io credo di averla trovata : Archlinux è la mia distro. Vediamo perchè.

Arch Linux per me è la distribuzione ideale, si adatta in modo magistrale al mio modo di fare/usare un computer.

Storia e principi di Arch

Cominciamo subito con i dire che Arch Linux non è per principianti, niente point e click, niente GUI di configurazione. Se questo vi spaventa Arch Linux non fà per voi. Questa distribuzione vi obbliga ad imparare e capire quello che state facendo o volete ottenere. Se non temete questo e la linea di comando, vi darà immense soddisfazioni (informaticamente parlando, ovviamente).
Il progetto Arch Linux nasce da un idea di Judd Vinet nel tentativo di creare la sua distribuzione ideale che consisteva essenzialmente nell' avere un sistema per power users leggero e semplice da gestire. Semplicità dunque non significa "newbie friendly", significa un sistema strutturato in modo che sia facile da gestire e configurare e che ogni aspetto o pacchetto/servizio installato sia il risultato della volontà di chi ha installato la distro. Obiettivo raggiunto: Arch Linux è personalizzabile in ogni suo aspetto, il file di configurazione è semplice, strutturato e facile da trovare. Tutto questo in contrasto con molte altre distriubuzioni. Da qui il motto di Arch Linux:

KISS = Keep It Simple Stupid

La semplicità e un concetto molto relativo, ma dato che chi usa Arch è spesso abbastanza esperto in materia, vediamo cosa implica questa semplicità tanto sbandierata.

ISO, installazione, configurazione e aggiornamento

Installazione

La ISO di Arch è molto piccola (160 MB circa) in quanto solo un sistema di base (il "core") viene installato da CD: il resto è reperito direttamente da internet in base ai vostri bisogni. Esiste una anche una ISO da 30MB per l' installazione via FTP dai mirror di Arch (o da una vostra macchina in rete). Niente pacchetti sul CD, solo il necessario per il boot e per il collegamento FTP. Grandioso.
Niente versioni semestrali, niente versioni "Long Term Support": Arch segue il cosiddetto "rolling update system". La ISO che scaricate è un semplice (o poco più) "snapshot"" dei repository fatto al momento della creazione della ISO stessa. Questo significa che potreste usare una ISO vecchia di un anno per installare il sistema di base, e poi con un semplice e banale comando allinearla allo stato dell'arte.
Essenziale. Appena finito di installare Arch il vostro sistema non contiene nulla/non avvia nulla che non sia la shell bash, i moduli e servizi essenziali al funzionamento basilare della vostra macchina, gli strumenti di sviluppo GNU e i sorgenti per compilare eventuali moduli del kernel.

Configurazione

"Dove è il file per configurare rete?" "Dove si imposta il nome host?" "Come si abilitano i moduli del kernel?" "Come si avviano i servizi?" Queste sono solo alcune delle domande ricorrenti che vi ponete quando cambiate distro. Ebbene su Arch tutte queste impostazioni si fanno da un unico file : /etc/rc.conf . Qui dentro trovate tutto quello che vi serve, una sorta di (perdonatemi la blasfemia) config.sys+autoexec.bat di msdos memoria. Quindi di base avrete a che fare con:

  • /etc/rc.conf . Questo file contiene le informazioni sul nome dell'host, la lista dei moduli del kernel che voglio caricare, la configurazione della rete, la tastiera e la lingua, e la lista dei servizi da avviare al boot.
  • /etc/rc.d . Questa cartella contiene gli script dei servizi. Niente divisione per runlevel, sono tutti qua.
  • /etc/conf.d . Questa cartella contiene dei file con i parametri di configurazione dei servizi.
  • /etc/pacman.conf . Configurazione del package manager e dei repository.

Di base niente altro. KISS *.

Aggiornamento

Da linea di comando digitare:

pacman -Syu

Tutto qua. Difficile ? :)
Il gestore dei pacchetti in arch si chiama pacman . Fa tutto (o quasi) lui. Scarica, installa, disinstalla, info sui pacchetti ecc.. Niente pletora di rpm, yum o apt-get, aptitude, dpkg, ecc.. Ad un package manager non si può chiedere altro, il suo sporco lavoro lo fà e pure bene, e i repositoy dei pacchetti precompilati contengono tutto (o quasi) il software che ci serve. Il "quasi" è facilmente risolvibile, come vedremo poi.

Documentazione

Difficile non trovare quanto ci serve sul wiki ufficiale. Disponibile anche in italiano (almeno per le cose principali) questa risorsa si dimostra indispensabile sia in fase di installazione che di configurazione. Da non perdere.

Le frecce al suo Arch

Quanto abbiamo visto può essere interessante e utile, ma se i vantaggi fossero solo questi Arch Linux forse non avrebbe fatto breccia nè in me nè in molti altri. Vediamo quali sono le altre frecce al suo arco.

Velocità

Arch Linux, lo si nota specie se installato come sistema desktop, è estremamente veloce e reattivo. Questo, oltre al fatto che non installa e avvia servizi "inutili/che non mi servono", è dovuto al fatto che kernel è pacchetti sono compilati/ottimizzati per i processori i686. Niente ramo i386 dunque, non si può installare su PC arcaici, ma solo dai Pentium II in sù. Arch già oggi dispone del kernel 2.6.23 con il nuovo scheduler CFS, sicuramente una marcia in più quando usato come desktop. Per la cronaca aggiungo che è disponibile anche il ramo 64bit per i processori di nuova generazione.

ABS

Non voglio parlare di un sistema frenante per automobili ma dell'utilissimo Archlinux Build System . Per capire a cosa diavolo è e cosa serve ABS facciamo una piccola premessa.
I pacchetti binari di Arch sono relativamente semplici da costruire. Si crea un file PKGBUILD che contiene tutte le informazioni sul pacchetto, il link al sorgente, le sue dipendenza e le istruzioni per la sua compilazione. Facciamo un esempio, ecco il PKGBUILD del mio immaginario pacchetto "foobar" :

#$Id: PKGBUILD,v 1.15 2007/06/11 10:42:53 alexander Exp $
#Maintainer: dorphell <dorphell@archlinux.org>
#Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=foobar
pkgver=3.5
pkgrel=3
pkgdesc="Foobar è un software per fare qualche cosa"
url="http://stenoweb.it/projects/foobar"
arch=(i686 x86_64)
license=('GPL')
depends=('glibc' 'ncurses' 'gpm')
source=(http://stenoweb.it/foobar/$pkgname-$pkgver.tar.gz)
md5sums=('9bdffecce7ef910feaa06452d48843de')
#Build
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --sysconfdir=/etc
make || return 1
make DESTDIR=$startdir/pkg install
}

Non mi metto a spiegare la sintassi di PKGBUILD, mi basta far capire che se per caso esce la versione 3.6 di foobar e voglio aggiornare il pacchetto lo posso fare in modo banale: edito il PKGBUILD e cambio la riga

pkgver=3.5

in
pkgver=3.6

Salvo il file e digito il comando:
makepkg

Basta. Non serve altro, makepkg scarica il sorgente dal sito del progetto, lo compila e mi crea il pacchetto pronto per essere installato con pacman. WOW!
Ora possiamo capire cosa serve ABS. Il comando abs scarica tutti i PKGBUILD dei pacchetti installati sul mio sistema nella cartella /var/abs permettendoci, poi, di ricompilare qualsiasi cosa abbiamo installato sul nostro sistema (kernel compreso) semplicemente modificando il PKGBUILD (ma anche no) relativo e lanciando makepkg. Fantastico. Niente pacchetti orfani sulla mia box! Solo software gestito dal package manager.

AUR

AUR (Archlinux User Repository) è, di fatto, una estensione di ABS. A volte capita che il pacchetto che ci serve non sia presente nei repository ufficiali e allora che faccio ? Possibile che a nessun altro sia servito ?
Normalmente avrei due strade da seguire:

  1. Cercare un repository non ufficiale che abbia il pacchetto
  2. Compilare il pacchetto da me

La prima opzione è possibile ma scarsamente usata. Arch non dispone di molti repo alternativi, e uno dei motivi è sicuramente la presenza di AUR unita alla facilità con cui si creano e compilano i pacchetti. AUR non è un repository di pacchetti binari ma un repository di PKGBUILD creati da normali utenti e utilizzatori di Archlinux. Su AUR ci sono migliaia di PKGBUILD pronti da scaricare per creare da noi con "makepkg" il pacchetto che ci serve. I pacchetti di AUR si possono votare e i più meritevoli/utili passano poi nel repo ufficiale [community] in forma binaria. Non credo ci siano altre distro con qualcosa del genere. Semplice e geniale.

Pacchetti ultimo grido

I pacchetti forniti sono sempre al passo con i tempi, gli aggiornamenti rapidissimi. OpenOffice, Firefox ecc. sempre all'ultima versione. A volte passano poche ore dalla pubblicazione della fix alla presenza del pacchetto nei repository ufficiali.

Proprietario o Open ?

Bhè, su questo fatto molti non saranno d' accordo con me, ma a me piace anche il fatto che Arch Linux non si fascia la testa con l'antico dilemma del software proprietario o no. Sui repository ufficiali o su AUR trovate driver nvidia proprietari, vmware, fonts microsoft, codec multimediali, librerie per leggere DVD e molto altro. Non serve andare a caccia per la rete, se vi serve qualcosa è molto probabile che tra repo ufficiali e AUR lo troviate. Ad esempio installare i driver nvidia si risolve in un semplice:

pacman -S nvidia

Senza modificare nulla della configurazione di base del sistema.

Conclusione

Avrete forse notato che in questa mia recensione su Arch non ho minimamente parlato di interfaccia grafica, gnome, KDE, Compiz e cubi rotanti. In questo Arch non è diverso dalle altre distro, installate quello che vi pare seguendo l'ottimo wiki ufficiale. Ma magari state installando un server e di questi orpelli non sapete che farvene.

Ottima recensione, oltretutto mi ha dato una visione un po' piu' chiara di come diavolo funziona l'AUR. Non conoscevo il sistema dei voti, e' semplicemente geniale!

Ci sarebbe da aggiungere che una delle cose che ne fa una distro per power user non e' solo l'approccio a linea di comando, quanto anche il fatto di non avere tools/programmi/utilities preinstallate, per cui se non sai gia' cosa ti serve rimani un po' fregato nel mare di possibilita' offerte.

Se posso consigliarti, da uno dei pochi repositories separati per arch puoi trovare un tool chiamato yaourt.
Ti conviene guglare "arch yaourt" perche' ora come ora non mi ricordo l'indirizzo del repo, in sostanza e' un tool che aggiunge a pacman tutto cio' che gli mancava per essere perfetto.
Supporta la stessa sintassi di pacman, in piu' ti permette di cercare e installare ANCHE i pacchetti in AUR automaticamente come se fossero dei binari (scarica il MAKEPKG, sorgenti, dipendenze e fa tutto lui).
E' di una potenza e facilita' a dir poco disarmanti.

Ups!

Leggo nel post dopo che sei gia' a conoscenza di yaourt :-D.

Pero' sono interessato all'argomento, a casa ho un piccolo serverino headless "scaricatore" che si occupa delle mie serie tv preferite ed e' animato da un cuore arch (prima montava kubuntu). Grande soddisfazione!

> Ottima recensione, oltretutto mi ha dato una visione un po' piu' chiara di come diavolo funziona l'AUR. Non conoscevo il sistema dei voti, e' semplicemente geniale!
Grazie. Per votare devi scaricare ed installare ** aurvote **

> Ti conviene guglare "arch yaourt" [cut]
Ehehe, ho visto che ti sei risposto da solo nel post successivo.

> Pero' sono interessato all'argomento, a casa ho un piccolo serverino [cut]
Stay tuned :)

Grande, interessante, entusiasmante recensione. Ma soprattutto hai realizzato una serie di articoli particolarmente utili per chi, come me, sta muovendosi alla creazione di un server in ambito scolastico.
Oggi pomeriggio installerò Archlinux.

Complimenti.

El pintoresco barrio del Albaicín se encuentra a diez minutos a pie y los buses que van a la Alhambra
y al aeropuerto de Granada paran a 400 metros. Tree House , situado en el Cobijo Nacional de Vida Silvestre Gandoca-Manzanillo de Son hoteles que se han diseñado para disfrutarlos en cualquier época del año situados en primera línea
de mar.

El pintoresco barrio del Albaicín se encuentra a diez minutos a pie y los buses que van a la Alhambra
y al aeropuerto de Granada paran a 400 metros. Tree House , situado en el Cobijo Nacional de Vida Silvestre Gandoca-Manzanillo de Son hoteles que se han diseñado para disfrutarlos en cualquier época del año situados en primera línea
de mar.

Este sistema consiste en situarse al filo de las vías principales para hacerse
transportar por un automobilista por un camionero.
Tree House , ubicado en el Cobijo Nacional de Vida
Silvestre Gandoca-Manzanillo de Para los amantes de la opera, nuestro hotel en la
capital española está a cincuenta metros de entre las operas más esenciales del país.

Tom Thirlwall, leader of moms and dad company Bigballs Films, said the campaign was created to
attain every 16- to 24-year-old soccer lover in the UK”, and views it as a
much more logical activities technique for YouTube than going into the live-rights marketplace.