关于Snow Leopard的64bit

自从Snow Leopard发布后,看到网上很多人热衷于如何启用64bit的kernel。似乎使用了64bit的kernel速度就快了很多。其实,不过是个心理安慰罢了。Snow Leopard的64bit kernel和64bit 应用是2回事。
简单来说,按照目前的硬件配置,启用64bit kernel没有什么效果,它的一个好处是允许访问大于32G的内存。而目前的物理限制,没有任何一台macbook pro能够有这么大的内存,因此,这也是snow leopard默认是使用32bit kernel的原因。

64bit的应用则不然,snow leopard完全支持64bit技术,其内置的应用如mail,safari,全部是基于64bit 代码生成的。包括系统自带的framework。(这也是为什么需要升级macports的一个原因)
这就意味着,即便是在32bit kernel下,相关的应用程序也能够享受到64bit的好处,比如16 exabyte的寻址空间,大于2G的文件,等等。

实际上,是否支持64bit取决于你的CPU处理器,只要你的处理器是Core 2 Duo或XEON之后的新处理器,都支持64bit。
(话说回来,其实并非真正的64,而是x86_64而已),都可以在Snow Leopard中运行64bit的应用,而不管当前是启用了什么内核。

澄清几个误区:

  • 能否运行64bit应用和当前启用的kernel是否64bit无关
  • EFI是否64bit不影响运行64bit应用程序
  • Core2Duo或Xeon之后的处理器都可以运行64bit应用
  • 64bit Kernel extension目前还没有实际的用处,32bit kernel足以

所以,省省吧,不要徒劳的boot 64bit kernel了。

但是,在用gcc编译的时候,还是使用64bit,这样的确可以享受到64bit的好处。

解决PHP5在Snow Leopard(Mac OSX 10.6)上的编译错误

今天在Snow Leopard重新编译PHP5.2.6, 在最后link时出现错误:

Undefined symbols:
"_res_9_dn_expand", referenced from:
_zif_dns_get_mx in dns.o
"_res_9_search", referenced from:
_zif_dns_get_mx in dns.o
_zif_dns_check_record in dns.o
"_res_9_dn_skipname", referenced from:
_zif_dns_get_mx in dns.o
_zif_dns_get_mx in dns.o
ld: symbol(s) not found

配置和编译脚本应该没有问题,仔细检查了下configure 的输出,应该是link的时候没有link进 resolv 库。看来是PHP的配置脚本无法正确识别10.6造成的。google了一下,果然:
是这个Bug造成的。在5.2.11-dev中已经修复了。
我需要使用5.2.6, 修正也简单,设置LIBS变量,强制link resolv库就好了:

LIBS='-lresolv' \
./configure \
--prefix=/opt/php5 \
....

其他关于Snow Leopard的一些小问题:
* macport需要更新到1.8
* mysql重新下载5.1.37包
* PD中如果PPS无法观看,重新安装Parallels Tools就ok
* 要避免在macport中重复perl 5.8.9,可以ln -s /opt/local/bin/perl5.10 为/opt/local/bin/perl

这些问题作为普通用户应该遇不到,但在mac port/darwin中编译的libs就有问题了。一般都是dylib无法加载,出现image not found,因为port中gcc只生成特定的代码,而非通用代码,当运行库变更后就无法正常加载了.
解决办法就是重新编译一下。
重新编译一下。

升级到Snow Leopard

昨天SnowLeopard正式发售了,趁着周末有时间,今天下午去了趟三里屯,买了一套回来(零售版248)。升级很简单,把dvd扔进去,点几下鼠标就开始升级安装了,开始后就不需要再任何人工干预了,直到完毕出现登录界面(mac一贯风格,简单,不像win那样啰嗦)。具体时间就不清楚了,主要是复制文件过程慢,我安装开始后就去睡了一觉,等醒来就能用了。

没什么大的变化,初看甚至感觉不到升级。不过用了几下发现有些细节还是精细很多。比如dock上stack改进显示方式还是很赞的,Quicktime Player可以录制屏幕了,很实用。Spotlight的响应速度快多了,和QuickSilver比,没什么差别了。可以长按应用图标在dock上直接expose应用程序窗口,但我还是习惯鼠标移到屏幕角。升级后系统占用的空间明显要比Leopard小很多。

说说开发环境吧,osx/macbook pro是最适宜开发人员的了。升级后原先的XCode开发环境没有了,需要从dvd中安装XCode新版。这次snow leopard也更新了内置的开发工具:
PHP是5.3, Perl 5.10, Ruby 1.8.7, Python 2.6, Gcc 4.2.1 …

PHP5.3没发布多久,竟然就正式进入系统,让我有点奇怪。 Perl更新到5.10倒不奇怪。

升级后的出现的兼容性问题并不多,除了TextMate有些小问题,在TextMate的blog上都有解决方法(今天发布的1.5.9r1510修补了快捷键的问题)。QuickLook个别几个小插件无法工作,但原来就有些小问题,这次索性删除了。

结论: Snow Leopard虽然没有像Leopard对比Tiger那样强烈,但是平滑的升级和速度的改进还是令我满意的,购买这次升级物有所值。

如何解决MacbookPro有时无法从休眠状态唤醒

我很少会关机,一般是直接合上MBP的盖子走人,使用的时候打开盖子接着用,因此除非是系统升级,否则我的MBP的uptime经常是几个月。不过在有的时候往往打开盖子后,MBP不能正常唤醒,这时候需要重新盖上,等几十秒后再打开。虽然不是什么大问题,但是也觉得比较烦。查了下apple的资料,发现这个现象是由于safe sleep的功能导致的。Leopard的sleep有3种模式,分别是”sleep”,”sleep and hibernate”, “hibernate”。“sleep” 休眠时将使用电池来保持内存中的数据不丢失,这是old style。第2种是目前新系统默认,在休眠时,首先将内存数据写入hibernate文件后再休眠,这样即便电池没了,下次开机仍然可以恢复。第三种则写入文件后就关闭电源了。 第一种休眠和唤醒最快,缺点是无法在休眠后更换电池,第二种休眠时比较慢,但是唤醒时快,缺点是有bug,会出现有时一次无法唤醒。第三种休眠和唤醒都慢,但不消耗电池电量。

如果即想考虑到电池又想安全使用第一种模式,可以考虑SmartSleep,这个预置面板可以设置当电量低于多少(默认是20%)时使用第2种模式,其他情况则使用第一种模式。

如果想省事,可以直接修改,首先可以查看当前的电源设置:
#pmset -g
Active Profiles:
Battery Power 0
AC Power -1*
Currently in use:
sleep 30
sms 1
acwake 0
displaysleep 15
autorestart 0
hibernatefile /var/vm/sleepimage
hibernatemode 3
womp 1
halfdim 1
disksleep 10
lidwake 1
ttyskeepawake 1

修改,需要root权限:
#sudo pmset hibernatemode 0

这是可以直接删除多余的hibernate文件,能够释放和你内存同等大小的空间:
#sudo rm -f /var/vm/sleepimage

不用担心,一旦你重新设置回3,这个文件会自动创建。

Apple最新的Leopard更新导致Perl无法正常使用

Apple这次做了一个很不专业的事情,在最新的Mac OS X Security Update 2009-001中,竟然使用了老的Perl IO XS bundle。安装更新后,运行cpan或者perl -MIO会得到以下错误信息:

IO object version 1.22 does not match bootstrap parameter 1.23 at /System/Library/Perl/5.8.8/darwin-thread-multi-2level/XSLoader.pm line 94.
Compilation failed in require at /System/Library/Perl/5.8.8/darwin-thread-multi-2level/IO/Handle.pm line 263.

看来,apple竟然将IO xs bundle回滚到1.22, 但是相应的IO.pm则仍然是1.23, 无语。

由于IO无法启用,cpan也break了。 只能手动下载 CPAN IO 1.2301,重新make install后才解决。

看来perl还是要自己编译才好,要想不出这种问题,可以考虑使用local::lib了。

PS:
彻底歇菜,看看这次更新了哪些bundle:

lsbom -f -s /Library/Receipts/boms/com.apple.pkg.update.security.2009.001.bom | grep -i perl
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE/config.h
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE/embed.h
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE/libperl.dylib
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE/patchlevel.h
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE/proto.h
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/Config_heavy.pl
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/B/B.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/B/C/C.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/ByteLoader/ByteLoader.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Cwd/Cwd.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DB_File/DB_File.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Data/Dumper/Dumper.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Devel/DProf/DProf.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Devel/PPPort/PPPort.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Devel/Peek/Peek.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Digest/MD5/MD5.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DynaLoader/DynaLoader.a
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Encode/Byte/Byte.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Encode/CN/CN.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Encode/EBCDIC/EBCDIC.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Encode/Encode.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Encode/JP/JP.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Encode/KR/KR.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Encode/Symbol/Symbol.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Encode/TW/TW.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Encode/Unicode/Unicode.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Fcntl/Fcntl.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/File/Glob/Glob.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Filter/Util/Call/Call.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/I18N/Langinfo/Langinfo.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/IO/IO.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/IPC/SysV/SysV.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/List/Util/Util.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/MIME/Base64/Base64.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/NDBM_File/NDBM_File.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Opcode/Opcode.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/POSIX/POSIX.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/PerlIO/encoding/encoding.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/PerlIO/scalar/scalar.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/PerlIO/via/via.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/SDBM_File/SDBM_File.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Socket/Socket.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Storable/Storable.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Sys/Hostname/Hostname.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Sys/Syslog/Syslog.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Time/HiRes/HiRes.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Unicode/Normalize/Normalize.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/XS/APItest/APItest.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/XS/Typemap/Typemap.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/attrs/attrs.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/re/re.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/threads/shared/shared.bundle
./System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/threads/threads.bundle
./System/Library/Perl/5.8.8/pods/perldiag.pod
./usr/bin/perl
./usr/bin/perl5.8.8
./usr/bin/perlbug
./usr/share/man/man1/find2perl.1.gz
./usr/share/man/man1/perlbug.1.gz
./usr/share/man/man1/perlcc.1.gz
./usr/share/man/man1/perldiag.1.gz
./usr/share/man/man1/perlivp.1.gz

修复:
1.重新下载IO安装
2.重新编译CPAN
3.Config::Auto
4.其他不正常的module

累人。

vmware fusion导致的MBP风扇长时间高转问题

以前在试用vmware fusion和比较PD4时曾提到开启fusion后,风扇噪音增大,风扇转速在4500以上。
当时没有太在意,以至于我没有想到会那么糟糕。
进入冬天,家里的暖气很热,于是,发现mbp经常风扇全速运转,5000rpm以上。
此外,温度也明显升高,各个温度指示都在65以上,尤其是CPU和内存的温度都在75以上。
开始我怀疑是因为最近免费更换了电池造成的,为此去了apple三里屯店,结果什么也没查出来。
为了工作,年前买了一个moshi的散热器,发现还是不行。而且,由于散热器,温度并不高,但是风扇仍然
告诉运转。 在vmware的论坛里发现有人反应,也出现类似的问题。
既然不用vmware fusion,只能重新启用Parallels Desktop了,从PD的网站上下了最新一版(5180),试用了一下,
发现改进还不少,其中休眠恢复和启动的速度明显提高了。 稳定性也是没有问题了。
于是,卸载了vmware fusion,reboot.
这世界终于安静了。

Parallels Desktop 4 vs Vmware Fusion2

关于PD4和VF2的比较,网上充斥了一些截然不同的2种结论。
要么是PD4比VF2快多少,要么是PD4的种种问题。
不光是国内,老外也是一样。我也很奇怪为什么同样的东西有着截然不同的结论。
让人看了很难取舍,很快,这些天的不愉快经历让我明白了。

我是PD的老用户,从PD2开始使用一直到PD3最后一个版本。之前用PD3的经验就是愉快和
爽。 基本上没有遇到什么问题。之前的主要用途很简单: 网银,偶尔使用Office(后来升到
Leopard就用iWorks了),使用IE测试。总之,不玩游戏,也不过多使用windows。
PD3的稳定性是不错的,中间只有1个版本和Leopard的兼容上有个小问题,很快就修复了。
PD3的操作上也非常方便快捷,此外就是绚丽的界面效果,最喜欢退出时转身一跳的效果。。。

PD3的对我最大的困扰就是虚拟磁盘的压缩, 如果是开着guestos 运行compressor, 需要10几个小时。
后来才发现用关闭虚拟机用image tools可以提升一些速度,但是仍然比较慢。

前几天PD3提示有新版本,PD4。简单看了下发现改进很大,按官方的说法性能提升了50%,于是禁不住
诱惑就升级了。 但是发现问题很多,首先是升级后,速度明显变慢,稳定性也不行。
于是重新装了一个全新的WindowsXP。速度有提升。在PD的官方论坛上,基本是抱怨一片,
很多用户抱怨升级后出现很多莫名其妙的问题。 也难怪,PD3到PD4从底层结构来说是完全重写,
类似XP到VISTA,为了支持多处理器,DirectX等,放弃了standard HAL,而使用了ACPI的HAL,
实际上,我认为PD4的发布是一个错误,是被Vmware Fusion2所逼迫,后者是9月份就发布了。
我想,PD4的开发团队应该在最后阶段是没有完成全面测试,很像MobileMe的推出,呵呵。
想想,我们也经常有这些不得已的行为,结果是福是祸就很难说了。

PD4对我的感觉是糟糕的,首先说好的,
1.支持SmartMount,Mac上mount的磁盘会自动出现在客户机上,
每个磁盘都是单独映射为一个独立的驱动器。 因此,可以同时在Mac和客户机使用外置磁盘了。
VF2 则必须要手动添加共享文件夹,这点稍逊。
2.新增了一个可缩放的小窗口模式,可以把各个虚拟机并排放在mac桌面上,有点酷,不过对我用处不大。
快捷键上和VF2基本一样了。
3.和VF2一样,PD的GUI和虚拟机后台分开了,所以即便PD的窗口死了,重新开启不会丢失数据。
4.支持3D加速和多处理器。可以玩一些3D游戏了。不过这点对我用处也不大。

说说不爽的方面:
1. 运行效率没有太明显的提高,反而有些下降。这点和官方鼓吹的似乎有点不一样。
2. 稳定性下降了,很多时候出现莫名其妙的应用程序(如VS2008)无法打开,需要将PD的GUI和后台进程杀死后才能解决。
3. Windows上的字体感觉有些模糊,即便打开了ClearType,总觉得有点别扭。

PD4之所以对我感觉如此糟糕,是因为我的用途有了变化,需要使用VisualStudio2008做一些东西。这样任务就
比原来的要复杂一些。
结论是使用PD4开发.NET并不那么舒服。

于是,我重新启用了最新的VF2, 希望看是否有些改进。
但是发现也有一些严重的问题:
1. VF2开启虚拟机后,如果打开PD,立刻整个OSX就崩溃了。不清楚是否为PD的罪过。
2. VF2无法正常安装深度版的WinXP SP3, 在安装VmwareTools的时候总是报错。
3. 某些时候,VF2开启后,我的Mac的风扇就狂转到极点,让人无法忍受。
4. 使用Unity模式时,Windows的应用程序图像刷新有些小问题,会出现花屏现象。
5. 偶尔出现无法启动虚拟机。

看起来,VF2也不是那么令人满意。 不过,上述问题除了3无法忍受,其他都可以解决。
我是通过将原来PD3的镜像直接导入进来才解决了XP的安装问题。
VF2的界面相对PD来说是简陋了不少,好在适应一下也不难,毕竟在别的Linux上也在用Vmware。
相对PD4,VF2的稳定性还是令我满意,至少没有出现大错,和PD3相比,平手或略微胜出。
性能上,感觉VF2似乎比PD3要稍许强一些,也不十分明显。
不过字体显示上看还是很不错,和我T41上真实Windows的显示没有太大的差别,
这点对整天看着编辑器的人来说还是很重要的。

目前,我暂时用VF2做.NET的开发,使用Unity模式。
PD3的镜像保留作为后备。

PD4, 还是等它彻底稳定后再观察吧。

这几天被PD和VF折腾的够呛,装XP虚拟机就不下十几次,好在二者都有快捷安装模式,
几分钟就能搞定。

最后,不论使用VF还是PD, 都使用纯虚拟机的好,不要使用BC方式,因为纯虚拟比BC要快得多。
这点和Windows、Linux上Vmware可不一样,因为纯虚拟可以充分使用内置的缓存和加速机制,
比真实的Windows速度还要快。

关于时间胶囊的文件共享中的“使用账户”模式

Time Capsule支持基于密码和基于用户帐号的模式来对TC的共享磁盘进行保护。
第一种比较简单,通过密码包括磁盘密码和Time Capsule密码2种形式。客户端连接通过密码来获得权限。
第二种则是通过配置访问帐号来保护共享磁盘,客户端通过帐号名和密码进行连接。以前老的AirPort不支持
账户的私人数据,因此如果允许某个账户读写磁盘权限,那么则可以删除其他帐号创建的文件。
这对于多人共用Time Capsule非常不良。不过最新版,我昨天更新的airport, 支持帐号用户目录了。
当启用帐号模式后,Time Capsule则出现2个磁盘卷,分别是帐户名的磁盘和Time Capsule的共享磁盘。
实际上,可以和samba做个对比,和samba的Home目录是类似的。

因此,新版的airport工具可以方便的用于多个人使用了。每个人帐户主目录中的文件是不会被其他人看见的,
除非又改回通过密码形式访问。

如何从密码共享模式升级到”使用帐户”共享模式呢?
如果你选择更改,Time Capsule会提示你,原先的所有资料都无法访问。

