Eliminar la documentación para ahorrar espacio en el disco duro

57

Me gusta crear una instalación de Ubuntu bastante pequeña en una máquina Virtual Box. Básicamente, solo debe proporcionar TeX Live y herramientas relacionadas. Pensé que ahora tengo casi 1 GB de datos debajo /usr/share/doc. No necesito esta documentación en este caso, solo las manpáginas relacionadas con LaTeX , que no se encuentran allí.

¿Hay alguna manera de desinstalar todos estos archivos de documentación usando apt-get?
Alternativamente, ¿es razonable guardar simplemente eliminar el contenido de /usr/share/doc?
Me gusta compartir la máquina Virtual Box con otras personas, que no deberían tener problemas.

Martin Scharrer
fuente
La misma pregunta para Debian unix.stackexchange.com/questions/180400/…
user7610
La respuesta de Denilson resuelve este problema sin tomar un martillo. Simplemente desinstale los paquetes de documentación.
Zaz

Respuestas:

36

De acuerdo con el wiki de Ubuntu , puede indicar que dpkgno instale ninguna documentación. Esto debería evitar que apt instale cualquier documentación (excepto la información de copyright).

Cree un archivo /etc/dpkg/dpkg.cfg.d/01_nodocque especifique los filtros deseados. Ejemplo:

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/*

Luego puede eliminar manualmente cualquier documentación ya 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/*

Si también desea eliminar las páginas man, haga lo siguiente:

rm -rf /usr/share/man/*

El ejemplo está escrito para OEM, pero funcionó igual de bien para mí. Tomé mi /usr/share/doc/directorio de ~ 150MB a ~ 20MB.

Andrew Ensley
fuente
Tuve que recrear una de esas carpetas para obtener la recomendación de purga @ denilson-sá para trabajar. Específicamente: mkdir /usr/share/info.
AL
3
En una máquina local, también puede eliminar los archivos de derechos de autor, lo que ahorrará otros ~ 50 MB. Comenta esta línea como:# path-include /usr/share/doc/*/copyright
rubo77
1
La primera línea (más la eliminación de derechos de autor) me dejó con 37 MB en 13.04. Hay muchos archivos con enlaces simbólicos que el hallazgo pierde. Esto ayuda por 5 MB: find /usr/share/doc | egrep "\.gz" | xargs rm. Esto evitará que el tamaño de abajo a 26 MB: find /usr/share/doc | egrep "\.pdf$" | xargs rm. Hasta 21 MB: find /usr/share/doc | egrep "\.tex$" | xargs rm. Sin embargo, quedan muchos más archivos.
ahcox
@AT, los comandos en mi respuesta no se eliminan /usr/share/info; solo su contenido. El directorio aún debería estar allí después de ejecutarlos.
Andrew Ensley
1
No recomiendo este paso para unos pocos MB. Lo hice y mi sistema se rompió. Por ejemplo, Virtualbox comprueba la instalación comprobando si /usr/share/doc/virtualboxexiste un directorio ... Creó el directorio y todo funcionó bien. Me tomó alrededor de 2 días para darse cuenta de eso. ¡Habla sobre el intercambio espacio-tiempo!
Jus12
31

Esto debería eliminar la documentación de los paquetes relacionados con el látex:

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

Ahorra unos pocos cientos de MB.

mopagemo
fuente
8
Esto parece eliminar mi texlive-fullpaquete también.
joar
55
@joar Eso es lo que se pretende. texlive-full es un metapaquete que extrae todas las dependencias, incluida la documentación
nealmcb
1
@nealmcb, pero luego Autoremove eliminará todos sus paquetes de texto. Más detalladamente: si instaló tex a través de texlive-full, y luego eliminó los paquetes doc, texlive-full desaparecerá. Luego, la próxima vez que ejecute apt-get autoremove, todos sus paquetes de texto también desaparecerán, porque la única razón por la que estaban allí es porque dependían de texlive-full, que ya no existe.
isarandi
@isarandi Si usó texlive-full para la instalación, eso parece un buen punto. Algunas referencias más: propuesta de 2017 para dividir los documentos: bugs.debian.org/cgi-bin/bugreport.cgi?bug=877862 y más datos sobre tamaños: reddit.com/r/LaTeX/comments/2naxke/why_is_texlive_so_large
nealmcb
14

Manera rápida y sucia de encontrar los paquetes texlive instalados (estoy 100% seguro de que hay otras formas):

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

Y quitándolos:

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
fuente
3
Esto también elimina texlive-fullen Ubuntu 16.04.
Jus12
66
texlive-fulles un metapaquete que extrae todas las dependencias, incluida la documentación.
Denilson Sá Maia
Esta es la mejor y más fácil respuesta.
Shivams
3

¿Sabes lo que está ocupando todo ese espacio? Mi /usr/share/doces solo ~ 50MB. Si no, use la aplicación Disk Analyzer o vaya al terminal y ejecute cd /usr/share/doc; luego corre du -h -d 1para descubrir qué está usando todo ese espacio. Una vez que sepa qué programa o programa son el problema, puede decidir si debe eliminar los directorios /usr/share/doco no.

notkevin
fuente
No sabía que los nombres de directorio debajo /usr/share/docson los nombres de los paquetes. Al menos de algunos esto parece ser cierto. He utilizado du -sc * | sort -nen /usr/share/doc. La mayor parte del espacio se tomó de los archivos de documentación de TeX Live 2009 que no quiero de todos modos, porque tengo los TL 2011 instalados manualmente. Gracias, aunque todavía me gusta ver si hay una manera de decirle apt-geta la mayoría de la documentación, esta solución funcionó bien para este caso.
Martin Scharrer
1
Y para aquellos que no se sienten cómodos con du: puede usar Baobab para analizar el uso del disco. Aunque uno necesita ejecutarlo como root (sudo baobab) para indexar el contenido de /
Vistaus
0

¿es razonablemente seguro [f] e simplemente eliminar el contenido de /usr/share/doc?

Si lo hace, los archivos se reinstalarán cuando se actualice alguno de los paquetes. En su lugar, debe eliminar los paquetes de documentación relevantes, que a menudo (pero no siempre) terminan en-doc .

Caracol mecánico
fuente