Estou tentando encontrar uma maneira de determinar o nome e a versão da distribuição Linux que funcionariam na maioria (ou idealmente, todas) das distribuições modernas. Percebi que /etc/os-release
contém as informações necessárias nas distribuições que experimentei (CentOS, Debian), mas quão seguro é confiar na presença delas? Comandos como uname -a
realmente não contêm as mesmas informações e lsb_release
aparentemente não estão presentes, por exemplo, no mínimo CentOS.
Existe uma maneira rápida de descobrir exatamente quais distros vêm /etc/os-release
? Além disso, é /etc/os-release
garantido para conter NAME
, VERSION
e PRETTY_NAME
campos?
linux
distributions
w128
fonte
fonte
Respostas:
Qualquer sistema executando o systemd deve ter
/etc/os-release
, especificado como parte do systemd. Alguns sistemas sem o systemd também podem ter ( por exemplo, Debian 8, em que o systemd é opcional, mas/etc/os-release
é instalado em todos os casos).De acordo com a especificação, todos os campos são opcionais e alguns possuem padrões ("Linux" para
NAME
ePRETTY_NAME
).Você encontrará mais informações no
/etc/os-release
anúncio .fonte