Nobody about something

Обновление FreeBSD с помощью cvsup

Написано 28 апреля 2008 в 12:51 - Рубрики: *nix

Моя фря благополучно обновилась. Без геморроя, конечно, не обшлось. Впрочем, всё по порядку.

  1. Поставил cvsup

    cd /usr/ports/net/cvsup
    make install
    make clean
  2. Настроил файл:
    назвать можно как угодно. Например, /etc/cvsupfile.
    Содержимое:

    *default host=cvsup.FreeBSD.org
    *default base=/usr
    *default prefix=/usr
    *default release=cvs
    *default tag=RELENG_5_3
    *default delete use-rel-suffixsrc-all
    *default tag=.
    ports-all*default host=cvsup.FreeBSD.org - адрес сервера откуда мы потащим обновления.
    *default tag=RELENG_5_3 - до какой версии обновляемся. Я ставил RELENG_7
    src-all - обновить исходники системы
    *default tag=. - это строкой указываем до какой версии обновить порты, если укажите вместо точки, чтото другое то порты просто удалятся.
    ports-all - указываем что нам надо обновить все порты.

    При обновлении портов, не очень нужны порты: китайские, японские и т.д. Поэтому можно обновлять эти порты экономя трафик и время. Это достигается с помощью создания файла refuse со следующим содержанием:

    ports/arabic
    ports/chinese
    ports/french
    ports/german
    ports/hebrew
    ports/hungarian
    ports/japanese
    ports/korean
    ports/portuguese
    ports/polish
    ports/vietnamese

    Файл надо положить в директорию /usr/sup

  3. Запустил обновление сиcтемы. Для этого надо выполнить команду:

    cvsup -g -L 2 /etc/cvsupfile

  4. cd /usr/obj
    rm -rf *

    Если при удаление выдало ошибки по поводу установленных флагов, то необходимо выполнить команду chflags -R noschg *
    и потом повторить удаление.

  5. Собственно, сборка системы

    cd /usr/src
    make buildworld (собираем мир)
    make buildkernel KERNCONF=YOUR_KERNEL_HERE(рекомендуют скопировать папку GENERIC в другую и собирать своё ядро, но я собирал GENERIC)
  6. Поставил ядро новое

    make installkernel KERNCONF=YOUR_KERNEL_HERE
  7. Теперерь, по идее надо было перезагрузиться в сингл юзер мод, и провести предварительное объединение конфигов. Я не ребутился и объединение провёл так(благо система чистая и всего лишь установился новый файл /etc/group)

    mergemaster -p
  8. Инсталляция нового мира

    make installworld
  9. Объединил конфиги (сидел полчаса тыкал i, Enter)

    mergemaster
  10. reboot

  11. Удалил старые либы(про это забывают, и старые либы так и живут вечно)

    cd /usr/src
    make delete-old-libs
    #(или через почёркивания. Не помню точно)
  12. Собрал portupgrade(где точно лежит не помню), и

    portupgrade -af

    Всё что не обновилось портапгрейдом сходил и пересобрал руками. Один пакетих (expat) пришлось pkg_add ставить, так как собираться он не хотел ни в какую, а зависели от него многие.

    Собсно и всё. Теперь у меня FreeBSD 7.0 STABLE

Метки:

Комментарии (3) на запись “Обновление FreeBSD с помощью cvsup”

  1. ls пишет 29 апреля 2008 в 9:01

    Я обычно ставлю /usr/ports/net/cvsup-without-gui – иксовый мусор не тянет в систему с собой …

  2. tuupic пишет 29 апреля 2008 в 12:30

    Если быть совсем точным, то я делал вот так:
    cd /usr/ports/net/cvsup
    make config
    и там убрал галочку с “Build with X11 support” :)

    Эффект, я думаю, тот же.

  3. redchrom пишет 5 мая 2008 в 17:05

    Вы чё, csup в FreeBSD есть со времён 6.2, теже яйца, что и cvsup только без кучи зависимостей.

Оставить комментарий