idv2 http://tech.idv2.com 关注Web开发技术,关注Internet。 Sun, 28 Jun 2009 09:39:24 +0000 http://wordpress.org/?v=2.2.3 en 用摄像头+VirtualDub录制视频 http://tech.idv2.com/2009/06/28/record-video-with-virtualdub/ http://tech.idv2.com/2009/06/28/record-video-with-virtualdub/#comments Sun, 28 Jun 2009 09:39:24 +0000 charlee multimediasoftwarevideovirtualdub http://tech.idv2.com/2009/06/28/record-video-with-virtualdub/

今天想用摄像头录一段视频,上网找视频录制的软件,发现好用的都是收费的。 没办法,想起VirtualDub也能录制视频,于是尝试了一下,发现它的效果还是很不错的。 而且是免费的哦!

以下演示的版本是Virtual 1.5.10,摄像头是罗技的QuickCam系列。

首先要设置好音频源。打开控制面板->声音和视频设备,选择音频选项卡。 如果摄像头的驱动已经装好,那么“录音”中的“默认设备”中应该有一项“USB Audio Device”, 选择该项,确定。

record-video-with-virtualdub-01.png

然后启动VirtualDub,选择菜单File->Capture AVI...,进入视频捕捉的界面。 此时即可看到摄像头的图像。

record-video-with-virtualdub-02.jpg

接下来,需要做一些设置:

  • 按P,打开视频预览,以便随时观察视频录制情况。
  • 按F,选择视频录制的分辨率、颜色深度等。根据摄像头的功能及自己的需求设置即可。
  • 按S,启动摄像头的设置对话框,在这里调节摄像头的亮度、对比度、快门速度、光圈、白平衡等参数,直到画质满足需要。
  • 按Shift-C,选择视频的压缩方式。一般选择DivX即可。如果不压缩,录下来的AVI文件会有几十G之大。
  • 按A,选择录音的音质。一般选择CD音质。
  • 按V,打开声音显示,测试摄像头自带的麦克风是否好用。
  • 按F2,选择将视频保存到哪里。

OK,这样就全部设置好了。接下来按 F6 键开始录制,按 Esc或单击鼠标结束录制。 效果还不错吧?

唯一的一点遗憾就是,这样录下来的AVI中,音频是没有压缩的,需要用VirtualDub做后期处理, 将视频中的音频分离出来,选好压缩算法之后重新保存成AVI。

]]>

今天想用摄像头录一段视频,上网找视频录制的软件,发现好用的都是收费的。 没办法,想起VirtualDub也能录制视频,于是尝试了一下,发现它的效果还是很不错的。 而且是免费的哦!

以下演示的版本是Virtual 1.5.10,摄像头是罗技的QuickCam系列。

首先要设置好音频源。打开控制面板->声音和视频设备,选择音频选项卡。 如果摄像头的驱动已经装好,那么“录音”中的“默认设备”中应该有一项“USB Audio Device”, 选择该项,确定。

record-video-with-virtualdub-01.png

然后启动VirtualDub,选择菜单File->Capture AVI...,进入视频捕捉的界面。 此时即可看到摄像头的图像。

record-video-with-virtualdub-02.jpg

接下来,需要做一些设置:

  • 按P,打开视频预览,以便随时观察视频录制情况。
  • 按F,选择视频录制的分辨率、颜色深度等。根据摄像头的功能及自己的需求设置即可。
  • 按S,启动摄像头的设置对话框,在这里调节摄像头的亮度、对比度、快门速度、光圈、白平衡等参数,直到画质满足需要。
  • 按Shift-C,选择视频的压缩方式。一般选择DivX即可。如果不压缩,录下来的AVI文件会有几十G之大。
  • 按A,选择录音的音质。一般选择CD音质。
  • 按V,打开声音显示,测试摄像头自带的麦克风是否好用。
  • 按F2,选择将视频保存到哪里。

OK,这样就全部设置好了。接下来按 F6 键开始录制,按 Esc或单击鼠标结束录制。 效果还不错吧?

唯一的一点遗憾就是,这样录下来的AVI中,音频是没有压缩的,需要用VirtualDub做后期处理, 将视频中的音频分离出来,选好压缩算法之后重新保存成AVI。


]]>
http://tech.idv2.com/2009/06/28/record-video-with-virtualdub/feed/
[Java]查看Tocmat的运行状态 http://tech.idv2.com/2009/06/24/tomcat-status/ http://tech.idv2.com/2009/06/24/tomcat-status/#comments Wed, 24 Jun 2009 01:43:16 +0000 charlee javajsp http://tech.idv2.com/2009/06/24/tomcat-status/

熟悉J2EE开发的人应该对此不屑一顾吧,俺是Java新手,没办法……做个笔记先。 Tomcat 5.5下测试通过。

首先要添加管理员用户。打开 conf/tomcat-users.xml,在其中加入这样一行:

<user username="manager" password="password" roles="standard,manager"/>

然后重启Tomcat。

之后访问以下地址:

http://localhost:8080/manager/status

输入刚才设置好的管理员用户名和密码,就能看到服务器状态的页面。 其中几个比较重要的数值:

  • Max threads: 150 最大线程数
  • Min spare threads: 25 最小空闲线程数
  • Max spare threads: 75 最大空闲线程数
  • Current thread count: 25 当前线程数
  • Current thread busy: 2 当前繁忙线程数
]]>

熟悉J2EE开发的人应该对此不屑一顾吧,俺是Java新手,没办法……做个笔记先。 Tomcat 5.5下测试通过。

首先要添加管理员用户。打开 conf/tomcat-users.xml,在其中加入这样一行:

<user username="manager" password="password" roles="standard,manager"/>

然后重启Tomcat。

之后访问以下地址:

http://localhost:8080/manager/status

输入刚才设置好的管理员用户名和密码,就能看到服务器状态的页面。 其中几个比较重要的数值:

  • Max threads: 150 最大线程数
  • Min spare threads: 25 最小空闲线程数
  • Max spare threads: 75 最大空闲线程数
  • Current thread count: 25 当前线程数
  • Current thread busy: 2 当前繁忙线程数

]]>
http://tech.idv2.com/2009/06/24/tomcat-status/feed/
我为什么不要30多岁的人? http://tech.idv2.com/2009/05/25/why-dont-need-35s/ http://tech.idv2.com/2009/05/25/why-dont-need-35s/#comments Mon, 25 May 2009 15:57:23 +0000 charlee management http://tech.idv2.com/2009/05/25/why-dont-need-35s/

通常,HR在招聘时都会考虑到应聘者的年龄,超过35岁的人,应聘非管理职的一般的职位都会有很大的困难。 媒体通常会大肆渲染地说这叫“年龄歧视”,我只能说,毕竟记者们都不是管理者,不知道这里面的辛酸啊。

我并不是做HR的,但也面试过几个30多岁以上的人,也用过30多岁以上的人。 从我的个人角度来看,我也不喜欢用30多岁以上的人。为什么?

比如我需要招一个项目组长。通常,项目组长都是工作经验3-5年的人, 按照正常年龄来计算,应该在26-28岁左右。

如果这时有一位工作了10年的人来面试的话,我会怎么想?

  • 10年的工作经验完全可以胜任项目经理的职位,而且在你的职业生涯中,应该有很多机会晋升为项目经理。现在既然你来应聘项目组长,就说明你在原来的公司的职位不会比项目组长高——会不会是能力有问题?
  • 你已经30多岁了,甚至比你将来的上司的年龄都要大,你能不能完全服从上司的指示?
  • 30多岁的人一般都已成家,是个做事稳重、安于现状的年龄。而项目组长需要用自己的头脑,带领团队去解决问题,需要的是灵感、激情和魄力。你是否有这个精力?是否有这个心思?

不可否认,30多岁的人也有技术专家,也有认真负责、激情四射的人,但是,上面的这些问题毕竟是常见问题,会给HR在甄选人材时带来负面的影响。

]]>

通常,HR在招聘时都会考虑到应聘者的年龄,超过35岁的人,应聘非管理职的一般的职位都会有很大的困难。 媒体通常会大肆渲染地说这叫“年龄歧视”,我只能说,毕竟记者们都不是管理者,不知道这里面的辛酸啊。

我并不是做HR的,但也面试过几个30多岁以上的人,也用过30多岁以上的人。 从我的个人角度来看,我也不喜欢用30多岁以上的人。为什么?

