В частности, на Raspberry Pi (под управлением Raspbian Wheezy), а также в целом, можно ли отключить все страницы руководства?
Это означало бы отсутствие сохраненных страниц руководства, отсутствие «триггеров обработки для man-db» и т. д. и т. п. Поскольку страницы руководства всегда доступны в Интернете, мне на самом деле не нужна их установка, а их генерация и хранение кажутся излишними.
решение1
У меня была противоположная проблема с образом Debian 8, который кто-то собрал для Wandboard. Я пытался найти страницу руководства для некоторых пакетов, которые уже были установлены, и заметил, что после установки некоторых новых пакетов страницы руководства отсутствовали, хотя они присутствовали в файле deb.
Затем я нашел этот файл 01_nodoc в /etc/dpkg/dpkg.conf.d, который является простым решением изначального вопроса о том, как сэкономить место, удалив страницы руководства, локали и файлы авторских прав там, где пространство в дефиците (например, во встроенных системах).
# /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
решение2
Проблема в том, что система управления пакетами ожидает, что устанавливаемые ею файлы (включая страницы руководства) останутся там, поэтому любой механизм, который вы используете для их удаления (кроме пересборки каждого пакета, как предлагает HalosGhost), собьет ее с толку.
Если вы собираетесь создать специализированное устройство, один из подходов, который вы можете использовать, — это отдельные этапы сборки и развертывания для устройства. То есть вы устанавливаете все нужные вам пакеты в отдельной среде сборки (другая SD-карта или эмулированный RPi), а затем копируете только то, что хотите иметь в производстве, из среды сборки в производственную среду. На этом этапе вы можете исключить страницы руководства и все остальное, что не нужно в производстве.
Чтобы получить обновленную версию ОС или исправления безопасности, вам необходимо обновить или пересобрать среду сборки и снова скопировать ее (или выполнить rsync) в рабочую среду.
Это немного больше работы, но это дает вам очень контролируемое производственное устройство по сравнению с входом в систему и запуском обновлений непосредственно на нем.
решение3
Ну, не зная, какой дистрибутив работает на вашем RPi, я не могу помочь вам с точными командами, но вы, вероятно, можете удалить пакет man-db
, который предоставляет как man
утилиту, так и множество страниц man. Однако удаление всех страниц man потребовало бы удаления каждой страницы man из каждого пакета — я не могу себе представить, что это стоит вашего времени только ради экономии киБ пространства.
Если бы вы действительно этого хотели, то вам пришлось бы пересобрать каждый пакет; в дистрибутивах вроде Archlinux или Gentoo это не обязательно невозможно, но все равно довольно утомительно. В других, менее "практичных" дистрибутивах эта задача может показаться вам невероятно сложной.
решение4
$ 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 или даже больше мегабайт дискового пространства, выделенного для локализации, которое вам, скорее всего, никогда не понадобится. Он запускается автоматически после завершения любых действий по установке apt.
Самая важная цитата:
Пожалуйста, определенно воздержитесь от сообщения о любых таких ошибках, обвиняя localepurge, если вы сломали свою систему, используя его. Если вы не знаете, что делаете, и не можете справиться с любой возникшей поломкой самостоятельно, то, пожалуйста, просто не используйте этот пакет.
;-D
Так что просто сделайте полную резервную копию и попробуйте записать manpagekiller
...