加州买枪记 [一]

本文仅代表本人意见,不可视为对California Gun Law的解释。

省略一万字关于究竟该禁枪还是拥枪的讨论。我本人对于枪的态度请参考这篇文章《华人为什么应该拥枪》

即使在深蓝色的加州,作为一名持H1B签证的外星人 (Resident Alien)只要满足一定条件一样可以享受civil right赋予的合法拥有枪支的权利。这个条件之一就是拥有一张有效的California Hunting License。

Hunting License是在拥有了hunting certificate之后付费在Sports Authority或者Walmart购买。该许可需要annually renew。为了获得一张hunting certificate有两种方式

  1. 参加10小时的课程,通过100道题的written test和枪支操作示范practical test就可以拿到。100道题主要是选择题,混有若干道填空
  2. 参加网上的课程 http://www.hunter-ed.com/ 并通过在线考试。之后参加一个4小时的follow up course(需要线下参与),并且通过和第一条一样的100道笔试题以及操作考试后获得

课程安排在Department of Fish and Wildlife 网站有查询,http://www.dfg.ca.gov/huntered/classes.aspx 需要分清10小时课程和4小时课程是2个不同连接,不要搞混了。

这100道题需要达到80%通过才能被授予hunting certificate。课程本身涵盖了枪支介绍,枪支安全,弓箭使用,狩猎知识,野外生存等篇幅,内容还是挺有意思的。值得花点心思认真学习。

在持有hunting license之后就可以去枪店购买长枪了(rifle,shortgun)如果要购买手枪则需要持有一个handgun safety certificate,这个在任何一个枪店都会有考试。这个手枪证(HSC)是绿卡和公民在购买手枪前也需要考的。一共30道选择题,75%正确就能过,任何一个智力正常的人都可以在阅读30分钟到1个小时的safety guide之后以100%正确率通过。(如果你fail的话请pm我你常去的靶场,我一定尽量避免和你同时出现在那个地方)

还有一个需要注意的地方就是年龄限制,满18岁可以购买长枪,但是手枪需要年满21岁才可以购买。加州对于手枪有一个30天内只能购买一把手枪的限制,长枪不受限。同时加州还有一个非常有地方特色的“合法”手枪roster,只能购买roster上的手枪。如果你想买一把off list的枪,那就只能求助于SSE (single shot exemption),简单地说就是在经过授权的枪店帮你改装成符合加州标准的手枪并且满足一次击发只能发射一次的条件之后就可以合法卖给你,这个过程当然要收取若干“保护费”。托政客的福,这个SSE在2015年1月1日后就彻底被Ban了,如果想买off list的手枪,赶在年底前趁早吧。当然,改装的是枪的本身结构,对于弹夹,加州不允许持有超过10发的“大容量”弹夹。所以不管长枪短枪最多只能有10发弹夹。

当你兴高采烈地在枪店挑了枪之后还不能立刻把枪带走,加州政府规定,需要额外10天时间来让DOJ (Department of Justice)来对你做一个background check以确保你没有犯罪记录,没有精神问题,没有若干其他受法律限制无法合法持有枪支的种种问题。你每一次购枪需要等这10天。(注1:今天听到消息说如果你在COE certificate of eligibility list 上的话从第二次购枪开始可以不需要这10天等待。消息有待确认)

关于这个购买手枪需要间隔30天的限制仅限于你从dealer那里买枪,如果是私人间交易(private party sale)的话不受这个限制。但是切记私人交易也需要到FFL (federal firearm license) 执照持有人那里去登记,不能一手交钱一手交货,否则以后下家犯了事就记你头上了。

至于长枪我还没有太多研究,暂时说不上具体有什么限制。待以后更新吧。至于购买子弹可以在网上买了直接送货到门,部分城市比如San Francisco,Oakland不允许送货上门(San Jose目前还没有这个问题),有些dealer为了省事就直接不用加州地址。

买枪愉快,注意安全。

在家搞了IPv6 tunnel

几个月前就在Comcast IPv6 trials报名申请IPv6线路测试,等了几个月收到的唯一更新就是测试名额已满,什么时候再开不知道。对Comcast不抱什么希望,还是搞个HE的IPv6 tunnel接入。Router上跑的Tomato USB v1.28支持IPv6 6in4 static tunnel。

