Назад | Перейти на главную страницу

Как избежать потери изменений корневой файловой системы при обновлении ядра?

В Solaris и вариантах он создает клон zfs текущего / файловая система и устанавливает туда новое ядро. При перезагрузке вы получаете новый /.

В моем случае у меня есть /scripts каталог, поэтому, если мне когда-нибудь придется вернуться к предыдущему ядру, то мой /scripts также будет откат, что для меня не должно зависеть от ядра, на котором я работаю.

Вопрос

Как я могу избежать потеря изменения, внесенные в файловую систему с момента завершения обновления ядра до перезагрузки хоста?

Есть ли процедура, о которой я не знаю, поскольку даже если вы очень быстро перезагружаетесь после обновления ядра, в журнал легко могли быть внесены записи, которые вы никогда не увидите.

Вы описали загрузочные среды (BE), которые будут созданы автоматически при обновлении системы или вручную с помощью beadm команда.

У вас может быть несколько независимых ВЕ, но одновременно может быть активна только одна. Вы также можете обновлять / изменять каждую BE отдельно. Обычно вы делаете это для тестирования определенных версий программного обеспечения или полного обновления системы, но это не ограничивается этим.

Из Преимущества поддержки нескольких загрузочных сред:

Хотя одновременно может быть активна только одна загрузочная среда, вы можете подключить неактивную загрузочную среду, используя beadm mount команда. Затем вы можете использовать pkg команда с альтернативным корнем (-R) для установки или обновления определенных пакетов в этой среде.

Я только что попробовал, beadm mount BeName смонтирует BeName во временную директорию под /tmp, который доступен для записи. Вы можете написать простой скрипт для синхронизации / копирования ваших новых или измененных файлов в старую BE или наоборот.

В документации также указано, что возможны снимки состояния BE (с beadm create BeName@snapshotNamedescription), что может быть полезно, если вы хотите отслеживать различия, которые произошли между двумя моментами времени (с zfs diff).