|
|
Напомню как это работает, благодаря возможности ZFS создавать снапшоты, мгновенно и практически без накладных расходов (место они всё же занимают). Можно создать, в любой момент, снапшот загрузочной файловой системы (чаще всего youpool/ROOT/bename). клонировать его и повысить (promoting) его до обычной файловой системы, а в дальнейшем выбрать новую файловую систему в качестве загрузочной.
В Opensolaris утилиты для работы данного функционала начали появляться ещё в 2008 году, так же поддержка была интегрирована в grub. В PC-BSD® аналогичный функционал был реализован с версии 10.0 благодаря использованию функционала grub. Весной 2012 года было начато портирование beadm во FreeBSD, после этого она стала доступна в портах и позволяет легко управлять BE из командной строки.
root@des:~ # beadm list BE Active Mountpoint Space Created init - - 4.4G 2014-09-05 03:05 first - - 2.1M 2014-09-05 05:19 ... pre293017 - - 2.7M 2016-01-01 02:54 r293017 NR / 35.8G 2016-01-01 05:07
Но до вчерашнего дня, поддержки данного функционала не было в загрузчике и выбрать из какого BE загружаться, можно было только в уже работающей системе. Что немного снижало полезность данного функционала. Процесс интеграции был начат ещё летом, даже двумя независимыми проектами, один в рамках GSoC, другой в рамках reviews.freebsd.org, отчасти этим наверное вызвано, что изменение не было интегрировано ещё летом (так как GSoC заканчивался к осени). Но за прошедшее время разработчики успели улучшить функционал, и теперь он работает очень хорошо, так список BE строится автоматически и не ограничен по количеству BE и длине названий.
В итоге, мы имеем отличную возможность создавать BE с помощью sysutils/beadm, а так же выбирать любой из существующих BE как заранее, так и в момент загрузки системы (в uefi boot menu вроде до сих пор не доступно). Это позволяет:
- Откатится, в случае неудачного обновления (создавайте BE в самый последний момент, ибо все изменения после его создания и активации не будут автоматически доступны в новом BE, после перезагрузки)
- Иметь несколько версий/модификаций системы с общим домашним или другими каталогами (находящимися вне BE.
- лёгкую интеграцию с sysutils/beadm
UPD: интеграция меню загрузчика, для UEFI идёт полным ходом, за процессом можно наблюдать и участвовать D4797
Комментариев нет:
Отправить комментарий