URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 73200
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Удаленная установка FreeBSD через SSH "

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

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


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

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

   fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/...
Загружаем 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
  

Еще раз все проверив перезагружаем сервер.

URL: http://subnets.ru/blog/?p=1626 http://www.freebsd.org/doc/en/articles/remote-install/index....
Обсуждается: http://www.opennet.me/tips/info/2492.shtml


Содержание

Сообщения в этом обсуждении
"Удаленная установка FreeBSD через SSH "
Отправлено Anonym , 10-Дек-10 02:46 
При прочтении заголовка вспомнился бородатый анекдот про гинеколога и починку машины через выхлопную трубу =))

"Удаленная установка FreeBSD через SSH "
Отправлено Ян Злобин , 10-Дек-10 04:27 
Вот стоит у тебя Убунта, вышел покурить, возвращаешься, а там уже FreeBSD!  Круть!

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


"Удаленная установка FreeBSD через SSH "
Отправлено fx , 13-Дек-10 14:48 
SHH это что?

"Удаленная установка FreeBSD через SSH "
Отправлено Ян Злобин , 13-Дек-10 18:42 
> SHH это что?

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


"Удаленная установка FreeBSD через SSH "
Отправлено Аноним , 12-Дек-10 13:53 
А если загрузка не с нужного винта пойдет?

"Удаленная установка FreeBSD через SSH "
Отправлено upyx , 13-Дек-10 08:34 
Тогда комп не загрузится...

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


"Удаленная установка FreeBSD через SSH "
Отправлено mvalery , 12-Дек-10 14:39 
У меня нормально срабатывало когда переставлял Linux --> FreeBSD. А вот когда пытался переставить FreeBSD --> FreeBSD, система висла напрочь. По-моему мнению, "dd" ломает таблицу разделов. То что остается пугает загрузчик.

"Удаленная установка FreeBSD через SSH "
Отправлено vitlva , 13-Дек-10 10:19 
Тогда я научился быстро водить машину и убедительно извиняться. Из книги Лукаса.