该仓库托管了书籍“Linux系统编程:实践入门”(No Starch Press,亚马逊购买链接:[https://www.amazon.com/System-Programming-Linux-Stewart-Weiss/dp/1718503563](https://www.amazon.com/System-Programming-Linux-Stewart-Weiss/dp/1718503563))的源代码。 请注意,代码可能与书籍的初版印刷有所不同(可通过`firstprinting`分支获取)。自最新印刷版以来的更改在`CHANGES`文件中详细说明。代码采用GNU GPLv3(程序)和GNU LGPLv3(库 – `common/`和`include/`目录)许可。 仓库按章节组织(例如`ChapterNN`),另有包含头文件、库和makefile的目录。要构建程序,首先`cd`进入`common`目录并运行`make`,然后运行`make install`。这将设置必要的头文件和库。然后,导航到所需的章节目录并运行`make`。每个章节可能都有一个特定的`README`文件,其中包含进一步的说明。欢迎报告错误或改进建议。
## Servo 项目增长:2025 年回顾
Servo 浏览器项目自 2023 年 Igalia 承担项目维护以来,取得了显著增长。数据表明,社区活动大幅增加——合并请求(PR)数量在 2023 年至 2025 年间几乎翻了四倍(达到 3,183 个),贡献者数量也增长了三倍以上,2025 年达到 146 人。值得注意的是,贡献者参与度不断提高,每年提交超过 10 个 PR 的人数也在增加。
技术进展也很明显,Web Platform Tests (WPT) 通过率在 2025 年从 48.2% 提高到 61.6%。该项目也获得了越来越多的关注,在 GitHub 上的星标数量接近 35,000 个。
除了代码贡献外,社区还扩展到包括 5 名管理员、17 名 TSC 成员、25 名维护者和 18 名贡献者。Servo 发布了三个版本,并建立了赞助等级,获得了 4 名铜牌赞助商,资金用于支持关键贡献者和改进 CI 时间。该项目还在全球技术活动中保持了强劲的 presence,并发表了 10 次演讲。
总而言之,2025 年展示了一个充满活力且不断壮大的 Servo 社区,为持续进步做好准备。
## GitHub Actions:开发者的沮丧
作者表达了对 GitHub Actions 的强烈沮丧,甚至超过了对之前厌恶的技术(如旧版本的 PHP)。核心问题在于他们的项目 `tmplr`(一个模板/脚手架工具)的 CI 构建失败,原因是难以在不同目标平台(Linux ARM、macOS ARM、Linux x86_64、macOS x86_64)上安装 CUE 二进制文件。
尽管 CUE 在大多数平台上都能成功安装和运行,但 Linux ARM 构建始终以“命令未找到”错误告终——这是由于 GitHub Actions 的隔离跨构建环境将 x86_64 二进制文件隐藏在 ARM 运行器之外所致。这引发了一个重复的、耗时的 CI 配置更改和重复构建尝试的调试循环(每次更改需要 2-3 分钟)。
最终,作者通过从 `build.rs` 中移除构建逻辑并将其移动到 GNU Makefile,然后由 GitHub Actions 直接调用来解决了这个问题。他们提倡将构建逻辑保留在 GitHub Actions 的 YAML 配置之外,以避免类似的麻烦,并得出结论,虽然 Actions 提供了易于构建 macOS 的好处,但它通常会带来大量的调试时间和开发者精神损失。
MBCompass 是一款免费且开源的 Android 指南针和导航应用程序,优先考虑隐私和简洁性。它不同于笨重的地图应用程序,在 OpenStreetMap 上提供清晰的方向(磁北和真北)和实时 GPS 位置,且无广告、无跟踪、无应用内购买。
MBCompass 使用 Jetpack Compose 构建,具有磁场强度显示、传感器融合以提高精度以及浅色/深色主题等功能。它支持横向模式,并在使用过程中保持屏幕活动状态。
该项目正在积极开发中,即将推出用户界面改进,包括 GPS 测速仪和 AMOLED 深色模式。它由社区驱动,欢迎通过 Weblate 和 GitHub 提供翻译和贡献。鼓励通过捐赠来支持 MBCompass,以确保其在 GPLv3 许可下持续可持续地开发。