在FreeBSD中编译软件包
Posted 鐵血男兒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在FreeBSD中编译软件包相关的知识,希望对你有一定的参考价值。
FreeBSD是一个基于 Unix 的免费、强大、健壮、灵活和稳定的开源操作系统,它可以在多种CPU 架构上运行,并且可以为服务器、台式机和某些定制的嵌入式系统提供基本平台,例如常见的防火墙pfSense和OPNsense。FreeBSD 带有大量预编译软件包,这些软件包可以从存储库中简单地安装到系统中,这些软件包称为“Ports”。
近期在研究如何在pfSense下使用Zerotier,但苦于作者只提供了软件包原码,并没有提供编译好的安装包,于是不得已只能自己搭建FreeBSD平台来编译这个软件包(在我编译完成后并发布到github后,作者随即更新了编译好的软件包_^_)。接下我把自己编译pfSense-pkg-zerotier软件包的过程记录下来,供网友参考。
安装FreeBSD
我是在虚拟机中安装FreeBSD13.0版本的,安装方法可以参考官方的安装手册。基本上采用默认安装设置就行。由于是编译环境,我并没有安装FreeBSD的桌面环境。详细安装可以参考这篇文章。
配置FreeBSD
这一步主要解决启用ssh访问的问题。由于我是在虚拟机中进行的安装,需要解决文件上传和下载的问题,必须使用ssh来访问FreeBSD。默认的root帐号并不能访问ssh,需要对默认配置进行修改。
修改/etc/ssh/sshd_config 文件,将PermitRootLogin选项从no
改为yes
。
# nano /etc/ssh/sshd_config
修改如下:
PermitRootLogin yes
然后重启ssh服务来应用更改。
# service sshd restart
要测试连接,可以使用以下命令从MAC或Windows下进行访问。
# ssh root@FreeBSD服务器的IP地址
我使用国产的FinalShell软件来进行SSH连接和访问FreeBSD文件后台。
编译软件包
下面我们开始编译pfSense-pkg-zerotier软件包。
CLONE FreeBSD Ports
配置完成后,我们首先要完整下载整个FreeBSD Ports。这里注意,在安装FreeBSD时,确保配置的IP地址正确,并能正常访问外部网络。
以root用户登录系统,执行以下命令:
# git clone https://github.com/pfsense/FreeBSD-ports.git
整个过程视网络连接情况而定,一般10-20分钟左右完成。
修改配置文件
由于是未被官方正式支持的Ports,需要修改/etc/make.conf文件,以便能正常编译。将以下内容添加到文件当中并保存。
ALLOW_UNSUPPORTED_SYSTEM=YES
复制源码文件
下载软件包源码并复制到到FreeBSD-ports/net/pfSense-pkg-zerotier目录。
运行编译命令
进入软件包目录
# cd /root/FreeBSD-ports/net/pfSense-pkg-zerotier
输入以下命令,开始编译。
# make clean ; make package
第一次编译需要几分钟时间,再次编译所需要时间就非常短了。
下载软件包
编译完成后,软件包保存在/root/FreeBSD-ports/net/pfSense-pkg-zerotier/work/pkg目录下,文件名为pfSense-pkg-zerotier-0.00.1.pkg。
在pfSense中配置ZeroTier网络,可以参考在pfSense中配置ZeroTier网络这篇文章。
以上是关于在FreeBSD中编译软件包的主要内容,如果未能解决你的问题,请参考以下文章
如何在 FreeBSD 9.1 系统中使用 libdb-4.2?