Ok, então nada que você fizer em um tmpfs não persistirá após a reinicialização. Isso porque um tmpfs é temporário e só existe na RAM. Tudo o que precisa estar em um tmpfs para o sistema ser executado deve ser criado toda vez que o sistema for inicializado. A maioria dos processos que usam / var fazem isso, mas alguns como o anacron e o cups-pdf não.
Para corrigir isso, você precisa criar um script que crie esses diretórios sempre que o sistema for iniciado. Copie o texto abaixo em um arquivo de texto, salve-o e torne-o executável.
#!/bin/bash
# Script to create required directories in tempfs /var (that are not otherwise created)
# Thanks to http://blog.philippklaus.de/2011/02/ssd-optimizations-on-linux/ for the list below :-)
for dir in apparmor apt ConsoleKit cups dist-upgrade fsck gdm installer news ntpstats samba speech-dispatcher unattended-upgrades; do
if [ ! -d /var/log/$dir ] ; then
mkdir /var/log/$dir
fi
done
for dir in cups-pdf anacron; do
if [ ! -d /var/spool/$dir ] ; then
mkdir /var/spool/$dir
fi
done
Em seguida, você precisa fazer este script ser executado toda vez que o sistema iniciar, adicionando uma linha ao /etc/rc.local
Eu chamei meu script de "make_required_dirs_on_tempfs.sh", então adicionei a seguinte linha ao arquivo rc.local. Coloque no final, mas acima do comando "exit 0".
/PATH_TO_SCRIPT/make_required_dirs_on_tempfs.sh
Eu salvei meu script em "/ mnt / data / config / scripts / start-stop" e assim meu arquivo /etc/rc.local tem esta aparência:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#if [ -d "/var/cache/apt/archives" ]; then echo "/var/cache/apt/archives exists"; else mkdir /var/cache/apt/archives; fi || die "Command failed: mkdir /var/cache/apt/archives"
/mnt/data/config/scripts/start-stop/make_required_dirs_on_tempfs.sh
exit 0