当前位置: 首页 > Linux

带你手把手玩转openEuler-认识openEuler

时间:2023-04-06 01:44:19 Linux

为了让更多人了解openEuler并积极参与其中,社区将提供系列课程与您取得联系,并邀请openEuler开源重要参与者,SIG组维护者等待资深专家继续分享。本课程分为三个部分,主要是让大家了解openEuler是什么,怎么玩,怎么参与。第1部分:了解openEuler。了解openEuler是一个什么样的平台,包括什么。第二部分:openEuler社区运营。通过本次讲座,您可以了解openEuler社区的治理和运营。第三部分:openEuler版本介绍。通过本版块,您可以了解到openEuler的软件建设以及未来的一些规划。1.了解openEuler**1.1社区网站:openEuler.org[1]您可以通过社区网站了解更多关于openEuler的信息,通过文档查看openEuler的使用方法。openEuler是一个开源、免费的Linux发行平台,通过一个开放的社区,与全球的开发者一起构建一个开放、多元、架构包容的软件生态系统。同时,openEuler也是一个创新平台,鼓励任何人在这个平台上提出新的想法,发展新的想法,实践新的解决方案。1.2下载体验openEuler**上面我们了解到openEuler是一个开源免费的平台。对于工程师来说,下载使用是第一步。那么我们如何下载openEuler呢?openEuler社区提供了openEuler下载链接[2]。您可以通过openEuler社区导航中的【下载】按钮下载openEuler20.03LTS的ISO安装包。openEuler20.03LTS版本是面向开放场景的标准发布版本,生命周期为四年。如果您在使用openEuler过程中遇到问题或想提出意见,可以在社区导航下的【下载】和文档中反馈,以便相关技术人员及时解决问题。1.3参与openEuler社区**您可以通过openEuler导航下的【社区】参与openEuler社区。里面有很多社区相关的子菜单。您可以在官方社区中了解更多信息。【社区】中的【贡献指南】可以一步步引导开发者参与openEuler社区,【SIG(ProjectGroup)】可以找到你感兴趣的项目组,【邮件列表】可以收听和参与一些相关的讨论。开发者:参与社区贡献,需要签署《贡献者许可协议(ContributorLicenseAgreement,简称CLA)》,了解社区行为准则。SIG(projectgroup):SIG是社区按照领域划分的各个领域的兴趣小组,每个小组会根据情况在社区维护一个或多个项目。访问此处[3]了解如何申请新的SIG。邮件列表:邮件列表是社区交流的重要方式。您可以订阅邮件列表:建议您在订阅前开启邮箱中“回复邮件标题使用英文”的相关设置:1)打开邮箱的选项界面。2)点击【高级】——找到【国际选项】——勾选“使用英文作为邮件标题,并在回复或转发邮件时转发通知”。发送邮件到邮件列表:要将邮件发送到指定的邮件列表,请将您的电子邮件发送到上表中列出的邮寄地址。这样,此邮件列表中的所有社区成员都会收到您的电子邮件。查看以前的邮件列表:要查看以前在邮件列表中发布的电子邮件,请访问以下档案(社区[4]、开发[5]、公告[6]、理事会[7]、基础设施[8]、营销[9]、User-committee[10],Build-team[11],TC[12],Kernel[13],A-Tune[14],iSulad[15],QA[16],Sig-ai-bigdata[17],Crystal-ci[18],Virt[19])我们可以通过社区做什么:在我们做之前,先说说openEuler本身在哪里?openEuler本身是放在gitee.com上的,是开源的。如果你想加入并使用openEuler,你需要有一个gitee账号。这就是我们要在社区中做的事情。1)提需求/bug:如果在使用/开发过程中遇到一些问题,发现一些不方便使用的地方,可以通过issue或者maillist提出问题。最简单最基本的社区参与方式:当然是先点击社区里的内容,看看有什么地方需要优化和改进,提出一些有价值的、有意义的建议。这也是最简单的方法。在社区中提交问题是通过问题机制进行的。在提交问题的过程中,提交者需要指定提交的对象是谁,也就是你要向谁提交问题。让我们看看问题界面是什么样的?举个例子:如果你想提交一个社区治理的问题,那么你可以在社区代码仓库的issue中提交issue。框中的问题是我们用来提交错误/问题的条目。我们在进入issue的时候,可以点击【NewIssue】,进入之后就可以提交issue了。当然,你可以设置提交问题的级别。我们在提交问题时如何划分问题?大体上可以分为以下几类:在使用社区基础设施的过程中,如果觉得不舒服,比如页面布局不够激进,文字太小等,可以提交问题到https://gitee.com/openeuler/i...[20]如果在社区治理中遇到问题,比如委员会选举机制,可以提交到https://gitee.com/openeuler/c...[21]具体的软件问题提交到https://gitee.com/openeuler/k...[22]其他问题,也就是你知道在哪里提交,可以提交到https://gitee.com/openeuler/c...[23]如果你想了解更多关于问题提交的流程,以下链接可以帮助你:https://gitee.com/openeuler/c...[24]2)修复BUG,解决问题:这需要高水平的社区人员,作为开发者参与到社区中,能够主动识别社区中的一些BUG,解决相关问题。在社区中,通常我们希望同时提出问题和解决问题。如果出现问题,当然最好的情况是同时提供补丁来解决问题。我们以社区的轻量级容器引擎iSulad为例,https://gitee.com/openeuler/i...[25],假设我们需要为iSulad提交补丁,基本流程如下:Step1:首先,先创建自己的分支。分支是通过Fork创建的。如果你不了解Fork,你应该先学习下面的git。对于开发者来说,git开发模式是最常用的,也是最基础的。使用git是必要的。第二步:修改代码,生成PullRequest点击fork后,目录已经从openEuler切换到你自己的账号,并创建了你自己的分支。然后就可以在自己的分支上修改代码了。修改代码后,点击PullRequest,会生成一个patch提交代码到原社区。补丁的提交到这里就完成了,接下来就是等待维护者审核你的代码了。3)贡献软件包:您可以将自己的软件包贡献给openEuler代码仓库中的openeuler或src-openeuler。当然,还有很多软件包可供开发者使用。随着时间的推移,openEuler可以提供更多更丰富的软件包功能,参与的人越多,openEuler就可以成为一个万能的软件生态系统。4)新软件的开发:根据自己的爱好和想法,可以开发一些新的软件,贡献给openeler。经过一定时间的孵化后,就可以入驻src-openeuler,供大家使用。将你的作品发布到openEuler社区有两种方式:在其他社区开发,和集成到openEuler:如果我们经常使用github,gitlab,gitee,有我们??的一些项目,我们可以把软件放在repo仓库中src-openEuler没问题。这样我们就可以把我们在其他管理平台的软件集成到openEuler中。在openEuler社区开发,在openEuler集成:我们可以直接openEuler的代码仓库https://gitee.com/openeuler...,相当于把代码托管在openEuler社区。就像社区里的iSula和A-Tune就是这样的机型。1.4《社区参与之旅》**如果你想更多地了解社区,你可以通过两个不错的博客来了解更多。可以介绍如何参与社区的博客地址如下:我的社区参与之旅[26]openEuler社区参与之旅[27]1.5openEuler代码仓库**openEuler的愿景是:通过社区合作打造创新平台,并构建多处理服务器架构和统一开放的操作系统openEuler,促进软硬件生态的繁荣发展。openEuler的代码放在了gitee上,大家可以随意下载使用。openEuler主要包括两个代码仓库:src-openEuler软件包仓库地址:https://gitee.com/src-openeuler[28]src-openEuler主要用于存放发布所需的软件包。它为openEuler的发布分发提供了生成rpm包等构建信息的地方。openEuler代码仓库地址:https://gitee.com/openeuler[29]openEuler主要用于存放源码项目。openeuler的仓库是存放所有“原生态”的软件,也就是提供一个展示原创软件的舞台,或者说是一个孵化器平台。2、OpenEuler社区运营**2.1社区治理:公开透明**openEuler社区代码云地址:https://gitee.com/openeuler/c...[30]代码仓库社区保存了openEuler社区的所有信息,包括社区治理、社区活动、开发者贡献指南、交流指南等。这包括:openEuler社区介绍、社区治理组织架构、社区活动、开发者贡献指南。对于社区治理的组织架构,我们主要介绍秘书处、安全委员会、技术委员会、SIG。通过各自的介绍,大家就清楚的知道了这些架构组织的作用。秘书处:负责社区的筹备、运营规划等工作,支持社区的规范运作和成熟。现阶段,openEuler社区秘书处的主要职责是:制定社区运营计划,制定费用预算,获得社区创始人的认可,落实社区创始人的工作,为社区做准备。并响应openEuler安全问题报告,提供社区安全指导。现阶段openEuler社区安全委员会职责如下:协助漏洞修复:确保已知漏洞及时修复。通过为包维护者提供补丁帮助,帮助用户系统在成为攻击受害者之前修复漏洞,包括提供相关的漏洞检测和修复工具。响应安全问题:响应上报的安全问题,跟踪安全问题的进展,并按照安全问题披露政策在社区披露和公告安全问题。安全编码规则:普及安全编码知识是安全团队的目标。安全团队努力创建文档或开发工具,以帮助开发团队避免软件开发过程中的常见陷阱。安全团队还尝试回答在开发和使用过程中遇到的任何问题。参与代码审查:安全团队希望通过代码审查帮助团队提前发现代码中的漏洞。技术委员会:负责社区技术决策和技术资源协调。技术委员会的主要职责是:负责回答董事会提出的技术问题,支持董事会对战略蓝图的技术发展方向进行判断;它以远程协作的形式运作,每六个月举行一次面对面交流的正式会议。定期召开线上公开会议;指导社区的技术路线、接口定义、架构设计、构建发布等,逐步构建社区规则;协调跨项目合作,引导社区跨项目技术问题,逐步构建社区规则;制定并指导项目孵化、发展、退出流程,支持社区技术生态的健康发展;制定并指导软件包接受和退出openEuler的流程,支持可信可靠的openEuler开源版本;接受用户委员会的反馈(需求和问题),将社区资源拉入项目;建立社区认证标准和平台,为社区认证提供技术支持(OS商业发布认证、硬件兼容性认证等);SIG:社区兴趣小组,每个小组维护一个或多个项目(对应多个gitee仓库)2.2参与社区治理和运营**遇到任何问题,想参与各个委员会/SIG的运营,寻找感兴趣的SIG们,大家可以通过以下方式来了解和提问。如果你对社区治理有任何问题或建议,可以发邮件到邮件列表:community@openeuler.org提交issue:https://gitee.com/openeuler/c...如果你想参与各个委员会和SIG的运作,可以通过邮件列表进行交流和获取信息Mailinglist:https://openeuler.org/zh/comm...SIGs:https://openeuler.org/zh/sig....如果你不感兴趣或者没有合适的SIG,你可以申请创建一个新的SIGhttps://gitee.com/openeuler/c...如果你对发布有什么建议,需求,或者想法community版本,可以发邮件到maillist:dev@openeuler.org标题带[releasemanagement]在行首提issue:https://gitee.com/openeuler/r...3.OpenEuler版本介绍**3.1LinuxKernel和其他上游社区**openEuler对其他操作系统比较熟悉同理,主要是从上游社区拿相关软件进行一些增强的开发、集成和质量保证,然后构建一个社区免费版。基于上游社区开源软件的免费开源Linux社区发行版,与国内主流操作系统厂商共建共享,形成繁荣国产Linux操作系统生态的合力。下图是openEuler和Linux发行版的对比。openEuler与SUSE、Debian和RedHat一样,建立在上游社区的开源软件之上。openEuler社区发布免费的LTS版本,使OSV能够开发商业版本,如麒麟软件、普华、中科软件、万里开源等openEuler目前基于kernel4.193.2版本openEuler建立在upstreamopen的基础上开源软件,回馈上游开源社区**openEuler的大部分软件来自于上游开源社区。基于上游开源社区,我们也做出了很多贡献来回馈上游开源社区。(例如:在LinuxKernel社区中,华为的贡献排名Top5;在GCC社区中,华为有维护者为社区做贡献等。)很难推送到上游社区。经过openEuler维护者审核,如果确实有价值,代码也可以先合并到openEuler社区。但还是鼓励尽可能向上游社区推送,坚持上游优先的原则。3.3openEuler版本路线图规划**openEuler社区版本命名、发布时间和生命周期管理[31]LTS版本:2年1次发布,4年维护,OSV厂商可以基于LTS版本构建商业版本;下一个LTS版本22.03创新版本:每6个月发布1次,维护6个月社区版本根据交付年份和月份命名。例如openEuler20.09于2020年9月发布,社区版分为长期支持版和创新版。长期支持版本:2年发布间隔,4年社区支持。社区首个LTS版本openEuler20.03于2020年3月正式发布。社区创新版本:openEuler将在LTS版本之间每6个月发布一个社区创新版本,提供6个月的社区支持。欢迎社区开发者和用户提出宝贵建议。以上规则将根据反馈意见和社区实施不断完善。3.4openEuler20.03LTS版本基本信息**20.03LTS版本基本信息表[32]LTS版本架构环境支持ARM和X86版本。对ARM感兴趣的可以通过openEuler的【首页】-【鹏城实验室】申请ARM虚拟机资源进行体验。详细的版本信息可以在下表中找到。3.5openEuler软件全栈技术优化,充分释放多样化计算平台的计算能力**openEuler关键特性文档说明[33]多核调度技术:关键路径Fspagecache无锁重构最大化计算能力,NginxHTTP性能提升15%集成KAE插件:软硬件协同,助力鲲鹏加速库实现10%-100%性能提升iSula轻量级容器:具有轻、快、易、灵活的特点,启动时间缩短35%,内存资源消耗减少68%。Smart-loading智能图片下载技术,显着提升图片下载速度-优化,推断业务特征,配置最佳系统参数,使业务处于最佳运行状态,提升系统调优效率30%。操作系统openEuler促进了软硬件生态的繁荣发展。在后续的开发和维护中,将会陆续推出更多更有意义、更具挑战性的功能,敬请关注。社区地址:https://gitee.com/openeuler[34]