2024-05-11

13 篇热帖

1. Most of Europe is glowing pink under the aurora (www.foto-webcam.eu)

摘要

文章标题为“大部分欧洲在极光下发出粉红色光芒”,暗示了极光现象的报道。然而,提供的内容并非文章正文,而是一个图像加载界面的技术描述。

目的:该界面用于交互式查看图像,可能用于展示极光相关图片,支持用户浏览和操作。

结构

  • 加载指示器:使用loading-16.gif动画显示加载状态。
  • 滚动功能:允许用户通过移动鼠标滚动查看图像。
  • 关闭窗口:点击或按Esc键可关闭当前窗口。
  • 适应屏幕控件:一个图标(fitscreen.png)用于调整图像大小以适应屏幕。

关键功能

  • 用户可通过鼠标滚动浏览图像内容。
  • 按F键可切换图像适应屏幕大小。
  • 使用鼠标滚轮或键盘+/-键进行缩放操作。
  • 按0键可恢复图像原始尺寸。

整体上,这是一个简洁的交互组件,专注于图像加载和用户操作体验。

2. Why the CORDIC algorithm lives rent-free in my head (github.com)

CORDIC算法是一种无需浮点运算单元(FPU)或大型查找表,仅通过移位和加法就能计算正弦、余弦等三角函数的算法。它特别适用于嵌入式等低功耗硬件环境。作者认为该算法将简单的操作与向量数学、三角学和收敛证明巧妙结合,堪称“优雅”。

为避免浮点运算,算法采用定点数表示法。例如,用32位整数,高16位表示整数部分,低16位表示小数部分,从而在整数运算框架内处理分数。加减法可直接进行,乘法需将结果右移,除法则需先将被除数左移以保持精度。

CORDIC的核心思想是:通过在单位圆上逐步(从大到小)旋转一个矢量来逼近目标角度。旋转次数足够多后,该矢量的y分量近似正弦值,x分量近似余弦值。

实现这一过程的关键在于简化旋转矩阵。算法通过两个步骤解决初始的“用三角函数计算三角函数”的矛盾:

  1. 将旋转分解为一系列预定义的小角度旋转。这些角度的正切值被预计算并存储在一个仅16个条目(64字节)的小表中。
  2. 通过选择特殊的旋转角度(即其正切值为2的负幂,如45°、26.565°等),使得旋转计算中的乘法操作可以简化为二进制移位

所有旋转角的余弦乘积会收敛于一个常数(约0.60725)。一个巧妙的优化是,在算法开始时将初始矢量的x分量设置为该常数,从而免去了最后的乘法校正步骤。

最终,CORDIC算法的实现仅包含循环内的条件判断、移位和加法。它通过迭代不断逼近目标角度,最终得到三角函数的近似值。文章最后指出,CORDIC经过修改还能用于计算正切、反三角函数、双曲函数、平方根、对数和指数等多种函数。

3. Coronal mass ejection impact imminent, two more earth-directed CMEs (www.spaceweatherlive.com)

日冕物质抛射撞击在即,另有两个CME正朝向地球

当前状况 首个预期的日冕物质抛射已抵达STEREO先行卫星。撞击显著,行星际磁场强度Bt最大值达41nT,Bz分量最小值为-33nT。若地球观测到类似数值,将很可能引发强地磁风暴,严重G4级地磁风暴(Kp8)条件完全可能。这可能成为本太阳周期最强的磁暴之一,欧洲中部今晚有望观测到极光。

新事件与后续影响 太阳黑子区域3664持续产生强耀斑。自上一篇报道以来,该区域又引发了两次爆发性的X级事件:一次为X1.1级,另一次为今天迄今最强的X3.9级耀斑。这两次事件均触发了不对称晕状日冕物质抛射,其部分方向指向地球。因此,目前共有六个可能途经地球的CME。

预测 由于多个CME可能相继抵达,未来约5天内地球空间天气将较为复杂。预计会出现地磁暴,强度可能达到G4级(Kp8)

(注:文中提及的网站推广、历史数据、订阅支持等内容未纳入本摘要。)

5. PeaZip: Open-source file compression and encryption software (peazip.github.io)

PeaZip是一款基于开源技术的免费文件压缩与加密软件,提供与WinRar、WinZip及7-Zip类似的功能,支持Linux、macOS和Windows等操作系统。

