LINUX.ORG.RU

Почему корневая файловая система монтируется в readonly?

 , ,


0

1

Продолжение топика.

Зачем systemd зависит от baselayout?

# baselayout-2.2 has /run

говорит нам комментарий в .ebuild-файле. Но я не понял смысла комментария.
Для чего вообще нужен sys-apps/baselayout (я думал, что baselayout - это кусок от sysvinit)?

зачем там есть сервис root (если по предположению pinkbyte всё и так должно быть rw по-умолчанию)?

in baselayout 2, there is a service called root that just remounts the root file-system read-write.

https://superuser.com/questions/193115/root-file-system-is-mounted-read-only-...

★★☆

Последнее исправление: Einstok_Fair (всего исправлений: 2)

А по equery f baselayout неясно зачем он нужен? Например базовые настройки переменных окружения через env-update. Это init-agnostic пакет, если что. /etc/sysctl.conf опять же(я в курсе, что предпочитаемым нынче является /etc/sysctl.d, речь про дефолт)

Теперь по поводу init-скрипта root в baselayout-е:

oas1 ~ # equery f baselayout | grep init.d
oas1 ~ #

Вывод: прежде чем читать описания состава пакета времен мамонтов - убедись в том, что эти компоненты оттуда не повыкидывали.

Baselayout 2 о котором ты читал - это версия 2.0. И вышла она как бы не лет 10 назад, когда про systemd там еще никто и не думал.

Немного истории миграции в старом гайде по переходу:

This led to a development of baselayout 2, which is written in C and only requires a POSIX-compliant shell. During the development of baselayout 2, it was determined that it was a better fit if baselayout merely provided the base files and filesystem layout for Gentoo and the rc system was broken off into its own package. Thus OpenRC was born.

TL;DR: baselayout - это набор независимых от init-системы конфигов и файлов-описаний(например те же /etc/services и /etc/shells)

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 6)
Ответ на: комментарий от Pinkbyte

конечно не ясно
app-portage/gentoolkit не входит в @system для профиля
и это ещё нужно догадаться, что equery из этого пакета

в то же время на web можно сразу прочитать описание пакета в браузере.

Но это всё никак не объясняет, что сделать, чтобы корень стал в rw без создания /etc/fstab

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

app-portage/gentoolkit не входит в @system для профиля

Потому что не является обязательным для работы системы, очевидно же. Но если ты полез разбираться в потрохах систем - то и девтулзы поставить уже не грех :-D

и это ещё нужно догадаться, что equery из этого пакета

Если ты не желаешь пользоваться equery для поиска - дело твое. Можно парсить /var/db/pkg руками - я так делал, ничего страшного там нет.

в то же время на web можно сразу прочитать описание пакета в браузере.

Которое, как я уже сказал, может слегка устареть. На десяток лет.

Но это всё никак не объясняет, что сделать, чтобы корень стал в rw без создания /etc/fstab

Если ты внимательно прочитаешь /etc/init.d/root в OpenRC - то там предполагается вариант, когда корневая ФС УЖЕ будет в rw и ничего перемонтировать будет не нужно(кусок с if checkpath -W /; then)

Но так как твой вопрос касается системы с systemd в качестве init-а - тут я вряд ли чем-то смогу помочь.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

системы с systemd в качестве init-а

Но ведь корень же кто-то монтирует в readonly. И я думаю, что это вовсе не systemd, а кусок скрипта в initramfs, который выпарсивает параметр "real_root"

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 2)
Ответ на: комментарий от Einstok_Fair

И? В systemd это багом не считают(что логично), как мы выяснили в прошлом треде. Передавай опции корню в параметрах ядра(выясни откуда берется ${REAL_ROOTFLAGS} ) - делов-то. А вот как устроен запуск fsck в systemd и сработает ли он на r/w системе - тут я хз.

Меня упорно не покидает мысль что ты пытаешься решить проблему которую не надо решать. Потому что она не является проблемой.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 4)
Ответ на: комментарий от Pinkbyte

выясни откуда берется ${REAL_ROOTFLAGS}

не могу. В интернете поиском она не ищется, значит она незадокументированная.

я попробовал в конфиге груба дописать real_rootflags=rw и смонтировалось с rw, только пользоваться этим не могу, так как не понимаю, как это будет работать с fsck

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

В интернете поиском она не ищется, значит она незадокументированная.

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

так как не понимаю, как это будет работать с fsck

Я знаю как это работает в OpenRC. Потому что прочел шелл-скрипт. У тебя systemd. Я верю, что ты сможешь прочесть содержимое unit-файлов. Или, на худой конец, исходники самого systemd.

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

ты ... прочесть

нет, я не такой. Я сначала спрошу, видел ли кто соответствующую статью («организация проверки файловых систем при запуске компьютера на основе systemd»), и если её никто не видел, то буду разводить панику.

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

Я сначала спрошу
и если её никто не видел, то буду разводить панику.

*голосом старпера* молодой человек, вам рано еще в Linux, у вас молоко на губах не обсохло...

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