2008年11月3日月曜日

拍摄人像的9个Tips

这是看到一本国外期刊上的文章,觉得有点意思,然后突然想到:色影无忌图片论坛上不是有许多这样类似的照片吗?于是从“精品图片论坛”中挑选了一些符合这些Tips的作品,来图解这些方法。

1、使用合适焦距的镜头

对于35mm照相机而言,拍摄人像最好的焦距段是85~135mm这类中焦镜头。为什么呢?因为中焦镜头可以在一定的拍摄距离内得到透视比较正常的肖像。

如果使用广角镜头来拍摄肖像,拍摄距离要很近,于是造成透视变形,夸大了被摄者的某些部位特征;如果用长焦镜头来拍摄肖像,一是拍摄距离要比较远,二是镜头的特性使被摄者的透视被压缩。

在大多数场合下,中焦镜头都能给出很好的拍摄效果。当然,用其他焦段拍摄也不是不可以,这里讲的是大多数场合。

2、消除背景的干扰

人像拍摄中最重要的元素之一是背景,好的背景不会干扰对主体的欣赏。

处理背景的方式有多种,在拍摄前最好从取景器中观看,如果背景不好,条件许可的情况下,转换一个地方或者角度,避开不好的背景。

如果条件不允许,那么最好开大镜头的光圈,使景深减少,背景由于在焦外,所以全部虚化了。

当然,条件许可的话,也可以用人工背景。

背景的处理是很重要的,要养成在按下快门前检查取景器中影象的习惯。

3、注意姿势(Posing)

呆板地站立在镜头前面拍摄的人像是不悦目的,尽量引导被摄者在镜头前面要自然、放松,必要的时候,也可以让他/她摆出一些不同寻常的姿势。

4、相互影响和交流(Interaction)

人的活动中,最重要的是交流。在交流的过程中,可以捕捉到许多有趣生动的画面,比如孩子玩耍、会谈等,只要有两个及以上的场合都可以捕捉到机会。如果被摄者们意识到你的存在,那么就要耐心等待,等时间稍长些,他们会慢慢忽视你的存在了,这时就有可能捕捉到好的照片。

5、光线

奇特的光线可以使画面生动,也可以给人物增加眼神光。

在自然光允许的情况下,尽量利用自然光;

在自然光不理想的情况下,可以利用闪光灯或者反光板之类的辅助工具,使画面生动起来。

6、注意捕捉

许多生动活泼的画面的出现是意想不到的,只有随时注意才能将这些画面凝固起来。

7、眼睛接触

眼睛是心灵的窗户,内心的活动与个人的态度都可以从眼睛中反映出来。

尽量让被摄者的眼睛直视镜头,出来的照片是很有个性的,观看照片者也可以从这类照片中感觉到被摄者的特点和个性。

8、改变构图

一般拍摄人像都是竖构图的偏多,可以尝试用横构图来拍摄,这样可以使自己的拍摄风格多样化。如果对横构图不熟悉,那么就多看些电影,看看别人是如何在固定的横画面中是如何处理的。

9、道具

随手在画面中加入一些小道具,可以使画面活泼起来,这个对于拍摄儿童照片是很有必要的,可以使人物与画面更为交融。

2008年11月1日土曜日

IT项目管理人士常用管理工具

随着IT行业的发展,IT行业内的项目拓展和投资比比皆是。为了提高项目管理水平,赢得市场竞争,特别是在加入WTO后在国内、国际市场上拥有与国际接轨的项目管理人才,越来越多的业界人士正通过不同的方式参加项目管理培训并力争获得世界上最权威的职业项目经理(PMP)资格认证。同时,大部分的IT行业项目管理人士正尝试使用项目管理软件对自己的项目进行辅助管理,为了方便大家的使用,现对项目管理作一简要介绍。

  目前市场上项目管理软件种类较多,具有代表性的为微软项目管理软件2000,但大多以美国项目管理协会(PMI)的项目管理理论为基础,在使用过程中要注意以下内容:

  1. 预算及成本控制

  大部分项目管理软件系统都可以用来获得项目中各项活动、资源的有关情况。人员的工资可以按小时、加班或一次性来计算,也可以具体明确到期支付日;对于原材料,可以确定一次性或持续成本;对各种材料,可以设立相应的会计和预算代码。另外,还可以利用用户自定义公式来运行成本函数。大部分软件程序都应用这一
信息来帮助计算项目成本,在项目过程中跟踪费用。项目过程中,随时可以就单个资源、团队资源或整个项目的实际成本与预算成本进行对比分析,在计划和汇报工作中都要用到这一信息。大多数软件程序可以随时显示并打印出每项任务、每种资源(人员、机器等)或整个项目的费用情况。

  2. 日程表

  日程表程序主要用来对项目中各个单项资源或一组资源确定工作时间。可以用这些日程表计算出项目的进度计划。大部分系统软件都对基本工作时间设置一个默认值,比如星期一到星期五,早上8点到下午5点,中间有一小时的午餐时间。对于各个单项资源或一组资源,可以修改此日程表。例如:修改上、下班时间,按非工作时间输入公司假期,输入各种换班(白天、夜晚),包括节假日以及数量单位(小时、天、周)。汇报工作进程时要用到这些日程表,它通常可以根据每个单项资源按天、周或月打印出来,或者将整个项目的日程打印成一份全面的,可能有墙壁大的项目日程表。

  3. 电子邮件

  一些项目管理软件程序的共同特征是可以通过电子邮件发送项目信息。这一功能使得用户不必通过打印机或屏幕显示,直接从电子邮件中获得信息。通过电子邮件,项目团队成员可以了解重大变化,比如最新的项目计划或进度计划,可以掌握当前的项目工作情况,也可以发出各种业务表格。

  4. 图形

  对于有大量活动事项的项目工程,人工制出一份甘特图或网络图,或人工进行修改制图是一件极其乏味而又容易出错的工作。当前项目管理软件的一个最突出的特点是能在最新数据资料的基础上简便、迅速地制作各种图表,包括甘特图及网络图。有了基准计划后,任何修改就可以轻易地输入到系统中,图表自动会反映出这些改变。项目管理软件可以将甘特图中的任务连接起来,显示出工作流程。特别是用户可以仅用一个命令就在甘特图和网络图之间来回转换显示。另外,图形和表格通常有以下功能供用户使用:

  . 进行任务和关系的交互式操作处理。例如,通过图表连接任务,改变优先关系或通过扩展活动持续显示功能来改变活动持续时间。

  . 定制格式,例如图形大小、标题、颜色、字型以及文件布局。

  . 显示任务或成本的基准对照表。

  . 突出关键路径,显示出任何活动的延缓。

  . 放大或缩小显示图像。

  5. 转入/转出资料

  许多项目管理软件包允许用户从其他应用程序,比如文字处理、电子表格以及数据库程序中获得信息。为项目管理软件输入信息的过程叫做转入。例如,你只需在需要时转入某个电子表格的信息就可以了,而大可不必将电子表格中有关人员或机器的成本信息重新键入项目管理软件程序,而且这样还可能会输入相互冲突或错误的资料。同样地,常常也要把你的项目管理软件的一些信息输入到这些应用程序中去。发出信息的过程叫做转出。例如,可能要把对某一承包商的进度计划报告转出到文字处理备注文件中。

  绝大部分项目管理软件程序允许把标准ASCⅡ码中的信息文件从Windows Clipboard转出到SQL database, Lotus, Excel, Microsoft Project Exchange, OLE client/server, DDE client/server 以及一些其他系统中。

6. 处理多个项目及子项目

  有些项目规模很大,需要分成较小的任务集合或子项目。另一种情况是经验丰富的项目经理同时管理好几个项目,而且,团队成员也同时为多个项目工作,在多个项目中分派工作时间。在这种情况下,大部分项目管理软件程序能提供帮助。它们通常可以将多个项目储存在不同文件里,这些文件相互连接。项目管理软件也能在同一个文件中储存多个项目,同时处理几百个甚至几千个项目,并绘制出甘特图和网络图。

  7. 制作报表

  项目管理软件包在最初应用时,一般只有少数报表,通常是列表总结进度计划、资源或预算。今天,决大多数项目管理软件包都有非常广泛的报表功能。下面列出一些可制作的报表内容:

  . 项目全面汇报报表。

  . 项目主要阶段(里程碑)报表。

  . 一定时期内的各种信息,例如这一时期内完成和正在进行的任务,以及准备开始的任务。

  . 财务报表,显示全面的信息,包括所有任务、整个项目预算、超支情况、累计预算成本、实际成本以及承付款项。

  . 成本/进度控制系统准则(c/scsc)报表。通常美国国防部进行国防项目时要求使用这个报表。

  . 对项目的各种或一组资源进行资源配置报表。

  . 定制的标准报表、交叉报表、变量基准对比表。

  8. 资源管理

  目前的项目管理软件都有一份资源清单,列明各种资源的名称、资源可以利用时间的极限、资源标准及过时率、资源的收益方法和文本说
