Linux: Devo resistir à tentação de excluir arquivos em / tmp?

2

Eu às vezes vejo o diretório /tmp com todos esses arquivos ocupando espaço em disco, e penso " talvez eu deva ir lá e fazer algo sobre isso. "

Por outro lado, nos meus mais de 10 anos de uso do Linux, nunca tive um preenchimento de disco até o aro e preciso de intervenção manual. Então algo em algum lugar está limpando a casa para mim (?). Então talvez eu deva recuar da chalupa e deixar as coisas andarem.

Esse Q é de particular preocupação para mim, já que eu já fui queimado por consertos excessivamente agressivos com arquivos de sistema, alguns dos quais acabam sendo realmente muito importantes. Por exemplo, por volta de 1999, eu me apaixonei pela fraude do "servidor oculto":

if your Windows 98 has a hidserve.exe file, delete it right away, it is spying on you

Sim, tive que fazer uma restauração de fábrica depois disso. Quem sabia que o hidserve.exe era realmente "Human Interface Device Service" ... um processo crítico que executa o seu teclado e mouse?

Então,

  1. Eu deveria parar de ficar obcecado com /tmp ?

  2. Quem, o que, quando o processo está sendo /tmp sendo esvaziado, então não tenho que me preocupar?

por Paulb 11.10.2014 / 19:42

2 respostas

4

Normalmente, o diretório /tmp é limpo na inicialização - pelo processo de inicialização, removendo todos os arquivos ou simplesmente por estar totalmente na memória (muitas distribuições Linux montam agora tmpfs on / tmp, então os arquivos não são armazenados no disco em primeiro lugar).

Então, se você tiver reiniciado algumas vezes e ainda estiver cheio, talvez seja hora de revisar sua configuração.

Arquivos antigos podem ser limpos enquanto o sistema está em execução , mas isso depende do seu SO.

Por exemplo, todas as distribuições Linux baseadas em systemd excluem periodicamente arquivos modificados há mais de 10 dias, por meio de "systemd-tmpfiles-clean. {timer, service}".

Alguns outros sistemas podem fazer o mesmo usando tmpwatch , mas isso raramente é instalado por padrão.

Geralmente, é seguro remover arquivos em /tmp que não foram usados há algum tempo, com a exceção de arquivos "especiais" como sockets. Outra exceção é "lockfiles", como /tmp/.X0-lock .

Há também outro local de arquivo temporário, /var/tmp , que é destinado a arquivos grandes e / ou de longa duração, portanto, é especificamente não limpo após a reinicialização , e se o sistema operacional executar uma limpeza periódica, então /var/tmp normalmente tem uma validade muito maior que /tmp . No entanto, se você está ficando sem espaço, geralmente é seguro excluir a maioria das coisas também.

    
por 11.10.2014 / 20:04
1

A exclusão de um executável do sistema é muito diferente da exclusão de um arquivo de dados, como aqueles armazenados em /tmp . Eu nunca tive muito problema com o diretório /tmp ficando muito grande em meus sistemas (pelo menos depois de eu devolver o deamon que criou um arquivo tmp big-ish), mas o software que você usa poderia tornar as coisas muito diferentes para você. Em geral, eu diria que a exclusão de arquivos temporários pode causar, na pior das hipóteses, problemas temporários. Além disso, suponho que você esteja usando um sistema de arquivos ext para que os arquivos em uso não sejam realmente excluídos até que o que os esteja usando seja feito com eles. Isto deve, portanto, ser perfeitamente seguro. Se isso quebrar alguma coisa, então eu reportaria isso como um bug.

    
por 11.10.2014 / 19:58