充实的一周

六十年之国庆日即将到来,对我们来说也算是个“利好消息”,因为这段时间里来自客户方面压力会减小不少,我们可以更多的做回自己-静下来做一些想做的、该做的事情。

上周末重温了一遍李开复的《做最好的自己》,三年前从书市买下了这本书,但仅仅翻了前三章后就将之束之高阁了。三年后的今天再次完整的阅读这本书,也许是工作的年头多了,关于理想、学习和沟通等方面的共鸣和感悟也就多了些。最欣赏书中引用《读者》中的那一段话:“你不能决定生命的长度,但你可以扩展它的宽度;你不能改变天生的容貌,但你可以时时展现笑容;你不能企望控制他人,但你可以好好掌握自己;你不能全然预知明天,但你可以充分利用今天;你不能要求事事顺利,但你可以做到事事尽心”。

Borland传奇》是我在上周末快速翻阅的另一本书,对于我这个对Borland公司没有太多感情的程序员(早期用过Turbo C,后迅速被Visual C++所替代)来说,这本书谈不上有多精彩,书中对传奇人物的塑造仅限于罗列成果,缺少于一些细腻的人物和场景刻画,让人读后印象不是很深刻,当然这和本书的立意是有很大关系的,作者出身技术,主要是想让大家了解Borland当初的那段历史,以史为镜。

本周工作的一个重要部分就是产品的性能优化,第一步“锁”使用优化。历史上因为总总原因,产品中关于'锁'的种类和使用方式都存在不合理之处,有不合理的地方就有优化的余地。重新封装了Native RW lock,花了一天时间做锁性能对比测试:RW lock vs. mutex lock!测了大半天没有出现我预计的结果。下班回到家中继续测试,居然发现测试代码中一处参数传入错误,导致进程间根本就没有共享mutex,而是创建了private mutex,怪不得mutex锁运行的如此之快。修改参数后,结果果然如预期,RW lock性能更有,在多进程下并行性更好,这也符合常理。

公司已经开始强制要求使用Open Office了,MS Office在不久的将来就将从我们的办公环境中彻底消失。由此推测,Windows被禁也将不远矣,为什么不提前做改变呢?加之很多产品在做Linux迁移,Linux可谓大势所趋。Linux对我来说并不陌生,但是也谈不上很熟悉。以前倒是多次接触过Ubuntu这个热门的Linux发行版,但是都因各种原因没能在工作中真正的使用起来。这次花费大力气借调来一台高性能(起码性能要比我的本本好很多)的PC Desktop,委托同事(其家里宽带的带宽是4M)下载并刻了Ubuntu 9.04的安装盘。Ubuntu的安装做的真是愈来愈好了,仅仅用了不到一个小时,分区、格式化、安装和网络配置就全部OK了。按照Ubuntu 9.04官方推荐更新了源(sources.list),安装了telnet服务(习惯了telnet,你大可以选择更加安全的ssh),方便远程访问;原本想在我的本本上安装TightVNC Viewer,使用远程桌面管理Ubuntu,后来还是觉得不爽,干脆将台式机搬到跟前来操纵^_^。由于Linux默认支持的字符集是UTF-8,所以通过telnet远程访问Ubuntu时要将你的terminal的字符集设置为UTF-8,这样中文才能正确显示出来。

安装语言包的时候倒是遇到了一些麻烦,点击系统->管理->语言支持,更新中文包,但是下载了半天也没有反应,尝试了多次都没能成功,没有中文语言包,桌面无法中文化,最大的不妥之处在无法输入中文。后来只能尝试在命令行下利用apt来install语言包,在网上得到中文语言包对应的名称,执行下面命令完成安装:
sudo apt-get install language-pack-zh
sudo apt-get install language-pack-gnome-zh
sudo apt-get install language-support-input-zh language-support-fonts-zh
sudo apt-get install language-support-translations-zh language-support-extra-zh

重启后,中文界面出现,中文输入也再正常不过了。

Ubuntu的提示/错误蜂鸣音无法通过系统音频属性关闭,在网上找了找资料,发现了解决方法:
在desktop下的terminal下将下面语句添加到.bashrc中,并source .bashrc生效,之后蜂鸣音消失。
setterm -blength 0
xset -b

用性能高的台式机跑Ubuntu很流畅,再也没有以前用笔记本跑Ubuntu时firefox速度奇慢且总阻塞的情况了。初步计划用一个月时间来适应用Ubuntu作为首选工作平台。

十一没有出游计划,八天的长假打算以书为伴,这样在十一前就要“广积书”,现在到手的包括:“ShowStopper”(观止-微软创建NT和未来的夺命狂奔)、“杜拉拉升职记”两册。

今天晚上的手机报上有一道测试题,这里贴出来,你不妨测测:
    每个人写日记时都有个人的习惯,而从各自的记日记习惯则可以得知自己的个性特点,你的选择是:( )
  A、喜欢在日记上叙事、记事
  B、喜欢在日记中议论他人
  C、把日记当作发泄对象
  D、爱在日记中对人事抒发感慨

    答案:
    A、一般说来,喜欢在日记上叙事、记事的人,注重交际,善于思考,办事有主见,常自我独醉,对未来持乐观态度,自信心强。
  B、多在日记中议论他人的人,自尊心强,思想保守而尊重传统,处事谨慎,个性冷静,不大合群,不喜欢在人前流露自己的感情;但却非常尊重别人对自己的感情。
  C、把日记当作发泄对象,把自己的不快或烦恼经常长篇地倒在日记中的人,性格内向,感情丰富,富于幻想,爱交朋友;却不太信任别人,且疑心较重,常自寻烦恼。
  D、爱在日记中对人事抒发感慨的人,喜欢追求时髦,赶潮流,热情开朗,平易近人,能够适应各种环境,办事俐落,生活井井有条,富有幽默感,交际能力强;但却容易轻信他人,且不拘小节。

