Como determinar em um script de shell se a distribuição em que eu estou é baseada no Debian? [duplicado]

1

Eu tenho escrito um script de shell que precisa saber se o sistema em que se encontra é, na verdade, baseado no Debian. Agora eu vi esta questão , mas suas respostas não foram tão úteis. Estou ciente de verificar /etc/os-release e a saída de lsb_release , da mesma forma eu sei que verificar se existem comandos rpm ou dpkg é outra maneira de verificar se a distribuição de uma pessoa é baseada em Red Hat ou Debian, respectivamente. Todos esses métodos têm falhas embora. Existem centenas de distribuições diferentes baseadas no Debian (incluindo aquelas baseadas no Ubuntu, que são baseadas no Debian) e verificando se o campo NAME em /etc/os-release , ou o Distributor ID na saída de lsb_release -a corresponde Qualquer uma das centenas de distribuições baseadas no Debian demoraria uma eternidade. Verificar se os comandos dpkg e rpm existem não são infalíveis, pois algumas pessoas instalam gerenciadores de pacotes de outras distribuições por vários motivos diferentes. Por exemplo, na minha máquina Ubuntu eu tenho o RPM instalado, em parte porque às vezes eu uso o comando OSC do Open Build Service, que em alguns casos requer o RPM.

Portanto, eu quero uma maneira simples e rápida de verificar (com certeza) se a distribuição em que o meu script se encontra é baseada no Debian ou não. Isso é possível?

EDIT : Como as pessoas parecem estar sugerindo, votando para fechar esta questão, que / etc / debian_version está presente em todos os sistemas baseados em Debian. Alguém tem prova disso?

    
por Brenton Horne 06.11.2016 / 09:09

1 resposta

1

Todos os derivados do Debian devem ter /etc/debian_version , que é fornecido pelo pacote essencial base-files . Como é essencial, você pode confiar na instalação e, portanto, no arquivo presente.

Eu digo "should" porque não há nada impedindo que um derivativo exclua esse arquivo, mas, até onde sei, nenhum deles faz isso. Veja O Linux Mint tem o / etc / debian_version? para mais detalhes.

    
por 06.11.2016 / 09:51