首页 文章 精选 留言 我的

精选列表

搜索[独立开发者],共10000篇文章
优秀的个人博客,低调大师

Win 10中独立的Linux文件夹 | 少儿编程语言Scratch排名上涨

回顾一周社区热门资讯 第【六十八】期:20200404-20200410 点击相应标题,跳转阅读全文 Ubuntu 20.04 LTS 发布最终 Beta 版本 正式版将于 2020 年 4 月 23 日发布。 Rust 文档团队解散 当前现状是没有团队在维护。 GNU Guix 将终止对 Linux 内核的支持 Guix 是一个事务性包管理器,也是一个尊重用户自由的 GNU 系统高级发行版。除了标准的软件包管理功能外,Guix 支持透明升级和回滚、无特权包管理、针对每个用户的配置文件,以及垃圾回收。 TIOBE 4 月榜单:少儿编程语言 Scratch 进入 TOP 20 华为加入 OIN 社区 OIN 是史上最大的专利保护社区,支持开源软件 (OSS) 关键元素 Linux 的自由开发环境。核心技术专利保护是 OSS 内部的文化规范,因此只有加入 OIN 社区,才能知道社区里的行为诚信与否。 微软如何改进 Microsoft Edge 的滚动效果? 在新版Microsoft Edge 中,团队从过去的经验中吸取教训,希望改进 Microsoft Edge 和所有基于 Chromium 的浏览器的滚动效果,并在最开始的时候就明确了一件事:仅仅把此前与 Windows 操作系统同样的依赖关系照搬过来是不可行的,因为 Microsoft Edge 和其他基于 Chromium 的浏览器在兼容性和跨平台要求上有很高的标准。 Chrome OS 的 Linux 终端迎来一系列新功能,运行更轻松 Chrome 81 发布,初步支持 Web NFC 标准 在当前 v81 版本中添加的所有新功能中,最重要的是新的 Web NFC API。Chrome 中添加的新的 Web NFC 标准将允许网站与 NFC 标签进行交互,从而无需用户在手机上安装特殊的应用程序。 微软宣布推出 IPE,解决 Linux 的代码完整性问题 在启用了 IPE 的 Linux 系统上,系统管理员可以创建允许执行的二进制文件列表,然后添加内核在运行每个二进制文件之前需要检查的验证属性。如果攻击者更改了二进制文件,IPE还可以阻止恶意代码的执行。 exFAT 文件系统最新驱动程序已进入 Linux 5.7 内核 Linus Torvalds 已将总计七千多行代码的新版exFAT 驱动合并进 Linux 5.7 内核。 世界上首个被数学证明安全的操作系统微内核 seL4 成立基金会 seL4 是世界上第一个通过数学方法被证明安全的操作系统内核,并且在安全的基础上还强调高性能,是世界上最快、最先进的 OS 微内核。它对于嵌入式计算系统的安全可信赖方面将会有极大意义,具体来看可能影响到航空电子、自动驾驶汽车、医疗设备、关键基础设施与国防等行业。 瘟疫蔓延下,开源软件的积极应对 全球范围内已经有数以千计的疫情相关开源软件,它们的应用场景涵盖受到疫情影响的各个方面:数据爬取、信息收集、可视化、趋势预测、行程查询、出入登记,还有针对校园等特定场合的疫情排查解决方案等等。 微软购买危险域名 corp.com 无论谁使用它,都可以从全球各大公司的数十万台Microsoft WindowsPC 中获得数十万系统的密码、电子邮件和其他敏感数据流 。这是因为在支持 Active Directory 的 Windows 的早期版本(例如 Windows 2000 Server)中,默认或示例 Active Directory路径都被指定为“corp”,并且有许多公司显然采用了此设置,且没有对其进行修改。 谷歌计划在 Android 11 上强制支持 A/B 无缝更新 Visual Studio Code 1.44 发布 IntelliJ IDEA 2020.1 稳定版发布 新版本增加了对 Java 14 的支持、为部分 Web 和测试框架添加新功能、为调试器添加数据流分析协助功能(dataflow analysis assistance)、新增 LightEdit 模式,以及支持从 IDE 下载和配置 JDK。 Docker 创建新的开源社区,开发 Compose Specification Compose 用于定义与云和平台无关的基于容器的应用程序。GitHub 上已有超过 650,000 个 Compose 文件。Compose通过允许开发人员在单个文件中定义一个复杂的堆栈并使用单个命令运行它,极大地简化了开发人员的云流程和工具链代码。 WSL 与文件资源管理器集成,在 Windows 中这样体验 Linux 更简单 Canonical 向 Plymouth 上游贡献改进,已用于 Ubuntu 20.04 Red Hat 在提供无闪烁(flicker-free)的启动体验方面所做的工作,并在启动过程中引入 UEFI BGRT 系统/主板 Logo,以提供更多的过渡体验。同样的,Canonical 也在努力贡献自己实现的一些改进并 push 给上游的 Plymouth。 上期:VSCode开源替代框架Eclipse Theia 1.0 | 能否挑战TensorFlow?国内开源了几大AI框架 往期:一周热点

优秀的个人博客,低调大师

app支付集成开发者指南

鉴于很多对接app支付的童鞋经常出现app支付系统繁忙,ali40247,订单信息异常在等等的错误,其实那些错误都是大同小异的,无非就是没权限,密钥不对,参数传值错误,请求信息拼接有问题等等,所以这边写app支付开发指南分享帖,希望能够帮到大家!!! 一、文档地址 app支付官方文档地址:[url]https://docs.open.alipay.com/204[/url] 二、开发前准备工作 1、签约:[url]https://openclub.alipay.com/read.php?tid=276&fid=72[/url] 2、创建应用:[url]https://openclub.alipay.com/read.php?tid=1606&fid=72[/url] 3、生成密钥:[url]https://openclub.

优秀的个人博客,低调大师

条码支付集成开发者指南

本帖仅供参考,非官方demo 一、官方文档 文档地址:点击【查看】 sdk下载:点击【查看】 官方demo下载地址:点击【查看】 二、开发前准备工作 1、签约:[url]https://openclub.alipay.com/read.php?tid=276&fid=72[/url] 2、创建应用:[url]https://openclub.alipay.com/read.php?tid=1606&fid=72[/url] 3、生成密钥:[url]https://openclub.alipay.com/read.php?tid=1833&fid=69[/url] 4、下载服务端sdk:[url]https://docs.open.alipay.com/54/106370/[/url] 如何签约以及签约无法成功等相关签约问题:[

优秀的个人博客,低调大师

Android开发者指南(9) —— ProGuard

混淆器(ProGuard) 在本文中(In this document) Enabling ProGuard Configuring ProGuard Decoding Obfuscated Stack Traces Debugging considerations for published applications 参见 ProGuard Manual » ProGuard ReTrace Manual » 混淆器通过删除从未用过的代码和使用晦涩名字重命名类、字段和方法,对代码进行压缩,优化和混淆。结果是一个比较小的.apk文件,该文件比较难进行逆向工程。因此,当你的应用程序对安全敏感(要求高),例如当你授权应用程序的时候,混淆器是一种重要的保护手段。 混淆器被集成在android构建系统中,所以你不必手动调用它。同时混淆器仅在发布模式下进行构建应用程序的时候才会运行起来,所以在调试模式下构建程序时,你不必处理混淆代码。让混淆器运行起来是可选择的,但是推荐选上。 这个文档描述了怎样启用并配置混淆器,以及使用跟踪(retrace)工具对混淆的堆栈跟踪信息(stack traces)进行解码。 启用混淆器Enabling ProGuard 当你新建了一个Android工程之后,一个proguard.cfg文件会在工程的根目录下自动创建。这个文件定义了混淆器是怎样优化和混淆你的代码的,所以懂得怎样根据你的需要来定制是非常重要的。缺省的配置文件仅覆盖到了通常情况,所以根据你的需求,很可能需要编辑它。接下来的内容是关于通过定制混淆器配置文件来对混淆器配置。 为了让启用混淆器作为Ant或者Eclipse构建过程中一部分,可以在<project_root>/default.properties文件中,设置proguard.config属性。路径可以是绝对路径或者工程根目录的相对路径。 如果你让proguard.cfg文件在缺省位置(工程的根目录),你可以像这样指定位置: proguard.config=proguard.cfg 同样,你可以把该文件放到任意的位置,并指定它的绝对路径。 proguard.config=/path/to/proguard.cfg 当你在发布模式下,或者通过运行ant release,或者通过使用Eclipse中的Export Wizard构建你的应用程序的时候,构建系统都会自动地去检查proguard.config属性是否被设置了。如果被设置了,混淆器在把所有东西打包成.apk文件之前,自动地对应用程序字节码进行混淆处理。而在调试模式中构建则不会调用混淆器,因为那样调试会更加繁重。 运行混淆器之后输出的文件有: dump.txt 描述.apk包中所有class文件的内部结构。 mapping.txt 列出了源代码与混淆后的类,方法和属性名字之间的映射。这个文件对于在构建之后得到的bug报告是有用的,因为它把混淆的堆栈跟踪信息反翻译为源代码中的类,方法和成员名字。更多信息,查看解码混淆过的堆栈跟踪信息。 seeds.txt 列出那些未混淆的类和成员。 usage.txt 列出从.apk中剥离的代码。 这些文件放在以下目录中: l<project_root>/bin/proguard当你使用Ant时 l<project_root>/proguard当你使用Eclipse时 注意:每次在发布模式下构建时,这些文件都会被最新的文件覆盖。所以每次发布程序时候,为了反混淆来自构建时产生的bug报告,请保存这些文件的一个拷贝。对于为什么要保存这些文件的重要性的更多信息,请查看程序发布调试注意事项。 混淆器配置(Configuring ProGuard) 某些情况下,proguard.cfg文件的缺省配置可以满足需求了。但是,对于混淆器来说,大多数情况做出正确的分析是困难的,并且它或许会删除在它看来是无用的,但对于程序来说却确实需要的代码。一些例子如下: l一个仅引用于AndroidManifest.xml文件的类。 l一个通过JNI调用的方法。 l动态引用的属性和方法。 缺省的proguard.cfg文件试图覆盖普通的情况,但是你可能碰到类似ClassNotFoundException的异常,这个异常出现在当你的程序去访问一个被混淆器移除了的类的时候。 你可以在proguard.cfg文件中添加-keep这一行来修复这些错误。例如: -keeppublicclass<MyClass> -Keep设置有很多可选项和注意地方,所以为了获得更多关于配置信息,强烈推荐你阅读混淆器用户手册。特别有用的有Keep选项综述和举例部分。在混淆器手册问题解决方案部分,介绍了代码在混淆过程中你可能碰到的其他常见问题。 解码混淆过的堆栈跟踪信息(Decoding Obfuscated Stack Traces) 当混淆代码并输出了一个堆栈调试信息时,这些方法名字是混淆过的,虽然可以进行调试,但是调试变得困难。幸运的是,每当混淆器运行时候,它都会输出到文件<project_root>/bin/proguard/mapping.txt中,该文件包含了从原始类,方法和属性名字到混淆后名字的映射。 Windows系统中retrace.bat脚本命令或者Linux和Mac OS X系统中retrace.sh脚本命令能把混淆后的堆栈调试信息转换为可以理解的文件。它被放在<sdk_root>/tools/proguard/目录下。运行retrace工具的命令语法是: retrace.bat|retrace.sh[-verbose]mapping.txt[<stacktrace_file>] 例如: retrace.bat-verbose mapping.txt obfuscated_trace.txt 如果你没有为<stracktrace_file>指定值,那么retrace工具从标准输入读取。 已发布应用程序的调试注意事项(Debugging considerations for published applications) 保存好每一个已发布给用户的程序的mapping.txt文件。通过保存发布构建版本的mapping.txt文件拷贝,确保当用户碰到bug,并把混淆后的堆栈调试跟踪信息提交给你时,你可以进行调试从而修复问题。程序的mapping.txt文件在每次发布构建时都会被覆盖,所以你一定要注意保存正确的版本。 例如,假设你已经发布了一个应用程序并在继续在新的版本中开发添加新的功能。接着你马上启动混淆器并创建一个新的发布版本。该操作把mapping.txt文件覆盖了。一个用户提交了来自当前发布版本的bug报告,该报告包含了堆栈调试信息。你再也不能对用户的堆栈信息进行调试了,因为这个对应用户本机上版本的mapping.txt文件不存在了。其他覆盖mapping.txt文件的情况还有很多,所以对于每一个可能需要调试的版本,你都要确保有一份拷贝。 如何保存mapping.txt文件由你决定。例如,你可以根据版本和构建号来重命名它们,或者连同你的源代码进行版本控制。 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582279,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android开发者指南(14) —— Introduction

简介 使用SDK提供的工具来开发Android设备的应用程序非常方便。要使用这些工具,不仅可以通过被称为ADT(Android Development Tools)的Eclipse插件,还可以通过命令行。我们推荐使用Eclipse进行开发,因为它可以使我们在开发应用程序的过程中,能够直接调用所需的各种工具。 当然,你也可以选择使用其它的IDE进行开发。或者,仅使用一个简单的文本编辑器,并通过命令行来调用工具或执行脚本。对开发而言,这是一些数量不多的流线式步骤。尽管有时不得不手工地调用命令行工具,但所有的这些功能在Eclipse中全都具备。 备注:在开始开发Android应用程序之前,请确信已通读了安装中罗列的所有步骤。 不管是否使用Eclipse,开发应用程序的基本步骤是一样的: 1.安装Android虚拟设备或硬件设备。 需要创建Android虚拟设备或连接硬件设备,用来安装应用程序。 更多信息请查阅管理虚拟设备和使用硬件设备。 2.创建Android工程。 Android工程容纳了应用程序的全部源代码和资源文件。最后,它会被构建到一个.apk的包中,用于安装到Android设备。 3.构建和运行应用程序。 如果使用Eclipse进行开发,那么每次保存所做的改动时都会执行构建。要把应用程序安装到设备中,只需要点击Run。如果使用的是其它IDE,可以用Ant来构建工程,并用adb来把它安装到设备中。 (译者注:Eclipse中的构建是否在保存操作后自动执行,取决于菜单项Project>Build Automatically的状态) 4.用SDK的调试和日志工具来调试应用程序。 应用程序调试包括使用JDWP兼容调试器,以及Android SDK提供的调试和日志工具。在Eclipse中,已经包含的一个兼容调试器。 (译者注:JDWP是Java调试线协议,其详细介绍可参阅这里) 5.用测试和测量框架来测试应用程序。 Android SDK提供了一个测试和测量框架,用来帮助在仿真器或设备中安装和运行测试。 必要的命令行工具 当使用Eclipse之外的其它IDE或编辑器进行开发时,需要熟悉下列的所有工具,它们都必须通过命令行来执行。 android 创建和更改Android工程,创建、移动和删除AVD。 Android Emulator 在一个Android仿真平台上运行你的Android应用程序。 Android Debug Bridge 与仿真器或已连接设备之间的接口(安装应用程序、执行设备shell、发送命令等)。 除了上面的SDK工具之外,还需要下面的开源三方工具: Ant 用于把Android工程编译构建为可安装的.apk文件。 Keytool Keytool是JDK的一部分,用于生成密钥库和私钥,进而对.apk文件进行签名。 Jarsigner(或类似的签名工具) 用Keytool生成的私钥对.apk文件进行签名。Jarsigner也是JDK的一部分。 如果使用Eclipse和ADT,那么adb和android都会由Eclipse和ADT的类似功能来进行调用。不过,你还是需要熟悉adb,因为它的有些功能是无法从Eclipse访问的,比如adbshell命令。你可能还需要调用Keytool和Jarsigner来对应用程序进行签名,但最好还是对Eclipse进行设置,让它来自动地做这件事。 有关Android SDK提供的工具的更多信息,请查阅文档的工具部分。 第三方开发工具 下面所述的工具不是由Android SDK团队开发的。Android开发指南中没有提供这些工具相关的文档,请通过给出的链接来找到它们。 在IntelliJ IDEA中开发 IntelliJ IDEA是来自JetBrains的强大的Java IDE,它的免费社区版和最终版都提供了完整的Android开发支持。 IDE确保与最新Android SDK的兼容,同时还提供智能的代码编辑器、在代码和资源间的快速导航、图形化调试器、使用Android测试框架的单元测试支持、以及在模拟器或USB连接的设备中运行应用程序的能力。 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/596986,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android开发者指南(2) —— aapt

正文 使用aapt aapt是标准的Android辅助打包工具,位于SDK的tools/文件夹下。该工具允许查看、创建或更新Zip兼容格式(zip,jar,apk)的文档,并且能将资源编译到二进制格式的包中。 通常不需要直接使用aapt工具,IDE插件和编译脚本能利用它打包apk文件来合成应用程序。 详细的用法可以打开命令行终端,到tools文件夹下运行如下命令: Linux或Mac OS X: ./aapt Windows: aapt.exe 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582290,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android开发者指南(5) —— monkeyrunner

