清扬婉兮,生日快乐

By , 2007年11月29日 7:46 上午

今天是清扬婉兮第三个生日,也是我第二次没有能够给清扬婉兮过生日。

刚才打电话回家,咪咪说婉清一直不肯入睡,就站在床上,扒着栏杆往门口看。问她为什么不睡觉,就说:想爸爸呢,爸爸什么时候回来啊。

凌晨六点,站在旅馆的阳台上,想着咪咪和婉清,泪流下来。

我的家不在北京,也不在海南。我的家,在空中某架飞机的座位上。

这颠沛流离的生活哪……

P.S. 在写今天开会用的幻灯片,在开始和最后的地方都放了小姑娘大大的照片,让同事们都看看我们家可爱无敌的小姑娘。

退学了!

By , 2007年11月15日 8:27 下午

昨天去幼儿园给清扬婉兮办了退学手续,这样我们家小家伙就正式的从幼儿园退学啦。

坦率地说,清扬婉兮在幼儿园还算是适应的比较快的。除了最开始的两个周之外,送进幼儿园的时候基本上都不哭也不闹,中午睡醒之后向爸爸妈妈了会哭一小会,但是在阿姨的劝说一下很快就和其他的小朋友玩上了。退学的原因,主要是生病。前面我已经说过,幼儿园就是个大病房, 每天都有孩子生病,通风条件也比较差,没病的孩子呆在这样的环境里基本上就没有理由不被传染上。我们家清扬婉兮就是这样,好好地去了幼儿园然后又是咳嗽又 是流鼻涕的回家来养病,等到不咳嗽也不流鼻涕了在回到幼儿园去。可是送过去没两天,就又是咳嗽又是流鼻涕的回来了,然后又呆在家里养病。结果我们九月份就上了七天幼儿园,而十月份更是夸张,只去了四天!我和咪咪一商量,反正都是在家里呆着,与其又是咳嗽又是流鼻涕的在家里呆着,不如好好的在家里呆着。而要想好好的在家里呆着,当然是不能够再去幼儿园这个大病房了。

清扬婉兮对退学之事极为赞成。对于她来说,呆在爸爸妈妈的身边永远是最开心的。

真的不知道应该怎么说那些孩子生病了还往幼儿园里送的家长。//sigh

Indiana — 启用、重启和关闭服务

By , 2007年11月15日 1:11 上午

(由于本人水平有限,此部分的内容大幅度地抄录了段风雷编著的《Solaris 10红宝书》中的第9 章《Solaris 10的预测性自我修复》的有关段落。抄录的部分仅是针对初学者有用,如果您需要进一步了解与本章节有关的技术细节,建议您购买此书深入学习。)

Solaris 服务管理器(Service Management Facility, SMF)是Solaris 10以及后续版本的Solaris操作系统当中采用的软件服务管理工具。SMF按照服务的相关性来启动、停止和管理服务,并兼容现有的管理习惯(如启动脚 本等)。对于使用过Windows的读者来说,SMF的功能类似于“控制面板”中的“服务”;对于使用过Linux和Unix的读者来说,这个功能部分替 代了/etc/rc*.d中的启动脚本和超级服务器inetd/xinetd的功能。

SMF特性简介

当出现了管理错误、软件缺陷或者是硬件缺陷导致服务程序异常中止的时候,SMF可以自动按照一定的次序重新启动服务。

使用svcs命令可以查看所有的服务,而是用svcadm和svccfg命令可以管理所有的服务。使用svcs -p命令可以查看与本服务相关联的其他服务。

通过服务快照设置可以很容易地实现服务的备份和恢复。

通过svcs -x命令可以很容易地对服务进行调试,并且可以使每个服务都有自己的固定日志。

所有的服务都可以通过svcadm进行启动和关闭。具有相应角色的非root用户也可以启动、修改和关闭服务。

SMF服务标示

SFM服务标识(Fault Management Resource Identifier, FMRI)指的是服务实例的命名。举个例子,rlogin服务的FMRI是svc:/network/login:rlogin。

同理,类似的FMRI还有svc:/system/system-log:default。

SMF服务状态

服务的状态包括如下几种类型:

状态标示 状态描述
degraded 服务已经启动,但是在受限制的状态下运行。
disabled 服务处于关闭状态。
legacy_run 这个服务目前无法被SMF所管理,但是可以被SMF所监测到。
maintenance 维护状态。这个服务有大量的错误并且应该有系统维护人员进行修复。
offline 这个服务已经启动,但是处于离线运行状态。
online 这个服务已经启动,并且处于在线运行状态。
uninitialized 这个服务尚未初始化。

SMF相关命令

下面我们通过几个具体的实例来介绍SMF的使用方法。这些操作需要您首先拥有root权限。

(0) 获得root权限

# su
(此处需要输入您的root密码。)

(1) 察看所有服务的状态

# svcs -a

(2) 察看sendmail这个服务的状态

# svcs sendmail
# svcs -l sendmail

(3) 察看sendmail这个服务所依赖的其他服务的状态

# svcs -d sendmail

(4) 关闭sendmail这个服务

# svcadm disable sendmail

(5) 再次察看sendmail这个服务的状态

# svcs sendmail
# svcs -l sendmail

(6) 启动sendmail这个服务

# svcadm enable sendmail

(8) 再次察看sendmail这个服务的状态

# svcs sendmail
# svcs -l sendmail

(9) 重新启动sendmail这个服务

# svcadm restart sendmail

进一步的练习

由于大部分网友和sendmail这个服务打交道的机会比较少,在这里我们利用SSH这个服务来做一个进一步的练习,以加深各位对SMF服务的了解。

SSH 是一种加密远程传输的协议,可以用于登录远程的服务器。和我们经常使用的telnet所不同的是,通过SSH进行传输的信息是经过加密的,所以不容易被第 三方所截获和破解。在大部分的Unix/Linux发行版上都提供了SSH服务器和客户端,OpenSolaris Developer Preview版本也是这样。

在缺省的状态下,在OpenSolaris Developer Preview版本上SSH服务是打开的。我们可以使用svcs命令检查一下这个服务的状态:

# scvs ssh

如果SSH服务确实是打开的,我们可以在命令行下通过SSH连接到本机。

# ssh localhost

如果没有什么意外的话,我们应该可以看到要求您输入密码的提示。这是因为SSH客户短缺省地使用了您当前的用户名作为登陆用户名,因此您只需要提供您的登陆密码就可以了。

现在我们关闭SSH服务,然后检查该服务的状态:

# svcadmin disable ssh
# svcs ssh

可以看到,这时候SSH服务已经被关闭。如果我们再次尝试通过SSH连接到本机的话,会由于超时而连接失败。

# ssh localhost

现在我们启用SSH服务,然后检查该服务的状态:

# svcadmin enable ssh
# svcs ssh

可以看到,这时候SSH服务已经被起用。如果我们再次尝试通过SSH连接到本机的话,会再次看到要求输入密码的提示。

# ssh localhost

Unix-Center.Net标示设计评选

By , 2007年11月13日 2:37 上午

Unix-Center.Net的标示设计候选方案终于出炉啦。请各位网友投票选择你最喜欢的LOGO,或者是这些LOGO设计进行评价。我们希望 尽快选 出Unix-Center.Net的LOGO来,这样我们就可以制作自己的T-Shirt衫了。在未来Unix-Center.Net的活动中,我们将大 量的向Unix-Center.Net的网友赠送印有Unix-Center.Net标示的T-Shirt衫,以进一步扩大Unix- Center.Net在开发人员当中的影响力。

如果您有更好的LOGO设计,也请您将您设计的LOGO上传上来。说不定我们最后采纳的方案就是您设计的LOGO呢。

点击此处进入Unix-Center.Net的论坛系统进行投票。

使用IPS安装、升级和删除应用程序

By , 2007年11月11日 6:56 下午

Indiana项目当中的最大亮点,毫无疑问是全新的映像包管理系统(Image Packaging System,IPS)。在OpenSolaris Developer Preview版本当中包括了IPS的原型。虽然这个原型还没有实现所有的设计功能,但是我们还是可以根据这个原型来了解在下一代的Solaris操作系统中如何安装、升级和删除应用程序。

IPS是一个软件生存周期管理(安装,升级和删除)的框架,它以包为单位来对软件进行管理。每个包使用一个出错管理资源标示(Fault Management Resource Identifier, FMRI)来代表。所有的包的FMRI方案(FMRI scheme)都是”pkg:”。一个完整的出错管理资源标示包含其FMRI方案,发布方(authority),包名称(package name),以及版本描述字符串(version string),例如:

pkg://opensolaris.org/library/libc@5.11,5.11-0.75:20071001T163427Z

其中”pkg:”是一个FMRI方案,”opensolaris.org”是发布方,”library/libc”是包的名称。在包名称后使用字符@来连接包的版本号。在这个例子中”5.11,5.11-0.75:20071001T163427Z”就是包的版本号。

下面介绍一些常用的命令,这些操作都需要您事先成为超级用户:

# su
(在此需要输入您的root密码)

从服务器获取更新的包列表:

# pkg refresh

列出IPS库中所有的包。

# pkg status -a

从IPS库中选择安装某个包。IPS会检查该包的依赖关系,并且自动地安装该包所依赖的其他包。

# pkg install -nv packagename

删除某个包:

# pkg uninstall packagename

检查某个包当前的状态:

# pkg status packagename

搜索包名称中带有字符串token_string的包:

# pkg search token_string

更多参考资料:

http://opensolaris.org/os/project/pkg/documents/

妈妈被车撞了一下

By , 2007年11月11日 3:21 上午

今天家里打电话来,说是妈妈被车撞了一下。当时妈妈骑着摩托车去联系给家里的新房子安电话,在路上被一辆小轿车从后面撞到了。妈妈从摩托车上摔倒在地,而撞了妈妈的那辆车稍微停了一下,然后迅速逃逸。妈妈被朋友送去医院,所幸除了手臂有点扭伤之外没有其他的问题。另外,有在现场的目击者向交警报案,目前已经确认肇事车辆的车牌号码。

这个世界真的是好危险啊。活着真不容易,一定要小心,再小心。

在VMWare上为OpenSolaris Developer Preview配置网卡

By , 2007年11月7日 8:09 下午

将OpenSolaris Developer Preview版本在VMWare上安装成功之后,发现网卡没有驱动起来。在indiana-discuss@opensolaris.org这个邮件列表中询问了一下,得知需要安装vmware-tools。

安装vmware-tools很简单。在虚拟机中将OpenSolaris Developer Preview启动起来之后,点击VMWare主菜单,选择VM -> Install VMware Tools。

在跳出来的窗口中点击“确定”之后,桌面上自动打开一个文件管理器,里面有一个文件vmware-solaris-tools.tar.gz。

双击该文件,在随之出现的归档管理器界面中点击“Extract”将该压缩文件中的内容解压缩到你的Desktop文件夹当中。

从桌面左上角的Applications菜单中选择System Tools -> Terminal,启动一个终端模拟器。运行如下命令:

# su
(这里需要输入你的root密码。)
# cd vmware-tools-distrib
# ./vmware-install.pl

在安装vmware-tools的过程中安装程序会询问一些文件的安装位置。对于不熟悉系统配置的开发人员来讲,建议的处理方法是直接回车即可。安装完vmware-tools之后,安装程序会自动调用vmware-config-tools.pl,并且会出现如下错误:

Unable to copy the source file /usr/lib/vmware-tools/configurator/autostart-vmware-user.sh to the destination file /usr/dt/config/Xsession.d/9999.autostart-vmware-user.sh.

Execution aborted.

解决的方法是

# su
(这里需要输入你的root密码。)
# mkdir /usr/dt/config/Xsession.d
# vmware-config-tools.pl

按照配置程序的提示选择您所需要的分辨率以及其他设置,即可顺利完成vmware-tools的安装和配置。在你重新启动虚拟机之前,一定要作如下事情:

(1) 在虚拟机中删除掉刚才在配置过程中自动创建的一个xorg.conf文件:

