2009年1月1日星期四

服务器准备升级了

公司的4台Linux服务器是我在2006年装的,其中三台Ubuntu6.10,都是web服务器;还有一台gentoo是定制的反向代理服务器,负责公网入口,当时用ubuntu的一个很重要的理由是参加工作以来,我自己的桌面就是ubuntu,那么出任何的问题都可以考虑随着我的日常使用,从而更加熟悉的解决任何可能出现的问题;还有就是当时我们这里可以使用的最快的源是cn99,它上面支持的三个发行版本就是ubuntu,debian和centos,所以这三个发行版本自然成了首选。这近三年的使用下来,总觉得ubuntu作为服务器来说心里老是觉得不踏实,也不知道是不是我自己的问题,因为配置服务器更新的问题上一直没有解决问题;不是每台服务器都可以连接公网,所以需要借助一台机器来作为更新的Proxy,但是在ubuntu,APTProxy我一直就没有配置成功;以前总觉得它应该是基于debian而优于debian的,所以没有选debian而选择的它,不知道debian上有没有这个问题。6.10的支持期限很快就要到了,想趁这次调整服务器的机会来一次大的升级,那么选什么呢?ubuntu8.10? debian4.0? centos?还是我现在自己使用的archlinux?选择Linux发行版本,对于配置来讲一个linux老手来说其实区别都不大,但是使用一个发行版本就意味着你要熟悉这个发行版本的一套软件包管理体系,还有对于企业应用,还要考虑这个发行版本是否经历了大量的测试,是否稳定可靠,它后面的社区有多大,文档有多少,是否有商业的公司在推进,因此看了一下distrowatch上面的linux发行版排名。

centos, 它是redhat enterprise edition的社区打包版本,对于redhat公司的技术力量不用怀疑了,并且它的文档也是最多的,redhat也是我最早接触的linux发行版本。
ubuntu, 也有商业的支持,社区似乎现在是最庞大的,不过专注于桌面的方面占了大量的份额;它的开发维护文档基本就是参考debian的就够了,所以在它和debian之间其实我还更加倾向于debian,据说163的服务器全是debian的
gentoo,曾经是我的桌面最爱,我完全只用它使用了三年的时间,也觉得它的包管理体系实在是很好,很强大,不过对于每台服务器我可没有时间去折腾,编译更新。
arch,我现在使用的桌面,使用了半年之后,感觉作为桌面还可以,但是如果放到服务器上去,感觉怕怕的,都是最新的软件,也不一定经过了详细的测试。
freebsd, 挺向往的一个纯血统的unix系统,还有就是传说的RockSolid Performance,不过想了好多年了,就一直没有狠下心来抛下Linux随BSD去,怕了学习成本。

现在人开始变得现实起来,开始发现商业和利益驱动的力量也不可小觑,高手也是要吃饭的,所以更加倾向于背后有商业支持的Linux版本,Redhat公司在Linux里面做的贡献就很值得钦佩,所以对于centos确实是比较想,并且以前烦躁的RPM包依赖问题,现在有了yum已经不成问题了;而debian在业界的广泛使用也让我倾向于选择它,所以再看看,看看它是否能完美解决这个集群更新的问题~

2008年12月27日星期六

Arch的Udev和hal更新

这个问题其实困扰我很久了,我也一直把udev和hal放在了IgnorePkg里面,阻止它升级;昨天晚上睡到半夜突然想到这么一个问题,splahy是否影响了系统造成不能启动呢?以前一直以为是hal的问题,造成不能mknod,之前体现的症状也像,提示我/dev/sda6, /dev/sda9不能挂载,但是/dev/sda8才是我的root阿,/etc/rc.sysinit报错,说找不到dev/vc/XX等的,在Google上搜了一下/etc/rc.sysinit,果然是这个问题,是initscripts-splash造成,之前装splashy,由于依赖关系,装了initscripts-splash,而取代了系统的initscripts,系统升级之后,并不知道已经是initscripts-splash了,新的initscripts也没有取代老版本的initscripts-splash,并且splashy升级之后,也没有提示更新它的依赖到新的initscript-splashy,如此这些东西造成了udev,hal的升级不能应用,把系统中的splahy移除算了,反正archlinux启动速度快,使用splashy也没有太大的意义,更为重要的是它要取代系统的两个包,sysvinit和initscripts,所以还是不装算了,避免下次又造成问题。

2008年12月18日星期四

绝望主妇中一个令人感动的场景

Carlos复明了,慢慢的能看清东西了,发现了他祖父传下来的一个球星签名的棒球不见了,他首先坚持让Gabi把它弄回来。Gabi去了,甚至不惜满足那个意大利人的变态要求在桌子上跳舞来拿回那个球。后来场景转到了Carlos洗完澡换衣服到衣帽间,他发现Gabi的名牌衣服,鞋子几乎都没有了,全部被Gabi变卖以维持家用了,只有少数的几件普通衣服。后来Gabi把球拿回来了,Carlos却把球重新变卖了,给Gabi换了一件名牌的衣服回来,看到这里,觉得很温馨,想想Gabi由一个International Super Model,到这样一个主妇,并且照顾瞎子老公五年,用尽办法维持这个家,抚养起了两个孩子,真是敬佩,老天终于开眼了,Carlos复明,为他们高兴ing.

2008年12月11日星期四

老了?老大不小了!

