下面是 August, 2008的汇总

Unix高手的另外十个习惯

Wednesday, August 27th, 2008

大家都知道著名的Unix高手的十个习惯,殊不知Unix高手还有另外十个习惯,呵呵,偶不是Unix高手,不过有几个习惯还是挺常用的,转载一下IBM的网站上还是有很多好文章的。

您应当采纳的其他 10 个好习惯包括:

* 使用文件名自动完成功能 (file name completion)。
* 使用历史扩展。
* 重用以前的参数。
* 使用 pushd 和 popd 管理目录导航。
* 查找大型文件。
* 不使用编辑器创建临时文件。
* 使用 curl 命令行实用工具。
* 最有效地利用正则表达式。
* 确定当前用户。
* 使用 awk 处理数据。

使用文件名完成

如果不需要在命令提示符处键入长的、令人费解的文件名,这是不是很棒呢?的确,您不需要这样做。相反,您可以配置最流行的 UNIX Shell 以使用文件名完成。该功能在各个 Shell 中的工作方式略有不同,因此我将向您展示如何在最流行的 Shell 中使用文件名完成。文件名完成使您可以更快地输入并避免错误。懒惰?也许吧。效率更高?当然!

我正在运行哪种 Shell?

如果您不知道目前使用的是哪一种 Shell,会怎么样?虽然这个诀窍不是另外 10 个好习惯的正式组成部分,但它仍然很有用。如清单 1 所示,您可以使用 echo $0 或 ps -p $$ 命令显示您正在使用的 Shell。对于我来说,运行的是 Bash Shell。
(more…)

打算入手450D

Wednesday, August 27th, 2008

之前的老古董-200万像素的nikon coolpix已经彻底罢工了,打算入手一个单反,入门级别的Canon的450D是很多朋友的推荐,看价格也差不多了,上周去市场寻了价,5600包括套机镜头,送存储卡和电池。而且好像又降了一点价钱。

上个礼拜赶着把港澳通行证办了下来,打算这周去香港看看行情,对比一下,差不多就入手,有点迫不及待了。呵呵

先上个介绍吧,就这个:

450d

back

top

下面是详细参数: (more…)

Service Management Facility快速入门

Tuesday, August 26th, 2008

在解决前面scstat问题的时候,仔细的研读了一下这个sun的官方帮助,加深了对Solaris的服务的理解。在Solaris中,可以利用svcs 和svcadm 命令进行查看和修改、重启服务。下面就转载一下Service Management Facility这篇快速入门

简介

过去,UNIX 操作系统包含一组服务:这些服务是与任何交互式用户登录都不关联的软件程序,用于侦听和响应请求以执行特定的任务(如传送电子邮件、响应 ftp 请求,或允许执行远程命令)。这些传统服务通常是一些单独的应用程序,它们作为单个进程执行,在系统引导时启动,并在系统启动和运行时持续执行,可处理接收到的任何请求。

如今,管理员必须管理一系列服务,这些服务的作用已经超出了此原始模型的作用范围。Sun 推出了 Service Management Facility(SMF,服务管理工具),以简化这些系统服务的管理。SMF 是 Solaris 操作系统的一项新功能,为每个 Solaris 系统上的服务和服务管理创建支持的、统一的模型。它是 Solaris 10 中预测性自我修复技术的核心部分,为软件和硬件故障以及管理错误提供自动恢复功能。

在本指南中,我们将介绍 SMF 的功能及优势,指出 Solaris 中显著更新的部分,并说明如何使用 SMF 完成典型的管理任务。可以在 Sun 的 BigAdmin Web 站点上找到 SMF 及预测性自我修复功能的详细指南。

功能

Service Management Facility 已经改进了 Solaris 管理模型的几个方面。一些最显著的更新包括:

* 服务由可以进行查看(使用新的 svcs(1) 命令)和管理(使用 svcadm(1M) 和 svccfg(1M))的一级对象表示。
* 无论失败的服务是由管理员错误、软件错误导致,还是受无法更正的硬件错误的影响,这些服务都将按照相关性顺序自动重新启动。
* 可以获取有关配置错误或行为异常的服务的详细信息,包括对服务未运行的原因的说明(使用 “svcs -x”),以及每个服务单独的持久性日志文件。
* 引导过程中出现的问题比较容易调试,因为在启动故障期间可以控制引导详细程度,记录服务启动消息,以及提供更可靠的控制台访问。
* 自动拍摄服务配置快照,从而更容易备份、恢复和撤消对服务所做的更改。
* 可以使用受支持的工具 (svcadm(1M)) 启用和禁用服务,从而允许更改不受升级和修补程序的影响而保留原样。
* 管理员可以更容易地将任务安全地委派给非超级用户,这些任务包括配置、启动、停止或重新启动服务(如 smf_security(5) 手册页中所述)。
* 根据服务的相关性并行启动服务,可以更快地引导大型系统。

(more…)

scstat unexpected error问题及解决

Tuesday, August 26th, 2008

最近一直很少更新博客,熟悉的朋友都知道,我在忙一个重要的release,Oracle Database 11g的第一个patchset - 11.1.0.7,这个patchset应该很快就要发布的,敬请期待。

今天在测试的时候,Solaris的节点再一次出现问题,最近服务器的问题不断,先是DLM问题,后面是QFS问题,现在居然是服务出现依赖关系,启动异常,SunCluster命令scstat返回异常结果:unexepcted error

根据google搜到的结果,在Sun的官方网站找到一个类似的问题

根据提示,检查一下svcs -x 的输出,
bash-2.05$ svcs -x
svc:/network/nfs/client:default (NFS client)
State: offline since August 25, 2008 10:33:46 PM PDT
Reason: Start method is running.
See: http://sun.com/msg/SMF-8000-C4
See: mount_nfs(1M)
See: /var/svc/log/network-nfs-client:default.log
Impact: 18 dependent services are not running. (Use -v for list.)

svc:/application/print/server:default (LP print server)
State: disabled since August 25, 2008 10:31:10 PM PDT
Reason: Disabled by an administrator.
See: http://sun.com/msg/SMF-8000-05
See: lpsched(1M)
Impact: 2 dependent services are not running. (Use -v for list.)

svc:/system/cluster/cl-svc-cluster-milestone:default (Synchronizing the cluster userland services)
State: disabled since August 25, 2008 10:32:38 PM PDT
Reason: Temporarily disabled by an administrator.
See: http://sun.com/msg/SMF-8000-1S
Impact: 1 dependent service is not running. (Use -v for list.)

svc:/application/stosreg:default (Service Tag OS Registry Inserter)
State: maintenance since August 25, 2008 10:33:39 PM PDT
Reason: Method failed.
See: http://sun.com/msg/SMF-8000-8Q
See: stclient(1M)
See: /var/svc/log/application-stosreg:default.log
Impact: This service is not running.

svc:/network/stdiscover:default (Service Tag discovery probe)
State: maintenance since August 25, 2008 10:33:45 PM PDT
Reason: Restarter svc:/network/inetd:default gave no explanation.
See: http://sun.com/msg/SMF-8000-9C
See: in.stdiscover(1M)
Impact: This service is not running.

svc:/network/stlisten:default (Service Tag Discovery Listener)
State: maintenance since August 25, 2008 10:33:45 PM PDT
Reason: Restarter svc:/network/inetd:default gave no explanation.
See: http://sun.com/msg/SMF-8000-9C
See: in.stlisten(1M)
Impact: This service is not running.
bash-2.05$

发现服务的依赖不对,启动console进入单用户模式,操作了几个服务,重新禁用和启用,重启,居然好了。
记录一下。

推荐一个多协议IM工具Pidgin

Wednesday, August 20th, 2008

你平常用什么IM工具跟朋友们联系呢,MSN,QQ,yahoo messager 还是gtalk?也或者其中的几个,是不是为每次都要登录几个工具而发愁?既要输入不同的帐号和密码,而且多个工具意味着占用更多的系统资源。今天就给大家隆重推荐一款开源的多协议IM工具-Pidgin

下面是pidgin的一个简单介绍:

介绍
Pidgin(Gaim)是模块化的即时通讯客户程序,同时支持QQ、MSN、Jabber(gtalk)、AIM、Yahoo! 、ICQ、IRC、SILC、Novell GroupWise、Napster、Zephyr 和Gadu-Gadu。
Pidgin(Gaim)基于GTK+,并以GPL 许可协议发行。 支持多平台、多语言、多服务、多插件。

功能

同时登录多个帐户,可以同时登录多个MSN帐号,也可以同时登录MSN和gtalk帐号,不受任何限制。

同时更改状态,已经登录的帐号可以一起改状态,比如一起改为隐身。

好友千里眼的功能,当某好友上线或下线的时候,可以发出问候消息或改为隐身状态,这是可配置的。所有可登录的帐号都拥有这个功能,不再限制于QQ。

同一个窗口放置多个聊天窗口,任务栏上不再有一大片聊天窗口了,当然也可以将聊天窗口分开显示。同样适用于所有的帐号。

多种提醒方式,可以在标题上显示消息数,也可以闪烁窗口,适用于所有的帐号。

好友多种排序方式,可以按字母序,也可以按状态排序,也可以按聊天记录大小排序(独有的功能,明显区分熟悉度),也适用于所有的帐号。

公共分组,所有帐号的好友可以统一管理,QQ和MSN的好友可以放在一个组里,这样方便自己对好友的管理,感觉不到帐号的区别,当然也可以按帐号分组,适用于所有帐号。

隐私设置,可以只让好友聊天,或屏蔽所有对话,分级别设置隐私是独有的功能,同样适用于所有的帐号。

跨平台运行,gtalk、qq等软件没有linux的版本,可以使用Gaim来代替。其它平台也可以兼容。

好了,说了这么多,一定想马上试用一下吧,赶紧下载去吧,Windows版本,如果你想自己进行改进,可以到sourceforge 下载源代码

我自己比较常用MSN,OIC(Oracle Instance Chat),偶尔用下gtalk和qq,下面是我的帐号配置页面。

pidgin.jpg

Ricky图片签名

Friday, August 15th, 2008

有人说这个图标还不错,贴一下吧,好几年前在flickr上弄的了,你也可以试试自己弄一个

又长了一岁

Thursday, August 7th, 2008

又长了一岁!
早晨起来的时候,儿子趴在我耳边说”生日快乐”,那一刻,真的好感动

儿子最近很乖,越来越懂事了,想说一句“我爱你,儿子”

sed中如何引用变量

Tuesday, August 5th, 2008

最近写了一个系统资源监控的脚本,想让它每次机器重启后也可以自动启动,决定放到inittab中去,于是写了一个脚本run.sh,执行的时候启动脚本,并且加入inittab,可是调试的时候发现sed对shell的变量引用一直无法替换,百思不得其解,后来得到几位高手指点,终于解决,还有两种解决方法。

问题描述:

命令是这样的

work_dir=/home/ractest

sed ‘/start_mon.sh/d
/init.crsd/ a\
h4:3:respawn:${work_dir}/scripts/start_mon.sh >/dev/null 2>&1
‘ /etc/inittab

想把work_dir替换,但是没成功。

sed “/start_mon.sh/d
/init.crsd/ a\
h4:3:respawn:${work_dir}/scripts/start_mon.sh >/dev/null 2>&1
” /etc/inittab
试过,报错
sed: command garbled: /init.crsd/ ah4:3:respawn:/home/ractest/ricky/atm_monitor/scripts/start_mon.sh >/dev/null 2>&1

在Solaris上不行,但是在Linux上是可以的,所以初步确定是sed版本的问题,但是在Solaris上怎么解决这个我呢?有如下两种方法:

方法一:使用单引号
单引号:

sed ‘/start_mon.sh/d
> /init.crsd/ a\
> h4:3:respawn:’${work_dir}’/scripts/start_mon.sh >/dev/null 2>&1
> ‘ /etc/inittab

方法二:使用双引号

sed “/start_mon.sh/d
> /init.crsd/ a\\
> h4:3:respawn:${work_dir}/scripts/start_mon.sh >/dev/null 2>&1
> ” /etc/inittab

经过测试,两种方法都可以成功。
记录之!


Close
E-mail It