Monthly Archives: November 2012

【小白】今年下半年遇到的白痴问题外加rm -rf /

我使用的手机是Motorola Atrix 4G。

由于官方的ROM一个比一个坑爹而且连个正式版ics都没有,所以果断投向了cm行列。

目前选用的ROM是 cm-10-20121029-UNOFFICIAL-epinter-olympus.zip。硬件加速问题是有的,所以osu和其他游戏别指望了。至于B站,安装客户端之后再安装B站的Tegra2解码包也还凑合。这些都不是重点,爬梯子才是我的重要需求。

原以为l2tp-ipsec和cisco-ipsec都是无解的,后来在vps上把openswan换了racoon之后意外地发现居然都挺好使了……

唯一困扰我的就是openvpn。如果尝试用openvpn for android连接,错误如下图: cannot<em>open</em>tun

对了。为什么说今年下半年呢?因为我9月份刚去东莞的时候,想初步尝试openvpn时,就和 @wzyboy 说过这个问题。当时他叫我ifconfig看看有没有tun0。无知的我就真信了,一看没有tun0,就以为是ROM不支持了。现在回头看看自己真的很傻很天真——就算有也是连上openvpn才会有啦。

@forcy说过正确的判断方式是查看有无/dev/tun或者/dev/net/tun。而且自己在手机里zcat /proc/config.gz | vim -之后/TUN果断发现CONFIG_TUN=y,这才回过头来重新看上面那张图的错误信息。既然kernel是支持的,那就只有是ownership不对了。

试着ll /dev/tun,发现user:group permission如下:

u0_a39@android:/dev # ll /dev/tun
crw-r-----    vpn vpn 10, 200 2012-11-25  11:53   tun

刚才去问 @wzyboy 他的N7的/dev/tun的权限如何,一番口水之后得到答案是system:vpn 660 于是chmod && chown之后

u0_a39@android:/dev # ll /dev/tun
crw-rw-----    system  vpn 10, 200 2012-11-25  11:53   tun

再试,居然可以用了……

没想到学习了将近半年的Linux管理,现在依旧会栽在权限上,真是233……

另外最近才发现cm有初始化脚本的。/system/etc/init.d/XXuserinit便是,xx是两位数。根据这个内容,我可以写个userinit.sh/data/local下面,然后手机重启就能自动修正权限了。

#!/system/bin/sh
chown system:vpn /dev/tun
chmod 660 /dev/tun

顺便我加上这段的时候,openvpn已经被封得差不多了。不知道手机能不能static key。


昨天又把vps给rebuild了。大概是由于以前安装/卸载php的某些module的package的时候突然中止(虽然我确信没有做过任何形式的^C),导致dpkg信息混乱。好不容易前天 @wzyboy 帮我修好了,昨天中午睡醒一看cron daemon刷了我40+个警告,全是关于php某某库的。后来一气之下tar cvzf了整个/etc之后rsync -avP扔老vps上就开始试试传说中喜闻乐见的

rm -rf / --no-preserve-root

发现所谓chattr +i / 根本就是扯淡嘛!

至于结果嘛,鉴于很多大大喜欢说“你猜”“去试试就知道了”之类的话,在这里就剧透一下好了。/sys/proc之类的因为系统正在运行,所以肯定是删不掉的。

rm: cannot remove `/vmlinuz’: Permission denied
在这里停下 然后 ^C
然后 发现/bin里面东西都找不到了
然后就没有然后了

值得一提的是,这个时候之前开的ssh -D依旧在运作……也就是我还在翻的状态,amazing…

好吧,我承认我真够有聊的。