Menu Chiudi

L’ipotesi BSD

letture

Beastie-TuxMan mano che col passare del tempo sempre più distribuzioni si stanno arrendendo all’idea di migrare a systemd come gestore di avvio e dei processi – ultime nell’elenco sono Debian e Ubuntu – tra gli utenti scontenti di questa trasformazione, che di fatto rende Linux sempre meno somigliante a un’architettura Unix SystemV/BSD tradizionale, si fa strada l’idea che si può sintetizzare nella frase: “Basta! Abbandono Linux e passo a BSD!

Questo perché systemd, per esplicita scelta del suo autore, non supporta sistemi diversi da Linux, e anzi guarda al mondo BSD con sufficienza considerandolo obsoleto e irrilevante. Di conseguenza non esiste il rischio che la febbre di systemd si estenda anche a questi sistemi, sebbene sia sempre teoricamente possibile che qualche sviluppatore BSD decida di avviare un progetto analogo per quegli ambienti.

L’idea ha accarezzato anche me, in quanto nonostante la mia Slackware sia tuttora saldamente ancorata al tradizionale sysvinit, diventa sempre più concreto il rischio che il passaggio diventi obbligatorio anche per lei in un prossimo futuro, visto che tra le grandi distribuzioni Linux non rimane più nessun altro che non sia passato, e non si può quindi sperare in baluardi di opposizione ai cambiamenti architetturali che systemd impone anche alle altre componenti di sistema che pure Slackware ha necessità di utilizzare.

Ho quindi iniziato ad analizzare alcuni dei sistemi BSD esistenti per capire se sia possibile per me migrare ad uno di essi senza dover subire troppi cambiamenti rispetto al mio abituale modo di usufruire dei miei desktop e del mio laptop.

Quello che rapidamente ho compreso è che, mentre per un utente di una generica distribuzione Linux moderna potrebbe essere relativamente indolore passare a uno dei sistemi operativi basati su FreeBSD, per un utente proveniente da Slackware ci sono diversi ulteriori aspetti da considerare. Questo perché Slackware ha compiuto negli anni diverse scelte “estreme“, e che si rivelano essere persino più estreme di quelle compiute da molti dei sistemi BSD, che sono ritenuti ambienti piuttosto ortodossi e tradizionalisti.

Andiamo a vedere alcune di queste scelte:

Slackware non usa PAM. Si tratta probabilmente dell’unica distribuzione Linux contemporanea che non utilizza PAM e che compila tutto i propri applicativi senza il supporto ai moduli di autenticazione ma solo ai tradizionali file di configurazione allocati in /etc. Unica eccezione è l’inserimento di un modulo pam “dummy” per consentire l’uso di Google Chrome, il quale è distribuito solo in formato binario e ricerca la presenza di questa libreria per avviarsi. L’avversione a PAM è uno dei portabandiera della comunità Slackware. Invece moltissimi dei sistemi BSD, tra cui FreeBSD, usano PAM già da molto tempo. Solo OpenBSD, tra i sistemi che ho visto, non usa PAM e sarebbe quindi accettabile da questo punto di vista.

Slackware non usa grub. Anche se recentemente è stato inserito come pacchetto opzionale, grub non è amato dalla comunità Slackware, che da sempre utilizza LILO come boot loader, e quindi non ha mai imparato la contorta e astrusa sintassi di configurazione di questo bootloader (specie per grub2). Invece molti sistemi di base BSD utilizzano grub come bootloader, ad esempio PC-BSD 10.

Slackware non usa PulseAudio. PulseAudio è il precedente “capolavoro” dello stesso autore di systemd, ed è diventato standard in tutte le maggiori distribuzioni Linux, interponendosi come strato di servizio audio tra le applicazioni e i driver hardware, nella gran parte dei casi senza alcuna utilità effettiva. In Slackware non esiste alcun audio server, ma gli applicativi vengono compilati per dialogare direttamente con i driver ALSA del kernel. Invece quasi tutti i sistemi BSD, sebbene non prevedano PulseAudio come componente di base, hanno compilato i vari software multimediali e ambienti grafici desktop con la dipendenza da PulseAudio.

