在开源操作系统的世界里,FreeBSD凭借其稳定性和强大的功能,赢得了不少技术爱好者的青睐。
而FreeBSD中的Ports系统,更是为这款操作系统增添了不少色彩。今天我就分享下我的初次ports体验。
Ports的背景和优势
Ports是FreeBSD中的一个软件包管理系统,它类似于其他操作系统中的包管理器(如Linux中的apt、yum等)。apt,yum更类似FreeBSD中的pkg
程序,分发的是二进制包,而Ports系统是为用户提供了一个集中的地方来存储、分发和更新各种开源软件源码编译方式。
Ports系统具有以下几个显著优势:
- 统一管理:Ports提供了一个集中的地方来管理所有的软件包,软件的安装和维护更加方便。
- 易于更新:Ports会自动处理依赖关系,确保软件包之间的兼容性,提供自动或手动更新选项。
- 可定制性:用户可以根据自己的需求对软件包进行定制,例如添加额外的功能或修改配置,针对宿主机的CPU类型和使用方法优化。
构建使用的命令行
下面来实战一下,使用Ports系统构建和安装软件包主要依赖于命令行工具。以下是一些常用的命令及其功能,Ports有意思的点就是,全部功能都是用Makefile实现的:
- 如果你安装的时候就选择了Ports,就跳过第1步,如果没有就更新Ports
cd /usr/ports && make fetchindex
- 克隆Ports Tree:
git clone --depth=1 --branch <你的版本号> https://github.com/freebsd/freebsd-ports /usr/ports
- 安装软件,例如vim
cd /usr/ports/editor/vim && make BATCH=yes install clean
- 如果需要搜索可用的软件包,可以用search
make search key=^vim- | grep -E "Port:|Path:|Info:|^$"
- 卸载软件包的话,例如,要卸载vim,可以执行以下命令
cd /usr/ports/editor/vim make deinstall
- 使用
make clean
命令可以清理编译过程中产生的临时文件。 - 使用
make distclean
命令可以清理软件包及其临时文件
参考文章: