升级阿里云ECS公共镜像里的FreeBSD11-RELEASE到FreeBSD12-RELEASE

阿里云当前公共镜像中,FreeBSD的版本是 11.1-RELEASE,如想使用 12.0-RELEASE,可按以下步骤自行升级(如有重要数据,请先备份)。

1.freebsd-version -k -u # 查看当前版本

11.1-RELEASE
11.1-RELEASE

upgrade-freebsd-1.png

2.freebsd-update fetch # 获取当前版本更新
upgrade-freebsd-2.png

3.freebsd-update install # 安装更新
upgrade-freebsd-3.png

4.freebsd-update upgrade -r 12.0-RELEASE # 升级到 12.0-RELEASE
upgrade-freebsd-4.png

5./usr/sbin/freebsd-update install # 安装更新

6.reboot # 重启
upgrade-freebsd-5.png

7./usr/sbin/freebsd-update install # 再次安装更新

8.freebsd-version -k -u # 查看更新后的版本

12.0-RELEASE-p2
12.0-RELEASE-p2

upgrade-freebsd-6.png

参考:https://www.freebsd.org/releases/12.0R/installation.html

使用dd命令,还原FreeBSD 12官方发布的虚拟硬盘文件(需转换成固定大小)

本例是超微的凌动机,2TB机械盘。

过程:

1.转到急救系统 - systemrescuecd

2.wget -O- url/to/freebsd-fixed-disk.vhd.gz | gunzip | dd of=/dev/sda # 可替换镜像文件网址,sda 是磁盘名称

freebsd-0.png

3.dd完成后,重启机子,可以看到FreeBSD成功启动
freebsd-1.png

参考:

在Windows里用VBoxManage将动态扩展硬盘的vhd转成固定大小的

问题:从镜像站下载的FreeBSD虚拟硬盘文件vhd是动态扩展的,虽然可以在VitualBox里使用,但无法在Linux系统里使用dd命令还原。

尝试:

1.下载FreeBSD的镜像文件,如国内的可从阿里云镜像点下载 https://mirrors.aliyun.com/freebsd/releases/VM-IMAGES/12.0-RELEASE/amd64/Latest/FreeBSD-12.0-RELEASE-amd64.vhd.xz

2.下载到本地后,用7-zip解压,得到 FreeBSD-12.0-RELEASE-amd64.vhd 文件

3.使用VBoxManage.exe程序,将vhd磁盘文件从动态扩展的转成固定大小的类型,如 VBoxManage.exe clonemedium disk "I:\vhd\FreeBSD-12.0-RELEASE-amd64.vhd3\FreeBSD-12.0-RELEASE-amd64.vhd" "I:\vhd\FreeBSD-12.0-RELEASE-amd64.vhd3\FreeBSD-12.0-RELEASE-amd64-b.vhd" –variant Fixed

vhd-1.png
vhd-2.png

4.如提示原vhd磁盘的uuid重复,可先生成新的uuid,如 VBoxManage.exe internalcommands sethduuid "I:\vhd\FreeBSD-12.0-RELEASE-amd64.vhd3\FreeBSD-12.0-RELEASE-amd64.vhd"

5.通过dd命令,成功将固定大小类型的vhd文件复制到指定的硬盘上

参考:

在 FreeBSD 12 里安装 nfsen

参考“毛蛋哥”的文档,在 FreeBSD 12 里尝试安装 nfsen。用一个VirtualBox虚拟机测试,目的是让nfsen portraker 在浏览器里显示出图表,不做网络流量分析。

1.下载现成的虚拟机虚拟磁盘文件,如国内的可从阿里云镜像点下载 https://mirrors.aliyun.com/freebsd/releases/VM-IMAGES/12.0-RELEASE/amd64/Latest/FreeBSD-12.0-RELEASE-amd64.vhd.xz

2.下载好磁盘文件后,解压。在VirtualBox里创建虚拟机,配置虚拟机用现有的,刚下载到的磁盘文件,虚拟网卡为“桥接网络”
nfsen-1.png

3.root账户密码默认为空。新增一个普通用户,添加到wheel组中,可ssh登录输入操作,较方便
nfsen-2.png

4.sysrc sshd_enable=YES # 配置sshd服务

5.service sshd start # 启动sshd服务
nfsen-3.png

6.以普通用户ssh登录,然后通过su切换到root

7.pkg # 运行pkg,如果没有安装,会提示下载和安装
nfsen-4.png

8.pkg install fprobe # 如需fprobe,可使用pkg便捷安装
nfsen-5.png

9.portsnap fetch # 获取 ports

10.portsnap extract # 展示 ports

11.pkg install nfsen # 安装 nfsen
nfsen-7.png

12.pkg install apache24 # 安装 apache24
nfsen-8.png

13.sysrc apache24_enable=yes # 配置 apache24 服务

14.sysrc php_fpm_enable=yes # 配置 php-fpm 服务

15.vi /usr/local/etc/apache24/httpd.conf # 编辑 apache24 配置文件,启用 mod_proxy 和 mod_proxy_fcgi 模块
nfsen-9.png