E’ chiaro che tutte queste differenze potrebbero venir superate ricompilando opportunamente i vari componenti di sistema, ma bisogna tenere presente che la filosofia di base dei sistemi BSD è diversa rispetto a quella di una distribuzione Linux. Un BSD è distribuito in pacchetti preconfezionati che comprendono sia il kernel che l’ambiente e tutte le utility base, e l’ipotesi che l’utente finale si ricompili non solo il kernel ma anche, ad esempio, /bin/login affinchè non includa pam non è supportata in maniera ufficiale. Seguire questa strada comporta moltissimo lavoro autonomo di ricompilazione, senza aiuti da parte dei team BSD che invece spingono perché si usino i pacchetti precompilati da loro forniti, e da ripetersi ad ogni nuova uscita e per ogni singola componente che venga fornita in origine con il supporto a pam, pulseaudio, ecc.

Un ulteriore elemento da considerare è che in generale l’utente Linux è abituato a veder arrivare sul proprio sistema le nuove versioni dei pacchetti software pochissimo tempo dopo il loro rilascio, anzi nella maggior parte dei casi nello stesso istante in cui una versione software viene rilasciata ne vengono forniti i pacchetti binari per tutte le distribuzioni principali, e nonostante Slackware non sia quasi mai inclusa tra queste, noi suoi utenti abbiamo imparato già da tempo come compilarceli da soli o in quali repository dedicati andare a cercarli. Nel mondo BSD invece, un po’ per le questioni di licenza, un po’ per le patch alle volte considerevoli che devono essere create in autonomia dagli sviluppatori BSD per adattare i software, un po’ per il fatto che la struttura piramidale dello sviluppo costringe ad aspettare che un determinato software venga incluso tra i Ports ufficiali, ecc. si è costretti ad attendere diverso tempo. quantificabile anche in molti mesi, prima di poter aggiornare. In generale l’utenza BSD è più abituata ad usare la release del proprio sistema così come viene fornita, e ad attendere la successiva release che aggiornerà le componenti di base e le componenti applicative alle varie versioni decise dal team di sviluppo per quello specifico rilascio. L’utenza Slackware invece è più vicina al concetto di “rolling release“, e aggiorna per proprio conto diverse parti del sistema senza dover aspettare le uscite ufficiali della distribuzione. Questo vale soprattutto per l’ambiente KDE, che viene incluso ufficialmente in Slackware ad una certa versione, ma è prassi comune tenere aggiornato grazie a pacchetti software distribuiti separatamente.

Non ultimo aspetto da considerare è quello relativo al supporto da parte di software e driver proprietari. Se negli ultimi anni è diventato ormai abbastanza comune supportare Linux anche da parte di produttori di stampanti, scanner, telecamere, notebook, ecc. lo stesso non si può dire per i BSD, il che può significare dover essere molto oculati nella scelta degli acquisti hardware. Il portabandiera dei sistemi BSD nel mondo x86(_64) è senz’altro FreeBSD, ed è per questo sistema che si concentra la maggior parte dei rilasci software e dei supporti. OpenBSD, NetBSD e gli altri sono spesso costretti a importare le soluzioni FreeBSD o ad attendere tempi lunghi per sviluppare in autonomia delle alternative. Ma, come accennato in precedenza, FreeBSD non rappresenta la scelta ideale per un utente Slackware che non voglia ritrovarsi nella situazione in cui dopo essersi liberato dalla minaccia systemd debba invece aver a che fare con tutte le altre tecnologie che Slackware lo aveva aiutato ad evitare.

In conclusione, migrare da Linux a BSD non è così indolore come si potrebbe pensare, e va valutato seriamente se sia il caso di affrontare le problematiche che ho indicato, e sicuramente altre che ancora non ho scoperto, con lo spirito di adeguarsi alle differenze oppure di fare il possibile per riportare l’esperienza d’uso a quella a cui si è abituati in Linux. Oppure se sia tutto sommato più accettabile l’idea di adeguarsi a systemd e tutti i suoi cambiamenti, tenendo presente che in ogni caso se si ha a che fare per lavoro con ambienti Linux si dovrà comunque acquisire una certa dimestichezza con systemd pure se non lo si userà nel proprio sistema casalingo.

Rilasciata Slackware Linux 14.1

letture

slackware_sDopo un anno di sviluppo, il 7 novembre 2013 Patrick Volkerding ha annunciato e rilasciato la versione 14.1 di Slackware.

Non mancano le novità ma, come sempre, non vengono stravolte l’esperienza generale offerta dalla distribuzione, e l’organizzazione sempre tendente ad offrire un ambiente semplice e ad implementare i pacchetti software nel modo più aderente possibile alle intenzioni dei rispettivi autori, senza modificarli o patcharli.

Gli ambienti grafici disponibili in questa versione sono XFCE 4.10.x e KDE 4.10.5 (le versioni più recenti vengono come al solito fornite separatamente da Eric Hameleers sul suo blog). Per gli amanti di Gnome, da un po’ di tempo è possibile sperimentare separatamente l’ambiente MATE, che è un fork di Gnome 2.x distaccatosi dalla scia di Gnome 3.x per continuare a portare avanti un paradigma desktop tradizionale rispetto ai cambiamenti introdotti da Gnome Shell.

L’ambiente KDE offerto da Slackware segue tutte le raccomandazioni di freedesktop.org per consentire la gestione semplificata di periferiche USB, alimentazione, schermo, lettori mp3, ecc. in modo da risultare utilizzabile da utenti di qualsiasi livello di esperienza.

Il kernel adottato è la versione 3.10.17, ma vengono forniti come opzionali anche la versione 3.4.66 per chi desidera una versione LTS, e il nuovissimo kernel 3.12 per chi vuole invece sperimentare le nuove features.

Le Glibc sono alla versione 2.17, insieme al più recente GCC 4.8.2 ed a LLVM 3.3. Come server grafico viene utilizzato X.org versione 1.4.3.

La principale novità di questa release è comunque l’implementazione dell’installazione e del boot in sistemi dotati di firmware UEFI 64 bit, in maniera nativa. Per questo sono stati aggiunti, come opzionali, i system loader elilo e grub2.

Come esplicitato da Eric Hameleers nel suo articolo di presentazione, non sono invece presenti né SystemDWayland.

Va poi ricordato che oltre alle due versione di Slackware per processori x86 (32 bit) e x86_64 (64 bit), è presente anche la release per ARM, che può essere usata su dispositivi come il Raspberry Pi e altri sistemi embedded. E’ anche possibile che in un futuro non lontano venga messa a punto una versione installabile su tablet e cellulari, sulla falsariga di Ubuntu Mobile.

Slackware può essere scaricata gratuitamente come torrent, ma è anche possibile contribuire finanziariamente al progetto acquistando una sottoscrizione dallo store ufficiale, la quale dà diritto a ricevere la distribuzione in confezione DVD.

Vmail di nuovo funzionante

letture

phpfastcgiEra passato ormai più di un anno da quando il sistema di gestione web dei domini mail virtuali ospitati sul LoneStar Network aveva smesso di funzionare.

Essendo le configurazioni ormai stabilizzate da tempo, e non essendoci particolari necessità da parte degli utenti, non è stato un problema grandemente sentito. Solo un paio di volte nel corso dell’anno c’è stata la necessità di accedere alla gestione web, ed ho ovviato facendomi riferire le configurazioni da fare e operandole manualmente.

Nel frattempo però avevo subito scritto nella mailing list frequentata anche dall’autore di oMail-Admin, il quale si era dichiarato disponibile a pubblicare una versione del software patchata per poter girare con le nuove versioni di php. Ma purtroppo dopo quella dichiarazione di disponibilità, è sparito senza più far nulla.

Alla fine mi si è affacciata alla mente una ipotesi per aggirare il problema: mi è capitato di riscontrare delle configurazioni in cui venivano fatte girare più versioni diverse di PHP sullo stesso server web Apache. Allora ho iniziato a pensare che avrei potuto far girare una versione di PHP 5.3 sul mio server dove è già presente la 5.4, e associare questa versione più vecchia al virtual host vmail, in modo da far funzionare il software con l’opzione register_globals=on.

Ieri ho lavorato alla compilazione di un pacchetto php 5.3.27 opportunamente configurato per non accavallarsi con la versione 5.4 corrente, usando path diversi per i binari, le configurazioni e i file di sessione. Da qualche tempo il php supporta la funzionalità FPM, che consiste nel far girare l’interprete php come servizio su una porta tcp, alla quale il server web passa i binari da eseguire come se fosse un proxy, e ne riceve i risultati. Quindi è virtualmente possibile far girare tante versioni di php in ascolto su porte diverse, e poi configurare i virtualhost di Apache per inoltrare i file .php alla porta corrispondente alla versione di php che si vuole usare. Il tutto lasciando inalterata l’installazione PHP “principale”, la quale invece continua ad essere usata come modulo di Apache (mod_php.so).

Il tutto ha funzionato praticamente subito, ed ecco quindi che vmail.lonestar.it ha ripreso le sue funzionalità originarie!

20 anni di Slackware!

letture

Patrick VolkerdingL’11 luglio 2013 Patrick Volkerding ha pubblicato sul forum Slackware di LinuxQuestions un post celebrativo per il ventennale del suo primo annuncio relativo a Slackware Linux. Altri preferiscono considerare il 16 luglio come data dell’anniversario, in quanto è il giorno in cui la Slackware 1.0 fu effettivamente resa disponibile per il download in FTP.