明。每种资源都可以配以一个代码和一份成员个人的计划日程表。对每种资源加以约束,比如它可被利用的时间数量。用户可以按百分比分为任务配置资源,设定资源配置的优先标准,为同一任务分配各个资源,并保持对每项资源的备注和说明。系统能突出显示并帮助修正不合理配置,调整和修匀资源配置。大部分软件包可以为项目处理数以千计的资源。

  9. 计划

  在所有项目管理软件包中,用户都能界定需要进行的活动。正如软件通常能维护资源清单,它也能维护一个活动或任务清单。用户对每项任务选取一个标题、起始与结束日期、总结评价,以及预计工期(包括按各种计时标准的乐观、最可能及悲观估计),明确与其他任务的先后顺序关系以及负责人。通常,项目管理软件中的项目会有几千个相关任务。另外,大部分程序可以创建工作分析结构,协助进行计划工作。

  10.项目监督及跟踪

  项目管理的一项基本工作是对工作进程、实际费用和实际资源耗用进行跟踪管理。大部分项目管理软件包允许用户确定一个基准计划,并就实际进程及成本与基准计划里的相应部分进行比较。大部分系统能跟踪许多活动,如进行中或已完成的任务、相关的费用、所用的时间、起止日期、实际投入或花费的资金、耗用的资源,以及剩余的工期、资源和费用。关于这些临近和跟踪特征,管理软件包有许多报告格式。

  11.进度安排

  在实际工作中,项目规模往往比较大,人工进行进度安排活动就显得极为复杂了。项目管理软件包能为进度安排工作提供广泛的支持,而且一般是自动化的。大部分系统能根据任务和资源清单以及所有相关信息制作甘特图及网络图,对于这些清单的任何变化,进度安排会自动反映出来。此外,用户还能调度重复任务,制定进度安排任务的优先顺序,进行反向进度安排(从末期到日首期),确定工作轮班,调度占用时间,调度任务,确定最晚开始或尽早开始时间,明确任务必须开始或必须结束日期,或者是最早、最晚日期。

  12.保密

  项目管理软件一个相对新颖的特点是安全性。一些系统对项目管理包自身、单个项目文件、项目文件中的基本信息(例如工资)均设有口令密码。

  13.排序及筛选

  利用排序,用户可以按随心所欲的顺序来浏览信息,比如从高到低的工资率,按字母顺序的资源名称或任务名称。大部分程序有各种排序方式(例如:按名、姓等)。筛选功能帮助用户选择出符合具体准则的一些资源。例如,某些任务要用到某种具体资源,用户如果想了解这些任务的有关信息,只需命令软件程序忽略未使用这种的任务,而只把用到这种资源的任务显示出来就可以了。

  14.假设分析

  项目管理软件一个非常实用的特点是进行假设分析。用户可以利用这一特点来探讨各种情形的效果。在某一项目的一些节点上,用户可以向系统询问:"如果拖延一周,会有什么结果?"系统会自动计算出延迟对整个项目的影响,并显示出结果。例如,某个建筑项目,要研究木材消耗率上升15%将发生什么结果,承包商只要把这一变化输入计算机,所有的相关费用成本就能显示出来。几乎可以对项目中所有变量(人员、工资率、成本)进行测试,观察发生具体情况的影响。这种分析能使项目经理更好地控制有关项目的各种风险。



  下面简要介绍一下当前一些最常见的项目管理软件包。

  1. CA-SuperProject

  Computer Associates International公司的CA-SuperProject是一个常用的软件,特别是在那些管理公司网络的项目管理人员、在Unix或Windows环境下的工作人员以及需要高性能程序的人中更受欢迎。这个软件包能支持多达160,000多个任务的大型项目。许多评论人员因为它在大型项目及小型项目两方面的优异表现而予以高度评价。CA-SuperProject能创建及合并多个项目文件,为网络工作者提供多层密码入口,进行计划审评法(PERT)的概率分析。而且,这一程序包含一个资源平衡算法,在必要时,可以保证重要工作的优先性。它的主要缺点是用户界面不如其他一些程序友好,应当在将来的版本中进一步解决。

  2. Microsoft Project

  毫不意外,作为微软家庭一员的Microsoft Project,已经占领了项目管理软件包市场的大量份额。Microsoft Project的主要优点是它与微软其他产品(Access、Excel、PowerPoint、Word)很相似,菜单栏几乎一样,用户的工具栏如出一辙。另外,用户可以在应用文件之间轻易地来回移动信息资料,例如,可以把Excel资源表中的成本信息轻易地移到Microsoft Project中,Microsoft Project中的一份甘特图也可通过拖入或连接,轻易地移入Word文件
