Отдельный /usr и udev-181

Вероятно, вы уже прочитали новость о том, что с новым sys-fs/udev-181 системы с отдельным разделом /usr будут работать некорректно.
Если нет, то вот вам последнее китайское предупреждение:

Цитата:
udev-181 размаскирован 2012-03-19.

Если у вас отдельный раздел /usr, то после обновления udev до версии >= 181 вы должны создать initramfs, который предварительно смонтирует /usr до загрузки основной системы.

Такой initramfs может быть создан с помощью >=sys-kernel/genkernel-3.4.25.1 или >=sys-kernel/dracut-017-r1. Если вы не хотите использовать эти утилиты, проверьте, что созданный вами вручную initramfs будет предварительно монтировать /usr.

Также, при использовании OpenRC вы должны обновить его до >= openrc-0.9.9.

Если вам интересно, почему такое могло произойти, то прочтите следующий документ:
http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken

Не забудьте также отключить проверку раздела в fstab (последния два поля должны быть 0 0), потому как проверка на ошибки должна проводиться силами initramfs.

Потому вам и не понять...

Потому вам и не понять... ;)
А я уж так привык, что суп и мухи должны быть отдельно:

Filesystem                  Size  Used Avail Use% Mounted on                                                              
rootfs                      495M  347M  123M  74% /
/dev/root                   495M  347M  123M  74% /
devtmpfs                    867M  324K  867M   1% /dev
rc-svcdir                   1.0M  132K  892K  13% /lib64/rc/init.d
cgroup_root                  10M     0   10M   0% /sys/fs/cgroup
shm                         870M   12K  870M   1% /dev/shm
/dev/mapper/sys-usr         6.3G  5.8G  551M  92% /usr
/dev/mapper/sys-usrsrc      3.0G  2.2G  912M  71% /usr/src
/dev/mapper/sys-var         1.0G  759M  266M  75% /var
/dev/mapper/sys-log         2.0G  722M  1.3G  36% /var/log
/dev/mapper/sys-opt         2.0G  756M  1.3G  37% /opt
/dev/mapper/sys-home         80G   80G  152M 100% /home
/dev/mapper/sys-tmp         1.0G   33M  992M   4% /tmp
/dev/mapper/sys-vartmp       10G  312M  9.7G   4% /var/tmp
/dev/mapper/sys-varportage   12G   33M   12G   1% /var/tmp/portage
/dev/mapper/sys-portage      16G   12G  5.0G  70% /usr/portage
/dev/mapper/lv-storage      553G  548G  4.8G 100% /mnt/storage
/dev/sda1                    75G   74G  691M 100% /mnt/disk-c

потому как к разным ФС - разные требования: на руте ехт3 и РАЙД1, на том же /usr - reiserfs/RAID5/LVM и т.п.
У меня даже на лаптопе все (кроме рута) ФС через ЛВМ...

(*)

К руту у вас одни требования, к /usr - другие (/boot - третьи? /var - четвёртые?). Ну и побили бы по требованиям - на два/(три?/четыре?) раздела. А вы явно перестарались - на 10 кусков разбили. Например, зачем вы из /var сделали /var + /var/log + /var/tmp + /var/tmp/portage? Неужто у вас на один только /var четыре разные ФС? o_0

раз уж так интересно:/var -

раз уж так интересно:

/var - зеркало на ЛВМ
/var/log - чтобы переполнение логов не рушило систему (машина домашняя, экспериментальная)
/var/tmp - часто монтируется под tmpfs (просто сейчас попало под ЛВМ/reiserfs)
/var/tmp/portage - для тестирования разных ФС (например, LVM/RAID*/reiserfs/btrfs/ext* и т.п.) и ускорения сборки пакетов под tmpfs

C другими разделами аналогично - в зависимости от требований к надежности/производительности могут быть с зеркалами под LVM, разными RAIDами и/или разными ФС. Плюс разные эксперименты...

QA

похоже у тех девов сильно где то чесалось.

никакого контроля качества

udev ebuild размаскировали в какой то момент аж до 9999

вчера новый ebuild подогнали который не поставился по причине колиззий

можно подумать больше делать нечего :(

Это кашмар какой то!

Вот интересно, а система слетела только у меня после обновления? Я целых два дня убил на попытку восстановить работу машины! Ну нельзя же так! Если она не стабильна то зачем её надо было выпускать?
/usr у меня кстати лежит в корневом разделе.

Собсно проблема в том, что после обновления исчезли все устройства, директория /dev стала чиста как стекло. Естесно система просто отказалась грузится. Как побороть так и не нашёл. Решил тем, что откатился назад.
Проблема усугублялась ещё и тем, что я обновлялся сразу многими пакетами и сначала было не понятно, что это вообще слетело.
Зачем они кстати удалили /etc/init.d/udev ? как теперь его перезапускать если что?

Твоя проблема не связана с

Твоя проблема не связана с этим.
Заводи новую тему, посмотрим.

Не грусти, товарищ! Всё хорошо, beautiful good!

[I] sys-fs/udev

[I] sys-fs/udev (182-r2@03/24/2012)
# ll /etc/init.d/udev
-rwxr-xr-x 1 root root 6930 Mar 24 11:07 /etc/init.d/udev*

и в /dev все на месте.

Хех, да, оно не стабильное,

Хех, да, оно не стабильное, если ты не заметил ; сидеть на ~ и жаловатся весьма напоминает ССЗБ. Выскажи претензии тому , кто тебя подсадил на эту иглу ;)

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 ;)

Странно. У меня все норм в

Странно. У меня все норм в /etc/init.d/ А вот пришлось симлинк кидать /lib/udev/udevd в /sbin/. Если кто знает что за хрень. Поделитесь. udev-182-r2 на 182 было все ок

Цитата: Зачем они кстати

Цитата:
Зачем они кстати удалили /etc/init.d/udev ? как теперь его перезапускать если что?

обрати внимание на USE=openrc

стоял у меня openrc и всё

стоял у меня openrc и всё равно /etc/init.d/udev исчез.
Там много чего поисчизало. Даже после того как мне удалось загрузится половина устройств не работала или просто отсутствовала.
Короче ну нафиг я пока посижу на старом.
Да всё приводил как в доке http://git.kernel.org/?p=linux/hotplug/udev.git;a=blob;f=README;h=38459c6b226141408e3b7d2d33c32324dd42c822;hb=refs/heads/master

Во, появился 182-r2 в оверлее

Во, появился 182-r2 в оверлее poly-c. Тут /sbin/udev на месте! И стал без коллизий.

[U] sys-fs/udev

[U] sys-fs/udev
     Available versions:  114 115-r1 119 124-r1 124-r2 141 (~)141-r1 146-r1!t 149 151-r4 164-r2 171-r5 (~)182-r2 **9999!u {{acl action_modeswitch build debug (+)devfs-compat doc edd (-)extras floppy gudev hwdb introspection keymap old-hd-rules +openrc +rule_generator selinux static-libs test}}
     Installed versions:  182(13:32:43 22.03.2012)(gudev hwdb keymap openrc rule_generator -build -debug -doc -floppy -introspection -selinux -static-libs)
     Homepage:            http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/udev.html http://git.kernel.org/?p=linux/hotplug/udev.git;a=summary
     Description:         Linux dynamic and persistent device naming support (aka userspace devfs)

[I] sys-fs/udev-init-scripts
     Available versions:  (~)10!t **9999
     Installed versions:  10!t(13:23:50 22.03.2012)
     Homepage:            http://www.gentoo.org
     Description:         udev startup scripts for openrc

Found 7 matches.
slep@nout /usr/portage/sys-block/tgt $ qlist sys-fs/udev-init-scripts
/etc/conf.d/udev
/etc/init.d/udev-mount
/etc/init.d/udev-postmount
/etc/init.d/udev
/lib/udev/write_root_link_rule
/lib/udev/rules.d/90-network.rules
/lib/udev/net.sh
/usr/share/doc/udev-init-scripts-10/README.lzma

Ну и кто ты после этого ? ;)

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 ;)

Я все-таки думаю, что хрень

Я все-таки думаю, что хрень была не из-за /etc/init.d/udev, а из-за /sbin/udevd. Просто первый нуждается во втором. И не стартует без него.
И в 182-р2 из родного, с portage, есть /lib/udev/udevd, а вот /sbin/udevd отсутствовал. А в оверлее - наоборот.

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-9999.ebuild?r1=1.64&r2=1.65 тут нарыл, что переезд наметился, и симлинк - самый простой вариант.
Но, почему про это в новостях нет ничего?

Эээ, что это, зачем для init

Эээ, что это, зачем для init сценария делать отдельный ebuild ? Не проще ли его флагом прикрутить ?

Да и почему вообще он может быть не нужен, в ручную что-ли udev запускать или свой сценарий писать ?

Цитата: Да и почему вообще

Цитата:
Да и почему вообще он может быть не нужен, в ручную что-ли udev запускать или свой сценарий писать ?

Например, если в системе нет openrc, то и скрипты, очевидно, не нужны

Флаг, к примеру всё тот же

Флаг, к примеру всё тот же openrc, но сам сценарий располагать в sys-fs/udev/files., зачем плодить отдельный ebuild, тем более так его "странно" располагать sys-fs/udev-init-scripts.

Да вродь он,

Да вродь он, udev-init-scripts, сам просится по зависимости.

У меня не просился!

У меня не просился!

Тоже обновился до 182 версии

Тоже обновился до 182 версии - система не грузится. Откатился до 171 на лайве - снова заработало =/
/usr не отдельно, корень вообще цельный, только файлопомойка (/media/data) отдельно.

Как поправить?

Заводите новую тему.

Заводите новую тему.

Не грусти, товарищ! Всё хорошо, beautiful good!

После последнего обновления,

После последнего обновления, вроде заработало.
Пришлось правда делать симлинк в /sbin/udevd на /lib/udev/udevd.

ересь эти симлинки

ересь эти симлинки

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 ;)

ересь-неересь, а зачастую

ересь-неересь, а зачастую простейший способ привести в работоспособное состояние систему после "шалостей" недотестированных пакетов...

emerge Your world
Gentoogle

Enjoy your ~arch.

Enjoy your ~arch. Никто ведь не заставляет сидеть на нестабильной ветке, верно?

Не грусти, товарищ! Всё хорошо, beautiful good!

Я не про "шалости", я про

Я не про "шалости", я про "ересь". :)
#ln -sf "нужная библиотека" "нужное её наименование"
помогает в большинстве случаев при несогласованном обновлении пакетов, когда, скажем, библиотека обновилась, а пакет про это счастье ещё не знает, или наоборот: когда пакет ищет библиотечку поновее, а её в системе ещё нет, но старая по функционалу подходит.

emerge Your world
Gentoogle

никогда не приходилось так

никогда не приходилось так делать. FEATURES=preserve-libs как-никак.

И опять же, на стабильной

И опять же, на стабильной ветке такого не бывает.

Не грусти, товарищ! Всё хорошо, beautiful good!

а то что он (udev-182) просит

а то что он (udev-182) просит удалить consolekit - это так и задумано, да? и как kde без consolekit запускаться будет?

Размаскируй consolekit

Размаскируй consolekit

он и так размаскирован

он и так размаскирован

Без приведенных логов ничего

Без логов ничего сказать не могу.

Как-то вся эта история

Как-то вся эта история "поттеризмом" отдает...
Ну зачем было всех ставить раком?
Что вынуждает "прибивать" что-то гвоздями? Еще бы привязали к наименовванию раздела "Disk_C"
И вообще - на линукс пересел именно из-за гибкости и поливариантности системы, а тут диктатурой запахло...

emerge Your world
Gentoogle

Полностью согласен с

Полностью согласен с предыдущим автором.Я просто пользователь,система собрана у как 4 года назад,/usr отдельный,пока гемора нет потому,что сижу на стабильной ветке,в будущем то и udev-182 и openrc-* размаскируют,ну и нахера мне свистопляска с initramfs,неужели нельзя нормальный выход для всех пользователей придумать???

initramfs и есть нормальный

initramfs и есть нормальный выход для всех пользователей.

Не грусти, товарищ! Всё хорошо, beautiful good!

не согласен. я никогда

