Em um sistema incorporado com um espaço em disco muito limitado, tenho a pasta /var/cache/apt
cheia com cerca de 700 MB srcpkgcache.bin.*
e alguns *.bin
arquivos grandes .
A apresentação sudo apt-get clean
não fez uma diferença visível.
É seguro excluir manualmente esses *.bin*
arquivos?
*.bin
arquivos dessa pasta - assumindo que nenhum processo relacionado ao apt esteja em execução no momento. O próximoapt-get update
irá gerar novamente os*.bin
arquivos. Esta questão não é decididamente sobre os arquivos/var/cache/apt/archives
, mas os arquivos/var/cache/apt/*.bin
. Grande diferença. O primeiro pode ser limpo com a emissãoapt-get clean
, o último deve ser removido manualmente. Claramente, os que votaram para encerrar a questão não a leram corretamente. Infelizmente, não posso votar para reabrir depois de conceder parte do meu representante em recompensas.archives
dentro/var/cache/apt/
, este é sobre os*.bin*
arquivos.Respostas:
Na verdade não. Esses arquivos ajudam seu sistema a determinar o que está disponível e o que não está. Esvaziar esse diretório resultará em um sistema apt-get quebrado. Aqui estão algumas dicas.
Primeiro, limpeza automática
adicione um
até o final de
/etc/apt/apt.conf
. Isso fará com que os processos apt e dpkg demorem mais, mas fará com que seu diretório de cache esteja sempre limpo.Em seguida, remova arquivos
Comece removendo e desativando todos os arquivos de origem (que você não está usando). Em um sistema incorporado, você provavelmente não precisa deles. Em seguida, remova todos os arquivos que não estão em uso. Você pode executar
apt-cache policy
para descobrir de que repositório está vindo um pacote, se não tiver certeza.Mais Remoção de arquivos
Alguns PPAs ficam horrorizados por ter um grande número de pacotes quando você precisa apenas de 1 ou 2. Tente desabilitar esses PPAs e apenas instalar os arquivos deb manualmente. Você economiza espaço nesses casos, mas perde a atualização automática. Lembre-se de que o dpkg manipulará dependências; portanto, você ainda pode instalar o item com toneladas de deps.deb e executar
apt-get -f install
para buscar as dependências.Resposta totalmente extrema 1
Como se tratava de um sistema embarcado, 90% dos principais repositórios não são bons para você. Para lidar com isso, você pode executar seu próprio servidor de repositório apt-get Veja este link . Não é fácil, e é um PIA para apenas uma máquina. Mas se você tiver várias dessas máquinas, vale totalmente a pena. (O seu servidor de repositório pode hospedar apenas um subconjunto de pacotes que você realmente usa. Você não precisa espelhar a coisa toda)
Resposta totalmente extrema 2
Se o espaço é realmente grande demais, é possível desativar o apt todos juntos e reverter para a instalação manual via dpkg. Eu tive que fazer isso em vários sistemas embarcados. Funciona, mas é um pesadelo para administradores.
fonte
*.bin
arquivos? Qualquer execuçãoapt-get update
regenera esses arquivos do zero (testado). Por exemplo, meu caso de uso é que quero criar modelos de contêiner LXC e reduzir o máximo possível o arquivo morto. Não vejo razão para não ser seguro. E sua resposta não indica um motivo, apenas afirma que não é seguro. Testou que é perfeitamente seguro no Ubuntu 14.04.apt-cache clean
uma chamada no dpkg resultará em um cache mais limpo, mas o usuário dizapt-cache clean
que não limpou nada para eles. Além disso, sua resposta está totalmente errada, pois o dpkg não usa/var/cache/apt/*
conteúdo para se informar sobre as estatísticas do pacote.clean
como * clean limpa o repositório local de arquivos de pacotes recuperados. Ele remove tudo, exceto o arquivo de bloqueio de / var / cache / apt / archives / e /var/cache/apt/archives/partial/.* Se for perigoso, não haverá essa função para limpar.É claro que você pode excluir
pkgcache.bin
esrcpkgcache.bin
nada acontece. Basta correrapt-get update
para recriá-los.fonte
.deb
arquivos?Mantenha o
pkgcache.bin
esrcpkgcache.bin
, você pode excluir com segurança os outros. Não toque nos diretórios!fonte
*bin.*
arquivos para uma pasta de backup. No entanto, por que o apt-get gerencia o cache dentro dele ? Um diretório de cache deve ser um armazenamento temporário por natureza.É claro que você pode criar um compartilhamento NFS (sistema de arquivos de rede) para isso. Deixe esses arquivos em um servidor e monte o compartilhamento somente quando desejar atualizar / instalar pacotes. Em ambientes incorporados, a instalação geralmente será relativamente estática de qualquer maneira.
O sshfs é outra boa opção, é muito mais fácil de configurar (basicamente requer apenas SSH, que é padrão), mas possui mais sobrecarga (mais lenta).
fonte