Supprimer la documentation pour économiser de l'espace sur le disque dur

57

J'aime créer une installation Ubuntu plutôt petite sur une machine Virtual Box. Fondamentalement, il devrait simplement fournir TeX Live et les outils associés. Je pensais maintenant que j'ai presque 1 Go de données sous /usr/share/doc. Je n'ai pas besoin de cette documentation dans ce cas, mais uniquement des manpages relatives à LaTeX , qui ne s'y trouvent pas.

Est-il possible de désinstaller tous ces fichiers de documentation en utilisant apt-get?
Sinon, est-il raisonnable de sauvegarder simplement le contenu de /usr/share/doc?
J'aime partager la machine Virtual Box avec d'autres personnes, ce qui ne devrait pas poser de problèmes.

Martin Scharrer
la source
La même question pour Debian unix.stackexchange.com/questions/180400/…
utilisateur7610
La réponse de Denilson résout ce problème sans prendre de marteau. Il suffit de désinstaller les packages de documentation.
Zaz

Réponses:

36

Selon le wiki Ubuntu , vous pouvez dpkgne pas installer de documentation. Cela devrait empêcher toute documentation (à l'exception des informations de copyright) d'être installée par apt.

Créez un fichier /etc/dpkg/dpkg.cfg.d/01_nodocqui spécifie les filtres souhaités. Exemple:

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

Ensuite, vous pouvez supprimer manuellement toute documentation déjà installée:

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 vous souhaitez également supprimer les pages de manuel, procédez comme suit:

rm -rf /usr/share/man/*

L'exemple est écrit pour les constructeurs, mais il a fonctionné aussi bien pour moi. A pris mon /usr/share/doc/répertoire de ~ 150 Mo à ~ 20 Mo.

Andrew Ensley
la source
J'ai dû recréer l'un de ces dossiers pour que la recommandation de purge @ denilson-sá fonctionne. Plus précisément: mkdir /usr/share/info.
À
3
Sur un ordinateur local, vous pouvez également supprimer les fichiers de droits d'auteur, ce qui économisera environ 50 Mo supplémentaires. Commentez cette ligne comme # path-include /usr/share/doc/*/copyright
suit
1
La première ligne (avec suppression du copyright) m'a laissé 37Mo le 13.04. Il y a beaucoup de fichiers symlinked qui sont manqués par la recherche. Cela aide par 5MB: find /usr/share/doc | egrep "\.gz" | xargs rm. Cette baisse de la taille jusqu'à 26 MB: find /usr/share/doc | egrep "\.pdf$" | xargs rm. Jusqu'à 21 Mo: find /usr/share/doc | egrep "\.tex$" | xargs rm. Il y a beaucoup de fichiers laissés derrière.
ahcox
@AT, les commandes dans ma réponse ne suppriment pas /usr/share/info; juste son contenu. Le répertoire devrait toujours être là après les avoir exécutés.
Andrew Ensley
1
Je ne recommande pas cette étape pour quelques Mo. Je l'ai fait et mon système s'est cassé. Par exemple, Virtualbox vérifie l'installation en vérifiant si un répertoire /usr/share/doc/virtualboxexiste. Il a été créé et tout a bien fonctionné. Cela m'a pris environ 2 jours pour comprendre cela. Parlez de compromis espace-temps!
Jus12
31

Cela devrait supprimer la documentation pour les paquets liés au latex:

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

Cela permet d'économiser quelques centaines de Mo.

mopagemo
la source
8
Cela semble enlever mon texlive-fullpaquet aussi.
joar
5
@joar C'est prévu. texlive-full est un métapaquet qui extrait toutes les dépendances, y compris la documentation.
nealmcb
1
@nealmcb, mais ensuite autoremove supprimera tous vos paquets tex. Plus en détail: si vous aviez installé tex via texlive-full, puis supprimé les packages de documentation, texlive-full disparaîtra. Ensuite, la prochaine fois que vous exécuterez apt-get autoremove, tous vos paquets tex disparaîtront également, car leur seule raison d'être était de dépendre de texlive-full, qui n'existe plus.
Isarandi
@isarandi Si vous avez utilisé texlive-full pour l'installation, cela semble être un bon point. Quelques autres propositions de réf .: 2017 pour diviser les documents: bugs.debian.org/cgi-bin/bugreport.cgi?bug=877862 et davantage de données sur les tailles: reddit.com/r/LaTeX/comments/2naxke/why_is_texlive_so_large
nealmcb
14

Un moyen rapide et rapide de trouver les paquets texlive installés (je suis sûr à 100% qu'il existe d'autres moyens):

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

Et en les enlevant:

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
la source
3
Cela supprime également texlive-fullsur Ubuntu 16.04.
Jus12
6
texlive-fullest un métapaquet qui extrait toutes les dépendances, y compris la documentation.
Denilson Sá Maia
C'est la meilleure et la plus simple des réponses.
Shivams
3

Savez-vous ce qui prend tout cet espace? Mon /usr/share/docest seulement ~ 50MB. Si ce n'est pas le cas, utilisez l'application Disk Analyzer ou allez au terminal et lancez cd /usr/share/doc; puis courez du -h -d 1pour savoir ce qui utilise tout cet espace. Une fois que vous savez quel programme ou programme pose problème, vous pouvez décider si vous devez supprimer les répertoires /usr/share/docou non.

notkevin
la source
Je ne savais pas que les noms de répertoire sous /usr/share/docsont les noms de paquets. Au moins de certains cela semble être vrai. J'ai utilisé du -sc * | sort -ndans /usr/share/doc. La majeure partie de l'espace provient des fichiers de documentation de TeX Live 2009, ce que je ne souhaite de toute façon pas, car j'ai les fichiers TL 2011 installés manuellement. Merci, même si j'aime toujours voir s'il existe un moyen de apt-getcontrôler la plupart des documents, cette solution a parfaitement fonctionné.
Martin Scharrer
1
Et pour ceux qui ne sont pas à l'aise avec du: vous pouvez utiliser Baobab pour analyser l'utilisation du disque. Bien qu'il soit nécessaire de l'exécuter en tant que root (sudo baobab) pour indexer le contenu de /
Vistaus
0

Est-il raisonnable de supprimer simplement le contenu de /usr/share/doc?

Si vous faites cela, les fichiers seront réinstallés quand l'un des paquets sera mis à jour. Vous devez plutôt supprimer les packages de documentation pertinents, qui se terminent-doc souvent (mais pas toujours) par .

Escargot mécanique
la source