не согласен. я никогда initramfs не юзал, и не хочу его использовать.

Твое право.

Твое право.

Не грусти, товарищ! Всё хорошо, beautiful good!

skonst ты юзаешь ядро 2.6 и

skonst ты юзаешь ядро 2.6 и выше? если да то ты юзаешь initramfs всегда при загрузке просто по умолчанию он пустой

Внимательно курим ядерную документацию

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

(*)

Как странно. Я раньше думал, что если в grub.conf есть только kernel то это одно, а если там kernel+initrd то это как раз другое.
Вон, даже в handbook-e пишут "initrd /boot/initramfs-genkernel-amd64-2.6.34-gentoo-r1" а в то же время в http://en.wikipedia.org/wiki/Initrd пишут, что initrd и initramfs это разные вещи. А теперь что же получается - initramfs и так и эдак есть, а строка initrd в grub.conf нужна только чтобы указать, чем этот "пустой" заменить? Ух ты.
А вон в новости пишут "вы должны создать initramfs". Видимо, "пустой"-то не справляется с монтированием /usr. А жаль. Если бы этот "пустой" монтировал /usr, то не надо было бы писать "initrd /boot/initramfs-genkernel-amd64-2.6.34-gentoo-r1", так ведь?
А не означает ли это всё, что слова "я никогда initramfs не юзал, и не хочу его использовать" как раз и означают "я никогда в grub.conf строку initrd не прописывал, и не хочу это делать"? А если означает, то тогда ваш комментарий, увы, обесценивается :(

дык чем все закончилось?

дык чем все закончилось? революция свершилась или бунт был подавлен? :)

Какая революция? Какой бунт?

Какая революция? Какой бунт? ты о чем?

ну, разве все были согласны с

ну, разве все были согласны с идеологией совмещения /usr с / ??? :)

никто никого совмещать и не

никто никого совмещать и не заставлял

Какой бунт? Тут констатация

Какой бунт? Тут констатация факта

Установил udev-182-r3,

Установил udev-182-r3, initramfs собрал с помощью genkernel-3.4.34.
Если не отключать проверку /usr в fstab - fsck ругается на уже смонтированную fs.
Если отключить, теоретически initramfs должно делать эту проверку, но оно не делает.
"Last checked" не меняется, зато растет "Mount count" и когда оно дойдет до "Maximum mount count" - система превратится в тыкву.
Весело. Пойду маскировать обратно udev-182.

Кто тебе такое сказал?

Кто тебе такое сказал? "Maximum mount count" считается в метаданных ФС, а не в fstab. При достижении предела ФС проверяется утилитами, находящимися в initramfs.

Не грусти, товарищ! Всё хорошо, beautiful good!

А если надо принудительно

А если надо принудительно прочекать ФС - как быть? Кроме как с livecd.

touch forcefsck не работает?

touch forcefsck 

не работает?
UPD. судя по

 $ grep -r forcefsck /usr/lib/dracut
/usr/lib/dracut/modules.d/98usrmount/mount-usr.sh:    if [ -f "$NEWROOT"/forcefsck ] || getargbool 0 forcefsck ; then
/usr/lib/dracut/modules.d/99base/mount-hook.sh:    if [ -f "$NEWROOT"/forcefsck ] || getargbool 0 forcefsck ; then
/usr/lib/dracut/modules.d/99base/mount-hook.sh:    [ -f "$NEWROOT"/forcefsck ] && rm -f "$NEWROOT"/forcefsck 2>/dev/null
/usr/lib/dracut/modules.d/95rootfs-block/mount-root.sh:    if [ -f "$NEWROOT"/forcefsck ] || getargbool 0 forcefsck ; then
/usr/lib/dracut/modules.d/95rootfs-block/mount-root.sh:    [ -f "$NEWROOT"/forcefsck ] && rm -f "$NEWROOT"/forcefsck 2>/dev/null

dracut умеет проверять по требованию.

http://www.gentoo.ru/content/

http://www.gentoo.ru/content/tipsntricks-proverka-faylovoy-sistemy-pri-sleduyushchey-perezagruzke

Не грусти, товарищ! Всё хорошо, beautiful good!

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

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