比如我需要招一个项目组长。通常,项目组长都是工作经验3-5年的人, 按照正常年龄来计算,应该在26-28岁左右。

如果这时有一位工作了10年的人来面试的话,我会怎么想?

  • 10年的工作经验完全可以胜任项目经理的职位,而且在你的职业生涯中,应该有很多机会晋升为项目经理。现在既然你来应聘项目组长,就说明你在原来的公司的职位不会比项目组长高——会不会是能力有问题?
  • 你已经30多岁了,甚至比你将来的上司的年龄都要大,你能不能完全服从上司的指示?
  • 30多岁的人一般都已成家,是个做事稳重、安于现状的年龄。而项目组长需要用自己的头脑,带领团队去解决问题,需要的是灵感、激情和魄力。你是否有这个精力?是否有这个心思?

不可否认,30多岁的人也有技术专家,也有认真负责、激情四射的人,但是,上面的这些问题毕竟是常见问题,会给HR在甄选人材时带来负面的影响。


]]>
http://tech.idv2.com/2009/05/25/why-dont-need-35s/feed/
《创建高可用性的Web内容》勘误表 http://tech.idv2.com/2009/04/21/design-accessible-web-sites-errata/ http://tech.idv2.com/2009/04/21/design-accessible-web-sites-errata/#comments Tue, 21 Apr 2009 07:12:18 +0000 charlee accessibilitybookweb http://tech.idv2.com/2009/04/21/design-accessible-web-sites-errata/ 谢谢fcicq指出书中的一些错误。也请其他读者在发现错误后告诉我,如果这本书有幸重印,我会在重印时改正这些错误的。给大家阅读带来不便,真是对不起。

P3,倒数第2段第3行:
用户想把音量调低,但我却没有把它设置到一个较高的音量,以便用户能通过软件来控制它。
修改为:
音箱的音量太小了,我根本没想到应该把音量调大些,这样用户才能通过软件来控制音量。

P5,最后两行:
以及如何进行高可用性的开发。
修改为:
以及如何开始符合高可用性的开发。

P37,“试一试”的第一行:
什么沟通障碍可能会阻碍项目创建高可用性?
修改为:
什么样的沟通障碍可能会阻碍项目创建高可用性?

P57,第2段第4行
请习惯这个思维。
修改为:
拥有这种想法很重要。

]]>
http://tech.idv2.com/2009/04/21/design-accessible-web-sites-errata/feed/
UML中的联系、聚合与组合的区别 http://tech.idv2.com/2009/04/12/uml-aac-diff/ http://tech.idv2.com/2009/04/12/uml-aac-diff/#comments Sun, 12 Apr 2009 14:13:04 +0000 charlee uml http://tech.idv2.com/2009/04/12/uml-aac-diff/

UML中的联系(association)、聚合(aggregation)和组合(composition)三个概念很相似,也很难理解。 今天看到这篇文章解释得很清楚,所以在这里转一下, 希望能对需要的人有所帮助。

联系

联系(association)表明某个对象可以向另一个对象通过某种方式发送消息。发送消息的方法可以通过指针成员变量, 也可以是方法参数、局部变量等等。例如:

uml-aac-diff-01.png
class A
{
  private:
    B* itsB;
};

聚合

聚合(aggregation)是一种特殊的联系,它表明了“部分”到“整体”的关系,显著的特点就是不能包含循环的联系 (就是说,部分中不能包含整体)。如:

uml-aac-diff-02.png
class Node
{
  private:
    vector<Node*> itsNodes;
};

上述代码只有当子节点不会成为父节点的父节点时(即,必须是树结构,不能是图结构),才能称之为聚合。

组合

组合(composition)跟聚合几乎相同,唯一的区别就是“部分”不能脱离“整体”单独存在,就是说, “部分”的生命期不能比“整体”还要长。例如:

uml-aac-diff-03.png
class Car
{
  public:
    virtual ~Car() {delete itsCarb;}
  private:
    Carburetor* itsCarb
};
]]>

UML中的联系(association)、聚合(aggregation)和组合(composition)三个概念很相似,也很难理解。 今天看到这篇文章解释得很清楚,所以在这里转一下, 希望能对需要的人有所帮助。

联系

联系(association)表明某个对象可以向另一个对象通过某种方式发送消息。发送消息的方法可以通过指针成员变量, 也可以是方法参数、局部变量等等。例如:

uml-aac-diff-01.png
class A
{
  private:
    B* itsB;
};

聚合

聚合(aggregation)是一种特殊的联系,它表明了“部分”到“整体”的关系,显著的特点就是不能包含循环的联系 (就是说,部分中不能包含整体)。如:

uml-aac-diff-02.png
class Node
{
  private:
    vector<Node*> itsNodes;
};

上述代码只有当子节点不会成为父节点的父节点时(即,必须是树结构,不能是图结构),才能称之为聚合。

组合

组合(composition)跟聚合几乎相同,唯一的区别就是“部分”不能脱离“整体”单独存在,就是说, “部分”的生命期不能比“整体”还要长。例如:

uml-aac-diff-03.png
class Car
{
  public:
    virtual ~Car() {delete itsCarb;}
  private:
    Carburetor* itsCarb
};

]]>
http://tech.idv2.com/2009/04/12/uml-aac-diff/feed/
Dell 1200笔记本安装Windows XP时盘符错乱 http://tech.idv2.com/2009/04/08/dell-1200-install-winxp-issue/ http://tech.idv2.com/2009/04/08/dell-1200-install-winxp-issue/#comments Tue, 07 Apr 2009 16:13:45 +0000 charlee hardwarewindows http://tech.idv2.com/2009/04/08/dell-1200-install-winxp-issue/ 今天拿到了一台Dell Vostro 1200,准备安装Windows XP。没想到第一次安装就出了问题,安装程序进行到分区这一步,报告找不到硬盘(下面的分区列表中显示没有硬盘)。用Linux急救盘进去之后用fdisk删除了所有分区,再次安装Windows XP,结果故障依旧。后来问了技术支持的人说,这台笔记本的硬盘是SATA接口,必须要用集成了SATA驱动的Windows XP安装盘才能正常安装。晕,原来Windows XP安装盘还有各种不同的版本哪。

拿到集成了SATA的Windows XP安装盘后继续安装,这次倒是一切顺利,但装完之后进入系统一看,咦?怎么两个硬盘分区变成了 E: 和 F:,系统装到了 E: 上?而C:呢,却被读卡器占了位置。后来试图通过修改注册表的方式把系统改到C:盘上,可是失败了。上网查了查发现Dell的本子这个问题居然是人所皆知的,解决方法也简单,就是进入BIOS把所有板载的USB设备都关掉,再安装就没有问题了。

于是进入BIOS关掉所有USB设备,安装,这次顺利完成,没出任何毛病。

]]>
http://tech.idv2.com/2009/04/08/dell-1200-install-winxp-issue/feed/
安装Visual Studio 2003时反复重启的问题 http://tech.idv2.com/2009/03/31/vs2003-reboot-fix/ http://tech.idv2.com/2009/03/31/vs2003-reboot-fix/#comments Tue, 31 Mar 2009 03:31:25 +0000 charlee visual studio http://tech.idv2.com/2009/03/31/vs2003-reboot-fix/ 今天在安装Visual Studio 2003时,安装程序要求先重启计算机,重启之后再启动安装程序,依然要求重启计算机,如此一直反复下去。无奈Google了一下,发现这居然是个常见问题,解决方法是删除 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager 下的 PendingFileRenameOperations 键就可以了。

看了看我机器上的这个键的内容,好像是安装McAfee时遗留下来的。

ps.原来常见的那个“必须重启后才能完成安装”是这么回事儿啊。

]]>
http://tech.idv2.com/2009/03/31/vs2003-reboot-fix/feed/
写好商务文书的9 tips http://tech.idv2.com/2009/03/28/9-tips-to-write-good-articles/ http://tech.idv2.com/2009/03/28/9-tips-to-write-good-articles/#comments Fri, 27 Mar 2009 23:14:57 +0000 charlee business http://tech.idv2.com/2009/03/28/9-tips-to-write-good-articles/

工作中写商务文书是必不可少的,如报告、文档、请求、邮件等等。 而搞技术出身的人,写作能力一般都很差,写出来的东西别人看不懂。 这篇文章 提出了写好商务文书的九个要点,也许能给广大搞技术的人作为参考吧。

