No Debian, e provavelmente seus derivados, o script que manipula as desmontagens antes de interromper / reinicializar é /etc/init.d/umountfs
.
Para mim, o script não possui umount
dos sistemas de arquivos listados além de tmpfs
. A razão é dada no seguinte comentário:
# Make sure tmpfs file systems are umounted before turning off
# swap, to avoid running out of memory if the tmpfs filesystems
# use a lot of space.
Devido à maturidade desses scripts, acho que essa é a melhor prática, embora possa ser uma boa ideia investigar o que outras distros fazem.
Também é possível que os comandos halt
/ reboot
realmente precisem que algumas das montagens acima funcionem (provavelmente /proc
, mas também /sys
e /dev
) e o comando pode falhar sem eles .
Atualizar
Para adicionar um pouco mais sobre isso, o próximo script chamado depois de umountfs
, antes do próprio script halt
real é umountroot
. Ao contrário do que o nome sugere, o script realmente remonta a raiz somente leitura. Observe a sintaxe real para isso:
mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2>/dev/null \
|| mount $MOUNT_FORCE_OPT -n -o remount,ro dummydev / 2>/dev/null \
|| mount $MOUNT_FORCE_OPT -n -o remount,ro /
Aparentemente, apenas um mount -no remount,ro /
direto pode falhar se houver outros pontos de montagem vinculados à raiz. Veja este bug para uma discussão completa sobre isso. O MOUNT_FORCE_OPT
é apenas definido para o FreeBSD, então isso não é necessário para o Linux.