跳到内容

文章类别:编程

系统管理员必守的六大规则

在复杂的计算机数据中心基础设施中,这种能力可以让你通过丰富的经验和自身的知识快速而准确地发现问题之所在。这种能力只可意会,不可言传。没有人会提供和“超自然故障排除”有关的认证的。但是,那些重量级的问题解决专家都会遵守一些通用的,不成文的规则。这是我自己使用的六个规则。注意,它们适用于大多数情况,但是并不是所有情况。

1、永远不要修改服务器或网络设备的连接接口

虽然这听上去很简单,但是,令人吃惊的是,人们经常会修改他们用于连接到某个设备的网络接口的属性,这种行为的失败率很高。有时,这条规则可能是可选的,但是,如果有一种方法可以排除潜在的隐患,何乐而不为呢?如果你不得不修改这个接口,可以在这个接口上配置一个辅助IP(secondary IP)——通过另外一个设备或子网,串行控制台,KVM等来连接。如果设备放在远程的办公室里(那里没有IT职员),那么这绝对是一条真理。

2、保证总是有办法回到原点

无论何时,只要有可能的话,都要提供一种可以把问题恢复到原始状态的方法。这意味着,在对故障磁盘做任何修改以前,应该为这个故障磁盘做一个映像,备份整个目录结构(你不可能知道你以后需要哪些文件,这样可以以防万一),或者,在你胡乱摆弄一个已经出现故障的操作系统以前,应该在物理服务器上抽取出这块磁盘的RAID1阵列。当然,在虚拟机环境下,这会更加容易一些,因为你可以简单地做一个快照。

3、文档,文档,还是文档

在所有这些规则中,这条规则也许是大家最少遵守的规则了。毫无疑问,应该把一个问题和解决方法文档化。当你处在混乱状态之中的时候,你的解决方法也许并不明智。这就是说,当一个问题尘埃落定以后,要保留一份“尸检报告”,通过这份报告,你可以重新检查当时那个解决方案采取的步骤和途径。把它写下来,然后把它保存在安全的地方,最好是放到公司内部的wiki上;并且,应该备份到几个不同的地方。推荐阅读:系统管理员应该怎样高效的书写文档。

4、在IT领域,不存在魔法,但是却存在幸运

就像 Thomas Jefferson 说的那样:“我发现我工作的越努力,我就越幸运。”在电脑IT领域,也是这样的。你花费越多的时间来研究你的基础设施,关注路由器,交换机,服务器和其他设备的特定的工作条件,你的基础设施就会运行的越流畅。这些日常工作可以让你在问题的早期阶段就发现这些问题,当问题真的发生的时候,你可以更加快速地作出反应。另外,在IT领域,有很多种方法可以“制造”幸运。例如,使用一些工具,让网络设备配置的备份自动化;如果使用这种方法的话,当你的交换机发疯的时候,你可以在几分钟内恢复它,而不是几个小时。

5、在你修改每个配置文件以前,要对它们进行备份

这条规则只适用于Unix服务器和几乎各方面的配置都提供了配置文件的网络设备。在你弄坏敏感的配置以前,首先对交换机和TFTP(Trivial File Transfer Protocol)主机的配置文件进行备份。在Unix系统上,可以简单地把something.conf cp到 something.conf.orig。
在必要的时候,如果想恢复到过去那个良好的状态,只需要简单地把文件拷贝回去,然后重启那个服务就可以了。因为注册表的存在和Windows喜欢把简单的概念复杂化,所以,在Windows系统上,这通常是不可能的。即便如此,你还是可以在胡乱摆弄注册表以前,对注册表进行备份,这样的话,如果天下大乱了。你可以重新导入备份的注册表文件。记住:当你对Windows注册表进行修改的时候,服务器的生命就掌握在你的手中。

6、监控,监控,还是监控

一点点预防工作就可以省去一个月的周末加班时间。你应该对你的数据中心的方方面面进行监控,从房间的温度,机架,和服务器,到服务器进程检查,正常运行时间检查……你还应该为所有网络设备构建一个集中式的日志系统,除此之外,你还应该安装一些趋势分析工具来监控带宽利用率,温度,磁盘空间的使用率,和其他的参数。当这些参数超过正常的阀值的时候,那些监控工具应该通过必要的手段来通知你。

趣谈Linux系统管理员学习成长路线图

随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。作为一个Linux系统管理员,我看了许多有关Linux的文档和书籍,并为学习Linux付出了许多艰苦的努力。当真正获得了一份正式的Linux系统管理工作后,我更加深刻地理解了Linux的灵魂:服务与多用户。Linux系统知识是非常广博的,但是只要掌握了重点知识,管理它并没有想象中的那么可怕。在下面我会将作为系统管理员的一些工作心得和总结出来的经验系统地介绍给大家。

一、 学习的目的

通过Linux的学习掌握UNIX的目的想必不用多说了,在这个网络人才身价倍增的年代,想靠技术吃饭又不想掌握网络和编程技术是不明智的。当一人第一次听说Linux并跃跃欲试的时候,总会提出几个?,它是什么(What)?为什么要用它(Why)?怎样学习它(How)?做为开放源码运动的主要组成部分,Linux的应用越来越广泛,从我们平时的娱乐、学习,到商业、政府办公,再到大规模计算的应用。为了满足人们的需求,各种各样的、基于Linux的应用软件层出不穷。只要具备了LinuX的基本功,并具有了自学的能力之后,都可以通过长期的学习将专项内容予以掌握。

二、 从命令开始从基础开始

常常有些朋友一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。这是相当困难的。虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解 Linux系统:

●安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
●文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
●系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last
●网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
●系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho

三、 选择一本好的Linux书籍

无论在论坛还是读者反馈中,我们看到最多的问题往往是某个新手,在安装或使用linux的过程中遇到一个具体的问题就开始提问, 很多都是重复性的问题, 甚至有不少人连基本的问题描述都不是很清楚。这说明很多初学linux的人还没有掌握基本功。怎样才能快速提高掌握linux的基本功呢?最有效的方法莫过于学习权威的linux工具书,工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于 linux的书籍有很多不过精品的不多,笔者强烈建议阅读影印本的“o’reilly原版linux图书”。

四 、养成在命令行下工作

一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。即使是通过一条缓慢的调制解调器线路,它也能操纵几千公里以外地远程系统。

五、用Unix思维思考Linux

由于Linux是参照Unix的思想来设计的,理解和掌握它就必须以Unix的思维来进行,而不能以Windows思维。不可否认,windows在市场上的成功很大一部分在于技术思想的独到之处。可是这个创新是在面对个人用户的前提下进行的,而面对着企业级的服务应用,它还是有些力不从心。多年来在计算机操作系统领域一直是二者独大:unix在服务器领域,Windows在个人用户领域。由此可见,用户需求决定了所采用的操作系统。不管什么原因,如果要学习Linux,那么首先要将思维从Windows的“这个小河” 中拖出来,放入Unix的海洋。

六 、学习shell

对于Shell(中文名称壳),习惯Windows的读者肯定是非常陌生的,因为Windows只有一个“Shell”(如果可以说是Shell的话),那就是Windows自己。用一句话容易理解的解释就是,shell是用户输入命令与系统解释命令之间的中介。最直观的说法,一种Shell有一套自己的命令。举一个容易理解的例子,Linux的标准Shel是Bash Shel;Solaris的shell是B shell;Linux的Shell是以命令行的方式表现出来的。读者可能会不理解,Windows从命令行“进化”到了图形界面,那么Linux现在还使用命令行岂不是一种倒退?

当初我刚刚接触Linux时就曾有过这种想法。可是后来发现,如果使用图形界面,那么分配给应用软件的资源就少了,在价格昂贵的服务器上,能够以较低的硬件配置实现同样的功能是非常重要的。

