清扬婉兮,生日快乐

By , November 29, 2007 7:46 am

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

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

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

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

这颠沛流离的生活哪……

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

退学了!

By , November 15, 2007 8:27 pm

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

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

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

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

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

By , November 15, 2007 1:11 am

(由于本人水平有限,此部分的内容大幅度地抄录了段风雷编著的《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 , November 13, 2007 2:37 am

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 , November 11, 2007 6:56 pm

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/

Panorama Theme by Themocracy