LINUX.ORG.RU
ФорумTalks

[вброс] [поттеринг] перенос каталогов

 ,


0

2

интересное мнение насчёт отказа от /bin и /lib: http://www.muromec.org.ua/2012/02/blog-post.html

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

★★★

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

Это как раз подход «X задумывалось чтобы получить Y» не имеет смысла. Потому что имеет смысл только суровая реальность, а не то, что пытались получить и зачем.

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

Поттеринга, естественно.

// Впрочем, сходил по ссылке и… не нашёл ни одного упоминания про него. Но леннарт всё равно не нужен. :)

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

Впрочем, сходил по ссылке и… не нашёл ни одного упоминания про него.

Есть:

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

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

Я имел в виду само описание идеи. Особенно доставило про /usr/share/…

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

так там же и другие аргументы.

«Аргументы» сводятся к:

1. Всё это давным давно затевалось по совсем другому поводу.

2. Загрузка сломана.

3. Есть initrd.

Ответы на них давно обсосаны и вполне очевидны:

1. Не важно, зачем затевалось. Важно, что получилось.

2. Если сломана, чините.

3. Если мысленно превратить initrd в пожатый корень (во что его совсем не мысленно федора и превращает), то возникает закономерный вопрос: а зачем нам пожатый корень, если есть обычный?

Ну и самое главное. Предложенное Федорой решение не решает проблему. Сейчас мы не можем смонтировать /usr, потому что не проинициализирован udev, а udev не проинициализирован потому что мы не можем смонтировать /usr. А теперь переносим, как хочет Федора, всё в /usr, в initrd оставляем загрузочный минимум и... получаем ту же картину: /usr мы не можем смонтировать, потому что не проинициализирован udev, а udev не проинициализирован потому, что еще не смонтирован /usr.

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

А теперь переносим, как хочет Федора, всё в /usr, в initrd оставляем загрузочный минимум и... получаем ту же картину: /usr мы не можем смонтировать, потому что не проинициализирован udev, а udev не проинициализирован потому, что еще не смонтирован /usr.

Хинт: devtmpfs.

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

Lighting ★★★★★
()

Так ведь такое усложнение структуры не нужно ни мейнтейнерам, ни пользователям. И хоть до недавнего времени я initrd вообще не использовал(да и использую только лишь из-за LVM), но идея использовать минимальный initrd для загрузки(в том числе и с каталогами на отдельных разделах) не выглядит чем-то необычным.

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

Хинт: devtmpfs.

Хинт: devtmpfs в проблеме отношения не имеет никакого. Это исключительно проблема курицы и яйца при инициализации udev.

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

Сразу видно, что ты не в теме вообще, ага.

geekless ★★
()

По сути да. Лично мне ни разу не пригодился отделённый от всего корень, а вот починять систему из initramfs приходилось.

GotF ★★★★★
()

Кстати, почему никто не догадался объединить /*/bin и /*/lib ?

Reset ★★★★★
()

грамар наци выехали к автору статьи

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

Хинт: devtmpfs в проблеме отношения не имеет никакого. Это исключительно проблема курицы и яйца при инициализации udev.

Теперь возьми и почитай, что это такое и для чего нужно, прежде чем делать некомпетентные заявления. А то, видите ли, нахватать умных выражений успел, а разобраться в сути вопроса - нет.

http://linux.derkeiler.com/Newsgroups/alt.os.linux/2011-11/msg00010.html

http://comments.gmane.org/gmane.linux.gentoo.devel/72969

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

написал же, [вброс]. и не обижай няшу

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

проблема в том, что старпёры привыкли, чтобы /bin и /usr/bin были раздельно. /lib и /usr/lib аналогично. а теперь всё объединяют в /usr/bin и они бунтуют

на простых ользователях не отразится

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

Ты чо такой резкий? С какова раёна?

http://linux.derkeiler.com/Newsgroups/alt.os.linux/2011-11/msg00010.html

Всё правильно написано, да вот только devtmpfs там не упоминается вообще, вот незадача, да?

http://comments.gmane.org/gmane.linux.gentoo.devel/72969

Огромная стена текста, ты мне предлагаешь её всю читать?

Теперь по сути. udev запускает вещи, которым нужны файлы из /usr. При этом в последовательности загрузки udev запускается раньше, чем монтируется /usr. Внимание вопрос: ПОЧЕМУ udev запускается раньше?

geekless ★★
()

Эти упоротые идиоты уже не представляют загрузки без initrd?

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

замкнутый круг, just as expected :) Предлагаю вместо initrd грузить Windows 98 и разруливать базовые зависимости.

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

И как это отразится на простых пользователях?

Отразится в том, что в Linux в очередной раз всё поломают и сделают ещё один шаг в сторону СГ. Одним больше, одним меньше — уже не принципиально. Тренд удручает.

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

Всё правильно написано, да вот только devtmpfs там не упоминается вообще, вот незадача, да?

Зато там как раз к месту упоминается загрузочный initramfs, в котором /dev заполняется ядерным devtmpfs, монтируются ФС, а потом при помощи exec запускается init.

Огромная стена текста, ты мне предлагаешь её всю читать?

Судя по тому, что ты не осилил текст по первой ссылке, развёрнутое обсуждение, на которое ссылаются, тебе противопоказано.

Теперь по сути. udev запускает вещи, которым нужны файлы из /usr. При этом в последовательности загрузки udev запускается раньше, чем монтируется /usr. Внимание вопрос: ПОЧЕМУ udev запускается раньше?

Проблема состоит в том, что systemd и прочие init'ы на стероидах зависят от ресурсов, которые в момент запуска недоступны(а рулит ими как раз udev). Вот, о чём и идёт речь.