写好文章当然不是要求你写出人人都说好的文章,那需要相当深厚的文字功底, 咱搞技术的也没那么多时间。所以降低一点标准,至少要写出没人说不好的文章来。 那么要点是什么呢?

  1. 写明观点
  2. 写明理由
  3. 按照结构化层次来书写
  4. 概要和详细内容分开写
  5. 一句话说明
  6. 不要抽象,要具体
  7. 不要随意省略
  8. 事实和意见分开写
  9. 明确论点

具体内容请点开看。

1. 写明观点

要想说服他人就必须先表明观点。明确地写明“我要做什么”。

2. 写明理由

理由不充分就无法说服他人。所以必须要写明理由:

  • “为什么这样做比较好?”
  • “这种做法的背景是什么?”
  • “为什么发生这样的问题?”

3. 按照结构化层次来书写

文章是有结构的,如原因和结果、问题和背景、理由和观点等。 没有原因的结果就很难让人理解。

4. 概要和详细内容分开写

直接把详细内容一股脑全写出来,文章就会很长很长, 而阅读的人(一般是客户?)短时间内很难理解。

应该首先写出概要,让读者大体了解问题的情况之后,再详加说明。

5. 一句话说明

客户的时间是很宝贵的,没时间读长文章。 所以能用一句话说明的事儿就别用两句话。

6. 不要抽象,要具体

抽象内容不好理解,要写得具体些。

7. 不要随意省略

所谓“省略”就是说省略自己知道的东西。但这些东西阅读者未必知道。 所以,是否要省略,应当根据阅读者的知识和经验水平来判断。

8. 事实和意见分开写

事实和意见混淆,就很难让人作出判断。如:

“这里出事故了,有人受伤很严重。但因为堵车,救护车迟迟不能到场, 人好像已经晕过去了。”

这样写很难判断哪个是事实,哪个是推测。还有个例子:

证人:我昨天看到王先生晚上又出去应酬了,喝得醉醺醺的回到家里。
法官:你看到他喝醉了?
证人:没有啦,我只是看到他走在路上摇摇晃晃的。
法官:那你怎么知道他出去应酬了呢?
证人:我也没看到啦,只是昨天他晚上十点多才回来,平常这时候回来都是跟人应酬的。
法官:那就是说,你昨天晚上十点多看到王先生摇摇晃晃地回到家里了。

9. 明确论点

论点不明确,阅读者就很难理解。因此,要从文章中总结出论点。

]]>

工作中写商务文书是必不可少的,如报告、文档、请求、邮件等等。 而搞技术出身的人,写作能力一般都很差,写出来的东西别人看不懂。 这篇文章 提出了写好商务文书的九个要点,也许能给广大搞技术的人作为参考吧。

写好文章当然不是要求你写出人人都说好的文章,那需要相当深厚的文字功底, 咱搞技术的也没那么多时间。所以降低一点标准,至少要写出没人说不好的文章来。 那么要点是什么呢?

  1. 写明观点
  2. 写明理由
  3. 按照结构化层次来书写
  4. 概要和详细内容分开写
  5. 一句话说明
  6. 不要抽象,要具体
  7. 不要随意省略
  8. 事实和意见分开写
  9. 明确论点

具体内容请点开看。

1. 写明观点

要想说服他人就必须先表明观点。明确地写明“我要做什么”。

2. 写明理由

理由不充分就无法说服他人。所以必须要写明理由:

  • “为什么这样做比较好?”
  • “这种做法的背景是什么?”
  • “为什么发生这样的问题?”

3. 按照结构化层次来书写

文章是有结构的,如原因和结果、问题和背景、理由和观点等。 没有原因的结果就很难让人理解。

4. 概要和详细内容分开写

直接把详细内容一股脑全写出来,文章就会很长很长, 而阅读的人(一般是客户?)短时间内很难理解。

应该首先写出概要,让读者大体了解问题的情况之后,再详加说明。

5. 一句话说明

客户的时间是很宝贵的,没时间读长文章。 所以能用一句话说明的事儿就别用两句话。

6. 不要抽象,要具体

抽象内容不好理解,要写得具体些。

7. 不要随意省略

所谓“省略”就是说省略自己知道的东西。但这些东西阅读者未必知道。 所以,是否要省略,应当根据阅读者的知识和经验水平来判断。

8. 事实和意见分开写

事实和意见混淆,就很难让人作出判断。如:

“这里出事故了,有人受伤很严重。但因为堵车,救护车迟迟不能到场, 人好像已经晕过去了。”

这样写很难判断哪个是事实,哪个是推测。还有个例子:

证人:我昨天看到王先生晚上又出去应酬了,喝得醉醺醺的回到家里。
法官:你看到他喝醉了?
证人:没有啦,我只是看到他走在路上摇摇晃晃的。
法官:那你怎么知道他出去应酬了呢?
证人:我也没看到啦,只是昨天他晚上十点多才回来,平常这时候回来都是跟人应酬的。
法官:那就是说,你昨天晚上十点多看到王先生摇摇晃晃地回到家里了。

9. 明确论点

论点不明确,阅读者就很难理解。因此,要从文章中总结出论点。


]]>
http://tech.idv2.com/2009/03/28/9-tips-to-write-good-articles/feed/
Solaris安装memo http://tech.idv2.com/2009/03/28/solaris-install-memo/ http://tech.idv2.com/2009/03/28/solaris-install-memo/#comments Fri, 27 Mar 2009 22:55:38 +0000 charlee solaris http://tech.idv2.com/2009/03/28/solaris-device-name/

今天开始安装Solaris 10,跟Linux的差别挺多,真是不习惯啊。

命名规则

磁盘命名规则为 /dev/[r]dsk/c0t0d0s0 ,其中 0 表示数字,如 /dev/dsk/c0t3d0s0 。

c = controller number,表示硬盘控制器的序号,c0表示第一个控制器,c1表示第二个等。

t = target number,目标号,表示控制器内的地址。

d = disk number,表示连接到目标上的磁盘的逻辑单元号(LUN)。单个磁盘或IDE硬盘永远为 d0。

s 表示分区号。Solaris下一个磁盘包含8个分区,所以取值范围为 s0 - s7。

网卡是直接以驱动程序名称来命名的。比如我用的网卡是Broadcom的,所以网卡名称就是 bge0。

网络设置

修改主机名:

/etc/hosts, /etc/nodename, /etc/hostname.bde0

修改IP地址、掩码、网关和DNS:

/etc/hosts, /etc/defaultrouter, /etc/netmasks, /etc/resolv.conf

用户管理

添加用户:不像Linux那样会自动给你建好组、主目录,完全要自己手工建立。

# groupadd newgroup
# useradd -g newgroup newuser
# cd /export/home
# mkdir newuser
# chown newuser newuser
# chgrp newuser newuser
# vi /etc/passwd

将 newuser项中的 /home/newuser 修改为 /export/newuser,将 /bin/sh 修改为 /usr/bin/bash

然后用 newuser 登录,在主目录中建立 .bashrc 和 .bash_profile。 .bashrc的内容随意,.bash_profile 的内容为:

if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

为了方便起见,PS1变量也可以设置得好看些。我的设置是

export PS1="\e[1;36m[\e[1;32m\u\e[1;35m@\h \e[1;33m\W\e[1;36m]\\$\e[m "

GNU软件安装

接下来就是让ls有颜色,再装个vim即可。 ls就是GNU的coreutils包,和vim两个包都能在Sunfreeware.com上找到。

coreutils包需要下载并安装:

  • coreutils-7.1-sol10-x86-local.gz
  • libgcc-3.4.6-sol10-x86-local.gz
  • libiconv-1.11-sol10-x86-local.gz
  • libintl-3.4.0-sol10-x86-local.gz

vim包需要下载并安装:

  • glib-1.2.10-sol10-x86-local.gz
  • gmp-4.2.1-sol10-x86-local.gz
  • gtk+-1.2.10-sol10-intel-local.gz
  • ncurses-5.6-sol10-x86-local.gz
  • vim-7.2-sol10-x86-local.gz

下完之后依次展开,用 pkgadd -d <文件名> 装上即可。

带颜色的ls放在/usr/local/bin下,所以要想用它还得改改.bashrc:

export PATH=/usr/local/bin:$PATH

加上别名:

alias ls='ls --color=tty'
alias ll='ls -l'
alias vi='vim'

系统管理

