Em que distribuições Linux posso confiar na presença de / etc / os-release?

15

Estou tentando encontrar uma maneira de determinar o nome e a versão da distribuição do Linux que funcionaria na maioria (ou, idealmente, em todas) distribuições modernas. Eu notei que /etc/os-release contém a informação que eu preciso sobre as distribuições que eu tentei (CentOS, Debian), mas quão seguro é confiar na presença dela? Comandos como uname -a realmente não contêm as mesmas informações e lsb_release aparentemente não está presente em CentOS mínimo.

Existe uma maneira rápida de descobrir exatamente quais distros vêm com /etc/os-release ? Além disso, /etc/os-release é garantido para conter NAME , VERSION e PRETTY_NAME campos?

    
por w128 15.03.2017 / 10:17

1 resposta

13

Qualquer sistema executando systemd deve ter /etc/os-release , que é especificado como parte de systemd. Alguns sistemas sem systemd também podem tê-lo ( por exemplo, Debian 8, em que 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 têm padrões ("Linux" para NAME e PRETTY_NAME ).

Você encontrará mais informações em /etc/os-release announcement .

    
por 15.03.2017 / 10:31