Estoy tratando de encontrar una manera de determinar el nombre y la versión de la distribución de Linux que funciona en la mayoría (o, idealmente, todas las distribuciones modernas). Noté que /etc/os-releasecontiene la información que necesita sobre las distribuciones que probé (CentOS, Debian), pero ¿Es seguro que depender de la presencia de la misma? Comandos como uname -arealmente no contienen la misma información, y lsb_releaseno es aparentemente presentes en CentOS por ejemplo mínimos.
¿Hay una forma rápida de averiguar exactamente lo que las distribuciones vienen con /etc/os-release? Por otra parte, se /etc/os-releasegarantiza que contiene NAME, VERSIONy los PRETTY_NAMEcampos?
linux
distributions
w128
fuente
fuente

Respuestas:
Cualquier sistema que ejecute systemd debería tener
/etc/os-release, que se especifica como parte de systemd. Algunos sistemas sin systemd podrían también lo tienen ( por ejemplo Debian 8, donde systemd es opcional, pero/etc/os-releasese instala en todos los casos).Según la especificación, todos los campos son opcionales y algunos tienen valores predeterminados ("Linux" para
NAMEyPRETTY_NAME).Encontrarás más antecedentes en el
/etc/os-releaseanuncio .fuente