[devel] minimal system
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_alt-linux=2Eorg?=
Пн Ноя 26 16:29:14 MSK 2001
On Mon, Nov 26, 2001 at 09:35:51AM +0300, Andrey Astafiev wrote:
> долго думал, куда постить, и решил сначала
> отправить сюда. надеюсь получить некоторые
> комментарии и после обсуждения сделать более
> приемлимый вариант описания моих действий по
> созданию минимального дистрибутива на основе
> Сизифа. по ходу описания приведено несколько
> ошибок и несколько идеологических вопросов.
На идеологические вопросы в основном Саша ответил,
пройдусь по некоторым деталям.
> за основу был взят пакет basesystem-sisyphus.
> систему ставил на раздел достаточно большого
> размера с файловой системой reiserfs.
> первым шагом были отобраны пакеты, от которых
> зависит basesystem и необходимые для них.
> basesystem потянул за собой еще 92 пакета.
> я еще добавил mingetty, bdflush (по умолчанию
> используются в inittab, но нет зависимости),
bdflush реально используется?
mingetty - должен быть в зависимостях initscripts.
> passwd (не знаю с помощью чего другого можно
а если не надо?
> 2. меня заинтересовали сообщения, выдаваемые rpm
> при установке, и я решил установить систему аккуратно
> по пакету. почистил тестовый раздел и снова сделал
> структуру каталогов для базы данных rpm.
>
> # rm -rf /mnt/test/*; mkdir -p /mnt/test/var/lib/rpm
> # rpm --initdb --root /mnt/test
>
> пакеты я устанавливал командой:
>
> # rpm -i --root /mnt/test название_пакета.rpm
Про то, почему не стоит сейчас пользоваться "rpm --root", рассказано более
чем достаточно.
> с некоторыми библиотеками были приключения.
> пакет libgpm-1.19.4-alt1.i586.rpm отказался
> ставиться, сославшись на необходимость
> libncurses.so.5, а libncurses-5.2-ipl3mdk.i586.rpm
> соответственно на libgpm.so.1. это легко лечится,
>
> # rpm -i --root /mnt/test libgpm-1.19.4-alt1.i586.rpm \
> libncurses-5.2-ipl3mdk.i586.rpm
>
> но выглядит по-моему все равно не очень хорошо.
Да, это выглядит некрасиво, буду разбираться.
> warning: created %_tmppath directory /var/tmp
>
> что подвигло меня, к установке пакета filesystem,
> создающего директории для размещения файлов в
> дистрибутивах от ALTLinux. оказалось, что он зависит
> от пакета setup, в котором содержатся стандартные файлы.
> смысл этой зависимости я не понял, но в системе они
> появились, естественно в следующем порядке:
>
> setup-2.1.9-ipl21mdk.i586.rpm
> filesystem-2.1.6-alt5.i586.rpm
Как уже было сказано, setup сейчас необходимо ставить до basesystem
> далее "немного каши перловой". при установке perl-base
> предустановочный скрипт делает 'cd /usr/lib/perl5',
> не проверяя существования сего каталога, что выливается в:
>
> /var/tmp/rpm-tmp.48947: cd: /usr/lib/perl5: No such file or
> directory
bug
> попробовал установить vim-minimal, но его
> постустановочный скрипт выдал сообщение об ошибке.
>
> /var/tmp/rpm-tmp.50528: ln: command not found
> error: execution of %post scriptlet from vim-minimal-6.0-alt1.026
> failed, exit status 127
bug
> это навело на мысль о том, что возможно скрипты,
> связанные с установкой и удалением пакетов тоже
> проверять на предмет зависимостей. бред? усложнение?
Это уже запланировано. Однако придется исправлять довольно много скриптов.
> о двух комплектах утилит есть, что сказать отдельно.
> findutils при установке требует библиотеку libe2p.so.2,
> которая входит в libe2fs. у меня нет файловой системы ext2,
> так зачем же мне соответствующая библиотека. заглянув
> немного вперед, я, конечно, понял, что без этой библиотеки
> мне все равно не обойтись, т.к. она требуется для mkinitrd.
> но если, например, я сам собираю в системе ядро и включаю
> поддержку файловой системы загрузочного раздела в него,
> то уже даже необходимость mkinitrd ставится под сомнение.
> с другой стороны, конечно, концепция дистрибутива (в
> данном случае касаемо mkinitrd) стоит значительно выше
> моих личных идей по его применению. итак, были установлены:
>
> libe2fs-1.24a-alt1.i586.rpm
> findutils-4.1.7-alt1.i586.rpm
Сейчас в findutils есть поддержка некоторых особых возможностей
ext2. Если они оттуда исчезнут, то и зависимость пропадет.
> теперь об util-linux. этот пакет был разделен на несколько
> пакетов, хотя собираются они все равно из одного архива.
> мне не понятно, для чего было сделано данное разделение и
> по какому принципу отбирались утилиты, которые были вынесены.
> единственный критерий, по которому можно разнести пакеты
> с утилитами, приходящий мне в голову, это наличие каждой
> конкретной утилиты в fhs. по такому приципу можно было бы
> разбить, скажем, все или некоторые пакеты с утилитами на
> lalala-utils и lalala-fhs-utils. может быть имело бы смысл
> некоторые утилиты действительно внести в отдельные пакеты...
> кроме того, в requires пакета util-linux указаны пакеты с
> вынесенными из него утилитами hwclock, getopt, kbdrate,
> agetty, cfdisk, fdisk, sfdisk, но при этом пропущены(?)
> losetup и mount. также интересным фактом для меня
Ввиду того, что они уже давно живут отдельно (еще в RE 7.0).
> оказалось то, что requires не содержит контроля версий,
> т.е. в системе util-linux может иметь версию X.XXa,
> kbdrate - X.XYb, а fdisk - X.ZZc.
Это почти нормально - они друг друга не используют.
> на данный момент установить util-linux без нарушения
> завивисимостей нельзя, так как agetty зависит от login,
Эти "вытаскивающие за волосы" зависимости (glibc,util-linux,shadow-utils)
были сделаны с тем, чтобы в уже работающей системе не потерять необходимые
компоненты.
> а тот в свою очередь от pam. ок, будем разбираться с
> пакетами, отвечающими за авторизацию. установить pam
> сразу не представляется возможным, так как в нем
> прописана зависимость на cracklib-dicts, причем модуль,
> работающий с cracklib вынесен в pam-cracklib.
> получается, что имеет место быть весьма странная
> зависимость или разделение пакетов. имхо, зависимость
> на cracklib-dicts должен иметь pam-cracklib и в него
> должно быть вынесено из pam все, что относится к
> cracklib, если это возможно и пока еще не сделано.
> в противном случае не совсем понятен вынос в отдельный
> пакет модуля pam_cracklib.so. вот.
bug
> при установке последнего пакета появилось:
> chown: `root.utmp': invalid user
> chown: `root.utmp': invalid user
> такие пользователь и группа в системе есть :)
bug
glibc-core еще не содержит /lib/libnss_files-2.2.4.so
> еще немного об авторизации. при установке shadow-utils
> не создаются файлы shadow и gshadow, хотя могли бы при
> помощи скрипта на основе информации из passwd и group.
Не думаю, что это актуально в связи с tcb...
Посмотрим.
> пробуем установить rpm и видим, что он зависит от glibc,
> а не от glibc-core. это ошибка или rpm действительно
> рассчитывает на что-то большее чем библиотеки из glibc?
> обидно, прииходится поставить почти все пакеты, входящие
> в glibc, а это почти 40Мб.
bug
> оказывается, что эта система еще не является вполне
> рабочей. нужно еще установить библиотеки и утилиты
> для работы используемой на данном разделе файловой
> системы (в данном случае reiserfs), mingetty, bdflush
> (используемые по умолчанию в inittab) и passwd.
bdflush там откуда?
Resume: обнаружено еще 4 новых ошибки.
Regards,
Dmitry
+-------------------------------------------------------------------------+
Dmitry V. Levin mailto://ldv@alt-linux.org
ALT Linux Team http://www.altlinux.ru/
Fandra Project http://www.fandra.org/
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 232 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20011126/3523c8de/attachment-0001.bin>
Подробная информация о списке рассылки Devel