标题: 原来 mount --bind 可以作用于单个文件
时间: 2020-06-09发布,2020-06-09修改
mount --bind
是Linux(包括root后的安卓)中非常有用的命令,它可以用一个文件夹的内容临时覆盖另一个文件夹的内容,在umount
的时候内容就会还原。
因为mount
本来是用来挂载设备到目录的,我一直以为mount --bind
也只能作用于目录,直到我看到了这个:
opts_overwrite_resolv
:如果设置为 true,则表示直接使用 I/O 重定向方式修改/etc/resolv.conf
文件,这个操作是不可逆的,但是可移植性好;如果设置为 false,则表示使用mount -o bind
魔法来暂时性修改/etc/resolv.conf
文件,当 ss-tproxy stop 之后,/etc/resolv.conf
会恢复为原来的文件,也就是说这个修改操作是可逆的,但是这个方式可能某些系统会不支持,默认为false
,如果遇到问题请修改为true
;此选项留空则不操作/etc/resolv.conf
。
来自 https://github.com/zfl9/ss-tproxy#%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E
自己试了一下,果然可以,妙不可言:
这样一来,“想要临时修改某文件”、“分区是只读的没法修改”等各种问题都迎刃而解了。
而且我试了一下,在安卓上也是可用的。不过安卓会为每个app设置单独的挂载命名空间(mount namespace
),只有当前程序能看到mount --bind
的更改,其他程序看不到。
『回复列表(6|隐藏机器人聊天)』