核心特点:

  • 命令行友好: 融合图形界面与命令行,可将GUI中定义的任务导出为CLI脚本,便于自动化、脚本重用或任务优化。
  • 双因素认证: 对所有支持加密的格式提供密码+密钥文件的双重认证,增强安全性。
  • 广泛格式支持: 支持超过200种归档格式,包括7Z、ZPAQ、Brotli、Zstandard等高效压缩格式,并提供格式转换功能。
  • 多功能文件管理: 集成校验和验证、查找重复文件、归档内搜索、书签和标签页浏览等实用工具。
  • 原生便携性: 可作为便携应用程序使用,无需安装,方便在移动设备、网络或云端共享,并在各操作系统提供一致的用户体验。

主要功能:

  • 开源且基于LGPLv3许可证,可自由集成。
  • 跨平台全功能GUI应用,同时作为文件管理器和归档管理器。
  • 支持创建和提取多种压缩格式,并能管理加密归档。
  • 提供强大的数据安全功能,包括AES等强加密、加密密码管理、安全删除和文件哈希工具。
  • 任务可轻松导出为命令行脚本。

安全性:

  • 作为自由软件,采用7-Zip、Brotli、FreeArc等开源项目技术,代码透明。
  • 所有下载包均无广告或恶意软件,通过SHA256哈希值在官方网站进行安全验证。

便携包优势:

  • 无需安装,解压即用,部署简便,适用于所有支持的操作系统。

详细功能:

  • 可创建7Z、ARC、Brotli等格式的高压缩比归档。
  • 作为提取工具支持200多种格式(如ACE、ISO、RAR、ZIPX),包括加密归档。
  • 需注意:ACE格式需安装插件;RAR格式的创建依赖WinRAR,但提取支持开箱即用。

下载与验证:

  • 官方下载源为GitHub和Sourceforge。
  • 建议仅从官方渠道下载,并通过提供的SHA256哈希值验证文件完整性。
  • 警惕非官方网站或商店提供的未经验证的包,此类来源与PeaZip项目无关。

隐私与条款:

  • 软件和网站均不收集用户数据。
  • 软件基于GNU LGPLv3许可证,文档基于GNU FDL许可证发布。
7. One Minute Park (oneminutepark.tv)

项目概述

One Minute Park 是一个收集世界各地公园一分钟视频的线上项目。每个视频均为一分钟,而非实时网络摄像头。该项目的最终目标是收集覆盖一天24小时共1440分钟的视频,目前已收录部分分钟段。用户可自行拍摄并贡献视频,共同参与建设。

如何制作一分钟公园视频

  1. 选景与构图:在公园中漫步,寻找一个场景。画面应包含丰富的层次与活动元素,避免出现单一主导物。
  2. 拍摄要求:使用手机横屏模式录制。尽量保持画面稳定,但不使用三脚架。拍摄时可屏住呼吸以稳住设备。通过观察时间码,确保视频时长精确为60秒——点击录制,计时至60秒后再次点击停止即可,无需后期编辑。
  3. 上传与提交:将视频(.mp4格式)上传至指定的Are.na频道。提交时,请在标题中注明拍摄日期、时间、公园名称及具体地点。

贡献者

(此部分为贡献者列表,原文未提供具体内容)

媒体报道

该项目荣获2024年“Tiny Award”,并曾被以下网站报道:Swiss Miss、A Tiny Bell、Laughing Squid、Waxy以及Hacker News。

项目支持

One Minute Park 由 Elliott Cost 发起,所有视频均由 Are.na 平台托管。该项目无资金支持,全凭热爱驱动。如需支持,可通过捐赠或订阅其 Patreon 账户提供帮助。

8. The Emacs Window Management Almanac (karthinks.com)

Emacs 窗口管理年鉴摘要

Emacs 的窗口管理系统灵活但控制方式粗糙,这常导致管理困难。本文汇总了作者多年来探索的窗口管理方法、工具和技巧,旨在为用户提供实用指南。内容涵盖内置功能、第三方包、使用技巧以及未实现的理想功能。

核心概念

  • 窗口 vs 缓冲区:Emacs 中窗口(viewport/pane)与缓冲区(buffer)分离,不同于大多数编辑器。这种分离提供了灵活性(如同时查看同一文件的不同部分),但也增加了用户认知负担。
  • 管理范围:本文聚焦于 Emacs 框架内的手动窗口操作(切换焦点、移动缓冲区、分割/关闭窗口等),不涉及自动缓冲区显示规则、工作区持久化或根本性窗口行为变更。

主要工具与方法

