Win 下 打开 EROFS img 工具

2022-06-22 23:25:12 +08:00
 Ljcbaby
一直有习惯手动制作 Magisk 模块屏蔽部分 MIUI 的系统应用,但这次解 K50 的包出问题了,7zip 打不开 system.img

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


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

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

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

@Buges 你真要纠结自由的话,我倒是对你站队 Linus Torvalds 还是抠脚皮大汉有点好奇。
(至少自由软件界)众所周知,这两者在意识形态上是有矛盾的。
kernel 吸收了 erofs 自然已经够代表了其中之一的立场,也就是这个举动才引入了你所谓的其他问题。你是想骂哪个呢?
pagxir
2022-06-23 20:12:44 +08:00
我支持楼主观点。至于 Google 把它设为 Android 13 的默认,并不妨碍这个观点。不要神化 Google ,Google 制作的垃圾也不少,并且进入 Android 然后又被废去的项目也不少,比如早期的来自 busybox 的 dhcpc 在现今的 Android 已经不复存在。还有在严谨的地方使用未经大量测试的代码就是给自己找麻烦,特别是像文件系统这种基础设施。当年 f2fs 也曾红极一时
Buges
2022-06-23 20:39:52 +08:00
@FrankHB “不是很难实现”指的是这些特性只是小小的功能增加,并不是颠覆性的重大改进,以至于在已有的代码库 /架构 /格式下无法实现或很难实现。当然这不是一个客观标准,但作为程序员应该很容易理解上述这句话的含义。
自由只是立场的一部分,就像有人因为 LP“臭名昭著地”过度复杂、快速迭代、少测试的开发风格而讨厌把 systemd 当作 init ,我也因为国产开源项目“臭名昭著地” KPI 导向、价值观冲突(他们搞开源不是为了 promote freedom ,而是 against freedom ,“自主**可控**”是他们最常说的话)而讨厌他们的代码作为核心依赖。就以这个 erofs 为例,现在他们自己产品线在用,等他们不用了(要搞“自主的“鸿蒙”),后续支持门都没有,KPI 项目没了 KPI 就是烂尾,这在国产开源项目里不是一次两次了。
我自始至终都没有说这个项目“垃圾”,kernel 当然可以接受,它又不会强制你用; Google 当然可以强制你用,因为用户自主在 Windows 上解包镜像的需求显然不在 Google 的考虑范围。商业公司投钱开发开源社区没理由不接受,redhat 倒了那么多私货大家不也是一边用一边骂。
Ljcbaby
2022-06-23 20:43:43 +08:00
@pagxir #31 op: ?
UrsulaTucker
2022-06-23 20:46:55 +08:00
@pagxir #31 f2fs 是 userdata 的默认文件系统,Android 13 也是。system 分区的文件系统以前一直是 ext4 。
FrankHB
2022-06-23 21:18:42 +08:00
@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
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
2022-06-24 00:07:16 +08:00
@FrankHB 1. 当然是因为立场了,显而易见。
2. 看来你没有理解或装作没有理解那句话的含义。给 Linux 加个文件系统是小小的功能增加,而把 Linux 变成微内核就是颠覆性的重写了,关键点在于这种扩展能否被原有架构体系支持。
3. 自由软件的理念没什么好掰扯的,这里只表达一个显而易见的事实:某国的价值观是反自由(无论以何种定义)的。当提到“自主可控”的时候,你以为你是这句话的主语,其实你是这句话的宾语。在这里思辨所谓“自由”的哲学概念无异于 nazi camp 里讨论养生。
回到开源上来说,chromium 毫无疑问是自由软件,但它是反自由的。开源本身并不能代表太多含义,当以“自主可控”为目的搞开源的时候,实际上是为了追求话语权。向开源生态注入更多由你控制和决定方向的代码,就是对开源生态的污染。没有人希望他们用以构建加密信道的 tls 库是由给跨境安全网关提供技术支持的公司维护的。
FrankHB
2022-06-24 01:18:01 +08:00
@Buges 1. 没有必要多讨论你的被害妄想。这个问题上有立场的话,差异也只是是不是反对你的立场。
(你要还硬认为这里有人是支持 KPI 项目的立场,那是另一个妄想了。)
2.明显是你没理解这个含义。
Linux 加个文件系统是“小小”的功能增加是不是你一家大言不惭我先不提(毕竟硬说的话你“小小”到一堆 return ENOSYS;技术上都能算加了文件系统的实现),变成微内核算颠覆性重写也没什么疑问,但是提供新的实现到底是小不小,根本上跟原有功能多大没关系,除非你证明新增的东西就是基本从原有功能抄了一份没加多少改动。你明显没支撑起你的观点,这是你基本的逻辑硬伤。
你的进一步的硬伤在于,没认清(或者有意混淆)是不是“小小”和你认为有没有价值这两回事。反正源码树就在那,是不是“小小”就没多少主观判断的余地。要按你的说法上纲上线,我就得怀疑你是根本不懂如何判断工作量的问题强行乱杠了。
3.明显就有问题。我一开始都没表态自由应该有什么内涵,只是直接跟现有的现象对号入座罢了。你表达的所谓理念不仅没完全分清楚自由和开源非自由,而且连“正统”的抠脚皮大汉式自由都算不上。(黑 RMS 是顺带。)你想欺负这里没人比你熟悉自由软件运动吗?

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

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

