Archivio > Linux e Open Source, Fuori tema > Singolo: Qualche considerazione su ArchLinux

Qualche considerazione su ArchLinux

Ultime modifiche:

  • Martedì 8 Luglio 2008, 16:52:15

    ugaciaka mi segnala che alcune istruzioni di pacman erano sbagliate. Correzione effettuata, grazie. ;)

  • Mercoledì 25 Aprile 2007, 23:44:03

    Revisione della recensione su AUR. Grazie furester!

Dopo una settimana di utilizzo intenso della distribuzione nota col nome di ArchLinux, mi riserbo questo piccolo spazio per riflettere su vantaggi e svantaggi che ne conseguono dal suo utilizzo in ambito Desktop.

[Immagine] ArchLinux è un sistema operativo Linux reattivo, stabile, aggiornato e utile anche nei confronti degli utenti alle prime armi. Ispirato a Slackware, permette infatti di conoscere a fondo il funzionamento di ogni singolo componente, portando l'utilizzatore ad avere coscienza di ciò che usa, di come funziona, e di quali vantaggi può ricavarne attraverso il suo utilizzo.

Innanzi tutto, premetto che vengo da oltre un anno di esperienza con Debian/Ubuntu, abituato quindi ad installare e scaricare pacchetti col sistema APT e ad avere innumerevoli front-ends grafici per configurare e manutenere il sistema. Non per niente, Ubuntu è considerata una distribuzione user-friendly.

Sebbene a primo impatto ArchLinux possa sembrare scomoda e ostile, il mio parere non può essere che positivo per una distribuzione che ha veramente tutto quello di cui ho bisogno: un buon gestore di pacchetti, del software aggiornato, un sistema reattivo e scattante.

Procedendo per piccoli passi, vorrei elencare i punti che mi hanno colpito maggiormente in questi giorni:

  • Gestione pacchetti via Pacman: A partire sin dal nome, trovo che Pacman sia un’ottima alternativa all’ormai famoso APT. Permettono di fare le stesse cose, con la differenza che il primo è almeno due volte più veloce, e sicuramente più usabile del secondo in quanto permette di combinare più azioni nello stesso momento. Faccio un esempio, mettiamo di voler sincronizzare il database locale con i nuovi pacchetti dei vari repositori, e infine aggiornare il sistema intero in base alle versioni disponibili.

    Con Pacman:

    # pacman -Syu
    

    Con APT:

    # apt-get update && apt-get dist-upgrade
    

    Il primo metodo è sicuramente più immediato, sebbene il risultato finale sia lo stesso. Un altro esempio? Rimuovere un pacchetto, e tutte le sue dipendenze.

    Con Pacman:

    # pacman -Rsn pacchetto
    

    Con APT:

    # apt-get remove --purge pacchetto && apt-get autoremove --purge
    

    Ovviamente, entrambi i sistemi sono nella loro complessità geniali e comodissimi per poter avere una distribuzione sempre aggiornata e facile da gestire nella sua “eterogeneità”, datagli appunto dal parco software disponibile. Semplicemente mi permetto di tessere le lodi di Pacman per la facilità con cui permette di compiere determinate operazioni, e la velocità con la quale le esegue.

  • ABS (Arch Build System): Quanti di voi spesso hanno desiderato compilare sorgenti e pacchettizzarli per la propria distribuzione, in modo tale da poterli riutilizzare in futuro con duttilità? Sui sistemi Debian-like ci sono infiniti modi di farlo. A partire da checkinstall, passando per apt-file, fino ad arrivare a dh_make. Su Arch ne esiste uno fondamentalmente, e ancora una volta ne voglio sottolineare l’estrema semplicità: ABS.

    Un pacchetto fondamentalmente è composto da un unico file PKGBUILD, che contiene tutte le informazioni necessarie a portare a termine la compilazione: nome dell’applicazione, versione, dipendenze, locazione dei sorgenti e delle patch, eventuali pacchetti con cui si possono riscontrare conflitti. Niente di nuovo, insomma. La cosa interessante è che oltre a tutto questo, esiste anche una funzione denominata build() nella quale andranno a susseguirsi tutti i comandi necessari alla compilazione dei sorgenti. Questo in parole povere, significa personalizzazione totale.

    Prendiamo ad esempio un sorgente che installa un’applicazione senza generare alcun file .desktop per il nostro menù. Questo può essere seccante per l’utente, che deve provvedere manualmente a crearlo e spostarlo generalmente in /usr/share/applications. Tramite la funzione sopracitata, questo problema può essere aggirato facilmente. Vediamo una funzione build() esemplare:

    build() {
        # Entro nella cartella con i sorgenti
        cd $startdir/src/$pkgname-$pkgver
    
        # Genero i Makefile per la compilazione
        ./configure --prefix=/usr --enable-gnome-session
    
        # Compilazione. Se dà errori il processo di installazione ritorna un codice d'errore.
        make || return 1
    
        # Installiamo in un ambiente fakeroot
        make DESTDIR=$startdir/pkg install
    
        # Sposto il file .desktop (creato precedentemente) nella cartella /usr/share/applications
        cp $startdir/file.desktop $startdir/pkg/usr/share/applications/file.desktop
    }
    

    A questo punto, oltre ad un file PKGBUILD, dovrò provvedere a fornire anche file.desktop, affinchè la creazione del pacchetto vada a buon fine.

    Una volta che PKGBUILD conterrà tutte le informazioni necessarie, basterà lanciare il comando makepkg, godersi le varie fasi di compilazione, e aspettare che lo script proceda alla pacchettizzazione generando un file .pkg.tar.gz.

  • Arch User Respository e Community: AUR è un repositorio per Pacman composto da pacchetti realizzati dagli utenti. Ciò significa che tutti possono contribuire al proliferare di nuovi pacchetti per la distribuzione, semplicemente registrandosi al portale ufficiale e inviando il loro PKGBUILD sotto forma di archivio pacchetto.tar.gz. A quel punto i Trusted Users (dei moderatori, detto forse in maniera grossolana) controlleranno che il pacchetto non contenga codice nocivo per il sistema, e potranno decidere se approvarlo o no. Ogni pacchetto viene automaticamente aggiunto ad un repositorio chiamato Unsupported e non raggiungibile da Pacman, proprio per garantire un certo livello di sicurezza. Tuttavia, i pacchetti più richiesti, utili, o ben realizzati possono essere spostati in Community affinchè sia possibile ottenerli anche dal gestore di pacchetti.

    E’ bene tuttavia precisare che i PKGBUILD non approvati possono comunque essere recuperati online ed eseguiti dagli utenti. Arch in fondo è anche questo: scelta. Nessuno vi garantisce l’affidabilità del pacchetto, e nessuno vi vieta nel frattempo di utilizzarlo lo stesso a vostro rischio e pericolo.

    Esistono, comunque, numerosi strumenti sviluppati allo scopo di gestire in maniera semi-automatica la creazione di pacchetti provenienti da AUR, direttamente dal nostro terminale. Alcuni esempi? aurbuild e qpkg, ma ve ne sono molti altri ancora.

    Insomma, in un contesto come quello di Linux, dove condividere è importante, AUR non può che essere un aspetto essenziale della diffusione di ArchLinux.

  • Difficile, ma non troppo: Come accennavo inizialmente, un primo impatto con la distribuzione può rivelarsi disastroso, visto che il sistema chiede esplicitamente all’utente di configurare tutte le impostazioni. Tutto ciò però non deve spaventare, e in un certo senso mi piace pensare a questa caratteristica come ad un suo grande punto di forza. Immaginiamo quanto maggior controllo abbiamo sul sistema potendo specificare chiaramente quali demoni richiamare al boot o in background, quali disattivare o rimuovere completamente, quali moduli del kernel mettere in blacklist o caricare all’avvio. Quest’ampio margine di personalizzazione permette all’utente di scegliere precisamente cosa il sistema può o deve fare.

    Il wiki ufficiale in questo senso aiuta molto, e porta l’utente ad entrare nella mentalità della distribuzione, che si riassume nella citazione: freedom of choice, keep it simple, learning, and user-control. Libertà di scelta, semplicità, controllo all’utente. Tre parole magiche che non solo fanno di Arch un ottimo sistema operativo, ma permettono all’utente di capire veramente a fondo come funziona Linux, e tutti i meccanismi che ne costituiscono le fondamenta.

  • Stabile, reattiva, aggiornata: Un ultimo appunto va fatto proprio in questo senso. Arch in questa settimana non ha mai dato segni di instabilità, sebbene gran parte del software sia persino più aggiornato di Ubuntu Feisty. Inoltre, l’avvio è velocissimo, e in generale si avverte e percepisce una certa reattività nell’esecuzione di comandi e applicazioni che in qualche modo soprende ulteriormente. Non mi spingo oltre, perchè questi ultimi dati sono spesso soggettivi e obiettivamente non comunicano niente di sicuro.

Infine, vorrei dedicare alcune righe agli operatori del canale #archlinux sul network IRC Azzurra: sebbene siano stati sempre presi di mira e criticati per i modi poco “gentili” nel trattare l’utenza, ho avuto l’occasione di notare più volte quanto in realtà siano disponibili e aperti nei confronti delle richieste degli utenti meno preparati o recentemente convertiti. I modi di fare che sono stati condannati più volte non si trovano solo in quel canale o con quegli operatori. Ovunque io sia andato, ho sempre trovato qualcuno pronto a deridere l’incapacità di alcuni con battute sarcastiche e piuttosto fastidiose, quando spesso dall’altra parte ci si aspetterebbe solo una risposta, una possibile soluzione al problema, un minimo di maturità.

Ho provato un discreto numero di sistemi operativi Linux in questi anni, e nella maggior parte dei casi mi sono sempre sentito molto soddisfatto dalle loro caratteristiche. Questa volta ho trovato una distribuzione che racchiude in sè più punti di forza delle altre, garantendo all’utente un’esperienza che si spinge ben oltre il semplice “utilizzo” del sistema, per arrivare a toccare fondali spesso ignorati dagli utenti desktop: per capire veramente cosa è Linux, come funziona, e quali vantaggi può offrirci.

Dieci e lode, piccola ArchLinux.

Approfondimenti

L'articolo è stato di tuo gradimento? Puoi controllare che vi sia altro di tuo interesse nelle categorie e , oppure iscriverti al notiziario RSS e seguirmi su per restare sempre aggiornato sulle ultime pubblicazioni.

Pubblicato martedì 24 aprile 2007.

Discussione [5]

  1. Kiko aggiunge:

    [Immagine] Segue l'intervento di Kiko

    Sì, ma l'articolo? Dove sta?

  2. eKoeS aggiunge:

    [Immagine] Segue l'intervento di eKoeS

    Ora l'articolo è completo, quest'oggi Textpattern ha deciso di pubblicarne una bozza senza il mio consenso. :P

  3. furester aggiunge:

    [Immagine] Segue l'intervento di furester

    Complimenti per l'ottima recensione di ArchLinux che hai fatto, volevo fare un solo "piccolo" appunto su una (a parer mio) imprecisione che potrebbe generare problemi ai nuovi utenti: la descrizione di AUR! Tenderei a far notare che da AUR è possibile anche per gli utenti recuperare i PKGBUILD e crearsi i pacchetti anche se non sono stati approvati dai TUR e\o aggiunti al repository Community, inoltre sono a disposizione diversi strumenti (qpkg, aurbuild, .. , trovate anche questi in AUR) per gestire la creazione di tali pacchetti in maniera semi-automatica! Convinto della completezza del post ho voluto aggiungere queste righe perché questo è un problema con il quale mi sono scontrato in questi giorni.

  4. eKoeS aggiunge:

    [Immagine] Segue l'intervento di eKoeS

    Ciao furester, grazie per i complimenti e la precisazione, ho apportato le modifiche e aggiunto i meritati crediti ad inizio pagina. ;)

  5. mOLOk aggiunge:

    [Immagine] Segue l'intervento di mOLOk

    Ottima recensione, davvero. Almeno va aldila' del giudizio sullo sfondo di default di $DESKTOP_ENVIRONMENT , che e' gia' sopra la media

Discuti

Il blog è in sola lettura.

Paginatura: