Jail环境初始化
和 FreeBSD初始化 类似,在 FreeBSD Thin(薄) Jail 环境中按照自己的要求进行初始安装
备注
这里安装命令假设Jail名字是 dev
所有需要安装的软件包名字或版本可以通过 pkg search XXX
关键字来找到
针对jail的安装命令是: pkg -j <jail_name> install <package_name_list>
,所以为了方便执行,可以先设置 alias
:
设置alias
jail_name=mdev
alias pkg="pkg -j $jail_name"
这样本文后续执行的安装命令就可以直接借用 FreeBSD初始化 以及 FreeBSD编程工具 中相对应的命令。
devops初始化
安装必要运维工具:
安装运维工具
# 如果保持物理主机纯净,将所有日常工作、开发和维护环境都迁移到虚拟机和Jail中,那么只安装以下最少软件
# tmux 建议同时安装 terminfo-db 以获取terminfo数据库
pkg install sudo tmux terminfo-db
# 如果直接在物理主机工作,可以补充安装git等工具
# pkg install sudo tmux terminfo-db bash git-lite tree
ssh初始化
在
mdev
jail中创建用户组和用户 admin:
在jail内部创建admin
# 创建uid为1000的admin组
# 物理主机安装可以跳过,因为installer有一个交互步骤完成了这个工作
pw groupadd admin -g 501
# 创建admin用户
# 物理主机安装可以跳过,因为installer有一个交互步骤完成了这个工作
pw useradd admin -g 501 -u 501 -d /home/admin -m -s /bin/sh
# 将admin用户加入wheel组
pw groupmod wheel -m admin
# 为admin设置密码,不过不是必须的,可以设置ssh key登录
# 物理主机安装可以跳过,因为installer有一个交互步骤完成了这个工作
passwd admin
# 修改 /usr/local/etc/sudoers 设置wheel组用户(也就是admin)无需密码sudo
# %wheel ALL=(ALL:ALL) NOPASSWD: ALL
echo "%wheel ALL=(ALL:ALL) NOPASSWD: ALL" >> /usr/local/etc/sudoers
# 设置自动启动ssh
sysrc sshd_enable="YES"
在 dev
主机的用户 admin
添加ssh key,现在就可以像普通虚拟机一样远程ssh登录到容器内部了
部署开发环境
在
dev
jail中安装所有使用的开发工具:
安装开发工具
pkg install bash ruby lua54 node npm-node22 \
python311 py311-pip go \
tmux graphviz
# 发行版14.3提供的go版本是 1.21
# 根据 gopls 说明,Go 1.21增加了向前兼容支持,所以只要使用go 1.21或更高版本安装gopls,任何必要的工具链升级都将自动处理,就像任何其他依赖项一样
#
# 发行版现在不通过lua软件包名安装,而是要要指定lua版本软件包进行安装,例如 lang/lua51 , lang/lua52 , lang/lua54
# 当前建议安装 lua54 , 即安装lua5.4.7
#
# 发行版14.3提供的node版本是 22.16
构建 NeoVim IDE
首先构建 FreeBSD编程工具 环境
python初始化
安装python和pip:
安装python
JAIL=dev
alias pkg 'pkg -j $JAIL'
pkg install python311 py311-pip
Python Python virtualenv :
python Python virtualenv
cd ~
python3.11 -m venv d2l
source ~/d2l/bin/activate.csh
备注
d2l
Python virtualenv 环境就绪后,开始部署 深度学习环境 以便进一步学习实践 深度学习