たとえば、/etc/apt/apt.conf.d/
を見ると、すべてのファイルに数字のプレフィックスが付いています。理由は何ですか?私はこれを何度も見ましたが、いつも不思議に思っています。注文のためだけですか?
はい、注文用であり、通常、数字で始まらないものはすべて無視されます。
その後、ファイルは順番に読み取られて実行されます。
たとえば、/etc/grub.d/
$ ls /etc/grub.d/
00_header 10_linux 20_memtest86+ 30_uefi-firmware 41_custom
05_debian_theme 20_linux_xen 30_os-prober 40_custom README
ブートエントリを作成するgrub
スクリプト(デフォルトでupdate-grub
に書き込む/boot/grub/grub.cfg
など)は、最初に00_header
を読み取り、ヘッダーを作成してからLinuxを探します。システム、memtest
、UEFIなどのようになります。
出力を見ると
cat /boot/grub/grub.cfg
エントリが正確にその順序になっていることがわかります。
$ cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
[...]
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
[...]
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
[...]
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry 'Memory test (memtest86+)' {
[...]
### END /etc/grub.d/20_memtest86+ ###
[...]