16.继续编辑httpdconf配置文件,替换默认文件路径 /usr/local/www/apache24/data 为 nfsen 的 /usr/local/www/nfsen,添加php文件处理 ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/usr/local/www/nfsen/$1 ,添加 nfsen.php 默认首页
nfsen-10.png

17.service php-fpm start # 启动 php-fpm 服务

18.service apache24 start # 启动 apache24 服务

19.在浏览器里访问虚拟机的IP,如果看到nfsen的报错信息,那apache和php基本上可以运行了
nfsen-11.png

20.vi /usr/local/etc/nfsen.conf # 编辑nfsen配置文件,修改netflow数据源地址
nfsen-12.png

21.sysrc nfsen_enable=yes # 配置 nfsen 服务

22.service nfsen start # 尝试启动 nfsen 服务

23.nfsen reconfig # 如果启动失败,会提示需先配置
nfsen-13.png

24.cd /usr/ports/net-mgmt/nfdump/ # 切换到nfdump的ports路径

25.make # 编译,记得要勾选nftrack
nfsen-14.png

26.cp /usr/ports/net-mgmt/nfdump/work/nfdump-1.6.17/bin/.libs/nftrack /usr/local/bin/ # 复制 nftrack
nfsen-15.png

27.rehash

28.mkdir /usr/local/var/nfsen/portsdb

29.cp /usr/ports/net-mgmt/nfsen/work/nfsen-1.3.8/contrib/PortTracker/PortTracker.pm /usr/local/libexec/nfsen/plugins/ # 复制 PortTracker.pm。如果提示没有找到文件,可转到 /usr/ports/net-mgmt/nfsen,make之后看是否会自动生成

30.cp /usr/ports/net-mgmt/nfsen/work/nfsen-1.3.8/contrib/PortTracker/PortTracker.php /usr/local/www/nfsen/plugins/ # 复制 PortTracker.php
nfsen-16.png

31.vi /usr/local/libexec/nfsen/plugins/PortTracker.pm # 编辑PortTracker配置文件,修改 $PORTSDBDIR 的路径
nfsen-17.png

32.vi /usr/local/etc/nfsen.conf # 编辑 nfsen 配置文件,增加插件 PortTracker @plugins
nfsen-18.png

33.nftrack -I -d /usr/local/var/nfsen/portsdb/ # 初始化数据文件
nfsen-19.png

34.touch /usr/local/var/nfsen/portsdb/portstat.txt /usr/local/var/nfsen/portsdb/portstat24.txt # 创建记录文件

35.chown -R www:www /usr/local/var/nfsen/portsdb # 更改数据目录权限为web用户的

36.service nfsen restart # 尝试重启 nfsen 服务
nfsen-20.png

37.等约五分钟后,再在浏览器里访问,可以看到nfsen相关页内容,如详情页:
nfsen-21.png

38.nfsen插件PortTracker页:
nfsen-22.png

参考:

面盆

现在多数厨房装有不锈钢水槽,用来洗碗、洗菜,挺方便的。家里老妈习惯是在水槽上架一个塑料的面盆来洗菜,洗碗。我问过为什么不直接在水槽里洗,老妈答说用面盆干净些,且可以把洗菜用过的水接到厕所的水桶里,可以用来拖地或冲厕所。

我把可盛水的敞口盆叫做“面盆”,是因为以前在老家农村,这就是主要用来洗脸用的。面盆一般支架在有约1米高的木架上,大人不用低腰就可以揉毛巾,小时候我个子不够高,要掂着脚才能够得着面盆。如果在外边捞到有小鱼,田螺,会把小鱼田螺也放在面盆里养。记得开始面盆是搪瓷生铁的,胚体是生铁,表面搪有一层瓷,盆底和盆边瓷上画有胖娃戏鱼的吉祥图案。面盆如不小心摔到地上,表面的瓷可能会凹凸、脱落。没瓷保护的地方容易生锈,久而久之可能会穿小也,漏水。如有走江湖的巧匠可以用锡条嵌进小孔里,再用工具将锡条和四周打平,补好面盆。

现在的面盆多数是塑料的,轻,拿着放这放那,挺方便。面盆不再用来洗脸,是用来洗东西、装东西的了。如过年时,会准备肉。面盆可以装好多油炸好的鱼肉、猪肉。

今天,我用面盆来洗菜,捞起青菜后,面盆里的水是不是可以拿到楼顶淋葱呢?双手托起面盆,哟,还不轻哩。托起不费劲,但要托着满水的面盆上到楼顶,是一件力气活。我绷紧了肩头,侧着头咧着嘴,坚持着将水刷刷地淋到花盆里的葱。淋葱时手发软,倒洒了一些。葱葱们能有这么多水喝,想必会很高兴。

如今,水电是生活中必不可少的。饮用水的好坏,更关系到人的健康,人每天新陈代谢,都缺不得水。城市化聚居在城镇里的人越来越多,饮用水的引水线也越拉越长,和平县城的吃水是从浰源、热水引来。我希望自己能在生活中养成节约用水的好习惯。

hp-jia-lian-pen-1.jpg

hp-jia-lian-pen-2.jpg