Solaris 10安装二三事

部门服务器资源向来都比较紧张,每当忙碌季节到来,服务器资源消耗都较大,开发人员总是抱怨编辑代码慢、Build慢以及磁盘空间不足等问题,严重时甚至无法工作。部门也一直在尝试改善这个问题,无非加服务器、加磁盘等,但是这些措施似乎都难以满足开发和测试人员日益增长的对服务器资源的索求。

为了尽量在组内杜绝上述现象的发生,决定搭建多台PC Server给组内开发人员使用,让大家工作的更有效率,更独立自由,不受共享服务器的约束。因负责部门内部服务器的系统工程师出差在外,无奈委托一个热心同事尝试去安装一下Solaris 10 for x86版本。这位热心同事很积极也很快的将Solaris 10安到了那台空闲PC Server上。但是上午我发现系统的网络仍然未配置,决定亲自手工给这个Server配置网络参数。

对于Solaris系统的配置和管理,我就是一菜鸟级选手,一切都要从头来-到网络上查找资料。找了半天仍是一头雾水。又想到利用Solaris 10提供图形化界面去配置,但是居然没有找到对应的工具或程序的位置。只能向家中另外一位系统工程师同事求助。这位同事也是热心肠,还亲自过来为我配置网络。在他配置的过程中,我也学到了网络配置的一些皮毛。

首先查看网口是否激活,如果没有,则找到网口设备名称,并激活网口服务:
在这台Server上,执行ifconfig -a发现,只有lo0这一个本机LOOPBACK虚拟网口,显然该主机物理网口没有被激活。

寻找这个网口设备名称:
cd /dev
ls -l|more
一般网口设备名称都类似:bge0,hme0等。发现我的这台主机网口为bge0。

激活该网口设备:
ifconfig bge0 plumb up
这回你再执行ifconfig -a,你将会看到bge0网口,但是该网口尚未分配IP地址和掩码。

如果你要临时设置该网口IP和掩码的话,可直接使用ifconfig命令(ifconfig bge0 HOST_IP netmask 255.255.255.XXX)进行,但是这样的设置在主机重启后将无法保留下来。那我们就说说永久保留设置的方法。

设置静态IP:
vi /etc/hosts,在结尾添加一行:HOST_IP   主机名  loghost
vi /etc/hostname.bge0,该文件可能需要你手工创建,只有一行:主机名

设置子网掩码:
vi /etc/netmasks,增加一行格式诸如:"network-number  netmask"。如果主机IP为10.10.12.77,掩码为255.255.255.0,则你可添加"10.10.12.0 255.255.255.0"。

设置网关/默认路由
vi /etc/defaultrouter,直接将你的网关的IP写入即可。

重启系统后,网络算是通了。无论是从本主机访问其他主机,还是从其他主机访问这个主机都没有问题了。但是还有一个问题:打开Firefox无法打开网页?应该是DNS没有配置,配置方法如下:

vi /etc/nsswitch.conf,在hosts:   files后面加上一个"dns",即该行变成:"hosts:   files dns",保存退出。
vi /etc/resolv.conf,每一行是一个DNS服务器,格式如:nameserver xxx.xxx.xxx.xx

配置完,firefox顺利打开了外部网页。

配置完网络本以为该主机可以投入正式使用了,但无意间却发现'/'分区下空闲空间仅剩下20%多了,70%的空间已经被使用,再细致一看,发现'/'分区分配的空间太小了,不仅如此swap交换分区仅仅分配了500M的空间。经沟通得知,首次安装采用的是默认安装,才有了此结果。由于无法动态扩展'/'和swap分区大小,无奈只能重装,否则日后问题更多。

Solaris10的图形化安装果真比不了Ubuntu,更无法与Windows相比了,不过我还能应付,这次我选择了自定义安装,并在安装阶段就将网络配置好了。一个小时左右,安装过程结束,进入桌面,需重新按上面步骤配置DNS,其他就无需配置了。

从其他机器Telnet访问该主机,居然提示:"telnet: Unable to connect to remote host: Connection refused",是我的网络配置错了?ping和traceroute都正常,而且从这台主机Telnet访问其他主机都没有问题,估计是Telnet服务没有启动,通过“netstat -an|grep LISTEN”并未看到在监听23端口,但是如何启动Telnet服务到不是很清楚,在询问了系统工程师后,执行了一下:svcadm enable telnet,Telnet服务瞬间启动了。同理,Ftp服务也是如此。svcadm应该是Solaris 10新增的系统管理工具,低版本的OS可能都不具备这个命令。

再次从别的机器telnet这台服务器,并用root用户登录,提示:"Not on system console, Connection to xxx.xxx.xxx.xxx closed by foreign host",这又是怎么回事?从系统工程师那得到的答案是:默认不允许root用户远程登录。可打开/etc/default/login这个文件,并将“CONSOLE=/dev/console”这行注释掉就可以了。

下班前终于将该主机安装配置完毕,可正式投入使用了。但是在下班路上与另一位同事探讨这个安装配置问题时,他提示我还有一处遗漏:那就是/var没有单独分区,而是与'/'分区共享,这样给以后的使用带来了一些隐患,在测试和运行一些大程序时/var很容易被占满,导致程序无法正常运行。在不再重装系统的前提下,只能考虑定期清理/var下的文件了。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言精进之路1 Go语言精进之路2 Go语言编程指南
商务合作请联系bigwhite.cn AT aliyun.com

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats