升级至FreeBSD 7.0-BETA3

昨天给2号机cvsup了RELENG_7的最新代码,决定在Current还没有清晰的新目标前,暂且老老实实呆在RELENG_7一阵子吧。

看了一下版本号,没想到已经是beta3了,这应该是Release前最后一个beta了吧,难道传说的这个Release不会跳票真的实现了?? XD

接下来要做的是将一部分陈旧资料(其实主要是电影存档)搬到ZFS去,然后是恐怖的gnome升级至2.20,希望顺利。时间上就凭一个破P4已经没什么奢望了,做好长期开机build的准备。

另外今天make world时发现有一个变量是可以不让make delete-old时老提示是否删除的,记录之

make BATCH_DELETE_OLD_FILES=YES delete-old

亏得以前按到手软…..

Windows 2008命名以及上市时间敲定,WSV一同公布

具体发布日期将是明年2月27日,另外WSV正式命名为Hyper-V,根据产品定位以及是否集成Hyper-V将有8个版本,包含许可和售价罗列如下:

  • Windows Server 2008 Standard: $999 (with five Client Access Licenses, or CALs)
  • Windows Server 2008 Enterprise: $3,999 (with 25 CALs)
  • Windows Server 2008 Datacenter: $2,999 (per processor)
  • Windows Server 2008 for Itanium-based Systems: $2,999 (per processor)
  • Windows Web Server 2008: $469
  • Windows Server 2008 Standard without Hyper-V: $971 (with five CALs)
  • Windows Server 2008 Enterprise without Hyper-V: $3,971 (with 25 CALs)
  • Windows Server 2008 Datacenter without Hyper-V: $2,971 (per processor)”
  • 这里有点玄机不知道有人看出来没有,就是同版本带Hyper-V和不带的差价为28美刀。如果将这28刀看成是一个独立的全功能虚拟化软件,这价格未免也太白菜了点。关于这地方其实今天还有点小故事,betanews借此放出了“Hyper-V仅售$28”的新闻,结果晚些时候微软的新闻发言人通知他们强调说从不带Hyper-V的产品将无法升级至带Hyper-V的产品,同时也不存在单独销售的Hyper-V产品,因此也就不存在$28的Hyper-V了。不过以后会出现一种仅对OEM销售的售限Win2008,包含Hyper-V,同时也仅能用于虚拟化用途的专项产品,这玩艺恐怕就不能卖$28啦。

    明眼人仔细一分析,就知道这里面其实有规避反垄断相关法律的考量在里面,微软本是想直接把Hyper-V集成在Win2008里面。这肯定会导致反垄断诉讼,于是不得不推出没有Hyper-V的版本,然而从定价考虑微软还是希望所有人都去购买有Hyper-V的版本,所以出来$28这个意义大于实际的差价。然而同时如果给人可以升级的选择的话,也就意味着Hyper-V本身定价就是$28,这恐怕又会造成恶意定价打压其他厂商的事实,因此干脆不给你们升级的选择,因此这个$28的产品根本不存在。

    微软真是给欧盟罚怕了XD

    betanews的新闻链接见此:

    http://www.betanews.com/article/Windows_Server_2008_Versions_Announced_with_Few_Changes/1194884820

    另外还有个新闻是微软发布了用于IIS6的FastCGI模块支持,这样跑PHP,Perl,Python之类的CGI性能会有大改观,由于是官方的模块相信成熟度会很高,对于IIS的用户是个不错的消息。

    貌似在自动化部署方面也出了个BDD的东西,最近微软动作真大。

    相对来说,开源方面也就有个Fedora 8的发布这一个消息了吧,不过这个发行版最近越来越没人喜欢了。

    好戏还在后面,接下来FreeBSD的7-Release和明年的OpenSolaris才是重拳出击。这两年因为硬件架构方面的迅速发展以及网络等新应用的需求,操作系统领域也进入了让人眼花缭乱的新发展时期,有爱的兄弟姐妹们要速度跟上小心别被甩到火星去了。

    OpenSolaris Community Edition snv_76在VMWare中启动Panic的解决方案

    OpenSolaris Community Edition(以下简称SXCE)前两天发布了snv 76版本,不过很不幸的这个版本引入了一个以前版本没有的bug,会导致如果用VMWare跑它时会在启动时panic掉并自动重起。不过还好有解决方案,如下:

    用InstallCD或者DVD启动时在grub选单界面中按e,给启动项最后加一个-kd参数,然后确认按b继续启动,此时系统会boot入kmdb,然后输入“cmi_no_init/W1”,回车会出现这个变量变1的提示,然后输入“:c”,启动过程会继续,就不会panic掉了。

    安装到硬盘后第一次从硬盘引导还是会出问题的,所以要按上面的再做一次,正常引导后进入系统修改/etc/system,加一句set cmi_no_init=1即可,以后引导就不会panic了,也不用每次进kmdb搞了。

    另外这个bug应该会在snv_77修复。

    官方bug说明在此:

    http://bugs.opensolaris.org/view_bug.do?bug_id=6620982

    弱智的上海移通

    公司的网络一直是走得移动的企业宽带,貌似是光纤到楼的吧。3个月前去申请从2M扩容到10M。对方很早就说做好了,但是从我本地网关出口的流量监控来一直都没突破过2M。

    昨天下午,网络突然不通了,于是报修。半小时后来了个扛着笔记本的技术员,把本子往出口网线处一接,ping了下对端,不通,然后就说了句去对端机房看看,就跑了。

    然后就是持续到今天上午的网络瘫痪,移通的说法在换了n个版本后,网络还是依旧不通。

    一上午没办法干活不行,于是再把出口接上自己看看能不能查到线索,于是发现了如下tcpdump结果:

    09:55:00.006472 00:00:00:22:25:8c > ff:ff:ff:ff:ff:ff, ethertype ARP (0×0806), length 42: arp who-has 211.X.X.33 tell 211.X.X.34
    09:55:01.003376 00:00:00:22:25:8c > ff:ff:ff:ff:ff:ff, ethertype ARP (0×0806), length 42: arp who-has 211.X.X.33 tell 211.X.X.34
    09:55:01.763189 00:0b:be:51:b9:00 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0×8100), length 64: vlan 209, p 0, ethertype ARP, arp who-has 211.X.X.34 tell 211.X.X.33
    09:55:01.791808 00:0b:46:2b:e2:82 > 01:00:0c:cc:cc:cd, ethertype 802.1Q (0×8100), length 68: vlan 209, p 7, LLC, dsap SNAP (0xaa), ssap SNAP (0xaa), cmd 0×03: oui Cisco (0×00000c), pid Unknown (0×010b): ui/C

    34是我们网关IP,33是对端移通IP。可以发现中间这两条arp request很有意思。33找不到34,34也找不到33,明明就是一条物理链路上的,却两头抓瞎。再看ethertype发现对端33过来的包格式竟然是802.1Q封装,也就是封到vlan里去了,这样能互通才怪!

    可怜的移通技术貌似连问题在哪还没发现,打电话过去沟通,对方说昨天才给进行带宽升级,可能升级出问题了,然后又跟他们说了一通可能是vlan设置相关问题,结果对方似乎是一头雾水地应承下来了。

    然后又等了一段时间,发现还是没什么进展,于是自己想办法。既然对方把vlan透传过来了,那把自己的网关加入这个vlan应该可以解决,不过这边这台老掉牙的网关跑不起802.1Q,此路不通。然后突发奇想从垃圾堆里找了台支持vlan的2层交换机出来,设置某端口为trunk,透传vlan id209,接到移通对端的网线去,设置另一口为access口,也加入vlan 209,再接公司网关服务器。这样就将二层交换机与对端同并入vlan 209,同时在接网关前终结掉此vlan。配好交换机上电,果然成功,网络恢复。

     然后剩下的事就是去沟通究竟为什么透了个vlan过来,以及以后怎么解决的问题,总不能拖着个交换机永远这么跑下去吧。

    简评OpenSolaris的Developer Preview—-Indiana

    前一阵子放出来的这个玩艺儿,是属于OpenSolaris官方发布的一个发行版,这次是按照日程表放出来的Developer Preview,只是个Preview,连测试都算不上,因此feature complete自然也是不可能的。

    对于这种状态的东西自然是不太敢直接在个人PC上应用了,于是跑了个VMWare来体验这个地球上技术最领先的泛用内核所构建的发行版。

    还是无废话,直接谈感受:

    1. LiveCD上用了Grub做引导,一闪而过,貌似是个0.9X版本。
    2. 刚启动跳了条版权信息,提示选键盘类型,默认en-US回车掉,然后就挂文件系统,再然后就直接引导起图形界面了,速度快得难以想象。不知是内置的SMF(Service Management Facility)强劲无比还是本身就没什么服务可以起。不过像对于sysVinit,老SMF本身速度也还算可以,功能弱一点而已。
    3. 桌面是原装Gnome,绝对原装,没掺一点其他东西,连Clearlook都没改。另外是2.20这个版本。
    4. 预装了GIMP 2.4.0, Firefox 2.0, Thunderbird 2.0, and Pidgin 2.1这么几个东西。
    5. 桌面有个图标是安装到硬盘,这个就是传说中那个Slim Install的项目的成果。比较起其他类发行版的安装界面,可以说是直入主题,必须要有的基本有,想多要的现在没。也就这么几个步骤:选分区,选语言,设置root密码并添加一个普通用户,然后就等进度条复制文件,走到头就完事了。
    6. 安装完成后Reboot,又是grub。然后发现挂载的是ZFS分区,说明Indiana这个grub至少能直接从ZFS分区做root引导了,不错的成果,不知Raid0和5的root行不行XD
    7. 同样的急速进GUI,不同的是会停在GDM了,蓝玻璃风格不错,老规矩root不让登,普通用户进去了。
    8. 安装在硬盘的Gnome和liveCD也没什么区别。没有任何Indiana专有的图形配置工具,传说中的包管理系统也没看到。
    9. 接下来,除了firefox上上网,看看简陋地堪比90年代Linux发行版的中文字体外,应该没什么能做的事情了。

    说几点用VMWare玩的经验,以防地雷:

    • vmware tools要装,用solaris 10的版本,否则网卡驱动不起来。
    • 其间不要让它去创建xorg.conf,否则vmware tools不知道搞出一个什么样子的键盘驱动,会让你键盘上所有键错位,导致找不到Ctrl+Alt+Del而郁闷地关掉虚拟机电源。另外默认安装似乎根本没创建起xorg.conf来,都是粗糙地用default起来的。
    • 另外装前ln -s /usr/X11/etc/Xsession.d /usr/dt/config/Xsession.d,否则复制启动脚本会报错。

    总结:

    这确实是Preview,除了看看别做它想,相信你看完之后点shutdown却看到权限不够,非要起个terminal敲su root然后halt的时候就有体会了。

    但这丝毫不会影响我对这个系统的期待程度,因为它有一颗活力过剩的核心,再加上ZFS,Dtrace,Container等太阳系高科技,还有像NWAM,SLIM这样从企业应用角度出发的特性项目。

    有兴趣的请访问下面网址:

    Get the OpenSolaris Developer Preview

    伸手党请直接下载:

    http://dlc.sun.com/osol/indiana/downloads/current/in-preview.iso

    最后推两个评测文,第一个老外的,第二个国内的,图比较多,想看图的请移步,但对于这个东西,目前还未有从技术层次的相关文章。

    http://www.phoronix.com/scan.php?page=article&item=899&num=1

    http://www.qyjohn.net/?p=376

    OpenSocial和Android

    这几天Google的动作比较大,最引人注目的就是新推出的这两个东西了:

    OpenSocial,一个开放的SNS API,外面拿它来跟Facebook比,但我认为Google的野心不止是这点。

    Android,Google刚收购的一家公司,这东西是一个开放的嵌入式平台,同时包含一系列的开发生产工具,有了它就能做出有相当水准的基于Linux的移动终端。外面普遍认为这就是Gphone将要出现的前兆。

     从这两个东西来表面来看,Google现在的着眼点是新产品和服务的推出,分别应对在这两个领域的新兴贵族Facebook和iPhone。然而往深一点看,Google是在凭借本身的产品线优势去整合尚未有规范的新领域:只要将自己的API发展为既定标准,即使用户群达不到最大,也是SNS的最大赢家;同时Linux用于移动终端也是有数家企业和标准并存,只要自己支撑的产品成为新的标准,不管Gphone是否热卖,Google都会借此在以后的竞争中占据永久的主动,立于不败之地。

    回头看看Google的所作所为,与微软走过的道路不约而同,这是一家企业在发展到如此地步的必经之路,从一个产品领先者脱胎换骨成为业界标准制定者。Google现在有实力和自信完成这个角色的转变。

    只是不知道当Google变成又一个垄断巨头(假如可能的话)时,现在的狗fans们是否还会津津乐道现在的Google精神呢?

    区分几种知名散列算法的散列值的方法

    取自FreeBSD HandBook第14.4小节,刚才回顾手册时看到的。

     用 MD5 散列加密的密码通常要比用 DES 散列得到的长一些, 并且以 $1$ 字符开始。 以 $2a$ 开始的口令是通过 Blowfish 散列函数加密的。 DES 密码字符没有任何可以用于鉴别的特征, 但他们要比 MD5 短, 并且以不包括 $ 在内的 64 个可显示字符来表示,因此相对比较短的、没有以美元符号开头的字符串很可能是一个 DES 口令。

    再论Vista/Longhorn的声音问题

    早从Vista还叫Longhorn的那段时间,不少和我一样喜欢倒腾测试版操作系统的小白们就发现了Vista/Longhorn Server的声音跑得不是那么顺畅,容易出现暴音和跳音。当初我个人就写了一篇文章大致推断了一下问题并给出了个临时可用但不怎么好用的解决方案,见这篇:http://dawnh.net/windows/127/windows-vista-sound-issue/

    现在Vista都Release这么久了,Longhorn也命名为Windows Server 2008等着明年上桌了,这个问题在几次版本更新后表面上似乎给解决了,实际上还一直存在,只是没那么明显而已。

    Read More »

    64位Windows操作系统手工为驱动程序添加数字签名

    交作业的文章,其实装系统当天就搞定这个问题了,一直懒得写,现在也懒,流水账记录之。

    故障现象:Dscaler在系统升级为64位Windows 2008后不工作。

    原因:Dscaler的程序所调用的64位驱动不带数字签名,而MS自从Vista开始在64位系统加载内核驱动要强制签名了。

    解决方案:自己伪造签名。

    过程:

    1,打开系统的testsigning模式,使得非权威CA发放的签名可以使用
    bcdedit /set testsigning on

    2,做一个签名证书出来。

    MakeCert –r –pe –ss PrivateCertStore –n CN=dawnh.net(test) dawnh.cer

    3,把证书加进本机信任根CA中去。

    CertMgr -add dawnh.cer -s -r localMachine root

    4,给驱动签名。

    Signtool sign /v /s PrivateCertStore /n dawnh.net(test) /t http://timestamp.verisign.com/scripts/timestamp.dll dsdrv4.sys

     说明:

    1,dsdrv4.sys就是所要签名的驱动文件名称了,Dscaler默认安装的是32位的,64位的要单独下载

    2,MakeCert.exe,CertMgr.exe和Singtool.exe在基本系统中不附带,不过Plateform SDK,.netFramework SDK,Visual Studio里面都有,拣自己方便弄得安一个就是。

    3,命令中dawnh.net,dawnh都可以替换成你自己喜欢的,不过反正是fake的,你自己爱写什么写什么,如果要签其他驱动把dsdrv4.sys换成你要的文件名就是了。

    4,要reboot。

    5,testsigning打开后据说会影响到DRM,会使有DRM的玩意儿失效,不过我等贫民还没看见什么东西用DRM。

    6,喜欢学习的好同学想知道原理自己去啃文档:

    http://msdn2.microsoft.com/en-us/library/aa906247.aspx

    感想:

    1,打上testsigning开关后重起系统屏幕四个角会出来Test mode,上面中间会出来版本号和build。看起来很酷,不过还好不是Safe Mode XD

    2,如果我自己能这么做绕过MS的签名机制,病毒不是也能嘛。那强制签名和安驱动时跳个可以被屏蔽掉的警告框也没什么区别了嘛!噢,对了,所以才给你打个Test mode的标,别怪我没提醒 :D

    3,有没有给病毒或木马发证书的CA?

    ZFS under FreeBSD performace

    Clement大牛用izone做了一个ZFS的性能测试,他说结果很匪夷所思,看了测试图之后我们能说的也只有:确实很匪夷所思

    XXD

    测试看这里:

    http://blogs.freebsdish.org/clement/2007/10/18/more-on-zfs/