FreeBSD - 使用端口进行主要和次要升级?

FreeBSD - 使用端口进行主要和次要升级?

在第一次升级我的 FreeBSD 时(从 10.0 --> 10.1),我对不同的可能性感到困惑。

据我了解,freebsd-updateFreeBSD 的二进制更新也是如此pkg。初始安装后,我使用 ports 来安装、编译和更新我的系统,我基本上想知道,我是否不能对小升级做同样的事情。我知道,有一个源获取和编译选项,但在我看来,(某些)安全更新取决于保持 SVN 存储库同步。

a) 正常程序升级和次要系统升级有什么区别?

b) 我可以使用源发行版并通过 ports 包管理来保持更新(无需 SVN 签出)吗?


来自#freebsd @ freenode 的更新

RobotsOnDrugs:freebsd-update和base svn repos用于base,而ports tree和pkg用于第三方软件

答案1

freebsd-updatepkg upgrade非常不同的事情。

遗嘱freebsd-update(二进制)更新您的基础系统。基本系统包含除以下内容之外的所有内容/usr/local:检查/{,s}bin基本/usr/{,s}bin系统附带的程序。基础系统的各个部分不会出现在包数据库中,它是一个独立的基础设施。整个基础系统由FreeBSD开发。

pkg upgrade做了不同的事情:它升级了软件包。这些软件包位于 中/usr/local,它们是“第 3 方应用程序”——由其他人/公司/...开发,而不是 FreeBSD。

a) 系统升级是指对基础系统进行升级(freebsd-upgrade)。程序更新意味着升级已安装的软件包(在/usr/localpkg upgrade或带有 ports 树中)。

b) 您可以使用您的选项从端口构建软件包(“基于源”),也可以使用存储库中的软件包(“基于二进制”)。它独立于基本系统:您可以使用freebsd-update(“二进制更新”)更新您的基本系统,并且可以从源代码构建您的基本系统。

如果你想从 ports 构建包,你应该有 ports 树。您可以通过以下方式结账端口快照

我希望现在一切都清楚了。

更新1如果你想从源代码构建基础系统,你应该重建每个更新 - 请参阅重建世界。当然应该同步源。

我认为如果你想要一个基于源代码的系统,那么使用二进制是一个不错的选择基础系统(它也包含一个编译器(10.x 中的 clang))并从端口构建您想要的应用程序(网络服务器、最喜欢的编辑器,也许是窗口管理器、浏览器、办公套件等)。

相关内容