В составе большинства deb-пакетов содержатся данные, которые никогда не понадобятся пользователю, например, файлы с переводами элементов интерфейса на другие языки или документация. Начиная с версии 1.15.8 в dpkg появилась возможность не устанавливать лишние данные.Для контроля за тем, какую информацию установить, а какую нет, предусмотрены две опции: --path-include=маска и --path-exclude=маска. В качестве маски могут быть использованы любые glob-выражения, допустимые в shell (man glob).
Так как обычно для установки используются высокоуровневые утилиты, подобные apt, вызывать dpkg вручную и задавать дополнительные опции не совсем удобно. Поэтому логичнее изменить методику вызова dpkg в системе, создав соответствующую инструкцию в каталоге /etc/dpkg/dpkg.cfg.d/.
Например, создадим файл etc/dpkg/dpkg.cfg.d/excludes, в котором зададим маски для включаемых и исключаемых каталогов, на примере ограничения установки локалей и системных руководств:
# Не устанавливаем локали за исключением русских:
path-exclude=/usr/share/locale/*
path-include=/usr/share/locale/ru/*
path-include=/usr/share/locale/locale.alias# Не устанавливаем переводы системных руководств, за исключением перевода на русский язык
path-exclude=/usr/share/man/*
path-include=/usr/share/man/man[1-9]/*
path-include=/usr/share/man/ru*/*Следует иметь в виду, что все ранее установленные части пакета, подпадающие под маску исключения, будут удалены только после обновления пакета. Т.е. если необходимо освободить место немедленно, не дожидаясь появления обновлений, можно инициировать переустановку всех пакетов в системе:
aptitude reinstall
или
apt-get --reinstall installURL: http://raphaelhertzog.com/2010/11/15/save-disk-space-by-excl.../
Обсуждается: http://www.opennet.me/tips/info/2486.shtml
Но зачем?
запускаем скажем 5 виртуалок, какой смысл туда вообще man пихать.
А какой смысл экономить единицы мегабайт дискового пространства (пусть даже десятки), что сейчас стоит менее доллара, платя за это нестандартной конфигурацией и временем админа (которое дорого)?
Перфекцеонизм же, не?
Нетбуки?
Ага, когда вы захотите скажем 20 контейнеров развернуть и в каждом 100 мегов лишних - фигакс, а уже 2 гига лишних накапало. На ровном месте. Просто так. А если на контейнеры/виртуалки доустановить то и се, все что было надо - там уже никаких винчей на них не напасешься.
100 лишних мегов приходится на, скажем, 2-4 гига, которые заняты системой в целом. Итого вы сэкономите 2.5-5%, что на 20 контейнерах составляет 2 гига на 40-80 гигов. Много? Процентное соотношение, имхо, лучше смотреть )
Если возникает вопрос "Зачем?" Значит вам это не нужно. Вам что плохо спиться, от того что эта инструкция появилась?
Еще можно использовать пакет localepurge для удаления неиспользуемых файлов справки и локалей
а есть утилиты:
DoubleSpace Stripper?
CRLF Remover
GPL-LICENSE-COPYING Destructor
Unused Binary Annihilator
BadMusuc & Images Terminator
MONO-n-Shapr package Eliminator
PPP fuc&er (Pyton PHP Perl)...
Статья в закладки.
В аптитуде ещё можно(верне, первым делом) убрать "автоматически устанавливать рекомендуемые пакеты", ну и да, localepurge.
localepurge сносит почти 50 мег )
не очень много, хотя для нетбуков и минирутеров может и существеннолучше бы кто то оформил скриптик для удаления именно лишних пакетов
deborphan не помогает ?
+ debfoster
>лучше бы кто то оформил скриптик для удаления именно лишних пакетовкто за вас должен решить, что лишнее, а что вам нужно?
> aptitude reinstall
> или
> apt-get --reinstall installя полагаю, здесь еще надо указать список пакетов?
иначе, по крайней мере, вторая команда работает как apt-get dselect-upgrade
или даже как
apt-get upgrade