The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Удаленная установка FreeBSD через SSH
Задача: Установка FreeBSD на удаленном сервере, к которому имеется доступ
только через SSH и на котором отсутствует возможность обновления FreeBSD
штатными средствами (например, установлен Linux или очень старая версия FreeBSD).

Решение: 1. Сформировать отдельный загрузочный образ с настроенными параметрами
сетевого соединения и активным ssh-сервером. 2. Записать данный образ на диск
удаленного сервера и перезагрузиться.


Готовим загрузочный образ на локальной FreeBSD-системе.

Загружаем установочный ISO-образ:

   fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/8.1/FreeBSD-8.1-RELEASE-amd64-disc1.iso
Загружаем mfsBSD:

   fetch http://people.freebsd.org/~mm/mfsbsd/mfsbsd-latest.tar.gz

Распаковываем и переходим в получившуюся директорию:

   tar xvzf mfsbsd-1.0-beta1.tar.gz
   cd mfsbsd-1.0-beta1/conf/

Правим файлы конфигурации и добавляем параметры сетевого соединения удаленного хоста:

На базе примера loader.conf.sample создаем loader.conf

   geom_uzip_load="YES"
   mfs_load="YES"
   mfs_type="mfs_root"
   mfs_name="/mfsroot"
   tmpfs_load="YES"
   vfs.root.mountfrom="ufs:/dev/md0"
   mfsbsd.rootpw="123456"

На базе примера rc.conf.sample создаем rc.conf

   # Настраиваем параметры сети для сетевого интерфейса em0
   hostname="mfsbsd"
   defaultrouter="192.168.1.1"
   ifconfig_em0="inet 192.168.1.5 netmask 255.255.255.0"
   varmfs="YES"
   varsize="64m"
   # Включаем SSH-сервер
   sshd_enable="YES"

Добавляем адрес DNS-сервера:
   echo "nameserver 8.8.8.8" >resolv.conf

Монтируем установочный ISO-образ
   mdconfig -a -t vnode -f ../../FreeBSD-8.1-RELEASE-amd64-disc1.iso md0
   mount_cd9660 /dev/md0 /cdrom/

Собираем загрузочный образ для удаленного сервера:

   make BASE=/cdrom/8.1-RELEASE/

В результате будет получен файл mfsboot.img, который следует скопировать на удаленный сервер.

   scp mfsboot.img user@remotehost:~/

Внимание ! Перед манипуляциями с удаленным сервером, рекомендуется обязательно
провести эксперимент на локальной машине, повторив на ней все дальнейшие шаги.

Заходим на удаленный сервер.

Записываем созданный загрузочный образ в начало диска:

   dd if=mfsboot.img of=/dev/sda bs=1m

Перезагружаем сервер:

   shutdown -r now

После перезагрузки заходим на сервер по ssh и запускаем инсталлятор sysinstall.

Если возникнут проблемы с созданием устройств в devfs, то разбиваем диск вручную:

Пометим системный диск как пустой:
   dd if=/dev/zero of=/dev/ad0 count=2

Создадим слайс, размером во весь диск с записью загрузочного кода в сектор 0:
   fdisk -BI /dev/ad0

Создаем стандартную разметку диска и устанавливаем загрузчик:
   bsdlabel -wB /dev/ad0s1 auto

Форматируем разделы:

   newfs /dev/ad0s1a
   newfs /dev/ad0s1e
   newfs /dev/ad0s1d
   newfs /dev/ad0s1f

Создаем точки монтирования:
   mount /dev/ad0s1a /mnt/
   mkdir /mnt/var
   mkdir /mnt/usr
   mkdir /mnt/tmp
   mount /dev/ad0s1d /mnt/var/
   mount /dev/ad0s1e /mnt/tmp/
   mount /dev/ad0s1f /mnt/usr/

Запускаем sysinstall и выбираем пункт меню "Custom". В пункте Options
обязательно меняем значение "Install Root" на /mnt.
Далее посещаем раздел "Distributions" и выбираем опцию Minimal. В блоке "Media"
выбираем ближайшее ftp-зеркало. Жмем Commit.

Копируем созданные для установочного образа настройки сети или устанавливаем
параметры в процессе работы sysinstall (не забудьте активировать ssh-сервер):

   cp /etc/resolv.conf /mnt/etc/
   cp /etc/rc.conf /mnt/etc/

Если диск разбивался вручную, после установки необходимо откорректировать fstab.

Копируем GENERIC-ядро в директорию /boot/kernel:
   chroot /mnt
   cp -Rp /boot/GENERIC/* /boot/kernel
   

Еще раз все проверив перезагружаем сервер.
 
Раздел:    Корень / Администратору / Система / FreeBSD специфика / Установка и апгрейд FreeBSD и приложений.

Обсуждение [ RSS ]
 
  • 1.1, Anonym, 02:46, 10/12/2010 [ответить] [смотреть все]
  • +/
    При прочтении заголовка вспомнился бородатый анекдот про гинеколога и починку машины через выхлопную трубу =))
     
  • 1.2, Ян Злобин, 04:27, 10/12/2010 [ответить] [смотреть все]
  • +/
    Вот стоит у тебя Убунта, вышел покурить, возвращаешься, а там уже FreeBSD!  Круть!

    Где-то писали, что у мелкомягких есть линуксовые сервера с SHH... ;-)

     
     
  • 2.8, fx, 14:48, 13/12/2010 [^] [ответить] [смотреть все]
  • +/
    SHH это что?
     
     
  • 3.9, Ян Злобин, 18:42, 13/12/2010 [^] [ответить] [смотреть все]
  • +/
    > SHH это что?

    SHH это очепятка :-)

     
  • 1.4, Аноним, 13:53, 12/12/2010 [ответить] [смотреть все]
  • +/
    А если загрузка не с нужного винта пойдет ... весь текст скрыт [показать]
     
     
  • 2.6, upyx, 08:34, 13/12/2010 [^] [ответить] [смотреть все]  
  • +/
    Тогда комп не загрузится...

    Вообще метод экстремальный, чуть что и труба :)

     
  • 1.5, mvalery, 14:39, 12/12/2010 [ответить] [смотреть все]  
  • +/
    У меня нормально срабатывало когда переставлял Linux --> FreeBSD. А вот когда пытался переставить FreeBSD --> FreeBSD, система висла напрочь. По-моему мнению, "dd" ломает таблицу разделов. То что остается пугает загрузчик.
     
  • 1.7, vitlva, 10:19, 13/12/2010 [ответить] [смотреть все]  
  • +/
    Тогда я научился быстро водить машину и убедительно извиняться. Из книги Лукаса.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 18.02 Как подружить Linux-ядро 3.x и утилиту LSI MegaCli
    - 17.02 Сборка операционной системы Mozilla Boot to Gecko (B2G) для экспериментов в QEMU
    - 13.02 Работа в Linux с автоматом записи и печати на DVD/CD дисках Primera Bravo XRP
    - 12.02 Перекодирование русских символов вида =D0=9B в транслит
    - 05.02 Проброс 802.1q/access порта в Linux через IP-сеть
    - 25.01 Использование systemtap для устранения уязвимости в реализации /proc/pid/mem
    - 24.01 Мониторинг загрузки многоядерного сервера по каждому ядру в отдельности в Linux
    - 23.01 Осуществление ОGSM/SMS/USSD вызовов с использованием утилиты mdbus
    - 13.01 Интерактивный firewall в Linux
    - 08.01 Советы по увеличению автономной работы ноутбука с Debian/Ubuntu
    RSS | Следующие 15 записей >>


    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList