Доводим live-usb до ума, часть 2: Как работает?

Чтобы всем было непонятно, я расскажу, откуда в слаксе файлы берутся.

В директории slax/base/ лежат LZM-модули, из которых вылупляется базовая система. Сам модуль напоминает пакет, только с одним отличием — он никогда не распаковывается на физический носитель, а просто подключается к файловой системе. И не нужно никаких процедур установок или удалений: модуль либо подключён, либо нет. Для подключения стороннего модуля к системе достаточно набрать activate <имя_модуля> или положить его в директорию slax/modules/, откуда он сам подключится после запуска системы.

А как быть с данными, которые накапливаются в процессе работы? Они все складываются в директорию slax/changes/ на флеш-носителе. Например, если вы набрали документ и сохранили его по адресу /home/user/document.odf, то физически система положит его в slax/changes/home/user/document.odf. При следующем запуске так же загрузится базовая система из модулей, директория slax/changes/ подключится к корню и всё станет так, как было за сеанс предыдущей работы.

Следует отметить, что многие конфигурационные файлы (директория /etc) создаются live-скриптами каждый раз заново, поэтому бесполезно, например, редактировать /etc/X11/xorg.conf по своему вскусу — он всё равно будет стёрт после перезагрузки.

Но самое интересное — это возможность оверлея. В slax/changes/ хранятся не только данные о пользовательских файлах, но и данные об изменении уже существующих файлов из модулей! Допустим, мы хотим заменить утилиту ls своей версией, более продвинутой, с возможностью грабить караваны. Для этого нам нужно просто переместить её в директорию /bin/, заменив оригинальный файл. Разумеется, изменения вступят в силу немедленно: набрав ls в консоли, мы получим «продвинутую» версию. Тем временем на физический носитель запишется файл slax/changes/bin/ls, который после перезагрузки «перекроет» оригинальную версию из модуля. С оригинальной же версией ничего не происходит. То есть модули доступны только для чтения, но есть возможность изменения файлов, находящихся в них.

Таким образом, если новая версия ls окажется нестабильной, всё, что нам нужно для восстановления былой работоспособности — это удаление slax/changes/bin/ls. Так как система не найдёт утилиту ls в папке slax/changes/, она пойдёт за ней в модуль, где утилита оставалась без изменений всё это время. Как вы уже могли догадаться, «поломать» оригинальные системные файлы становится невозможно, а для ремонта нам всего лишь нужно почистить slax/changes/. Чего хочешь, то и твори.

Кстати, есть возможность не только изменять файлы из базовой системы, но и «удалять» их. Попробуйте разобраться, как это работатет.

Также сводится до банальности процесс обновления системы. Старые файлы просто заменяются файлами нового релиза, а slax/modules/ и slax/changes/ остаются нетронутыми. Поэтому все изменения за время жизни системы сохраняются, и никаких вам пакетных менеджеров и конфликтов.

Реклама

1 комментарий

Filed under Без рубрики

One response to “Доводим live-usb до ума, часть 2: Как работает?

  1. Андрей

    > Следует отметить, что многие конфигурационные файлы (директория /etc)
    > создаются live-скриптами каждый раз заново, поэтому бесполезно, например,
    > редактировать /etc/X11/xorg.conf по своему вскусу — он всё равно будет
    > стёрт после перезагрузки.

    Также следует отметить , что по адресу /etc/X11/gui.conf лежит файл в котором можно отключить автоматическое конфигурирование файла xorg.conf что может быть полезно, если вы используете slax в качестве домашней системы(как это делаю я) =)

    p.s. Очень приятно вас читать Александр. Продолжайте!

Добавить комментарий

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

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s