首先就是在Hurricane Electric申请一条Regular Tunnel。我选择了离家物理距离最近的Fremont机房。申请完成后会看到一堆参数,在Router上设置如下。

Assigned/Routed Prefix 填Routed IPv6 Prefixes – Routed /64中的内容

Tunnel Remote Endpoint (IPv4 Address)填Server IPv4 Address中的IPv4地址,也就是在创建Tunnel的时候你选择的对应机房IPv4地址

Router IPv6 Address 对应Server IPv6 Address

Tunnel Client IPv6 Address对应Client IPv6 Address

Router上保存后你可以在终端上获取到IPv6地址,然后自然是到  这里测试下你的IPv6 tunnel是否联通。如果一切正常的话,恭喜你,你可以看到KAME那只乌龟的动画了。

如果你的ISP没有给你提供static ipv4的话,你每次获得新IP还需要更新下tunnel broker那边你的ip地址。在Tunnel Details里的Advanced tab有具体说明。

补充下,如果是动态IP地址,那么需要设置一个DDNS来周期性地向HE更新你的client IPv4地址。Basic -> DDNS 里service可选het.net IPv6 tunnel broker,所以即使你没有固定IP也可以方便使用HE的IPv6 tunnel

美国生华裔小孩在中国驻旧金山领馆办理旅行证和领事认证流程

最近在中国驻旧金山领事馆给女儿办了中国旅行证和出生证领事认证(回国落户的话需要后者),鉴于网上关于美国生华裔小孩办中国出生证有众多版本介绍,并且各个领事区的流程也略有不同,在这里就讲下旧金山领事馆的情况。

首先要确认你的小孩有中国籍,按照中国国籍法,小孩(海外)出生的时候如果父母一方已经有绿卡了,那就拿不到中国籍了。实际操作中,驻美国的中国领事馆只看你有没有美加两国绿卡,没的话就只要你不高调宣称有第三国绿卡,一般都没问题。不做死就不会死。

对于出生证你需要准备的东西如下

  • 2011版中华人民共和国护照/旅行证/回国证明申请表 (下载地址
  • 父母在美合法居留文件,比如I-797 。如果有多份797,只要最近期一份。
  • 父母中国护照
  • 父母结婚证
  • 最近一次离开中国的离境章,美国入境章,美国签证(签证过期没问题,只要797有效)
  • 小孩的美国出生证原件 (county开具或health department开具皆可)
  • 小孩美国护照
  • 小孩照片4+1张。其中1张贴申请表,额外4张交进去。

以上文件都需要原件加复印件。护照只需要复印带照片那页即可。I-94不需要。如果忘记复印的话在旧金山领馆有投币复印机,25美分一张纸,只收硬币。

这些东西准备好后就在家先把旅行证申请表填完吧。几个需要注意的地方如下。(只针对旧金山领事馆,其他领馆可能要求会有不同,天朝办事特色)

  • 拼音姓名要和美国护照上英文名一样。不需要和中文名拼音一致。
  • 出生地点写出生州,比如California
  • 原证件情况需要按照美国护照填写
  • 国内户籍地址需要填写国内地址(写亲戚的没关系)联系人姓名和电话都需要填写
  • 是否加入外国籍或持有外国护照这里,外国国籍选否,外国护照选是。需说明情况就写“小孩在国外出生”
  • 申请人签名需要父母两个人都签字

办旅行证需要$35。如果要邮寄服务的话要先付钱,只收money order或casher’s check。邮寄服务需要自己准备信封写好地址贴好邮票,打印的邮票不行,外加$5 money order(注意:官网上这里没写支持casher’s check,别冒险)

父母和小孩都要到场(否则需要额外公证,在此不表)把文件都交进去之后别急着走,需要让中国领事官员(不是给你收材料的工作人员)看一眼你的孩子才行。否则你还得再把孩子抱回领馆。

下面讲讲出生公证的领事认证。如果你想把小孩带回国上户口的话需要这个。(国内上户口部分等我以后操作了再另写一篇)

首先确保你满足国内落户条件,我讲的就是那个独生子女规定,不满足的话回国也很难上户口。

然后需要以下文件

  • 小孩美国护照
  • 小孩美国出生证加州务卿认证。
  • 公证认证申请表(下载地址
  • 父母中国护照

老规矩,文件都要原件加复印件。这里需要注意的是,美国出生证需要county开具的版本才能做州务卿认证,health department的不行。没开的自己去county排队交钱开具,然后寄到你所在州的州务卿办公室申请认证。加州的朋友看这里 所谓州务卿认证就是需要clerk recorded的出生证或者附加认证(建议重新做一份)。重新要20刀,附加record要6刀,再加一页纸简单说明要在哪个国家使用。加州的可以自己开车去沙加缅度当场申请或者邮寄(我选择邮寄)。还需要注意的是,你复印州务卿认证的出生证的时候可不要拆那个订书钉,否则重订的时候骑缝章对不齐就悲剧了。

填认证表的时候也需要注意以下几点

  • 国籍要么留空,要么写中国。写美国你就悲剧了
  • 出生地写美国的城市加州名,比如San Jose, CA
  • 公证,认证的内容一栏写 出生公证(领事认证)
  • 公证,认证的使用目的一栏写 随父母回国定居落户

办出生公证的领事认证要$25,具体规矩和旅行证一样。你可以跑一次领事馆把两分东西都办了。但是。。。。注意这里面还有个坑,就是交钱的时候你最好几张money order分开开具。也就是说,你需要$35+$25+$5+$5 总计4张money order 后面2个5块就是两份材料分别回邮需要的费用,同理你需要2个信封(都贴好邮票写好地址)。我就有个朋友把钱开在一张money order上被领馆工作人员为难了好久。

还有个题外话就是旧金山领事馆的停车问题。领馆隔壁马路上停车限2个小时,如果你运气不好的话排队就不止了,我就因为超时被条子罚过79刀。安全起见听到Japan town去。路盲症患者请将GPS定位至 1610 Geary Blvd, San Francisco, CA 94115。到了以后可以停路边有meter,或者往前开十米停到Japan Town Center Garage。中领馆签证处就在马路对面,看到一群练功老太太就是了。

注意时间,领馆下午2点就关门了,一但关门保安绝对不放人。我第一次去就不幸了,打了感情牌也没用。中美节假日都放假,出门前查个黄历。放心,玉皇大帝生日那天不放假,可以去。进门可以带手机和水。

祝各位办事顺利,控制好情绪,里面能让你找回天朝衙门办事的感觉。

再补充一句,我没被要求填写未获得绿卡或入外国籍的申请,据说其他地区的领事馆需要,旧金山领馆压根没这回事。

解决 svn: local missing, incoming edit upon merge

事情源于今天下午做的一个svn rebase操作

trunk上有文件a.sql, 在newbranch上被改名成了b.sql。在我对newbranch做rebase之前,trunk上的a.sql又从其他branch merge到了一些改动,于是当我svn merge trunk -> newbranch的时候就不可避免的出现了tree conflict。这个时候用svn st查看newbranch上working copy的状态就会发现这个文件的状态是 “> local missing, incoming edit upon merge”。

解决办法就是首先svn resolve --accept working a.sql,将tree conflict先解决,这时候在working copy里a.sql是不存在的(因为working copy里只有b.sql)。然后需要将a.sql从其他branch merge来的改动也merge回newbranch上的b.sql。

svn log --stop-on-copy newbranch 获取newbranch创建时的revision,假设为r100
svn merge -r100:HEAD '^/trunk/a.sql' b.sql 把所有从r100开始到head所有对于a.sql的改动全部merge到b.sql。至此,这个头疼的local missing, incoming edit upon merge就解决。如果有多个文件则依次逐个merge。

归根结底这源于svn对于文件移动的实现是copy + delete,这样会赋予改名后的新文件一个新的revision。2002年的时候就有人因此开了一个bug ticket,不过看样子是不会有fix了…

如果想一劳永逸解决这个问题,最终解决方案就是放弃svn转投git

收到Discover 信用卡的price protection refund

今天收到了Discover信用卡price protection给的$500支票,距离我提出申请大概差不多一个半月时间,效率还算不错。正好就介绍下Disocver这个price protection计划。

US的信用卡大多都有price protection (AMEX曾经有过后来取消了)提供消费后90天内的价格保护,但Visa和Mastercard的price protection有个条件,就是Thanksgiving/Christmas搞活动时候的doorbuster价格不予承认。Disocover在这方面比较慷慨,不管网上还是实体店,只要有广告或网站价格截图(需标明日期)就予以承认。当然这个protection也是有上限的,每个自然年限额单笔$500, 总计$2500。

我这次申请也是源于在感恩节前几天买的SONY R550 60寸电视机。当时B&H的售价是$1399,免税免费寄到加州。考虑到感恩节一定会有店家搞活动但是我不想在寒冷的冬天去门口排队,所以就准备赌一赌运气提前购买然后申请价格保护。Fry’s 不出意料地在black friday当天打出了同款电视机$899美金的优惠价,但是要求in store pickup,另外也不保证是未拆封新品,可能是open box或者展示用电视。鉴于Fry’s在促销方面的口碑一贯不咋的,当天早上果断在网站截图,保留了带有$899优惠价,具体电视机型号和销售日期的广告。

接下来就是打电话给Discover 1-800-discover 要求转到price protection部门,电话那头在介绍了一大堆申请须知之后会给你用平信寄出申请表格。这个表格带有唯一的claim number,网上下载不到。耐心等待两周后收到表格填妥,附上当时网页截图打印件,信用卡账单原件,B&H的电视机发票原件,一并寄给指定地址。我差不多是14年1月6日用priority mail寄出。今天也就是1月28日就收到了$500支票,其间还收到一封平信说我的claim case正在under review。

最终我花了$899 免税买到一台全新SONY R550 60寸电视机,并且还免费快递到家。如果我在Black Friday冒着严寒去Fry’s排队的话则还要多付$78消费税并且还要自己扛着这个电视回家。这真是一个大优惠,有Discover信用卡的朋友别错过这个福利。

搭建一台X86 Mac Hackintosh for fun

在忍受了win8/8.1将近一年之后决定无论如何都要回归OSX,于是就有了下面的经历。

首先介绍下硬件,都是现成的。
CPU: Intel Xeon E3-1245 3.4G Quad-Core
Motherboard: Asus P8C-WS
Memory: Corsair 32G 8Gx4 DDR3 1333Mhz
Graphic: EVGA GTX 670 FTW
SSD: Plextor M5 Pro 256GB

通常情况下用Gigabyte的主板会比较少麻烦,但本着尽量减少花销的情况下Asus在刷新了第三方patch过的bios之后也一样能用。CPU的话Xeon上的内置显卡并不能被OSX支持,普通i7上的没问题。所以Xeon可以买不带内置显卡的版本。我已经买早了,所以。。。

1. 首先,Asus主板要刷patched bios,下载和刷新请见 http://biosrepo.wordpress.com 需要注意的是,修改过的bios无法通过Bios自带的EZ flash utility来刷新,必须做一个可引导的usb安装盘在msdos下刷新。即使这样也需要将bios先downgrade到老版本,否则无法在新版本bios上刷新旧版本的patched bios。

2. 接下来需要创建一个Usb stick安装盘,包括hacintosh需要的bootloader。用Unibeast即可,这个步骤需要一台跑着OSX的机器来下载和运行Unibeast。
3. 然后用这个usb stick启动机器来安装,这一步和普通mac上安装osx一样。
4. 安装完成后需要运行MultiBeast来安装驱动和将bootloader安装到本地硬盘。

步骤2,3,4可以 参考这个链接

在用MultiBeast安装驱动的时候需要根据实际情况选择。
对于上面的硬件,我选择DSDT-free,audio选择ALC892,network选择 “Intel – hnak’s AppleIntelE1000e”。鉴于我安装在一块SSD上,我还选择了Trim patch。

一旦Multibeast将bootloader写入本地硬盘后这台机器就和普通Mac一样可以正常开机并且自引导。

下面是几个有用的链接

9TO5MAC, how to build a 4k Hackintosh on the cheap for fun and profit

硬件兼容性列表(每月都有更新)

搭建个人家用NAS网络存储服务器 [三]

上文 搭建个人家用NAS网络存储服务器 [二] 里讲了这次新NAS server的硬件,这篇讲讲软件。

首先,这次组home server的目的已经不仅仅是NAS,还想用虚拟化做几台VM跑一些web应用,所以在用何种虚拟化技术上动了点脑筋。
考虑过以下几种

  • ESXi
  • Xen
  • Solaris Zones

第一种ESXi安装起来最简单,VMWare的图形化配置简单易用,客户端还有中文版。但问题就在这个客户端上,它只有Windows版本(就算web client也是需要一台windows机器做web server)这给我造成了很大的不便,家里都是Mac和Linux。
第二种Xen的安装需要对Linux系统比较熟悉,并且配置大量依赖命令行(我没有装libvirt图形界面,用xl这个stack tool足够了)
第三种Solaris Zones我也曾经考虑过,那时候曾经想主机(Dom0)就直接跑OpenIndiana然后用Zones作虚拟化,最后作罢的的原因还是对Solaris不熟悉。

在决定采用Xen虚拟化技术的同时还有一点需要注意的就是CPU和主板都支持vt-d,这样可以直接把SAS控制卡和网卡直接pci passthrough给位于DomU的NAS系统,以达到接近于native的性能。Intel带K结尾的CPU都不支持vt-d技术(可惜了我的3770K),Z77主板除了Asrock的一款外也都不支持vt-d(又可惜了我的ROG M5G)

NAS本身的系统我还是选择了自己相对熟悉的FreeNas。曾经列入考虑范围的还有OpenIndiana(也就是OpenSolaris folk出的开源版本),最后由于对Solariz系统不熟悉和对FreeNAS漂亮GUI的依赖而作罢。

最终系统中软件的版本如下
Dom0:
Gentoo Linux 3.8.13-gentoo (我尝试过3.10.7 内核,Xen配置不成功)
Xen-4.2.1-r4 (4.2.2 下配合Xen-tools 有点问题,hvm DomU跑不起来)
Xen-tools-4.2.1-r5 (4.2.2-r3 下hvm和qemu被mask,遂降级至4.2.1-r4)

DomU:
FreeNAS我尝试过两个版本 (8.3.1-p2-X64, 9.1.1-X64) 可以顺利跑在DomU HVM下并且Dom0 pci passthrough LSI 9211-8i HBA controller和Intel 82579LM Gigabit ethernet card。
这里面有一个tricky的地方就是LSI 9211-8i 这块用SAS 2008芯片的HBA卡在通过Xen passthrough给FreeNAS的时候需要修改FreeNAS系统里的2个配置问题,否则系统启动中会遇到超时问题(如下)

run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config mps_startup
run_interrupt_driven_hooks: still waiting after 120 seconds for xpt_config mps_startup

解决办法就是修改FreeNAS上的/boot/loader.conf,加入以下两行 (默认情况下/boot 是readonly的,需要 mount -uw / 加载为可读写)

hw.pci.enable_msi="0"
hw.pci.enable_msix="0"

这个问题托 @delphij 的福已经开了bug ticket

至此我的第二台NAS server + home server顺利运转,并且主机上还能再跑几台VM弄点web应用。

如果还写第四篇的话,我估计玩的就是链路聚合 Link aggregation control protocol 或者是10GBase-T网络了

搭建个人家用NAS网络存储服务器 [二]

不知不觉距上文 搭建个人家用NAS网络存储服务器 [一] 发布已经快三年了。
第一篇中的主机后来给家人当做桌面机上网炒股打游戏,作为替换我尝试了HP N40L MicroServe (主要是捡到一台非常便宜的N40L) 加FreeNAS系统的组合,主要考量还是FreeNAS提供的ZFS磁盘格式比较吸引人,ZFS Snapshot是超越Mac OSX上时光机的终极快照备份工具。可惜的是N40L只有4个不可热插拔硬盘位,4个盘位跑RaidZ2略显尴尬,外加N40L的集成CPU性能较弱,应付RaidZ2略显吃力,在全负载读写数据下网络数据传输曲线惨不忍睹。加上最近家里宽带套餐换成了Business Class Internet,ISP提供了一个固定IP,于是想装一台新的home server在提供NAS的同时也可以跑一些web服务。于是再一次开始DIY…

这次装机考虑的主要是一机多用即主机上能跑多个虚拟机应付不同的应用,于是虚拟化能力成了选购主板和CPU的首要因素。Intel的VT-x和VT-d是必须的,前者在主流CPU上都有提供,后者是为了PCI device passthrough (Direct I/O)以保证提供NAS服务的虚拟机能直接操纵硬件以提供最佳性能。为了能将服务器仍在角落运转而不用担心死机重启,主板支持IPMI就显得非常重要。至于主板SATA的数量到不是最关键因素,决定上HBA控制卡来保证足够多的SATA/SAS接口。

于是乎有了下面的配置
Supermicro X9SCM-F (只有带F的型号支持IPMI)
Intel Xeon E3-1220 V2 (没有选择V3 Haswell平台主要是从功耗和价格上考虑,V2设计TDP 69w,V3居然要80W)
Kingston DDR3-1333 ECC unbuffered Memory 8Gx2 (主板只支持ECC内存)
LSI 9211-8I HBA 扩展卡
Seasonic 650W 80 Plus Gold (主要遇到打折,65美金实惠价,80+金牌能效比高一些)
OCZ Vertex2 128G SSD (以前机器淘汰下来的,仅作为系统盘够用了)
机箱这次用了Fractal Design Define XL R2,全塔ATX机箱,提供8个3.5寸,4个5.25寸驱动位,这个情况下应该足够了。
磁盘还没有全部到位,基本上准备上WD Red NAS driver红盘。

关于CPU的选择还有个插曲。我中途一度考虑过Xeon E3-1220L V2 这款2012二季度发布的CPU设计TDP只有17w,并且双核四线程带Vt-d简直是家用服务器首选。可惜这款CPU根本不针对零售市场,不管在美国还是中国都很难买到。淘宝上一度出现过一些ES版本的V1版喊价都在1200人民币以上,个别日本代购还喊出了1999人民币的匪夷所思价格。最终还是选择了Xeon E3-1220 V2这款好买又不算太贵的CPU,我买的价格是233美金不含税,如果最终感觉功耗过大可以在BIOS里关掉两个核以降低功耗。

主板的选择余地并不大,考虑到需要IPMI和虚拟KVM支持,基本上只有supermicro,Intel和ASUS这几家,考虑到名气和市场占有率选择Supermicro就不意外了。至于HBA扩展卡而不是硬件RAID卡,主要考虑因素是FreeNAS(或OpenSolaris)跑ZFS需要对硬盘的直接控制,用一款硬件RAID控制卡的话就等于中间额外架了一层,此外纯硬件RAID卡如果要支持RAID 6价格不菲。从性能上讲现代CPU已经严重性能过剩,以前硬件RAID的专用RISC处理器速度快,现在都已经可以完全靠软件Raid来提供同等性能。另外一个不得不考虑的地方就是硬件RAID卡坏了得找一块同厂家同型号的卡来把数据救回来,软件的就比较简单,接哪台机器上都一样用。选择这个型号是因为根据网上的评测,LSA 9211-8i这块卡上用的SAS 2008 芯片系统兼容性比较好。再次不得不说taobao神店多,这卡在淘宝上400-600人民币选择一大堆,在eBay/Amazon上都起码是200+美金,还是祖国好啊。

电源机箱没啥特别的,看到打折外加造型还可以就买了。电源唯一需要注意的就是实际运行中并不需要650w那么大功率,每个硬盘差不多十多w就搞定了,但是开机一瞬点启动电流会比较大,电源不能提供12V下足够电流就容易挂硬盘。我想也没有人会一个个慢慢热插拔硬盘来启动,所以还是选择名牌电源比较靠谱。

下文会讲具体的OS选择和虚拟化技术选择,提前预告下牵涉到了Xen的安装和具体PCI passthrough的配置…. 我想应该不用再等三年了

Mac OSX 上安装 cx_Oracle (for python)

系统: Mac OS X Lion 10.7.3 64bit
环境: Gentoo Prefix Bash / Python 2.7.3

首先从Oracle下载 Oracle Instance Client

Lion下需要安装32bit版本

  • instantclient-basic-10.2.0.4.0-macosx-x86.zip
  • instantclient-sdk-10.2.0.4.0-macosx-x86.zip

解压zip文件到同一目录下,得到类似如下文件

开始安装前需要设置环境变量如下
[code lang=”bash”]
# export ORACLE_HOME=[File Path]/instantclient_10_2
# export LD_LIBRARY_PATH=$ORACLE_HOME
# export DYLD_LIBRARY_PATH=$ORACLE_HOME
[/code]

还需要做一个符号链接
[code lang=”bash”]
# cd $ORACLE_HOME
# ln -s libclntsh.dylib.10.1 libclntsh.dylib
[/code]

接下来的安装过程就和其他python module一样
[code lang=”bash”]
# easy_install cx_Oracle
[/code]