diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cc4aa70f27348a18d73620d83832b2a895c2e113..675eeb17910c8ada5cbdc77947dfb74d647a4bbb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -64,15 +64,16 @@ Pages](https://gitee.com/help/articles/4136) 平台分发。 ### 1.7 欢迎使用面向社区爱好者的基础设施 -龙蜥社区建设了一系列面向社区爱好者的基础设施,旨在降低爱好者入门门槛,并提供日 -常开发、测试所需。《[107 - 社区开发基础设施](/docs/107-infra.md)》页面提供了更 -多的信息。 +龙蜥社区建设了一系列面向社区爱好者的基础设施,基础设施是一套社区的技术服务,旨 +在降低爱好者入门门槛。例如社区提供了实验室环境、软件包构建平台、测试平台等。《 +[107 - 社区开发基础设施](/docs/107-infra.md)》页面提供了更多的信息。社区基础设 +施仍在高速建设中,欢迎保持关注。 ### 1.8 欢迎分享你的龙蜥操作系统使用经验 如果好就说出来。龙蜥社区的口碑,需要每一位爱好者帮忙共同打造。如果你觉得龙蜥操 作系统,以及在龙蜥操作系统中的项目能对你有用,欢迎和大家分享,也欢迎向社区官方 -自媒体投稿。更多信息请参考《[108 - 分享和投稿 +自媒体投稿。更多信息请参考《[108 - 分享和投稿指南 ](/docs/108-sharing-anolis-os-best-practice.md)》页面。 ## 2. 社区基础开发快速入门 diff --git a/docs/101-accounts.md b/docs/101-accounts.md index e16a689be5a927df0fc23ab139b826393649a43f..1fdcf6a08fe4e76cb85bdc29b0d5f64629209ffc 100644 --- a/docs/101-accounts.md +++ b/docs/101-accounts.md @@ -1,3 +1,59 @@ -# 账号: 工欲善其事必先利其器 +# 101 - 社区账号指南 -龙蜥社区 +龙蜥社区涉及的账号体系主要有两处。一处是官网账号系统,另一处是 Gitee 账号。 + +## 1. 账号作用范围 + +简单来讲,在社区**涉及代码操作的部分**,使用 Gitee 账号;其余所有系统,都使用 OpenAnolis 龙蜥社区账号。龙蜥社区账号支持下列常见的功能板块和基础设施: ++ [邮件列表系统](https://lists.openanolis.cn/); ++ [SIG 系统](https://openanolis.cn/sig); ++ [活动报名](https://openanolis.cn/activity); ++ [Bug跟踪系统](https://bugzilla.openanolis.cn/); ++ [测试平台](https://testfarm.openanolis.cn/); ++ [龙蜥实验室](https://lab.openanolis.cn/) +更多功能和基础设施正在添加中,如果想要一睹为快,请记得先注册一个社区账号吧! + +## 2. 注册社区账号 + +在龙蜥社区[官网主站](https://openanolis.cn/)右上角有注册入口。在主站的绝大部分系统中,都可以随时随地注册和登录。或者直接点击[账号注册](https://passport.openanolis.cn/register)页面。 + +![社区账号注册页面](../images/101-passport-register.jpg) + +**注**:如果你是企业用户,建议使用公司邮箱注册,在 Bugzilla 和其他一些开发者基础设施中,可能会对开发者所属企业进行分组,使用公司邮箱后缀注册可以提高分组的准确性。 + +注册完毕后,邮箱会收到一封激活邮件,点击邮件中的链接确认激活后,即可完成注册流程。 + +## 3. 登录社区账号 + +完成注册后,在龙蜥社区[官网主站](https://openanolis.cn/)右上角,或直接访问[账号登录](https://passport.openanolis.cn/login/)页面,即可登录社区账号。 + +![社区账号登录页面](../images/101-passport-login.jpg) + +注意社区还提供了通过 Gitee 账号来登录的功能,该功能仍然**要求提前注册社区账号**,只是在完成账号绑定后,可以直接通过 Gitee 账号来登录社区主站。点击上图中的“使用 gitee 账号登录”链接,跳转到下图: + +![Gitee 账号绑定页面](../images/101-gitee-binding-with-openanolis.jpg) + +完成绑定后,即可通过 Gitee 账号登录社区主站。 + +## 4. 注册 Gitee 账号 + +可以点击 [Gitee 注册链接](https://gitee.com/signup)注册 Gitee 账号,也可以参考 [Gitee 帮助中心](https://gitee.com/help/categories/19) 页面获取更多的帮助。 + +*注*: 我们强烈建议 Gitee 账号贡献代码时的代码提交邮箱和社区注册邮箱保持一致,可以在 [Gitee 邮箱配置](https://gitee.com/profile/emails) 界面添加多个邮箱,并设置提交邮箱和社区注册邮箱一致。 + +## 5. 完成账号注册后推荐的动作 + +### 5.1 完成 CLA (贡献者许可协议) 的签署 + +在开发者向社区提交代码时,会被要求签署“[贡献者许可协议 (CLA)](https://openanolis.cn/pact/contributor)”,签署前需要保证 Gitee 账号已经注册并绑定。我们强烈建议 Gitee 账号的提交邮箱和社区注册邮箱一致,以确保提交代码时 CLA 协议的有效性。 + +根据不同的开发者类型,签署方式也有细微差别: ++ 如果是个人开发者,直接点击“个人签署”并确保相关内容准确即可提交; ++ 如果是企业开发者,且所属企业已经与龙蜥社区完成企业层面的签署,则可在_所属企业_下拉菜单中选中自己的企业,确认其他内容无误后提交企业管理员审核,审核通过后即完成签署; ++ 如果是企业管理员,尚未完成企业层面的签署,请联系龙蜥社区运营代表,按流程完成签署。 + +![CLA 签署页面](../images/101-cla.jpg) + +### 5.2 在 Gitee 中添加 ssh 公钥 + +在拉取 Gitee 仓库代码时,首选推荐方式为通过 ssh 公钥拉取,以获得更好的稳定性。配置 ssh 公钥的地址在[这里](https://gitee.com/profile/sshkeys)。 diff --git a/docs/102-join-discussion.md b/docs/102-join-discussion.md index 3e95b5f6b119ce5d6647da1e6c311d443754000b..1e06bcdef9a2c7770a669cd60c6252856a1e9a2d 100644 --- a/docs/102-join-discussion.md +++ b/docs/102-join-discussion.md @@ -1 +1,36 @@ -# 如何加入社区讨论 +# 102 - 社区讨论途径 + +常见的沟通途径有同步(在线)沟通和异步(离线)沟通。龙蜥社区提供了丰富的沟通方式,欢迎所有社区爱好者加入相关讨论。 + +## 1. 在线沟通方式 + +即时通讯工具(Instant Messager, IM)是在线沟通的主要方式。国内社区常见的即时通讯工具,都有群组功能,这也是龙蜥社区使用的方式。目前龙蜥社区官方的在线沟通群组有: + ++ 钉钉群,群号:`33311793` (_龙蜥OpenAnolis社区交流群_); ++ 微信群:需要添加龙蜥社区助理_龙蜥社区\_小龙_(微信号: `openanolis_assis`),备注【龙蜥】,然后由小龙添加到讨论群中: + + Anolis OS开发者&用户社区1群(已满); + + Anolis OS开发者&用户社区2群。 + +**注**: 由于在线沟通的便利性,如需快速提问或者发起一些非正式的话题,在群组里讨论是比较合适的。但是在线沟通也有其效果不好的一面:由于在线沟通的形式较为随意,话题组织较为松散,且聊天记录难以追溯和查找,对于特定主题的话题、攻坚难题以及较为严肃的讨论,不建议通过群组进行,使用邮件、邮件列表等传统离线沟通形式更合适。 + +龙蜥社区有大量 SIG 组,有一些 SIG 组会组织小范围的专用群组进行讨论,具体的联系方式可以在对应的 SIG 组页面中找到,例如 [Cloud Kernel SIG](https://openanolis.cn/sig/Cloud-Kernel). + +![Cloud Kernel SIG 钉钉群页面](../images/102-ck-sig.jpg) + +## 2. 离线沟通方式 + +邮件和邮件列表是最常用的离线沟通方式。时至今日,通过邮件列表发送补丁内容依然是内核社区最主流的方式,可见该沟通方式的生命力。通过邮件和邮件列表方式进行的社区讨论,一般呈现得较为正式。在很多开源社区的邮件列表中,发起一个话题(thread)讨论是需要反复斟酌的,如果有偏离该邮件列表主题的嫌疑,需要给自己发送的邮件打上 `[OT]` (off-topic,离题)的标签。在龙蜥社区中,会议召集、会议纪要、项目周报月报是发往邮件列表最主要的内容,一定程度上也印证了邮件沟通的严肃性。 + +龙蜥社区也欢迎通过邮件和邮件列表的形式进行提问,或者报告问题。然而鉴于该沟通方式的时效性不强,因此社区任何一方都无法承诺及时回复。如果对于问题比较着急,建议同时在对应的在线沟通群组中提问;如果是一个 BUG 上报,建议报告到 [OpenAnolis Bugzilla 系统](https://bugzilla.openanolis.cn/)中。 + +如需联系龙蜥社区官方,可以发送邮件到[contact@openanolis.org](mailto:contact@openanolis.org); + +如需查看龙蜥的邮件列表并选择感兴趣的邮件列表加入,可以访问[龙蜥邮件列表系统](https://lists.openanolis.cn/postorius/lists/?all-lists)。 + +## 3. 其他沟通方式 + +龙蜥社区的自媒体媒介有: ++ 官方微信公众号:`OpenAnolis龙蜥`; ++ [Bilibili](https://space.bilibili.com/1247819550). + +线下沟通方式也是非常重要的,欢迎关注龙蜥社区的[活动](https://openanolis.cn/activity)页面,不定期会有可报名的活动。 diff --git a/docs/103-run-anolis-os.md b/docs/103-run-anolis-os.md index 5cea18937795318f7fc76064af25d839a8e0f96a..c9766d7bc6ffc6ee8748bfb4efd5db64e72399e8 100644 --- a/docs/103-run-anolis-os.md +++ b/docs/103-run-anolis-os.md @@ -1 +1,31 @@ -# 如何获取和使用龙蜥操作系统 +# 103 - 下载、安装和使用龙蜥操作系统 + +# 0. 了解龙蜥操作系统和版本 + +龙蜥操作系统 (Anolis OS) 是 OpenAnolis 龙蜥社区发行的开源 Linux 发行版,兼容主流 Linux 发行版操作习惯,支持多计算架构,提供稳定、高性能、安全、可靠的操作系统服务。当前 Anolis OS 提供 Anolis OS 7 和 Anolis OS 8 两个主要版本。Anolis OS 7 和 Anolis OS 8 均同时提供两个版本的内核,分别为 RHCK(RHEL Compatible Kernel,RHEL 兼容内核)和 ANCK(Anolis Cloud Kernel,Anolis 云内核)。其中ANCK 是由社区 Cloud Kernel SIG 组基于上游 4.19/5.10 LTS Kernel 研发,提供对稳定性,性能,隔离能力的增强,和龙芯、飞腾、海光、兆芯、鲲鹏芯片的完善支持。 + +![Anolis OS 7&8 Roadmap](../images/103-roadmap.png) + +想要了解更多关于 Anolis OS 的产品信息和版本计划,可以访问下列参考链接: ++ [官网产品页](https://openanolis.cn/anolisos) ++ [Anolis OS 产品生命周期](https://www.yuque.com/anolis-docs/product-policy/life-cycle) + +# 1. 下载 Anolis OS 8 + +当前推荐的 Anolis OS 的版本为 Anolis OS 8,最新发布的小版本号为 8.4。可以通过官网的[下载](https://openanolis.cn/download)页面下载。下载时请注意选择正确架构。 + +![Anolis OS 8 下载页面](../images/103-download-page.jpg) + +# 2. 安装 Anolis OS 8 + +Anolis OS 产品文档中包含了 [Anolis OS 8 安装指南](https://www.yuque.com/anolis-docs/manual/installation),根据该文档可以完成基于物理机或者虚拟机的安装。 + +# 3. 使用 Anolis OS 8 + +Anolis OS 8 的使用习惯兼容大多数 RPM 系的操作系统,例如 RHEL, CentOS, Fedora 等。网上基于这类操作系统的实践文档,很大程度上也可以在 Anolis OS 8 上通用。除此之外,[Anolis OS 产品语雀文档](https://www.yuque.com/anolis-docs)中包含了更多产品使用的说明文档,可以先通过 [FAQ](https://www.yuque.com/anolis-docs/faq) 了解关于 Anolis OS 的常见问题,在日常使用中碰到问题也可以尝试在[知识库](https://www.yuque.com/anolis-docs/kbase)中寻找答案。 + +**注**: 如果觉得 Anolis OS 8 的产品文档需要改进,可以随时在对应的语雀文档下方评论中留言,也可以在本文档项目的 [Gitee issues](https://gitee.com/anolis/docs/issues) 页面提交需求或反馈问题。 + +# 4. 寻求帮助 + +在使用 Anolis OS 8 的过程中如果需要帮助,欢迎加入官方钉钉群:`33311793` 交流,也可以参考我们上一篇文章《[102 - 社区讨论途径](/docs/102-join-discussion.md)》找到更多在社区交流沟通的途径。 diff --git a/docs/104-help-with-testing.md b/docs/104-help-with-testing.md index 0680f333c567f98e0359796581f1c86c0cff86ae..a5b5706189bfffdbb890ccf7ad0db580fd348a68 100644 --- a/docs/104-help-with-testing.md +++ b/docs/104-help-with-testing.md @@ -1 +1 @@ -# 如何帮助测试龙蜥操作系统 +# 104 - 测试龙蜥操作系统 diff --git a/docs/105-report-issues.md b/docs/105-report-issues.md index 4c2c5c712568091fe223ce91e9b9c67eea5c7228..c0cd60e28f2b0b9d5fc356650a8297235844e4eb 100644 --- a/docs/105-report-issues.md +++ b/docs/105-report-issues.md @@ -1 +1,59 @@ -# 如何在社区报告问题 +# 105 - 报告问题 + +## 1. 报告问题的途径 + +无论是龙蜥社区还是龙蜥操作系统,都有不完美的地方。作为社区参与者、开发者以及用户,在发现问题的时候反馈给社区,是一件非常有益的事情。反馈问题的途径也有很多种,参考《[102 - 社区讨论途径](/docs/102-join-discussion.md)》页面所说,可以在任何沟通过程中反馈问题。然而,对于问题和产品本身负责的态度,我们希望尽可能使用专用的问题反馈渠道。对于 Anolis OS 来说,[OpenAnolis Bugzilla 系统](https://bugzilla.openanolis.cn)就是一个很好的途径,而对于很多龙蜥的原创项目来说,在各自的 Gitee 代码仓库中,使用 Issue 来上报并管理相关缺陷,也是一个不错的选择。 + +当前龙蜥社区使用 Bugzilla 系统来管理的项目,可以通过[这个链接](https://bugzilla.openanolis.cn/describecomponents.cgi)查看。简单来讲,和Anolis OS 发行版、LifseaOS(Container OS) 发行版和ANCK 内核项目有关的问题,会优先推荐从 Bugzilla 系统提交。各个 SIG 组和独立项目,会定义自己的问题管理方式。例如 [轻豚 Keentune](https://gitee.com/anolis/keentuned) 项目,就使用 [Gitee Issues](https://gitee.com/anolis/keentuned/issues) 来管理各种缺陷。 + +下面将以 Bugzilla 为例,说明报告问题的通用方法。 + +## 2. 报告普通问题的方法 + +在使用社区账号登录 Bugzilla 后,点击界面上方的 `New` 链接,选择合适的产品和版本,进入 BUG 报告页面。 + +**注**: 如果确信自己报的问题和安全漏洞无关,则按普通问题处理;如果无法确定,则可以优先考虑按安全漏洞方式上报。 + +![报告新的 BUG](../images/105-open-new-bugzilla.jpg) + +一个常见的 BUG 报告页面如下图所示: + +![新的 BUG 报告页面](../images/105-bug-report-page.jpg) + +有几项内容需要关注一下: ++ `Component`: 如果选择的产品是 Anolis OS 8,那么大概有下列组件(Component)可选: + + `To Be Triaged`: **没有确定分类**的 BUG 可以选择这个; + + `BaseOS Modules`: Anolis OS 8 引入的 Module stream 特性,此类软件更新会以 Module stream 为最小集合更新,**一般报 BUG 不会涉及**; + + `BaseOS Packages`: **常规的软件包**相关的问题,如果你已经明确了自己的问题所述的软件包,你可以选择这个分类,并且在子组件(Sub-Component)字段里选择对应的软件包。有部分软件包由于彼此相似度较高,可能在子组件里找不到对应名字,下面有一个表格列出了此类内容; + + `Desktop`: 如果问题现象和**桌面环境**有关系,可以选择这个; + + `Images&Installations`: 如果问题现象和**操作系统镜像或者安装过程**有关,可以选择这个; + + `kernel - rhck/anck-4.19/anck-5.10`: 如果问题现象和**特定版本内核**有关,可以选择这个; + + `OsMigration`: 如果问题现象和**迁移工具**有关,可以选择这个。 ++ `Version/Hardware/Severity`: 尽量填写准确; ++ `Summary`: 一句话概括,不要太长,力求简洁准确。 ++ `Description`: 详细描述此次遇到的问题,在下文 2.2 节着重介绍。 + +### 2.1 子组件里用统称代替单个软件包的表格 + +| Bugzilla Sub-Component 字段 | 涵盖了哪些包 | +|-----------------------------|--------------| +| epel packages | 有一些软件包是来自 EPEL 仓库的,当前龙蜥虽然不维护这些软件包,但是记录的时候可以选择这个分类 | +| aspell lang packages | 多国语言包 | +| fonts packages | 各类字体包,通常以 -fonts 结尾 | +| mingw packages | mingw 的功能包 | +| hunspell lang packages | 多国语言包 | +| hyphen lang packages | 多国语言包 | +| perl library packages | 通常以 perl-XXX-YYY 格式存在的 perl 库 | +| python library packages | 通常以 python-XXXX 格式存在的 python 库 | +| ruby gem packages | ruby gem 包 | + +### 2.2 报告问题的时候问题描述应该怎么写 + +在报告问题的时候,需要遵循下列几项基本原则: ++ 要尽量还原最原始的问题描述,不要只贴自己加工过的“二手信息”; ++ 尽量给出详细的复现步骤,以及问题的现场信息; ++ 尽量多给出环境信息,包括操作系统镜像名称、系统版本、内核版本、发生问题的软件包版本,以及 YUM 源信息等。 + +## 3. 报告安全漏洞的方法 + +龙蜥社区有专门的[安全委员会](https://openanolis.cn/sig/security-committee)接收并处理安全相关的软件漏洞。对于涉及安全相关的问题上报,请严格遵循社区安全委员会的《[安全漏洞报告和披露流程](https://openanolis.cn/sig/security-committee/doc/435846799673394804)》。 diff --git a/docs/107-infra.md b/docs/107-infra.md index f697b2aa98321f3c5873c0dacb29d26df00c7ce8..3ef609c2ba0862a4e035ce00a070750771fb5e5d 100644 --- a/docs/107-infra.md +++ b/docs/107-infra.md @@ -1 +1,11 @@ -# 欢迎使用面向社区爱好者的基础设施 +# 107 - 社区开发基础设施 + +## 1. 龙蜥实验室 + +龙蜥实验室是什么? + +龙蜥实验室面向哪些对象? + +龙蜥实验室的操作文档在哪里? + +## 2. XXX diff --git a/docs/108-sharing-anolis-os-best-practice.md b/docs/108-sharing-anolis-os-best-practice.md index 271b65b3ccecc9cfe14e1aec8f2e184ee7a82d1f..85b424c38ea0907e26e75029afb6570f2b7c6c15 100644 --- a/docs/108-sharing-anolis-os-best-practice.md +++ b/docs/108-sharing-anolis-os-best-practice.md @@ -1 +1 @@ -# 欢迎分享你的龙蜥操作系统使用经验 +# 108 - 分享和投稿指南 diff --git a/images/101-cla.jpg b/images/101-cla.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f5293264959bb2ecb5daf2b0cf4850edc561113 Binary files /dev/null and b/images/101-cla.jpg differ diff --git a/images/101-gitee-binding-with-openanolis.jpg b/images/101-gitee-binding-with-openanolis.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7f9a87e698493679637f3bd532a7418c37e183a1 Binary files /dev/null and b/images/101-gitee-binding-with-openanolis.jpg differ diff --git a/images/101-passport-login.jpg b/images/101-passport-login.jpg new file mode 100644 index 0000000000000000000000000000000000000000..62e8076ad1b6867ceaf5fbd5c236e2aa73382695 Binary files /dev/null and b/images/101-passport-login.jpg differ diff --git a/images/101-passport-register.jpg b/images/101-passport-register.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7441600abbdc9e3b6b893a4d3b2a561d25c5ee1f Binary files /dev/null and b/images/101-passport-register.jpg differ diff --git a/images/102-ck-sig.jpg b/images/102-ck-sig.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aa80c14bc37817139878a5f1fa7aca2a0653c81b Binary files /dev/null and b/images/102-ck-sig.jpg differ diff --git a/images/103-download-page.jpg b/images/103-download-page.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6a9016081583806ce7d147837d3ee9dab6174ce0 Binary files /dev/null and b/images/103-download-page.jpg differ diff --git a/images/103-roadmap.png b/images/103-roadmap.png new file mode 100644 index 0000000000000000000000000000000000000000..a18c56ddede71eebced6488a9ed0b5e612c4d9fb Binary files /dev/null and b/images/103-roadmap.png differ diff --git a/images/105-bug-report-page.jpg b/images/105-bug-report-page.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6337ea190f723f1de64b0cd84045caa286eb7a71 Binary files /dev/null and b/images/105-bug-report-page.jpg differ diff --git a/images/105-open-new-bugzilla.jpg b/images/105-open-new-bugzilla.jpg new file mode 100644 index 0000000000000000000000000000000000000000..33296464663416d471fa30118b95d5120da17508 Binary files /dev/null and b/images/105-open-new-bugzilla.jpg differ