Se eu strace
o comando lsb_release -i -s
...
strace -o strace.out lsb_release -i -s
Eu acho (do arquivo de saída strace.out
) que está lendo /etc/lsb-release
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
A saída de lsb_release -i -s
é Ubuntu
O redirecionamento 2> /dev/null
envia algum erro do comando para o esquecimento de dados
O operador ||
significa se (e somente se) o primeiro comando falhou, faça o segundo:
first command || second command
Portanto, se lsb_release -i -s
errar, os erros vão para /dev/null
e o comando echo Debian
é executado. A saída disso é Debian
Então, para resumir:
Se lsb_release -s -i
puder nos fornecer o nome do sistema atual, use-o e exiba a saída. Se não, apenas chame de "Debian"
O arquivo /etc/default/grub
é usado para gerar o arquivo de configuração lido pelo GRUB ( /boot/grub/grub.cfg
) quando update-grub
é chamado, então é lido quando o sistema de arquivos raiz real é montado.
Você deve executar sudo update-grub
após editar o arquivo para que as alterações entrem em vigor.