中。日常用语(Tips of the day)、提示卡以及大量帮助范例大大简化了程序的应用,交互式日程系统、电子邮件以及分配设备的功能很强大。现在,还包含应用文件的视象(Visual Basic fot Applications),便于高级用户设计接口或自动处理重复性工作。Microsoft Project的缺点是它的关键路径处理,用户不太容易查看,并且它也不如其他一些软件包能处理多个项目及子项目。

  3. Project Scheduler

  Scitor公司的Project Scheduler软件是一个易于操作、基于Windows的项目管理软件包,它获得《电脑杂志》的"编辑选择奖"(Editos' Choice Award)。Project Scheduler具备传统项目管理软件的所有特征,图形界面设计完好,报表功能强大,制图方面也是如此。比如甘特图,能用各种颜色把关键任务、正或负的时差、已完成的任务以及正在进行的任务区别开来。任务之间建立图式连接极为方便,任务工时的修改也很容易。资源的优先设置及资源的平衡算法非常实用。对多个项目及大型项目的操作处理也比较简单,与外部数据库的连接也不同一般。该软件美中不足的地方是联机帮助和文件编制以及电子邮件功能有限。无论如何,这些将会在将来的版本中得到改进。

  4. Sure Trak Project Manager

  Sure Trak Project Manager是Primavera Systems公司的产品。该公司也生产一种叫做Project Planner的优质尖端项目管理软件包。Sure Trak Project Manager是一个高度视觉导向的程序,具有优异的放缩、压缩及拖入功能。它的基本结构,比如柱形、图表、色彩和数据结构便于调整,定制模板也容易创建。它的工作分析结构功能优异,便于使用。重复活动处理简便,活动网络图可以分区段储存在磁盘里,并可装入其他程序。联机帮助及文件编制是Sure Trak Project Manager的不足之处,这会在将来版本里改进。

  5. Time Line

  《电脑杂志》的"编辑选择奖"的另一位得主是Symantec公司的Time Line软件。尽管这个软件在初学者使用时略微有些困难,但Time Line是有经验的项目经理的首选。它的报表功能以及与SQL数据库的连接功能都很突出。日程表、电子邮件的功能,排序和筛选能力以及多项目处理都是精心设计的。另外,它还有一个叫做Co-Pilot的功能,这是一个很有用的推出式帮助设施,用户界面很好,极易操作。然而,许多评论人员认为Time Line最适于大型项目以及多任务项目,但不如其他软件包便于初学者使用。

  6. High-End Project Management Software

  如果上面讨论的基于个人电脑的软件包不能管理大型或企业规模型的项目,人们就会想到High-End Project Management Software的软件包。这些系统软件包括Lucas Management Systems的Artemis、Welcome Software Technology的Open Plan、Primavera的Project Planner以及PSDI的Project/2。这些软件能在一个颁布式数据环境下共享资料,便于处理多任务项目,连接其他商业信息系统,比如会计、采购、而且通常对进度计划及资源配置有非常完善的算法。这些系统软件的成本普遍从数千到7.5万美元,预计这些系统的价格会降低,而同时基于个人电脑的系统功能将不断增强。

  下面是购买项目管理软件包时应考虑的一些因素。根据你个人的需要,下面的某些因素相对其他人而言,可能对你会更重要或不十分重要。

  1. 容量

  这主要是考虑系统能否处理你预计进行的项目数量、预计需要的资源数以及预计同时管理的项目数量。

  2. 文件编制和联机帮助功能

  各个项目管理软件包的文件编制和联机帮助功能质量各不相同,差别较大。主要考虑用户手册的可读性、用户手册里概念的逻辑表达、手册和联机帮助的详细程度,举例说明的数量、质量、对高级性能的说明水平。

  3. 操作简易性

  这一点通常不论选择在哪种软件包时都是主要的。主要应考虑系统的"观看"和"感觉"效果、菜单结构、可用的快捷键、彩色显示、每次显示的信息容量、数据输入的简易性、现在数据修改的简易性、报表绘制的简易性、打印输出的质量、屏幕显示的一致性,以及熟悉系统操作的难易程度。

  4. 可利用的功能

  一定要考虑系统是否具备
项目组织所需要的各种功能。例如,程序是否包含工作分析结构以及甘特图和网络图,资源平衡或均衡算法怎么样?系统能否排序和筛选信息、监控预算、生成定制的日程表,并协助进行跟踪和控制?它能否检查出资源配置不当并有助于解决?

  5. 与其他系统的兼容能力

  在当今的数字化社会里,大量的电子系统日趋统一。如果你的工作环境里,切合数据储存在各个地方,比如数据库、电子数据表里,这时就要特别注意项目管理软件的兼容统一能力。有些系统只能与少数几种常见的软件包进行最基本的统一,有些却可以与分布数据库甚至对象向数据库进行高级的综合统一。另外,项目管理软件通过电子信箱向文字处理及图形软件包转入信息的能力也会影响到你的决策。

  6. 安装要求

  这里主要考虑运行项目管理软件对计算机硬件和软件的要求:存储器、硬盘空间容量、处理速度和能力、图形显示类型、打印设置以及操作系统等。

  7. 报表功能

  目前各种项目管理软件系统的主要不同之处是它们提供的报表种类和数量。有些系统仅有基本的计划、进度计划和成本报表,而有一些则有广泛的设置,对各个任务、资源、实际成本、承付款项、工作进程以及其他一些内容提供报表。另外,有些系统更便于定制化。报表功能应给予高度的重视,因为大多数用户非常注重软件这种能生成内容广泛、有说服力的报表的功能。

  8. 安全性能

  有些项目管理软件有相对更好的安全性。如果安全问题很重要,那么就要特别注意对项目管理软件、每个项目文件及每个文件数据资料的限制访问方式。

  9. 经销商的支持

  要特别注意,经销商或零售商是否提供技术支持、支持的费用,以及经销商的信誉。



  应用项目管理软件有很多益处。下面介绍一些:

  1. 精确性

  应用项目管理软件的一个主要益处是可以大大提高精确性。对于大型项目,人工绘制网络图、计算起止时间、临近资源使用情况是非常困难的。项目管理软件有精确的算法来计算项目信息并设有大量内部例行程序检查用户的错误。

  2. 经济性

  基于个人电脑的项目管理软件售价约400-700美元。这个价格对于个人来说显得昂贵些,但对大多数业务而言,这样的软件确实物有所值。

  3. 使用简便

  近几年来,项目管理软件的操作使用变得极其简便,稍加训练就可以完全掌握。这一特点,加上价格能接受,便利项目管理软件的用户迅速增加。

  4. 处理复杂问题的能力

  显然,项目管理软件在处理大型项目的某些方面(特别是数据方面)确实要比人工简便得多。对于只有少数活动的短期项目,人工方法也许行得通,但如果项目有数以千计的活动、上千种资源、持续几年时间,项目管理软件对如此复杂工作的协助作用就显得必不可少了。

  5. 可维护性和可更改性

  对人工系统进行项目信息的维护和修改,通常是很麻烦的。例如,对某个项目的管理没有应用计算机,那么每次发生变化时,项目人员就不得不人工重新设计网络图、重新核算成本。利用项目管理软件数据资源的任何更改都会自动反应到网络图表、成本表以及资源颁布表等这些项目文件中。这个功能会经常用到,因为无论你的计划做得多么完善,在过程中都必定会发生一些变化(至少一点儿)。

  6. 保持记录

  项目管理软件的一个主要优点是它能很好地保持记录。例如,可以保护有关各个团队成员的进度计划、各项任务及所用资源的数据资料。在准备优质的报表或将来做计划时,会用到这些数据资料。但是,用户必须不断更新文件,使记录保持不失去意义。

7. 速度

  收集好相关数据资料并且输入后,软件就能非常迅速地进行几乎每一种能想出来的计算。人工创建、修改计划、进度计划和预算,要花费几小时、几天或几个星期,但是,系统在分秒之内便可完成修改工作,省下的时间通常足够来支付软件的价格了。

  8. 假设分析

  进行假设分析是项目管理软件的一个超前进步的功能,也是它的一个显著优点。正如前面讨论的,假设分析使用户可以了解项目中发生的各种情形的效果。用户在软件上运行不同的情景,然后做出评估。这样,项目经理对某些偶发事件就可以做好计划准备,并估计相应的结果。进行假设分析如果不使用软件是难以想象,甚至是不可能的。



  尽管使用项目管理软件有许多益处,但在使用过程中也有一些应该注意的地方,同时尽可能避免其中的一些陷阱。

  1. 沉溺于软件程序中

  有时,一些项目经理会沉溺于项目管理软件。某个项目经理可能会把大量时间投入软件中,摆弄那些报表、功能,把工件中最主要的部分-人员抛在脑后。

  2. 安全错觉

  项目管理软件有时会使项目经理产生一种安全错觉。主要以几种方式:
首先,项目经理会认为,由于有功能强大的软件,项目会管理完成得更出色。其次,如果项目偏离计划,项目经理会认为软件能有办法让项目回到正常轨道上来。第三,软件如果使用不当,它可能会显示项目进行良好,但实际情况却并非如此,单凭软件显示一切正常是远远不够的。

  3. 信息超载

  项目管理软件提供了众多的功能和大量信息。有时可怕的数量能导致危险局面。应该只使用有合适功能的软件。项目经理要克制自已,避免使用某些功能,生成更多的报表和数据资料,却对成功地完成项目毫无益处。

  4. 学习曲线

  要熟练使用项目管理包,确实需要花些时间。所需时间根据个人的不同情况和经历而不同。对于那些目前不使用计算机和商业软件的人来说,会有一个非常明显的学习曲线。然后,近几年来,由于软件越来越易于使用,使得为掌握软件应用而需要的学习培训时间大大缩短了。

  5. 过度依赖于软件

  由于项目管理软件的应用越来容易和有趣,同时软件提供了大量很有吸引力的特性,使得项目经理开始过分依赖于软件。对项目管理缺乏基本知识的人有时使用软件,但却不知道软件的真正用途。如果没有掌握项目管理的基本概念,软件就没有什么意义了。通俗地说,项目管理软件仅仅是帮助你更有效率、有效果地工作的一个工具,软件自己并不能管理项目。你进行项目管理,一定要依靠你自己的技能,依靠你的团队的技能。

2008年10月16日木曜日

女人必会日语单词(美容类)

女人必会日语单词(美容类)
一 目力アップのアイメーク用品
(提升眼睛魅力的眼部彩装用品)
1アイシャドー (Eye Shadow) 眼影
2クリーミィ アイシャドー (Creamy Eye Shadow)眼彩
3パウダー アイブロウ (Powder Eyebrow)眉粉
4アイブロウ ペンシル (Eyebrow Pencil)眉笔
5リキッド アイライナー (Liquid Eyeliner)眼线液
6カラー ペンシル (Color Pencil) 眼彩笔
7アイライナー ペンシル (Eyeliner Pencil)眼线笔
二 マスカラ 睫毛膏
もっと長く、もっと濃く、もっと強く!
更纤长,更浓密,更持久!
1ボリューム マスカラ 浓密型睫毛膏
2ロング マスカラ 纤长型睫毛膏
3マスカラ ウォータープルーフ 防水型睫毛膏
4もちよし マスカラ 持久型睫毛膏
三 フェイスメーク 脸部彩妆
ナチュラルメークにこれだけは必要!というアイテムは?
自然彩装的必备单品
1フェイス パウダー 密粉
2スティックチークス腮红条
3リキッド(リクイド)ファンデーション粉底液
4ベース クリーム隔离霜
5パウダーファンデーション粉饼
6チーク カラー腮红
四 リップスティック唇膏
これがウワサの売れ売れリップ用品情報!!
口碑绝佳的唇部彩妆情报!!
1リップ モイスト 保湿唇膏 
2ホワイト コンシール 遮瑕膏
3リップ グロス 唇蜜
4リップスティック 唇膏
5リップライナー ペンシル 唇线笔
6リップ マッサージ エッセンス 唇部按摩精华
7リップ クリーム 护唇膏
五 メークアップツール化装小工具
これを全部そろえたら、コスメ美人になれるよ!
拥有这些化装小工具之后,可以帮你成为彩妆美人哦!
1マスカラ ブラッシュ 睫毛刷
2アイブロウ 眉刷
 ブラッシュ アンド コーム 眉梳
3アイブロウ ツィザーズ 眉拔
4アイブロウ シザーズ 眉剪
5つけまつげ 假睫毛
6アイラッシュ カーラー 睫毛夹
7部分ビューラー 局部睫毛夹
8パフ 粉扑
9ファンデーション スポンジ 化装海绵
六 ネイル 指甲油
きれいなネイルメークをしよう!
给你的指甲美容一下吧
1ネイル カラー 指甲油
2トップ コート 表层护甲油
3ベース コート 基础护甲油
ネイルアート指甲彩绘
フレンチネール法式指甲
ネイルチップ 法甲贴片
ラメ入りネイル 亮粉指甲油
七 メーク リムーバー 卸妆品
毛穴の置くまできれいにメークを落とす!
连毛孔深处的妆都卸除干净
1クレンジング オイル  卸妆油
2メーク クリア ジェル  卸妆凝胶
3クレンジング フォーム  卸妆泡沫
4アイ メイク クレンジング  眼部卸妆液
八 ベーシック スキン ケア
1 ミルク  乳液
2 ローション 化妆水
3 エッセンス 精华液
4 アイ ジェル 眼部凝胶
5 アイ モイスチャー 保湿眼霜
6 アイ セラム 眼部精华液
九 美容常见单词
一重まぶた  单眼皮   二重まぶた 双眼皮
奥二重    内双    アクネ 粉刺
スポット   斑点    ニキビ 痘痘
そばかす   雀斑    しわ 皱纹
小じわ    细纹    古い角質 角质老皮
混合肌    混合性肌肤 ドライ肌 干性肌肤
オイリー肌  油性肌肤  敏感肌 敏感性肌肤
肌荒れ    皮肤粗糙  スべすべ 光滑
化粧下地  底妆  クマ 黑眼圈
小鼻 鼻翼 毛穴 毛孔
フルーツ酸 果酸 オイルフリー 无油脂
ノーメーク 裸妆 素肌 素肌
くすみ 暗沉 黒ずみ 暗沉物
きめ決めの細かい肌 细嫩的肌肤
みずみずしい 水嫩 しいカサカサ 干燥
ツルツル 光滑 色素沈着 色素沉淀

2008年8月31日日曜日

gnome 自启动程序设置

呼...花了几个小时,终于弄明白了,没想到这个东西挺隐蔽而且网上基本搜不到...

以前我一直用~/.gnomerc,不过这个是在gdm刚加载时调用的,如果这个时候运行一个窗口程序,一开始会没有标题栏等等,挺不爽.

后来知道了可以用gnome-session-properties(System->Preferences->Sessions)来进行配置, 里面有个startup.

但是我想知道其具体配置文件在哪里,网上很多说在~/.gnome2/session,我看了,一开始没有这个文件,但是在gnome-session-properties里选择Save the current session后就有这个文件了.

如果这个文件不存在,gdm会找/usr/share/gnome/default.session

不过我觉得这个并不是我想要的,虽然也能起到自启动的效果. 因为它里面的内容和gnome-session-properties的startup配置并不符合.

最后花了九牛二虎之力找到了,在~/.config/autostart目录下,里面有若干.desktop文件. 虽然对其格式还不是非常了解,但是肯定这就是我要找的了.

呼...

自己动手提高ubuntu系统的性能

在每一个基本的系统中,都包含有各种各样的基本进程,用于检查系统服务,和操作系统通信等等。进程和系统的性能表现有着很大的关系,因此,一个系统管理者应该清楚了解当前系统中正在运行什么东西,有什么资源可用等等,只有这样,你才能够调整配置,例如,禁止不需要的进程,打开必须的监护程序以及将你的内核调整到最优化,最后得到一个最适合自己使用的最好的系统。Ubuntu是一个为大众设计的系统,这也就决定了其系统设置的大众化,换句话说,臃肿化。为了适应兼容性而支持的很多东西,我们其实不一定需要。在这里,笔者试图讲解一些通过调整内核参数,shell参数以及特定应用的设置来优化系统的方法,供大家参考。需要注意的是,不同的ubuntu系统有着不同的启动脚本,并有着不同的运行进程,这里我只能以7.04系统为基础来讲解。其实自己学会对进程进行追踪查看是非常重要的,只有这样你才能在不同的系统中都游刃有余。另外,如果要更加深入调整系统,那么自己编译一个属于自己的系统是最合适的,本文没有牵涉这么深入的东西。如果你对自己编译 linux系统感兴趣,可以参考这篇文章和这篇文章。

本文假设你有一点点基本使用linux的基础,所以很多东西只是讲一个概念性的大纲,想深入了解的话,网络上有很多文章。如果你是系统高手,基本就可以不用看本文了,你会觉得很简单,如果你是连ps,who -r都不知道的新手,建议你还是先放google搜索一些入门文章,并亲自使用linux一周以上,再回过头来看这篇文章。本文很大程度上参考了 Ubuntu Performance Guides,篇幅较长,故分两页发出。

刚才就几次提到进程,那么,我们应该怎么理解这个词语?广泛得说,所有在系统中运行的,用于执行各种各样任务的,都是一个进程,只不过根据具体执行任务的不同可以有所区分,例如,用于管理和维持操作系统运行的属于系统进程,而用于处理用户需求的就是用户进程。

进程并不是一个独立的概念,它是相互交互的,很多进程都为其他进程提供服务,或者携手共同完成某一个功能。这些服务中,有一些对于系统的运作是非常关键的,例如X-Windows服务。绝大多数的系统进程都是服务性质的进程,而绝大多数用户进程则是应用程序类进程。应用程序,比如你现在在使用的 FireFox(或者其它,估计FF最多吧)通常是由一个或多个满足用户需求的进程组成。总的来说,服务的开启和关闭是基于系统需求的,而应用程序的开启和关闭,则是基于用户的需求的。

我们上面说的这些进程阿,服务阿啥的,其实之间的区分并不是很明显,举个例子,Gnome的桌面系统就是由各种程序和进程组成,而他们不仅提供其它程序需要的服务,还可以支持用户的需求。GDE完全可以被称为是程序,进程,应用和服务的集合体,这不会产生任何冲突。

当然,我们还是要稍微做一下区分,后面才方便继续讲解。现在就统一一下,进程表示任何可以产生运行中的进程标志符的东西,程序则表示能产生进程的可执行文件。用户能够直接使用应用程序,而操作系统才使用服务。
进程基本操作

在你的机器上,唯一能够消耗你资源的就是正在运行的进程。如果当你发现自己的系统突然很慢,运行不正常时,通常只有两个可能,一种是某些进程运行异常,另一种就是某些进程所消耗的资源已经大于你所拥有的资源。

当然,想看看什么东西正在你机器上运行其实很简单,使用ps -aux或者top命令即可,这些东西资料很多,我就不多说了,实在不行man top或者man ps吧。当然,对于初学者来说最方便的还是利用图形化界面的系统监视器,如图:

screeshot(点击缩放)

所有信息都尽显眼前。注意,在系统监视器中,你不仅能看到进程运行情况,还能看到磁盘使用,CPU使用等很多有价值的信息,这些信息是接下来的部分可能用到的。

ok,现在我们知道,如果系统异常,如何去确定是什么进程异常了。但是接下来该怎么处理呢?无论是命令行还是图形界面显示,你都可以看到每一个进程都有属于自己的ID,也就是PID。它们都是进程的句柄,而不是表示真实的进程。这有什么区别?对于一个拥有多线程的进程来讲,可以让所有的线程都拥有同一个句柄,也可以让每一个线程都拥有一个句柄。太专业了?恩,通俗来讲,这就相当于……进程的身份证,我们通过它来标志进程。这个东西在ubuntu中默认可以有 32768个不同的PID,每有一个新的进程,就分配一个当前未用的PID给它。

好了,让我们找到那个让我们系统变慢的该死的罪魁祸首,看看它的PID,然后用kill PID命令来关闭它。等等,你确定就是这个进程影响了你的系统?你确信没有错杀好人?好吧,其实可以先用kill -stop PID命令来暂停一个进程,看看没有了它,我们的系统是否正常。如果发现了冤假错案,没关系,kill -cont PID能让进程继续工作。

除了直接使用kill PID之外,我们还有更进一步的kill进程的办法。kill PID仅仅是发出一个TERM信号,然后进程能捕捉这个信号,开始释放资源,关闭程序,这不是一下子就完成的,因此在关闭程序之前,你可以结束打开的文件和完成正在做的任务。但是这导致一个问题,假如进程正在进行作业而且不能中断,那么进程可以忽略这个SIGTERM信号,而且如果进程失去响应了怎么办?别急,我们还可以试一试kill -1 PID命令,这个命令发送的是hang up信号,含义是“中止信号”,它告诉进程,终端已经被kill了。但这个信号同样只被运行良好的进程所拦截。假设这两种方式都无法结束进程,那么只能使用kill -9 PID了。这个命令发送的是真正的kill信号,对于这个信号,进程是不能忽略的。这是一个“我不管您在做什么,立刻停止”的信号,也就是说进程立刻被终止,不实施清理操作。

信号是用来与守护程序和进程通信的。任何活动任务都是一个进程,而守护程序是等待对某些事件做出反应或者按照日程安排执行任务的后台服务。一个程序必须有建在其中的信号处理程序用于捕获和应答信号。在LINUX中的signal参考指南解释了各种不同信号和这些信号的用途。常用的信号除了上面介绍的以外,还有INT,CHLD等。
进程操作进阶

当然,仅仅了解上面的知识,对于对进程的理解,还是不够的。下面,我会介绍更多的关于进程的知识。

首先,我们需要知道,并不是所有的进程都会被动态分配PID,至少有两个进程不会,就是kernel和init。kernel进程的PID是0, 一直是0,而且你无法从ps,top这些命令中看见它,当然,也无法用kill命令来终止它。init进程是主父进程,什么意思呢?每一个进程都需要一个父进程来监管它,父进程的作用就是接受子进程的返回值和状态值。而如果任何一个进程的父进程被终止,init就会成为它的父进程。init进程的PID固定是1,从理论上讲,你也可以终止它,但是千万不要试图这样做,因为它是用来清除呆死进程的,一旦将其kill,系统最终将崩溃。

除了他俩,还有一些进程是你不应该kill的,包括Zombies,/O Bound—A和Interception。事实上,我们很少解除这几个进程,普通用户也没必要接触它们,因此,在这里我不会详细解释它们的用途,有兴趣的朋友可以自己google。

其它进程,在保证系统本身不崩溃的情况下,一旦有异常你都可以试图去kill,不过要知道,kill命令只作用一次,也就是说,假如,我是说假如,这个进程在被kill后又重新自启动,那么你不得不再运行一次kill,这样循环。当然,此时,你就不能一直陪它kill下去了,追踪查看其自启动的根源才是正确的做法。你觉得这太麻烦了?好吧,还有一个懒办法,就是看看这个进程的名字,然后用kill name来阻止它。我知道很多地方都有介绍kill -9 -1这个命令,但是你需要知道,这个命令会kill你所有的进程,包括界面进程以及终端。而且如果你是root权限……它会连所有系统应用都一起 kill,然后,你的系统就将崩溃。所以用这个命令,你还不如直接按下你的重新启动按键,还更加省心……
进程的启动

我们能够查看正在运行的进程,查看进程的具体信息,但是,我们能不能知道它们是怎样开始的?难道是和孙猴子一样从石头里面崩出来的?你也许会看它的 PPID,恭喜你,摸着点门道了,but……你会发现大多数进程的PPID都是1,init进程。而事实上,进程的启动原因可能是很多种,启动脚本,设备配置脚本,网络变化,甚至是任务日程等等等等。因此,我们需要探查进程启动的秘密。
启动脚本

看看你的/etc/init.d/文件夹,你会发现其中包含了很多用于启动和停止系统服务的脚本,而它们,都将以链接形式存在于/etc/rc0.d, /etc/rc1.d以及类似目录中。例如,在/etc/rc1.d执行命令ls -l,你会看见如下结果:

lrwxrwxrwx 1 root root 13 2007-04-21 22:01 K01gdm -> ../init.d/gdm*
lrwxrwxrwx 1 root root 17 2007-04-21 21:59 K01usplash -> ../init.d/usplash*
lrwxrwxrwx 1 root root 17 2007-04-23 14:54 K09apache2 -> ../init.d/apache2*
lrwxrwxrwx 1 root root 17 2007-04-21 21:58 K11anacron -> ../init.d/anacron*
lrwxrwxrwx 1 root root 13 2007-04-21 21:58 K11atd -> ../init.d/atd*
lrwxrwxrwx 1 root root 14 2007-04-21 21:58 K11cron -> ../init.d/cron*
lrwxrwxrwx 1 root root 16 2007-04-21 21:59 K19cupsys -> ../init.d/cupsys*
lrwxrwxrwx 1 root root 15 2007-04-21 21:59 K19hplip -> ../init.d/hplip*
lrwxrwxrwx 1 root root 22 2007-04-21 21:58 K20acpi-support -> ../init.d/acpi-su
……………………………..

如果你的运行级别是1,init就会进入/etc/rc1.d并调用其中的链接符号,也就是启动相应的进程,以此类推。如果想知道目前系统的运行级别,最简单的办法就是用who -r命令,会显示:

run-level 2 2007-05-04 10:09

这就表示我目前的系统运行级别是2。在boot的时候,所有/etc/rc2.d目录下对应的init脚本的输出都会存到/var/log/messages这个文件中,你可以根据它来判断哪些进程被执行了。
启动设备

udev进程用于动态管理设备的配置,这个进程监视和管理即插即用设备。一旦这些设备生效,存在于/etc/udev/rules.d/文件夹下的哪些脚本就会生效,调用不同的应用程序。
shell启动脚本

每当你登入登出系统,或者是启动了一个新的shell之后,都会执行配置脚本,每一个脚本都会启动进程。对于笔者使用的ubuntu而言,默认的shell是bash,相应的配置脚本如下:

/etc/profile:每次登录shel都会执行,全局配置文件
$HOME/.bash_profile:基于用户自定义,每一个用户都可以有自己的登录脚本
/etc/bash.bashrc:交互式非登录全局配置脚本,这个文件在.bashrc中会调用
$HOME/.bashrc:交互式非登录用户自定义的配置脚本,也是我们大多数时候需要修改的文件
/etc/bash.logout:不一定存在,如果存在的话,每次用户登出时调用它
$HOME/.bash_logout:同上,只不过是用户自定义的

我们可以注意到,上面这些脚本大致可以分为两类,一类是用于登入登出的,一类是交互式。它们有什么区别么?简单得说,每当你登入你的系统时,登入脚本和交互式脚本都会执行。而当你打开一个终端窗口时,只有交互式脚本才会被执行。
桌面脚本

linux喊了一万年的要易用,要占领桌面系统,简单说来,就是希望有一个漂亮易用的图形界面。大多数人的大多数应用还是基于图形界面的,因此,除了上面介绍的shell脚本,我们还应该关注一下图形界面脚本。

在启动图形界面的时候,首先会运行/etc/X11/xinit/xinitrc, /etc/X11/Xsession和/etc/X11/xinit/xserverrc这三个脚本。它们会设置相应的环境变量,并在最开始启动时运行应用程序。在X-Windows启动完毕之后,就是Gnome的启动,它会调用很多程序,产生很多进程,也就是类似于Windwos下的开机自启动程序。到底是哪些进程呢?我们可以从存放系统级别启动脚本的/etc/X11/gdm/目录,用于用户自定义启动程序的$HOME/.gnomerc文件,或者通过系统>首选项>会话菜单来查看:

screeshot(点击缩放)

好,问题来了。既然有这么多的地方都能进行开机自启动程序的添加,难道它们都是完全一样的么?这样有什么意义呢?

恩,它们当然不是完全一样的,而是各司其职。

如果你希望自启动程序是作用于使用X-Windwos的所有人,那么你要修改的地方就是/etc/X11/Xsession,或者把脚本放置到 /etc/X11/Xsession.d/目录下。如果仅仅是希望对你自己使用X-Windwos时生效,则修改$HOME/.xsession即可。

如果你希望自启动程序是作用于使用Gnome的所有人,那么你要修改的地方就是 /etc/X11/gdm/PostSession/Default,它会仅仅对Gnome使用者起作用,而不是KDE使用者或者其他。或者把脚本放置到 /etc/X11/Xsession.d/目录下。如果仅仅是希望对你自己使用Gnome时生效,则修改$HOME/.gnomerc即可。

小知识:Gnome和X-Windows的区别?
X- Windows是图形界面底层,提供的功能是在屏幕上构造方块(窗口),然后画出里面的元素,但不提供交互式操作。gnome,kde这些都是基于X -Windows的不同风格的界面,属于桌面环境。怎么理解这个桌面环境呢?基本的意思是指“ Mac OS 和 Windows的图形界面有,而X没有却应该有的东西”。通常是一组有着共同外观和操作感的应用程序,和程序库,以及创建新的应用程序的方法。事实上你可以同时有两个文件管理器,两个面板,等等,并不冲突,因为它们都是属于应用。

桌面应用

插入光盘,就会自动弹出文件浏览器,插入数码相机,就会自动弹出照片导入程序,等等。这些应用是怎么实现的?如何禁止程序的自动执行?如何自定义在即插即用设备被认出以后的启动程序?
答案就在 系统>首选项>可移动驱动器和介质里。打开它,你就明白怎么回事了,这东西实在太简单,我就不多说了。只有一点补充的,就是如果你要使用一款新的即插即用设备,而这种设备在可移动驱动器和介质选项中没有,那么此时你就必须求助于udev了。至于udev的具体知识,讲起来又是一篇文章,所以就不讲了,还是那句话,放 google~~^_^。
评估资源

刚才我们一直再说资源资源,当然,系统资源的使用情况直接决定了你系统当前的性能。那么,我们如何才能对自己系统的性能做一个基础评估呢?在评估之前,我们需要对资源做一个更加详细的解释。所谓的资源,都是指进程所能使用的资源,包括了CPU 处理能力,磁盘空间,磁盘I/O,RAM使用情况,显存使用情况,网络流量等。而这些资源的当前使用状态,我们都是有办法自己获取的。
系统监视器和proc

正如大多数linuxer所知道的那样,/proc挂载了一个虚拟文件系统,专门用于列出当前系统资源情况和正在运行的进程。在这里,所有的东西都是动态的,随时可能改变的。最关键的是,/proc目录下有很多以数字命名的文件夹,这些文件夹都对应了某一个响应PID的进程,内含进程的很多信息,包括使用命令,运行环境等。还有一些不是以数字命名的文件夹,那是设备驱动和内核的情况,例如,cpuinfo这个文件就提供了系统中cpu的相关信息。

当然,你可能觉得从这里面获取系统资源信息实在太麻烦了,你会抱怨,拜托,我仅仅是初学者,有没有直观的办法?sure!刚才我们说的CPU处理能力,磁盘可使用空间,内存情况,网络情况,你统统都可以从系统监视器中看到。监视器以曲线图的形式把情况呈现在你的面前,你可以根据它评估系统的运行是否良好,有没有异常的发生。

screeshot-1(点击缩放)
其它

那么,监视器就是万能的?no,至少显存和磁盘 I/O的情况它就无法呈现给你。在实际使用中,可能会发生你的系统中有好几个磁盘,但某个磁盘的 I/O通道堵塞会导致系统性能下降的现象。有什么办法来确定是哪个通道在搞鬼呢?这里,iostat就可以帮助我们了。这是一个小的,评估I/O性能的软件,通过sudo apt-get install sysstat来获得它。安装完后直接输入iostat命令,就会显示:

avg-cpu: %user %nice %system %iowait %steal %idle
7.18 0.08 3.58 2.34 0.00 86.83

Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 16.63 0.19 0.16 1046 877
sdb 0.01 0.00 0.00 0 0

包括基本CPU负荷以及I/O情况。我机器上磁盘数量较少,所以结果比较少。好了,光知道这些数据是没用的,我们需要做的是根据这些数据来分析系统负荷。我们假设现在sdb设备数据量不正常,好,接下来就用mount命令来看看,是哪个文件挂载到sda下的,得出文件路径名后,用lsof来查看这个目录下打开了哪些文件,哪些进程,以及相关信息。这样,就能有的放矢得来寻找到让你磁盘I/O情况异常的东西。

之后谈谈显存的情况读取。首先谈谈我们为什么要关注显存,显存的容量会直接影响你的显示情况,例如,如果你只有一块老的,256K显存的显卡,那么屏幕的显示最高也就是支持到 800×600,16位色深。如今,大部分的高端显卡都拥有至少128MB的显存,能够轻松在32位色深的情况下上到1280×1024的分辨率。更多的显存同样对游戏以及桌面的逼真度有益,因为可以由显存的一部分来保持主画面的显示,其它空余下来的显存就可以用来体现各种层面的仿真元素。我们可以通过 lspci –v 命令来显示所有PCI卡,包括显卡的存储关联情况。这个命令有什么用呢?当你遇到硬件问题,比如缺乏关键的硬件环境支持时,可以用这个命令来诊断到底是什么设备出了问题。这个命令在我这里奏效,但我不保证在所有的机器上都能奏效。在显示的情况中找VGA这一栏,可以看到显示信息如下:

01:00.0 VGA compatible controller: ATI Technologies Inc RV370 [Sapphire X550 Silent] (prog-if 00 [VGA])
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at 20000000 (32-bit, prefetchable) [size=256M]
I/O ports at 2000 [size=256]
Memory at 30110000 (32-bit, non-prefetchable) [size=64K]
Expansion ROM at 30120000 [disabled] [size=128K]
Capabilities:

从这里,我们就可以看出我的显卡是256M显存。
实战演练

在经过上面基础知识的介绍,就算是超级新手,也大概应该明白一些东西了。好,下面我们就进入实际调整的环节。同样,所有内容都是基于我的ubuntu feisty系统,如果你的不是这个系统,请仔细核对后再实践,我不对任何内容做“肯定可行”的保证。
加快系统启动速度

刚才我们已经介绍过了,每次开机启动的时候,启动脚本都放在/etc/rc*.d/目录下,这个*取决于你的运行级别。但是,并不是所有的脚本都是你目前这个系统需要的。如果把那些你不需要的启动进程都去除,那么不仅仅是系统启动速度会变快,开机后分配给你使用的资源也会增多。

所以现在,我会告诉你一些常见的可禁止的启动进程。在此之前,我得提醒各位,对于那些我没有提及的进程,除非你很清楚知道自己在干什么,否则最好不要去动它们,比如gdm(Gnome桌面)或者module-init-tools(内核模块)这种,要是误操作了,系统错误可别怪我……

事实上,我们可以通过系统–》管理–》服务的图形界面来做这种活,但是在这里,它并没有列出所有的服务,因此,为了对所有的启动进程都能进行自定义,我们选择sysv-rc-conf工具来进行操作。可以通过

sudo apt-get install sysv-rc-conf

命令来安装它。然后以root权限打开,界面如下:

sysv-rc-conf(点击缩放)

第一行的一排数字表示你的系统运行级别,对应的列就是该级别对应的启动进程,具体打开和关闭启动进程的操作方式很简单,下面就有说明。

好了,介绍一下常见的可以考虑去除的进程吧

* anacron — 这是一个一个自动化运行任务守护进程。你可以把它屏蔽,然后用cron来安排计划任务。

* atd and cron — 如果你根本就不会使用计划任务功能,那么可以连这个也不要。不过它占用的资源极少,不是特殊情况也没有必要禁止它。

* apmd — 这是一个电源管理方面的服务,专门用于监视那些不支持ACPI的旧系统的电池。如果你使用的笔记本比较新,或者使用的是台式机,就没有必要要它。

* acpid — 这个服务用于监视电池电量,以及那些键盘上的特殊功能键,比如屏幕亮度调整键,音量控制键,无线网卡开关等等,也可以监视台式机键盘上一些网络应用等类似快捷键。如果你使用的不是笔记本,也不需要这些快捷键,就可以禁止它。

* bluez-utiles — 提供蓝牙服务的支持,怎么操作就取决于你有没有蓝牙设备了。

* dns-clean, ppp, 和pppd-dns — 这些服务用于动态拨号连接。如果你使用的不是拨号,就可以禁止。

* hplip — 提供对HP Linux 图像和打印系统的支持。建议禁止,因为就算没有它,也可以通过lpr这些来实现打印。

* fetchmail - 接受邮件的守护程序,建议关闭。

* nvidia-kernel- ATI显卡用户可以关闭,自己编译显卡驱动的用户也可以关闭。

* hwtools - 优化irqs的工具,不用irqs的话就可以关闭

* mdadm, mdadm-raid, and lvm — 用于支持RAID的文件系统和逻辑卷管理(lvm)。如果没有使用它们,就可以禁止。不过笔者建议在熟悉基本操作后可以自己尝试学习一些LVM相关的知识,还是挺有意义的。关不关看自己吧。

* nfs-common, nfs-kernel-server, and portmap — NFS(Network File System)是一种分布式文件系统,允许网络中的安装不同操作系统的计算机间共享文件和外设。如果你不是经常需要NFS服务,就可以先禁止它,等要使用时,再用下面的命令来启动它们:

sudo /etc/init.d/portmap start
sudo /etc/init.d/nfs-common start
sudo /etc/init.d/nfs-kernel-server start

* pcmcia and pcmciautils — 提供对笔记本上PCMCIA设备的支持。如果没有PCMCIA插槽,还要它干吗?

* powernowd and powernowd.early — 用于控制可变速CPU的服务。现在新的计算机CPU大部分都是可自动变速来节省电量了,所以只有那些很老机器的用户才建议关闭它。事实上,这部分用户已经很少很少,所以我个人建议还是保持开启。

* readahead and readahead - 一般只有内存非常小的用户,才建议关闭这个启动进程,因为它会预加载一些库,让一些程序在启动时更快,这样会消耗一些内存。如果你内存比较大,就没有必要管它。

* rsync— 用于在计算机之间同步文件的服务,极少人用到,基本都可以禁止。

* vbesave — rvices monitors the 监视Video BIOS实时配置的服务。它是ACPI的功能之一,通常是笔记本需要在屏幕显示或者外接显示(投影仪之类)之间切换时才起作用。如果你的计算机不支持 ACPI或者没有这种应用的需求,就可以禁止。

调整内核参数
查看参数

不要把内核参数想象得太神秘,事实上,有很多参数是你自己就可以调整的。用下面这个命令在终端中执行试试看,结果是什么?

sudo sysctl -a | sort | more

是的,显示的就是一系列内核参数。即使你不用sudo,也可以看见大多数参数设置。这些显示的参数都很好理解,比如kernel.threads- max = 16379,就表示同时运行的最大进程数是16379个。也许你会奇怪,PID的最大值不是65536么?怎么这个设置小这么多?是的,这就是我在这里介绍调整内核参数的原因。我们完全可以通过调整这个值来适应不同的系统,比如如果你的cpu频率很低,内存很小,就可以把这个值缩小一些。如果你的cpu很棒,内存很足,就可以不用管它,甚至调大也行。这完全取决于你的机器配置,和你自己的想法。事实上,在你安装ubuntu的时候,它就会自动根据可用资源来调整这个参数,所以不同机器上,这个参数可能是不同的。但是记住,机器调整的毕竟没有人调整的好,无法最大限度发挥系统的性能。
调整参数

好,我们现在已经可以看到很多内核参数了,那么,接下来的事情就是根据自己机器的情况来调整。通常有两种方法来调整参数,一种是在命令行下,通过类似命令

sudo sysctl -w kernel.threads-max=16000

这样来调整。这种方法调整过的参数会立刻生效,但是不会永久生效。什么意思呢?也就是说一旦你重新启动,所有改动就会消失。那这样岂不是毫无意义么?所以还有第二种方法,就是直接修改/etc/sysctl.conf文件。这个文件本身没有任何内容,有的东西全部是注释,就等着你来修改。比如,你可以将

kernel.threads-max=16000

这行命令加进去,这样,在重新启动之后,threads-max的值就会变成16000了。

通常,我们应该配合这两种办法来进行内核参数调整。首先用命令行形式调整,看看并测试直观的效果,如果比较满意,再把调整写入文件中。命令行调整的好处就是,不管你怎么胡乱修改,甚至导致系统错误,没关系,只要重新启动,一切就将恢复原样。
修改共享内存

在linux下,不同的应用程序可以共享同一块虚拟内存地址,这样方便不同程序之间的通信和信息共享,通常有两种共享内存的分配方式:临时和永久。临时分配的意思就是在所有共享的应用程序都释放内存句柄,不再需要它时,内存就会被收回。而永久分配的意思就是即使没有任何应用程序使用它,这些共享内存也会继续保持,这就有利于将状态保存于其中。

我们可以通过ipcs命令来查看进程间通信的状态。输入ipcs -m来浏览内存使用情况,显示结果为

—— Shared Memory Segments ——–
key shmid owner perms bytes nattch status
0×00000000 131073 windstorm 600 393216 2 dest
0×00000000 393218 windstorm 600 393216 2 dest
0×00000000 425987 windstorm 600 393216 2 dest
0×00000000 229380 windstorm 600 393216 2 dest
0×00000000 262149 windstorm 600 393216 2 dest
0×00000000 294918 windstorm 600 393216 2 dest
0×00000000 327687 windstorm 600 393216 2 dest
0×00000000 360456 windstorm 600 393216 2 dest
0×00000000 458761 windstorm 600 393216 2 dest
0×00000000 3964938 windstorm 600 393216 2 dest
0×00000000 524299 windstorm 600 393216 2 dest
……..

是不是有点晕了?我们可以看到一些共享内存的信息,包括共享内存ID,所有者,状态等等,但是这对于普通用户来说是不够的。你总得让我知道是谁在用吧?所以,我们应该使用下面这个命令

ipcs -m -p

来看看输出结果:

—— Shared Memory Creator/Last-op ——–
shmid owner cpid lpid
131073 windstorm 5473 4790
393218 windstorm 5568 4790
425987 windstorm 5566 4790
229380 windstorm 5413 5513
262149 windstorm 5490 8277
294918 windstorm 5512 4790
327687 windstorm 5496 7300
360456 windstorm 5496 7300
……..

好了,现在我们知道这些共享内存块分别是谁创建的(cpid),谁最近一次访问(lpid)。有时候,你会发现一些被遗弃的共享内存,就可以用ipcrm -m|-q|-s shm_id来删除共享内存信息。

但是通常情况下,如果所用的系统是作为数据库或者高性能网络服务器使用,我们更加关心的是如何分配更多的共享内存,而不是清除废弃的共享内存。那么首先,我们可以通过sysctl kernel | grep shm命令看看当前共享内存的分配情况。

sysctl kernel | grep shm

我的机器上果如下:

kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 33554432

这是什么意思呢?这些数据表示,当前总共有33,554,432 bytes (32 MB)可用共享内存,每一个单独的程序最高能够分配到2,097,152 bytes,也就是2 MB,而最小的分配单元是4096 bytes。这些数据对于常用的应用来说完全足够了,但是如果是那种类似于数据库的高性能应用,可能你就需要考虑增大它们的数值了。修改方法?请参考“调整参数”小节。

ipcs还有很多其他的查看方式,比如ipcs -m –t能够显示最近一次共享内存的访问的时间,ipcs -m –c则可以显示访问权限,请man ipcs来自行查阅更多用法。
修改个人用户设置

在内核设置层面之上,还有很多个人用户配置的参数,ulimit命令就是bash下提供的,查看对指定应用的限制值的工具。你可以通过ulimit –a命令显示当前设置:

core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) unlimited
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