# su
(这里需要输入你的root密码。)
# cd /etc/X11
# rm xorg.conf

(2) 修改你的虚拟机的网卡配置:

假如您的虚拟机安装在Windows操作系统下,虚拟机的目录位于E:/VMware/Indiana,那么这个配置文件是E:/VMWare/Indiana/Solaris 10.vmx。使用文本编辑器打开这个文件,找到下面这一行参数:

ethernet0.present = “TRUE”

在其下面加入一行新配置:

ethernet0.virtualDev = “e1000”

保存这个文件,重新启动虚拟机之后,网络就应该配置好了。

如果在你重新启动虚拟机之前没有按照如上步骤的说明删除xorg.conf的话,那么等待着你的简直就是噩梦 — 虚拟机启动之后,你会发现虚拟机中的键盘全都乱套了。譬如说,你输入的是字母a,那么在输入框里根本不会有任何反应,但是当你输入字母s的时候,字母a 就会出现在输入框里。也就是说,你的键盘被右移(当然你也可以说是左移)了一个键。在这种情况下,不管是多么有耐心的人,也无法通过登陆界面登陆进入操作系统了。

不过解决方法还是有的。那就是在系统启动进入Grub界面的时候先按一下e键,然后再按一下e键,在随后出现的启动参数中增加一个参数-s (空格,然后-s),然后按一个回车,然后按一个b键。完成这一个步骤之后,系统会启动进入单用户模式(在某个时候需要输入你的root密码)。在单用户模式下执行如下命令:

# cd /etc/X11
# rm xorg.conf
# reboot

现在一切都应该OK了吧。

在VMWare上安装OpenSolaris Developer Preview

By , 2007年11月2日 12:35 上午

2005年Sun 公司正式公布将Solaris操作系统开放源代码。今年5 月份,Debian Linux的创始人Ian Murdock加入Sun 公司,开始了一个名为Indiana的OpenSolaris项目,该项目的目的是创造一个OpenSolaris的二进制发行版。今天,Indiana项目的开发者预览版本OpenSolaris Developer Preview终于出笼了。

OpenSolaris Developer Preview提供了一张可启动的LiveCD。该CD包含一个最小化的基本系统。利用该CD启动之后可以进入Gnome桌面,然后运行安装程序将该基本系统安装到您的硬盘上。安装完这个基本系统之后,您可以重新启动机器,进入Gnome桌面之后通过一个全新的映像包管理系统(Image Packaging System, IPS)从网络下载和安装你所需要的应用程序。

您可以从如下地址下载OpenSolaris Developer Preview:

http://opensolaris.org/os/project/indiana/resources/getit/

以下是我在VMWare中安装OpenSolaris Developer Preview的全过程。我的笔记本配置为Intel Centrino Duo 1.73 GHz,2 GB内存,80 GB硬盘。分配给虚拟机的硬盘大小为8 GB,内存大小为512 MB。

(1) 从Live CD启动之后,首先看到Grub界面,在这里直接回车即可。

(2) 选择键盘种类,在这里直接回车即可。

(3) 等待片刻,系统进入Gnome桌面。在VMWare中缺省的屏幕分辨率为1280×1024,超过了我的屏幕的分辨率。从桌面左上角的菜单中选择System -> Preference -> Screen Resolution,将分辨率设置为1024×768。设置完成之后可以用CTRL + ENTER进入全屏幕模式。

(4) 双击桌面上的Install OpenSolaris图标,在随后出现的窗口中选择“Install”,然后点击“Enter”。

(5) 在磁盘分区界面,选择使用整个磁盘进行安装。

(6) 设定时区,日期和时间。

(7) 设定root密码和添加新用户。

(8) 点击“Install”按钮开始安装。

(9) 在我的笔记本上,整个安装过程只需要10分钟。

(10) 安装结束,点击“Reboot”重新启动虚拟机。

(11) 重新启动后自动进入Grub界面,直接回车继续。

(12) 在登陆界面输入用户名和密码,就可以进入Gnome桌面了。

还没有来得及体验这个预览版的任何功能,不过看起来跟Ubuntu真不是一般的像啊。

Panorama Theme by Themocracy