Qual é a diferença entre / tmp e / var / tmp?

Respostas:

115

/tmpsignifica armazenamento rápido (possivelmente pequeno) com uma vida útil curta. Muitos sistemas limpam /tmpmuito rápido - em alguns sistemas ele é montado como disco RAM. /var/tmpnormalmente está localizado em um disco físico, é maior e pode conter arquivos temporários por mais tempo. Alguns sistemas também limpam /var/tmp, mas com menos frequência.

Observe também que /var/tmppode não estar disponível no processo de inicialização precoce, pois /vare / ou /var/tmppodem ser pontos de montagem. Portanto, é um pouco comparável à diferença entre /bine /usr/bin. O primeiro está disponível durante a inicialização antecipada - o último após o sistema ter montado tudo. Portanto, a maioria dos scripts de inicialização usará /tmpe não /var/tmppara arquivos temporários.

Outro (próximo) local no Linux para arquivos temporários é /dev/shm.

Nils
fonte
4
Acho que é um pouco irônico que /bine /usr/binsão realmente os mesmos estes dias (links simbólicos). ;-)
Felix Schwarz
2
@Felix Ainda não está em todas as distribuições. Mas o Linux está se movendo dessa maneira. Provavelmente, porque os discos ficam cada vez maiores.
Nils
27

/tmppode ser, e às vezes é, limpo na reinicialização. /var/tmpé preservado entre as reinicializações.

Veja o artigo da Wikipedia sobre a ESF .

njsg
fonte
1
/ tmp pode até limpar os arquivos criados por um processo logo após a sua saída!
osvein
15

Eles têm o mesmo objetivo e funcionalidade. Toda versão do UNIX / Linux manipula esses diretórios de maneira diferente. Historicamente, antes do advento dos sistemas de arquivos baseados em RAM / swap, você tinha sistemas sem disco, onde os sistemas de arquivos /e /usrseriam somente leitura e /var(variável) seriam leitura-gravação. O /tmpnome seria um link simbólico para /var/tmp. Mais tarde, os sistemas sem disco ficaram fora de moda, o espaço em disco ficou mais barato (para ter maiores arquivos raiz) e a tecnologia permitida para sistemas de arquivos montados a partir da memória em vez do disco. O /var/tmpdiretório ficou fora de moda, mas ainda é usado por alguns programas.

Atualmente, mais segurança é configurada por padrão em /tmp, como g+s,+tpermissões, mas não em /var/tmp. Além disso, /var/tmpraramente é montado na RAM ou na troca.

Arcege
fonte
nos meus sistemas debian e fedora, / tmp e / var / tmp têm o mesmo modo - a+rwx+t- e não g+s.
sourcejedi
12

Especificações básicas do POSIX, edição 7 em / tmp :

O diretório a seguir deve existir em sistemas conformes e deve ser usado conforme descrito:

/ tmp

Um diretório disponibilizado para aplicativos que precisam de um local para criar arquivos temporários. Os aplicativos devem criar arquivos neste diretório, mas não devem assumir que esses arquivos são preservados entre as invocações do aplicativo.

O Padrão de Hierarquia de Arquivos 2.3 em / tmp :

O diretório / tmp deve estar disponível para programas que requerem arquivos temporários.

Os programas não devem assumir que quaisquer arquivos ou diretórios em / tmp sejam preservados entre as invocações do programa.

Fundamentação

O padrão IEEE P1003.2 (POSIX, parte 2) estabelece requisitos semelhantes à seção acima.

Embora os dados armazenados em / tmp possam ser excluídos de uma maneira específica do site, é recomendável que os arquivos e diretórios localizados em / tmp sejam excluídos sempre que o sistema for inicializado.

A ESF adicionou essa recomendação com base no precedente histórico e na prática comum, mas não a tornou um requisito porque a administração do sistema não está dentro do escopo deste padrão.

O POSIX não especifica / var / tmp . A ESF faz :

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 .

Arquivos e diretórios localizados em / var / tmp não devem ser excluídos quando o sistema é inicializado. Embora os dados armazenados em / var / tmp sejam normalmente excluídos de uma maneira específica do site, é recomendável que as exclusões ocorram em um intervalo menos frequente que / tmp .

osvein
fonte
Ahhh, eu amo documentação. Agora eu sei que sei e por que acredito que sei disso. Minhas necessidades epistemológicas estão tão satisfeitas agora.
Stephen C