Sull’abbondanza di distro Linux

È abbastanza noto che esistano centinaia, forse migliaia, di distro Linux. Ciò avviene perché «GNU\Linux è l’emblema della libertà, ognuno ha diritto di scegliere il sapore che più gli si confà», come direbbe alcuni fan di Linux nel 2006. Mi chiedo se sia passato di moda questo modo di esprimersi, o sono io che non sento più nessuno parlare così.
Questa cosa dei “sapori” (flavours) comunque non l’ho mai capita: trovo più chiaro, se proprio si vuole, spiegare cos’è una distro piuttosto che fare queste metafore sinestesistiche. Insomma, credo che nessuno si sia mai messo il kernel Linux in bocca, ma stiamo divagando.

La maggior parte sono derivate di qualche distro famosa, ma con un diverso desktop environment, tema del desktop environment e set di programmi preinstallati.

Cioè sono inutili.

Non tutte, certo.
Spesso possono servire a provare desktop environment o programmi esotici e macchinosi da installare senza perdere troppo tempo, certo.
Oppure… uhm… non riesco a immaginare altre ragioni valide.

Sono sempre più dell’idea che l’unico modo per non vedersi Linux e tutto il software annesso esplodere in faccia nei momenti meno consoni sia capire come i vari pezzi del sistema operativo e software anesso sono stati assemblati insieme e configurati.
Questa è probabilmente una delle ragioni per cui trovo Arch una delle distro più stabili di sempre: bisogna montare tutto a mano, un pezzo per volta; è impossibile fare le cose senza capirle.
O meglio, è possibile ma a quel punto immancabilmente va tutto in autocombustione dopo 5 minuti, come con qualsiasi distro preconfezionata.

Cosa deve fare una distro dignitosa

Anche tralasciando questo punto, io, se devo usare una distro per fare qualsiasi cosa di più che ammirare la bellezza dell’interfaccia grafica, mi aspetto che:

  • Si riesca a scaricare e installare senza complicazioni assurde. Ho visto cose che voi umani non potete neanche immaginare: distro dove i .iso stanno su siti di file sharing a caso e vengono aggiornati quando e se l’autore ne ha voglia, altre distro il cui unico metodo di installazione è ripristinare un backup con Redo Backup…
  • Non vada in pezzi spontaneamente ancor prima di toccare qualsiasi cosa.
  • Esista una qualche forma di documentazione su come compiere alcune operazioni non proprio basilari ma che immancabilmente capita di dover effettuare; normalmente roba che richiede di smanettare con X.org e compagnia bella, con qualsiasi pezzo di software gestisca la connessione a internet, o con PulseAudio, etc…
    In queste cose dipende un po’ dagli obiettivi e dalle scelte fatte da chi ha impacchettato la distro, ovvero dove ha deciso di collocare quel dannato file di configurazione non documentato con impostazioni non standard che sovrascrive le impostazioni dell’utente.
  • Sia aggiornabile senza tante difficoltà. Siamo nel 2016, le patch di sicurezza non sono un optional. È inaccettabile che dopo 2 mesi i repo col software specifico della distro spariscano dall’universo lasciando l’utente a secco, o che sia necessario accorgersi da soli che è finito il supporto a quella versione della distro, piallare tutto e installare la nuova versione, o che a ogni aggiornamento qualcosa vada in frantumi.
    Questo non si applica a distro che esistono solo per far funzionare software normalmente complicatissimi da installare, o risolvere compiti altamente specifici e non si suppone nemmeno che vengano connesse a internet. Ma direi che proprio l’intero post non si applica a quelle distro.

Io sono sempre alla ricerca di qualcosa per rimpiazzare SolydX, che comunque bisogna riconoscere essere molto solido, come dice il nome. Ma è ormai pieno di incrinature…

E io, stolto, ancora mi illudo di poter trovare una distro adatta e con un po’ di roba già installa, e che rispetti decentemente i quattro punti qui sopra.
L’unica via, che nel lungo termine fa risparmiare più tempo di quanto creda di risparmiarne cercando, sarebbe installare Arch perché funziona, o Debian perché è più stabile e più o meno funziona, o CentOS perché è stabilissimo, o una qualsiasi altra distro “famosa”. Ma io, invece, ancora cerco l’impossibile!

D’altra parte, se non lo cercassi non scriverei questi post, quindi…

L’ennesimo esempio di una distro fatta con i piedi

Ho trovato una distro ultraleggera, che tutti su internet lodano schiumando e dicendo «OMG distro leggerissima magnifica sublime etc etc… con IceWM!», che è un window manager ignoto ai più, che i fan del minimalismo possono anche considerare desktop environment, e ha il pregio di essere molto leggero e poter somigliare inquietantemente a Windows 95. Ma quanto era bello Windows 95?

Questa distro è basata su Debian.
Mi sono detto: «Massì, sarà come SolydX, probabilmente ancora più Debian, quindi magari funziona». Forse. A me Debian puro non funziona mai decentemente.
Beh, almeno se devo fare qualche operazione “strana” posso attingere dalle guide di Debian, anche se non ho mai avuto fortuna nemmeno con quelle

