LINUX.ORG.RU
ФорумAdmin

Минимальный линукс


0

0

По работе требуется получить образ диска с установленным linux+nginx.

Этот образ впоследствии будет запускаться в виртуальной машине.

Так как кроме nginx ничего функционального пока не планируется, то существует требование по возможности минимизировать полученный образ.

Два дня читаю про имеющиеся маленькие дистрибутивы и про возможности в обрезании больших. Совсем запутался. Может кто поделиться опытом в этом вопросе?


Попробуй собрать подобие LFS. Один раз требовалось упихать линукс на pc/104 с флешкой на 64мб. Я так перетрудился, что первая версия вообще 7мб весила.

shutty
()
Ответ на: комментарий от shutty

> Попробуй собрать подобие LFS.

Слишком долго - не вариант.

rlz
() автор топика

Насколько критична минимальность? Является ли существенной целью?

ИМХО, все минимальные линуксы не очень удобны в дальнейшей настройке, расширении и т.п. (хотя бы в силу своей специфичности и потому непривычности).

Полагаю, самым простым решением было бы взять Debian, установить базовую систему, установить nginx. Всё.

anarquista ★★★★★
()
Ответ на: комментарий от anarquista

> Насколько критична минимальность? Является ли существенной целью?

150-200 MB - уже терпимо

> ИМХО, все минимальные линуксы не очень удобны в дальнейшей настройке, расширении и т.п. (хотя бы в силу своей специфичности и потому непривычности).

Согласен.

> Полагаю, самым простым решением было бы взять Debian, установить базовую систему, установить nginx. Всё.

Как это сделать в debian? А то я с ним не очень знаком. Сколько у него занимает базовая система?

rlz
() автор топика
Ответ на: комментарий от rlz

> Как это сделать в debian? А то я с ним не очень знаком. Сколько у него занимает базовая система?

скачиваешь http://www.debian.org/CD/netinst/, ставишь самый минимум по сети (обычно около 200мб). Пользуешься.

shutty
()
Ответ на: комментарий от rlz

>> Полагаю, самым простым решением было бы взять Debian, установить базовую систему, установить nginx. Всё.

> Как это сделать в debian?

Есть несколько способов. Я бы сделал debootstrap.

> Сколько у него занимает базовая система?

После доработки напильником - ~50-60метров. Даже без доработки должна уместиться в 100-120.

tailgunner ★★★★★
()
Ответ на: комментарий от elipse

#apt-get install live-helper live-manual
и в рабочем разделе запускаем от su скриптик:

SET_CPU=686

lh_clean --all
lh_config --binary-indices disabled
lh_config --memtest disabled
lh_config --win32-loader disabled
lh_config --syslinux-timeout 3
lh_config --syslinux-menu disabled

lh_config --binary-images iso
#---------------------------------------------

lh_config --iso-application "self_test"
lh_config --iso-volume "mini $(date +%Y%m%d-%H:%M)"
lh_config --iso-publisher "elipse; comp_art@ymail.com"

#---------------------------------------------

lh_config --language "ru"
lh_config --architecture i386
lh_config --apt apt
lh_config --apt-recommends disabled
lh_config --distribution lenny
lh_config --categories "main contrib non-free"
lh_config --linux-flavours $SET_CPU
lh_config --bootstrap-flavour minimal
lh_config --mirror-bootstrap "http://ftp.de.debian.org/debian/"
lh_config --mirror-chroot "http://ftp.de.debian.org/debian/"
lh_config --mirror-binary "http://ftp.de.debian.org/debian/"
lh_config --security disabled
lh_config --packages "nginx"


и при хорошем тырнете за 10 минут будет iso ,
а документация будет в /usr/share/doc/live-manual

elipse ★★★
()
Ответ на: комментарий от elipse

> Debian вообще установлен?

Неа, пока есть только fedora.

Попробовал в ней debootstrap - на вид получилось не плохо, но многовато - 280 MiB.

rlz
() автор топика
Ответ на: комментарий от elipse

> это много и до получения образа еще много возни

Кстати выглядит очень странно, что у меня получилось так много, в отличие от live-helper, тогда как он тоже использует debootstrap, если я правильно разобрался.

Я делал так:

- сделал debootstrap

- поставил locales и сгенерировал en_US и ru_RU (так, на всякий случай)

- поставил ядро, загрузщик и nginx

Все это уже потянуло на 280 MiB

rlz
() автор топика
Ответ на: комментарий от elipse

да , тут нет пакетов для автонастройки сети и собственно конфигов настройки сервера - это как тестовый пример

elipse ★★★
()
Ответ на: комментарий от rlz

если ,lh_config --apt-recommends disabled
тогда , не устанавливаем сразу не обязательные пакеты recommends
и общий обьем chroot раздела получился 177 метров и после сжатия в iso
- будет 74 метра.

elipse ★★★
()
Ответ на: комментарий от rlz

> Да, еще я поставил openssh-server

не вопрос - он маленький по обьему ,тогда :)))

lh_config --packages "nginx openssh-server"

elipse ★★★
()
Ответ на: комментарий от rlz

>- сделал debootstrap

>- поставил locales и сгенерировал en_US и ru_RU (так, на всякий случай)

>- поставил ядро, загрузщик и nginx

>Все это уже потянуло на 280 MiB

Странно. cdebootstrap -f minimal --include=nginx lenny mini-lenny ftp://localhost/repos/debian_5.0 дает мне 86 метров. Правда. ядра там нет.

tailgunner ★★★★★
()

Gentoo ? Но хотя да, тот же stage3 много весит.

А чем LFS не угодило?

Собираешь ядро Linux (с необходимыми опциями), библиотеку glibc (или uclibc - если с ней работает...), busybox и собтсвенно nginx (плюс что он требует в зависимостях), и всякие мелочи, если нужы, наподобе syslog'a. Компиляция займет часа 4, за часик можно все это расфасовать в ФС, запихать в initrd или файловый образ, протестить и запустить в продакшн.

f3ex ★★
()

Еще как вариант, из своей системы вытащи initrd, распакуй его, собери nginx с prefix'ом, посмотри какие либы ему требуются, просто их скопируй их host-системы и запакуй initrd обратно. Всё.

P.S. При желании можно слить всё из initrd в файл-образ, которых юзается виртуальной машиной.

f3ex ★★
()

В федоре есть хороший инструмент для создания своих дистрибутивов - livecd-tools

Более того, в составе пакета есть шаблон для минимального дистрибутива.

kraw ★★★★
()
Ответ на: комментарий от kraw

> В федоре есть хороший инструмент для создания своих дистрибутивов - livecd-tools

> Более того, в составе пакета есть шаблон для минимального дистрибутива.

Угу, и этот минимальный дистрибутив содержит Gnome...

rlz
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.