内置功能

  • other-window (C-x o):按顺时针循环切换窗口,适合窗口较少时使用。可通过数字参数跳转或结合 repeat-mode 提升效率。
  • windmove:基于方向(上下左右)切换窗口、交换缓冲区,与平铺窗口管理器逻辑类似。
  • window-prefix-map (C-x w):包含分割根窗口、将窗口分离到新标签/框架等命令。

第三方包

  • winum-mode:为窗口编号,通过数字键(如 M-1, M-2)快速选择或删除窗口。
  • ace-window:键盘驱动的终极窗口控制工具。在窗口上显示提示符,输入对应键可切换焦点;通过调度菜单可执行删除、交换、分割等任意操作,且支持跨框架。
  • transpose-frame:提供窗口布局的旋转、翻转命令。

鼠标操作

  • 鼠标是自然的窗口导航方式,尤其在已使用鼠标时。可设置 mouse-autoselect-window 实现焦点跟随,并利用右键菜单和拖放操作。

窗口配置管理

  • 保存/恢复window-configuration-to-register 保存当前布局到寄存器,jump-to-register 恢复。
  • 撤销操作winner-modetab-bar-history-mode 等提供窗口配置的撤销/重做,应对意外布局变更。

高级技巧与观点

优化切换流程

  • Back-and-forth 方法:多数情况下只需在两个窗口间切换。定义 other-window-mru 命令切换到最近使用的窗口。
  • 改进 other-window:可修改为在单窗口时自动分割,或按最近使用顺序循环(如 switchy-window 包)。
  • Avy 跳转:将框架视为整体,直接跳转到任意字符位置,实现窗口无关导航。

跨窗口操作

  • scroll-other-window:无需离开当前窗口滚动另一窗口。通过 other-window-scroll-default 设置滚动目标窗口(如最近最少使用窗口)。
  • isearch-other-window:在参考窗口中执行搜索。
  • with-other-window 宏:在 Elisp 中自动执行“切换-操作-切回”流程。
  • ace-window-prefix (C-x 4 o):改进的前缀命令,使用 ace-window 选择下一命令的缓冲区显示窗口,取代固定的“下一窗口”。

减少窗口管理需求

  • 单/双窗口模式:专注于一个或两个窗口,利用缓冲区切换(next-buffer/previous-buffer)而非窗口管理。
  • 窗口无关导航:利用标记环(pop-global-mark)、书签等在位置间跳转,窗口切换仅是副产品。

自动显示控制

  • 通过 display-buffer-alist 或简化接口(如 Shackle 包)制定规则,控制特定缓冲区(如弹窗)的显示方式,减少手动布局干扰。

未实现的理想功能

  • 窗口树操作:Emacs 窗口按树结构排列,但缺乏直接操作内部节点的命令。实现树操作可带来更精细的布局控制。
  • 与平铺窗口管理器集成:在 i3、bspwm 等环境中,实现 Emacs 内部窗口与外部窗口管理器的无缝键位导航集成。

结论

Emacs 窗口管理开放且可定制,但需要用户投入时间理解其模型并选择适合的工具和流程。本文提供了从基础到进阶的多种方案,用户可根据习惯组合使用,以在灵活性与易用性间取得平衡。随着 Emacs 生态发展,窗口管理工具和理念也将继续演进。

9. Adam Curtis on the dangers of self-expression (2017) (thecreativeindependent.com)

亚当·柯蒂斯谈自我表达的危险

艺术是好的,自我表达是伟大的。但自我表达不能替代政治行动,无法真正挑战权力、改变世界。艺术善于提炼和描述世界,但从20世纪70年代初开始,人们逐渐将自我表达视为新的政治,认为这是挑战世界丑恶的新方式。然而,这行不通,因为整个世界本身就建立在自我表达之上。

我们或许拥有一种看待世界的新激进方式,一种未被我们的成见所束缚的崭新视角。每个时代都深信某种观念,而50年后的人们会回顾说:“天啊,看他们多么顺从。”我们可能将自我表达视为我们这个时代可怕的、令人麻木的顺从。它并非虚假,但当每个人都每天都在自我表达时,这就失去了意义。我们都在自我表达,这成为了我们时代的顺从。

现代自我表达的历史始于嬉皮士运动。它随着60年代末70年代初新左派的瓦解而变得清晰。帕蒂·史密斯在《只是孩子》中记述了她和罗伯特·梅普尔索普的关系,清楚地表明他们厌倦了放弃自我去参加集体游行,因为那似乎毫无作用。取而代之的是以富有想象力的方式表达对体制的愤怒,作为对左派失败的替代。这令人兴奋。

