/tmp
é limpo na inicialização pelo script Upstart /etc/init/mounted-tmp.conf
. Se você olhar para esse arquivo, verá que não há maneiras de dizer para ele não fazer o trabalho dele. No entanto, você está livre para modificá-lo.
Veja como eu devo proceder:
-
No final de mounted-tmp.conf (logo antes de
end script
), coloque o seguinte:touch /tmp/.notclean
Dessa forma, sempre que o / tmp é montado, um arquivo
.notclean
será criado. -
Após a seguinte linha (que é a linha antes que o script comece a remover arquivos) ...
cd "${MOUNTPOINT}" || exit 1
... verifique a existência de
.notclean
. Se o arquivo existir, significa que o computador não foi desligado corretamente.cd "${MOUNTPOINT}" || exit 1 [ -f .notclean ] && exit 0
-
Agora você precisa de um novo script Upstart que remova
.notclean
no desligamento. Crie/etc/init/mark-tmp-clean.conf
e coloque este código:description "some useful description" start on starting rc task script rm -f /tmp/.notclean end script