Обновление "мира" freebsd

K

kenny

Гость
#1
Вступление
Я занимаюсь серверами уже долгое время раньше все строил на slackware затем на mops, но потом как то для себя решил что для десктопа у меня будет linux, а для серверов начал выбирать оптимальныую систему, пробывал solaris,AIX,irix и как то не вшторило, потом попробовал freebsd 4.0 и вошторило неподетский.
И так приступим к обновлению.
Для обновления системы c помощью cvsup нам необходимо поставить пакет cvsup из порта /usr/ports/net/cvsup-without-gui.
Ставится обычно:
Код:
1. заходим в папку
2. делаем make
3. make install
4. make clean
Далее правим файл stable-supfile, у меня он лежит в /usr/local/etc
Код:
*default host=cvsup4.ru.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7_2
*default delete use-rel-suffix
src-all
ports-all tag=.
*default tag=.
default release=cvs tag=RELENG_7_2 -меняем на свою версию, у меня стоит 7.2
Далее проверяем есть ли исходные коды
Код:
simvol7# cd /usr/src/
simvol7# ll
total 354
-rw-r--r--    1 root wheel    6197 Apr 15 2009 COPYRIGHT
-rw-r--r--    1 root wheel     410 Apr 15 2009 LOCKS
-rw-r--r--    1 root wheel    6931 Apr 15 2009 MAINTAINERS
-rw-r--r--    1 root wheel 12087 Apr 15 2009 Makefile
-rw-r--r--    1 root wheel 39110 Apr 15 2009 Makefile.inc1
-rw-r--r--    1 root wheel 194916 Apr 15 2009 ObsoleteFiles.inc
-rw-r--r--    1 root wheel    3082 Apr 15 2009 README
-rw-r--r--    1 root wheel 43891 May 1 2009 UPDATING
drwxr-xr-x 38 root wheel    1024 Aug 5 2009 bin
drwxr-xr-x    8 root wheel     512 Aug 5 2009 cddl
drwxr-xr-x 55 root wheel    1024 Aug 5 2009 contrib
drwxr-xr-x    5 root wheel     512 Aug 5 2009 crypto
drwxr-xr-x 21 root wheel    2048 Aug 5 2009 etc
drwxr-xr-x 13 root wheel     512 Aug 5 2009 games
drwxr-xr-x    4 root wheel     512 Aug 5 2009 gnu
drwxr-xr-x    7 root wheel    2048 Aug 5 2009 include
drwxr-xr-x    9 root wheel     512 Aug 5 2009 kerberos5
drwxr-xr-x 74 root wheel    1536 Aug 5 2009 lib
drwxr-xr-x 33 root wheel    1024 Aug 5 2009 libexec
drwxr-xr-x 12 root wheel     512 Aug 5 2009 release
drwxr-xr-x    4 root wheel     512 Aug 5 2009 rescue
drwxr-xr-x 93 root wheel    2048 Aug 5 2009 sbin
drwxr-xr-x    6 root wheel     512 Aug 5 2009 secure
drwxr-xr-x 25 root wheel     512 Aug 5 2009 share
drwxr-xr-x 55 root wheel    1024 Aug 5 2009 sys
drwxr-xr-x 12 root wheel     512 Aug 5 2009 tools
drwxr-xr-x 225 root wheel    4096 Aug 5 2009 usr.bin
drwxr-xr-x 198 root wheel    3584 Aug 5 2009 usr.sbin
Если их нет то копируем с диска, хотя можно и не копировать если большой канал. :smile:
Все исправили?
Тогда командуем чертенку следующее
Код:
cvsup -g -L 2 /usr/local/etc/supfile
Ждем пока все обновиться.

После обновления идем в папку /usr/src. Все изменения версий описаны в файле UPDATING.
Выполняем
Код:
rm -R /usr/obj/* && make cleandir && make cleandir && \
? make buildworld && make installworld && shutdown -r now
После чего собираем ядро
Код:
cd /usr/src/
/usr/src/>rm -R /usr/obj/* && make clean && make clean \
? make buildkernel KERNCONF=имя ядра && \
? make installkernel KERNCONF=им ядра && shutdown -r now
Вот вроде и все!!
Выслушаю комментарии/порицание и прочую информацию

P.S: Как же после выбор тема звучит злободневно и немного наивно
 

nord51

Пользователь
#2
- а почему версия такая старая.8.2

kenny, не совсем понял, что именно добавляет, улучшает, оптимизирует - это обновление ?
-------
Всё понятно! Это так сказать "горячее" обновление предположим с версии 7.2 до 8.2
 

deymon

Пользователь
#3
яб сделал так

cd /usr/obj ;chflags -R noschg * ;rm -rf *
cd /usr/src
make -j4 buildworld
make -j4 buildkernel KERNCONF=GENERIC
make installkernel KERNCONF=GENERIC
shutdown -r now

установим мир и удалим старые файлы
cd /usr/src
make installworld
make delete-old

для автоматического удаление старых версий
yes | make delete-old

shutdown -r now
cd /usr/src/
make delete-old-libs

траблы могут быть с библиотеками пересобираем ПО или их библиотеки

/usr/ports/misc/compat
compat3x/ compat4x/ compat5x/ compat6x/ compat7x/

P.S. не стал бы рисковать сборку одной командой пример такой
Код:
rm -R /usr/obj/* && make cleandir && make cleandir && \ ? make buildworld && make installworld && shutdown -r now
и
cd /usr/src/ /usr/src/>rm -R /usr/obj/* && make clean && make clean \ ? make buildkernel KERNCONF=имя ядра && \ ? make installkernel KERNCONF=им ядра && shutdown -r now
Причина а вдруг мир или ядро не соберутся и тогда наловишь столько граблей, мама не горюй (с)
 
K

kenny

Гость
#4
deymon, тест на 40 серверах пройден на ура, не показатель.

nord51 обновление мира))) а дальше по хендбуку
 

deymon

Пользователь
#5
kenny, ну на релизах да а вот на стабле ветке пообновляйся:)))) потом расскажешь:D
 
K

kenny

Гость
#6
deymon, обновляюсь и все ровно. Я вижу вы сюда похаливарить заходите ну удачи.удачи................
 

deymon

Пользователь
#7
kenny, не когда не был троллем, просто наступал на такие грабли, как известно стабле ветку постоянно пилят и даже часто ломают, это всего лиж мое мнение и жизненный опыт