2010年(11)
分类: LINUX
2010-08-16 14:23:04
目前笔者为某外企SA,看到网上经常有人问起Linux应该如何入门,所以有些小小的心得和初学者分享,使大家少走些弯路,也算没有白写这篇文章了,同时也欢迎大家加入Linux开源世界的大家庭,最后请容我高呼一句:打倒垄断,打倒微软帝国!。
1. 一台能够给上网的电脑,并且至少有1G内存,不过最好是2G或以上。
2. 一本入门参考书,这里推荐鸟哥的Linux私房菜基础版。
你可以从google搜索获得电子版,不过我还是强烈推荐到书店买一本。
3. 足够多的时间和良好的耐心。这是必备条件。
学哪个发行版呢?Linux家族有很多成员,红帽子企业版:RHEL, 红帽子企业版的孪生兄弟CentOS , 红帽的试验品Fedora , 桌面很牛逼的Ubuntu ,德国人严谨的产品OpenSUSE , 后起之秀Debian , 还有一个不是Linux但是却是和Linux是堂兄弟的FreeBSD,
到底学哪一个好呢?
其实学东西,尤其是初学者,最好从泛用性最高的发行版学起,Redhat系无疑是是最流行的,北美和中国的真实环境服务器都大量使用Redhat系列的发行版,鸟哥的私房菜也是拿Fedora做的例子。
这里,我推荐初学者从CentOS 5.4 开始学Linux ,原因无外乎几点:
1 .CentOS基本和RHEL也就是小红帽企业版是一样的,学完了,工作的时候可以直接用来装服务器。就算换成RHEL,操作基本是一样的。
2.初学者可以用yum很方便的下载程序,不会一开始就被安装折磨得要死。
网上很多人说,推荐Ubuntu做初学者的Linux发行版,因为桌面很好看很好用。
如果你学Linux仅仅学着玩,出去炫耀,说现在咱用的可是Linux桌面,什么windows这种菜鸟玩的操作系统咱早就不玩了,那么Ubuntu是最好的选择。
又或者你是程序开发人员,你不想装window在自己家用机上,你根本不玩任何游戏,平时也就是上上网偷偷菜什么的,你不想装虚拟机,你想体验真正的Linux桌面环境,那么你也可以装Ubuntu。
但是,如果你的目标是成为一名Linux系统管理员SA , 或者想做Linux服务器方面的高手,我建议你,不要浪费时间在桌面上,因为真正的生产环境服务器,桌面根本就没有安装,我们工作的时候,基本都是用SSH这样的工具连接上服务器操作的,全部都是用命令行实现各种操作。
我目前为止,基本上就没有进过Linux的桌面配置过任何东西,关于X window的教程我连翻都没有翻过,但是这一点都不影响我工作。
这个问题也是众说纷纭的,有人说最好装个双系统,有人说在windows下装个虚拟机完事了。
我个人的意见是,最好不要浪费时间去装什么双系统,因为涉及很多分区什么的问题,直接装个虚拟机就行了,轻松方便。
当然很多人觉得虚拟机不如真实服务器那么“真实”,总是心存疑虑,觉得虚拟的东西是不是存在问题?
但是从我个人使用来看,只要不涉及网络或者性能,虚拟机基本和真实服务器没有太大区别的,我曾经在自己电脑上,装了5台虚拟机配置过LVS负载均衡,没有遇到任何问题。
我觉得初学者,一开始都是学习的基本命令,不会去实现什么复杂的结构,所以虚拟机绝对够用了。
而且,公司的生产环境服务器你不可能随便乱动的,装好了基本也就是上去看看日志,你不可能说晚上我把这个负载均衡我拆了重新装一遍,或者说我想到一个问题,我故意把集群搞坏了试试看 ,你这么做是想找死啊?
所以你想要学习这个架构,最好是用自己的机器用虚拟机搭建一个环境做一遍,遇到问题,做试验,都可以用虚拟机随便搞,搞坏了也不用怕。这一点上虚拟机优势可是很大的。
虚拟机软件用VMVare即可,版本无所谓,5.5以上皆可。
自己google到官网下载CentOS最新版和VMware最新版,如何安装等细节请自己google自己思考摸清楚。
下面说说怎么看书。
我手头的鸟哥的私房菜基础学习篇,第二版,总计566页,但是实际上并不是每一篇内容都是有用的,有些内容,实际工作用得很少,我的建议是
1.第一次看,请无论如何拉通看完,尽量去搞明白是怎么回事,实在不懂也没关系,以后工作中遇到了,再回头翻一翻,有时候一下子就懂了。比如安装那块,RPM什么的,编译安装什么的,绝对会把初学者搞晕的,你肯定记不住那些内容,请以后遇到实际问题的时候再回头细看,自然很多命令都能记住了。
2. 勤做笔记,这一点是我再三强调的。Linux学习不比编程或者其他内容, 涉及的内容之多,范围之广,资料之分散,是你以前读书时代绝对没有遇到过的。如果不做好笔记,过一段时间,你很可能忘记,然后再去翻资料,发现怎么都翻不到的时候,会抓狂的。很多人有写blog的习惯,其实也是一种变相的笔记。
怎么做笔记?这里的笔记不是手写的笔记,现在已经是什么时代了,你手头不是有电脑吗?就用word做笔记,自己分门别类,以我自己为例,我Linux的基础就是一个大的文件夹,里面都是我读鸟哥这本书的心得笔记,每一章就是一个word 文档。以后你可以随时打开这些文档,添加修改。 笔记没必要全部自己手动去敲,适当的也可以复制粘贴。
比如ls这个命令,刚开始,就明白一个ls –al ,以后遇到一个问题,你想看文件夹的属性,那么必须加上-d 参数,好,把这个心得打开文档,对应着写上去,这样,随着年月的增长,你对ls这个命令的知识储备越来越丰富了。
3.书是什么,书只是一条主线而已,实际上,光是看书,想要搞懂Linux不是件容易的事情,像鸟哥这本书,其实说的也不深,很多问题说得很含糊,所以遇到不明白的时候,你必须随时google ,遇到什么google什么,然后把自己的心得对应着写入笔记,这样你才能真正的搞懂linux这个东西。
4. shell这个东西,虽然用得不算很多,但是学linux,不学shell是不会有竞争力,所以这个东西还是从头学会比较好,自己找本shell入门的书籍认真看,鸟哥写的实在太少了,他书上的那点东西,根本派不上用场的。
学linux基本都是为了工作目的 ,这里如果你想做Linux的相关工作, 仅仅会点命令行,想做SA还是很困难的。
你需要学习的还有,shell编程外带awk等,mysql的安装优化主从复制,负载均衡以及高可用,监控系统nagios ,cacti等,版本控制系统svn之类的……
要学的东西成千上万,但是不要害怕,只要底子牢,学东西快得很。其实你可以研究一下51job的招聘Linux管理员的相关内容,他要什么你就学什么就对了,其实主流的就那点东西。
但是工作中,还会遇到很多非主流的东西,到时候就要拼自己的“临时抱佛脚”的自学能力了。
我建议没有相关工作经验的人,首先把书认真看完,能够独立地安装配置Linux ,至少会配置基本的LAMP结构吧,然后出去找工作, 目标最好是Linux系统集成的,而不是运维的,因为集成辛苦点,但是可以学很多东西, 学到了东西,可以再转运维就轻松多了,而一开始就做运维因为很多服务器只能看不能动,自己进步会很慢
如果实在要做运维,也尽量做外部服务器的运维,比如网站什么的,规模越大越好,如果是运维企业内部的Linux服务器,是没有什么好收入的,因为这不是企业的关键业务。
Linux运维对经验要求很高,至少工作2,3年以上,所以经验欠缺的话,还是先蛰伏一下,好好学点东西,能有好的平台就利用好平台学,没好平台时间多的话就自己用虚拟机做环境,过几年想办法跳槽,只要知识储备够用,面试的时候对答如流,找工作还是问题不大的。
面试很讲究技巧的,没有几个人会问你很细节的东西,因为很多东西都是记不住的,所以大多谈一些思路以及概念的东西,比如LVS三种模式的优点缺点对比啊,你实施中遇到的问题啊等等。
好了,以上的拙见就是我个人自学linux 的一点心得,以后有空,再来探讨一下Linux运维的一些职业规划方面的东西。