正文 monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。 monkeyrunner工具与(UI/Application Exerciser Monkey)用户界面/应用程序测试工具,也称为monkey工具并无关联。monkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流。而monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。 monkeyrunner工具为Android测试提供了以下特性: *多设备控制:monkeyrunnerAPI可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。 *功能测试:monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。 *回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。 *可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和程序开发一整套系统,以此来控制Android设备。除了使用monkeyrunnerAPI之外,您还可以使用标准的Pythonos和subprocess模块来调用如Android Debug Bridge这样的Android工具。 您还可以向monkeyrunner API中添加您自己的类。我们将在使用插件扩展monkeyrunner一节中对此进行详细讨论。 monkeyrunner工具使用Jython(使用Java编程语言的一种Python实现)。Jython允许monkeyrunnerAPI与Android框架轻松的进行交互。使用Jython,您可以使用Python语法来获取API中的常量、类以及方法。 一个简单的monkeyrunner程序实例(A Simple monkeyrunner Program) 以下为一个简单的monkeyrunner程序,它将会连接到一个设备,创建一个MonkeyDevice对象。使用MonkeyDevice对象,程序将安装一个Android应用包,运行其中一个活动,并向其发送按键事件。程序接下来会将结果截图,创建一个MonkeyImage对象,并使用这个对象截图将保存至.png文件。 The monkeyrunner API monkeyrunnerAPI于com.android.monkeyrunner包中包含三个模块: *MonkeyRunner:一个为monkeyrunner程序提供工具方法的类。这个类提供了用于连接monkeyrunner至设备或模拟器的方法。它还提供了用于创建一个monkeyrunner程序的用户界面以及显示内置帮助的方法。 *MonkeyDevice:表示一个设备或模拟器。这个类提供了安装和卸载程序包、启动一个活动以及发送键盘或触摸事件到应用程序的方法。您也可以用这个类来运行测试包。 *MonkeyImage:表示一个截图对象。这个类提供了截图、将位图转换成各种格式、比较两个MonkeyImage对象以及写图像到文件的方法。 在python程序中,您将以Python模块的形式使用这些类。monkeyrunner工具不会自动导入这些模块。您必须使用类似如下的from语句: 其中,为您想要导入的类名。您可以在一个from语句中导入超过一个模块,其间以逗号分隔。 Running monkeyrunner 您可以直接使用一个代码文件运行monkeyrunner,抑或在交互式对话中输入monkeyrunner语句。不论使用哪种方式,您都需要调用SDK目录的tools子目录下的monkeyrunner命令。如果您提供一个文件名作为运行参数,则monkeyrunner将视文件内容为Python程序,并加以运行;否则,它将提供一个交互对话环境。 monkeyrunner命令的语法为: 表1阐释了命令的标志和参数。 参数 说明 -plugin <plugin_jar> (可选)指定一个内含monkeyrunner插件的.jar文件。欲了解更多关于monkeyrunner插件的内容,请参照(Extending monkeyrunner with plugins)使用插件扩展monkeyrunner。要指定多个文件,包括多次论证。如欲指定超过一个文件,可以多次使用此参数。 <program_filename> 如果您指定此参数,monkeyrunner将视文件内容为Python程序并予以执行。如果此参数未予指定,则开启一个交互式会话。 <program_options> (可选)<程序文件名>所指定的程序所需的参数 monkeyrunner内建帮助(monkeyrunner Built-in Help) 您可以用以下命令来生成monkeyrunner的API参考: 参数说明: *可以为text或html,分别代表纯文本和HTML输出。 *指定了输出文件的全路经名称。 使用插件扩展monkeyrunner(Extending monkeyrunner with Plugins) 您可以用Java语言创建新的类,并打包成一个或多个.jar文件,以此来扩展monkeyrunnerAPI。您可以使用您自己写的类或者继承现有的类来扩展monkeyrunnerAPI。您还可以使用此功能来初始化monkeyrunner环境。 为了使monkeyrunner加载一个插件,您应当如使用如表1中所述的-plugin参数来调用monkeyrunner命令。 在您编写的插件中,您可以导入或继承位于com.android.monkeyrunner包中的几个主要的monkeyrunner类:MonkeyDevice,MonkeyImage和MonkeyRunner(参见monkeyrunnerAPI)。 请注意,插件无法让你访问Android的SDK。您不能导入com.android.app等包。这是因为monkeyrunner是在框架API层次之下与设备或模拟器进行交互的。 插件启动类(The plugin startup class) 用于插件的.jar文件可以指定一个类,使其在脚本执行之前就实例化。如欲指定这个类,您需要在.jar文件的manifest中添加键MonkeyRunnerStartupRunner。其值为启动时运行的类的名称。以下代码段显示了如何在一个ant构建脚本达到这样的目的: 如欲访问 monkeyrunner 的运行时环境,启动类可以实现 com.google.common.base.Predicate<PythonInterpreter> 。例如,用这个类在默认的命名空间中设置一些变量: 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582283,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册