Ports和Package
长期以来 FreeBSD 的应用安装主要都是依赖源码编译的 ports 系统,二进制的 package 系统当然也有,只是弱爆了,至少依赖问题需要人工处理( ports 是自动处理依赖的)。这跟 apt 之类的二进制包管理系统相比,差距太大。
所以后来 FreeBSD 也搞了一个跟 apt 之类类似的东西,叫做下一代的包管理系统:pkgng 。不过我这人比较保守(其实是懒),一直没有尝试这个新东西,直到现在, pkgng 已经成为 FreeBSD 10.0 的标配,官方甚至已经宣布到今年9月就全面废弃旧的 package 系统(包括FreeBSD9.x/8.x)。
本来像我这种用 ports 可以根本不用理睬这事的,但是因为 ports 也要用到旧的 package 系统,所以现在每次用 ports 安装东西时都会提示说 package 要作废什么什么的,很烦。
而且最近发现 FreeBSD 9.0 已经不能更新 ports 了,也不知道是怎么回事,按官方说法是去年3月底就停止支持了,但到现在才停止更新。于是就升了个级,顺便切换到 pkgng 上去。
升级系统
升级系统本来是很简单的,如官方文档所说(以升级到9.2-RELEASE为例,其实升完我就后悔了,早知道直接升到10.0):
freebsd-update -r 9.2-RELEASE upgrade freebsd-update install
中间需要确认一下,然后重启一次。不过我的升级不是很顺利,升级后有一些软件的依赖出现问题,最后是删除了