分类: LINUX
2007-02-14 10:39:25
unix学习方法-高手之路
姜道友(
1. 基础学习............................................................................................................ 1
2. 配置服务器........................................................................................................ 1
3. 软件安装与服务器管理....................................................................................... 2
4. 更换思纬............................................................................................................ 2
5. 学习其它unix系统............................................................................................. 2
6. 学习shell编程.................................................................................................... 3
7. 学习C编程........................................................................................................ 3
8. 制作自己的unix发行版...................................................................................... 3
前言:
对于一些想学习linux及正在学习linux系统的人,非常希望成为linux甚至unix高手,本人从事unix方面的工作很多年了,想介绍一下自已的经验
Unix有很多分支,这里不再赘述,一般来说主要包括:Linux、Solaris、HP-UNIX、AIX、SCO、BSD、AS400等等系统,一般人精通2到3门类即可,触类旁通即可很快掌握其它系统。下面是本人的经验:
买一本Linux基础方面的书籍,主要讲述基本理论及基本命令,如:《Linux基础》、《Redhat 9.0系统管理员完全学习手册》;或者在网上下载一些基础方面的资料。系统地看完一本书,并在linux系统中(可以用vmware安装一个虚拟机)练习基本命令。(之所以从Linux开始,是因为相对其它unix系统,Linux相对比较简单或容易入门)
可以尝试配置一台web服务器或FTP服务器或邮件服务器(sendmail)或其它应用服务器如:vpn(pptp或ipsec)。刚开始配置时不要追求完美,只要实现基本的功能即可。这部分基本上照搬书的步骤即可实现。
可以试着安装一些源码程序(不要使用rpm软件包安装或带有install的程序安装),通过./configure make make install等步骤掌握程序的编译与安装方法。同时掌握Linux服务器日常管理方法:如日志管理、进程管理、备份与恢复方法、用户管理、权限管理等等,基本成为一个Linux系统管理员。平时多访问linux技术方面的网站或论坛,也可增加你的技术和经验。
注:很多人学习或使用Linux多年,但水平仅仅停留在这里
如果系统了学习了linux基础方面的知识并简单配置了一些应用服务器,并掌握了命令的基本用法,这时需要更换思纬,学习一下Linux架构方面的知识,并深入了解Linux系统体系结构,如etc目录是什么作用 /usr/bin /usr/spool /var /opt是什么作用,ext3文件系统有什么特点等等。从思纬上区别看待Linux系统。同时可以试着编译一下内核,并熟悉内核中的功能模块,通过对内核的认知,可以让你深入了解linux核心的一些技术。
如果基本上熟悉了Linux系统,现在可以学习其它系统了,如:Solaris、AIX、BSD…………等等,毕竟很多重要服务器不是Linux系统。很多系统可以在虚拟机上安装,如安装一台Solaris x86虚拟机或从网上下载SCO虚拟机或…………在虚拟机上系统地学习该系统,熟悉它的架构,并与Linux比较一下有什么不同。对于一些专用的系统,网上也有好心人公布测试机信息,你可以远程登录学习(不要删文件或破坏哟)。在学习其它系统过程中,可以访问相关系统的BBS论坛,看一下别人的问题是怎么解决的。如果你很熟悉Linux系统,学习其它unix系统应该很快。当然如果你所在的公司有一些服务器如:SUN880或HP服务器或IBM服务器等,你应该很快可以成为有经验的solaris/HP-UNIX/AIX高手的。
作为一个真正的优秀unix系统管理员,不懂shell编程是绝对不行的(注意是绝对),因为在unix系统中,很多是shell脚本程序,掌握了shell编程技术,你可透彻地去了解unix系统中程序的运行情况。而且对于unix系统,很多系统管理可以通过编写shell脚本程序来实现,如自动备份、自动检查网络断线并发邮件通知、自动检查VPN状态、收集PPTP用户拨入信息等等。精通shell编程,让你轻松灵活地管理和驾驭Unix系统。
这一步我就不多说了,毕竟达到这一层次的unix系统管理很少(开发人员除外)。Unix中的很多程序是通过C编写的,掌握编程技术,你可以编写unix下的应用程序。
如果对Linux进行内核编译、程序裁减、系统优化等,你可以制作自已的unix系统。象现在Linux发行版太多了,但都是Linux内核,只是文件与系统组织方式不一样而已。我们单个人是无法制作象Redhat或debian这样的系统,但可以制作小的专用系统,如制作专用的web服务器或专用的网关防火墙系统。象IPCOP()就是这一类,大家可以参考或受到启发。