下面举例说明,一台服务器有1GB内存,假设其中512MB用于处理图形界面,若要安装一个需要784MB内存的数据库软件,惟一的办法就是扩大内存。但是如果使用命令行,系统可能只需要64MB内存,其它的内存就可以供数据库软件使用了。使用命令行,不仅是内存,而且CPU及硬盘等资源的占用都要节省很多。所以,作为服务器使用命令行是优点而不是缺点。既然Shell有这么多优点,就必须要学习它。

七、勤于实践

要增加自己Linux 的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个 Linux 发行版本,然后进入精彩的Linux世界。相信对于你自己的 Linux 能力必然大有斩获。此外,人脑不像计算机的硬盘一样,除非硬盘坏掉了或者是资料被你抹掉了,否则储存的资料将永远而且立刻的记忆在硬盘中。在人类记忆的曲线中,你必须要不断的重复练习才会将一件事情记得比较熟。

同样的,学习 Linux 也一样,如果你无法经常学习的话,学了后面的,前面的忘了。你对Linux命令熟悉后你可以开始搭建一个小的Linux网络,这是最好的实践方法。 Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。当然你不需搭建所有服务,可以慢慢来。需要说明的是这个Linux网络对于初学者有两三台计算机即可。自己多动手,不要非要等着别人帮你解决问题。

八、学会使用文档

和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、 Unix的经验总结非常有参考价值通常40%的问题同样可以解决。安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。

当查找文档时, 一定要看文档是在何种版本、何种环境及何种状态下出现的何种结果。对于文档的有效性,一时还无法在操作前就知道结论如何, 那么对某个专题或问题,阅读相关的多篇文章将会节省大量的时间,还可以保证尽量“干净”的环境,有效避免因为不同操作所造成的更多问题。操作时要仔细核对各个步骤及输出的结果,尽量保持与文档一致。

九、在Linux论坛获取帮助

如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问,否则只会得到到草率的回答或者根本得不到任何答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。

你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。另外把这个问题放在其他Linux社区请求帮助也是一种选择。如果得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。

十、学习专业英文

如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的,最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译成英语在国际学术杂志和网络上发表。

通过man、info等命令,可以从在线帮助中快速地获得所需要的命令和操作方法。不要害怕海量的系统帮助,仔细阅读几个man或info文档就会发现,这些帮助几乎都按照固定格式写成一命令名称、参数、参数说明、使用例子、参考等。当英语成为一种习惯, 就会自觉地查找或订阅互联网上感兴趣的英文材料。这样,在不知不觉中就已经和世界同步。

十一、在社区共享你的经验

随着Linux应用的扩展,出现了不少Linux社区。其中有一些非常优秀的社区:水木清华、其中有一些非常优秀的社区:www.linuxforum.net(国内最高水平GNU站点)、http://www.chinaunix.net/ (中国最大的Unix技术社区),随着知识的不断积累,就可以把自己动手解决一些前人没有遇到的问题写出文档在网络上共享给其他读者。这个时候,也就成为了一名“高手”。Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人,Linux高手更具有鼓励新手的文化精神。

最后是一个笔者的Linux学习的路线图(roadmap):

●了解Linux 的基础知识,这些包含了用户管理、群组的概念、权限的观念等;
●掌握至少50个以上的常用命令;
●掌握。tgz、。rpm等软件包的常用安装方法;
●学习添加外设,安装设备驱动程序(比如网卡);
●熟悉Linux文件系统 和目录结构;
●掌握vi,gcc,gdb等常用编辑器,编译器,调试器;
●理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。
●网络的基础包括: 掌握路由概念、OSI七层网络模型、TCP/IP模型及相关服务对应的层次对于Linux学习非常重要的。然后学习Linux环境下的组网。

为自己的wordpress评论添加自定义头像

你是不是好奇别人的头像可以自己定义,

而自己头像却是默认的或者乱七八糟的图标呢,

然后翻遍wordpress的设置却没有找到在哪里设置,

其实这是一个头像系统,

很多网站都在使用,

头像跟Email关联,

需要的时候检测到你的Email就会显示你的头像,

下面就来设置一下吧.

通过查看别人的头像,

图片地址显示为http://0.gravatar.com/avatar/***,

于是我们到gravatar.com去一探究竟,

(该网站有中文页,不过没有翻译,依然是英文)

点击”Get your Gravatar today”之后填入自己的邮箱,

然后邮箱会收到确认邮件,

点击邮件中连接到达一个页面,

输入自己想要的昵称和密码就注册好了,

然后就可以上传图片来当做头像,

详细设置请自行探索.

(以上思路来自 大师施某:smallsmallwolf@gmail.com)

 

用Codecademy学习编程,简单又有趣

为了学习编制程序,很多人买了一堆相关书籍,并参加了很多网络课程,甚至花了几百块钱买了一套教学光碟,到头来还是不会编程,非常不值。

Codecademy是一个刚推出的网站,它为用户提供了一种学习编程的新方式。它是一种基于网络的互动编程教程,手把手帮助用户了解JavaScript的一些基本原理,更重要的是,使用Codecademy学习编程充满了趣味性。

Codecademy的注册过程非常特别:无需注册就可以直接使用,最起码一开始时这样。用户一旦进入Codecademy.com页面就能轻松完成编程的第一课,如,用户要想知道自己的名字有多少字母,只需将自己的名字输进双引号中,再输入“.length”,最后点击enter键即可,非常简单。当用户完成了一定的课程学习后,网站会自动建议用户创建自己的账号并进行注册,如果用户不注册的话,用户的学习记录将全部丢失,这样用户很有可能就会注册了。

编程课程本身也非常简单。网页左方的工具条会指导用户完成没一项任务。网页不仅会告知用户具体怎么做,同时还带着用户重新巩固之前学到过的编程知识,这样用户就不会觉得编程很难了。

随着用户学习编程的不断深入,他们会得到一些积分和奖励,这些都会出现在用户信息中,这些信息都是公开的,其他用户也可以看到。如果该网站未来能开发出排行榜和竞争等这样的社交功能,也应该是意料之中的事。

公司的联合创始人Zach Sims和Ryan Bubinski表示,他们对网站受到如此多的关注感到意外,他们在Hacker News上最先发布了这个网站的信息,以期获得一些最初的回馈,但在发布的几个小时内就已经有1000多名用户了。公司的盈利模式目前还不确定。

程序员装B指南

一.准备工作

“工欲善其事必先利其器。”

1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好。一个用来查资料,一个用来写代码。总之要显得信息量很大,效率很高。

2.椅子不一定要舒服,但是一定要可以半躺着。

3.大量的便签,各种的颜色的,用来记录每天要完成的事务,多多益善。沿着电脑屏幕的边框,尽量贴满,显出有很多事情的样子。

4.工具书,orelly的,机械工业,电子工业什么的都可以,能英文就英文,不行影印版的也可以,反正越厚越好,而且千万不要放在书架上,一定要堆在桌上,半打开状。

二.从进门开始

0..绝对不10点以前出现在公司.

1.着装!着装!不管你是去实验室,或者去公司的大楼,在或者是小公司的民宅,或是自己创业的黑作坊;无论是春夏秋冬白天晚上刮风下雨电闪雷鸣台风龙卷风,一个装b的程序员都要十分在意自己着装!这里只提出参考建议。初级装:衬衣+牛仔裤+休闲鞋。中级装:T恤+宽松短裤+拖鞋。高级装:背心+宽松大花裤衩+人字拖。

2.得体的举止。在走廊以及任何形式的过道里,一定要双手插兜,走得像个痞子,至少要看起来有点反社会,如若不行,可走文弱天才型geek路线。。

3.如果有女性在你背后指指点点,小声嘀咕说这一定是一个技术男的时候,应该先低头,然后保持低头状态,缓缓回头,坏坏地蔑笑但是不要出声,然后快步前行。

4.进门后,一定不要跟任何人打招呼,笔直走向自己的位置,最多路过打一杯咖啡,千万不要有多余的动作,显示出自己的专注与心无旁骛。 阅读更多 »