Попытка создать пользовательский Ubuntu Live USB с поддержкой RAM и возможностью сохранения

Попытка создать пользовательский Ubuntu Live USB с поддержкой RAM и возможностью сохранения

Я ломал голову, пытаясь понять, как лучше это сделать. Это может показаться немного запутанным, поэтому позвольте мне объяснить"почему"первый.

У меня уже есть Linux Live USB-накопитель (на мощном USB-накопителе Samsung на 256 ГБ, который работает так же быстро, как SSD, работает отлично!). Но я хочу создать другой(ие) Linux USB-накопитель(и) только для выполнения основных массовых задач, таких как восстановление в облаке или запуск одного и того же сценария обслуживания на разных ноутбуках/настольных компьютерах одновременно. Некоторые из них находятся в разных состояниях, с разными ОС, некоторые даже не имеют сетевого подключения... Но вставить Linux USB с нужными мне файлами и стандартизированной средой запуска/восстановления скриптов — это идеально.

Проблема в том, что у меня, очевидно, ограниченное количество USB-накопителей. Я хочу иметь возможность загрузить ОС и сохранить все в оперативной памяти, а затем вытащить USB-накопитель, и ничего странного не произойдет, он просто продолжит работать. Ну, угадайте, что уже делает это из коробки? Установщик Ubuntu Live 22.04 в режиме «Попробовать Ubuntu». Это также имеет преимущество в том, что занимает гораздо меньше места, чем стандартная установка 22.04, что также означает меньшее использование оперативной памяти, поскольку диск полностью хранится в оперативной памяти. По моим наблюдениям, он занимает всего 1,6 ГБ.

Обновлять:Удалив maybe-ubiquityиз grub, я смог заставить систему загружаться напрямую в Live Ubuntu, а не в установщик. Спасибо @Raffa за помощь с этим. Во-вторых, я смог настроить непостоянную файловую систему (в /casper/filesystem.squashfs), используя unsquashfsинструмент, загрузив VM, изменив все и переделав ее. Однако это очень неудобно, особенно если вы хотите сделать только небольшую настройку.

Также я могу подтвердить, что даже с опцией, toramдобавленной в grub, постоянный раздел (который, кстати, вы получаете, просто назвав раздел ext4 «записываемым» и загрузившись с этой persistentопцией) НЕ кэшируется. Система немедленно зависнет и в конечном итоге зависнет/упадет при извлечении USB. Однако в непостоянном режиме все теперь хорошо и стабильно, когда USB извлекается. Я даже написал скрипт, который безопасно отмонтирует USB при загрузке, так что вы можете удалить его, как только увидите рабочий стол.

Одна из идей, которая у меня есть, заключается в том, что я мог бы автоматизировать процесс распаковки и повторной распаковки, так что вы можете буквально загрузиться в неперсистентном режиме, как обычно, но при запуске скрипта содержимое ОЗУ будет записано обратно в filesystem.squashfs. Это влечет за собой риск потери данных, если система неожиданно выключится, но, учитывая, что я буду вносить изменения только время от времени, и в большинстве случаев использую только неперсистентный режим, это имеет смысл для моего варианта использования.

Связанный контент