2026/4/18 9:05:33
网站建设
项目流程
石家庄做网站好的网络技术有限公司,哪家公司做网站最好,人和做网站,汉中做网站电话近期看到FreeBSD 从入门到跑路#xff0c;里面有一章节讲到#xff1a;云服务器安装 FreeBSD#xff08;基于腾讯云轻量云、阿里云轻量应用服务器#xff09;
结合它的方案六#xff0c;针对普通的ESC服务器#xff0c;进行了以下的实践操作。主要是手里没有多余的轻量服…近期看到FreeBSD 从入门到跑路里面有一章节讲到云服务器安装 FreeBSD基于腾讯云轻量云、阿里云轻量应用服务器结合它的方案六针对普通的ESC服务器进行了以下的实践操作。主要是手里没有多余的轻量服务器所以没有进行轻量服务器的测试。先上结论针对云服务器当前的问题是有些云没有提供FreeBSD系统有些云提供的FreeBSD系统版本太低。本次实践解决的问题就是在提供FreeBSD系统云供应商的云服务器里面快速安装高版本FreeBSD本次实践使用了阿里云ESC云服务器。当然FreeBSD系统本身也支持使用freebsd-update升级系统但是那个升级太慢远不如拿到新系统后直接重装新版本更快捷更方便先下载img镜像首先下载FreeBSD安装盘的img镜像。 img镜像是用来制作usb启动盘的在云服务器里可以多采购一块云空间硬盘然后通过镜像制作安装盘。wget https://mirrors.aliyun.com/freebsd/releases/ISO-IMAGES/14.3/FreeBSD-14.3-RELEASE-amd64-memstick.img # 阿里云内部要用内部站否则下载会慢 wget http://mirrors.cloud.aliyuncs.com/freebsd/releases/ISO-IMAGES/14.3/FreeBSD-14.3-RELEASE-amd64-memstick.img注意#阿里云内部要用内部站http://mirrors.cloud.aliyuncs.com否则下载镜像文件会很慢。查看数据盘在阿里云采购一块数据盘大约2G即可。当然阿里云最小的盘是20G买买买。在阿里云这样添加一块数据盘很方便这样就不用再去按照手册里从原来的盘里划分一部分空间出来制作安装盘操作简化很多。主要是FreeBSD系统里减小空间有点麻烦。先用gpart show看默认的系统盘gpart show 34 83886006 vtbd0 GPT (40G) 34 122 1 freebsd-boot (61K) 156 66584 2 efi (33M) 66740 2097152 3 freebsd-swap (1.0G) 2163892 81722148 4 freebsd-ufs (39G)查看数据盘是vtbd1怎么知道数据盘的盘符呢我们看到当前的系统盘是vtbd0那么ls /dev查看/dev目录ls /dev/ acpi% bpf0 devctl% full% kbd1 midistat% pfil% stderr ttyu0.init% ttyv5% ufssuspend% usbctl% vtcon/ apm% console% devctl2% geom.ctl% kbdmux0% mlx5ctl% pts/ stdin ttyu0.lock% ttyv6% ugen0.1 vtbd0% xpt0% apmctl% consolectl% devstat% gpt/ klog% music0% pvclock% stdout ttyv0% ttyv7% ugen0.2 vtbd0p1% zero% atkbd0% ctty% diskid/ gptid/ kmem% netdump% random% sysmouse% ttyv1% ttyv8% uhid0% vtbd0p2% audit% cuau0% efi% input/ log netmap% reroot/ tcp_log% ttyv2% ttyv9% uinput% vtbd0p3% auditpipe% cuau0.init% fd/ io% mdctl% null% sequencer0% ttyV0.1% ttyv3% ttyva% urandom vtbd0p4% bpf% cuau0.lock% fido% kbd0 mem% pci% sndstat% ttyu0% ttyv4% ttyvb% usb/ vtbd1%可以看到数据盘是vtbd1启动镜像写入数据盘dd ifFreeBSD-14.3-RELEASE-amd64-memstick.img of/dev/vtbd1 bs1M convsync写完之后使用fdisk看看/dev/vtbd1fdisk /dev/vtbd1可以看到写入的内容fdisk /dev/vtbd1 ******* Working on device /dev/vtbd1 ******* parameters extracted from in-core disklabel are: cylinders41610 heads16 sectors/track63 (1008 blks/cyl) Figures below wont work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders41610 heads16 sectors/track63 (1008 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 239 (0xef),(EFI System Partition) start 1, size 66584 (32 Meg), flag 0 beg: cyl 1023/ head 255/ sector 63; end: cyl 1023/ head 255/ sector 63 The data for partition 2 is: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) start 66585, size 2962128 (1446 Meg), flag 80 (active) beg: cyl 1023/ head 255/ sector 63; end: cyl 1023/ head 255/ sector 63 The data for partition 3 is: UNUSED The data for partition 4 is: UNUSED证明启动制作成功学习方案六对于支持在线调整的文件系统可压缩出约 2 GB 的未分配空间创建一个 FAT32 分区再将 img 镜像dd写入该分区。在 GRUB 中使用chainloader 1指向dd操作后生成的 BSD EFI 系统分区。需注意一般的云服务器默认可能使用文件作为交换空间swapfile或者也可以尝试直接将 img 镜像dd到交换分区。对于无法压缩分区的情况可以临时购买并挂载一块数据盘将镜像dd到数据盘。然后通过数据盘上的安装程序进行系统安装。安装完成后卸载并删除数据盘即可。潜在的问题在于 img 镜像可能无法正确识别分区可能需要手动指定根文件系统。部分发行版并不使用 GRUB此时需要考虑是安装 GRUB还是直接在 systemd-boot 等引导程序上处理以及其可行性如何。gpart resize 怎么调整freebsd的分区大小比如把根目录减小2G新创建一个分区 df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/gpt/rootfs 39572780 6508932 29898028 18% / devfs 1 0 1 0% /dev /dev/gpt/efiesp 32764 657 32107 2% /boot/efi尝试方案六配置引导由于用的是FreeBSD系统所以没法安装方案六里面操作。FreeBSD 使用的是 BSD 自研的 boot loader并非 GRUB因此上述文档不适用于 FreeBSD 系统。 在 FreeBSD 中若需将引导设备从 vtbd0 改为 vtbd1通常应修改以下文件之一 /boot/loader.conf可添加或修改如下行以指定根设备 kern.rootdevvtbd1p2 其中 p2 为实际根分区编号需根据 gpart show 确认 /etc/fstab确保根文件系统挂载项指向正确的设备例如 /dev/vtbd1p2 / ufs rw 1 1 FreeBSD 的引导过程不依赖 /boot/grub/ 下的配置文件因此无需修改 GRUB 相关内容。操作前请确认 vtbd1 上已安装完整的 FreeBSD 系统并包含 /boot 目录。这样方法没通过进入boot目录boot /dev/vtbd1p2:/boot/kernel/kernel不管用这里有空再去重新写下引导这里写的应该不对因为我后来看到引导的应该是s2而不是p2boot /dev/vtbd1s2:/boot/kernel/kernel以后有空再去做实验吧。尝试方案六手动引导在系统引导后不进入FreeBSD而是进入boot命令行模式。查看lsdevdisk0 diskop1:FreeBSD boot disk0p2:EFI disk0p3:FreeBSD swap disk0p4:FreeBSD UFS disk1 disk1s1:Unknown disk1s2: FreeBSD disk1s2aFreeBSD UFS这样我们就知道了数据盘的结构是disk1 .现在的问题是lsdev 是这样的怎么在boot从disk1 盘启动手工启动进入boot后执行set currdevdisk1s2a load /boot/kernel/kernel boot进入安装引导画面进入install画面尝试使用zfs系统碰到这个报错看来不能用zfs要用ufs 吐槽一下FreeBSD不能用zfs绝对是重大损失安装完成重启哇真的是FreeBSD14.3原来的系统是FreeBSD14.1而且阿里云只支持老的系统总结以前在云系统使用FreeBSD都是要供应商有这个系统才能用而且是供应商有什么版本就只能安装什么版本。这次实践是只要有了一个FreeBSD系统就可以自己用云盘创建启动盘来安装任意版本的FreeBSD系统。当前不想再去折腾了以后会再去试试怎么在云供应商没有提供FreeBSD系统的情况下安装FreeBSD系统。