Slackware: un commento su una storica distro Linux e gestione dei pacchetti
Questa volta parliamo di una distribuzione Linux tra le più vecchie. Anzi è proprio la più longeva ed il suo sviluppo coincide temporalmente proprio con la nascita del kernel Linux. Già il sito ufficiale della Slackware si presenta alla vecchia maniera: praticamente testuale, poca grafica e niente fronzoli. Se poi ci aggiungiamo qualche annotazione tecnica come il non passaggio a systemd per l'avvio del sistema operativo, l'uso del kernel vanilla e l'adozione solo nell'ultima versione targata 2016 di Pulseaudio, chi deve capire ha capito. Praticamente siamo di fronte alla distro GNU/Linux che si mantiene più fedele al mondo Unix. Diciamo subito che non è una distro user-friendly e si pone alla stregua di Gentoo, Debian, ArchLinux come un sistema operativo che ha bisogno di un conoscenza medio-alta per essere gestito al meglio. In cambio, fornisce un sistema affidabile, veloce e in grado di funzionare su macchine sia nuove che di vecchia data (c'è anche la versione a 32 bit), quindi con poche risorse. Naturalmente Slackware può contare a sua volta su alcune derivate che cercano di ovviare a questo suo aspetto ostico. Possiamo citare Salix, Porteus e Zenwalk. Quindi un utente meno esperto ha una certa scelta. Qui si fa riferimento alla Slackware versione 15. C'è anche una versione cosidetta 'current' ma va presa in considerazione con molta attenzione dato che rappresenta il ramo di sviluppo del sistema operativo. La versione current è un pò pericolosa per i futuri aggiornamenti se non gestiti a dovere. Del resto la filosofia della distro è di essere rilasciata con scadenze piuttosto lunghe e se è vero che seguire la current può facilitare il passaggio alla nuova versione è anche vero che un'eventuale upgrade di una Slackware non è semplicissimo e va fatto seguendo attentamente le guide che si trovano sul web. La prima cosa da sapere con Slackware è che installerete dai repository ufficiali solo applicativi e software considerati attendibili e sicuramente funzionanti. Tutto il resto si trova in altri repository di terze parti che sono fuori dalla garanzia di funzionalità, anche se poi in realtà non danno spesso problemi. Direte che non è una novità assoluta nel mondo Linux ma se aggiungiamo che Slackware per definizione installa software senza preoccuparsi troppo delle dipendenze, la cosa cambia aspetto e fa capire perchè affidarsi a pacchetti terzi o usare la versione di sviluppo può dare luogo a fastidiose conseguenze. A dire il vero soprattutto con le SlackBuilds le cose sono un tantino cambiate. Comunque, prima di intraprendere l'installazione è bene conoscere qualcosa sulla filosofia Slackware. Con questo capirete che gli utenti Slackware rappresentano una comunità entusiasta e combattiva con una forte tendenza 'purista'. Già la procedura d'installazione può sconcertare più d'uno. Non resta che seguire l'installation help ufficiale. Però si può abbandonare senza troppi rimorsi questo purismo affidandoci alla comunità (il mitico Alien Pastures) e precisamente alla possibilità di una versione Live scaricabile con una ISO. Meglio affidarsi alla versione stabile corrente dal link sopra. La live ha un'icona che permette l'installazione su HD. Partirà una grafica minimale che con una serie di menu guiderà l'utente nell'installazione. Ovviamente il tutto si rivolge comunque ad utenti che già hanno installato sistemi Linux e sanno più o meno cosa stanno facendo. Una volta installata, la Slackware è molto affidabile e in genere la documentazione almeno rispetto alla sua diffusione (si piazza intorno al 20° posto) è piuttosto ricca. Il punto debole se vogliamo della Slackware e su cui vale la pena soffermarsi è l'installazione e l'aggiornamento del software. Slackware è una di quelle distro (poche ormai) che fa comunque ricorso spesso alla compilazione, anche se facilitata attraverso le SlackBuilds. La procedura alternativa sono pacchetti binari (.txz o .tgz) che si installano con riga di comando da terminale con installpkg. In realtà, durante l'uso di Slackware si alternano i due metodi (binari e compilazione) e comunque la compilazione con SlackBuilds genera pacchetti che poi si installano e quindi avrete tutto sotto controllo per vedere l'installato ed eventualmente cancellarlo con un tool sempre dalla grafica minimale che si lancia come amministratore da terminale con il comando pkgtool. Quindi ricapitoliamo:
A) Pacchetti binari. Dove si trovano i pacchetti? Seguendo quanto già detto, quelli considerati stabili e coerenti con la distro solo dai repository ufficiali mentre tutti gli altri in una miriade di repository che vanno trovati singolarmente magari citando i più noti: Alienbob, SlackyEU, Robby Workman, ecc. Ma esistono dei tool anche grafici che permettono di fare un pò d'ordine a tutto questo? Con il tempo anche per Slackware sono stati creati degli strumenti gestionali dei pacchetti. I puristi danno credito solo a slackpkg. Per i pacchetti di terze parti esiste un ampliamento di slackpkg che si chiama slackpkg+ Sono entrambi a riga di comando. Esiste poi un tool a riga di comando ma anche con GUI che si chiama slapt-get (quello con interfaccia grafica gslapt) e, come dice il nome, ricalca a grandi linee il comando apt-get di Debian. Sulla derivata Salix è usato di default. Ovviamente i puristi hanno qualcosa da ridire. Una guida QUI. Per i files di configurazione dovete sempre controllare che i link riportati puntino alla versione che avete installato. Ad esempio nel file /etc/slapt-get/slapt-getrc la riga con SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware64-14.2/:OFFICIAL va cambiata con .../slackware64-current nel caso in cui usiate la versione current. Potete anche aggiungere repository di terze parti nel file di configurazione scrivendo l'indirizzo con la stesso metodo. Ad esempio aggiungendo la riga SOURCE=http://repository.slacky.eu/slackware64-14.2/:CUSTOM punteremo anche al repository di slackyeu e la variabile 'CUSTOM' assegna una priorità alta alla fonte, come spiegato qui.
B) Compilazione da sorgenti. Dato che non sempre si trovano pacchetti binari di ciò che ci serve o perchè preferite compilare, in questi casi si ricorre agli SlackyBuilds. La compilazione, creazione del pacchetto e sua installazione si può fare in due modi: o manualmente o con il tool sbopkg. Manualmente dobbiamo per prima cosa trovare lo SlackyBuilds che c'interessa, scaricare sia il file sorgente con il link segnalato ed il file compresso dello SlackBuild. Quest'ultimo va scompattato in una cartella avendo cura di copiare il file del sorgente nella cartella stessa (importante!!). In seguito da terminale entrare nella cartella e lanciare come amministratore il comando ./<nome applicativo>.SlackBuild (esempio: sudo ./livestreamer.SlackBuild). Alla fine della compilazione dovrebbe apparire un messagio del tipo: Slackware package /tmp/<nome-versione applicativo>.tgz created. Si va nella directory /tmp e sempre da amministratore si dà il comando installpkg <nome applicativo>. Naturalmente i più bravi possono intervenire nel file script dello SlackBuild e modificarlo. Ad esempio se ci fosse bisogno di una patch non ricompresa nello slackbuild, scaricarla dal web ((in genere come file di testo) poi nello slackbuild prima della riga con ./configure inserire una riga con: patch -p1 < $CWD/<nome file patch>.diff. Alternativa a tutto questo è il tool sbopkg che, con grafica minimale e lanciato da terminale come amministratore gestisce in automatico il download e l'installazione dello SlackBuild stesso, nonchè consente la ricerca degli SlackBuild presenti nel repository ed altro, compresa la disinstallazione e gli aggiornamenti.
C) Casi particolari d'installazione. Può accadere che si abbia bisogno di installare una quantità notevole di pacchetti tratti da un repository per un singolo software. Ad esempio, supponiamo di voler installare il DE Mate su Slackware tramite pacchetti binari. Una volta trovato il repository giusto vediamo che i pacchetti sono contenuti in varie directory più altri files sparsi. Come fare ad installare tutto agevolmente? Per prima cosa creiamo una cartella dove scaricare i files (mate) e poi da terminale e come amministratore diamo il comando rsync -av slackware.org.uk::msb/14.2/latest/x86_64/ mate/ Come si vede nel comando è riportato con una sua sintassi l'indirizzo del repository. Alla fine avrete nella cartella 'mate' le stesse directory del repository e gli stessi files. Da terminale entrare nella cartella creata e come amministratore dare il comando installpkg base/*.t?z Dove 'base' sta per una delle directory copiate e quindi dovrete ripetere il comando per tutte le directory esistenti, ovviamente con il loro nome. Al termine il DE Mate è installato su Slackware. Se invece di una nuova installazione si tratta di un aggiornamento basta sostituire il comando installpkg con upgradepkg.
D) Aggiornamenti del software. Gli aggiornamenti seguono la stessa metodologia dei vari tool usati, che hanno al loro interno i comandi necessari per fare tutto e basta seguire le guide già segnalate per ognuno. Ad esempio con slapt-get il comando è slapt-get --upgrade mentre con slackpkg userete slackpkg update e poi slackpkg upgrade-all. Naturalmente se avete installato anche Sbopkg è meglio usare l'apposita procedura di update prevista nel tool. Usando la versione current di Slackware gli aggiornamenti saranno molto più frequenti e anche rischiosi. Consiglio: fate attenzione se avete configurato slapt-get ed anche slackpkg con repository di terze parti durante gli aggiornamenti. A causa della mancanza sul controllo delle dipendenze potrebbero esserci dei malfunzionamenti successivi all'aggiornamento. Tenete presente che Slackware è una di quelle distro che non prevede maniacali aggiornamenti continui, non a caso cita un motto che dice 'se non è rotto non aggiustarlo', un compendio chiaro senza ombra di dubbio.
E) Upgrade a versione successiva. Da fare con calma e seguendo attentamente le guide. Meglio cominciare da quella ufficiale. Se siete un pò confusi e non a torto consolatevi perchè nei forum è mal comune. Tuttavia è consigliabile trovare pagine dettagliate di come fare specificatamente per ogni passaggio di versione. Ad esempio con una Salix seguendo queste istruzioni l'upgrade dalla 14.1 alla 14.2 è avvenuto tranquillamente.
Infine un rimando al WIKI ufficiale di questa storica versione GNU/Linux ed onore a Patrick Volkerding suo creatore ed ancora nume tutelare.Qui sotto uno screenshot della Slackware 14.2 con DE Mate e dove appare aperta una finestra con Gslapt per la gestione dei pacchetti e un terminale con il menu iniziale del tool Sbopkg.