
Come si capisce quale distribuzione si sta utilizzando ed in quale versione, da un terminale Linux? È una domanda meno banale di quanto possa sembrare e fare un piccolo richiamo di competenze è utile perché ci porta alla notizia che vogliamo raccontare oggi.
Storicamente, manco a dirlo quando si parla di open-source, ognuno ha fatto come gli pareva.
Per dare una fotografia delle principali distribuzioni Linux, la promiscuità è sempre stata totale. Le informazioni sulle release risiedevano nei file più disparati:
/etc/lsb-release(Ubuntu e i vecchi sistemi LSB)/etc/redhat-release(tutti i sistemi della famiglia RHEL)/etc/debian_version(Debian)/etc/SuSE-release(SUSE)
A questi si sono aggiunti nel tempo file /etc/*-release che un po’ tutte le distribuzioni hanno utilizzato a piacimento.
In realtà gli standard moderni fanno tutti riferimento al file /etc/os-release che ha una struttura comune ad ogni distribuzione, ma anche qui, tanto per dare tre esempi, osservare uniformità è, a tratti, un’impresa:
Debian
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.6
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Ubuntu
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
AlmaLinux
NAME="AlmaLinux"
VERSION="9.4 (Seafoam Ocelot)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.4"
PLATFORM_ID="platform:el9"
PRETTY_NAME="AlmaLinux 9.4 (Seafoam Ocelot)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"
ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9"
ALMALINUX_MANTISBT_PROJECT_VERSION="9.4"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.4"
SUPPORT_END=2032-06-01
Rimane il fatto che il file /etc/os-release è, o dovrebbe essere, la sorgente principale che oggi fornisce le informazioni sulla distribuzione in uso. Tra l’altro riveste un ruolo centrale nell’esecuzione di un comando che dovrebbe essere familiare a chiunque usa Linux, ossia lsb_release:
> lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 13 (trixie)
Release: 13
Codename: trixie
Il comando lsb_release è, per così dire, dinamico, nel senso che non legge le informazioni da un unico file, ma essendo basato sullo standard Linux Standard Base (LSB) raccoglie le informazioni sull’identificazione della distribuzione Linux da varie fonti, a seconda della distribuzione e dei metadati disponibili. Guarda in /etc/os-release e ovunque serva per fornire i propri dettagli.
Vi starete chiedendo: ma perché tutta questa lunga introduzione sui file di release? È presto detto: un recente articolo di Phoronix ha raccontato di un bug che è stato aperto in Ubuntu ben ventuno anni fa e che pare sia giunto finalmente ad una svolta. Il bug affrontava un tema semplice per Ubuntu, che ricordiamo è una distribuzione derivata da Debian: quale senso ha il file /etc/debian_version?
Tutti gli utenti Ubuntu se lo sono chiesto almeno una volta nella vita.
Questo file veniva (e viene ancora oggi, ad onor del vero) preso così com’era da Debian e trasportato in Ubuntu e questa cosa, già ventuno anni fa, creava confusione in diversi tool. Anche perché il suo contenuto non è attinente in alcun modo alla release sovrastante e soprattutto indica Sid, la release instabile di Debian.
Il bug si è letteralmente trascinato per tutto questo tempo, un po’ perché lo standard, come spiegato sopra, è presto diventato /etc/os-release e un po’ perché, diciamolo, non è che le sorti del mondo dipendessero da questo file che è sempre vissuto “contento di ignorare ed essere ignorato dal mondo della Gente Alta“.
Questo fino allo scorso 24 luglio, quando un nuovo commento ha risvegliato il bug in questione, andando a linkare un thread sul forum di ubuntu.com che discute la rimozione del file. Sorprendentemente, nonostante da più di 10 anni tutto sia basato su /etc/os-release, c’è stata più di qualche obiezione perché il timore è che qualche tool dipendente dal file /etc/debian_version venga impattato dalla sua rimozione.
Sarà Ubuntu 26.10 la prima versione della storia senza /etc/debian_version?
Magari sì, o magari ci vorranno altri 21 anni per capire cosa fare di questo file, tipo farlo diventare un link simbolico a /etc/os-release, chi può dirlo, ma certe cose ci mettono del tempo a cambiare, se poi davvero cambiano.
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.






















Lascia un commento