Personalmente preferisco la prima data per la ricorrenza, in quanto più vicina al mio compleanno che cade il 12 luglio. La Slackware è senza alcuna ombra di dubbio una delle cose più importanti nella mia vita informatica – insieme a Fidonet, le BBS, e le chat online -, quindi mi piace l’idea che sia collegata al mio compleanno.

Come viene ripetuto in occasione di ogni uscita di release, la Slackware è la più antica distribuzione Linux ancora in attività, anche se la differenza rispetto a Debian è di poche settimane. D’altronde quando si parla di record anche pochi istanti di differenza hanno un peso!

Io ho iniziato ad usare Slackware nell‘estate del 1996, di conseguenza ne ho attraversato gran parte della storia. Mentre per molti l’uso di Slackware ha rappresentato una fase di passaggio nella loro vita informatica, spesso legata agli inizi della loro esperienza Linux, per me è stata una costante immutabile. Anzi la conoscenza e l’uso di altre distribuzioni nel corso del tempo, ha rafforzato sempre più la mia preferenza, dandomi ripetuti riscontri pratici della convoluta complicazione degli altri sistemi.

Linux è nato con lo scopo ideale di essere un clone libero di Unix, e sebbene sia comunque difficile individuare nella frastagliata storia di Unix un sistema ideale a cui far riferimento per generarne un clone, è comunque innegabile che Slackware è l’unica distribuzione che abbia mantenuto negli anni una certa continuità di logica e di organizzazione con i sistemi Unix classici. Secondo molti il sistema Unix ideale è stato Solaris. Personalmente ritengo che questo trofeo spetti a DigitalUnix/Tru64/OSF1. In ogni caso Slackware non è certamente una “copia sputata” di nessuno di questi sistemi, però ha un look&feel generale che fa sentire l’utente perfettamente a casa quando accede ad uno di questi altri sistemi.

Allo stato attuale la salute di Slackware è buona, ma i problemi all’orizzonte rimangono quelli che ho già citato in un precedente articolo: Systemd, Wayland, udisks2.

L’adozione di Systemd stravolge completamente la struttura di una distribuzione tradizionale, e rischia di diventare pressoché obbligatoria man mano che passa il tempo, a causa delle dipendenze che gli sviluppatori stanno iniziando a inserire in altri software rilevanti. E’ di questi giorni la voce che le prossime versioni di KDE potrebbero iniziare a dipendere da Systemd, e questo porrà la Slackware su un bivio inevitabile: abbandonare KDE ed utilizzare solo desktop manager “minori” come XFCE, LXDE, ecc., oppure adottare Systemd.

Anche Wayland, nonostante di per se sia un cambiamento molto meno radicale, sembra portare con se delle dipendenze da Systemd.

Persino Debian, che inizialmente si era schierata tra le distribuzioni che rifiutavano l’adozione di Systemd, adesso ha avviato un processo più morbido di valutazione dell’impatto dell’inserimento di Systemd come pacchetto facoltativo e successivamente anche come pacchetto di default. In ogni caso tutte le maggiori distribuzioni sono passate a systemd oppure lo offrono come sistema alternativo, e nessuna ha seguito la strada di non considerarlo per niente (come sarebbe giusto fare per qualsiasi progetto di Lennard Poettering, IMHO 😀 )

Purtroppo Slackware è costretta in casi del genere a seguire il carro delle altre distribuzioni, in quanto non ha i mezzi per poter portare avanti in maniera autonoma dei progetti rilevanti come un intero sistema coerente di patch da applicare a tutti i software legati a systemd per eliminarne la dipendenza. E’ quindi probabile che se questa adozione generalizzata di systemd continua lungo questa linea di diffusione, presto o tardi Slackware dovrà compiere il passaggio.

Non sarà la fine del mondo, alla fine si comincerà anche ad apprezzarlo, ma rimane il fatto che se fosse possibile scegliere tutti noi slackwaristi vorremmo rimanere con sysvinit.

Buon anniversario Slackware!!

Da Google Reader a TT-RSS

letture

google-readerE così ci siamo. Domani, 1 luglio 2013, Google Reader chiude definitivamente.

Quando Google ha annunciato tra i servizi di prossima dismissione il nome di Google Reader, la notizia ha fatto scalpore, in quanto si tratta di un servizio usatissimo, per quanto non molto appariscente, e non si riteneva che fosse “a rischio” tra la pletora di servizi utili e inutili che Google avvia e dismette nel corso degli anni.

Ma in un certo senso si tratta comunque di un servizio di nicchia, anche se una grossa nicchia, in quanto rivolto a persone di una certa competenza tecnica, che sanno ricercare i link RSS dei propri siti preferiti, sanno organizzarseli in gruppi, sanno usare un lettore di news locale, ecc.

Inoltre si era già manifestata una certa intenzione di Google di passare ad un modello di offerta di notizie con sottoscrizione non necessariamente gratuita, in modo da poter siglare accordi con testate giornalistiche a cui rigirare una parte degli utili, per tirarsi fuori dalle svariate accuse di assassinio della stampa e del giornalismo professionale. In questo senso il servizio Google Currents si inserisce meglio del Reader, pur essendo basato sostanzialmente sulle stesse tecnologie, in quanto si presenta come qualcosa di più “patinato“, usabile da utenti meno esperti, e vendibile come piattaforma per servizi a pagamento da parte degli editori di carta stampata.

Ad ogni modo, dal momento dell’annuncio si è aperta la caccia al sostituto di Google Reader per chi vuole continuare a gestire il proprio flusso di notizie in maniera sostanzialmente invariata. Quasi tutti i servizi alternativi erano comunque dipendenti da Reader in qualche modo, quindi chi ha voluto sopravvivere ha dovuto spendere tempo e denaro nella creazione di un motore autonomo. Ce ne sono comunque parecchi e quindi la situazione non è disperata.

Il successore più votato ed accreditato è Feedly. Un servizio principalmente orientato a smartphone e tablet, quindi tramite l’uso di un’app specifica. Reader invece era un servizio nato prima del boom del mobile, e quindi pensato per essere usato essenzialmente da web, anche se era dotato di apposite app. Ovviamente anche Feedly può essere usato da web.

Tuttavia la mia scelta fin da subito si è orientata verso qualcosa che non dipendesse più dalle decisioni di un provider esterno. A qualunque altro servizio si passi dopo la chiusura di Google Reader, esiste sempre il pericolo latente che tra qualche tempo il servizio venga chiuso, che l’azienda venga acquisita da altri, che il servizio passi da gratuito a pagamento, e così via dicendo.

Quindi ho preso in considerazione solo due strade: l’uso di un client locale che scarichi le news direttamente dai vari feed dei siti, oppure l’uso di un portale web autonomo che vada a scaricare i feed inserendoli in un db sql e che sia poi consultabile via web e tramite client.

Per la prima strada, esistono alcune soluzioni “storiche” come Liferea, Akregator, ecc. le quali però hanno limitazioni varie e inoltre tendevano comunque ad appoggiarsi sempre al motore di Google per la fase di effettiva aggregazione delle notizie. Siccome sono già dotato di server esposto su internet, l’idea del portale web pubblico, accedibile dall’esterno e dai vari dispositivi che possiedo, è quella che mi ha attirato di più fin da subito.

Di conseguenza la mia scelta è caduta su Tiny Tiny RSS (TT-RSS). Si tratta di un software in PHP che esiste da diverso tempo, ma che ha avuto una spinta particolare da quando si è sparsa la notizia della chiusura di Google Reader. Richiede un server http, un database SQL e il PHP. Nulla di particolarmente difficile per chi utilizza normalmente Linux. E’ dotato anche di un client Android che è abbastanza completo ed efficace. Utilizza inoltre una tecnologia di plugin che consente di espanderlo con varie funzionalità, compresa quella particolarmente utile di poter condividere gli articoli desiderati sui social network o via email. Le feature crescono di continuo e sono già da molti punti di vista superiori a quelle che offriva Reader, senza contare poi che negli ultimi mesi sono fioccati i temi grafici per la parte web che tendono a riprodurre in maniera pressoché perfetta l’aspetto esteriore dell’interfaccia di Google Reader.

Il pregio più importante di questa soluzione, dal mio punto di vista, è che si tratta di una soluzione definitiva. Non dovrò cambiarla mai più, in quanto non è un servizio che potrà mai chiudere o cambiare, a meno che non sia io a volerlo per una mia necessità.

Inutile dire che TT-RSS si aggiunge quindi ai servizi che LoneStar Network offre ai suoi utenti, anche se poi in effetti lo uso solo io. Ad ogni modo se qualcuno dei miei users legge questo articolo ed è interessato, non ha che da scrivermi.

CC BY-NC-SA 4.0 .