上面的信息什么意思?举个例子,

open files (-n) 1024

表示一个用户shell最多可以打开1024个文件,想增加怎么办?ulimit -n num即可。

core file size (blocks, -c) 0

表示core dumps功能关闭。想打开怎么办?ulimit -c num即可。
如果你只是普通身份用户,则只能对数值进行减少的修改。如果想增加数值,需要用root权限修改。而且,一些参数的上限是和内核参数对应的,比如你可以增加打开文件句柄的数目,但数目的最大值不能超过内核参数fs.file-max设置的值(sysctl fs.file-max看看)。
修改日志数据

好吧,我知道这招有些冒险,但是确实很有作用。为了避免一些朋友在使用后出问题又无法解决,我在后面也附上了问题解决方法。

我们知道,无论是Ext3还是ReiserFS,都有三种日志方式:
1) Journal Data Writeback
2) Journal Data Ordered
3) Journal Data

三者的不同点,简单得说就是实际数据被写入文件系统以及相关日志的时间不同。默认系统采用的是Journal Data Ordered方式。如果采用Journal Data Writeback方式,能够有效提高系统速度,只不过这是有代价的:一旦系统崩溃,在通过日志恢复后,你可能只能得到一些旧的数据,而不是最新数据。所以,在修改前,请三思,如果你是对当前工作进度的备份要求非常苛刻的人,最好不要使用这个办法。

那么,接下来就介绍一些具体的修改办法,首先, 如果你是Ext3系统,需要进行以下步骤,否则可能在重新启动时出错:

sudo tune2fs -o journal_data_writeback /dev/hda1

这是人工在重启之前把文件系统设置为writeback模式。用下面这个命令来确认是否得到了执行:

sudo tune2fs -l /dev/hda1

千万注意,ReiserFS文件系统不用这样。

然后sudo vim /etc/fstab,在你的root分区mount属性中增加

data=writeback

这一句,使其看起来是这样的:

/dev/hda1 / ext3 defaults,errors=remount-ro,atime,auto,rw,dev,exec,suid,nouser,data=writeback 0 1

保存,然后sudo vim /boot/grub/menu.lst,在下面两行加上粗体属性:

# defoptions=quiet splash rootflags=data=writeback
# altoptions=(recovery mode) single rootflags=data=writeback

这样的话,即使升级内核,增加的标志也会保持,不会被覆盖。最后运行sudo update-grub即可。

ok,再提醒一句,这样做是比较冒险的。我知道你很有冒险心理,所以一旦重新启动出问题时,请用一下方法解决:
将系统重新启动到恢复模式下,在命令行下输入

mount -o remount,rw /dev/sdXX/

这个sdXX就是你的硬盘分区,这样就允许你修改硬盘上的fstab和menu.lst文件,将改变还原,然后在正确的系统中再去思考到底哪里出了问题。
杂项

