Sou*_*mya 17 man debian package-management
特别是在 raspberry pi(运行 Raspbian Wheezy)上,但总的来说,我可以禁用所有手册页吗?
这意味着没有存储的手册页,没有“处理 man-db 的触发器”,等等。由于手册页始终在 Internet 上可用,因此我实际上并不需要安装它们,因此生成和存储它们似乎没有必要。
小智 17
我在有人为 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
Run Code Online (Sandbox Code Playgroud)
小智 6
问题是包管理系统希望它安装的文件(包括手册页)保留在那里,所以无论你使用什么机制来删除它们(除了像 HalosGhost 建议的那样重建每个包)都会混淆它。
如果您正在做的是生产单一用途的设备,您可以采取的一种方法是为设备设置单独的构建和部署步骤。也就是说,您在单独的构建环境(不同的 SD 卡或模拟的 RPi)中安装所需的所有包,然后仅将生产中想要的包从构建环境复制到生产环境。在那个阶段,您可以省略手册页和生产中不需要的任何其他内容。
为了获得升级的操作系统或安全修复程序,您升级或重建构建环境并再次复制(或 rsync)到生产环境。
这需要更多的工作,但与直接在其上登录和运行升级相比,它为您提供了一个非常可控的生产设备。
好吧,不知道您的 RPi 正在运行什么发行版,我无法为您提供确切的命令,但是您可以删除man-db
提供man
实用程序和各种手册页的软件包。然而,删除所有手册页需要从每个包中删除每个手册页——我无法想象这值得你花时间来节省 KiB 的空间。
如果你真的想要,那么你需要重建每个包;在像 Archlinux 或 Gentoo 这样的发行版上,这不一定是不可能的,但仍然很乏味。在其他不太“动手”的发行版上,您可能会发现这项任务非常困难。