Nota! Esta resposta está desatualizada desde pelo menos o Ubuntu 14.04. Veja outras respostas para a situação atual e, se elas se mostrarem corretas, subaçá-las furiosamente. Também postar comentário para que eu possa colocar link aqui para resposta correta atual.
Para o 14.04, consulte link
Para 16.10, consulte link
Resposta antiga de 2011:
A limpeza de /tmp é feita pelo script upstart /etc/init/mounted-tmp.conf . O script é executado pelo upstart toda vez que /tmp é montado. Praticamente isso significa a cada inicialização.
O script faz aproximadamente o seguinte: se um arquivo em /tmp for mais antigo que $TMPTIME dias, ele será excluído.
O valor padrão de $TMPTIME é 0, o que significa que todos os arquivos e diretórios em /tmp são excluídos. $TMPTIME é uma variável de ambiente definida em /etc/default/rcS .