2006年December月 发布的文章

三频GSM手机也不是通行天下的。

国内通常销售的是三频手机 GSM900/1800/1900,有些双频的 GSM900/1800 机型不能拿到外面比如美国用。不过三频手机也不是美国通行的,美国基站实际上是 850/1900MHZ 的。三频手机只在 1900 和美国基站有交集。所以遇到偏远山区之类需要相对长波的地方,三频手机就表现为信号差或者干脆没有信号。这个很好的解释了我的手机为啥一进入 Yosemite 山区马上没有任何信号,但是其他人的 Cingular 网络都有信号可以打电话,应该就是我从国内带来的三频 K700C 不支持 850MHZ 频段导致的。 因此如果打算带手机到美国用,最好找四频手机,要不就还是算了,在米国买一个好了。

今天才知道原来SD卡的写保护是在读卡器上面做的

我手机里面的 SD 卡壳碎掉了,写保护开关掉了出来,可是我怎么看怎么看不出来后面有触点。于是直接把卡插回去,发现变成只读的了,才醒悟过来这个东西原来是像录音磁带一样,电路上面没有任何保护,全都是读写器在判断。

又长见识了。可惜这个卡也没法用了,总不能把手机读卡器拆开破坏读写限制开关吧,SD卡比手机可便宜多了。打算把它焊到 linksys 路由上面算了,回头晚上可以连夜下点不太大的东西。

谜底揭晓:只用一个root bash重启系统

因为我机器是 FC 默认 kernel,默认 kernel 编译时候带了 magic sysrq。这样就很简单了:

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

具体原因请 google 以上两个文件名就知道了

另外以前还干过类似的事情,当时是因为 NFS server 断了,怕 reboot 起不来,于是决定恶性重起。
当时的做法是

echo 1 > /proc/sys/kernel/panic
echo 1 > /proc/sys/kernel/panic_on_oops

然后想办法触发一个 kernel oops,就可以重启了。

让系统

提问:如何只用一个root bash重起Linux系统

假设你远程连着一个 Linux 系统 shell, 这个 shell 是 root shell, 但是任何其它外部命令都没得用. 如何将这台 Linux 系统重起呢?这个 Linux 是默认安装的 fedora core, 没有自己重新编译 kernel 之类事情。

这个问题的背景是这样的,最近远程升级一台 FC2 -> FC6, 因为 FC3 有 udev 问题,FC4 有 non-ext3 root 问题,所以决定不重起一路冲上 FC6,结果忘记了 FC5 的 glibc 2.4 强迫需要新版本 kernel,于是升到一半就挂了。这时候唯一能用的命令是 bash 内部命令和静态链接的程序,可惜平时没有想到会出现这样的事情,没有储备一个 busybox 之类的东西,系统上面仅有的一些静态链接命令都是 dmraid 之类搞硬盘的。其他命令统统不可用。

这个问题的答案我已经找到了,聪明的读者们,你们知道我是怎么做的吗?请在留言里面发表你的办法.

最近评论

时光机

其他