Обновление мира FreeBSD

10th Март 2010 | Метки:
Опубликовал: Andrey [rtty] Shidakov

1. Обновляем /usr/src через svn:

cd /usr/ports/devel/subversion-freebsd/ && make install clean

отмечаем: NEON, BDB

Делаем !!!Backup!!! конфига ядра и других нужных данных из  /usr/src

rm -rf /usr/src
rm -rf /var/db/sup/src-all
svn co svn://svn.freebsd.org/base/stable/7/ /usr/src

можно и по протоколу http, тогда:

svn co http://svn.freebsd.org/base/stable/9 /usr/src
В следующий раз достаточно просто набрать:

svn up /usr/src

Полезное дополнение:
Посмотреть список изменений можно коммандой:

svn log -v|more

2. Собираем мир и устанавливаем ядро:

cd /usr/src/
rm -rf /usr/obj
make -j4 buildworld

(-j4 можно увеличть для многопроцессорных машин)

Прим.: Для ускорения сборки можно поотключать сборку ненужных Вам вещей в /etc/src.conf. Вот, например, мой:

WITHOUT_ATM=
WITHOUT_AUTHPF=
WITHOUT_BLUETOOTH=
WITHOUT_BSNMP=
WITHOUT_CALENDAR=
WITHOUT_CTM=
WITHOUT_CVS=
WITHOUT_DICT=
WITHOUT_FLOPPY=
WITHOUT_FREEBSD_UPDATE=
WITHOUT_GAMES=
WITHOUT_HTML=
WITHOUT_IDEA=
WITHOUT_IPFILTER=
WITHOUT_IPFW=
WITHOUT_IPX=
WIHTOUT_KVM=
WITHOUT_JAIL=
WITHOUT_LPR=
WITHOUT_MAIL=
WITHOUT_NCP=
WITHOUT_NDIS=
WITHOUT_NIS=
WITHOUT_NTP=
WITHOUT_OBJC=
WITHOUT_OPENSSH=
WITHOUT_PPP=
WITHOUT_QUOTAS=
WITHOUT_RCMDS=
WITHOUT_RESCUE=
WITHOUT_ROUTED=
WITHOUT_SENDMAIL=
WITHOUT_SHAREDOCS=
WITHOUT_OPENSSH=
WITHOUT_SYSINSTALL=
WITHOUT_WIRELESS=
WITHOUT_WPA_SUPPLICANT_EAPOL=

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

make -j4 buildkernel KERNCONF=MYKERNEL

где MYKERNEL — конфиг Вашего ядра, без KERNCONF=MYKERNEL собирает ядро GENERIC.

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

make installkernel KERNCONF=MYKERNEL

Прим.: при незначительных обновлениях можно все, что описано ниже не делать. Достаточно сделать make installworld

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

reboot

При загрузке жмем 4

Монтируем разделы ФС:

mount -u /
mount -a
mergemaster -p

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

cd /usr/src
make installworld

Удаляем временные файлы:

make delete-old

Сравниваем конфиги:

mergemaster

Впринципе везде можно жать i  — но некоторые конфиги могут быть заменены дефолтовыми.

Перегружаемся:

reboot
cd /usr/src/
make delete-old-libs

Все!

Пока комментариев нет.
Вы должны авторизоваться для отправки комментария.