不经常上QQ,对于同学的近况也不是特别了解,大学同学,高中同学,天南地北,一般的同学更是杳无音讯,托网络的福,似乎还能借助QQ,MSN保持那点联系,可是随着年纪的增大,很多同学包括我自己根本就不怎么愿意上QQ,所以真正好的哥们啊,电话联系才是真的,也许大家现在都有着自己的朋友圈子吧。

今天不经意的逛到QQ空间的订阅里面去了,发现有高中同学结婚了,快当爸爸了,突然很感叹,一是自己老大不小了,似乎还没有这方面的打算;而是对于这些同学朋友啊,关注得太少了!

2008年11月18日星期二

QT使用GTK外观 - 不是一般的兴奋

今天偶然从网上看到现在QT程序可以使用GTK外观了,不过它还在奇趣公司的labs里面,SVN下来装了一下,果然不同凡响,以后都不用担心使用QT程序会使得我的系统“混乱”的感觉了,要知道以前我对于QT程序都持排斥的态度的,除非万不得已,否则我肯定不会在GTK下用QT程序的。对于QT也越来越感兴趣了,它现在居然还提供了Java API编写GUI程序。最后,要是Java程序可以原生使用QT Look and Feel,我倒是可以考虑用KDE了,新东西蛮吸引我的:)

2008年11月9日星期日

找个聪明的女人结婚

今天在等飞机的时候跟同事聊天,很惊奇的发现同事居然和老婆分居多日并且已经走到了准备离婚的境地。之所以吃惊,是因为这场婚姻持续还不到两年,孩子还不到两岁。先不管是什么原因,离婚对于两个人(三个)人的影响有多大,不用说了。我自己是肯定不愿意走到这样的境地的,要是如果知道将来要离婚,我宁愿一个人孤单的过一生。

对于这个同事,还算是比较了解的,他绝对不是那种不耐烦有脾气的人,在这一点上比我强多了,也就是说他吵架的几率肯定比我低。也许是他们不合适吧,他们是属于闪婚型的-从相识相恋到结婚生儿子,总共只用了一年多一点点的时间~可是时间这东西啊,也不是拿来评判的标准。

身边的朋友同事离婚,已经出现了两例了,另外是一个很好的女性朋友,拿了证还没有办酒就离了婚,当她告诉我时,我更加是惊异不已,更是为她感到不值。然而从反面去想,这是不是一个很庆幸的事情呢?难道生了孩子,熬成黄脸婆去离婚?正闹离婚的这位同事今天说,他什么都可以不要,孩子的抚养也随女方定,他只求离婚求个解脱,男人什么时候会逼到这样绝望的地步?

我记得一个长我二十年的领导说过,男人找老婆啊,外表不重要,出身不重要,能力也不是太重要,但是要够聪明,因为聪明的女的,不会让你夹在老婆和老妈之间难做,也不会随意猜度你的行为,不会无理取闹找你吵架。聪明的女人,这和中国传统中“女子无才便是德”的理论完全背道而驰,而我觉得是异常正确的,因为我觉得我可能没有耐心忍受一个笨女人的无理取闹~

《好女人像一所学校》,我记得这篇网文我度过好些遍,其中所说的美丽女人就是聪明的女人,很让我向往~总之,要结婚,就找个聪明的女人吧。

2008年11月8日星期六

Arch系统升级要注意的几个小问题

最近Python世界变动比较大,主要是Python26的推出和python3k要在Dec 3推出,如果用Archlinux,总是习惯用pacman -Syu升级的人可能要留个心眼了。
第一:往Python26升级其实没有太多必要,它只是一个过渡版本而已,要用新特性不如等python3k,用Python26会造成一些问题,首先就是地球人都知道的是TurboGears不支持;还有就是在我这里easy_install不能用,老是卡在某个位置就不能装了,即使很多东西能用,但是免不了报警告,比如md5现在变成了hashlib包,sets不能用了等等。其实呢,勉强用python26也是可以的,在arch中,/usr/lib/python2.6/site-package也在python26的路径中,所以arch下一些针对python2.5编译的软件,比如Fusion-icon等也能正常使用。
第二:有包显式的依赖openjdk6,比如tomcat,这个让我着实烦躁,升级到openjdk我看不到什么好处,用sun的jdk一直都不错,但是用openjdk,如果gnome中使用次像素平滑中文字体显示会有问题,我至今都没有搞明白原因。
从这两点,比较arch和Gentoo,我感觉arch的包管理机制远远不及gentoo的做得好,对于python这种很多系统管理脚本需要的包,升级应该谨慎一点。并且如果想忽略什么软件包在arch里面特别的不方便,可以写在pacman.conf的IgnorePkgs中,但是不能注明版本号,忽略了Python的自动升级,那么做全系统升级时,其他的软件包也会提醒你是否要安装,如果你选择否的话,整个升级过程都被终止了,所以从此之后你就不能随便pacman -Syu了,除非你把所有有依赖的包全部写到IgnorePkgs里面去,而不是像gentoo那样智能处理这样的问题。并且值得一提的是gentoo的python升级都是有专门的工具的,来保证整个系统的统一性。这么看来,archlinux还是有点随意了。要不是懒,不喜欢重装系统,所以喜欢滚动升级,又不喜欢在办公室看着gentoo编译,可能都不会考虑用Arch Linux了。