J'essaie de trouver un moyen de déterminer le nom et la version de la distribution Linux qui fonctionneraient sur la plupart (ou idéalement, toutes) les distributions modernes. J'ai remarqué qu'il /etc/os-release
contient les informations dont j'ai besoin sur les distributions que j'ai essayées (CentOS, Debian), mais dans quelle mesure est-il sûr de s'appuyer sur sa présence? Les commandes telles que uname -a
ne contiennent pas vraiment les mêmes informations et ne lsb_release
sont apparemment pas présentes, par exemple, sur CentOS minimal.
Existe-t-il un moyen rapide de savoir exactement avec quelles distributions sont livrées /etc/os-release
? De plus, est /etc/os-release
garanti à contenir NAME
, VERSION
et les PRETTY_NAME
champs?
linux
distributions
w128
la source
la source
Réponses:
Tout système exécutant systemd devrait avoir
/etc/os-release
, qui est spécifié dans le cadre de systemd. Certains systèmes sans systemd peuvent l'avoir aussi ( par exemple Debian 8 où systemd est facultatif mais/etc/os-release
est installé dans tous les cas).Selon la spécification, tous les champs sont facultatifs et certains ont des valeurs par défaut ("Linux" pour
NAME
etPRETTY_NAME
).Vous trouverez plus d'informations dans l'
/etc/os-release
annonce .la source