Страница 1 из 1

Обновление FreeBSD без пересборки мира ( freebsd-update ) [E

Добавлено: 18 янв 2012, 15:37
Raven
Итак, есть у меня сервачок с FreeBSD 7.4 на борту. В связи с выходом FreeBSD 9.0 очень захотелось обновиться, поскольку 7.4 - последняя из семерок, больше "зима не будет!" - то есть не будет больше выпускаться ветка 7.х (((

Пересобирать мир никакого желания не было, терпежу хватало максимум на ядро. Поэтому пришлось обратить взор на утилитку freebsd-update. Естественно первое что нужно сделать перед обновлением - это бекап! Помните - хорошо реализованый бекап - это красиво, а красота как известно спасет мир))))

Итак, предположим что бекапы сделаны, конфиги из папок /etc и /usr/local/etc сохранены в уркромном месте. Начинаем сабж)

Код: Выделить всё

# freebsd-update -r 9.0-RELEASE upgrade
WARNING: This system is running a "STORM" kernel, which is not a
kernel configuration distributed as part of FreeBSD 7.4-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install".

WARNING: This system is running a "STORM" kernel, which is not akernel configuration distributed as part of FreeBSD 7.4-RELEASE.This kernel will not be updated: you MUST update the kernel manuallybefore running "/usr/sbin/freebsd-update install"
Апдейтер выругался на мое кастомное ядро, пригрозил грядущей пересборкой оного. Ну и флаг ему - пересобирать-то по-любому надо.

У меня спустя какое-то время процесс оборвался, выкинув в консоль следующее:

Код: Выделить всё

The update metadata is correctly signed, but failed an integrity check.
 Cowardly refusing to proceed any further.

Немного погуглив нашел решение ввиде команды:

Код: Выделить всё

# sed -i -e 's/=_/=%@_/' /usr/sbin/freebsd-update
Запускаем заново freebsd-update -r 9.0-RELEASE upgrade

15 минут загружаются файлы, проверяется исходная система, затем начинаются вопросы о внесении правок в конфиги. Отвечаем утвердительно на все, в результате получаем Done.

Далее запускаем

Код: Выделить всё

# freebsd-update install
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
И в ребут)
Повторяем команду после ребута.

Код: Выделить всё

# freebsd-update install
У меня Bad system call! :(

Пойду переустанавливаться. Не учел что для начала нужно было в /etc/freebsd-update.conf указать компонент kernel, чем окончательно пАлАмал систему
:)