Вторник, 05.08.2025, 11:16

Блог Владимира Степанова

Реклама
Статистика
Яндекс.Метрика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Меню
Категории раздела
FreeBSD OpenBSD [1]
Установка [4]
Настройка [21]
WWW [1]
Мелочи [1]
Файловая система [0]
Вход на сайт
Реклама
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Unix системы » Установка

    Обновление ядра и мира

    Обновление ядра и мира


        Про обновление много написано на сайте FreeBSD - однако, по просьбам трудящихся, решил сам вкратце пробежаться по этой теме. Несмотря на наличие этой инструкции и работоспособность предложенных тут телодвижений - советую делать так, как предложено в хандбуке, а не следовать моим советам :)
       Немного про то, почему я делаю не так. Я никогда не обновлялся радикально - с переходом из ветки в другую (4.x->5.x или 5.x->6.x) - ибо не вижу чего-то радикально нового в новых фрях, чтобы к этому стремиться. Для однопроцессорных машин лучше 4.11 ничё не придумали :) А при смене оборудования - да, приходится ставить новые версии - ради 64-х разрядности и дров. Ну, а при обновлении в пределах одной ветки (не считая 5-ки - там были вроде коренные изменения какие-то между 5.0 и 5.2), не стоит заморачиваться насчёт точного следования инструкции - отличия обычно именно в дровах и в исправлениях ошибок. Конечно, что-то по мелочи меняется (типичный пример - при обновлении с 6.0 до 6.1 нехочет инсталлится мир - ибо в 6.1 добавили новую группу пользователей. Правда я и тут не стал следовать выводиммым при этом инструкциям, а добавил её руками :)), но в общем и целом эта одна и таже система.
       Итак. Имеем, для примеру (абсолютно реальный пример - обновлял пару дней назад фряху - ошибся в синтаксисе конфига cvsup и вместо того, чтобы обновиться - откатился.) FreeBSD 4.11 такой версии:
    /usr/home/lissyara/>uname -r
    4.11-STABLE
    /usr/home/lissyara/>

    Для начала ставим cvsup из портов - это описано тут. после чего имеем такой набор файлов:
    /usr/home/lissyara/>cd /usr/share/examples/cvsup/
    /usr/share/examples/cvsup/>ll
    total 36
    -r--r--r-- 1 root wheel 1180 9 май 19:43 README
    -r--r--r-- 1 root wheel 5274 9 май 19:43 cvs-supfile
    -r--r--r-- 1 root wheel 2773 9 май 19:43 doc-supfile
    -r--r--r-- 1 root wheel 2427 9 май 19:43 gnats-supfile
    -r--r--r-- 1 root wheel 3903 9 май 19:43 ports-supfile
    -r--r--r-- 1 root wheel 349 9 май 19:43 refuse
    -r--r--r-- 1 root wheel 1918 9 май 19:43 refuse.README
    -r--r--r-- 1 root wheel 4013 9 май 19:43 stable-supfile
    -r--r--r-- 1 root wheel 3172 9 май 19:43 standard-supfile
    -r--r--r-- 1 root wheel 2498 9 май 19:43 www-supfile
    /usr/share/examples/cvsup/>

    После чего берём какой-нить stable-supfile и приводим к такому виду (для 4.11):
    # конфиг для обновления исходных кодов:
    *default host=cvsup4.ru.FreeBSD.org
    *default base=/usr
    *default prefix=/usr
    *default release=cvs tag=RELENG_4_11
    *default delete use-rel-suffix
    *default compress
    src-all

    или к такому - для 6.1
    # конфиг для обновления исходных кодов:
    *default host=cvsup4.ru.FreeBSD.org
    *default base=/usr
    *default prefix=/usr
    *default release=cvs tag=RELENG_6_1
    *default delete use-rel-suffix
    *default compress
    src-all

    Проверяем, а есть ли у нас исходные коды? :)
    /usr/home/lissyara/>cd /usr/src/
    /usr/src/>ll
    total 142
    -rw-r--r-- 1 root wheel 6117 2 янв 2005 COPYRIGHT
    -rw-r--r-- 1 root wheel 8480 16 апр 2003 Makefile
    -rw-r--r-- 1 root wheel 24306 11 май 10:48 Makefile.inc1
    -rw-r--r-- 1 root wheel 9761 28 авг 1999 Makefile.upgrade
    -rw-r--r-- 1 root wheel 2699 26 апр 2002 README
    -rw-r--r-- 1 root wheel 46655 19 апр 11:03 UPDATING
    drwxr-xr-x 32 root wheel 512 20 окт 2005 bin
    drwxr-xr-x 45 root wheel 1024 20 окт 2005 contrib
    drwxr-xr-x 7 root wheel 512 20 окт 2005 crypto
    drwxr-xr-x 14 root wheel 2048 11 май 10:49 etc
    drwxr-xr-x 41 root wheel 1024 20 окт 2005 games
    drwxr-xr-x 6 root wheel 512 20 окт 2005 gnu
    drwxr-xr-x 6 root wheel 1536 20 окт 2005 include
    drwxr-xr-x 7 root wheel 512 20 окт 2005 kerberos5
    drwxr-xr-x 8 root wheel 512 20 окт 2005 kerberosIV
    drwxr-xr-x 57 root wheel 1536 20 окт 2005 lib
    drwxr-xr-x 35 root wheel 1024 20 окт 2005 libexec
    drwxr-xr-x 10 root wheel 512 11 май 10:49 release
    drwxr-xr-x 82 root wheel 1536 20 окт 2005 sbin
    drwxr-xr-x 6 root wheel 512 20 окт 2005 secure
    drwxr-xr-x 23 root wheel 512 20 окт 2005 share
    drwxr-xr-x 49 root wheel 1024 20 окт 2005 sys
    drwxr-xr-x 8 root wheel 512 20 окт 2005 tools
    drwxr-xr-x 221 root wheel 3584 20 окт 2005 usr.bin
    drwxr-xr-x 158 root wheel 3072 20 окт 2005 usr.sbin
    /usr/src/>

    Если нету - надо поставить. (Если быстрый и халявный инет - то cvsup это сам сделает при попытке обновиться - но учтите - это будет стоит прилично траффику - для 6.1 попробовал - 104 мега входящего, и час времени - но тут в канал упёрлось. Как оказалось он неплохо жмёт - всего получилось 418 мегабайт исходников. На 4.11 их поменьше - 338Mb, соответственно и траффику будет меньше). После чего запускаем обновление:
    /usr/share/examples/cvsup/>cvsup -g -L 2 stable-supfile
    Parsing supfile "stable-supfile"
    Connecting to cvsup4.ru.FreeBSD.org
    Connected to cvsup4.ru.FreeBSD.org
    Server software version: SNAP_16_1h
    Negotiating file attribute support
    Exchanging collection information
    Establishing multiplexed-mode data connection
    Running
    Updating collection src-all/cvs
    Checkout src/COPYRIGHT
    Edit src/Makefile.inc1
    Add delta 1.141.2.70.2.1 2004.12.17.13.41.58 kensmith
    Checkout src/UPDATING
    .............
    .............
    Checkout src/usr.sbin/syslogd/syslogd.c
    Shutting down connection to server
    Finished successfully
    /usr/share/examples/cvsup/>

    Ну и всё. Имеем обновлённые исходные коды системы. Можно собирать `мир` (вкратце - мир - это то, что не ядро :) - пользовательские программы - типа grep, awk, sh, chmod и прочего. Короче всё, что не входит в ядро и модули ядра.). Перед сборкой рекомендуется вернуть взад все нестандартные опции из /etc/make.conf - у меня там, например налеплена оптимизация O3, тип CPU да ещё кое какие мелочи. Я ничё не убираю. Хотя в случае проблем - если что-то не собирается или не инсталлится - стоит посмотреть, что там и убрать лишнее (на 4.x по-дефолту этого файла вообще нет, в 6.x в нем тока пара строк про версию перла. На это и ориентируйтесь).
    /usr/home/lissyara/>cd /usr/src/
    /usr/src/>rm -R /usr/obj/* && make cleandir && make cleandir && \
    ? make buildworld && make installworld && shutdown -r now

    make cleandir делать дважды рекомендует хандбук (я ещё make clean делаю... На всякий случай...). Сборка достаточно длительный процесс - на AMD64 3200+ на сборку мира от FreeBSD 6.1 у меня уходило чуть больше часа. Для 4.11 соответственно намного быстрей - раза в два-три (на PII-266 уходит порядка 5-ти часов - для мира 4.11). На этой машине, на которой щас мучаем (AMD K7, Duron 1100MHz, FreeBSD 4.11) ушло час и десять минут, и минут 10 на инсталляцию.
    После чего перезагрузка, и собираем ядро. Собсно частенько бывает проблемой вспомнить - а какое ядро у меня стоит щас? :) это можно легко проверить:
    /usr/home/lissyara/>uname -v
    FreeBSD 4.11-STABLE #0: Wed May 10 23:59:44 MSD 2006
    lissyara@mx.lissyara.su:/usr/obj/usr/src/sys/router.acpi
    /usr/home/lissyara/>

    Сборку ядра я уже описывал, но тут пробегусь ещё разок.
    /usr/home/lissyara/>cd /usr/src/
    /usr/src/>rm -R /usr/obj/* && make clean && make clean \
    ? make buildkernel KERNCONF=router.acpi && \
    ? make installkernel KERNCONF=router.acpi && shutdown -r now

    Ядро собралось бодренько - за 14 минут. После перезагрузки получилось:
    /usr/home/lissyara/>uname -r
    4.11-RELEASE-p17
    /usr/home/lissyara/>

    Вот и всё.



    размещено: 2006-05-11,
    последнее обновление: 2006-05-11,
    автор: lissyara

    Категория: Установка | Добавил: Raxxell5059 (22.12.2010)
    Просмотров: 682 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]