Lighting ★★★★★
()

Ой, а как же без initrd грузиться? Бида-бида.

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

Зато там как раз к месту упоминается загрузочный initramfs, в котором /dev заполняется ядерным devtmpfs, монтируются ФС, а потом при помощи exec запускается init.

Всё прекрасно. За исключением ответа на вопрос: почему же это не работает сейчас (с раздельными / и /usr).

Судя по тому, что ты не осилил текст по первой ссылке, развёрнутое обсуждение, на которое ссылаются, тебе противопоказано.

У меня 2 часа ночи, завтра почитаю.

Проблема состоит в том, что systemd и прочие init'ы на стероидах зависят от ресурсов, которые в момент запуска недоступны(а рулит ими как раз udev). Вот, о чём и идёт речь.

Ппц. Проблема не в systemd и «продвинутых инитах». Всё нужное для функционирования инита и так лежит в корне. Проблема в том, что поднятие udev-а для «внешнего наблюдателя» (загрузочных скриптов) атомарно. Нельзя сделать так, что «давай ты немного поинициализируешься до состояния, когда будут готово всё, что нужно, для монтирования /usr, потом я смонтирую /usr, а потом ты доинициализируешь всё остальное». Вот в чем проблема. Поэтому если мы хотим иметь смонтированный /usr ДО udev-а, нам надо организовать в стартовых скриптах восход солнца вручную и сделать часть работы за udev.

И перенос бинарников в /usr ничего не меняет. Тебе просто придётся иметь более жирный initrd, который и сделать этот восход солнца. Эффективно спрятали проблему и попутно сделали бесполезную работу — вот как это называется.

Пененос бинарников в /usr не плох и не хорош. Он просто не решает проблему, из-за которой всё затевалось. Вообще.

Тебе бы в самом деле не мешало матчасть поштудировать, ага. В systemd он проблему увидел...

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

Теперь по сути. udev запускает вещи, которым нужны файлы из /usr. При этом в последовательности загрузки udev запускается раньше, чем монтируется /usr. Внимание вопрос: ПОЧЕМУ udev запускается раньше?

А у меня вопрос другой: Почему нельзя вынести вещи необходимые для загрузки в корень? Т.е. все наоборот сделать

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

В СГ он скатывается, когда в качестве развития Gnome2 делают вещи вроде Gnome3. А где при этом будут лежать cp, mv, ln, ioquake3, eclipse и другие важные бинарники — дело десятое.

PolarFox ★★★★★
()

интересное мнение насчёт отказа от /bin и /lib

Сходил по ссылке. Ни слова про отказ от bin и lib автор поста в жежешечке не написал.

name_no ★★
()

вообще-то это проблема федораюзеров.

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

Всё прекрасно. За исключением ответа на вопрос: почему же это не работает сейчас (с раздельными / и /usr).

Почему не работает?

Проблема не в systemd и «продвинутых инитах».

А кто-то говорил, что проблема в них? Проблема в том, что они используют файлы, которые в случае отдельного /usr не будут доступны до запуска udev, который начинает работу как раз после init'а.

Поэтому если мы хотим иметь смонтированный /usr ДО udev-а, нам надо организовать в стартовых скриптах восход солнца вручную и сделать часть работы за udev.

организовать в стартовых скриптах восход солнца вручную и сделать часть работы за udev

Что-что? Подмонтировать разделы и передать управление init'у - это непосильная задача?

Тебе бы в самом деле не мешало матчасть поштудировать, ага.

Можешь ещё в лучших традициях мегабакса посоветовать «выпрямить руки».

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

Loki13

А у меня вопрос другой: Почему нельзя вынести вещи необходимые для загрузки в корень? Т.е. все наоборот сделать

ну сейчас они и так в корне - в /bin.

я прекрасно загружаюсь и чиню систему без /usr/, /home/, /tmp/, /var/

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

Внимание вопрос: ПОЧЕМУ udev запускается раньше?

Именно в ответ на этот вопрос тебе и предлагают devtmpfs. Монтируешь её, монтируешь /usr, стартуешь udev и не ссышь людям в мозги

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

Проблема не в systemd и «продвинутых инитах».

А кто-то говорил, что проблема в них? Проблема в том, что они используют файлы, которые в случае отдельного /usr

Не могу не обратить внимание на то, что init'у таки реально не противопоказано использовать файлы из /usr, так действительно проблема в systemd

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

ну сейчас они и так в корне - в /bin.

Я не о том. А о том что мешает. systemd насколько я помню мешал libdbus(или как он там) в /usr. так не проще ли либы в корень вынести

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

Отразится в том, что в Linux в очередной раз всё поломают и сделают ещё один шаг в сторону СГ. Одним больше, одним меньше — уже не принципиально. Тренд удручает.

/usr и так поломан много лет. А дистры используют initrd с базибоксом.

FiXer ★★☆☆☆
()

А объясните кто-нибудь, если не трудно, в чём такая сложность починить /bin, чтобы он таки зависел исключительно от /lib? Ну сломано, печально, ну давайте починим, перекинем n библиотек в /lib, кому от этого хуже то станет?

Вот зачем sbin нужен, я не совсем понимаю. Раньше думал, что это какой-то superuser bin, но это бред, ряд программ оттуда полезны и для юзера. Потом думал, что это static bin, но это тоже бред, ничего там статически не скомпилировано.

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

Loki13

Я не о том. А о том что мешает. systemd насколько я помню мешал libdbus(или как он там) в /usr. так не проще ли либы в корень вынести

имхо systemd не нужен.

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

FiXer

/usr и так поломан много лет. А дистры используют initrd с базибоксом.

use Slackware Linux

drBatty ★★
()

минимальная система имеется в инитрд

4.2.

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