有关最新文档,请阅读 docs.vyos.io上的在线构建指南。
VyOS 是一个用于网络设备(路由器、防火墙等)的开源操作系统。
如果您想修改 VyOS 和/或加入其开发,请继续阅读。
VyOS 并不新鲜。它是 Vyatta Core 的一个分支,是在其开源版本停产时创建的。如果您是 Vyatta Core 用户,则可以将您的安装升级到 VyOS。
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
VyOS 是基于 Debian 的 GNU/Linux 发行版。就像任何其他发行版一样,它由多个包组成。
一些包取自上游,而其他包则由 VyOS 开发人员修改或从头开始编写。VyOS 团队维护的每个包都有自己的 git 存储库。因此,VyOS 映像构建是一个多步骤过程。首先编译软件包,然后从 Debian 软件包和我们自己的软件包构建 ISO。
这是顶级存储库,包含指向具有 VyOS 特定包(组织为 Git 子模块)的存储库的链接,以及用于构建这些包和安装映像的脚本和数据。
有几个目录各有用途:
build/
用于构建和构建工件的临时文件data/
构建 ISO 所需的数据(例如 boot splash/configs)packages/
这个目录有两个含义。首先,它可以包含任意 *.deb 包,这些包将嵌入到生成的 ISO 中,但它也包含所需 VyOS 包的 Jenkins 管道定义。这些软件包包括:Linux Kernel、FRR、Netfiler……scripts/
用于构建过程的脚本tools/
用于维护者任务自动化和其他目的的脚本,但不用于 ISO 构建过程vars/
用于可重用函数的 Jenkins Pipeline 库为了只有一个手册而不是维护多个副本,有关如何在 Docker 容器中或本地构建 VyOS 的说明可以在我们的文档 - 构建 VyOS中找到。
包含最新 VyOS 代码的默认分支被调用current
而不是master
. 我们知道这很混乱,但修复起来并不容易。简而言之,我们从 Vyatta Core 继承的代码有它的master
分支与所有东西不同步,以至于无法修复。Vyatta 开发人员通常不会在发布准备好代码冻结时创建新分支,而是在开始处理新版本之前创建新分支。这很难在现有代码中更改,所以现在就是这样。
所有新代码都进入current
分支。当需要冻结代码时,会为发布创建一个新分支,并current
根据需要将新代码反向移植到发布分支。
在源自 VyOS 的包中,master 分支与 保持同步 current
,但我们仍将其用作current
默认分支以保持统一。当最后一个遗留包消失时,我们将切换到使用master
branch 并 retire current
。
1.2.0后的分支以星座命名,按面积从小到大排序。其中有 88 个,这是 完整列表。
crux
南十字)equuleus
小马)sagitta
箭头)[/hidecontent]