Avvio la distro in una macchina virtuale.

A 5 secondi dall’avvio, tutto sta andando in pezzi:

  • Spariscono icone dalla tray appena avvicino il puntatore
  • La grafica è orrida senza una ragione
  • IceWM è configurato a caso
  • Non si può cambiare risoluzione dello schermo
  • Il menu start viaggia per lo schermo appena lo apro (cliccando col sinistro sul bottone apposito, lo so che con IceWM si apre anche col destro in qualsiasi punto dello schermo ma non è quello il problema)
  • La traduzione italiana sembra fatta infilando tutta la distro in un traduttore automatico, poi in un frullatore. Non mi capacito di come sia possibile, visto che la maggior parte del software ha già una traduzione ufficiale fatta da esseri umani
  • Ci sono programmi a caso di XFCE e Gnome con grafica clamorosamente diversa
  • C’è una bandiera americana nella tray area che permette di cambiare layout della tastiera ma non fa nulla, sta lì e basta, al massimo si può fare “about” e vedere autore e versione del programma, perché per qualche ragione non funziona

Direi che posso chiudere qui e gettare via il file iso.

Un’alternativa?

Invece di creare centinaia di distro, non si potrebbe creare un apposito pacchetto o metapacchetto per la distro “originale”? Certo, non va bene in tutti i casi, ma in casi come questo secondo me sarebbe molto più semplice e gestibile.

Concedetemi di spiegare cosa voglio dire tramite un esempio: la distro che ho appena provato è basata su Debian.

Sarebbe così tanto più difficile creare un pacchetto Debian che:

  • Ha come dipendenza LightDM, IceWM e tutto il resto del software necessario, in modo che venga installato dai repo ufficiali, con le impostazioni di default, e aggiornato in automatico a ogni aggiornamento del sistema.
  • Dopo aver installato il software, sostituisce alcuni file di configurazione di default con quelli specifici di questa sorta di distro-in-un-pacchetto, o pacchetto-distro: ad esempio crea il menu di IceWM, cambia il tema, imposta lo sfondo di default, etc…
  • Fine. Non fa altro.

Vantaggi:

  • Se l’autore perde interesse per il progetto e smette di aggiornarlo, praticamente tutto resta nei repo ufficiali.
  • Secondo me è molto più facile modificare un pacchetto che un’intera distro: l’utente esperto può facilmente fare qualche piccola modifica prima di installarlo, se non è d’accordo al 100% con le scelte dell’impacchettatore.
  • Più varietà. Ancora più varietà. Non ha senso fare centinaia di distro che differiscono per la dotazione standard di software di secondaria importanza che non vengono nemmeno personalizzati ma sono lasciati con tutti i default del pacchetto ufficiale; ha più senso fare varie versioni del pacchetto-distro con differenti dotazioni di software. Beh, magari non centinaia di versioni, ma ho reso l’idea.
  • Si sa esattamente quali file di configurazione differiscono da quelli ufficiali che stanno nei repo ufficiali. Ciò permette di risparmiare le ore normalmente passate a sbattere la testa nel muro chiedendosi perché quella guida per la distro “madre” non funziona sulla derivata…

Svantaggi:

  • Se uno dei file di configurazione in un pacchetto ufficiale ha il contenuto X, il pacchetto-distro lo sovrascrive con Y e un aggiornamento del pacchetto ufficiale lo trasforma in Z, che succede?
    Non credo comunque che sia un problema molto grave. Su Arch, ad esempio, in un caso simile il file Z viene installato con estensione .pacsave e sta all’utente fare un merge manuale dei file, o semplicemente gettarlo via se vuole tenersi Y. O aspettare che l’autore del pacchetto-distro faccia il merge e rilasci una nuova versione del pacchetto.
  • Il fatto che ci siano due pacchetti a competere per scrivere lo stesso file sono certo che si possa aggirare in qualche modo.
    Se non c’è, ci sono sicuramente alternative come buttare tutto in /etc/skel che però non ha alcun effetto sugli utenti già esistenti, ma meglio che niente.
  • Questi pacchetti probabilmente non entrerebbero nei repo ufficiali; l’utente deve quindi scaricarli da fuori e fidarsi del contenuto. Ma come si fa a fidarsi del contenuto di qualsiasi distro, del fatto che non ci siano cose sospette o un accidentale rm -rf / in qualche script? Esaminando il codice sorgente. Tutto. Cosa che nessuno di fatto fa, anche perché se sta scaricando una distro è quasi tutto già compilato. Col pacchetto-distro si fa la stessa cosa: prima di installarlo alla cieca lo apre e controlla che non ci siano cose strane dentro.

Considerazioni varie:

  • Se un’idea del genere è già venuta in mente a qualcuno, non ne ho mai sentito parlare.
  • Sì, mi piacciono gli elenchi puntati.
Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...