前几日已经完成了操作系统的安装,以本人小白菜的目标和需求,在FreeBSD安装完成后应该做一下这些工作。
1、更换软件软件源;
2、安装常用软件;
3、ZFS文件系统调优。
Step 1
更换软件源,这里又可以啰嗦几句了。查了些资料发现,FreeBSD要实现软件包的管理需要ports、pkg、portmaster。其中portmaster是ports的管理工具。说的不对的欢迎指出,共同学习。
对于软件源选哪个,不知从什么时候开始我是很迷信中科大源的,让我一度放弃了使用多年的163源。至少Debian我只用中科大源。那么FreeBSD也就选中科大吧。
首先更换pkg源。在中科大开源镜像站说明也中看到,如果需要使用https的url,那么得先安装security/ca_root_nss。
pkg install -y security/ca_root_nss
安装完成后去修改软件源文件。中科大源页面中也有提到,默认得软件源文件是/etc/pkg/FreeBSD.conf,这玩意会跟着freebsd-update的执行被更新,所以改这个没啥用。
需要创建一个用户级别的软件源文件。
mkdir -p /usr/local/etc/pkg/repos
vi /usr/local/etc/pkg/repos/FreeBSD.conf
文件中写入如下内容:
FreeBSD: {
url: "https://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/quarterly",
mirror_type: "srv",
signature_type: "none",
fingerprints: "/usr/share/keys/pkg",
enabled: yes
}
把系统原软件源文件改名,这个步骤可以不做。然后更新索引。
mv /etc/pkg/FreeBSD.conf /etc/pkg/FreeBSD.conf.bak
pkg update -f
pkg源搞完了,现在继续搞ports源,因为ports可以使用axel进行多线程下栽,所以这里先安装一下axel,顺便看看pkg源是否正常生效。
pkg install -y axel
获取获取 ports 目录,可以通过修改/etc/portsnap.conf文件中的SERVERNAME参数来修改portsnap 源。我这里直接使用默认的portsnap 源。
portsnap fetch
拉取列表并检查更新已经安装的ports。
portsnap extract
portsnap update
以后更新 ports 目录时,直接执行portsnap fetch update就可以了。
开始配置ports源。
vi /etc/make.conf
文件内写入如下内容:
FETCH_CMD=axel -n 5 -a #axel使用5线程下载。
DISABLE_SIZE=yes
MASTER_SITE_OVERRIDE?=https://mirrors.ustc.edu.cn/freebsd-ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=https://mirrors.163.com/freebsd-ports/distfiles/${DIST_SUBDIR}/
这里多加了一个163的源。ok,ports源也完成了。安装一下portmaster。
cd /usr/ports/ports-mgmt/portmaster
make install clean
执行更新命令测试一下是否有错误。
portmaster -a
Step 2
安装常用软件,vim必须得装,vi实在是用不习惯。我内网的授时服务是chrony提供的,所以这个也要装。下面的命令是按找我的需求来输入的,软件安装因人而异。
pkg install -y wget git curl vim chrony python3
Step 3
ZFT文件系统优化,可以去下面的wiki和官方文档看。我根据我自己的需求改了做了四项优化。 https://wiki.freebsd.org/ZFSTuningGuide https://docs.freebsd.org/en/books/handbook/zfs/
修改/boot/loader.conf,加入以下内容:
vfs.zfs.arc_min="1G"
vfs.zfs.arc_max="2G"
vfs.zfs.prefetch_disable="1"
vfs.zfs.arc_min:需要为ZFS文件系统页缓存预留的最小内存,一般设置为内存总量的25%~50%;
vfs.zfs.arc_max:需要为ZFS文件系统页缓存预留的最大内存,保证系统稳定的前提下,能搞多大就搞多大。
vfs.zfs.prefetch_disable:大数据块预读取,默认0,表示开启。设置为1,表示关闭。关闭可挺高磁盘性能。
以上就是我做的一些安装后的工作,欢迎指正和讨论。