O que pode dar errado se / var / tmp estiver em um sistema de arquivos temporário?

8

Eu li que não devo montar / var / tmp como um sistema de arquivos temporário (por exemplo, como tmpfs), porque os arquivos em / var / tmp não devem ser excluídos na reinicialização. Isso está correto?

Suponha que eu montei / var / tmp como um tmpfs, para que seu conteúdo seja excluído a cada reinicialização. Isso seria ruim? Se sim, o que poderia dar errado? Quão ruim seria?

DW
fonte
@JMoore, estou perguntando /var/tmp, não sobre /tmp. Peço desculpas se isso não está claro.
DW

Respostas:

11

/var/tmpEspera-se que os arquivos inseridos sejam persistentes nas reinicializações. Da ESF :

O diretório / var / tmp é disponibilizado para programas que requerem arquivos ou diretórios temporários preservados entre as reinicializações do sistema. Portanto, os dados armazenados em / var / tmp são mais persistentes que os dados em / tmp.

Os arquivos /var/tmpgeralmente são arquivos de cache ou arquivos temporários que não devem desaparecer no caso de uma repentina falta de energia. Não se pode esperar que eles vivam para sempre. É comum limpar arquivos antigos de /var/tmpuma agenda.

Aqui estão alguns exemplos de /var/tmpuso:

  • Algumas implementações do vi (por exemplo nvi) colocam seus arquivos de recuperação de falhas /var/tmp. Se esse for um sistema de arquivos temporário, você não terá a chance de recuperar nada. O Vim coloca seus arquivos de recuperação de falhas no mesmo diretório que o arquivo que está sendo editado.
  • Eu uso um plugin do Firefox que me permite editar campos de texto no Vim. Para fazer isso, o plug-in cria um arquivo temporário /var/tmp( /tmpé o padrão) e passa o arquivo para o Vim. Se meu computador perder energia enquanto eu estiver usando esse recurso, minha escrita estará em segurança /var/tmp.
  • Ferramentas de edição de texto, como exe sudoeditcolocar arquivos temporários /var/tmp. Se /var/tmpfosse montado como tmpfs, você correria o risco de perder dados devido a falhas de energia inesperadas.
  • A página de git-archive(1)manual tem o seguinte exemplo.

    git archive --format = tar - prefixo = lixo / HEAD | (cd / var / tmp / && tar xf -)
    Crie um arquivo tar que contenha o conteúdo da confirmação mais recente na
    ramificação atual e extraia-a no diretório / var / tmp / junk.

    É possível que o /var/tmpdiretório tenha sido escolhido para que o conteúdo extraído do arquivo não fosse perdido por uma repentina falta de energia.

  • Como /var/tmpé limpo periodicamente, mas nunca inesperadamente, é comum armazenar logs temporários e testar bancos de dados lá. Por exemplo, na página de arpd manual, /var/tmpé usado como o local de um banco de dados de teste em prol de alguns exemplos.

    arpd -b /var/tmp/arpd.db
    Inicie o arpd para coletar ARP gratuito, mas sem mexer na funcionalidade do kernel.

Em resumo, é improvável que seu sistema sofra danos graves se você montar /var/tmpcomo um tmpfs. Fazer isso pode ser indesejável, pois você corre o risco de perder informações por falhas de energia e reinicializações.

Gilles 'SO- parar de ser mau'
fonte
Te agradece. Eu li as especificações da FHS e entendo que, em princípio, os aplicativos podem usar / var / tmp para armazenar coisas - fiquei mais curioso sobre exemplos específicos de quão problemático isso pode ser na prática.
DW
@ DW: vou dar mais exemplos.
2
@DW Também /var/tmpé provável que seja maior que /tmp, portanto, alguns aplicativos esperam colocar grandes arquivos temporários lá. Se /var/tmpestiver em tmpfs, seu sistema pode ficar sem memória ou começar a debulhar.
Gilles 'SO- stop be evil' (