美文网首页
阿里云服务器远程安装FreeBSD的方法

阿里云服务器远程安装FreeBSD的方法

作者: 573v3n | 来源:发表于2017-02-11 18:08 被阅读0次

    还是觉得要记录下,因为能有这篇文章我不是走了一遍就安装成功的,确切的说,在安装过程中光重启服务器我就重启了14次,14次失败才换来下面这些。

    周三买的一台服务器,系统在阿里云控制台选的是FreeBSD,阿里云默认提供的系统版本是10.1,FreeBSD的最新版本是11.0,由于版本低,在使用Ports系统安装软件的时候出现错误。开始更新系统。

    周四,使用FreeBSD提供的freebsd-update工具进行在线的系统升级,由于国内网络的原因,在线连接FreeBSD的镜像服务器不是超时就是下载速度极慢,这个我也没有办法,周四忍了一天,更新失败。

    周五,药不能停,系统还得装。开始换方法。打算重新在云服务器上面手动安装FreeBSD。既然是安装系统,就需要一个启动盘引导进入安装环境,但是服务器在云端,没有任何物理接口可以提供用来引导,即使格式化硬盘,服务器上面也还有运行的操作系统,系统原因,会对对硬盘的操作做禁止处理,这里,是给云服务器安装的难点。

    本着有困难要上,没有困难制造困难也要上的原则,此处省略了2小时的google时间。

    好,时间到,方法找到了。一个叫做mfsBSD的工具能帮上忙。和他名字一样,Memory File System BSD。一个镜像工具,用来引导系统,运行在内存里面,大小配置完后56M,56M引导进入系统安装环境已经足够。下面是教程。

    官网下载mfsBSD,解压进入目录。与此同时,阿里云镜像站下载FreeBSD的镜像文件FreeBSD-11.0-RELEASE-amd64-disc1.iso。

    挂载FreeBSD的镜像文件到系统内的cdrom

    mdconfig -a -t vnode -u 10 -f FreeBSD-11.0-RELEASE-amd64-disc1.iso
    mount_cd9660 /dev/md10 /cdrom
    

    本地利用mfsBSD配置生成引导镜像文件。

    sudo make BASE=/cdrom/usr/freebsd-dist
    

    PS:我在执行上面命令的时候mfsBSD报了一个错误,pkg-static这个命令在tools文件夹内找不到,这个好办,因为我自己电脑使用的就是FreeBSD的系统,所以直接到系统内部对这个命令做个软链到tools文件夹下面即可。

    最后,得到一个叫mfsbsd-11.0-RELEASE-p2-amd64.img文件,这个文件就是mfsBSD工具利用我们下载的FreeBSD-11.0-RELEASE-amd64-disc1.iso,本地制作出的系统引导镜像。

    至此,本地的操作基本完成,下面的操作就是在阿里云服务器上面了。

    先说下大体过程:
    1.先在阿里云web控制台为服务器选择FreeBSD系统安装上线,登录进入之后,备份系统下面的 /boot/loader.conf /etc/rc.conf /etc/resolv.conf文件到本地。

    2.登录web控制台,关机更换系统到Debian,开机上线。

    3.拷贝本地生成的镜像文件到云端服务器。

    4.登录到web控制台,打开远程连接,网页端登录系统,重启。

    5.在网页端终端下按键盘向下箭头,进入到Debian系统启动选项的高级模式,编辑高级模式,进入recovery模式启动系统。

    6.找到拷贝过来的系统镜像,刻录镜像到服务器的启动分区。重启系统。

    7.一切成功后应该可以引导进入mfsBSD系统内部。根据之前备份的配置文件配置mfsBSD联网。然后进行系统安装。

    8.重启系统,FreeBSD就在那里等着你了。

    下面详细说下具体步骤遇到的问题和解决方法。

    首先还是要感谢阿里云提供的web终端界面,我想,很多人可能没有意识到这个功能的重要性。大部分的云服务器一旦上线就通过终端ssh远程到服务器上面,但是这里有个前提,就是服务器完美启动,公网地址已经获得,在此之前如果想看到服务器的启动信息,只能通过web终端连接。完美。

    第一步的作用仅仅是备份那几个文件,loader.conf记录了系统启动时候首先载入哪些服务,rc.conf文件记录了系统开机需要启动的服务,resolv.conf记录了服务器内部使用的DNS配置项。之所以备份这些信息一个是要为mfsBSD镜像引导成功进入安装环境时候配置网络,联网下载FreeBSD的系统文件。另外也是为了我们自己安装完系统之后,服务器可以正常启动,因为服务器在阿里云上面,你不知道阿里云内部是怎么配置的,eg:服务器如果获取网络地址,网关地址是在哪里等等。

    第二步很简单,就是一个关机更换系统盘的过程,全网页操作,哪里不会点哪里。

    第三步拷贝i㎎文件到远程服务器,使用下面命令拷贝文件到远端服务器的root目录下面

    scp /path/to/the/file/mfsbsd-11.0-RELEASE-p2-amd64.img root@1.2.3.4:/root
    

    第四步同第二步,网页操作。

    第五步,网页端的终端下在看到这个界面的时候,按图示操作。

    1.jpg 2.jpg

    编辑的时候在标红的那行的结尾输入 init=/bin/bash,按下ctr+x重启系统。这样就会进入Debian的recovery模式。

    第六步,通过下面的命令找到系统盘,在我这里显示的是vda。

    df -lah
    ls /dev
    

    然后使用dd命令刻录img文件到系统启动分区

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

    刻录完成之后输入

    echo $?
    

    确认刻录过程没有出错,返回0为ok。
    至此,img文件已经刻录到系统启动盘,通过ctr+alt+delete方式重启系统,等待引导进入mfsBSD引导环境。

    第七步,配置安装环境联网。这一步昨晚搞的我很痛苦,因为配置文件的修改不支持复制粘贴,全部是手打上去的,做好准备。

    先配置DNS信息,进入/etc目录,找到resolv.conf文件,如果没有手动创建。然后根据之前备份的对应配置文件修改,还有一个地方需要注意,BSD默认是没有安装vim/vi的,BSD下面默认安装的编辑器是ee。

    ee /etc/resolv.conf
    

    添加配置信息,根据备份文件内容替换下面地址

    nameserver 1.1.1.1
    nameserver 2.2.2.2
    

    完成之后按下ESC键,等待ee弹窗,之后按下a键两次保存配置信息。
    接下来编辑rc.conf文件,所有之前备份的rc.conf文件中的网络信息配置项远扬照抄到里面即可,这里略过,实在是不想再来一遍了...
    两个配置文件配置完成之后,手动配置网络端口。
    使用命令:

    ifconfig vtnet0 inet 1.1.1.1 netmask 2.2.2.2
    ifconfig vtnet1 inet 3.3.3.3 netmask 4.4.4.4
    

    配置网络端口ip地址,网关地址,vtnet1/0是mfsBSD启动时候自动探测到的网络接口名称,阿里云服务器有两个网卡,1个内网,1个外网。所以配置两条。

    上面东西做完之后,使用命令:

    sh /etc/rc
    

    或者:

    /etc/netstart
    

    使配置项即使生效。这个时候网络应该就是通的了。

    网络通了之后,这个时候你就可以在本地使用ssh连接到mfsBSD环境了,虽然他现在只是运行在内存里。

    剩下的就是输入bsdinstall开始安装FreeBSD系统到服务器硬盘了。这里有两个地方需要说下,我在这两个地方上运到了问题。

    第一个是网络镜像服务器的选择,bsdinstall界面下会有选择网络镜像服务器的选项,那里罗列了FreeBSD分放在世界各地的服务器地址,选择一个距离你比较近的,我使用的是日本的3号镜像服务器,感觉速度还行,当然,如果你觉得在下载过程中速度很慢,你可以随时使用ctr+c停止掉bsdinstall的进程,重新再来一遍,但是,但是千万不要重启,千万不要重启,千万不要重启,重要的事情说三遍。如果你够贱,输入了reboot,shutdown -r now这样的命令,那么恭喜你,从上面的步骤2开始,再来一遍把。

    第二个问题花了我不少时间,在选择完网络服务器那一步,而且东西都下载好的时候,出现了这个提示,这个是昨晚我用手机拍下的。


    IMG_0319.JPG

    提示这个文件找不到,首先这个MANIFEST文件是用来检查FreeBSD网络下载文件MD5值的,但是FreeBSD并不会直接下载这个文件,所以你需要手动到你选择的网络镜像下面找到这个文件,下载到mfsBSD对应提示的目录里面,freebsd-dist目录并没有在我的/usr目录下面出现,所以我直接创建目录,把下载好的文件放到这个目录下面就行了。

    还有一点就是如果你在安装过程中终止了,而且已经过了格式化硬盘分区那一步之后重新开启了bsdinstall,请确保第二次格式化硬盘分区的时候选择和你第一次的格式一样。否则同样会在上面那一步报错。

    剩下的安装过程基本不会出现什么错了,安装完成之后等待服务器重启,开始享受FreeBSD 11.0-RELEASE吧。

    PS2:mfsBSD是可以在本地通过编辑他配置文件的方式提前配置好网络的,但是,我试了好几次,引导起来的系统都是mfsBSD的默认配置,也许使我方法错了,有高人,请指点。

    PS3:也许,当然我没有试过,可以通过直接下载freebsd的启动文件,dd到启动盘用这种方式来安装bsd,我现在觉得应该也可以。

    PS4:因为之前在阿里云web终端下替换的最后一个系统是Debian,所以即使我安装好了FreeBSD 11之后,重新登录进web终端,阿里云给出的系统依旧是Debian系统,不知道这是不是他们的一个bug。

    相关文章

      网友评论

          本文标题:阿里云服务器远程安装FreeBSD的方法

          本文链接:https://www.haomeiwen.com/subject/qfinittx.html