Remova a documentação para economizar espaço no disco rígido

58

Eu gosto de criar uma instalação pequena do Ubuntu em uma máquina Virtual Box. Basicamente, ele deve fornecer apenas o TeX Live e ferramentas relacionadas. Imaginei agora que tenho quase 1 GB de dados abaixo /usr/share/doc. Não preciso dessa documentação neste caso, apenas as manpáginas relacionadas ao LaTeX , que não estão localizadas lá.

Existe uma maneira de desinstalar todos esses arquivos de documentação usando apt-get?
Como alternativa, é razoável salvar apenas excluir o conteúdo de /usr/share/doc?
Gosto de compartilhar a máquina do Virtual Box com outras pessoas, que não devem ter problemas.

Martin Scharrer
fonte
A mesma pergunta para o Debian unix.stackexchange.com/questions/180400/…
user7610
A resposta de Denilson resolve esse problema sem levar um martelo. Apenas desinstale os pacotes de documentos.
Zaz

Respostas:

36

De acordo com o wiki do Ubuntu , você pode instruir dpkgpara não instalar nenhuma documentação. Isso deve impedir que qualquer documentação (exceto informações sobre direitos autorais) seja instalada pelo apt.

Crie um arquivo /etc/dpkg/dpkg.cfg.d/01_nodocque especifique os filtros desejados. Exemplo:

path-exclude /usr/share/doc/*
# we need to keep copyright files for legal reasons
path-include /usr/share/doc/*/copyright
# if you also want to remove the man pages uncomment the next line
#path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*

Em seguida, você pode remover manualmente qualquer documentação já instalada:

find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true
find /usr/share/doc -empty|xargs rmdir || true
rm -rf /usr/share/groff/* /usr/share/info/*
rm -rf /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*

Se você também deseja remover as páginas de manual, faça:

rm -rf /usr/share/man/*

O exemplo foi escrito para OEMs, mas funcionou tão bem para mim. Reduzi meu /usr/share/doc/diretório de ~ 150MB para ~ 20MB.

Andrew Ensley
fonte
Eu tive que recriar uma dessas pastas para que a recomendação de eliminação @ denilson-sá funcionasse. Especificamente: mkdir /usr/share/info.
AT
3
Em uma máquina local, você também pode excluir os arquivos de direitos autorais, o que salvará outros ~ 50 MB. Comente esta linha como:# path-include /usr/share/doc/*/copyright
rubo77
11
A primeira linha (mais a exclusão dos direitos autorais) me deixou com 37 MB no dia 13.04. Há muitos arquivos com links simbólicos perdidos pela descoberta. Isso ajuda, 5MB: find /usr/share/doc | egrep "\.gz" | xargs rm. Isto deixa cair o tamanho até 26 MB: find /usr/share/doc | egrep "\.pdf$" | xargs rm. Para baixo para 21 MB: find /usr/share/doc | egrep "\.tex$" | xargs rm. Existem muitos outros arquivos deixados para trás.
21415 ahcox
@ AT, os comandos na minha resposta não são removidos /usr/share/info; apenas o seu conteúdo. O diretório ainda deve estar lá após executá-los.
Andrew Ensley
11
Não recomendo esta etapa por alguns MBs. Eu fiz e meu sistema foi quebrado. Por exemplo, o Virtualbox verifica a instalação, verificando se /usr/share/doc/virtualboxexiste um diretório .. Criou o diretório e tudo funcionou bem. Levei cerca de 2 dias para descobrir isso. Fale sobre a troca espaço-tempo!
precisa
31

Isso deve remover a documentação dos pacotes relacionados ao látex:

sudo apt-get --purge remove tex.\*-doc$

Ele economiza algumas centenas de MB.

mopagemo
fonte
8
Isso parece remover meu texlive-fullpacote também.
joar
5
@joar Isso é intencional. texlive-cheia é um metapackage que reúne todas as dependências, incluindo a documentação
nealmcb
11
@nealmcb, mas o autoremove removerá todos os seus pacotes tex. Mais detalhadamente: se você instalou o tex através do texlive-full e remova os pacotes de documentos, o texlive-full desaparecerá. Da próxima vez que você executar apt-get autoremove, todos os seus pacotes tex também desaparecerão, porque a única razão pela qual eles estavam lá é porque dependiam do texlive-full, que não existe mais.
isarandi
@isarandi Se você usou o texlive-full para instalação, isso parece um bom argumento. Mais algumas refs: proposta de 2017 para dividir os documentos: bugs.debian.org/cgi-bin/bugreport.cgi?bug=877862 e mais dados sobre tamanhos: reddit.com/r/LaTeX/comments/2naxke/why_is_texlive_so_large
nealmcb
14

Maneira rápida e suja de encontrar os pacotes texlive instalados (tenho 100% de certeza de que existem outras maneiras):

dpkg -l | grep '^ii.*texlive.*doc'

E removê-los:

apt-get remove --purge \
  texlive-fonts-recommended-doc texlive-latex-base-doc texlive-latex-extra-doc \
  texlive-latex-recommended-doc texlive-pictures-doc texlive-pstricks-doc
Denilson Sá Maia
fonte
3
Isso também remove texlive-fullno Ubuntu 16.04.
Jus12
6
texlive-fullé um metapacote que extrai todas as dependências, incluindo a documentação.
Denilson Sá Maia
Esta é a melhor e a mais fácil resposta.
shivams
3

Você sabe o que está ocupando todo esse espaço? Meu /usr/share/docé apenas ~ 50MB. Caso contrário, use o aplicativo Disk Analyzer ou vá para o terminal e execute cd /usr/share/doc; então corra du -h -d 1para descobrir o que está usando todo esse espaço. Depois de saber qual programa ou programa é o problema, você pode decidir se deve remover os diretórios /usr/share/docou não.

notkevin
fonte
Eu não sabia que os nomes de diretório abaixo /usr/share/docsão os nomes dos pacotes. Pelo menos alguns deles parecem ser verdade. Eu usei du -sc * | sort -nno /usr/share/doc. A maior parte do espaço foi retirada dos arquivos de documentação do TeX Live 2009, que eu não quero, porque tenho os do TL 2011 instalados manualmente. Obrigado, embora eu ainda goste de ver se há uma maneira de saber apt-getcomo obter a maioria da documentação, esta solução funcionou bem para este caso.
Martin Scharrer
11
E para aqueles que não estão confortáveis ​​com du: você pode usar o Baobab para analisar o uso do disco. Embora um não precisa executá-lo como root (sudo baobá) para indexar o conteúdo de /
Vistaus
0

é razoavelmente seguro excluir apenas o conteúdo de /usr/share/doc?

Se você fizer isso, os arquivos serão reinstalados quando qualquer um dos pacotes for atualizado. Em vez disso, você deve remover os pacotes de documentação relevantes, que frequentemente (mas nem sempre) terminam-doc .

Caracol mecânico
fonte