1. 上面已经介绍,/etc/init.d/下面的都是启动脚本,默认这些脚本是按顺序启动的,实际上,如果你使用的是SATA 或SCSI,可以并行启动这些脚本程序,加速启动过程。而如果你的机器配置较老,则最好还是不要修改。修改方法是通过命令

sudo vim /etc/init.d/rc

找到并修改该行:
CONCURRENCY=none
为:
CONCURRENCY=shell

2. 长期使用 Ubuntu 后有一种感觉,那就是在 GNOME 中启动应用程序时,速度越来越慢。在 Ubuntu 英文论坛那边看到一个技巧,可以对这个问题起到改善作用。打开 /etc/hosts 文件,可以看到类似下面的内容:

127.0.0.1 localhost
127.0.1.1 windstorm

现在,只需在第一行的末尾加上主机名即可

127.0.0.1 localhost windstorm
127.0.1.1 windstorm

保存后,重启系统,更改生效。

3. Pango是一个着重于国际化的,用于输出和文本渲染的库,但是这个库可能导致firefox等一些程序有着过高的cpu占用资源。我们可以

sudo vim /etc/environment

然后在其中添加:
MOZ_DISABLE_PANGO=”1″

这样就可以禁用Pango了。

2008年8月30日土曜日

Ubuntu Linux系统的启动过程

