How to strip a Linux system?
Я создавал свой собственный дистрибутив Linux, и я удалил двоичные файлы и т. Д. Система не будет использовать GCC или инструменты разработки, так как это будет киоск Chrome, поэтому было бы очень полезно, если бы я мог сократить система...
Мне было интересно, есть ли способ, которым я могу удалить все неиспользуемые системные файлы (например, двоичные файлы и т. Д.), Наблюдая, какие файлы / библиотеки используются во время выполнения? Может быть, предпочтительнее другой метод, но есть ли способ сделать что-то подобное?
5 ответов
Вот некоторые вещи, которые я бы сделал:
- Сборка собственного ядра без загружаемых модулей. (Соберите все необходимые модули.) Удаляет /lib/modules ..
- Просмотрите сценарии инициализации и удалите все ненужные программы.
- Используйте ldd в программах, которые запускаются для определения необходимых библиотек.
- Определите, какие команды можно заменить на busybox, и создайте пользовательский busybox для предоставления только этих команд.
- Определите программы, необходимые для поддержки, и добавьте их в.
Подумайте о том, что входит в дистрибутив, такой как OpenWRT, чтобы увидеть, что требуется для относительно базовой установки. Удалите то, что вам не нужно, и добавьте, что вы делаете. OpenWRT теперь имеет пакет компоновщика, который облегчает изучение дистрибутива.
Debootstrap это инструмент, который вы хотите. http://www.debian-administration.org/articles/426. Гораздо лучше накапливать, чем урезать.
Начните с чего-то вроде чертовски маленького Linux и постройте его. DSL изображение не более 50 мб
Для создания своей собственной файловой системы Linux попробуйте Buildroot. В интернете много учебников.
Зачем беспокоиться? Вас беспокоит безопасность или пространство / память? Я бы порекомендовал: если сомневаетесь, не тратьте на это время.