Минимальный состав дистрибутива.

Нужно сделать из генты бинарный дистрибутив: на мощном компьютере будет вестись сборка, на целевых — только установка двоичных пакетов. Отсюда всплывает вопрос: какие специфические пакеты, требующиеся для сборочных дистрибутивов, можно безболезненно убрать, при условии, разумеется, что на сборочном компьютере они останутся?

Первым кандидатом на удаление выглядит gcc. Что ещё можно убрать? glibc?

По результатам ответов в топике, можно удалить:

gcc, automake, autoconf, libtool.

automake, autoconf, gcc,

automake, autoconf, gcc, libtool и всё, что касается компиляции и сборки...
тока подумайте хорошенько - а надо ли это?!
сервер для компиляции в общем-то не нужен, если пользоваться distcc и машины одинаковые либо одна архитектура выбрана ;-)

«всё, что касается компиляции и сборки»

Вот именно, что хочется узнать точно, какие пакеты удалять. Похоже вы не поняли. Наличие distcc вовсе не означает сокращение общего времени на обновление. Оно означает только, что в данный момент на данном компьютере идёт быстрая компиляция. Это не нужно, если целевые машины торомознутые и однотипные. Считайте, что уровня Celeron. Да, да, тех самых, первых. Или какие-нибудь EEE PC. Зачем на таких машинках gcc? Проще обновлять их с бинарников.

Отдельного сервера я не делаю. В его роли выступает мой быстрый компьютер.

ну, хорошо-хорошо...

ну, хорошо-хорошо... )))
пройдитесь по зависимостям portage и создайте профиль, в котором из @system удалены пакеты, которые относятся к компиляции. видите пакет, читаете описание, если не нужен вычеркиваете... в принципе, кроме перечисленого выше можно еще удалить cmake... больше как-то в голову ничего не приходит...

1. имхо, я бы вообще не заморачивался и просто прописал на целевых машинах зеркало и выставил в умолчальных опциях командной строки emerge что-нить типа --usepkgonly --getbinpkgonly, а gcc и иже с ними пусть валяются на всякий случай...
2. имхо, если парк машин разношерстый, то проще взять бинарный дистр =)

glibc убирать нельзя! :) Это

glibc убирать нельзя! :)
Это тоже самое что если убрать в Windows user32.dll

А для чего дистрибутив(работа в офисе, livecd, embedded система)?
Планируется ли его обновления средствами portage?

P.S.
Советую автора топика почитать руководства по созданию liveCD в Gentoo, так как раз выкидываются ненужные пакеты во время создания образа

Working on Gentoo Linux for Asus P535 and Qtopia :-)

Вот, отлично! :) Значит,

Вот, отлично! :)
Значит, glibc не трогаем.

Для чего предназначен дистрибутив? А разве это важно? Если чего-то дистрибутив уметь не будет, то нужный пакет всегда можно будет доустановить. Разумеется, обновление и тд только средствами portage делаться будет. Фактически, он так и останется gentoo, просто обновляться будет не компиляцией исходников, а распаковкой бинарников. :)

Может проще не страдать? :)

Может проще не страдать? :) И выбрать из
Ubuntu, Calculate Linux Desktop, Fedora?

Потому как трудно будет поддерживать этот дистрибутив в рабочем состоянии когда он должен работать на разных компах

Working on Gentoo Linux for Asus P535 and Qtopia :-)

HolyBoy

HolyBoy написал(а):
обновляться будет не компиляцией исходников, а распаковкой бинарников. :)

Ну тогда emerge -k/-g и фтп с бинарниками.

Working on Gentoo Linux for Asus P535 and Qtopia :-)

Стоит попробовать...

Сабж перекликается с моим постом на форуме. Совсем минимальный комплект можно получить таким способом:

dd if=/dev/zero of=/home/image.img bs=1M count=100
mkfs.ext3 /home/image.img
mount -o loop /home/image.img /mnt/smallinux
cd /mnt/smallinux
mkdir bin dev etc lib proc usr sbin var

Теперь в системе, в которой ведется сборка, выясняем что нужно для запуска интересующего нас пакета:

ldd -v /bin/bash
        /bin/bash:
                libdl.so.2 (GLIBC_2.2.5) => /lib/libdl.so.2
                libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
        /lib/libncurses.so.5:
                libdl.so.2 (GLIBC_2.2.5) => /lib/libdl.so.2
                libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
        /lib/libdl.so.2:
                ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
                libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
        /lib/libc.so.6:
                ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
                ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2

Узнаем что где лежит и просто тупо копируем в такиеже папки, в наш подключеный образ. Сам bash незабываем скопировать тоже :) А дальше:

mount -o bind /proc/ /mnt/smallinux/proc/
mount -o bind /dev/ /mnt/smallinux/dev/
chroot /mnt/smallinux/ /bin/bash

Результат - минимум необходимого :)

Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...

чёт не понял как эти два

чёт не понял как эти два поста перекликаются ((

Ну типа так...

Theli написал(а):
чёт не понял как эти два поста перекликаются ((

Я интересовался как минимальными затратами организовать корректную локаль в "минимальной системе". То-есть тоже пытаюсь отсеять лишние пакеты. (Еще пытаюсь) :)

Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...

Вам показали как определить

Вам показали как определить минимально необходимый список файлов, необходимых Вам в вашей системе

Минимально рабочим набором

Минимально рабочим набором является kernel+busybox, давно доказано на практике, в т.ч. и на PC =)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Очень хорошая тема. Сам думаю

Очень хорошая тема.

Сам думаю как замутить минимальный загрузочник. И для практики и на будущее. Как раз остановился на busybox... в общем ориентир такой: средняя тачка - 128 Мб ОЗУ. Хочу чтобы образ перекидывался в ОЗУ, а диск выкидывался и освобождался cdrom. и плюсом чтобы Иксы работали ну и конечно важные утилитки, например Xfburn, gparted, и др... Не знаю получится осуществить сие или нет, но будем надеяться google поможет.

Не нужно ничего удалять.

Не нужно ничего удалять. Наличие сборочного окружения на слабой машинке вряд ли можно считать помехой в 99 случаях из ста. Вам ведь никто не мешает юзать бинарный пакет при наличии gcc? В тех же случаях когда это реально необходимо ( ну к примеру netboot/flash/livecd) можно поиграться с пакетом catalyst ( Кстати он вам реально пригодится для изготовления бинарей). В этом случае даже portage грохнуть можно. Только это уже не gentoo. Бо минимум гентоо определен в stage3. Соответственно вам придется изобретать свой механизм безболезненного обновления.

gcc убрать, увы, тоже не

gcc убрать, увы, тоже не получится, во всяком случае достаточно (после 3.5 вроде) новый. Ибо он включает в себя libstdc++, отдельного ебилда для которого нет, только очень старый. Удалите его - и все c++ приложения отсохнут. Надо делать ебилд для libstdc++, я собирался, но пока руки так и не дошли.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".