[новости archlinux testing] Поддержка /usr на отдельном разделе

    Привет, хабралюди!

    Вместе с релизом mkinitcpio 0.8.2 добавили поддержку монтирования /usr из early userspace, в случае если /usr расположено на отдельном разделе. Кто там громче всех кричал «хотим фичу, суть такова..», ну вот, теперь она есть и ее надо тестировать.

    Чтобы заработало, нужно две вещи:




    1) Включить хук shutdown в /etc/mkinitcpio.conf. Он скопирует содержимое initramfs в /run/initramfs в ходе начальной загрузки и добавит небольшой скрипт (ВНЕЗАПНО называющийся shutdown). При выключении, initscripts смонтирует API filesystems в /run/initramfs, переключится на этот новый корень и затем подряд отмонтирует реальные файловые системы.

    На момент написания, всё это работает максимально тупо. Не разбираются сложные системы, такие как LVM, и не закрываются шифровальные маппинги. Возможно, это добавится в следующем релизе.

    2) Добавить хук fsck в /etc/mkinitcpio.conf. В случае если /usr имеет файловую систему, отличающуюся от файловой системы корня, нужно добавлять его до autodetect. Если вы не добавите этот хук, может случится много грустных вещей (и после этого вы пойдете плакать что Арча — для красноглазиков, и нужно валить на Debian Stable срочно :). Быть может, в следующем релизе хук станет достаточно умным, чтобы обрабатывать бинарники только из корня и /usr.

    Этот хук fsck рекомендуется абсолютно всем, а не только тем, у кого отдельный /usr. Запуск fsck в early userspace означает, что диск может быть проверен до монтирования — поэтому чинить можно без перезагрузки.

    При использовании systemd всё должно работать точно так же. Скрипт shutdown игнорируется, а корень не будет перепроверяться из-за наличия сигнального файла, появившегося в /run/initramfs.

    (Ответственный за безобразие — Дейв Рейзнер.)

    Happy new updates, gentlemen!
    Поделиться публикацией
    Комментарии 20
      +10
      Так, стоп, а в чем проблема монтировать /usr на отдельном разделе? Это ж умеет любой линукс уже лет пятнадцать!
        +1
        Арч понатащили в себя кучу «нововведений» гениальных.
          +2
          Сейчас последняя мода — тащить всё из /bin в /usr/bin. Не знаю, из каких соображений. На деле получаем глюки и регрессии. Поэтому нужны пляски с бубном.
            +3
            У нас, в уютненькой федорке как раз наоборот от разных местоположений бинарников /{,usr/}{,s}bin избавляются. Сливают воедино.
              0
              Емнип, в федорке тоже все сливают в /usr/bin
                +1
                «После обсуждения идеи переноса части компонентов корневой системы в /usr и объединения /sbin и /bin принято решение об утверждение планов по реализации первой идеи. Вторая идея одобрения не нашла.»
                Подробности fedoraproject/wiki

                И новость о бинарных логах, для меня, как минимум, убрала приставку «уютненькой» от федорки. Если дело так пойдет и дальше, буду думать о переезде на другой дистр.
            +16
            O_O
            Арч не умел /usr на отдельном разделе? Во дела
              +2
              Да, я тоже удивился. Уже давно им пользуюсь и как-то не возникало проблем с этим.
                0
                udev запускается раньше, чем монтируется /usr. А почему udev запускается раньше? Потому что нужно проинициализировать девайсы для монтирования /usr. Это замкнутый круг. Поэтому ответственность за монтирование /usr переносится на initrd.

                а вообще, есть более короткое объяснение. Леннарт наш Поттеринг повелел, что более не будет /usr на отдельном разделе, и стало так.
                  +2
                  Замкнутый круг возникнет, только если udev живёт на /usr.
                  Возникает вопрос — нафига?

                  ""/usr — «Вторичная иерархия для данных пользователя; содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин.»""
                    +1
                    я имел ввиду пользовательских
                  –1
                  я чётко помню, что у меня нормально работал FreeBSD 4.11 6 лет назад с / на одном винте, а /usr — на другом.
                  +1
                  Арч умел /usr на отделном разделе, но потом вдруг что-то сломали, хотя у меня и сейчас /usr на отдельном разделе, правда сиплет ошибками при запуске что не может его смонтировать, но работу системы в моём случае это ни как не повлияло.

                  [dganic@dga ~]$ df -h
                  Файловая система Размер Использовано Дост Использовано% Cмонтировано в
                  rootfs 20G 16G 2,7G 86% /
                  udev 10M 0 10M 0% /dev
                  /run 10M 296K 9,8M 3% /run
                  /dev/sda1 20G 16G 2,7G 86% /
                  shm 1004M 1,6M 1002M 1% /dev/shm
                  /dev/sda3 9,2G 5,6G 3,1G 65% /usr
                  /dev/sda4 83G 40G 42G 49% /media/pomoika
                  /dev/sdb5 139G 96G 43G 70% /media/pomoika2
                    0
                    Имхо, лучше не /usr на отдельный раздел утаскивать, а /usr/share, /usr/include. Проще будет систему восстанавливать после краха.
                      0
                      Зачем вы постите arch-specific новости в этот блог?

                      Все адекватные люди, у которых подключен [testing], должны быть подписаны на рассылки arch-general и arch-dev-public, а кто не подписан, тот сам себе злой Буратина бегает по Лору с криками: «Не было печали, апдейтов накачали».
                        0
                        У многих не подключен testing, но интересно, что же происходит.

                        Отдельный блог для арча — в процессе.
                          0
                          Плюс, это способствует популяризации Арча.

                          Погляди на этот блог — тут что-то новое появляется раз в сто лет. Я бы с удовольствием почетал сводки разработки по Федоре и Убунту, но их почему-то никто не постит.

                          Плюс, читать на русском в одном месте гораздо приятней, чем на английском путем самостоятельного постоянного чтения рассылок, новостей и арчефорума. Я бы с радостью не читал всю эту пургу, если какой-нибудь добрый дядечка делал это за меня. К сожалению, никто этого не делает (да и я не возьмусь пока писать полный обзор ситуации).
                          +1
                          Отличная новость, у меня как раз /usr на отдельном разделе.
                          Приоткрою тайну: на самом деле всё работало и до этой новости, просто при загрузке системы оно пишет красным цветом
                          /usr is not mounted. This is not supported.
                          и спокойно продолжает грузится дальше.
                          А вот systemd с отдельным /usr не умеет грузиться, и по сообщениям разработчика, это якобы не их вина.
                          Надеюсь, что теперь и systemd будет работать.
                            +1
                            > Приоткрою тайну: на самом деле всё работало и до этой новости, просто при загрузке системы оно пишет красным цветом
                            /usr is not mounted. This is not supported.
                            и спокойно продолжает грузится дальше.

                            Вам повезло.
                            Подробнее здесь: comments.gmane.org/gmane.linux.arch.general/37167

                            > А вот systemd с отдельным /usr не умеет грузиться, и по сообщениям разработчика, это якобы не их вина.
                            Надеюсь, что теперь и systemd будет работать.

                            freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
                            Вообще-то умеет, работает так же как и с SysV initscripts — если повезёт и не будет race conditions или других специфичных вещей.
                              0
                              Хм, я описал свой опыт. На моей системе все разделы находятся в LVM на диске с GPT-разметкой. Обычная загрузка системы работает, только вот сообщение про непримонтированный /usr пишет. А вот systemd вообще отказался грузиться, узнав про отдельный /usr.

                              По моим ощущениям, всё идёт к тому, чтобы systemd стал системой загрузки в Арче по-умолчанию.

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое