
O Linux possui um diretório temporário padrão para uso geral, como a pasta do Windows C:\Temp
? Se sim, onde está localizada? eu encontreiuma pergunta SO sobre como encontrar um tmp
diretório programaticamente, mas quero definir um local temporário em um arquivo de configuração XML com antecedência.
Responder1
OPadrão de hierarquia do sistema de arquivosversão 3.0 diz:
/tmp: arquivos temporários
O
/tmp
diretório deve estar disponível para programas que necessitam de arquivos temporários.Os programas não devem presumir que quaisquer arquivos ou diretórios
/tmp
sejam preservados entre as invocações do programa.Justificativa
O padrão IEEE POSIX.1-2008 lista requisitos semelhantes à seção acima. Embora os dados armazenados
/tmp
possam ser excluídos de maneira específica do site, é recomendado que os arquivos e diretórios localizados/tmp
sejam excluídos sempre que o sistema for inicializado.A FHS adicionou esta recomendação com base em precedentes históricos e práticas comuns, mas não a tornou um requisito porque a administração do sistema não está dentro do escopo desta norma.
/var/tmp : Arquivos temporários preservados entre reinicializações do sistema
O
/var/tmp
diretório é disponibilizado para programas que requerem arquivos ou diretórios temporários que são preservados entre reinicializações do sistema. Portanto, os dados armazenados/var/tmp
são mais persistentes do que os dados no/tmp
.Os arquivos e diretórios localizados nele
/var/tmp
não devem ser excluídos quando o sistema for inicializado. Embora os dados armazenados em/var/tmp
sejam normalmente excluídos de maneira específica do site, é recomendável que as exclusões ocorram em intervalos menos frequentes do que/tmp
.
Também oEspecificações básicas do Open Group Edição 7, Variáveis de ambientemenciona o seguinte:
TMPDIR
Esta variável deverá representar um caminho de um diretório disponibilizado para programas que necessitam de um local para criar arquivos temporários.
sistematambém tem uma palavra a dizer sobre isso:
/tmp/
e/var/tmp/
são dois diretórios graváveis mundialmente que os sistemas Linux fornecem para arquivos temporários. O primeiro normalmente está ativadotmpfse, portanto, apoiado por RAM/swap e liberado em cada reinicialização. Este último é normalmente um sistema de arquivos adequado e persistente e, portanto, apoiado por armazenamento físico. Isso significa:
/tmp/
deve ser usado apenas para arquivos menores e com tamanho limitado;/var/tmp/
deve ser usado para todo o resto.Os dados que sobreviverão a um ciclo de inicialização não devem ser colocados no arquivo
/tmp/
.Se a
$TMPDIR
variável de ambiente estiver definida, use esse caminho e não use/tmp/
nem/var/tmp/
diretamente.Verhierarquia de arquivos (7)para obter detalhes sobre esses dois (e muitos outros) diretórios de um sistema Linux.
Os caminhos podem ser consultados comcaminho do systemd:
$ systemd-path temporary
/tmp
$ systemd-path temporary-large
/var/tmp
FreeBSD,NetBSD,OpenBSDeLibélulatem algo semelhante descrito noaqui(7)página de manual.
Responder2
Esta é uma questão antiga, então hoje existe outra opção disponível. As distribuições Linux que dependem systemd
(que são 90% delas) agora podem usar $XDG_RUNTIME_DIR
o diretório (Especificação do diretório base XDG) para armazenar certos tipos de arquivos temporários. Geralmente está localizado em /run/user/$uid
.
- Este é um diretório por usuário com
700
- mantendo os arquivos privados - Esta é uma
tmpfs
montagem (também conhecida como unidade RAM) com ótimo desempenho - Ele é limpo automaticamente
A desvantagem tmpfs
é que ele só deve ser usado para armazenar arquivos pequenos (arquivos PID, arquivos de bloqueio, soquetes etc.).
Responder3
Responder4
A pergunta inicial foi: O Linux possui um diretório temporário padrão. Se sim, onde está localizada? As pastas tmp são encontradas em: File System/tmp & File System/var/tmp O conteúdo /tmp pode ser excluído - se você souber quais arquivos/pastas são necessários/não exigidos por vários aplicativos em um "conforme necessário" base. Os arquivos desnecessários geralmente são aqueles baixados por um aplicativo para facilitar o próprio aplicativo apenas naquele ponto - portanto, não são mais necessários após a execução do aplicativo. A pasta /var/tmp não deve ser tocada.