Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
Очумелые Ручки
OpenBSD
  Демоны
  Web
  Packet Filter
  Настройка
  Установка OpenBSD
  src & ports
  Upgrading OpenBSD
  Шлюз: Часть 1
  Шлюз: Часть 2
  Шлюз: Часть 3
  Шлюз: Часть 4
  Файловая система
Cisco


www.lissyara.su —> статьи —> OpenBSD —> Настройка —> Upgrading OpenBSD

Обновление OpenBSD

Автор: Raven2000.


   Сегодня мы поговорим об обновление системы. Систему необходимо поддерживать в актуальном виде  и следить, чтобы все работало, как часы и все дырки были залатаны до прихода врага. И никогда не понтоватся большим аптаймом это значит, что сисоп забил буй на систему, и она работает сама по себе (что иногда для нее лучше) и администратор давно не занимался ей и тем более не обновлял. Так что это минус администратору. Ну да ладно, отвлекся сегодня, мы будем обновляться с 4.3 на 4.4 как раз время подошло и настроение есть.

Содержание:

  • Обновление
  • Обновление c CD
  • Получение исходного кода
         Common CVS tips
         Сборка ядра
         Сборка окружения
  • Обновление при переходах на вышестоящую версию
  • Проблемы
  • Литература

  • Обновление
    Обновление системы можно производить с cd, disk, ftp и http и т.п. Рассмотрим основные способы обновления.

  • Обновление c CD
    Загрузившись с загрузочного диска OpenBSD спрашивает о необходимых действиях:
    erase ^?, werase ^W, kill ^U, intr ^C, status ^T
    (I)nstall, (U)pgrade or (S)hell? u


    Мы выбираем "(U)pgrade" далее OpenBSD спрашивает следующее:
    Welcome to the OpenBSD/i386 4.4 upgrade program.

    This program will help you upgrade OpenBSD. At any prompt except password prompts you can escape to a shell by typing '!'. Default answers are shown in []'s and are selected by pressing RETUN. At any time you can exit this program by pressing Control—C, but exiting during an upgrade can leave your system in an inconsistent state.

    Terminal type? [vt220]
    kbd(8) mapping? ('L' for list) [none] ru
    kbd: keyboard mapping set to ru

    "Terminal type" - выбор типа терминала (можете оставить по умолчанию, но если вы
    используете для установки последовательный порт, введите необходимое значение)
    "kbd" - раскладка клавиатуры (по умолчанию [us]) просмотр всего списка L из него выберем ru. И на будущнее ответы по умолчанию показываются в квадратных скобках и выбираются

    IS YOUR DATA BACKED UP? As with anything that modifies disk contents, this program can cause SIGNIFICANT data loss.

    NOTE: once your system has been upgraded, you must manually merge any changes to files in the 'etc' set into the files already on your systeM.

    Proceed with upgrade? [no] y

    Нас предупредили про необходимость сохранения данных и, что при входе в переборку откачайте надежду на возвращение, и мы соглашаемся продолжить. :)

    Cool! Let’s get to it.
    Available disks are: wd0.
    Which one is the root disk? (or ‘done’) [wdOl
    Root filesystem? [wd0a]
    Checking root filesystem (fsck —fp /deu/wd0a) ... OK.
    Mounting root filesystem...done.

    На данном этапе мы выбрали диск и fsck прошлись по корневому каталогу.

    Далее OpenBSD спрашивает о включении используемых сетевых настройках и при необходимости их можно изменить вручную. Если вы обновляетесь с FTP, HTTP и т.п. то вам необходимо это включить.
    Enable network using configuration stored on root filesystem? [yes]
    Internet6:
    Destination Gateway Flags Refs
    ~~~~~~~~~~

    Resolver enabled.

    Указав "yes" вы можете скорректировать ваши сетевые настройки на необходимые для обновления.
    Do you want to do any manual network configuration? [no]


    Установщик показывает нам содержимое fstab. Нам необходимо убедится, что в fstab все в порядке и необходимые разделы указанны (при необходимости измените). Так же говорится, что все изменения fstab, что вы внесете, будут только во время обновления т.к. это копия и все изменение не запишутся на оригинальный файл fstab. Все файловые системы будут автоматически подключены, если они указанны в fstab, а также, если нет флага у ФС "noauto". Также если подключаемая ФС не ffs например FAT32 или ext2fs то она будет подключена только для чтения.
    The fstab is configured as follows:

    /dev/wd0a / ffs rw 1 1
    /dev/wd0h /home ffs rw,nodev,nosuid 1 2
    /dev/wd0d /tmp ffs rw,nodev,nosuid 1 2
    /dev/wd0g /usr ffs rw,nodev 1 2
    /dev/wd0e /var ffs rw,nodev,nosuid 1 2

    For the upgrade, filesystems in the fstab will be automatically mounted if the ‘noauto’ option is absent, and /sbin/mount_<fstype> is found, and the fstype is not nfs. Non—ffs filesystems will be mounted read—only.

    You can edit the fstab now, before it is used, but the edited fstab will only be used during the upgrade. It will not be copied back to disk.
    Edit fstab with ed? [no]


    Так же проверим остальные ФС и укажем, откуда будем ставить обновление:
    Force checking of non—root filesystems? [yes]
    fsck —fp /dev/wd0h. . . OK.
    fsck —fp /dev/wd0d. . . OK.
    fsck —fp /dev/wd0g. . . OK.
    fsck —fp /dev/wd0e. . . OK.
    /dev/wd0a on /mnt type ffs (rw, local, ctime=Wed Oct 8 21:54:45 2008)
    /dev/wd0h on /mnt/home type ffs (rw, local, nodev, nosuid, ctimeWed Oct 8 21:54:45 2008)
    /dev/wd0d on /mnt/tmp type ffs (rw, local, nodev, nosuid, ctimeflled Oct 8 21:54:45 2008)
    /dev/wd0g on /mnt/usr type ffs (rw, local, nodev, ctimeWed Oct 8 21:54:45 2008
    /dev/wd0e on /mnt/var type ffs (rw, local, nodev, nosuid, ctime=Wed Oct 8 21:54:46 2008)

    Let’s upgrade the sets!
    Location of sets? (cd disk ftp http or ‘done’) [cd]


    Небольшие нюансы:
    Available CD—ROMs are: cd0.
    Which one contains the upgrade media? (or ‘done’) [cd0]
    Pathname to the sets? (or ‘done’) [4.4/i386]

    Select sets by entering a set name, a file name pattern or ‘all’. De—select sets by prepending a ‘—‘ to the set name, file name pattern or ‘all’. Selected sets are labelled ‘[X]’.

    [X] bsd
    [X] bsd.rd
    [ ] bsd.mp
    [X] base44.tgz
    [X] misc44.tgz
    [X] comp44.tgz
    [X] man44.tgz
    [X] game44.tgz
    [ ] xbase44.tgz
    [ ] xshare44.tgz
    [ ] xfont44.tgz
    [ ] xserv44.tgz

    Set name? (or ‘done’) [bsd.mp] done


    Выбираем "YES" и начинаем обновляться.
    Ready to upgrade sets? [yes]
    Getting bsd ...
    100% | ************************************************** | 6700 KB 00:00
    Getting bsd.rd ...
    100% | ************************************************** | 5404 KB 00:00
    Getting base44.tgz ...
    100% | ************************************************** | 42904 KB 00:42
    Getting misc44.tgz ...
    100% | ************************************************** | 2866 KB 00:03
    Getting comp44.tgz ...
    100% | ************************************************** | 78575 KB 00:44
    Getting man44.tgz ...
    100% | ************************************************** | 7552 KB 00:13
    Getting game44.tgz ...
    100% | ************************************************** | 2552 KB 00:01
    Location of sets? (cd disk ftp http or ‘done’) [done]
    Making all device nodes...done.
    Installing boot block...
    boot: /mnt/boot
    proto: /usr/mdec/biosboot
    device: /dev/rwd0c
    /usr/mdec/biosboot: entry point 0
    proto bootblock size 512
    /mnt/boot is 3 blocks x 16384 bytes
    fs block shift 2; part offset 63; inode block 120, offset 4264
    using MBA partition 3: type 166 (Oxa6) offset 63 (Ox3f)
    done.

    CONGRATULATIONS! Your OpenBSB upgrade has been successfully completed!
    To boot the new system, enter halt at the command prompt. Once the
    system has halted, reset the Machine and boot from the disk.
    # reboot

    Вот и все теперь выдави стекло, вынь диск и в reboot с дальнейшим рассмотрением dmesg.

  • Получение исходного кода
    У меня есть статья о Работа с портами и исходниками, но я немного дополню. Я буду описывать обновление до Stable версии. Есть нюанса при получении исходных кодов это полностью скачать их, обновить с FTP или с CD.
    Скачиваем с сервера:
    # cd /usr
    # export CVSROOT=anoncvs@anoncvs.example.org:/cvs
    # cvs -d$CVSROOT checkout -rOPENBSD_4_4 -P src 
    

    Разумеется, вы должны подставить вместо anoncvs@anoncvs.example.org необходимый анонимный CVS, который ближе всего нахотится к вам. Весь список можно посмотреть тут Anonymous CVS в разделе Available Anonymous CVS Servers

    Обновляем текущий src:
    # cd /usr/src
    # export CVSROOT=anoncvs@anoncvs.example.org:/cvs
    # cvs -d$CVSROOT up -rOPENBSD_4_4 -Pd
    


    После обновления src вы должны так же обновить "xenocara" и "ports"
    # export CVSROOT=anoncvs@anoncvs.example.org:/cvs
    # cd /usr
    # cvs -d$CVSROOT checkout -rOPENBSD_4_4 -P src ports xenocara
    


    Обновление портов см здесь Работа с портами и исходниками.

    Обновляем с CD:
    # cd /usr/src; tar xzf /mnt/src.tar.gz
    # cd /usr; tar xzf /mnt/xenocara.tar.gz
    # cd /usr; tar xzf /mnt/ports.tar.gz
    


    Обновляем с FTP:
    Делаем то же что и с CD но предварительно скачиваем с сервера OpenBSD исходные коды нужной ветки:
    Небольшое отступление src разделен на два файла src.tar.gz и sys.tar.gz в комментариях создателей это сделано специально, чтобы пользователям было удобнее закачивать по частям и чтобы было при необходимости можно было работать только с одной частью дерева.
    # cd /usr/src
    # fetch ftp://ftp.openbsd.org/pub/OpenBSD/4.4/src.tar.gz
    # fetch ftp://ftp.openbsd.org/pub/OpenBSD/4.4/sys.tar.gz
    # tar xzf sys.tar.gz
    # tar xzf src.tar.gz
    


    Продолжаем обновление:
    # cd /usr
    # fetch ftp://ftp.openbsd.org/pub/OpenBSD/4.4/xenocara.tar.gz
    # fetch ftp://ftp.openbsd.org/pub/OpenBSD/4.4/ports.tar.gz
    # tar xzf xenocara.tar.gz
    # tar xzf ports.tar.gz
    


    Common CVS tips
    Для будущих обновлений мы сделаем файл .cvsrc. Он необходим чтобы обновления корректировались корректно и с проверкой и всякие пустые папки и тп удалялись в исходном дереве, а так же была исключена возможность ошибки сборки из-за мусорного кода/пустыми директориями. Но на будущее не забывайте про этот файл т.к. он управляет напрямую cvs и при изысканных маневрах с cvs вам может встретиться, что команда, которую вы отдали cvs не работает, а на самом деле cvs использует настройки этого файла.
    # touch ~/.cvsrc
    # more ~/.cvsrc
    


    Содержание .cvsrc:
    # Список серверов см http://www.openbsd.org/anoncvs.html#CVSROOT
    # Пример: cvs -q -danoncvs@anoncvs.de.openbsd.org:/cvs
    cvs -q -danoncvs@anoncvs.example.org:/cvs
    diff -up
    update -Pd
    checkout -P
    


    Сборка ядра
    В статье я использовал архитектуру i386 соответственно у вас она может быть другой и вам необходимо указать правильный путь до исходных кодов своей платформы.
    Создаем и конфигурируем ядро. Саму конфигурацию ядра я опишу в следующей статье =)

    Сохраняем текущий kernel:
    # cp /bsd /bsd.old
    


    Приступаем:
    # cd /usr/src/sys/arch/i386/conf
    # config GENERIC
    Don't forget to run "make depend"
    # cd ../compile/GENERIC
    # make clean && make depend && make && make install
        [...Давным-давно в далекой галактике...]
    


    Сборка окружения
    Очистим /usr/obj директории и пересоберем символические ссылки:
    # rm -rf /usr/obj/*
    # cd /usr/src
    # make obj
    


    Удостоверимся, что все необходимые директории созданы:
    # cd /usr/src/etc && env DESTDIR=/ make distrib-dirs
    


    Собираем систему и перезагружаемся:
    # cd /usr/src
    # make build
    # reboot
    


    После перезагрузки проверяем:
    # uname -a
    OpenBSD openbsd.ampul.local 4.4 GENERIC#0 i386
    

    Вот и все поздравляю, вы обновили систему.

  • Обновление при переходах на вышестоящую версию
    Существует еще так называемый Upgrade Guide, в котором подробно описывается пошаговый переход от предыдущей версии системы к текущей. В шапке указанные версии и до какой версии идет обновление. Возьмем, например Upgrade Guide: 4.3 to 4.4. При необходимости я опишу его, но на данный момент не думаю о целесообразности этого.

  • Проблемы
    В) Не загружается собранное новое ядро.
    О) Необходимо перезагрузится и указать старое сохраненное ядро:
    Using drive 0, partition 3.
    Loading...
    probing : pc0 com1 apm mem[634K 256M 1024 a20=on]
    disk: fd0 hd0+
    >> OpenBSD/i386 BOOT 3.01
    boot>


    Укажем предыдущее работающее ядро и продолжаем штатно загружаться:
    Using drive 0, partition 3.
    Loading...
    probing : pc0 com1 apm mem[634K 256M 1024 a20=on]
    disk: fd0 hd0+
    >> OpenBSD/i386 BOOT 3.01
    boot> bsd.old


  • Литература
    1) Absolute OpenBSD - Unix For The Practical Paranoid (2003)
    2) 5.3 - Building OpenBSD from source
    3) Upgrade Guide: 4.3 to 4.4



    Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=12222.

    размещено: 2008-11-11,
    последнее обновление: 2008-11-19,
    автор: Raven2000

    оценить статью:

    mgyk, 2008-11-11 в 13:44:39

    Переход допустим с 4.0 -> 4.4 можно осуществить по подобной схеме? или нужно 4.0->4.1->4.2->4.3->4.4

    Raven2000, 2008-11-11 в 13:52:07

    В Upgrade Guide (Обновление при переходах на вышестоящую версию) описан только последовательный переход.
    4.0->4.1->4.2->4.3->4.4
    Если нужен 4.0 -> 4.4 то обновите систему с помощью CD или из исходников

    Raven2000, 2008-11-12 в 11:21:43

    И так господа всю туфтологию удаляю. Кому есть что сказать по поводу тех. стороны статью велком ту форум. А также там решаются все остальные вопросы. Пустобрехов я не люблю тк они не помогают, а мешают и создают троллинг и флейминг =)

    ElDeRone, 2009-05-27 в 9:05:08

    пропущен важный шаг - перезагрузка после сборки ядра.
    везде в оригинальной документации рекомендуется собирать пользовательское окружение на новом ядре.


    Оставьте свой комментарий:
    Ваше имя:   *
    e-mail:  
    жирный
    наклонный
    подчёркнутый
    ссылка
    цвет
    Нынешний год:   *
     


  • Хостинг HOST-FOOD

    2014-07-27, lissyara
    gmirror

    Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
    2013-08-20, zentarim
    Scan+Print server FreeBSD 9

    Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
    2011-11-20, BlackCat
    Разъём на WiFi-карту

    Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
    2011-09-14, manefesto
    Настройка git+gitosis

    Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
    2011-08-14, zentarim
    Wi-FI роутер + DHCP + DNS

    Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
    2011-06-15, -ZG-
    Охранная система на FreeBSD+LPT

    В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
    2011-03-13, terminus
    ng_nat

    Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
    2011-02-20, Капитан
    Nagios+Digitemp

    Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
    2011-02-17, Le1
    Zyxel Configuration

    Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
    2011-02-16, fox
    hast carp zfs ucarp cluster

    HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
    2011-02-04, BlackCat
    Восстановление ZFS

    История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
    2011-02-03, Капитан
    1-Wire

    Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
    2011-01-28, Капитан
    Температура в серверной

    Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
    2011-01-21, m4rkell
    Syslog server

    Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
    2011-01-07, lissyara
    Canon/gphotofs

    Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
    2010-12-13, Al
    IPSec

    Описание принципов работы IPSEC и способов аутентификации.
    2010-12-07, manefesto
    FreeBSD on flash

    Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
    2010-12-05, Fomalhaut
    root ZFS, GPT

    Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
    2010-09-05, Cancer
    Настройка аудиоплеера на ximp3

    Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
    2010-08-31, Cancer
    Установка и настройка OpenVPN

    На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
    2010-08-25, manefesto
    freebsd lvm

    Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
    2010-04-30, gonzo111
    proftpd file auth&quota

    Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
    2010-04-22, lissyara
    tw_cli

    Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
    2010-04-14, fox
    MySQL Master+Master

    MySQL (Master Master) and (Master Slave) Как настроить репликацию…
    2010-03-09, terminus
    DNS zones

    Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
    2010-03-09, aspera
    Squid+AD (group access)

    Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
    2010-03-02, BlackCat
    Шлюз: Часть 4

    Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
    2010-03-01, BlackCat
    Шлюз: Часть 3

    Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
    2010-03-01, BlackCat
    Шлюз: Часть 2

    Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
    2010-03-01, BlackCat
    Шлюз: Часть 1

    Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
    2010-02-23, Morty
    darkstat

    Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
    подписка

        вверх      
    Статистика сайта
    Сейчас на сайте находится: 30 чел.
    За последние 30 мин было: 77 человек
    За сегодня было
    13038 показов,
    787 уникальных IP
     

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0353 секунд
    Из них PHP: 27%; SQL: 73%; Число SQL-запросов: 61 шт.
    Исходный размер: 101771; Сжатая: 21158