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

112

Na maioria dos sistemas FHS , há uma pasta /tmp , bem como uma pasta /var/tmp . Qual é a diferença funcional entre os dois?

    
por Wesley 31.01.2012 / 19:56

4 respostas

100

/tmp significa armazenamento rápido (possivelmente pequeno) com vida útil curta. Muitos sistemas limpam /tmp muito rápido - em alguns sistemas é até montado como disco RAM. /var/tmp está normalmente 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/tmp pode não estar disponível no processo de inicialização, pois /var e / ou /var/tmp podem ser pontos de montagem. Assim, é um pouco comparável à diferença entre /bin e /usr/bin . O primeiro está disponível durante o boot inicial - o último após o sistema ter montado tudo. Portanto, a maioria dos scripts de inicialização usará /tmp e não /var/tmp para arquivos temporários.

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

    
por 31.01.2012 / 22:31
24

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

Veja o artigo da Wikipedia sobre a ESF .

    
por 31.01.2012 / 20:04
15

Eles têm o mesmo propósito e funcionalidade. Todas as versões do UNIX / Linux lidam com esses diretórios de maneira diferente. Historicamente, antes do advento dos sistemas de arquivos baseados em RAM / troca, havia sistemas sem disco em que / e /usr sistemas de arquivos seriam somente leitura e /var (variável) seria leitura-gravação. O /tmp name seria um link simbólico para /var/tmp . Mais tarde, os sistemas sem disco ficaram fora de moda, o espaço em disco tornou-se mais barato (para ter mais arquivos de arquivos raiz) e a tecnologia permitiu sistemas de arquivos montados a partir da memória em vez de disco. O diretório /var/tmp ficou fora de moda, mas ainda é usado por alguns programas.

Hoje em dia, mais segurança é configurada por padrão em /tmp , como g+s,+t permissões, mas não em /var/tmp . Além disso, /var/tmp raramente é montado a partir da RAM ou troca.

    
por 31.01.2012 / 20:25
11

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

The following directory shall exist on conforming systems and shall be used as described:

/tmp

A directory made available for applications that need a place to create temporary files. Applications shall be allowed to create files in this directory, but shall not assume that such files are preserved between invocations of the application.

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

The /tmp directory must be made available for programs that require temporary files.

Programs must not assume that any files or directories in /tmp are preserved between invocations of the program.

Rationale

IEEE standard P1003.2 (POSIX, part 2) makes requirements that are similar to the above section.

Although data stored in /tmp may be deleted in a site-specific manner, it is recommended that files and directories located in /tmp be deleted whenever the system is booted.

FHS added this recommendation on the basis of historical precedent and common practice, but did not make it a requirement because system administration is not within the scope of this standard.

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

The /var/tmp directory is made available for programs that require temporary files or directories that are preserved between system reboots. Therefore, data stored in /var/tmp is more persistent than data in /tmp.

Files and directories located in /var/tmp must not be deleted when the system is booted. Although data stored in /var/tmp is typically deleted in a site-specific manner, it is recommended that deletions occur at a less frequent interval than /tmp.

    
por 02.10.2015 / 19:28