É seguro deletar OSX's / private / var / folders / * na reinicialização?

3

Deseja limpar o /private/var/folders/* na inicialização do OS X, criando uma entrada launchd . ( AFAIK , o OS X não suporta o rc.conf rc.d - tudo deve ser feito criando uma entrada para o launchd )

Esta é uma pergunta semelhante . Infelizmente a resposta aceita está errada, porque aqui são daemons (especialmente problemas que dependem da chamada mktemp ) o que poderia rodar e ainda abrir arquivos - então, você não poderia deletar a qualquer hora %código%. (Para ser correto, o "reinício após" sugerido recupera um pouco o problema - mas não inteiramente).

Então, a questão é : é seguro excluir os arquivos no /private/var/folders/* no momento da inicialização ?

(posso imaginar que algum script de instalação que precise ser reinicializado (instalação .kext ou semelhante) poderia usar pastas temporárias para alguns dados de instalação pós-reinicialização - e não quer bloquear meu sistema após uma instalação crítica, excluindo arquivos :) - isso é pura minha especulação - portanto perguntando.

  • Ou a única maneira segura é excluir arquivos com mais de X dias?
  • Ou outra ideia para a limpeza segura mas automática dos arquivos temporários / dirs no /private/var/folders/* porque ela continua crescendo e crescendo ...; (
por jm666 22.03.2015 / 21:13

2 respostas

2

Normalmente, /var/folders deve ser corretamente eliminado e regulado pelo sistema quando necessário. Remover algumas coisas de lá sem saber o que é removido pode causar alguns resultados inesperados e altamente indesejáveis.

Se você está falando sobre a limpeza desta pasta manualmente durante a reinicialização, acho que ela deve ser segura, já que provavelmente não será usada por alguns programas em execução (apenas algumas sobras da última vez). No entanto, você tem razão, é sempre mais seguro para remover arquivos que são 1 dia mais velhos apenas no caso.

Acho bom descobrir como o OS X limpa essa pasta e como invocá-la manualmente, para que seja uma solução melhor.

Veja também:

por 22.03.2015 / 21:56
2

TL; DR : /var/folders contém pastas para caches por usuário e arquivos temporários. Você pode acessar suas próprias pastas, mas não as de outros usuários. A exclusão de arquivos que não estão em uso no momento deve ser segura, mas a exclusão de arquivos em uso provavelmente causará problemas. Se você quiser limpá-los, você deve reiniciar depois, para minimizar a probabilidade de problemas.

Se você não fizer nada, os processos do sistema limparão periodicamente essas pastas de arquivos que não foram acessados por três dias, portanto você não precisa fazer nada, a menos que esteja com pouco armazenamento.

Os detalhes

/var/folders contém principalmente arquivos temporários e arquivos de cache, armazenados por usuário. Se você olhar a raiz de /var/folders , não verá muito:

$ ls -l /var/folders
total 0
drwxr-xr-x   3 root  wheel   102 Mar  2  2014 43/
drwxr-xr-x   3 root  wheel   102 Mar  2  2014 4c/
drwxr-xr-x   3 root  wheel   102 Mar  2  2014 c3/
...

Mas se você olhar um nível abaixo, verá que eles contêm pastas por usuário. Normalmente, cada pasta de nível superior (dois caracteres) contém uma pasta de usuário, mas a pasta "zz" contém muitos usuários do sistema. Por exemplo (nomes de usuário alterados para fins de privacidade):

$ ls -l /var/folders/*
/var/folders/43:
total 0
drwxr-xr-x  6 user1  staff  204 Oct  3  2016 3lsw0k6d7vqbywvsf226nkqc0000gs/

/var/folders/4c:
total 0
drwxr-xr-x  6 user2  staff  204 Jul 15  2016 yc9pgt3j5y18vr29jcgbbyb4000101/

/var/folders/c3:
total 0
drwxr-xr-x  6 user3  staff  204 Aug 16  2016 wv6q5xlx1flgtwcs0rjlkbd4000102/

/var/folders/rp:
total 0
drwxr-xr-x  4 admin  staff  136 Jul  3  2016 qjg8tsk964scvw2510_n6yz00000gt/

/var/folders/yx:
total 0
drwxr-xr-x  4 macports  macports  136 Jul  3  2016 m3d21nm91wnd4c0k2yjk57200000gn/

/var/folders/zz:
total 0
drwxr-xr-x  6 root       wheel      204 Jul  3  2016 zyxvpxvq6csfxvn_n0000000000000/
drwxr-xr-x  3 _networkd  _networkd  102 Jul  3  2016 zyxvpxvq6csfxvn_n000003000000r/
drwxr-xr-x  3 _lp        _lp        102 Jul  3  2016 zyxvpxvq6csfxvn_n000003800000t/
...

Dentro de cada um deles, você encontrará algumas pastas mágicas:

$ ls -l /var/folders/4c/yc9pgt3j5y18vr29jcgbbyb4000101/
total 0
drwxr-xr-x   6 user2  staff   204 Sep  1 10:31 0/
drwx------  53 user2  staff  1802 Jul 28 18:44 C/
drwxr-xr-x   2 user2  staff    68 Jul  3  2016 Cleanup At Startup/
drwx------  83 user2  staff  2822 Sep  1 10:53 T/

A pasta " C " são os caches desse usuário - contendo o que (antes do MacOS X 10.5) teria ido em /Library/Caches . A pasta " T " é dos arquivos temporários desse usuário, substituindo /tmp ou talvez /var/tmp .

Não tenho certeza sobre as outras duas pastas. Cleanup At Startup está vazio. Eu suspeito que sua finalidade é armazenar arquivos que são necessários até o momento de uma reinicialização, mas devem ser removidos posteriormente (por exemplo, arquivos temporários usados pelos atualizadores do sistema) e, portanto, serão apagados após uma reinicialização (ou talvez até mesmo um logout / login ).

A pasta " 0 " contém alguns bancos de dados relacionados à área de trabalho e provavelmente serve como um cache para esses serviços:

$ ls -l /var/folders/4c/yc9pgt3j5y18vr29jcgbbyb4000101/0
total 14104
-rw-------  1 user2  staff  7221248 Sep  1 10:31 com.apple.LaunchServices-1341025.csstore
drwx------  3 user2  staff      102 Jul  3  2016 com.apple.dock.launchpad/
drwx------  3 user2  staff      102 Jul  3  2016 com.apple.notificationcenter/
drwx------  3 user2  staff      102 Sep  1 10:05 com.apple.pluginkit/

Assim, para resumir, cada usuário e usuário virtual tem seu próprio diretório em /var/folders . Você terá acesso a seus próprios, mas não a outros usuários (a menos que você use sudo para acessá-los como root). Eles geralmente contêm caches e arquivos temporários. Como tal, a exclusão do conteúdo pode ou não ser segura, dependendo de os arquivos estarem em uso ou não.

A exclusão de arquivos em que o processo correspondente ainda está em execução pode causar a má conduta ou falha do processo. A exclusão de arquivos em que o processo correspondente não está em execução deve ser segura, mas pode levar a problemas de desempenho quando o processo for reiniciado (uma vez que ele provavelmente irá gerar novamente seus caches e arquivos temporários).

Parece que um processo em segundo plano é executado todas as noites às 3h35 da manhã para limpar essas pastas. Eu não sei a natureza específica da limpeza (ela não parece estar bem documentada), mas o que eu li parece indicar que ela apagará qualquer arquivo que não tenha sido acessado por três dias.

    
por 01.09.2017 / 17:21