我的域名注册商被和谐了

February 28th, 2009

前两天把 rainux.org 的 DNS 服务器设置为 DreamHost 的服务器后,发现域名管理方便了很多,遂决定把 rainux.com 的也改过来。没想打开域名管理页面后只得到一个空白页面,上面只有一句话——“您的网站没有提交ICP备案号,所以被关闭!!!”

一开始以为是我被和谐了,仔细一看原来是我的域名注册商 bytescn.com 的网站被和谐。哎,幸好 rainux.org 的 DNS 已经在 DreamHost 上了,暂时不用担心。不过以后怎么办?

标签:

Intel Mac 安装多系统的方法网上有很多文章介绍,大家应该不陌生了。本文试图解释整个过程背后的原理和关键问题,以及介绍我自己的分区方案和实践经验,希望它们能让你在玩 Intel Mac 多系统时不像我当初那样浪费过多时间。以下内容基于在一台 MacBook 上安装运行 Mac OS X 10.5、Debian GNU/Linux lenny 分支和 Windows XP 的三系统实践,所以某些细节可能会不适用于其它情况。

背景

理论上,所有基于 Intel CPU 的 Mac 计算机(包括 MacBook,Mac Mini 等)在安装过 Mac OS X 10.4.6 或更高版本的 combo update 和 firmware update 后都应该可以安装运行 GNU/Linux 和 Windows 2000 以上版本,但是有一些限制。

众所周知 PC 使用 BIOS 作为硬件 firmware 和操作系统的中间层,并且使用 MBR 分区表作为硬盘分区方案。而 Intel Mac 与普通 PC 最大的区别就是使用了 BIOS 的下一代替代品 EFIGPT 分区方案。EFI 和 GPT 都分别向后兼容于 BIOS 和 MBR 分区表,所以可以支持基于 BIOS 和 MBR 的操作系统,例如 GNU/Linux 和 Windows。

简单的说,GPT 通过包含一份 MBR 分区表来兼容 MBR 分区方案(参考 Wikipedia 上的 GPT 页面)。GPT 的内容可以被同步到 MBR 分区表中,所以当硬盘使用 GPT 分区方案时,GPT 里的分区可以通过 MBR 分区表被访问到——这是在 Intel Mac 上安装基于 MBR 分区表方案的操作系统的关键。但是 MBR 分区表只能包含最多 4 个主分区(扩展分区相当于一个主分区,可以在其上划分多个逻辑分区),而 GPT 没有扩展分区和逻辑分区的概念,现有的工具在同步 GPT 到 MBR 分区表时也不会做额外的转换,所以实际上只能同步 GPT 上的前 4 个分区到 MBR 分区表中。而 Intel Mac 上运行 Windows 有一个奇怪的限制,Windows 必须被安装到 MBR 分区表中的最后一个分区上,否则会在启动时提示找不到 %SystemRoot%\system32 目录下的某文件

虽然 Mac OS X 附带的 Disk Utility 可以对 GPT 分区方案的硬盘进行分区,但是有时会有莫名的问题,不建议使用。GNU Parted 是我的选择,它对 GPT 分区方案支持比较好。另外还需要 rEFIt 中的 Partitioning Tool 来同步 GPT 和 MBR 分区表,同时我也使用 rEFIt 作为多系统引导管理器,相对于目前的 GRUB2 来说,它更成熟并且非常容易使用,还拥有很漂亮的图形界面。

GNU/Linux 内核支持 GPT,因此启动之后可以访问 GPT 上的所有分区。但是 GRUB 不支持 GPT,所以 GRUB 和 GNU/Linux 内核必须被安装到一个 MBR 分区表里的分区上。Windows 完全不支持 GPT,所以始终只能访问 MBR 分区表上的 4 个分区。

双系统的特殊情况

在典型的双系统情况下,你可能只有三个分区,Mac OS X 的两个和 Windows 的一个。使用 rEFIt 同步 GPT 和 MBR 分区表后,工作很正常。然后如果你在 Mac OS X 里创建了另外一个分区,导致同步 GPT 和 MBR 后 Windows 安装分区不再是 MBR 分区表中最后一个分区,此时 Windows 就会像上文中提到那样无法启动。解决方法很简单,使用不支持 GPT 的分区工具将这个新创建的分区在 MBR 分区表中删掉即可。注意,仅仅是在 MBR 分区表中删掉,在 Mac OS X 里通过 GPT 你仍然可以访问它。

不支持 GPT 的分区工具包括 Linux 里的 fdisk,Windows 的 compmgmt.msc 里的磁盘管理,以及各种 Windows 下第三方工具的较老版本,例如 Paragon Partition Manager 7.0。

我的分区方案

Mac OS X 的常规安装需要占用两个分区,第一个是预留的 EFI System,据说可以安全地删除它,不过我没有这样做。GNU/Linux 和 Windows 各自需要占用一个分区,刚好达到 MBR 分区表中 4 个主分区的限制。这是大多数文章中介绍的方案,但是这样 GNU/Linux 和 Windows 都没有一个专门存储数据的分区,GNU/Linux 也没有 swap 分区,使用上并不方便。

以下是我的分区方案,使用 GNU/Linux 的设备描述方式:

/dev/sda1 200.00MB  EFI System
/dev/sda2 43.83GB   HFS+ 文件系统,Mac OS X 安装分区
/dev/sda3 13.50GB   ext3 文件系统,同时作为 GNU/Linux 的 /boot,/home 和 Windows 里的 D: 盘
/dev/sda4 5.00GB    NTFS 文件系统,Windows 安装分区 C: 盘
/dev/sda5 10.00GB   reiserfs 文件系统,GNU/Linux 的安装分区 / 目录
/dev/sda6 2.00GB    linux-swap 文件系统,GNU/Linux 的交换分区

使用 rEFIt 的 Partitioning Tool 进行同步后,/dev/sda4 刚好是 MBR 分区表中的最后一个分区,符合上面提到的 Intel Mac 运行 Windows 的必要条件。

在 Windows 里安装 Ext2 IFS 或者 Ext2fsd 即可将 ext3 文件系统的 /dev/sda3 当成 ext2 文件系统挂载为 D: 盘。要注意的是目前主流发行版里的 mkfs.ext3 默认会创建 inode 为 256 字节的 ext3 文件系统,而 Ext2 IFS 只支持 inode 大小为 128 字节的 ext3 文件系统,Ext2fsd 则没有问题。或者也可以使用 mkfs.ext3 -I 128 来创建 inode 大小为 128 字节的 ext3 文件系统。

Windows 还可以安装 MacDrive 来访问安装 Mac OS X 的 HFS+ 分区,它对 HFS+ 文件系统支持很好。和 Ext2 IFS 及 Ext2fsd 一样,安装它以后你可以将 HTFS+ 文件系统的分区挂载为 Windows 下的一个逻辑盘。与 Ext2 IFS 和 Ext2fsd 不同的是,这个逻辑盘的盘符只能在 Windows 自己的磁盘管理工具里修改。但是它似乎不能和 Ext2fsd 一起使用,每次安装 Ext2fsd 后都会由 MacDrive 的某个驱动程序导致 Windows 蓝屏。与 Ext2 IFS 同时安装使用就没有问题。不过 MacDrive 是本文提到的第三方工具中唯一一个商业软件。

Mac OS X 也可以安装 Mac OS X Ext2 Filesystem 来访问 /dev/sda3,并将其作为单独的个人数据分区。不过我没有这么做,因为事实上我几乎不使用 Mac OS X,我觉得 Debian GNU/Linux 提供的类 Unix 环境比 Mac OS X 的更友好,保留它只是因为这台 MacBook 的主人需要它。

这个方案的好处是 Windows 可以有 D: 盘来将系统和个人数据分开,GNU/Linux 也可以有多个分区来分离系统和个人数据。实际上因为 GNU/Linux 内核 支持 GPT,后面可以分更多分区给 GNU/Linux,不过我使用的 MacBook 硬盘只有 80GB,分区太多各个分区空间利用率反而降低,所以 /dev/sda3 身兼了三职。这样做还有个好处,Windows 里的 Cygwin 和 GNU/Linux 可以很容易的共享同一个 $HOME 目录,不管是 TM2008、Pidgin 还是 OpenSSH、zsh、Vim/gVim 都可以很方便的在两个系统共享同一套配置和数据文件。

准备工具

  • 一台 Intel Mac。
  • Mac OS X 10.4 以上安装光盘,如果 Intel Mac 上已经安装好了 Mac OS X,则不需要。
  • Windows 安装光盘,原始版本或者 Ghost 版本都可以。
  • 一张包含 GNU Parted 的 GNU/Linux 安装光盘或者 Live CD,例如我使用的 Debian 安装光盘。
  • rEFIt 安装程序。

因为 Intel Mac 对 USB 存储设备的 BIOS 兼容启动支持很差,所以上面提到的都是光盘。

安装步骤

  1. 按照常规的方式将 Mac OS X 安装到一个分区上。建议将安装光盘的 dmg 镜像使用 Disk Utility 恢复到一块移动硬盘的某个主分区上,再用它启动安装程序,这样安装过程会比较快。如果你的 Intel Mac 上已经有一个正常使用的 Mac OS X 10.4 以上版本,这一步可以直接忽略。

  2. 使用 Mac 主菜单里的 Software Update 安装最新的 combo update 和 firmware update。

  3. 在 Mac OS X 里使用命令行工具 diskutil 将 Mac OS X 安装分区动态缩小(也可以使用 BootCamp),为其它系统预留出足够的空间。这一步的目的只是留出空间,详细的分区过程将使用 GNU Parted。命令格式如下,第一个 45G 是 Mac OS X 安装分区 disk0s2 将要被缩小到的大小。第二个 30G 只是用来占位的分区,必须提供,否则 diskutil 完成工作之后你会发现 disk0s2 大小没有变化。在这么做之前请使用 diskutil list 查看 GPT,确保你的 Mac OS X 是安装在 disk0s2

    sudo diskutil resizeVolume disk0s2 45G "MS-DOS FAT32" "Windows" 30G
    
  4. 在 Mac OS X 里安装多系统引导管理器 rEFIt,安装过程跟普通软件一样,没什么特别的东西。安装完成以后每次启动时都可以看到 rEFIt 的图形界面,通过它可以选择启动不同的系统,以及访问 rEFIt 的 Partitioning Tool 进行 GPT 和 MBR 分区表的同步。

  5. 使用 Debian 安装光盘(或者其它包含 GNU Parted 的 LiveCD)启动 Intel Mac,在硬盘分区步骤即可以使用 GNU Parted 工具。删掉刚才预留的 30G 占位分区,将空闲空间按照上面提到的方案分成 4 个分区。此处 GNU Parted 不能创建 NTFS 文件系统,所以 /dev/sda4 暂时使用 ext3 或者其它文件系统,将来可以用 Windows 安装程序重新格式化为 NTFS。我在这一步直接安装好了 Debian GNU/Linux,你也可以在分区完成后取消安装过程,安装你喜欢的其它发行版。我猜测大多数的发行版使用的分区工具都应该是 GNU Parted,因此这一步你应该可以直接使用你喜欢的发行版的安装光盘。

  6. 重新启动后在 rEFIt 的图形界面里进入 Partitioning Tool,按提示进行 GPT 和 MBR 的同步。

  7. 使用 Windows 安装光盘启动 Intel Mac 并将最后一个分区(Windows 安装程序看到的最后一个分区只是 MBR 分区表中的最后一个分区,即 /dev/sda4)格式化为 NTFS,安装 Windows。

  8. 也可以用国内常见的各种 GhostXP 光盘来安装 Windows,但是必须要使用带有 Windows PE 的版本。因为 Intel Mac 几乎完全不能运行 DOS 下的任何程序,所以必须使用光盘上的 Windows PE 启动,然后使用 GHOST32 来恢复光盘上的 .GHO 文件到预留的 Windows 安装分区 /dev/sda4。这里还可能会遇到一个问题,如果执行 GHOST32 之前你已经将 /dev/sda4 格式化成了 FAT32 文件系统(也许是 NTFS,我记不清了),很有可能在 GHOST32 中选择目标分区时看不到它,而保留在第 5 步中选择的 ext3 或者 reiserfs 文件系统则没有问题

参考资料

标签:, , , , , , , , ,

前言

腾讯已经发布了官方的 QQ for Linux,虽然有很多问题,例如没有 amd64 版本,功能太弱,聊天记录格式与 Windows 下的 QQ/TM 格式不一致等等,但无疑是 Linux 里使用 QQ/TM 最简单的方案。如果它已经能满足你的需求了,那么不必浪费时间看本文。

精简版本

如果你没时间看我唠叨,精简的版本是:TM2008 Beta 运行需要 Unicode 版本的 IE6、rpcrt4.dll、Visual C++ 2005 SP1 运行库,安装程序需要 GDI+。不可以使用 IEs4Linux,因为它安装的 IE6 及相关运行库是 Win9x 的 ANSI 版本。必须使用 CrossOver Games 里的 rpcrt4.dll,然后用 winetricks 安装 msxml3 gdiplus riched20 riched30 ie6 vcrun6 vcrun2005sp1 即可安装运行 TM2008 Beta。

详细版本

只看精简版没搞定?请看详细的(唠叨的)版本:

安装 Wine,运行一下 winecfg,让它生成一个干净的 ~/.wine 目录。如果要使用已有的 ~/.wine,请先将其备份。同时确保 winecfg 里设置的 Windows 版本至少是 Windows 2000(我用的是 Wine 1.x 默认的 Windows XP)。

获取一份 CrossOver Games 里的 rpcrt4.dll,将其复制为 ~/.wine/drive_c/windows/system32/rpcrt4.dll(覆盖已有的文件),运行 winecfg,在 Libraries -> DLL Overrides 里将 rpcrt4 设置为 Native (Windows)。

下载 winetricks,使用它安装 IE6 和一些重要的运行库。如果这个过程失败,删除 ~/.wine(或者恢复备份的 ~/.wine)并从头再来。

sh winetricks msxml3 gdiplus riched20 riched30 ie6 vcrun6 vcrun2005sp1

此时如果你有 Windows 上安装好的 TM2008,它已经可以运行了,但是无法登录,会提示“网络连接失败,请检查网络。”。所以还是老老实实用安装程序装一次吧。这里有个很莫名的问题,如果直接使用 Wine 运行 TM2008 安装程序,它很可能会直接崩溃,看不到任何图形界面的提示。而使用 Wine 运行一个其它的程序,例如 cmd.exe 或者 Total Commander,再用这个程序去启动 TM2008 安装程序则不会有任何问题。

中文乱码(空心方框)问题

好吧,终于看到 TM2008 的安装界面了,不过很可能你又会头大了——所有的中文全是空心方框。原因是安装程序界面的字体是被指定为 Tahoma 的,而实际上 Tahoma 字体并不包括中文字符。有两个办法解决,都是 Windows 的技术,把 Tahoma 字体替换成某个中文字体,或者把某个中文字体链接到 Tahoma 上。照这两个片段修改 ~/.wine/system.reg,只需要其中一个。别忘了把中文字体名改成你自己需要的。

[Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes]
"MS Shell Dlg"="Microsoft YaHei"
"MS Shell Dlg 2"="Microsoft YaHei"
"Tahoma"="Microsoft YaHei"

[Software\\Microsoft\\Windows NT\\CurrentVersion\\FontLink\\SystemLink]
"Tahoma"=str(7):"SimSun.TTC,SimSun\0"

最后还必须把你改的中文字体文件符号链接到 ~/.wine/drive_c/windows/Fonts 目录下,不这么做其它软件都没问题,就 QQ 或 TM 会乱码,该死的硬编码。

查看聊天记录时的性能问题

好了,现在不会有什么问题阻挡你了,TM2008 Beta 安装和启动都非常顺利,使用也很稳定。甚至 QQ2009 Preview4 都可以安装并启动,不过使用时很容易崩溃。但是如果你像我这样疯狂地保存了七八年的聊天记录,你会发现:

  • 每次启动 TM2008 后第一次给任何人发消息都会导致 TM2008 失去响应将近 20 秒钟,之后继续发消息则不会有问题。第一次接收到某人的消息也会同样如此。
  • 任何试图查看聊天记录的操作都会导致 TM2008 消耗 100% CPU 并且很长时间没有反应,等待足够长的时间后才可以看到聊天记录。

这是由于 TM2008 的聊天记录数据库使用了 Windows 的 Structured Storage 技术,而其 API 库 ole32.dll 的 Wine 实现还不完善或者可能性能太低。虽然可以用 winetricks 安装 dcom98 来获取一个 Win9x 的 ANSI 版本的 ole32.dll,但它没法让 Unicode 版本的 TM2008 运行起来。搜遍了网络也找不到在 Wine 里使用 Win2k 以上系统的 ole32.dll 的方法。没办法,为了保持聊天记录的一致性,只有两个选择。要么不在 Linux 里看聊天记录;要么把聊天记录数据库 Msg2.0.db 备份并从 QQ Profile 目录(我的文档\QQ Files\QQ 号码)里删除,让 TM2008 自己生成一个空白的 Msg2.0.db,暂时抛弃历史包袱,以后再到 Windows 下把新的记录导出为备份文件后合并到老的数据库里。

与 Windows 共享聊天记录

如果你还像我这样偶尔会切换到 Windows,希望跟 Windows 下的 TM2008 共享聊天记录数据库,那么有两个办法:

  • 直接在 Linux 里使用 ntfs-3g 读写存放 TM2008 聊天记录的 NTFS 分区。虽然 ntfs-3g 已经号称非常稳定可靠了,但对于聊天记录这种极度个人化的数据我还是宁可保守一些。
  • 创建一个 ext2 分区用来和 Windows 共享数据,在 Windows 下可以用 Ext2 IFS 驱动来访问它。比起私有文件系统 NTFS 的 Linux 版开源驱动来说,当然是开源的 ext2 文件系统的 Windows 版驱动更值得信赖。

用这两种办法都需要在 Linux 和 Windows 里创建 QQ Files 目录的符号链接,Linux 里不必说,ln -s 即可。Windows Vista 以前的版本可以用 Junction 来创建 NTFS 上的符号链接,Windows Vista 可以用自带的 MKLINK。

对于我这种非笔记本用户来说使用日志文件系统来抵御意外断电是必须的。按照 Ext2 IFS 的 FAQ,它也可以读写 ext3 分区。不过比较新的 Linux 发行版的 mkfs.ext3 创建的 ext3 分区 Ext2 IFS 是无法访问的,可能是 ext3 文件系统格式发生了变化。而 Windows 下一些分区工具如 Paragon Partition Manager 或 Acronis Disk Director 创建的 ext3 分区则没有问题。比较新的 Linux 发行版的 mkfs.ext3 默认创建的 ext3 分区 inode 大小是 256 字节,Ext2 IFS 不支持这样的 ext3 分区,使用 mkfs.ext3 -I 128 即可创建 inode 大小为 128 字节的能被 Ext2 IFS 支持的 ext3 分区。不建议使用 Paragon Partition Manager 等 Windows 下的工具创建 ext3 分区,至少 PPM 创建的 ext3 分区是没有目录 hash 的。Ext2fsd 支持 inode 大小为 256 字节的 ext3 分区,不过虽然相对 Ext2 IFS 它有 GPL 的优势,但似乎成熟度比 Ext2 IFS 低,而且我试用的感觉并不太好,所以没有选择它。

参考资料

标签:, , , , ,

Ctrl + 左键单击在后台打开新标签

打开首选项 -> 高级 -> 内容 -> JavaScript 选项,为“用户 JavaScript 文件”指定一个目录,然后从 这个帖子 里(需要穿墙)下载 allinbackground.js (本地镜像,无须穿墙)放到指定的目录,无需重启 Opera 即可生效。对于使用 https 的站点,在地址栏输入 opera:config,搜索“User JavaScript”,勾选“User JavaScript on HTTPS”(请自行确保你的 User JavaScript 都是无公害的)。

Shift + Enter 和 Ctrl + Shift + Enter 自动补全 .net 和 .org 网址

打开首选项 -> 高级 -> 快捷键,如果你以前修改过键盘快捷键,双击“Opera Standard (已修改)”,否则双击“Opera Standard”,定位到 Advanced -> Address Dropdown Widget。这里可以看到 “Enter ctrl” 对应的操作是 “Autocomplete server name, “http://www”, “com””,所以你要做的就是新建两个项目,分别设置快捷键为“Enter shift”和“Enter ctrl shift”,操作为“Autocomplete server name, "http://www", "net"”和 “Autocomplete server name, "http://www", "org"”。

搜索时自动打开新标签

打开首选项 -> 高级 -> 标签页,去掉勾选“重用当前标签页”。这里还可以顺便把“在使用 Ctrl + Tab 循环浏览标签页时”设置为“不显示列表循环”,以及勾选“在当前标签页旁边打开新标签”和“关闭标签页时”“激活下一个标签页”。

标签:, ,

做了 MBTI 职业性格测试

September 12th, 2008

无意中从某人 blog 上看到这个权威的 MBTI 职业性格测试,做了一下,确实比较准确。看来我少年时的职业选择从理论上讲也是非常正确的 :D

Psytopic分析:您的性格类型是“ISTP”(内向+实感+思维+知觉)

容忍,有弹性;是冷静的观察者,但当有问题出现,便迅速行动,找出可行的解决方法。能够分析哪些东西可以使事情进行顺利,又能够从大量资料中,找出实际问题的重心。很重视事件的前因后果,能够以理性的原则把事实组织起来,重视效率。

ISTP型的人坦率、诚实、讲求实效,他们喜欢行动而非漫谈。他们很谦逊,对于完成工作的方法有很好的理解力。 ISTP型的人擅长分析,所以他们对客观含蓄的原则很有兴趣。他们对于技巧性的事物有天生的理解力,通常精于使用工具和进行手工劳动。他们往往做出有条理而保密的决定。他们仅仅是按照自己所看到的、有条理而直接地陈述事实。 ISTP型的人好奇心强,而且善于观察,只有理性、可靠的事实才能使他们信服。他们重视事实,简直就是有关他们知之甚深的知识的宝库。他们是现实主义者,所以能够很好地利用可获得的资源,同时他们擅于把握时机,这使他们变得很讲求实效。ISTP型的人平和而寡言,往往显得冷酷而清高,而且容易害羞,除了是与好朋友在一起时。他们平等、公正。他们往往受冲动的驱使,对于即刻的挑战和问题具有相当的适应性和反应能力。因为他们喜欢行动和兴奋的事情,所以他们乐于户外活动和运动。

您适合的领域有:技术领域 证券、金融业、贸易、商业领域 户外、运动、艺术等

您适合的职业有:

· 信息服务业经理
· 计算机程序员
· 警官
· 软件开发员
· 律师助理
· 消防员
· 私人侦探
· 药剂师
· 证券分析员
· 银行职员
· 管理顾问
· 财务顾问
· 电子专业人士
· 技术培训人员
· 信息服务开发人员
· 软件开发商
· 海洋生物学者
· 后勤与供应经理
· 经济学者
· 贸易商
· 商品经销商
· 产品代理商(有形产品)
· 警察
· 侦探
· 体育工作者
· 赛车手
· 飞行员
· 雕塑家
· 手工制作
· 画家

标签:
 Page 1 of 27  1  2  3  4  5 » ...  Last »