删除文档以节省硬盘空间


58

我喜欢在Virtual Box机器上创建一个很小的Ubuntu安装。它基本上应该只提供TeX Live和相关工具。我现在计算出我有将近1GB的数据/usr/share/doc。在这种情况下,我不需要此文档,只需要与LaTeX相关的man页面即可。

有没有办法使用卸载所有这些文档文件apt-get
或者,仅删除的内容是否合理保存/usr/share/doc
我喜欢与他人共享Virtual Box计算机,这应该不会有麻烦。




Denilson的答案无需费力即可解决此问题。只需卸载文档包即可。
Zaz)

Answers:


36

根据Ubuntu Wiki,您可以指示dpkg不安装任何文档。这样可以防止apt安装任何文档(版权信息除外)。

创建一个/etc/dpkg/dpkg.cfg.d/01_nodoc指定所需过滤器的文件。例:

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

然后,您可以手动删除任何已安装的文档:

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

如果您还想删除手册页,请执行以下操作:

rm -rf /usr/share/man/*

该示例是为OEM编写的,但对我来说也是如此。将我的/usr/share/doc/目录从〜150MB减少到〜20MB。


我必须重新创建这些文件夹之一才能使@denilson-sá清除建议起作用。具体来说:mkdir /usr/share/info
2015年

3
在本地计算机上,您还可以删除版权文件,这将另外节省约50MB。评论此行,如:# path-include /usr/share/doc/*/copyright
rubo77

1
第一行(加上删除版权)在13.04上给我留下了37MB的空间。查找找不到许多符号链接的文件。这可以节省5MB :find /usr/share/doc | egrep "\.gz" | xargs rm。这滴尺寸降低到26 MB: find /usr/share/doc | egrep "\.pdf$" | xargs rm。下到21 MB: find /usr/share/doc | egrep "\.tex$" | xargs rm。虽然有更多的文件遗留下来。
ahcox

@AT,我答案中的命令不会删除/usr/share/info;只是它的内容。运行目录后,目录仍应存在。
安德鲁·恩斯利

1
我不建议将此步骤花几个MB。我这样做了,我的系统坏了。例如,Virtualbox通过检查目录是否存在来检查安装。/usr/share/doc/virtualbox创建目录后,一切运行良好。花了我两天左右的时间来解决这个问题。谈论时空权衡!
2016年

31

这应该删除与乳胶相关的软件包的文档:

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

它确实节省了几百MB。


8
这似乎也删除了我的texlive-full包裹。
2013年

5
@joar这是有意的。texlive-full是一个元软件包,可提取所有依赖项,包括文档
nealmcb

1
@nealmcb,但随后autoremove将删除所有tex软件包。更详细地讲:如果您已经通过texlive-full安装了tex,然后删除了doc软件包,那么texlive-full将不复存在。然后,下次运行时apt-get autoremove,所有tex软件包也将消失,因为它们存在的唯一原因是因为它们依赖于texlive-full,而后者不再存在。
isarandi

@isarandi如果您使用texlive-full进行安装,那听起来不错。一些更裁判:2017年提案打出文档:bugs.debian.org/cgi-bin/bugreport.cgi?bug=877862的尺寸和更多的数据:reddit.com/r/LaTeX/comments/2naxke/why_is_texlive_so_large
nealmcb

14

查找已安装的texlive软件包的快捷方法(我100%确信还有其他方法):

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

并删除它们:

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

3
这也会texlive-full在Ubuntu 16.04上删除。
2016年

6
texlive-full是一个元数据包,可提取所有依赖项,包括文档。
DenilsonSáMaia

这是最好,最轻松的答案。
shivams

3

您知道什么占用了所有空间吗?我/usr/share/doc只有〜50MB。如果没有,请使用磁盘分析器应用程序或转到终端并运行cd /usr/share/doc;然后运行du -h -d 1以找出所有这些空间在使用什么。一旦知道了哪个程序或哪个程序有问题,就可以决定是否删除目录/usr/share/doc


我不知道下面的目录名称/usr/share/doc是软件包名称。至少其中一些似乎是正确的。我曾经du -sc * | sort -n/usr/share/doc。大部分空间都来自TeX Live 2009文档文件,但我还是不想要这些文件,因为我有手动安装的TL 2011文件。谢谢,尽管我仍然想看看是否有办法告诉apt-get您大多数文档,但是这种解决方案在这种情况下效果很好。
Martin Scharrer

1
对于不喜欢du的用户:您可以使用Baobab分析磁盘使用情况。尽管确实需要以根用户身份运行它(sudo baobab)才能索引/
Vistaus

0

仅删除的内容是否合理/usr/share/doc

如果这样做,则将在升级任何软件包时重新安装文件。您应该删除相关的文档包,这些文档包通常(但不总是)以结尾-doc

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.