Во-первых, я намерен создать портативный загрузочный USB-накопитель, содержащий дистрибутив GNU/Linux. В частности, я хочу использовать Arch Linux с корневой файловой системой squashfs только для чтения.
Образ squashfs основан на моментальном снимке работающей ВМ. Базовая система с такими сервисами, как ssh, работает из коробки, как и ожидалось. Но при попытке запустить gnome через systemd (systemctl start gdm) я вижу только черный экран (предположительно X-Server запустился, но gdm не загружается). Я уже пытался выяснить, что происходит, но не смог определить точную проблему.
- Домашние каталоги доступны для записи
- /tmp доступен для записи
- /var/log доступен для записи
- /var/run и /run в любом случае доступны для записи
/var/log/gdm создается, но остается пустым. Каким модулям может потребоваться доступ на запись к любым другим файлам? Есть ли документация? Что имело бы смысл в strace или подобном?
Я хочу узнать корень проблемы и исправить ее, а не использовать обходные пути, такие как unionfs. Спасибо за любую помощь или подсказки!
Хотя это не имеет значения, для тех, кто может задаться вопросом, почему я хочу это сделать, вот несколько моментов, которые следует учитывать:
- Стабильность — поскольку вы не можете изменять системные файлы, вы не можете испортить систему (конечно, если вы не записываете поддельные данные непосредственно на диск)
- Хранилище: поскольку файлы сжимаются, на диск помещается больше данных.
- Производительность — поскольку ввод-вывод на большинстве USB-накопителей выполняется медленно, сжатие обеспечивает более высокую скорость ввода-вывода.
- Портативность — никаких особых требований к хранилищу только для чтения, вы можете скопировать его на компакт-диск или с помощью любой другой технологии, предназначенной только для чтения, и оно будет работать так же, как и на записываемом диске.
Обновить
Я понял, что проблема на самом деле была в /var/lib/gdm. GDM попытался получить доступ к файлам там, но (молча) не смог, из-за чего у меня был черный экран.
ro
для корневой файловой системы в/etc/fstab
иREADONLY=yes
в/etc/systemctl/readonly-root
. Это отлично работает для минималистской безголовой системы, но вход в систему с использованием GDM приводит к черному экрану, за которым снова следует запрос на вход в GDM. Я хотел бы получить журнал о попытках доступа к файлу, чтобы я мог добавить его в/etc/rwtab
. Есть ли в Arch Linux эквивалент/etc/systemctl/readonly-root
? - person James Marble   schedule 01.01.2015unix.stackexchange.com
... - person Am_I_Helpful   schedule 06.01.2015