特别是在树莓派(运行Raspbian Wheezy)上,但总体而言,我可以禁用所有手册页吗?
这将意味着没有存储的手册页,没有“处理man-db的触发器”,依此类推。由于手册页始终可以在Internet上找到,因此我真的不需要安装它们,而生成和存储它们似乎是不必要的。
/usr/share/doc
。
特别是在树莓派(运行Raspbian Wheezy)上,但总体而言,我可以禁用所有手册页吗?
这将意味着没有存储的手册页,没有“处理man-db的触发器”,依此类推。由于手册页始终可以在Internet上找到,因此我真的不需要安装它们,而生成和存储它们似乎是不必要的。
/usr/share/doc
。
Answers:
我在有人为Wandboard拼凑的Debian 8图像上遇到了相反的问题。我试图找到一些已经安装的软件包的手册页,发现安装了一些新软件包后,即使deb文件中存在手册页,它们也丢失了。
然后,我在/etc/dpkg/dpkg.conf.d中找到了该文件01_nodoc,它是原始问题的简单解决方案,该问题是如何通过删除手册页和语言环境以及版权非常宝贵的版权文件(例如嵌入式)来节省空间的系统)。
# /etc/dpkg/dpkg.conf.d/01_nodoc
# Delete locales
path-exclude=/usr/share/locale/*
# Delete man pages
path-exclude=/usr/share/man/*
# Delete docs
path-exclude=/usr/share/doc/*
path-include=/usr/share/doc/*/copyright
问题在于,程序包管理系统希望其安装的文件(包括手册页)保留在此处,因此,无论您使用哪种机制删除它们(除非重新构建每个程序包,如HalosGhost建议的那样)都会使它感到困惑。
如果您要生产的是单一用途的设备,则可以采取的一种方法是为设备创建和部署单独的步骤。也就是说,您将所需的所有软件包安装在单独的构建环境(不同的SD卡或仿真的RPi)中,然后仅将要在生产中拥有的内容从构建环境复制到生产环境。在那个阶段,您可以忽略手册页以及生产中不需要的任何其他内容。
为了获取升级的操作系统或安全修补程序,您可以升级或重建构建环境,然后再次复制(或rsync)到生产环境。
这还需要更多工作,但是与直接登录并在其上运行升级相比,它为您提供了一个受控制的生产设备。
$ cat /etc/apt/apt.conf.d/90debsums
DPkg::Post-Invoke { "if [ -x /usr/bin/debsums ]; then /usr/bin/debsums --generate=nocheck -sp /var/cache/apt/archives; fi"; };
程序包debsums
将安装一个操作,以在安装程序包之后自动生成程序包的md5sum列表,而无需拥有自己的md5sums文件。
您可以添加类似的安装后操作扫描,以在每次安装操作后扫描并删除手册页(和信息文档)。
要获取手册页和拥有的软件包,您需要浏览所有/var/lib/dpkg/info/PACKAGENAME.list
文件。
您也应该更新*.list
文件,更不用说删除的联机帮助页了。
localepurge
部分也这样做。引用自apt-cache show localepurge
:
这是一个脚本,用于恢复不必要的语言环境,Gnome / KDE本地化和本地化手册页所浪费的磁盘空间。根据安装情况,可以节省大约200、300甚至更多兆字节的磁盘空间,这些磁盘空间专用于本地化,您可能永远不会使用过。完成任何适当的安装操作后,它将自动运行。
最重要的报价:
如果您通过使用它破坏系统,请绝对不要报告任何将localepurge归咎于此类错误。如果您不知道自己在做什么,并且无法自行处理任何导致的损坏,请不要使用此软件包。
;-D
因此,只需进行完整备份,然后尝试编写您的manpagekiller
...
man-db
)。我将通过/etc/dpkg.cfg.d
而不是通过APT 添加调用后挂钩,以处理的直接调用dpkg
。
.deb
)的操作dpkg
甚至比安装后操作更容易,apt
因为您将拥有该程序包的名称,并且不需要*.list
一次又一次地扫描所有文件的手册页。我只是忘记了也dpkg
有一个钩子……