关机:

shutdown -y -i5 -g0

btw: 装好Solaris之后启动、登录,选择使用JDE,嗯,界面还是很漂亮的。

]]>

今天开始安装Solaris 10,跟Linux的差别挺多,真是不习惯啊。

命名规则

磁盘命名规则为 /dev/[r]dsk/c0t0d0s0 ,其中 0 表示数字,如 /dev/dsk/c0t3d0s0 。

c = controller number,表示硬盘控制器的序号,c0表示第一个控制器,c1表示第二个等。

t = target number,目标号,表示控制器内的地址。

d = disk number,表示连接到目标上的磁盘的逻辑单元号(LUN)。单个磁盘或IDE硬盘永远为 d0。

s 表示分区号。Solaris下一个磁盘包含8个分区,所以取值范围为 s0 - s7。

网卡是直接以驱动程序名称来命名的。比如我用的网卡是Broadcom的,所以网卡名称就是 bge0。

网络设置

修改主机名:

/etc/hosts, /etc/nodename, /etc/hostname.bde0

修改IP地址、掩码、网关和DNS:

/etc/hosts, /etc/defaultrouter, /etc/netmasks, /etc/resolv.conf

用户管理

添加用户:不像Linux那样会自动给你建好组、主目录,完全要自己手工建立。

# groupadd newgroup
# useradd -g newgroup newuser
# cd /export/home
# mkdir newuser
# chown newuser newuser
# chgrp newuser newuser
# vi /etc/passwd

将 newuser项中的 /home/newuser 修改为 /export/newuser,将 /bin/sh 修改为 /usr/bin/bash

然后用 newuser 登录,在主目录中建立 .bashrc 和 .bash_profile。 .bashrc的内容随意,.bash_profile 的内容为:

if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

为了方便起见,PS1变量也可以设置得好看些。我的设置是

export PS1="\e[1;36m[\e[1;32m\u\e[1;35m@\h \e[1;33m\W\e[1;36m]\\$\e[m "

GNU软件安装

接下来就是让ls有颜色,再装个vim即可。 ls就是GNU的coreutils包,和vim两个包都能在Sunfreeware.com上找到。

coreutils包需要下载并安装:

  • coreutils-7.1-sol10-x86-local.gz
  • libgcc-3.4.6-sol10-x86-local.gz
  • libiconv-1.11-sol10-x86-local.gz
  • libintl-3.4.0-sol10-x86-local.gz

vim包需要下载并安装:

  • glib-1.2.10-sol10-x86-local.gz
  • gmp-4.2.1-sol10-x86-local.gz
  • gtk+-1.2.10-sol10-intel-local.gz
  • ncurses-5.6-sol10-x86-local.gz
  • vim-7.2-sol10-x86-local.gz

下完之后依次展开,用 pkgadd -d <文件名> 装上即可。

带颜色的ls放在/usr/local/bin下,所以要想用它还得改改.bashrc:

export PATH=/usr/local/bin:$PATH

加上别名:

alias ls='ls --color=tty'
alias ll='ls -l'
alias vi='vim'

系统管理

关机:

shutdown -y -i5 -g0

btw: 装好Solaris之后启动、登录,选择使用JDE,嗯,界面还是很漂亮的。


]]>
http://tech.idv2.com/2009/03/28/solaris-install-memo/feed/
如何reset VSS的工作目录 http://tech.idv2.com/2009/03/19/reset-vss-working-dir/ http://tech.idv2.com/2009/03/19/reset-vss-working-dir/#comments Thu, 19 Mar 2009 09:32:04 +0000 charlee vss http://tech.idv2.com/2009/03/19/reset-vss-working-dir/ 有些人没有设置工作目录的习惯,而是想checkout哪个文件时就顺手设置一个,久而久之VSS中各个文件的工作目录设到哪儿的都有。想整理整理吧,但又不知道怎么删,甚至把整个数据库连接都删了重建也不行。

原来……真没想到vss居然把工作目录这个完全属于客户端的信息保存到了服务器上。打开服务器上的 ”users/你的用户名/ss.ini”,看看最后那部分吧,工作目录的设置都在这儿呢。全删了,再重新设就行了。

]]>
http://tech.idv2.com/2009/03/19/reset-vss-working-dir/feed/