柯蒂斯在《探求自我的世纪》系列中展示了,70年代资本主义经历了一次重大转变。它不再销售同质化的商品,让人们看起来千篇一律;而是开始销售更多样的产品,以便让消费者表达自我。艺术家们视为叛逆的行为,实际上恰恰反映了他们所不喜欢的权力结构内部更深层的变化。资本主义变得像他们一样。

当代的有趣之处在于,无论你的艺术信息多么激进,如果你通过自我表达进行批评,你实际上是在滋养你试图推翻的权力结构。你所批评的权力结构同样相信自我表达是终极目标。资本主义讲的是自我表达,艺术也讲自我表达。艺术远非激进的局外运动,它正处在当代顺从的核心。这就是为什么什么都没有改变,因为激进派采用了权力结构中心的一种表达形式,从而被消解了。

如果你想让世界变得更好,你必须从权力所在之处开始。这很难看清。我们生活在一个将自己视为独立个体的世界。如果你是一个独立的个体,你就不会真正从权力的角度思考,而只考虑自己对世界的影响力。你没有看到的是,过去的人们更能看清的一点:当你身处集体中时,你可以非常强大,可以改变事物。当事情出错时,你会拥有身处集体时才有的信心。这就是为什么权力的整个概念已经萎缩。我们被鼓励只谈论自己以及对他人的感受,而不被鼓励将自己视为任何事物的一部分。

但计算机知道真相。它们将我们视为一个群体。我们实际上彼此相似,有着相同的欲望、雄心和恐惧。计算机通过关联和模式识别出这一点。计算机可以将我们视为庞大的群体,但它们阴郁地只将我们聚合起来以向我们销售商品。实际上,计算机洞察了群体间共同身份的力量。没有人利用这一点。计算机中存储着一种方式,可以识别新的群体,发现人们之间新的共同身份。

集体自我表达曾是政治的一部分。你通过奉献自我来表达与他人的团结。美国最近一个强大的例子是民权运动。在20世纪50年代,年轻的白人活动家南下,与年轻的黑人活动家并肩工作多年。他们中许多人挨打,一些人被杀。他们奉献自我于某件事,并用那种力量改变了世界。

关于自由有不同的定义。当代的自由观非常个人主义:作为个体,我想自由地做我想做的事。还有另一种定义简单地说:“为谁服务就是完全的自由。”通过献身于主,你将自己从自身欲望和自私的狭窄牢笼中解放出来,你变得更高大,成为某个更大事物的一部分。个人自我表达的观念,虽然因为当代个人主义意识形态而感觉无限,但从另一个角度看却是有限的,因为你所拥有的只是自己的欲望。还有其他可以让你从中解脱的事物,那是另一种自由。

柯蒂斯引用了社会学家马克斯·韦伯的预言:我们将进入一个理性铁笼的官僚时代,一个管理完善、理性行事的奇妙世界,但代价是失去“魅惑”,进入一个“祛魅”的时代。他有时怀疑阴谋论是否是试图以扭曲的方式重新为世界“赋予魔力”。就像宗教在敲门,试图以奇怪而扭曲的形式回归,一种超越我们对世界理解的神秘感。与阴谋论者交谈时,你能感觉到那种近乎浪漫的敬畏,认为存在一种理性永远无法穿透的黑暗神秘事物,这有点像宗教。

也许正在试图回归我们世界的就是“魅惑”,而它能回归的唯一方式就是通过这些奇怪扭曲的形式。资本主义的没落在于它已被理性的技术官僚式“祛魅”所占据,变成了一个囚禁我们的铁笼。某种新形式的魅惑神话必将回归。一个试图解释你无法理解的事物、给予你超越自身存在的慰藉的神话。我们需要这个。谈论权力这些正常、枯燥、有限、理性的技术官僚新闻无法谈论的事情,就像宗教这样的神话力量,能将它们戏剧化地展现出来。

情节剧是下一个出路。一种对事物的强化感知,作为跳出我们所处的失败理性技术官僚牢笼的一种方式,在那里财政紧缩告诉你必须做这个或那个。这太有限,太无聊了。诀窍在于,它仍然能让你感觉自己是一个独立的个体。我们时代极端的个人主义不可能再被收回。你必须解决这个难题:你必须让人们仍然感觉自己是独立的个体,然而他们又奉献自我于某个令人敬畏、更伟大、更有力量的事物,这个事物能将他们带向超越自身存在的未来。这正是人们所渴望的。

(附:亚当·柯蒂斯的代表作包括《探求自我的世纪》《噩梦的力量》《受机器仁慈之光注视》《感觉像一个吻》《超正常化》等,这些作品探讨了个人主义、资本主义、政治、技术与自由意志等主题。)

10. Show HN: Wag, MFA and Enrollment for WireGuard (github.com)

Wag项目摘要:为WireGuard添加MFA与设备注册

项目概述 Wag是一个工具,旨在为原生WireGuard VPN服务器增加多因素认证(MFA)、基于策略的路由访问控制以及设备注册管理功能,从而提升安全性。

核心功能

  1. 访问控制:管理员可以定义具体的网络路由或IP范围,并为其指定访问策略,包括:
    • 需要MFA:访问这些路由前,用户必须完成多因素认证。
    • 始终公开:无需任何认证即可访问。
    • 拒绝访问:完全阻止访问。
  2. MFA集成:支持多种认证方式,包括安全密钥(WebAuthn)、单点登录(SSO/OIDC)、Linux PAM和基于时间的一次性密码(TOTP)。
  3. 设备注册:通过API或注册令牌,可以方便地为用户添加和配置新的WireGuard客户端设备。
  4. 高可用与集群:支持集群部署以实现高可用性,使用内嵌的etcd和Raft共识进行状态同步。
  5. 实时管理:支持实时更新用户状态和通知。
  6. 管理界面:提供一个用于管理用户、设备和配置的Web管理后台,以及一个用于设备注册和用户认证的公共Web界面。

安装与部署

  • 系统要求:需要在Linux系统上启用IP转发(net.ipv4.ip_forward=1)。
  • 安装方式
    • Docker Compose:提供官方镜像和配置示例。
    • 手动安装:可以下载预编译的二进制文件或从源码编译。安装后需要配置系统服务(如systemd)以root用户身份运行,以便管理iptables和WireGuard网络设备。
  • 配置文件:主要通过一个JSON格式的配置文件进行详细设置,涵盖Web服务器、WireGuard、集群和访问控制列表(ACL)等多个部分。

配置与管理

  1. 访问控制列表(ACL)
    • 通过Policies部分定义用户或组的访问规则。
    • 规则基于IP地址和端口/协议(如10.0.0.0/16192.168.1.1 22/tcp)。
    • 匹配逻辑基于子网前缀长度,最具体的规则(如/32)会覆盖更广泛的规则(如/16)。
    • 规则可以组合:对于同一资源,MFA规则、允许规则和拒绝规则可以同时存在,系统会进行综合判定。
  2. Web服务器配置
    • 分为公共端点(用于设备注册)和隧道端点(用于VPN内的MFA门户)。
    • 支持TLS,可配置ACME自动证书。
  3. 管理方式
    • Web UI:通过浏览器进行用户、设备和策略的管理。
    • 命令行:提供wag CLI工具,支持启动服务、管理注册令牌、用户、设备和管理员账户等子命令。

安全与会话

  • 可以配置MFA会话的最长生命周期和闲置超时时间。
  • 可以设置MFA认证失败次数上限,达到后将锁定账户。

限制

  • 当前仅支持客户端使用单个AllowedIPs配置的场景(适用于点对点或客户端到服务器架构)。
  • 主要针对Linux系统,Windows支持可能需要额外工作。

开发与社区

  • 项目欢迎外部贡献,要求在提交更改时编写相应的测试。
  • 项目接受加密货币捐赠以支持持续开发。
11. The derivative of a number (2014) (rjlipton.com)

数的导数(2014)

本文讨论了爱德华·巴巴罗(Edward Barbeau)于1961年提出的数的导数概念,这是一个将微积分中的导数概念延伸至自然数的独特定义。

定义

数的导数 ( f(n) ) 由三条规则定义:

  1. 对所有素数 ( p ),有 ( f(p) = 1 )。
  2. 对所有自然数 ( a, b ),有 ( f(ab) = f(a)b + af(b) )(类似莱布尼茨法则)。
  3. 对所有自然数 ( a, b ),有 ( f(a + b) = f(a) + f(b) )。

巴巴罗证明了该定义的良定义性。由此可推出,对素数 ( p ) 有 ( f(p^k) = k p^{k-1} )。

基本性质

  • 该导数运算不是线性的(例如 ( f(3+2) \neq f(3)+f(2) )),且幂函数的导数形式也较为复杂,这与传统函数导数的简洁性不同。
  • 研究主要集中在内在性质上,例如解形如 ( f(x) = c ) 的方程、( f(n) ) 的增长与不等式(如 ( f(n) < n ) 当 ( n ) 非素数时),以及将定义扩展至整数、有理数等更广泛的数域。

应用与扩展

  • 作者尝试用该导数证明经典结果(如 ( \sqrt{2} ) 为无理数),但证明过程较为繁琐,并非最优。
  • 近期有研究论文开始探索这一概念,例如尼古拉斯·达尔等人的《算术导数性质的研究》和维克多·乌夫纳罗夫斯基等人的《如何对数求导》。

开放问题

  1. 该导数能否用于解决数论或复杂性理论中的开放问题?
  2. 计算 ( f(n) ) 的计算复杂度是多少?当 ( n = p \cdot q )(两素数乘积)时,计算 ( f(n) ) 等价于整数分解;一般情形下,推测计算 ( f(n) ) 可能等价于整数分解。

本文指出,这一独特概念虽然尚未被深入研究,但可能蕴含着尚未发掘的数学价值。

12. Flatcar: OS Innovation with Systemd-Sysext (www.flatcar.org)

Flatcar: 通过systemd-sysext实现的操作系统创新

核心背景与挑战

Flatcar Container Linux 作为 CoreOS Container Linux 的延续,设计核心是向后兼容性。它提供固定的软件集合,并建议用户通过容器部署其他应用。然而,在某些场景下需要扩展Flatcar的功能,例如:

  1. 在云环境中运行:需要集成不同云供应商的工具,但无法将它们全部打包进基础镜像。
  2. 自定义系统级软件:用户有时需要自定义版本的Docker/containerd或其他不能作为容器运行的OS级软件。

过去,将此类额外软件作为文件放置在根文件系统上会引发更新问题和缺乏与基础OS的集成。

解决方案:systemd-sysext

Flatcar 采用 systemd-sysext 作为解决方案。它允许在只读的 /usr 分区之上叠加扩展层。这解决了长期存在的功能请求,并找到了新的解决路径。

主要应用场景:

  1. 用户自定义软件

    • 为部署自定义的Docker/containerd等主机级软件提供了通用且深度集成的方案,取代了以往将二进制文件放在 /opt/bin 或使用 Torcx 的方式。
    • Flatcar内置的Docker/containerd本身已是systemd-sysext镜像,禁用后可完全消失。
    • 官方在 sysext-bakery 仓库提供构建脚本和预构建的扩展镜像(包括Kubernetes、CRI-O、K3s等)。
    • 扩展可使用 systemd-sysupdate 进行更新。
    • 此方案也适用于Kubernetes Cluster API项目,允许使用云端市场的标准Flatcar镜像,并在部署时添加Kubernetes二进制文件,支持原地更新。
  2. 云供应商工具与Flatcar扩展

    • 云供应商工具现在通过systemd-sysext层叠在 /usr 分区之上,纳入了Flatcar的A/B更新/回滚机制,并由更新服务器作为额外的更新负载提供。
    • 这些扩展与OS版本绑定,可以使用动态链接以节省磁盘空间。
    • 基于此机制,Flatcar变得更具模块化。首个可选扩展提供了ZFS文件系统的驱动和CLI工具。未来计划提供htop、tmux、Podman、Incus以及NVIDIA驱动等扩展,同时考虑将一些不常用的功能(如sssd、Kerberos)从基础镜像拆分出去。

未来展望

  • 改进启动集成:目前扩展在启动后期加载,需要软件自行应用内核模块设置等。目标是在initrd阶段挂载扩展覆盖层,使系统启动时即完全配置。
  • 优化挂载体验:修复扩展重载时覆盖层短暂消失的问题,计划使用新的Linux挂载API。
  • 增强安全性与更新机制:为OS扩展提供更细粒度的dm-verity策略;让systemd-sysupdate在首次启动时从initrd运行以下载缺失扩展;在清单格式中支持降级。
  • 配置管理:通过 systemd-confext 管理 /etc 配置。Flatcar为其贡献了可变覆盖层模式,以便用于默认配置管理,并使systemd-sysext能在传统发行版(/usr 可写)上工作。

总结

systemd-sysext的使用使Flatcar能够在保持镜像型操作系统简单可靠特性的同时进行设计创新。它通过可选的OS层解决了扩展性痛点,但其本质不同于包管理器系统。Flatcar鼓励用户尝试新功能并向sysext-bakery仓库贡献扩展,同时希望上游改进和采用能扩大systemd-sysext在其他Linux发行版中的应用。