实际上,新的帐户共享模式,会在TC的磁盘上建立下列目录:
/Shared/ - 这是共享磁盘卷的目录,放在这个目录下的文件能够被所有人看到
/Users/user_name - 每个帐号名一个子目录,当该帐号连接时这个子目录表现为一个独立的磁盘卷

因此,升级很简单,可以将原来共享的资料放入/Shared,各自私人的资料放入/Users/xxx目录下
以上操作需要在密码共享模式下操作,之后,就可以更改为“使用帐户”共享模式了。

买了Apple时间胶囊(Time Capsule)配置802.11n无线网络

经老婆大人的特许和赞助,今天中午吃饭前跑了趟三里屯的apple直营店,把想了很久的TC搬回了家。
头次去三里屯,在apple store周围转了好几圈,还问了奥运志愿者,才找到店。中午吃饭,人不多,
不过里面的30′ 的iMac让我眼馋半天,要赶回家吃饭匆匆付款回来。
吃饭后拆开,比以前网上图片感觉要好,漂亮很多。说明书很简单,我觉得都有些简陋。
光盘对我也没用,因为leopard自带了更新的airport工具。

插上电源后,运行airport工具很快找到TC。对于如何使用TC,倒是仔细考虑了很长时间,因为目前
我除了MBP是支持802.11n,其他包括iphone都只能支持802.11g,现在上网也用了一个dlink的无线
路由,时间胶囊具备基本的无线路由功能,但是相比dlink也缺少防火墙之类的功能(虽说也没大用)。
但是如果使用时间胶囊作为上网路由,那么就必须使用802.11n(b/g兼容)模式,这种模式,基本上无法
享受802.11n的高速率,因为如果跑在兼容模式下,如果有b/g客户端在发送数据,那么会导致n的客户端
也将降低速度,如果用于上网,其他几个机器肯定会长时间发送数据的。
所以,最终我设计了以下网络结构:

WAN(ADSL)--DLINK(HomeDlink)--TC(HomeTC)

保持现有的无线网络(HomeDlink),继续为老客户端提供无线上网,TC使用以太网连接到Dlink,并创建一个新的无线网
(HomeTC). HomeTC通过网桥形式桥接到Dlink实现Internet接入。

这样,T41,HP,Iphone等那些老的机器可以通过Dlink来上网,它们也可以通过Dlink连接到TC,使用TC的共享磁盘存储或者其他扩展空间。
MBP等支持802.11n的客户端则直接连接到TC,使用TC作为时间机器和备份存储空间。

关于使用时间胶囊作为时间机器的备份磁盘:
1. 首先要配置,将一些磁盘卷或目录排除掉,这样可以减少第一次全备份的时间
2. 时间胶囊的千兆网卡似乎不稳定,我试了几次,不知道是否网线问题,中断了好几次
3. 第一次一定要使用802.11n,否则备份时间会非常长,据说有的人要跑1个晚上?我是67G的数据大概2个小时不到。

时间胶囊的几个问题:
1. usb口不仅仅可以连接打印机,还可以接扩展磁盘,如果连接一个usb hub,扩展性那就海了
2. 时间胶囊的磁盘不支持分区,是指airport工具没有这个功能,如果你分好区,也是支持的。比如,你可以将磁盘从TC取出来,然后分区,再放回去就可以了。 usb外接的磁盘也是一样的。
3. 运行时很热,摸着很烫

mac上我最依赖的10个软件

按照习惯的依赖程度排名:

1. QuickSilver
对于我这个记性不好的懒人来说,这个绝对是NO.1, 可以说这是最万能的软件了, 从找歌,听音乐,打开iterm,网址簿, 快速email,文件加tag…. 无所不能!

2. Safari
3. Mail
上面这2个没什么可说的. Firefox3是个候选,但是习惯了Safari..

4. iTerm
虽然Leopard的term.app改进了不少,但是还是习惯iTerm,配合QS.

5. TextMate
吃饭的家伙. Eclipse太重了,不到万不得已是不开的.

6.QuickView
习惯了按下空格查看文件内容,就冲这个,我是不会再用Tiger了…

7. iWorks
比MS Office要强多了.

8. Parallels Desktop
比如网银之类还是需要在IE下进行的, 这时候只能用虚拟机了

9.IPMessenger(飞鸽)
局域网传送文件方便

10. Aduim/QQ for Mac
IM了,虽然我更喜欢用Email,不过有时候还是要上一下线的.

Next Page »