Делаем пингвину обрезание j1m (j1m@list.ru) Хакер, номер #077, стр. 077-094-5 Для проверки того, от каких библиотек зависит прога, можно воспользоваться утилитой ldd. Просто натрави ее на бинарник и увидишь полный листинг зависимостей. Чтобы выяснить, какие файлы софтина читает во время своей работы, воспользуйся командой "strace -e trace=open", она покажет все системные вызовы open, сделанные подопытной прогой. А вообще обо всех открытых в данный момент файлах поведает утилита lsof. [А есть ли предел?] Возможно, у тебя уже возник вопрос: каким образом разработчики умудряются разместить целый дистрибутив вместе с иксами и сетевым софтом на одну-две дискеты? Первый шаг на пути к созданию мини-дистрибутива - использование busybox. Этот пакет был разработан специально для использования в загрузочных дисках и дискетах. Он заменяет стандартные программы из пакета coreutils (cat, ls, echo, ...) и представляет собой один единственный бинарик. Использование одного из старых релизов ядра (например, 2.2), также сэкономит несколько сот килобайт. Громоздкую glibc обычно заменяют на компактную uClibc. Графическая система представляет собой весьма урезанную старую версию иксов (tinyX) с минимальным набором шрифтов и библиотек. Менеджером окон выступает что-нибудь экстремально-маленькое вроде BadWM. Сетевые серверы обычно удаляются (если конечно дистрибутив не предназначен для использования в качестве маршрутизатора). Всю систему помещают в архив и сжимают. Ядро, загрузившись, распаковывает архив и записывает его содержимое на виртуальный диск, находящийся в оперативке. Пара слов о FSH FSH (Filesystem Hierarchy Standard) - Стандарт на структуру каталогов файловой системы. Описывает требования по размещению файлов и каталогов в *nix. Был создан в 1993 году. Новую версию можно взять с официального сайта: www.pathname.com/fhs/ Нестандартные дистрибутивы Некоторые дистрибутивы, такие как Slackware, не соблюдают FHS, и хранят каталоги man, info и doc в /usr. Используй исходники Лучший способ уменьшить объем системы, устанавливать все из исходников. Так ты сможешь выкинуть ненужные компоненты программы и избавить ее от линковки с огромным количеством библиотек. |