BIOS 自检

启动 GRUB/LILO

运行 Linux 的系统内核

读取系统引导配置文件 /etc/inittab 中的信息运行系统的第一个进程 init

执行系统初始化脚本 /etc/init.d/rcS

根据运行级别(X)配置服务执行 /etc/init.d/rcX.d/[KS]*

终止以“K”开头的服务

启动以“S”开头的服务

运行 getty 等待用户登录

执行系统初始化脚本 /etc/init.d/rcS 时会执行 /etc/init.d/networking 启动网络配置

在执行 /etc/init.d/rcX.d/ 时,若运行级别为 2~5

若安装了Gnome/KDE,还会运行 gdm/kdm

运行脚本 /etc/rc.local 执行本地的其他启动配置

INIT 及其配置文件

INIT 进程是由 Linux 内核引导的,是系统中的第一个进程,是系统其他进程的祖先进程,其进程号(PID)永远为 1。

INIT 进程在运行时将读取系统引导配置文件 /etc/inittab 中的信息。这些信息包括默认的运行级别和由 INIT 启动的进程。

cat /etc/inittab
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

# The default runlevel.
id:2:initdefault:

# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS

# What to do in single-user mode.
~~:S:wait:/sbin/sulogin

# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin

# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."

# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop

# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
# :::
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3

以 # 开头的行为注释行

每一行包括如下四个字段(每个字段用“:”间隔):

id : runlevels : action : process

文件 /etc/inittab 的字段说明

id

该字段是各有效行的标识符。对定义 getty 的各行来说,该标识符指定 getty 运行的终端(即设备文件 /dev/tty 之后的数字字符);对其他行来说,除了有长度限制外没有特殊要求,但该字段在整个文件中必须唯一。

runlevels

指定运行级别,各运行级别由单个的数字表示,可以指定多个运行级别,但不能包含任何间隔符。

action

指定运行状态,可以有如下的取值:

initdefault — 指定启动后所进入的运行级别,process 字段将被忽略,默认值为 2

sysinit — 在系统启动时执行初始化

wait — 执行下一个字段指定的命令,并等待其结束再运行其他命令

respawn — 当下一个字段指定的命令结束后,重新运行该命令(如控制台登录程序 getty)

ctrlaltdel — 当按下Ctrl+Alt+Del组合键时执行下一个字段指定的命令

powerwait — 当出现电源错误时执行下一个字段指定的命令,并等待其结束

powerfailnow — 当出现电源错误时执行下一个字段指定的命令,不等待其结束

powerokwait — 当电源恢复时执行下一个字段指定的命令

优化Linux启动速度

要想提速可以从这几个方面考虑

1 了解linux的启动过程 然后针对自己的电脑取舍

2 了解自己的计算机硬件 重新编译内核 只选择自己需要的模块

3 了解x-window工作方式 优化x-window

4 不要安装不需要的软件 能省就省 做到系统最小化 功能最大化

2008年4月24日木曜日

命令行配置ubuntu网络

为网卡配置DHCP地址:
如果你想配置DHCP地址,你需要编辑/etc/network/interfaces,并输入以下几行(假设你的网卡是eth0):
sudo vi /etc/network/interfaces

# The primary network interface - use DHCP to find our address
auto eth0
iface eth0 inet dhcp //指定为dhcp

在输入这几行后,你需要通过以下命令重新启动你的网络设备:
sudo /etc/init.d/networking restart

为网卡配置静态IP
如果你想配置静态IP地址,你需要编辑/etc/network/interfaces,并输入以下几行(假设你的网卡是eth0):
sudo vi /etc/network/interfaces

# The primary network interface
auto eth0
iface eth0 inet static //指定为static
address 192.168.3.90 //IP地址
gateway 192.168.3.1 //网关
netmask 255.255.255.0 //子网掩码
network 192.168.3.0 //这个……网络?
broadcast 192.168.3.255 //广播

在输入这几行后,你需要通过以下命令重新启动你的网络设备:
sudo /etc/init.d/networking restart

设置第二个IP地址或虚拟IP
如果你是一个服务器管理员或者只是普通用户,有时你需要为系统指派第二个IP,那么你可以这样做,同样编辑/etc/network/interfaces文件(假设你的网卡是eth0):

sudo vi /etc/network/interfaces

auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x


在输入这几行后,你需要通过以下命令重新启动你的网络设备:
sudo /etc/init.d/networking restart

设置Ubuntu系统的hostname
使用以下命令格式来改系统的hostname,或者直接编辑/etc/hostname
sudo hostname newname

设置DNS
sudo vi /etc/resolv.conf

enter the following details

search test.com
nameserver 192.168.3.2