V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ljcbaby
V2EX  ›  Windows

Win 下 打开 EROFS img 工具

  •  
  •   Ljcbaby · 2022-06-22 23:25:12 +08:00 · 4063 次点击
    这是一个创建于 887 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一直有习惯手动制作 Magisk 模块屏蔽部分 MIUI 的系统应用,但这次解 K50 的包出问题了,7zip 打不开 system.img

    在群友的帮助下确定了问题大概是 EROFS ,但找到的两个解包工具都要 Linux 环境,有无 Win 下可用的工具?
    第 1 条附言  ·  2022-06-24 23:09:40 +08:00
    44 条回复    2022-06-25 12:01:51 +08:00
    Buges
        1
    Buges  
       2022-06-23 06:45:06 +08:00 via Android
    搜了一下,这个似乎是华为出品,upstream 到 Linux 内核的文件系统,应该还没有其他实现。没看到这个 fs 比起广泛应用的 squash fs 有什么特别的优势,造这种轮子纯属制造问题而非解决问题,污染开源生态。
    Ljcbaby
        2
    Ljcbaby  
    OP
       2022-06-23 07:07:34 +08:00
    @Buges #1 华为和阿里主导的,应该有优势在的,不然不会被选为 Android 13 的强制特性的。
    anguiao
        3
    anguiao  
       2022-06-23 14:03:24 +08:00
    试试 WSL ?

    题外话:既然 EROFS 是只读的话,是不是以后 root 的可玩性就降低了🤔
    Ljcbaby
        4
    Ljcbaby  
    OP
       2022-06-23 14:09:17 +08:00
    @anguiao #3 已经准备上了

    早就习惯 system 只读了,反正全靠 magisk 修改内容
    nevin47
        5
    nevin47  
       2022-06-23 14:12:43 +08:00   ❤️ 4
    @Buges #1 哇,我一般 V 站上看到吐槽华为的,都会觉得萝卜青菜各有所爱,但你这个太扯了吧兄弟

    EROFS 现在都是 Android13 的默认系统分区选型了,如果有兴趣,推荐读一下 usenix 19 的这篇 Paper 《 EROFS: A Compression-friendly Readonly File System for Resource-scarce Devices 》。如果学术能力不强,也可以读一下进行了简化处理的新闻: https://pocketnow.com/erofs-android-13-explained

    这种为了黑而黑才是在污染社区生态吧
    anguiao
        6
    anguiao  
       2022-06-23 14:23:40 +08:00
    @Ljcbaby 很多年没折腾过 root 了,搜了下才知道 Magisk 的基本原理,受教了。
    Buges
        7
    Buges  
       2022-06-23 14:47:28 +08:00 via Android
    @nevin47 这篇文章说半天也没说出来什么比起 squash fs 的显著优势或 squash fs 不能实现的特性。明明有广泛支持的方案,为什么非要放着不用重新造轮子?再者说国产开源项目什么质量心里都有数,国产项目进入核心 infra 只会制造坑让人踩,lz 这个帖子就是现成的例子,用 7z 释放 squashfs 的镜像是完全没问题的。
    Ljcbaby
        8
    Ljcbaby  
    OP
       2022-06-23 15:07:40 +08:00
    @Buges #7 同等压缩下更快读(相对于 ext4 ,毕竟之前的 system 使用的是 只读的 ext4 )
    squashfs 似乎缺乏压缩
    Ljcbaby
        9
    Ljcbaby  
    OP
       2022-06-23 15:12:30 +08:00
    @Buges #7 自我纠正
    > 其实 Linux 压缩文件系统也早就有了:Squashfs ,但这个文件系统并未在手机系统中流行起来,甚至低端设备也未采用。原因在于:
    >
    >> 我们为何不使用 SquashFS ?
    >> 我们尝试过 SquashFS ,但无法实现高端设备所需的性能。我们不会为手持设备使用 SquashFS ,也不推荐这么做。
    >> 更具体地说,使用 SquashFS 时,系统分区上节省了约 50% 的大小,但绝大多数压缩率较高的文件都是预编译的 .odex 文件。这些文件都具有非常高的压缩比(接近 80%),但系统分区其余部分的压缩比要低得多。另外,SquashFS 在 Android 7.0 中引发了以下性能问题:
    >> 1. 与以往的设备相比,Pixel 具有非常快的闪存,但并没有大量的空闲 CPU 周期,因此虽然从闪存读取的字节数更少,但却需要更多的 CPU 来处理 I/O ,这是一个潜在的制约因素。
    >> 2. 在没有任何负载的系统上,有些 I/O 变化在人为基准条件下不会出现任何问题,但在具有真实负载(如 Nexus 6 上的加密)的实际用例中有时则会出现问题。
    >> 3. 在某些方面,基准化分析显示回归率达到 85%。
    >> 随着 SquashFS 日趋成熟并且增加了旨在降低 CPU 影响的功能(例如,将不应压缩且经常访问的文件列入白名单),我们将继续对其进行评估并向设备制造商提供建议。
    >> 链接:[常见问题解答  |  Android 开源项目  |  Android Open Source Project]( https://source.android.google.cn/devices/tech/ota/ab/ab_faqs)
    > 如果压缩是以性能急剧下降为代价的,那其实还是得不偿失的,所以对于性能的测试就是关键点。

    ref: https://zhuanlan.zhihu.com/p/264923041
    nevin47
        10
    nevin47  
       2022-06-23 15:12:47 +08:00   ❤️ 1
    @Buges #7 请问你有认真看吗? USENIX 19 这篇 paper 是有 Microbenchmark 的,你看一下自己就明白为什么 EROFS 用来做 System 分区的时候有优势了。这篇文章里面有非常多的 compare with Squashfs 。EROFS 在非常多的场景是有明显性能优势的

    而且你后半段 "再者说国产开源项目什么质量心里都有数,国产项目进入核心 infra 只会制造坑让人踩"
    真的,都不想作出任何评论

    另外,img 文件的解包问题,EROFS 可以直接解包的,windows 的解包只是当前没人做而已
    Ljcbaby
        11
    Ljcbaby  
    OP
       2022-06-23 15:27:38 +08:00
    @anguiao #3 https://github.com/microsoft/WSL/issues/7257 似乎 WSL 还不支持 erofs


    @nevin47 #10 确实希望有人做解包,要往虚拟机里丢一次还是挺麻烦的
    Buges
        12
    Buges  
       2022-06-23 16:18:22 +08:00 via Android
    @nevin47 不用翻什么 paper ,你发的文章、patch 邮件、hernel 文档里都没有比 squash fs 有什么显著性的优势。像是可选压缩、访问缓存这些,也完全不是 squash fs 很难实现的。另起炉灶重新造轮子,可以,但没必要。

    另外我可没说什么中立,出于个人立场当然不希望核心环境依赖国产代码。哪个公司不审查供应链,fastjson 用的还开心吗?

    最后一点显然任何格式都能解包,但重新造轮子生态不支持本身就是坑。
    nevin47
        13
    nevin47  
       2022-06-23 16:34:49 +08:00   ❤️ 5
    @Buges #12 我觉得我们无法交流了,你这种态度就和民科一样,不看数据不读书,守着自己的小天地认为自己就是正确的。EROFS 几乎每周都有各种和 squashfs/ext4 的讨论和对比,不管是功能差别和性能优势 /劣势,都在被充分讨论着。我觉得你可能并没有 trace EROFS 和 squashfs 的 MailList ,纯属在臆想?

    至于立场问题,只能说你开心就好,现在连 Andriod 13 都把 EROFS 作为默认系统分区文件系统了,你如果觉得不满意,你也可以参与到社区讨论中。另外商业软件开源没有原罪,例如 xfs 、btrfs 这些影响深远的文件系统,都是商业开源项目,国产的商业项目凭啥就不能开源然后成为主干版本了??
    nevin47
        14
    nevin47  
       2022-06-23 16:42:29 +08:00 via Android
    @Ljcbaby 这个解包工具主要是要在 windows 上实现一个解码,而且还要再实现一个重压缩。我估计后面应该会有舅舅党做一个出来。不过确实现阶段 wsl 最方便了
    singerll
        15
    singerll  
       2022-06-23 16:46:35 +08:00
    @nevin47 “造这种轮子纯属制造问题而非解决问题,污染开源生态。”

    1 楼都这样说了,你还跟他在认真科普。。。。。。

    按照他的逻辑,谷歌都是傻子,随便找了个国产垃圾就往安卓里面塞。那么多文件系统,偏偏选了国产,这其中一定有 py 交易。
    Ljcbaby
        16
    Ljcbaby  
    OP
       2022-06-23 16:48:28 +08:00
    @nevin47 #14 github.com/microsoft/WSL/issues/7257 似乎 WSL 还不支持 erofs ,内核参数不对
    Buges
        17
    Buges  
       2022-06-23 16:52:56 +08:00 via Android   ❤️ 1
    @nevin47 看了文档、介绍,没有什么 innovative 的变化,我就知道它比起 squash fs 没有质的提升(后者由于已有设计无法实现或难以实现的特性),具体细节我为什么要去关心呢?

    商业软件当然没有原罪,我说了,立场问题。有开源软件作者给 Ru 用户投毒,Ru 用户会希望继续依赖他的代码?阿里又搞了个 fastjson2 ,还有谁现在愿意用?国内经济条件差,开源项目大多功利性严重,为了 KPI 、为了话语权,为了不被“卡脖子”、自主可控,缺乏自由软件原本的精神。自由软件 provide as is,without liability ,而国内法律会因为诈骗网站用了宝塔面板请宝塔团队喝茶;国内的价值观就是 clearly against the Free software movement ,这就是我不希望看到核心 infra 依赖国产代码的原因,仅仅开源代码并没有太多意义,reputation 和后续支持都不行。
    Buges
        18
    Buges  
       2022-06-23 16:57:53 +08:00 via Android
    @singerll 开始稻草人了是吧,我一直说的都是“没有特别优势”,不知道你从哪句读出来“国产垃圾”、“py 交易”的意思。
    Ljcbaby
        19
    Ljcbaby  
    OP
       2022-06-23 17:09:54 +08:00
    @Buges 建议你自己开帖批判这一问题,我希望的是寻求工具来解包 img 。

    另外,没有特别优势不代表没有优势,在任何情况下我们都希望有更好的的东西出现的。
    nevin47
        20
    nevin47  
       2022-06-23 17:15:29 +08:00 via Android
    @Ljcbaby wsl 可以自己替换一下内核,我看了一下 Ubuntu 貌似是不支持,不知道另外几个发行版情况如何
    Buges
        21
    Buges  
       2022-06-23 17:22:57 +08:00 via Android   ❤️ 1
    @Ljcbaby 优势当然有,但问题在于得不偿失,没有显著提升的情况下,重写的坏处多于好处,比起成熟的、已有的实现,更多的 bug 、更差的生态兼容支持(你的问题就是因此导致)。除非水平太差,基本对所有古老软件的重写都会有所提升,你希望所有的已有软件都被重写吗?
    nevin47
        22
    nevin47  
       2022-06-23 17:37:36 +08:00
    @singerll #15 ……emmm ,我也觉得我浪费了 N 分钟的时间,但是#1 楼那个观点真的是看不下去
    chizuo
        23
    chizuo  
       2022-06-23 17:57:30 +08:00
    @nevin47 #22 +1 ,没想到大家这么温和的摆证据、摆论文,他还是这样耍泼无赖,又可气又可笑
    singerll
        24
    singerll  
       2022-06-23 18:07:22 +08:00   ❤️ 3
    @Buges 开源项目不是以自由为宗旨吗?合着 github 上的开源项目都是精致的,没有垃圾?你有往 github 上传东西吗?传的都是革命性的优质项目吗?
    EROFS 他就是再不好,他仅仅是选择了开源,他有拿枪指着 google 让安卓必须用吗?
    那么多文件系统 google 不选,偏偏选个 EROFS 。就算倒垃圾,也是 google 在倒垃圾,跟 EROFS 有什么关系?
    learningman
        25
    learningman  
       2022-06-23 18:17:53 +08:00
    笑嘻了,标准的不能再标准的殖人。
    就事论事都做不到,看到是国产就跳脚,这种玩意儿和小粉红取个反有啥区别?
    观察者网要是有逆转版,应该很适合他。
    Buges
        26
    Buges  
       2022-06-23 18:18:05 +08:00 via Android   ❤️ 1
    @singerll 当然不是,开源代表不了太多意义,chromium 就是典型的反自由的开源软件。以自由为宗旨的是自由软件运动。
    erofs 我自始至终都没有说它垃圾,只批判它“没有显著优势”的同时引入的其他问题。
    Debian 转 systemd 的时候,大家都骂 systemd 而不是骂 Debian ,你觉得是为什么?
    duke807
        27
    duke807  
       2022-06-23 18:18:16 +08:00 via Android   ❤️ 2
    不用爭了,Android 本來就是垃圾場
    Ljcbaby
        28
    Ljcbaby  
    OP
       2022-06-23 19:08:52 +08:00
    @nevin47 #20 有 issue 的话等官方支持也不是不行
    想到一个邪道,直接用支持的手机(已经 root )挂载并取出需要的文件


    @Buges #21 如果有改善,那为何不做呢,Dnsmasq 不都逐步接受了 fastlookup
    FrankHB
        29
    FrankHB  
       2022-06-23 19:37:41 +08:00
    @Buges 我本来以为也是 KPI 产品,不过最近刷到这个居然是在 0net ,有人提 Cloudron 的沙盒上的应用……找了下应该有内核那边人自己的考虑,不像是下游自己单推的。

    “不是很难实现”在没实现时没什么意义,除非你说话的时候顺便就 commit 上个 patch 把缺的东西补齐了并且人家马上给你 review 和 test 过。
    这是工程常识问题。如果你的立场是把反智合理化,我倒是挺同意有人认为你是民科的。
    FrankHB
        30
    FrankHB  
       2022-06-23 19:45:19 +08:00   ❤️ 1
    @singerll 开源和自由是两回事。按许可证原作者( FSF+OSI )的意思,自由的是开源的,也有不自由的开源。
    只不过被上游 GPL'd 了,不自由也被自由了。

    至于 Google 倒是不用多提了。用 Java 当 userland app 主力开发语言本来就是倒垃圾界最伟大的 innovation 之一,一个 fs 不管怎么用,比起来算什么弟弟、、、

    @Buges 你真要纠结自由的话,我倒是对你站队 Linus Torvalds 还是抠脚皮大汉有点好奇。
    (至少自由软件界)众所周知,这两者在意识形态上是有矛盾的。
    kernel 吸收了 erofs 自然已经够代表了其中之一的立场,也就是这个举动才引入了你所谓的其他问题。你是想骂哪个呢?
    pagxir
        31
    pagxir  
       2022-06-23 20:12:44 +08:00 via Android
    我支持楼主观点。至于 Google 把它设为 Android 13 的默认,并不妨碍这个观点。不要神化 Google ,Google 制作的垃圾也不少,并且进入 Android 然后又被废去的项目也不少,比如早期的来自 busybox 的 dhcpc 在现今的 Android 已经不复存在。还有在严谨的地方使用未经大量测试的代码就是给自己找麻烦,特别是像文件系统这种基础设施。当年 f2fs 也曾红极一时
    Buges
        32
    Buges  
       2022-06-23 20:39:52 +08:00 via Android   ❤️ 1
    @FrankHB “不是很难实现”指的是这些特性只是小小的功能增加,并不是颠覆性的重大改进,以至于在已有的代码库 /架构 /格式下无法实现或很难实现。当然这不是一个客观标准,但作为程序员应该很容易理解上述这句话的含义。
    自由只是立场的一部分,就像有人因为 LP“臭名昭著地”过度复杂、快速迭代、少测试的开发风格而讨厌把 systemd 当作 init ,我也因为国产开源项目“臭名昭著地” KPI 导向、价值观冲突(他们搞开源不是为了 promote freedom ,而是 against freedom ,“自主**可控**”是他们最常说的话)而讨厌他们的代码作为核心依赖。就以这个 erofs 为例,现在他们自己产品线在用,等他们不用了(要搞“自主的“鸿蒙”),后续支持门都没有,KPI 项目没了 KPI 就是烂尾,这在国产开源项目里不是一次两次了。
    我自始至终都没有说这个项目“垃圾”,kernel 当然可以接受,它又不会强制你用; Google 当然可以强制你用,因为用户自主在 Windows 上解包镜像的需求显然不在 Google 的考虑范围。商业公司投钱开发开源社区没理由不接受,redhat 倒了那么多私货大家不也是一边用一边骂。
    Ljcbaby
        33
    Ljcbaby  
    OP
       2022-06-23 20:43:43 +08:00
    @pagxir #31 op: ?
    UrsulaTucker
        34
    UrsulaTucker  
       2022-06-23 20:46:55 +08:00
    @pagxir #31 f2fs 是 userdata 的默认文件系统,Android 13 也是。system 分区的文件系统以前一直是 ext4 。
    FrankHB
        35
    FrankHB  
       2022-06-23 21:18:42 +08:00   ❤️ 1
    @Bugen
    1.不清楚你是否了解为什么被反对,我要指出,你的“小小的”正是体现你拉仇恨的例子。
    如果你实际上不是类似功能的主要的业界大手的马甲,这是自然无礼的,因为对这种实现不显见的内容,光是评估什么算“小小”就是有准入门槛的专业问题,在这里也不是常识。你这样基本仅输出观点而没有具体设计上的论据显得你只是纯粹口嗨。
    连这点局部的观点都没说服力,而直接搭上立场,就更遑论具体工程决策的价值问题了。
    2.小小的和“颠覆性”直接对立,也显得没有常识。
    一般最有意义的工作是首先是不需要颠覆的开创或奠基性工作,颠覆相比下是擦屁股。(举例:牛二定律原始形式就是狭义相对论动力学方程,即便意义再颠覆,发现这个形式的功劳也是算在牛顿而非爱因斯坦头上——因为这部分后者只是复读。)
    其次是填补重要空缺。
    颠覆性工作的价值也是因为它一般同时会有大量产出,也不排除可能有小小不起眼的那种。而就算没颠覆也可以有重要意义。
    3.自由的问题是你的立场在我看来就不明确,像是 FSF 小鬼。
    RMS 否定不了 BSD 比 GPL 更自由,他鼓吹自由软件运动其实相对就是限制一部分用户的自由。所以重点一直对抗专有软件以及反对混淆开源和自由,却从来反不了开源却不自由的部分。你的矛头针对的位置相比起来就很奇怪。
    至于开源大手子的意见是什么呢?流派很多,但整体意见(包括 FSF 也同意)基本就是“爱用用不用润”。你所谓的“provide as is,without liability”根本就是开源共通价值观,哪里有自由软件特色了?
    至于 clearly against the Free software movement 属实是你想多了。

    下面不是针对小鬼,而是抠脚皮大汉自身的:
    RMS 的“自由”观点令不少技术人员反感的问题除了激寒传教(其实也还好),主要是这一部分:
    I think that freedom is more important than mere technical advance.
    虽然引述者经常只是说 his own personal beliefs ,但 FSF 和 RMS 粉基本也就是这样干的。
    这种直接把贬低生产力的意识形态为纲的作风自然很多人不买账。
    最主要的是,很少有 free software movement 鼓吹者认识到,允许用 technical advance 解决实际问题根本也是最优先的 users' freedom (“自由之零”)的一部分。所以这方面就在自己打脸了。
    (题外话,RMS 本人理论水平太屑是一个整体问题——更大的问题还有太怂。有人给 RMS 抠 communist 的帽子,就不敢接,不敢喊出全世界○○○者团结起来来统战,这倒罢了;最后居然还因为 zzzq 灰溜溜地从 FSF 老大的位置润了。这个意义上就算不是晚节不保,形象也真不如 Linus Torvalds 一根中指。)
    退一万步讲,把这里狭义的 freedom 和其它价值排序也应该是其它许多观念中的正当自由。
    凭什么 free software movement 的纲领就位居其上?别的 freedom 就更不重要?“它配?”

    这个意义上 Linus Torvalds 反对 GPLv3 也是很自然的了,因为“有些东西比 FSF 鼓吹的自由更重要”。
    不过这回我还是站 RMS 的 anti-Tivoization 立场,主要是因为看不惯前者事不关己高高挂起+发泄情绪时以外就表演庸俗的实用主义,其次是因为许可证兼容性自身拉仇恨而削弱贡献的实际价值的关系。

    KPI 导向大概这里没人会兹瓷,问题是随便就钦定 KPI 导向和随便替人给不同的 freedom 重要性排序,对正常人来说,是会容易引起近似的家长制 ptsd 症状的。

    我不是很有兴趣诘问你的具体成分,但我建议你还是主动交代清楚点给人信服你不是叶公好龙的小鬼的理由比较好。
    FrankHB
        36
    FrankHB  
       2022-06-23 21:49:48 +08:00
    @Buges 我不得不再纠正你一个浅显的技术错误:你理解的自主可控太奇葩了。

    自主可控表面的核心含义是指要有人理解和能维护代码。更深层次的意义是:如果我要的动,我就有机会动的了。
    其实 GPL 之类在这里自由的保障是很弱的。
    比如给你 10 亿行 GPL's 代码,as-is ,不提供无偿审计服务,你有资源去**看完**?你怎么知道没后门,保证软件会捍卫你的自由?
    更别说改了。
    (我极端反感废话多的代码和逼人废话的语言,也有实现自由的因素。)
    相比之下,所谓的自主可控,先不说方式,至少结果反倒更字面地接近自由。

    我觉得我有资格说这话,因为我比大多数人更极端在这方面进行实践。例如,我现在用的浏览器就是我自己修改的( github/FrankHB/basilisk )自己编译的,顺便实现了上游也不大可能搞定的改工具链。
    当然,我感谢包括自由软件在内的开源软件让我有机会直接改而不是重新自己糊整坨屎,但是很遗憾,“自由软件运动”相比“开源软件运动”(除了历史上提早启蒙)真没在此给我提供什么实质帮助。

    另一方面,方向一开始就混沌,有“重大改进”又如何?
    如果不是 Web 这么坨破烂,我有被迫面对上面这样的屎的需求吗?
    可能有人会说 Web 是很大的贡献。摁,扪心自问,没 Web ,就没有其它更像样的东西了?( Project Xanadu:?)
    没有 UNIX 呢?
    没有 C 呢?
    我应该远比你清楚更多 if 线的潜力,所以更加仇恨某些小人眼里的自由。( Elisp……算了我就当是能力有限,留点口德吧。)具体内容已经举例的就够超纲了就先不多科普了。
    Buges
        37
    Buges  
       2022-06-24 00:07:16 +08:00 via Android
    @FrankHB 1. 当然是因为立场了,显而易见。
    2. 看来你没有理解或装作没有理解那句话的含义。给 Linux 加个文件系统是小小的功能增加,而把 Linux 变成微内核就是颠覆性的重写了,关键点在于这种扩展能否被原有架构体系支持。
    3. 自由软件的理念没什么好掰扯的,这里只表达一个显而易见的事实:某国的价值观是反自由(无论以何种定义)的。当提到“自主可控”的时候,你以为你是这句话的主语,其实你是这句话的宾语。在这里思辨所谓“自由”的哲学概念无异于 nazi camp 里讨论养生。
    回到开源上来说,chromium 毫无疑问是自由软件,但它是反自由的。开源本身并不能代表太多含义,当以“自主可控”为目的搞开源的时候,实际上是为了追求话语权。向开源生态注入更多由你控制和决定方向的代码,就是对开源生态的污染。没有人希望他们用以构建加密信道的 tls 库是由给跨境安全网关提供技术支持的公司维护的。
    FrankHB
        38
    FrankHB  
       2022-06-24 01:18:01 +08:00   ❤️ 1
    @Buges 1. 没有必要多讨论你的被害妄想。这个问题上有立场的话,差异也只是是不是反对你的立场。
    (你要还硬认为这里有人是支持 KPI 项目的立场,那是另一个妄想了。)
    2.明显是你没理解这个含义。
    Linux 加个文件系统是“小小”的功能增加是不是你一家大言不惭我先不提(毕竟硬说的话你“小小”到一堆 return ENOSYS;技术上都能算加了文件系统的实现),变成微内核算颠覆性重写也没什么疑问,但是提供新的实现到底是小不小,根本上跟原有功能多大没关系,除非你证明新增的东西就是基本从原有功能抄了一份没加多少改动。你明显没支撑起你的观点,这是你基本的逻辑硬伤。
    你的进一步的硬伤在于,没认清(或者有意混淆)是不是“小小”和你认为有没有价值这两回事。反正源码树就在那,是不是“小小”就没多少主观判断的余地。要按你的说法上纲上线,我就得怀疑你是根本不懂如何判断工作量的问题强行乱杠了。
    3.明显就有问题。我一开始都没表态自由应该有什么内涵,只是直接跟现有的现象对号入座罢了。你表达的所谓理念不仅没完全分清楚自由和开源非自由,而且连“正统”的抠脚皮大汉式自由都算不上。(黑 RMS 是顺带。)你想欺负这里没人比你熟悉自由软件运动吗?

    “某国”的价值观,某国是自然人?谁授权代表的?

    至于自主可控,倒是你屁股问题了,显而易见。
    不巧,我就认为自主可控的主语是我,因为光说软件,我还刚好真有单人直接“可控”地全生命周期地部署许多我日用的关键应用的能力——必要时我甚至大都能自己实现,阻碍我的只有物理原因;或者就算这个应用不是我自己写的,我至少比这里大多数人(应该包括你)都更能做得到更接近完全自主。
    (讲个笑话,我都有本事以不输于原作者的深度审查许多你们用的开发技术的理论依据到实现,同时重新发明你能想到的绝大多数日用轮子,要是全栈到这个程度的我都做不到可控,这个星球上又有几个人能做得到? RMS 能?他先糊个 operational semantic 检查一下 C spec 的漏洞?)
    正因为你根本就忽略了这种可能性,所以才先入为主地认为需要有某些组织和群体的保障才能保证可控,然后把我和某组织对立起来,却完全没注意到这两种“自主”算得上两个次元的东西。
    不过,就算合二为一,你怎么就那么清楚,我完全没能力收割别人的成果呢?不过是比起我自己亲自“自主”,耗费资和信任成本的开销导致效率比较低罢了。
    你所谓的理念,特别是提到的那个什么 reputation ,说白了也是这种机制:因为自己控制不了(我自然是不能完全控制每个我摸过的软件,而你怕是接近完全不能控制),所以选择相信有 reputation 的人干活承担风险。
    这里于我的问题有两点:
    那群人再怎么有 reputation ,也没义务配合我的需求;
    代码又臭又长,神仙也救不了。
    比开源“多”出来的“自由”的作用就是避免有人藏着掖着而已,同样不能解决这两点的根本困难。(而软件方面,我都不屑于管有藏起来的东西,控制不了隔离就是了,真有本事物理黑我的还用雕虫小技刻意恶心我?所以这种自由对我来说没多大用。)
    你所谓的资源不如我能摸得到的东西,我干嘛觊觎你的屁股?你要在这里被害妄想我也没办法。

    我不反对对自己本事不够自信的用户无脑走群众运动路线。不过,你走的路线现在看来也不是那么合群的了。
    Buges
        39
    Buges  
       2022-06-24 12:04:29 +08:00   ❤️ 1
    @FrankHB 立场之争就是立场之争,就不要在这里犹抱琵琶半遮面的装理客 /中了,等你被赋了红码,再谈被迫害妄想症的问题。第二点我说的很清楚了,你却故意曲解,装看不懂。这里说的一直都是 extensibility 问题,哪句提到工作量了?对于可扩展性支持范围内的,在原有基础上扩展工作量必然小于完全重写,给 Linux 实现一个 zfs 驱动的工作量显然小于重写一个支持 zfs 的内核;而把 Linux 改成微内核显然要比重写一个微内核困难。因而在这里没有颠覆性功能的情况下重新造一个轮子显然是制造更多问题而非解决问题。你在这里掰扯工作量、功能 blabla 的,完全是刻意离题。
    建立加密信道进行网络连接的人,屁股怎么能和给跨境安全网关提供技术支持的公司坐到一起呢? GitHub 有人发 996/icu 却因为普通程序员依赖不能屏蔽掉,这就叫“卡脖子”;而回到 gitee 先审后发、非必要不开源,这就叫自主可控。tls 是不可控的,导致我们无法区分合法和非法流量;如果 tls 是由我们主导设计与实现,那就可以为其添加识别我们想要识别的流量的功能,这就叫自主可控。开源社区是包容的,被某实体设计和主导开发方向的代码越多的进入开源社区,某实体的话语权和可控程度就越高,这就是对开源生态的污染。
    在这里掰扯 RMS 那一套没有什么意义,无论从哪个角度理解,“自由” by definition 就是不被任何实体“可控”。而你所说的别人开源和你“自主可控”并没有什么关系。chromium 代码就在那里,就算你有能力修改任何东西,网站也不会为你适配; Web 标准你也没有任何话语权,Web 的发展方向也不是你“自主可控”的。
    FrankHB
        40
    FrankHB  
       2022-06-24 17:46:28 +08:00
    @Buges 首先,我拒不接受你所谓的立场之争的定性,特别是你还在扣别人“不懂”贼喊捉贼的同时。
    如果非得认为有立场,那么情况就是——你在宣扬反智,以你狭隘的偏见来覆盖正常人对“立场”这个汉语词语的外延的理解;而我和许多其他人不用关心你的“立场”的其它具体内容,在这里就已经站在你的对立面上。
    一般强调立场,同时蕴含着分歧的正当化。即便我并非要摁着你的头让你对不同的不当观点认错,你也应当明白不是所有观点不同都能让你轻描淡写地以“立场”糊弄过去。
    不好意思,我一开始就对所谓的“立场”毫无兴趣;你应当认识到,你没有资格把你的这种狭隘强加于和你平等交流的正常人的观念之上。
    你有意地把类似意识形态为纲的“立场”凌驾于其它分歧之上,贬损其它值得讨论的问题的价值,通俗点讲就是坏。
    有人把你当作民科批判是比较轻描淡写的了;民科主要是指无知的蠢,但平均可没坏到你这个程度。

    其次,你所谓的“装看不懂”的结论,应该就是你的立场论调的消极后果的体现。
    我是在哪里装看不懂,看不懂了啥呢?
    还有哪些方面,有你想到的而我没想到的东西呢?

    第三,我不懂,那么你懂?
    我反复强调过一些解决实际问题的目的出发工程常识的问题。
    之前我早就简单说过这点,你仍然是一副所谓“刻意离题”的态度。
    你的所谓“建立加密信道进行网络连接的人,屁股……”不是更加离大谱的题?
    (老实说我得向 OP 道歉,没能解决主题而跑题了,不过 OP 看来也乐于看到你吃瘪,就先借地方不污染外面了。)
    就先不说你坏了,这里只能认为你是真不懂。不是纸上谈兵,是外行瞎指挥。
    什么叫“扩展的工作量必然小于完全重写”?你搞清楚原始需求了吗——里面有“扩展”什么?
    你的观点充分体现出你在臆测。如果真够有常识,那么就该意识到已有的东西和没有的东西是两回事。除非需求不是直接明确要求扩展,那么扩展现有设施的复用或者另起炉灶的决策相对于需求就是实际细节,两者不是先验地互相可替代的。哪来的“必然”?
    已知这里的需求明确就不是“以 squashfs 为基础扩展出新的 fs”(撑死就是扩展 Linux 的现有的更加基础的设施),新的工作和已有的 fs 是并行的。所以度量工作量根本和已有的同类工作无关,看的就是这件工作自身——要么是详细的设计和实现的计划,要么干脆就是看结果。你这么做了吗?
    反过来,如果你直球钦点 erofs 缺少进步而接近无效劳动,乃至就是“垃圾”,我在这方面不会那么鄙视你。毕竟我还没空整体评审这些方案的不同,所以你大可以生造我不清楚的细节——但这方面的思路看来已经被其它回复堵死了。

    第四,我没兴趣继续跑题,不过揭你逻辑的短很过瘾,那么继续。

    > 这就叫“卡脖子”
    > 这就叫自主可控
    > tls 是不可控的
    > ……这就叫自主可控

    给出引用来源,或者不是你原创研究脑补的论据。

    > 导致我们无法区分合法和非法流量

    “我们”是谁?

    > 开源社区是包容的

    提醒你一下,这不是事实判断。有疑问可以另外解释。

    > 被某实体设计和主导开发方向的代码越多的进入开源社区,某实体的话语权和可控程度就越高,这就是对开源生态的污染。

    这是你的“合理推测”。不过你确定你所谓的某实体有能力做到什么程度呢?

    > 在这里掰扯 RMS 那一套没有什么意义
    看来你是反 RMS 咯?
    我提 RMS 除了(口嗨)黑 RMS 外,主要就是拿来当对号入座的标靶。你亲口承认否定了自由软件运动的最主要流派的立场(这里是正儿八斤的“立场”),表明你其实就是叶公好龙或者小鬼,如此甚好。(反正我也不和 RMS 穿一条裤子。)

    > “自由” by definition 就是不被任何实体“可控”

    这就是你被害妄想式的捉急汉语水平了。
    容我直接鄙视你一下:不由我“可控”,谁替我保证我的自由?只能指望物理定律吗?
    你凭良心说,实际在跑的代码,里面你自己能看清楚的部分,不比别人(甭管这些人是什么立场,反正不可能是你的克隆体,更没义务和你的思想同步)替你亲自看过摸过的更“可控”?
    哦,你要是没本事看懂,那倒是一样了。不过,这样的你准备损失多少热脸蹭“自由”的冷屁股呢?
    当然,你还可以强辩,虽然自己看不懂改不掉管不了,但是别人和别人之间也是不一样的。你选择以“立场”决定哪些人更值得相信,那是有效接近自由的趋利避害。
    逻辑上这没问题,不过至少我是有资本自然鄙视这些劣等方案的。
    你能臆想出来的谁比谁更值得信任,很大程度就不是客观实在。大家都是 as-is ,谁需要在乎你?
    说到底,你的概括“立场”的能力,撑死仅限识别有限的极个别的恶意,而且因为你不是什么重要的目标才正好能让你以为有效(虚假的接近“自由”的安全感)而沾沾自喜。
    反过来,我原则上就不屑区分有没有被恶意针对;无意的 bug 一样会坑到我,而让我严重损失自由。直接按风险和后果排序,把可能的威胁一个个摁死,是更直接的做法。
    标识恶意是一种维护自由的手段,本质上和其它更积极地追求自由的目的没有什么区别,但当不被明显针对时,积极排除恶意的性价比极其不划算。就像社工也是攻防手段的一种,跟利用密码学实现一些目的上本没什么高下,但作为防守方,当明显的低级错误被排除而不值得被针对后,无视弱口令风险而继续盯着这块不放,就极其愚蠢了。
    那么在这里,到底是谁更能接近自由(你说的,不管怎么定义)?
    FrankHB
        41
    FrankHB  
       2022-06-24 18:08:18 +08:00
    @Buges 关于 Web ,你有一点说的没错:Web 不是我自主可控的。起码出现终产者前,没有一个个人做得到。
    从计算资源分配来看,不可控符合一般的伦理:骨干网和 Web 服务器里没我几乎没怎么投入资源去建设,我也没脸直接要求控制权。
    但这里限制我自由的根本不是因为我缺少资源的所有权,而是侵害自由的实体对我合理利用资源的干预。
    理想情况下,健全的网络应该具有自发维护访问自由内容的拓扑结构。现在呢……随便控制个跟你表面八竿子打不着的关键节点就能让你断网。
    那么结论就是,不自由的一部分来自 Web 的天性;要鄙视不自由,就顺带把 Web 鄙视在内了。
    那么为什么不自由的 Web 还能 dssq 变成无处不在的基建呢……是谁在容忍不自由的扩散?
    (还记得我提过么,Web 不是没有替代品。)

    顺便,我能修改 Chromium (虽然太屎了我没选择改这个),实现的是在我控制的计算设备上的自由。
    Chromium 相对于其它同类项目更加被鄙视,一个重要原因恰恰就是在 Web 之外更加实际有效地剥夺用户的自由(其实要论对 W3C 和 TC39 之类的影响,该集中鄙视的是 Google 而非 Chromium 单独一个项目)。例如,假定多任务操作系统上 Chromium 就比其它应用更“高贵”而肆无忌惮地优先抢占内存。
    这种直接伪装人畜无害地竞争计算资源的策略比个别恶意限制你访问还离谱多了,因为无差别恶心所有用户,而其中大部分人是没能力改变这种状况,甚至根本发现不了损失计算资源的原因,搞不好还会嘲讽捍卫自由者:“内存就是应该拿来用的!”
    Web 不过是这种恶心状况的放大版罢了。这方面我只能建议你先扫自家门前雪罢。
    (其实这种状况何止 Web ……Android:???)
    Buges
        42
    Buges  
       2022-06-24 21:36:54 +08:00
    @FrankHB 哈哈,装理客中累不累啊,你眼中的“自主可控”是你“可控”其他实体,我眼中的“自主可控”是其他实体“可控”我,这就是立场之争。说你装看不懂,当然不是说你不懂。而是你懂却装做没懂,通过故意曲解的方式来攻击。这里的需求(读写缓存、可选压缩等功能)显然不是 squashfs 在不对整个代码库进行大量的重写、重新设计 on disk format 的情况下无法实现的,也就是在可扩展的范围之内。这个结论很容易从其已经支持的特性中得到。当然, 这来自于工程经验,而非严格证明,所以你当然可以扯一些不严谨性挑刺,但这些没有意义,因为你也无法严格证伪。
    我可一直没有装做理客中,故意掩盖不中立的、带有立场的、biased 评价标准,但也没有忽视客观事实,引入这些代码当然存在好处,但(从我所在的立场评估)害处更多。所以我一直没有说它“垃圾”,而是更专注于其带来的 tradeoff,从其他方面寻找缺点。
    当说道“自主可控”的时候,指得自然是此词语在其广泛使用的场景中所指代的含义,而你却在抠字眼,试图偷换概念,把宏大叙事中的“自主可控”的主语换成自己,尝试反过来把宏大叙事中的侵犯自由的“自主可控”论证成支持自由的含义,这样有意思吗?诡辩不能改变客观事实,也毫无说服力可言。
    至于 RMS 之类的,和这里的主题根本没有任何关系,关于 RMS 的那些争议属于自由派内部争议,而这里的主题则是反对自由的问题,八杆子打不着。
    后面则是一些正确的废话,无意的 bug 和有意的 adversary 的区别显而易见,当然你也可以继续装看不懂并让我严格证明“显而易见性”。
    再后面 Web 说的是对标准的话语权,你又偷换到了运行架构上。任何人都可以修改 chromium,但没有人能和 google 争抢决定 web 应该是什么样子的权力,web 能做什么、不能做什么,有什么 API 、没有什么 API,都是由 google 决定的。你在与 google 无关的平台上 host 自己的网站,服务与 google 无关的用户,但是你使用的格式、代码要怎样运行还是由 google 决定。这就是对“不断向开源生态注入由某实体维护和决定开发方向的代码,从而不断增加话语权”能做到什么程度的最具代表性的示例。当这个实体处在对立立场的情况时,就可以把这种行为看做污染了。
    FrankHB
        43
    FrankHB  
       2022-06-25 01:37:48 +08:00
    @Buges 不累,因为你所谓的理客中的姿势,我真一点都不需要装。
    真说累,我倒是得更想装得不像天龙人一点,免得从能做的事的差距就诱使旁人理客中地想象到你为何不得不比我无能狂怒得多了。但我并不会因为比你多做一些事而愉悦,于是这样会显得我试图与你的平等对话是装的,而两边都是小丑。
    何必呢?

    你是不是想要说服反对你意见的人呢?大约你自己也不信能有多成功吧。
    更容易让你容易陷入抑郁的是,与你一样想的信徒到处都有,不缺你一个,但你又没有能力团结他们来否定异教徒。

    你对需求理解也是一开始就错得离谱。
    我不清楚为什么评估工作量时有意无视结果,推测需求你却反过来根据别人事后的概括的优势去做不靠谱的逆向了。
    这种不可靠是可以让你的主要结论归于虚无的,你却要用“工程经验”瞎猜,可真是大聪明了。
    可能又只是你彻底外行不懂罢,以至以为工程问题只有技术合理问题了。
    其实原始需求是什么根本找不到确切公开资料,反正搞不到一手需求文档(这可不开源)。但反过来“原始需求不是什么”却相对容易推断。很显然完整版需求不会只是你提的几个细节。阴谋论一点,原始需求其实真是个 KPI package 也说不定,而“读写缓存、可选压缩等功能”只是上面的负载(这当然比改注释的 KPI 高明多了)。至于为啥恰好是这几个?正是“工程经验”支持这种现象未必就是技术原因造成的,甚至可能只是纯粹的偶然。
    其实是不是支持阴谋论我无所谓,因为(1)我不是当事涉众,不对这里的决策负责也不怕因此风评被害(理客中不需要装+1 );(2)查无实据,也拐不住你的“立场”问题上。
    (2)也许对你不显然,所以多说一句:照你的思路类推理解,UNIX 一开始多出来的功能不也是改改 Multics 之流就能实现的么,那么新设计个 UNIX 重复造已有轮子又有什么用呢?不是 UNIX 设计者立场有问题,妄图分裂开发者社区,破坏 Bell Labs 和外部的大好合作局面?
    当然我没钦定 erofs 能取代 squashfs ,但相对地,你也没什么技术经验能证明这一定不会发生。

    这里我不会采取 biased 的立场是很自然的结果,因为两边都不是我的工作,对我也没有什么明确威胁。而一般来说,大众也会觉得多一些同类竞争扩大选择余地是好事(所以你的观点在这里又脱离了群众路线)。不过看起来你似乎觉得 erofs 对你有威胁让你以后的可用技术不安稳了(要真如此那评价还真是高啊)?
    但那充其量也只是你的一个具体立场,这可不会让反对你观点的人的立场自动和你对立互补。要有跟你对立的立场,也是我尤其看不惯你这种胡搅蛮缠,禁止跟你不一样观点的人就必须相反地 biased 的脑补罢了。这种常识还望周知。

    你对“自主可控”的妖魔化的执着倒是出乎我的意料了。我不是 big brother 本 brother ,不表示当局意见,宣传口上也另说,但是实际上管得着这东西的,我还真没见过(敢)像你这么自嗨的。虽然爱信不信,不过起码别把别人都当傻子。
    (或者你说说你能脑补出想按你这样“自主可控”的东西现在具体确切包含哪些么?)
    所以你强调的“广泛使用的场景中所指代的”(暂且不说“含义”)对我就只是个刺耳的笑话,偏偏你还绕不开了……我能说啥呢?
    我只能说……“自主”“可控”本来就是有单独内涵的,你强行专名化这样毒害汉语的行径,以及眼里只有“宏大叙事”而否定任何个人对此的工作的态度,我坚决反对。
    “诡辩不能改变客观事实”,原话奉还。

    关于 RMS 的那些争议的评论成功体现了你不算 RMS 那些自由派里的正经人,只是碰到了一些皮毛的小鬼的事实。
    要真是他们的同志,那真不该有你那么离谱的一些“立场”错误。
    这说明你所谓的“自由”跟自由软件运动的自由根本也八竿子打不着。
    我本也没指望这种近似钓鱼的提法能有什么成果,但你自己上钩就别怪我咯。

    你要区别你无意的 bug 和有意的 adversary 是你的实现问题。这种实现明显浪费资源而低效,在我看来,算是近乎 feature of last sorts 。你只会依赖这种策略,是你比较初级或者说无能的一种表现。
    我本不需要嘲讽奚落你而更应该同情你没有选择的余地,以至于都没有余裕对付意外的 bug 了(即便可能真的更危险)。但是你非得以“继续装看不懂”的方式反客为主、颠倒黑白,那我只能说:你大约更接近野蛮的猴子而不是文明的人类罢。
    这不显而易见么?

    至于 Web 的“标准的话语权”,你更找错人了。我黑 Web 好多年了……
    要我说,Web 这种没法自然维护自由、自动被集体主义的玩意儿就不该作为标准,从成了事实标准起就直接都能当 enemy 了。或者你可以当这里有个破窗效应。
    你现在才闻到了反乌托邦的味道,晚了。
    就你这样的认识,也好讨要别人施舍的“自由”?你觉得你这样的觉悟不是比我更弃疗么?
    而且不说“开源生态”先天内讧的基因,Web 还真代表不了几个有全局威胁性的开源生态。
    Web 真烂了又咋地,整个扔了不行?至于 IANA/ICANN 那些,没那么好渗透,倒是不断被垄断企业通过应用业务方式架空了。
    我现在不太热衷关心这整坨破烂,除了觉得没救,主要是因为 Google 在进一步做坏事上本事不够,光是基建方面,什么 Chromium OS 什么 Fuchsia 默认当作和 Go/Dart 一样已经寄了。相对来讲我更担心 Apple ,更甚于各种 big brother 之上。
    这年头任何能被外部抢到话语权的团体比起水泼不进的垄断企业来讲,这方面都是弟弟。
    Buges
        44
    Buges  
       2022-06-25 12:01:51 +08:00 via Android
    @FrankHB 您吉祥😅
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1706 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.