Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
Для начала ставим cvsup из портов - это описано тут. после чего имеем такой набор файлов:
|
После чего берём какой-нить stable-supfile и приводим к такому виду (для 4.11):
|
или к такому - для 6.1
|
Проверяем, а есть ли у нас исходные коды? :)
|
Если нету - надо поставить. (Если быстрый и халявный инет - то cvsup это сам сделает при попытке обновиться - но учтите - это будет стоит прилично траффику - для 6.1 попробовал - 104 мега входящего, и час времени - но тут в канал упёрлось. Как оказалось он неплохо жмёт - всего получилось 418 мегабайт исходников. На 4.11 их поменьше - 338Mb, соответственно и траффику будет меньше). После чего запускаем обновление:
|
Ну и всё. Имеем обновлённые исходные коды системы. Можно собирать `мир` (вкратце - мир - это то, что не ядро :) - пользовательские программы - типа grep, awk, sh, chmod и прочего. Короче всё, что не входит в ядро и модули ядра.). Перед сборкой рекомендуется вернуть взад все нестандартные опции из /etc/make.conf - у меня там, например налеплена оптимизация O3, тип CPU да ещё кое какие мелочи. Я ничё не убираю. Хотя в случае проблем - если что-то не собирается или не инсталлится - стоит посмотреть, что там и убрать лишнее (на 4.x по-дефолту этого файла вообще нет, в 6.x в нем тока пара строк про версию перла. На это и ориентируйтесь).
|
make cleandir делать дважды рекомендует хандбук (я ещё make clean делаю... На всякий случай...). Сборка достаточно длительный процесс - на AMD64 3200+ на сборку мира от FreeBSD 6.1 у меня уходило чуть больше часа. Для 4.11 соответственно намного быстрей - раза в два-три (на PII-266 уходит порядка 5-ти часов - для мира 4.11). На этой машине, на которой щас мучаем (AMD K7, Duron 1100MHz, FreeBSD 4.11) ушло час и десять минут, и минут 10 на инсталляцию.
После чего перезагрузка, и собираем ядро. Собсно частенько бывает проблемой вспомнить - а какое ядро у меня стоит щас? :) это можно легко проверить:
|
Сборку ядра я уже описывал, но тут пробегусь ещё разок.
|
Ядро собралось бодренько - за 14 минут. После перезагрузки получилось:
|
Вот и всё.
размещено: 2006-05-11,
последнее обновление: 2006-05-11,
автор: lissyara
creativ, 2006-05-11 в 18:15:29
Это у вас на серверах make.conf с 03 или на десктопе? Если на серверах то как со стабильностью?
lissyara, 2006-05-11 в 22:51:36
раньше на серверах было :) Игрался. Щас прошло... В паре мест -O2 есть (на 4.11 - на 6.0 оно штатно), а так по дефолту везде оставляю...
====
насчёт стабильности - некоторые вещи просто не собирались. Если собиралось - работало.
northern, 2006-05-13 в 19:58:02
сенкс! приятно, что пожелания народа учитываются.
Чингиз, 2007-03-11 в 6:54:55
а вот чем в принципе отличаются способы обновлением МИРа и ядра, от данной статьи и http://www.lissyara.su/?id=1270, помимо того что способы немного разнятся.
Чингиз, 2007-03-11 в 6:56:16
тоесть способом реализации.
nikola93, 2007-10-17 в 8:23:09
Пасиб тебе класная статья
сначало ошибки были потом стал разбиратся оказывается дата старая стояла вобщем дату поменял и все заработало
toughcat, 2008-02-01 в 11:32:37
похоже тут "... && make clean \
? make buildkernel KERNCONF=router.acpi && ..."
одна "&&" пропущена
user, 2008-02-28 в 22:22:59
хз, лично я для обновления p юзаю freebsd-update
VVD, 2008-03-21 в 4:28:57
А чем не устраивает путь более близкий к классическому?
make buildworld
make buildkernel KERNCONF=router.acpi
make installkernel KERNCONF=router.acpi
make installworld
reboot
К тому же даже для близких версия (типа с 6.2 до 6.3) mergemaster я бы не стал исключать.
Ну а в single user mode для installworld в данном случае можно не входить. Но если вдруг что не так пойдёт "пиняйте на себя". :-D
Vagner, 2008-04-14 в 14:58:08
Зачетная статья! Сенкс! Доделаю сайт поставлю линку на ентот ресурс;)
sas, 2008-04-29 в 0:07:46
ребята а вы в статье забыли указать что нужно делать mergemaster после make installworld и mergemaster -p после make installkernel.или я не прав???
a-i, 2008-05-12 в 18:35:43
прав, статью надо переписать однозначно...
т.к. посмотри на дату написания )
с тех пор много воды утекло ))) и cvsup тоже надо не забыть заменить на csup
eGuru, 2008-06-20 в 23:35:19
Странно, что описанный способ вообще сработал. Видимо, различия версий системы были несущественные. В хендбуке настоятельно рекомендуют сначала ставить новое ядро, потом мир.
Добавлю немного своего опыта по апгрейду с 6.2 на 7.0.
Действовоал по сценарию из Makefile, сборка ядра и мира нормально. Пришлось заново изготовить конфиг ядра, так как некоторые опции из 6.2 вызывали ошибку при компиляции ядра 7.0. Далее инсталлкернел, и ребут в однопользовательский режим. В однопользовательском режиме первым делом надо дать команду mount -a, чтобы смонтировать необходимые файловые системы. Далее mergemaster-ы. При объединении конфигов надо быть очень внимательным, с одной стороны желательно поставить новый конфиг, с другой стороны надо сохранить свои настройки из старых. Тут без ручной правки не обойтись. После завершения mergemaster можно перезагрузиться в нормальный режим, если все стартовала сразу - вы счастливый человек. Последний шаг, указанный в инструкции - make delete-old-libs. Выполнить его надо, однако перед этим необходимо пересобрать ВСЕ установленные в системе приложения. Если этого не сделать, и сразу удалить старые библиотеки, приложения перестанут запускаться.
Вкратце так.
shaggy, 2008-11-02 в 8:01:14
К написанному eGuru я бы добавил установку из портов
/usr/ports/misc/compat6x дабы избежать проблем с библтотеками.
shaggy, 2008-11-02 в 8:03:08
Помимо mount -a надо бы еще mount -rw сделать
vihlun82, 2009-05-30 в 23:06:10
Статья супер =) тока мне пришлось чуться прееиграть на 7.2 не делать мейк слин 2 раза =) зато понял что такое world и ядро =)))))))))))
NecAway, 2009-07-28 в 20:33:08
Господа.. статья, конечное, хорошая, но может её стоит подновить? Вместо cvsup давно нужно csup пользовать...
Чел, 2011-01-11 в 22:11:39
а как вам этот метод?
http://server-help.ru/?p=17
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [18 шт.]