FreeBSD-UPDATE

Bell
Александр Белл
Вот уже январь 2013 года,конец света пережили, 31.12.2012 заанонсили FreeBSD 9.1. «Старая» 9ка имеющая обычный срок поддержки, заканчивает свою «жизнь» в марте 2013, а 9.1 будет жить до 31.12.2014. Пойдем обновлять сервачки. Сразу скажу что по удаленке, оно интересно забавно, но стремно, советую юзать screen.
Поскольку моя работа очень тесно связана со связью, то год откроет изобретатель телефона.

На всякий пожарный пропатчим систему до актуального состояния, а потом переползем на FreeBSD 9.1-RELEASE.
# freebsd-update fetch
# freebsd-update install
Пока что freebsd-update умеет обновлять только ядро GENERIC, у меня свое специфическое ядро с поддержкой gmirror, smbus итд.,мне нужно сначала найти старое ядро generic(Я надеюсь вы его не выбросили) его и обновим(См примечание ниже).
# uname -r
9.0-RELEASE-p3 /usr/obj/usr/src/sys/GENERIC

Если вдруг не находится, то

# mount /cdrom
# cd /cdrom/X.Y-RELEASE/kernels
# ./install.sh GENERIC
X.Y- заменить на свою версию например 9.0

Переходим к обновлению:
#freebsd-update -r 9.1-RELEASE upgrade
Появится описание какие компоненты нашла система, что будем обновлять, и переспросит все ли верно, отвечаем да)
Does this look reasonable (y/n)? y
Если мы работаем не с GENERIC то получим это(лучше не видеть):
WARNING: This system is running a «MYKERNEL» kernel, which is not a
kernel configuration distributed as part of FreeBSD 9.0-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running «/usr/sbin/freebsd-update install»
Пропускаем)
После Инспектирования, скачивания и применения патчей, система попытается склеить файлы, если не сможет попросит нас это сделать, например подправить ntp.conf.
И это еще НиРаЗу не обновление, все изменения хранятся в другой папке, для того чтобы изменить систему мы должны
# freebsd-update install о чем нам радостно говорит фря(ну вот люблю я ее и все тут)
Немножечко ждем, и появляется сообщение о том что ядро успешно обновлено, нужно перезагрузиться и продолжить инсталляцию.
Напоминаю у меня случай с gmirror, поэтому для начала правим /boot/loader.conf
geom_mirror_load="YES"
Теперь должны указать что при следующем старте системы, мы должны загрузить ядро GENERIC(если GENERIC в папке kernel то этого делать не стоит!!)
nextboot -k GENERIC
Перегружаемся
shutdown -r now
Если вы это делаете удаленно, пожалуйста не грызите ногти)))
!!ПримечаниеТеперь о печальном, или я как-то не так прочел или..
The FreeBSD, which previously could appear in either /boot/kernel or /boot/GENERIC, now only appears as /boot/kernel. As a result, any kernel appearing in /boot/GENERIC will be deleted.
Поэтому скорее всего нужно перенести свое ядро в другую папочку, а содержимое GENERIC положить в /boot/kernel/ и тогда наше обновление пройдет без лишних проблем.
Обновлять Юзерленд нужно уже с новым ядром. Запускаем
freebsd-update install
Если Обновляетесь с ФРИ до 8.2-RELEASE то freebsd-update предложит пересобрать весь софт с портов) для обновления библиотек.

Completing this upgrade requires removing old shared object files.
Please rebuild all installed 3rd party software (e.g., programs
installed from the ports tree) and then run "/usr/sbin/freebsd-update install"
again to finish installing updates.

После обновления софта(только если freebsd-update) этого потребует, запустите снова
# freebsd-update install
Чтобы он удалил все устаревшие библиотеки
Последняя перезагрузка:
# shutdown -r now
Нашей радости нет границ у нас обновленная система, можно собрать новое ядро)
% uname -r
9.1-RELEASE

Стоит Заметить что обновляясь с 8.Х сорцы будут выпилины:

The FreeBSD source tree in /usr/src (if present) will be deleted. (Normally the freebsd-update(8) utility will update a source tree, but in this case the changes in release packaging result in the freebsd-update(8) utility not recognizing that the source tree from the old release and the source tree from the new release correspond to the same part of FreeBSD.)

З.Ы. Еще раз напомню, если GENERIC будет лежать в /boot/kernel все пройдет гладко)
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html
http://www.freebsd.org/releases/9.1R/installation.html


Комментарии: