远程安装FreeBSD(2)/从Linux系统安装Freebsd

上篇文章《远程安装Freebsd》写了怎样远程安装FreeBSD系统,这篇文章其实内容差不多,略有修改。

起因是一些服务商的FB系统版本老的让人吐血,而从国内进行大版本升级要几天几夜,没招,自己想办法,参考了一些别人的做法,实践成功,并且在不同环境中试过,是可行的。

 

需要的环境

1,vnc或者基于web的vnc或者同类软件都可以,像novnc和freerdp这类都可以,但要注意区分连接方式,如果仅仅是代替客户端去连接ssh端口的这种,不行。

2,至少有个什么linux版本吧,本文以debian系统为例来操作。

3,内存低于1G的我没成功过,512M的小虚拟机我每次都遇到内存不足而崩掉的情况。

4,机器可用空间大于1G,且已用空间大于1G(不包括swap)。这一点有待验证,但符合这个前提最佳。

5,有dhcp会方便些,如果没有的话,你要把网络参数记下来,免得尴尬。

 

先简要说明一下

空间那个,首先因为img文件放上去要一块空间,目前是300M出头,保不齐以后的img会大一些,所以需要1G的空间保险点;同时因为是物理写盘了,假设系统只用了100M,而再写盘,那么有可能写入操作会把img文件给覆盖掉(这方面我没验证,仅仅是推测)

vnc那个,和之前有些网友提的问题是一回事。因为vnc其实连接的是宿主机,而宿主机是把vnc服务虚拟成一个输出设备丢给虚拟机的操作系统,所以其实操作vnc就和本地鼠标键盘显示器连接服务器操作是一样的。而ssh依托于操作系统,干这活的时候操作系统本身没有运行,那么ssh自然用不成,所以之前有些网友的操作不成功。如果你的服务商只提供了网页版的ssh,那你不用试了。

 

 

操作过程

1,把 https://mfsbsd.vx.sk/files/images/12/amd64/mfsbsd-se-12.0-RELEASE-amd64.img 这个文件下载或者上传到服务器上。

2,进vnc,重启系统,选择rescue模式。这里要注意,有些系统环境挺奇怪,rescue模式是没有默认shell的,启动以后会什么都做不了,如果遇到这个事,则再重启一次,用上下箭头选rescue,按e键编辑,在echo xxxx下面一行的linux xxxxxx后面增加:

init=/bin/bash

注意前面留个空格,而且是写在同一行,然后ctrl+x启动就可以了。

3,写盘。命令是:

dd if=/root/mfsbsd-se-12.0-RELEASE-amd64.img of=/dev/vda bs=1M

文件就是你放的那个img文件,后面的vda根据自己情况更换成sda/vda这样的,这个命令执行完以后要“强制重启”,而不要用reboot这样的命令,也不要用ctrl+alt+del,简单的说就是写盘完成以后,需要确保没有任何的写盘动作。

如果没有提前放文件的话,也可以直接用在线的:

wget -O- 'https://mfsbsd.vx.sk/files/images/12/amd64/mfsbsd-se-12.0-RELEASE-amd64.img' | dd of=/dev/vda

 

4,重启就进了一个精简的FreeBSD系统,如果没有dhcp的话,编辑/etc/resolv.conf和/etc/rc.conf把网络配置写好(注意不同的硬件环境网卡名是不同的),然后执行命令:

/etc/netstart

 

5,现在就可以用vnc或者ssh连接服务器了,root密码是mfsroot,然后先下载一个文件:

mkdir -p /usr/freebsd-dist
cd /usr/freebsd-dist
fetch http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.0-RELEASE/MANIFEST

 

6,进入安装程序:

bsdinstall

 

后面的一切都和正常安装是一样的,不会的话就参考《手把手教你按照FreeBSD系统》。唯一不同的就是选择磁盘那个地方会报错,不理他直接回车两次就行了。

上面这些步骤这几天在多个服务商环境中干了好几次,确认没问题,如果你干不好,请仔细看一下前提和操作步骤。

 

多啰嗦一句,openvz环境是绝对不行的,不用试。

 

====================

之前我不太确定,后来我测试过,安装完成以后会问要不要开个shell,这时候可以选择开一个,然后编辑/etc/ssh/sshd_config,让root可以直接登录,这样就不用加个用户那么麻烦了。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: