Uma atualização de lançamento me perguntou se eu gostaria de usar a versão nova ou antiga do /etc/grub.d/10_linux
arquivo. Eu escolhi o novo, mas notei agora que o arquivo antigo (ligeiramente corrigido manualmente) ainda está lá, chamado 10_linux.dpkg-old
.
Meu entendimento é que update-grub
irá executar todos os scripts em /etc/grub.d
. Como alguns bugs foram corrigidos na nova versão do 10_linux
script, não quero update-grub
executar 10_linux.dpkg-old
.
Presumo que tornar o script antigo não executável usando chmod
me permitiria mantê-lo nessa pasta. Mas gostaria de saber se existe algum outro mecanismo que impeça update-grub
seu uso.
Referência do meu entendimento atual: help.ubuntu
Os scripts neste diretório são lidos durante a execução do comando update-grub e suas instruções são incorporadas em /boot/grub/grub.cfg.
A colocação dos itens de menu no menu grub.cfg é determinada pela ordem na qual os arquivos neste diretório são executados. Arquivos com um numeral inicial são executados primeiro, começando com o número mais baixo. 10_linux é executado antes de 20_memtest, que seria executado antes de 40_custom. Se existirem arquivos com nomes alfabéticos, eles serão executados após os arquivos com nomes numéricos.
As entradas de menu personalizadas podem ser adicionadas ao arquivo 40_custom ou em um arquivo recém-criado. Com base em seu nome, as entradas 40_custom por padrão aparecem na parte inferior do menu. Um arquivo personalizado começando com 06_ apareceria na parte superior do menu, pois sua classificação alfanumérica o colocaria à frente de 10_ a 40_ arquivos.
Somente arquivos executáveis geram saída para grub.cfg durante a execução de update-grub. Por padrão, os arquivos na pasta /etc/grub.d são executáveis.
Sim.
O
grub-mkconfig
script irá ignorar nomes de arquivos que correspondam*~
a ou*/\#*\#
, e nomes de arquivos que correspondam a*.dpkg-*
, ou*.rpmsave|*.rpmnew
, ouREADME*|*/README*
, ou*.sig
.Você pode rastrear o script se quiser confirmar isso com o comando
bash -x $(which grub-mkconfig) -o /boot/grub/grub.cfg
.