Обновление системы

1. Устанавливаем subversion:

cd /usr/ports/devel/subversion
make install clean

2. Качаем исходники:

cd /usr/scr
svn co svn://svn0.us-west.freebsd.org/base/releng/9.2 /usr/src

3. Собираем новый мир со свежих исходников. Прежде всего соберется новый компилятор с нужными ему библиотеками, а затем и все базовое программное обеспечение. Результаты сборки помещаются в /usr/obj:

make buildworld

4. Собираем ядро:

make buildkernel

5. Устанавливаем ядро:

make installkernel

6. Перезагружаемся и загружаемся в однопользовательском режиме:

shutdown -r now

7. Если система отформатирована в UFS, выполняем следующие действия: монтируем корень в режиме read-write, затем монтируем все остальные файловые системы и подключаем swap:

mount -u /
mount -a -t ufs
swapon -a

8. Запускаем mergemaster для обновления конфигов системы; mergemaster сравнивает файлы в каталоге /etc, с новыми файлами /usr/src/etc, выявляет различия между ними и спрашивает, что делать — устанавливать новые файлы, оставить старые или отложить этот вопрос на потом.

mergemaster запускаем 2 раза — один раз перед установкой мира, чтобы удостовериться, что система может установить новые бинарники без ошибок, второй раз — после установки мира для синхронизации остальных конфигурационных файлов.

Ключ -p  задает режим предварительной оценки. Система в том числе проверяет наличие необходимых для установки мира пользователей и групп:

mergemaster -p

mergemaster устанавливает временный каталог /etc в /var/tmp/temproot, где сохраняются новые конфигурационные файлы, которые затем будут сравниваться с существующими.

9. Устанавливаем мир:

make installworld

10. Запускаем mergemaster второй раз:

mergemaster -iF

11. Перезагружаемся в систему с новым ядром и новым миром:

reboot

!!! Важно соблюдать порядок сборки и установки ядра и мира !!!