por que a pasta/winsxs cresce tanto e pode ser menor?
<p>uma máquina virtual do vista que eu uso só tem um disco rígido virtual de 10 gb - e estou preocupado com a falta de espaço ao longo do tempo.</p><p>eu usei <a href="http://www.jam-software.com/treesize\_free/">treesize</a> para verificar os culpados ..</p><p><img src="https://i.stack.imgur.com/ugfhq.png" alt="enter image description here"></p><p>e o principal culpado é que a pasta<strong> <code>/winsxs</code> ou &quot;windows side-by-side&quot; </strong>.</p><p><img src="https://i.stack.imgur.com/dwyoo.png" alt="enter image description here"></p><p>o que é a pasta windows side by side? bem, isso é <a href="http://blogs.technet.com/askcore/archive/2008/09/17/what-is-the-winsxs-directory-in-windows-2008-and-windows-vista-and-why-is-it-so-large.aspx">explicou muito bem aqui</a> .</p><blockquote> <p>todos os componentes no sistema operacional são encontrados na pasta winsxs - na verdade, chamamos esse local de armazenamento de componentes. cada componente tem um nome exclusivo que inclui a versão, a linguagem e a arquitetura do processador para o qual foi construído. a pasta winsxs é o único local em que o componente é encontrado no sistema, todas as outras instâncias dos arquivos que você vê no sistema são &ldquo;projetadas” pelo link físico do armazenamento de componentes. deixe-me repetir esse último ponto - há apenas uma instância (ou cópia de dados completa) de cada versão de cada arquivo no sistema operacional, e essa instância está localizada na pasta winsxs. assim, a partir dessa perspectiva, a pasta winsxs é realmente a totalidade do sistema operacional inteiro, conhecido como &quot;plano&quot; em sistemas operacionais de baixo nível. isso também explica por que você não receberá mais solicitações de mídia ao executar operações como o verificador de arquivos do sistema (sfc) ou ao instalar recursos e funções adicionais.</p> <p>isso explica por que a pasta começa grande, mas não porque fica maior com o tempo - a resposta para essa pergunta é a manutenção. nas versões anteriores do windows, a unidade atômica de serviço era o arquivo; no windows vista, era o componente. quando atualizamos um binário específico, lançamos uma nova versão de todo o componente e essa nova versão é armazenada junto com a versão original no armazenamento de componentes. a versão superior do componente é projetada no sistema, mas a versão mais antiga na loja não é tocada. a razão para isso é a terceira parte do motivo pelo qual a loja de componentes fica tão grande.</p> </blockquote><p>muitas outras pessoas <a href="http://blog.tiensivu.com/aaron/archives/1306-demystifying-the-winsxs-directory-in-windows-xp,-vista-and-server-20032008.html">reclamando sobre o tamanho da pasta/winsxs, também</a> :</p><blockquote> <p>recentemente, um colega de trabalho recebeu sua atualização a cada dois anos e estava no meio do carregamento de seu novo laptop com o vista. por alguma razão, seu disco rígido c: foi particionado em apenas 25gb e o restante do espaço reservado para uma unidade muito maior d :.</p> <p>de qualquer forma, depois de carregar muitas atualizações do windows, ele ficou com quase nenhum espaço em disco deixado em c :, e por algum motivo, o diretório winsxs tinha aumentado para mais de 8 gb.</p> <p>embora eu soubesse qual era o diretório do winsxs (windows side-by-side), eu não sabia exatamente por que esse diretório explodiria em tamanho tão rápido com as atualizações normais do sistema operacional.</p> </blockquote><p>eu realmente não me importo em ter todos esses arquivos duplicados por segurança, mas eu <em>do</em>me importo com o vm explodindo devido a um erro de falta de espaço em disco. então ...<strong> can/winsxs be seguramente reduzido de alguma forma? </strong> <a href="http://blogs.msdn.com/jonwis/archive/2007/01/02/deleting-from-the-winsxs-directory.aspx">não parece que pode ser</a> ..</p><blockquote> <p><strong> os administradores não devem, por qualquer motivo, tomar conta de si mesmos para limpar o diretório/winsxs </strong>- isso pode impedir que o windows update eo msi funcionem corretamente depois. evitar a exclusão acidental do diretório é realizado colocando um descritor de segurança forte no diretório que herda para seus filhos.</p> </blockquote><p>se esta pasta/winsxs ficar maior, terei que refazer a imagem desta máquina virtual .. o que eu <em>realmente</em>não quero fazer!</p>
<p>parece que <a href="http://blogs.technet.com/b/askcore/archive/2014/03/06/what-s-new-in-windows-servicing-part-1.aspx">há finalmente uma maneira de fazer isso</a> in<strong> windows 8.1 service pack 1 e windows server 2012 r2 </strong>.</p><p>ferramenta de análise de loja de componentes:</p><p><code>dism.exe /online /cleanup-image /analyzecomponentstore</code></p><p>no final da varredura, o usuário obtém um relatório dos resultados (tamanho real da pasta winsxs) assim:</p><p><img src="https://i.stack.imgur.com/a6f1d.png" alt="analyzecomponentstore results"></p><p>limpeza de loja de componentes:</p><blockquote> <p>hoje, a limpeza de repositório de componentes deve ser acionada manualmente por um usuário final, seja executando o dism ou usando o assistente de limpeza de disco. para tornar a limpeza de repositório de componentes mais útil para o usuário final médio, ela será adicionada a uma tarefa de manutenção, economizando automaticamente espaço em disco para os usuários finais. para habilitar isso, uma alteração será feita para permitir a desinstalação de drivers de caixa de entrada substituídos sem exigir uma reinicialização (hoje, todas as instalações/desinstalações de driver feitas pela cbs exigem uma reinicialização).</p> </blockquote><ol> <li> <p><code>dism.exe /online /cleanup-image /startcomponentcleanup</code></p> </li> <li> <p>ferramenta de limpeza de disco, botão limpar arquivos do sistema.</p> <p><img src="https://i.stack.imgur.com/ifzjd.png" alt="disk cleanup tool"></p> </li> <li> <p><code>schtasks.exe /run /tn "\microsoft\windows\servicing\startcomponentcleanup"</code></p> </li> </ol>
<p>se você está procurando um bom artigo, recomendo</p><p> <a href="http://icrontic.com/articles/how\_ssds\_work/2">como e por que os ssds</a> por robert hallock</p><p>vinculei a página 2, que contém a parte que discute o cluster e o tamanho do bloco.</p><blockquote> <p>[...] a solução para o problema é aumentar o tamanho do cluster, para o qual existem várias vantagens:</p> <ul> <li>complexidade reduzida do sistema de arquivos; menos clusters significa menos para organizar.</li> <li>maior velocidade de leitura e gravação à medida que o tamanho do cluster se aproxima da paridade com o tamanho do bloco.</li> <li>diminuição do espaço livre se o sistema for composto principalmente de arquivos grandes.</li> </ul> <p>no entanto, o aumento do tamanho do cluster não é um item mágico para os discos de estado sólido, pois a maioria das pessoas tem uma mistura de informações. os jogos geralmente contêm uma infinidade de arquivos pequenos e os sistemas operacionais são a soma de arquivos pequenos quase como regra; no entanto, filmes, músicas, arquivos e mmos são candidatos perfeitos para tamanhos de cluster ampliados. mais frustrante do que a âncora de pequenos clusters é o processo complicado de obter clusters maiores nos modernos sistemas operacionais windows. tal feito requer o uso premeditado de programas como o acronis disk director, que podem aumentar o tamanho do cluster antes da instalação do windows. também é possível redimensionar os clusters existentes, mas esse procedimento é realizado com um grau assustadoramente variado de sucesso.</p> </blockquote> Você já viu WiX ainda?


<http://wix.sourceforge.net/>


Ele constrói instaladores do Windows usando um arquivo XML e tem bibliotecas adicionais para usar se você quiser fancify seus instaladores e afins. Eu vou admitir a curva de aprendizagem para mim foi médio-alto em conseguir as coisas começaram, mas depois eu fui capaz de construir uma segunda instalador sem quaisquer dificuldades.


Ele vai lidar com atualizações e outros itens, se assim desejar, e você pode aplicar permissões de pasta e similares para os instaladores. Ela também lhe dá maior controle sobre onde exatamente você quer instalar arquivos e é compatível com todas as convenções da pasta do Windows padronizados, para que você possa especificar "PROGRAM\_DATA" ou algo nesse sentido eo instalador sabe para colocá-lo em C: \ Documents and Settings \ All Users \ Application Data ou C: \ ProgramData dependendo se você está rodando o XP ou Vista.


O boato é que o Office 2007 e Visual Studio 2008 usado WiX para criar o seu instalador, mas eu não tenho sido capaz de verificar que em qualquer lugar. Eu acredito que está é desenvolvido por algumas pessoas da Microsoft no interior. <h2>pontos de restauração do sistema</h2><p>um sistema windows cria <a href="http://www.microsoft.com/windowsxp/using/helpandsupport/learnmore/systemrestore.mspx"><strong> pontos de restauração do sistema </strong></a> e a configuração padrão permite que muito espaço seja reservado para esses pontos de restauração. quando você sabe que o sistema não vai precisar de 'desinstalações' (ou seja, tudo que você instalou recentemente está funcionando bem), você pode excluir tudo, exceto o ponto de restauração mais recente.</p><p>isso pode ser feito a partir de</p><ul> <li>a opção "<strong> liberar espaço no disco rígido </strong>" em <ul> <li><strong> painel de controle </strong>, <ul> <li><strong> desempenho e manutenção </strong></li> </ul> </li> </ul> </li> </ul><p>é <a href="http://support.microsoft.com/kb/310312">bastante profundo</a> e geralmente esquecido.</p><hr><h2>lixeira de reciclagem</h2><p>a <a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/win\_waste\_space\_for\_deleted\_files.mspx?mfr=true"><strong> lixeira </strong></a> geralmente assume o padrão <strong> <code>10%</code> </strong> de sua partição de disco (para cada partição).<br> para uma unidade de 100 gb, isso se torna 10 gb reservados para a lixeira.</p><ul> <li>você pode <strong> reduzir o padrão </strong> para um valor inferior mais útil para sua configuração</li> <li>você também pode escolher <strong> configurar o armazenamento de reciclagem individualmente para cada partição </strong></li> </ul><p>eu também uso este atalho para limpar a lixeira de vez em quando,</p><pre><code>%windir%\system32\cleanmgr.exe /d </code></pre><hr><h2>desinstalar pastas</h2><p> <a href="http://news.cnet.com/8301-13880\_3-9862223-68.html"><strong> excluindo pastas de desinstalação </strong></a> .<br> já mencionado em outra resposta aqui.<br> existe um <a href="http://www.astahost.com/info.php/remove-windows-update-uninstall-information\_t19170.html">referência de script aqui</a> .</p><blockquote> <p>testado em windows xp, requer wscript e vbscript (que seria com a maioria dos sistemas operacionais windows)</p> </blockquote><hr><h2>revouninstaller</h2><p> <a href="http://www.revouninstaller.com/"><strong> revouninstaller </strong></a> é um bom freeware para limpar arquivos perdidos deixados por desinstalações de aplicativos. ele faz uma varredura bem organizada em busca de arquivos remanescentes de uma desinstalação tosca.<br> também gosto de <strong> ccleaner </strong> mencionado em outra resposta aqui.</p> <p>tente <a href="http://macupdate.com">macupdate</a> , <a href="http://mac.softpedia.com/">softpedia</a> e <a href="http://mac.brothersoft.com">brothersoft</a> . procure por merge folder.</p><h3> <a href="http://mac.softpedia.com/get/system-utilities/folder-merge.shtml">pasta mesclada</a> </h3><blockquote> <p>utilitário de software pequeno que mesclará o conteúdo da pasta</p> <p>por padrão, o osx não mescla o conteúdo da pasta, portanto, essa é uma ferramenta gráfica simples para fazer exatamente isso.</p> <p>se você simplesmente quiser mesclar os arquivos localizados em duas pastas separadas, poderá fazer isso facilmente com a mesclagem de pastas.</p> </blockquote><hr><h3> <a href="http://alan.petitepomme.net/unison/index.html">níssono</a> </h3><p>isso é de graça.</p><blockquote> <p>unison é uma ferramenta de sincronização de arquivos para unix e windows. ele permite que duas réplicas de uma coleção de arquivos e diretórios sejam armazenadas em diferentes hosts (ou discos diferentes no mesmo host), modificadas separadamente e, depois, atualizadas pela propagação das alterações em cada réplica para a outra.</p> </blockquote> é natural que com o tempo o sistema operacional passe a consumir mais recursos. isso acontece principalmente por dois motivos:

arquivos temporários & cache são acumulados com o tempo;

muitos pacotes (e serviços) posteriormente instalados que consomem mais memória e mais processamento, consecutivam… <p>para suportar mais de 4 gb de memória windows usa <a href="http://en.wikipedia.org/wiki/physical\_address\_extension">extensão de endereço físico</a> (pae). ele usa tabelas de paginação para mapear a memória maior que 4 gb. ao fazer isso, o tamanho do endereço físico é aumentado para 36 bits, ou 64 gb. pae é usado em sistema operacional de 64 bits também; neste caso, o tamanho máximo é dobrado para 128 gb.</p><p>este método significa que cada processo ainda está limitado a um máximo de 4 gb de memória.</p> <p>você pode mover a pasta c:\users inteira para uma unidade diferente com bastante facilidade após a instalação do windows:</p><p><strong> aviso: isso pode causar problemas se/quando você precisar executar uma restauração do sistema </strong></p><ol> <li>inicialize na mídia de instalação e acesse o prompt de comando ( <a href="http://www.sevenforums.com/tutorials/682-command-prompt-startup.html">pressione shift + f10 na caixa de diálogo de instalação</a> )</li> <li>use robocopy para copiar c:\users para d:\users: <code>robocopy c:\users d:\users /mir /xj /copyall</code><br> uma. <code>/mir</code> diz ao robocopy para espelhar os diretórios, isso copiará todos os arquivos<br> b. <code>/xj</code> é muito importante, isto diz à robocopy para não seguir os pontos de junção. se você esquecer isso, terá muitos problemas.<br> c. <code>/copyall</code> copiará todos os atributos, incluindo informações da acl e do proprietário</li> <li>verifique se os arquivos copiados com sucesso</li> <li>excluir c:\usuários</li> <li>crie uma junção que aponte para d:\users: <code>mklink c:\users d:\users /j</code></li> </ol><p>é isso aí. eu tenho usado esse processo desde que o vista foi rtm sem problemas.</p><p>aqui está um <a href="http://caskater4.blogspot.com/2007/09/moving-your-data-where-you-want-in.html">artigo</a> que também explica. basta usar robocopy em vez de xcopy, como ele faz no artigo, para evitar possíveis problemas de permissões de ntfs.</p><p>atualização: como descobri da maneira mais difícil, pensei em mencionar também que, se você planeja mover "dados do programa" ou "arquivos de programa" com esse método, ficará desapontado ao descobrir que tudo funciona como esperado , mas as atualizações do windows não serão mais instaladas. não tenho certeza se isso foi corrigido no win 7.</p><p>atualização 2: @benjol possui um <a href="http://benjol.blogspot.com/2009/05/moving-users-folder-in-vista.html">postagem no blog</a> que detalha um método de mover a pasta profiles que recriará as junções que esse método deixa de fora. se você tiver algum problema com aplicativos herdados, dê uma olhada aqui e veja se o método dele resolve o problema.</p> <p>um sistema unix consiste em várias partes ou camadas, como eu gostaria de chamá-las.</p><p>para iniciar um sistema, um programa chamado carregador de inicialização fica no primeiro setor de uma partição do disco rígido. ele é iniciado pelo sistema e, por sua vez, localiza o kernel do sistema operacional e carrega-o.</p><p><strong> camadas </strong></p><ol> <li> <p>o kernel. este é o programa central iniciado pelo gerenciador de inicialização. ele faz a interação básica de hardware do sistema (disco, memória, vídeo, som) e oferece um ambiente virtual no qual ele pode iniciar programas. o kernel também envia todos os drivers que lidam com todas as pequenas diferenças entre os dispositivos de hardware. para o mundo exterior (as camadas mais altas), cada classe de dispositivos parece se comportar exatamente da mesma maneira consistente - a qual, por sua vez, os programas podem desenvolver.</p> </li> <li> <p>subsistemas em segundo plano. existem apenas programas regulares, que ficam fora do seu caminho. eles lidam com coisas como login remoto, fornecem um barramento central de mensagens e executam ações com base em eventos de hardware/rede. por exemplo, descoberta bluetooth, gerenciamento wifi, etc. quaisquer serviços de rede (servidor de arquivos, servidor de impressão, servidor web) também vivem nesse nível. nos sistemas unix, esses são apenas programas normais.</p> </li> <li> <p>as ferramentas de linha de comando. todos esses são pequenos programas que podem ser iniciados para edição de texto, download de arquivos ou administração do sistema. neste ponto, um sistema unix é totalmente utilizável para administradores de sistema. no windows, essa camada realmente não existe mais.</p> </li> <li> <p>a interface gráfica do usuário. estes também são apenas programas, a única diferença é que eles desenham janelas na tela em vez de escrever texto. isso facilita o uso do sistema para usuários regulares.</p> </li> </ol><p>qualquer serviço ou evento passará de baixo para cima.</p><p><strong> bibliotecas - a plataforma comum </strong></p><p>os programas fazem muitas coisas comuns, como exibir uma janela, desenhar coisas na tela ou baixar um arquivo. essas coisas são as mesmas para vários programas, portanto, esse código é colocado em arquivos "biblioteca" separados (arquivos <code>.so</code> - significando objeto compartilhado). a biblioteca pode ser compartilhada entre todos os programas.</p><p>para cada coisa imaginável, há uma biblioteca. existe um para ler/gravar arquivos png. há um para arquivos jpeg, para leitura de xml, criptografia, reprodução de vídeo e assim por diante.</p><p>no linux, as bibliotecas comuns para desenvolvedores de aplicativos são qt e gtk. essas bibliotecas usam bibliotecas de nível inferior internamente para suas necessidades específicas, enquanto expõem sua funcionalidade de uma maneira agradável e consistente e concisa para que os desenvolvedores de aplicativos criem aplicativos ainda mais rapidamente.</p><p>as bibliotecas fornecem a plataforma de aplicativos, na qual os programadores podem criar aplicativos de usuário final para um sistema operacional. quanto mais bibliotecas de alta qualidade um sistema fornece, menos código um programador precisa escrever para criar um programa bonito.</p><p>algumas bibliotecas podem ser usadas em diferentes sistemas operacionais (por exemplo, qt é), outras são realmente especificamente vinculadas a um sistema operacional. isso restringirá seu programa para poder executar apenas nessa plataforma.</p><p><strong> comunicação entre processos </strong></p><p>um terceiro componente de um sistema operacional é a maneira como os programas podem se comunicar. estes são os mecanismos de comunicação entre processos (ipc). estes existem em vários sabores, p. um pedaço de memória compartilhada ou um pequeno canal é configurado entre dois programas para trocar dados. há também um barramento de mensagens central no qual cada programa pode postar uma mensagem e receber uma resposta. isso é usado para comunicação global, onde não se sabe qual programa pode responder.</p><p><strong> das bibliotecas aos sistemas operacionais </strong></p><p>com bibliotecas, ipc e o kernel instalado, os programadores podem criar todos os tipos de aplicativos para serviços do sistema, administração de usuários, configuração, administração, trabalho de escritório, entretenimento, etc.) isso forma o conjunto completo que usuários iniciantes reconhecem como o "sistema operacional".</p><p>nos sistemas unix/linux, todos os serviços são apenas programas. todas as ferramentas de administração do sistema são apenas programas. todos eles fazem o seu trabalho e podem ser encadeados. resumi muitos dos principais programas em <a href="http://codingdomain.com/linux/sysadmin/">http://codingdomain.com/linux/sysadmin/</a> </p><hr><p><strong> peças distinguíveis com o windows </strong></p><p>o unix é principalmente um sistema de programas, arquivos e permissões restritas. muitas complexidades são evitadas, tornando-o um sistema poderoso, embora pareça fácil.</p><p>em detalhes, estes são os princípios que podem ser encontrados nos sistemas unix/linux:</p><ul> <li> <p>existem maneiras uniformes de acessar informações. ("tudo é apenas um arquivo"). você pode abrir um arquivo, soquete de rede, ipc, parâmetros do kernel e bloquear um dispositivo como um arquivo. daí a aparência dos sistemas de arquivos virtuais em/dev,/sys e/proc. a única api você precisa sempre de <code>open</code>, <code>read</code> e <code>close</code>.</p> </li> <li> <p>o sistema subjacente é transparente. todo programa opera sob as mesmas regras. ao contrário do windows, não há diferença artificial entre um "programa de console", "programa gui" ou "serviço em segundo plano". são todos apenas programas, que fazem coisas diferentes. todos eles também podem ser observados, analisados ​​e depurados da mesma maneira.</p> </li> <li> <p>as configurações são legíveis, editáveis ​​e podem ser anotadas com comentários. eles geralmente têm um formato no estilo ini, mas podem usar um formato personalizado para as necessidades desse aplicativo. por serem apenas arquivos, eles podem ser copiados para outros sistemas, arquivados ou armazenados em backup com ferramentas padrão.</p> </li> <li> <p>não existem aplicativos grandes "faça tudo de uma vez". o mantra é "faça uma coisa, faça bem". as ferramentas de linha de comando podem ser encadeadas e, juntas, poderosas. serviços separados (por exemplo, smtp, imap e pop e login) são subprogramas separados, evitando problemas complexos de código e segurança entrelaçados. ambientes de desktop complexos delegam trabalho duro a programas individuais.</p> </li> <li> <p><code>fork()</code>. novos programas são iniciados por um programa existente que é clonado. o clone configura tudo (por exemplo, identificadores de arquivo) e, opcionalmente, se substitui pelo novo código do programa. isso torna muito fácil aplicar as mesmas configurações e restrições de segurança a novos programas, compartilhar memória ou configurar um mecanismo ipc. o custo de iniciar um processo também é muito baixo.</p> </li> <li> <p>o sistema de arquivos é uma árvore, na qual outras partições de disco e compartilhamentos de rede podem ser montados. novamente, existe uma maneira universal de acessar dados. locais comuns do sistema (por exemplo, <code>/usr</code> podem ser facilmente montados como compartilhamento de rede.</p> </li> <li> <p>o sistema é construído para privilégios baixos do usuário. após o login, todos os usuários (exceto root) ficam confinados em seus próprios recursos, executando apenas aplicativos e arquivos. os serviços de rede reduzem seus privilégios o mais rápido possível. existe uma maneira clara e clara de obter mais privilégios ou pedir a alguém para executar um trabalho privilegiado em seu nome. todas as outras chamadas são limitadas pelas restrições e limitações do programa.</p> </li> <li> <p>todo programa armazena configurações em um arquivo/pasta oculto do diretório inicial do usuário. nenhum programa tenta gravar um arquivo de configuração global.</p> </li> <li> <p>um favor em relação aos mecanismos de comunicação descritos abertamente sobre mecanismos secretos ou mecanismos 1-para-1 específicos. outros fornecedores e desenvolvedores de software são incentivados a seguir a mesma especificação, para que as coisas possam ser facilmente conectadas, trocadas e, no entanto, permanecerem fracamente acopladas.</p> </li> </ul> <p>para encontrar os 10 maiores arquivos (linux/bash):</p><p><code>find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -i{} du -sh {}</code></p><p>para encontrar os 10 maiores diretórios:</p><p><code>find . -type d -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -i{} du -sh {}</code></p><p>a única diferença é <code>-type {d:f}</code>.</p><p>manipula arquivos com espaços nos nomes e produz tamanhos de arquivos legíveis por humanos na saída. maior arquivo listado por último. o argumento a seguir é o número de resultados que você vê (aqui os 10 maiores).</p><p>existem duas técnicas usadas para manipular espaços em nomes de arquivos. o <code>find -print0 | xargs -0</code> usa delimitadores nulos em vez de espaços, e o segundo <code>xargs -i{}</code> usa novas linhas ao invés de espaços para finalizar itens de entrada.</p><p>exemplo:</p><pre><code>$ find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -i{} du -sh {} 76m ./snapshots/projects/weekly.1/onthisday/onthisday.tar.gz 76m ./snapshots/projects/weekly.2/onthisday/onthisday.tar.gz 76m ./snapshots/projects/weekly.3/onthisday/onthisday.tar.gz 76m ./tmp/projects/onthisday/onthisday.tar.gz 114m ./dropbox/snapshots/weekly.tgz 114m ./dropbox/snapshots/daily.tgz 114m ./dropbox/snapshots/monthly.tgz 117m ./calibre library/robert martin/cc.mobi 159m ./.local/share/trash/files/funky chicken.mpg 346m ./downloads/the walking dead s02e02 ... (dutch subs nl).avi </code></pre> <p><code>logrotate</code> foi uma boa ideia.</p><p>como qualquer arquivo regular, wtmp poderia ser "esparso" (cf. lseek (2) "buracos" e <code>ls -s</code>) que pode mostrar um tamanho de arquivo extremo que realmente ocupa pouco disco. como o buraco foi parar lá, se era um buraco? <code>getty(8)</code> e amigos podem ter tido um bug. ou uma falha do sistema e reparo do fsck podem ter causado isso.</p><p>se você está procurando ver o conteúdo bruto de wtmp, <code>od</code> ou <code>hd</code> são bons para dar uma olhada nos binários e têm o feliz efeito colateral de mostrar longas execuções de vazio como tal.</p><p>a menos que ocorra novamente, eu não pensaria muito mais nisso. um intruso marginalmente competente faria um trabalho melhor do que isso, os conteúdos não são tão interessantes e pouco depende deles.</p>