Open FurryR opened 1 year ago
重启手机,看看数据有没有丢失吧。
看标题,本来以为又是 MIUI 上 mount
相关的问题,结果是 “未 umount 就 remove” 的危险行为。
一时间竟不知道如何评价。
想了想,之后搞个知识问答吧。
假设前方有座山,山上有老虎,我在山脚下围了一圈,放了无数块告示牌,牌上写着:“⚠ 山上有老虎,请远离此地!” 人们往往对警告视而不见,甚至更兴奋了:“嘿嘿嘿,😽大猫猫,我的大猫猫🤤”。
把它改成答题形式的话,会变成题目:进了山后,以下哪种行为对一般人有利? 如果你选择了 “我和山中的小可爱开心地玩耍,它温暖了我的心,我也温暖了它的肚皮” 这个选项的话,那么你将失去进入此山的资格。
chroot 容器的 挂载 sd 默认会使用操作系统的 mount
, 并以 root 权限挂载特定目录。
默认是可读写挂载,而不是只读挂载。
当然,你也可以禁用掉挂载 sd 的选项,然后手动配置只读挂载。
mount[0]=true
media_ro[0]=true
mount_src[0]="/data/media/0/Download"
mount_dst[0]="/media/sd"
这些其实都不是关键,关键的是后果。
在可读可写挂载的前提下,如果不先卸载 (umount
),就直接删掉 (remove) 容器以及相关目录,那造成的后果是难以想象的。
了解了,谢谢解惑。
但或许还有一种方式可以解决问题。
和 proot 一样,chroot 的容器也是保存在 Termux 下的,在安卓下直接删除 Termux app 会导致严重的后果。
但既然有 root 权限了,用户可以选择将 chroot 容器保存在 /data/local
目录下。
这样,删除 Termux 也不会导致容器被删除,可能会减少一些误操作的后果。
(当然,这可能不是一个好的替代方案。)
山上有老虎,人避开是一种方法,请人来收容又是另一种办法了。
~捡个猫,家人们!它想跟我回家!~
此方法参照了 Kali Nethunter 容器的保存方式。
你说的对。 默认的 chroot 容器位置不应该是 app 的数据目录,之后可能会增加一个自定义容器目录的选项。
Are you rooted?
Yes
Desktop environment
None
Container type
chroot
Configuration
Describe the bug
我使用 chroot 容器安装 Kali Linux,并且在映射时选中了 /sdcard(不推荐的),安装过程一切正常。
但在安装完成后我又想到了一个更好的方案,于是我直接删除了 Termux App,并打算使用 Kali-Nethunter(这个问题跟其无关)。
但随即我发现手机变砖,因为
/sdcard
,/storage/emulated
中的链接全部失效了。Screenshots
无法提供任何截图,因为内部存储已损毁。
How to reproduce
/sdcard
到容器内部时,选择/sdcard
(不推荐)。其余选项任意。任何跟内部存储有关的程序将崩溃并无法正常使用,比如 文件极客,ZArchiver Pro等。
Expected behavior
删除 Termux App 时不会导致内部存储链接丢失。
亦或者,在选择映射时二次确认。
Error Logs
N/A
Additional context
N/A