RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
На всякий случай создан снимок состояния файловой системы на момент до обновления.
# zfs snapshot -r zroot@20090824
После этого выполняем обновление системы и приложений, установленных
из портов. Теперь предположим, что обнаружена проблема и нужно
проверить её наличие в 8.0-BETA1, либо откатить систему на это
состояние (мне нужно было проверить). Для этого я воспользовался
клонами в ZFS.
Клоны - это доступные для записи копии снимков. Они так же как
и снимки изначально почти не занимают места на диске, их размер
увеличивается с изменением данных. С клонами можно работать точно так
же, как и с обычными файловыми системами, с них даже можно делать
снимки (snapshot). И что наиболее интересно мне - с них можно
загружаться и выполнять замену файловых систем клонами (promote).
Так как я обновил систему, то, естественно, это привело к
изменению данных в корневом разделе, в /usr и /usr/local, а так же в
/var/db, где хранятся данные об установленных приложениях из портов.
Поэтому мне нужно создать клоны файловых систем zroot, zroot/local, zroot/usr, zroot/var/db;
загрузится с использованием этих клонов, проверить наличие обнаруженной
проблемы в старой версии системы, и при желании сделать откат (т.е.
заменить файловые системы их клонами).
Итак, создам клоны:
Теперь нужно: поправить /boot/loader.conf на новом корне, чтобы
загрузчик знал какую файловую систему нужно монтировать; указать в
свойствах пула новую загрузочную FS; сменить точки монтирования у новых
и старых файловых систем. Итак:
Т.е. я сделал временный откат системы к состоянию до обновления, не потеряв текущей обновленной системы.
Если захочется сохранить текущее состояние, я просто выполню:
А старые удалю при помощи zfs destroy, после чего я смогу переименовать длинные имена в старые при помощи команды zfs rename.
Я же верну всё обратно. Для этого нужно перейти в
однопользовательский режим, отмонтировать все файловые системы, сменить
точки монтирования у старых файловых систем с /mnt обратно в корень, а
клоны удалить при помощи команды zfs destroy. Ну и в конце не забываем сменить свойство bootfs у пула.