Respostas:
Receio que não haja uma maneira padronizada de verificar isso. Toda distribuição parece ter sua própria maneira de anunciar sua versão. Você pode tentar cat /etc/*release:, pode funcionar em alguns sistemas. Além disso, /etc/issuepode conter informações de distribuição.
lsb_release -a deve funcionar na maioria das distribuições.
lsb_release -i -sfunciona na maioria dos sistemas que tenho apenas para obter o ID do fornecedor. Infelizmente, o lsb_release não faz parte da instalação básica nos meus sistemas menores / incorporados, portanto, ele deve ser testado primeiro.
lsb-releasepacote, que, de fato, não é o padrão. Sua ausência é um forte indicador do Debian. :-)
lsb_releasenão existe em alguns novos derivados RHEL6, como Scientific Linux 6.1 ou Fedora Linux 16.
uname -o
O binário uname é encontrado em quase todos os sistemas Linux e o sinalizador -o faz o melhor para devolver o sistema operacional. O lsb_release também funciona, mas não é tão onipresente.
uname -o, se isso voltar como apenas GNU / Linux, a execução lsb_release -i -sparece funcionar em todos os meus sistemas.
Se você usar a -abandeira uname, ela deve funcionar a maior parte do tempo. Por exemplo, na minha máquina atual do Ubuntu uname -aimprime:
Linux clark-laptop 2.6.35-25-generic #43-Ubuntu SMP Thu Jan 6 22:25:21 UTC 2011 x86_64 GNU/Linux
cat /etc/*releasee/etc/issueme dê as informações precisas de que preciso.