我不反对对自己本事不够自信的用户无脑走群众运动路线。不过,你走的路线现在看来也不是那么合群的了。
Buges
2022-06-24 12:04:29 +08:00
@FrankHB 立场之争就是立场之争,就不要在这里犹抱琵琶半遮面的装理客 /中了,等你被赋了红码,再谈被迫害妄想症的问题。第二点我说的很清楚了,你却故意曲解,装看不懂。这里说的一直都是 extensibility 问题,哪句提到工作量了?对于可扩展性支持范围内的,在原有基础上扩展工作量必然小于完全重写,给 Linux 实现一个 zfs 驱动的工作量显然小于重写一个支持 zfs 的内核;而把 Linux 改成微内核显然要比重写一个微内核困难。因而在这里没有颠覆性功能的情况下重新造一个轮子显然是制造更多问题而非解决问题。你在这里掰扯工作量、功能 blabla 的,完全是刻意离题。
建立加密信道进行网络连接的人,屁股怎么能和给跨境安全网关提供技术支持的公司坐到一起呢? GitHub 有人发 996/icu 却因为普通程序员依赖不能屏蔽掉,这就叫“卡脖子”;而回到 gitee 先审后发、非必要不开源,这就叫自主可控。tls 是不可控的,导致我们无法区分合法和非法流量;如果 tls 是由我们主导设计与实现,那就可以为其添加识别我们想要识别的流量的功能,这就叫自主可控。开源社区是包容的,被某实体设计和主导开发方向的代码越多的进入开源社区,某实体的话语权和可控程度就越高,这就是对开源生态的污染。
在这里掰扯 RMS 那一套没有什么意义,无论从哪个角度理解,“自由” by definition 就是不被任何实体“可控”。而你所说的别人开源和你“自主可控”并没有什么关系。chromium 代码就在那里,就算你有能力修改任何东西,网站也不会为你适配; Web 标准你也没有任何话语权,Web 的发展方向也不是你“自主可控”的。
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 一样会坑到我,而让我严重损失自由。直接按风险和后果排序,把可能的威胁一个个摁死,是更直接的做法。
标识恶意是一种维护自由的手段,本质上和其它更积极地追求自由的目的没有什么区别,但当不被明显针对时,积极排除恶意的性价比极其不划算。就像社工也是攻防手段的一种,跟利用密码学实现一些目的上本没什么高下,但作为防守方,当明显的低级错误被排除而不值得被针对后,无视弱口令风险而继续盯着这块不放,就极其愚蠢了。
那么在这里,到底是谁更能接近自由(你说的,不管怎么定义)?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/861502

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX