您的位置:首页 > 其它

FreeBSD 配置经验

2017-08-31 12:36 148 查看
概述

与 Linux 的差异

安装与配置

在 UEFI 下引导 FreeBSD

使用 GRUB2 引导 FreeBSD

无线网络配置

服务管理

包管理

pkg

Ports

系统版本升级

概述

FreeBSD
开源自由
Unix Like
操作系统。

FreeBSD
继承自
BSD
(
Berkeley Software Distribution
)系列,是正统的
Unix
分支,但由于法律原因,
FreeBSD
不能称为
Unix


相比
Linux
FreeBSD
更加贴近传统
Unix
的设计风格。

与 Linux 的差异

授权协议差异:

Linux
使用
GPLv2
许可证,许可证兼容性较差,内核二次开发需要继续开源代码,直接导致一些使用其它许可证的开源技术无法并入
Linux
内核,如
ZFS
文件系统

FreeBSD
使用
BSD
许可证,许可证宽松,有多家公司基于
FreeBSD
进行商业性的二次开发,如
Apple
macOS
Sony
Play Station 3/4


开发模式差异:

Linux
项目仅仅包含内核开发,上游工具链由不同的团队维护,同时有众多基于
Linux
内核的发行版

FreeBSD
项目是完整的操作系统,包含内核、设备驱动、工具链、文档等,关注度和商业宣传不如
Linux
,开发团队规模较小,对于新

社区规模差异:

Linux
商业宣传优秀,社会关注度高,开发团队庞大,对于新硬件、新技术有较好支持

FreeBSD
开发团队规模较小,开发进度较慢,对新硬件的支持较为缓慢

安装与配置

FreeBSD
官方
FTP
站点提供了镜像下载,地址为
ftp://ftp.freebsd.org/pub/FreeBSD


ISO-IMAGES
目录下即为正式发布版本的镜像,选择匹配的
CPU
架构和版本即可。

镜像命名规则如下:

FreeBSD-[版本号]-RELEASE-[CPU架构]-[镜像类型].img/iso


镜像类型分为以下几类:

bootonly
后缀名为
iso
,仅供启动引导使用

disc1
后缀名为
iso
,基本镜像,包含基本软件包

dvd1
后缀名为
iso
,包含大量常用软件包

memstick
后缀名
img
,刻录使用镜像,包含基本软件包

memstick-mini
后缀名
img
,刻录使用镜像,包含核心软件包,最小化安装使用

后缀名
iso
的镜像用于虚拟机启动,后缀名
img
的镜像用于刻盘安装。

刻录镜像使用
dd
指令,并需要添加部分参数,以
amd64
架构的
memstick-mini
镜像为例,刻录指令如下:

# dd if='FreeBSD-[版本]-RELEASE-amd64-memstick-mini.img' of='/dev/[磁盘id]' bs=1M conv=sync


在 UEFI 下引导 FreeBSD

FreeBSD 10
开始引入
UEFI
启动支持,
FreeBSD 10
运行在
UEFI
模式下需要下载独立的带有
uefi
名称的镜像版本。

FreeBSD 10.3
为例,对应的
amd64
刻录镜像名称为
FreeBSD-10.3-RELEASE-amd64-uefi-memstick.img


FreeBSD 11
开始,镜像均支持
UEFI
启动,不再区分是否带有
uefi


引导
UEFI
模式安装的
FreeBSD
需要下载
iso
格式的镜像,解压后提取
/boot/boot1.efi
文件。

ESP
分区中创建
FreeBSD
目录,将
boot1.efi
文件拷贝到其中。

UEFI BIOS
中手动选取
boot1.efi
文件作为系统引导项,重启即可在
UEFI
模式下引导安装完成的
FreeBSD
系统。

使用 GRUB2 引导 FreeBSD

grub.conf
文件中为
FreeBSD
创建启动项,指定
FreeBSD
启动文件
boot1.efi
的位置,配置如下:

menuentry 'FreeBSD' {
insmod part_gpt
insmod fat
set root='hd0,gpt1'
chainloader /EFI/FreeBSD/boot1.efi # FreeBSD efi文件的实际路径
}


使用
boot1.efi
文件引导
FreeBSD
相比直接通过
GRUB2
启动BSD内核的方式更加简单,无需复杂的引导配置。

无线网络配置

命令行环境下配置无线网络推荐使用
wpa_supplicant
工具。

FreeBSD
源内提供的
wpa_supplicant
工具默认未生成配置文件,需要自行在
/etc
路径下创建
wpa_supplicant.conf


wpa_supplicant.conf
配置模版如下所示:

network={
ssid="无线网ssid"
psk="密码"
}


默认无线网卡名称为
ath0
。将无线配置写入
/etc/rc.conf
中:

wlan_ath0="wlan0"
ifconfig_wlan="WPA DHCP"


之后启动网络服务:

# service netif start


连接未加密的无线网络,不需要使用
wpa_supplicant.conf
,直接在
/etc/rc.conf
中添加:

wlans_ath0="wlan0"
ifconfig_wlan0="ssid [无线网ssid] DHCP”


服务管理

FreeBSD
采用传统的
BSD
风格的
init
系统,服务项在
/etc/rc.d
目录下。

可以使用service命令来管理服务:

# service [服务名称] [start | stop | status]


开机自启动的服务,以及一些系统配置存放在
/etc/rc.conf
文件中。

例如,需要开机自启动
ssh
服务则可以将
sshd_enable="YES"
加入
rc.conf
文件中。

常见的一些服务配置:

hostname="MacBook" //主机名称
ifconfig_em0="DHCP" //网络DHCP
ifconfig_em0_ipv6="inet6 accept_rtadv" //ipv6
sshd_enable="YES" //ssh服务
ntpd_enable="YES" //时间同步服务
powerd_enable="YES" //电源管理服务
dumpdev="AUTO" //内核错误转储服务


包管理

FreeBSD
同时提供了基于源码编译软件包的
Ports
系统和基于预编译二进制包的
pkg
包管理。

pkg

FreeBSD 10
之后引入了新的
pkg
工具用于管理软件包,常用指令类似与
yum/apt/dnf


# pkg install [软件包名称]
# pkg search [软件包名称]
# pkg remove [软件包名称]
# pkg autoremove [软件包名称]
# pkg info //查询所有已安装的软件包
# pkg info [软件包名称] //查询某个软件包的具体信息(包括软件包的文件组成,依赖关系,来源等)


Ports

Ports
系统提供了官方源内所有软件包的源码树,编译安装前能够定制编译参数,控制依赖项。

Ports
源码树位于
/usr/ports
目录之,首次使用前需要初始化
Ports
树,执行:

# portsnap fetch extract


之后更新
Ports
树执行:

# portsnap update


编译
Ports
树下某个软件包的源码只需进入对应的源码目录中,执行以下步骤:

make config
进入交互式界面,配置编译依赖

make
执行编译操作

make install
编译完成后执行安装操作

make clean
安装完成后清理编译生成的临时文件

使用源码编译的软件包安装后同样受到
pkg
包管理器的管理。

系统版本升级

FreeBSD
并非滚动发行版,系统有严格的版本划分。

FreeBSD
升级系统版本需要使用升级工具
freebsd-update


升级到指定版本,执行指令:

# freebsd-update -r [版本号-发布状态] upgrade


FreeBSD 10.1
正式版,执行指令:

# freebsd-update -r 10.1-RELEASE upgrade


之后系统会开始下载升级所需要的补丁,下载完成之后,执行更新指令:

# /usr/sbin/freebsd-update install
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息