项目一:认识Linux操作系统

任务一:查找 Linux系统的基本概况
【任务说明】
本任务的主要内容是通过网络查找 Linux系统最基本的知识,然后对 Linux操作系统有一个初步的认识;学会利用网络资源来收集与整理资料,并内化成自己的知识。

【任务实施】
第1步:通过搜索引擎搜索“ Linux”

项目一:认识Linux操作系统

 项目一:认识Linux操作系统

 
第2步:收集整理搜索到的网页

项目一:认识Linux操作系统


项目一:认识Linux操作系统

任务二:总结Linux系统的最初十年

第一步:关键字搜索

项目一:认识Linux操作系统

第二步:搜集、整理、归纳搜索到的资料并通过多方比较辨别真伪

 

Unix

Unix操作系统是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一Unix规范的Unix系统才能使用Unix这个名称,否则只能称为类Unix(Unix-like)。

GNU

GNU是*软件之父Richard Stallman在1984年组织开发的一个完全基于*软件的软件体系,与此相应的有一分通用公共许可证(General Public License,简称GPL)。Linux以及与他有关的大量软件是在GPL的推动下开发和发布的。

*软件之父 - Richard Stallman 像一个神态庄严的传教士一样喋喋不休地到处传播*软件的福音,阐述他创立GNU的梦想:“*的思想,而不是免费的午餐”。这位*软件的“*神甫”为自己的梦想付出了大半生的努力,他不但自己创作了许多*软件,如:GCC、和GDB,在他的倡导下,目前人们熟悉的一些软件如BIND、Perl、Apache、TCP/IP等都成了*软件的经典之作。

如果说Richard Stallman创立并推动了*软件的发展,那么,Linus Torvalds毫不犹豫奉献给GNU的Linux,则把*软件的发展带入到一个全新的境界。

BSD

386BSD因为法律问题直到1992年还不能发布,NetBSD和FreeBSD是386BSD的后裔,比Linux早。Linus Torvalds说,当时如果有*的基于386的Unix-like操作系统,他就可能不会创造Linux。尽管无法预料这给以后的软件业究竟造成了什么样的影响(如果没有这个法律纠纷,很有可能没有今天的革命性的Linux),但有一点可以肯定,Linux更加丰富了这块土壤。

Minix

Minix是一种基于微内核架构的类Unix计算机操作系统,由Andrew S. Tanenbaum发明。Minix最初发布于1987年,开放全部源代码给大学教学和研究工作。2000年重新改为BSD授权,成为*和开放源码软件。

因为AT&T的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将Unix源代码私有化,在大学中不再能使用Unix源代码。教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与Unix兼容的操作系统,以避免版权上的争议。他以小型Unix(mini-Unix)之意,将它称为Minix。

Minix没有任何代码抄袭Unix,所以它们之间并没有任何继承关系,Minix作为当时有史以来的第一个开源的操作系统放到网上以后,短期之内得到了飞速发展,大量的人进行下载学习。

由于Minix是教授一人所写,所以存在一些漏洞。这时候有使用者发现漏洞存在,想着去下载一些补丁或者自己写一些补丁来修补这些漏洞,修补之后发现效果不错,然后就建议教授利用这些补丁完善下Minix,结果呢,教授比较固执,意思是说:为了维持Minix的纯洁性,不需要任何外来代码。也就是说,根本不打算做商业发行,所以Minux保持了其最原始的风范。

Linux

在后来的几年内,由于计算机硬件工业的强力运作,以Intel主导的x86系统架构的个人计算机大行其道,所以个人计算机算是相当流行的一个机器了。但在此时,人们使用的大多还是DOS操作系统。此时,芬兰赫尔辛基大学有个叫Linus Torvalds的学生做了件不寻常的事情。当时他正好有一台386的计算机,由于并不喜欢自己电脑上的DOS系统,所以就想:既然Minix这么棒、这么稳定,那我何不将它移植到个人计算机 (好在由于Stallman提倡的Open Source理念,他得以接触到一些Source Code,而经由这样的一个想法,O(∩_∩)O~他就很有心的读取了Unix核心,并且去除较为繁复的核心程序,将它改写成可以适用于一般个人计算机的x86系统上面)。

到了1991年,他终于将0.02版的原始码hobby放到网络上面供大家下载,由于hobby受到大家的肯定,相当多的朋友一起投入这个工作中。终于在1994年,将第一个完整的核心Version 1.0释出,并且造成目前的大流行。。。由于Linux kernel的发展是由虚拟团队所达成的,大家都是透过网络取得Linux的核心原始码,经由自己精心改造后再回传给Linux社群,进而一步一步的发展完成完整的Linux系统,至于Linus Torvalds是这个集团中的发起者。由于这个群策群力的缘故,Linus Torvalds将Linux定为同样造福大家的GNU授权模式!

Linux是Linus Torvalds受到Minix的影响而作成的。但在设计哲学上,Linux则和Minix大相迳庭。Minix在内核设计上采用微内核的原则,但Linux则和原始的Unix相同都采用宏内核的概念。在Linux发展之初,双方还于1992年在新闻组上有过一场精彩的理念争论。Minix的作者和支持者认为Linux的单内核构造是“向七十年代的大倒退”,而Linux的支持者认为Minix本身没有实用性。


任务三:研究Linux的特点、优势及发行版本

【子任务一】阐述Linux系统的特点

   Linux系统在短期内就得到了非常迅猛的发展,这与Linux系统的良好特性是分不开的。Linux系统包含了UNIX系统的全部功能和特性。

   第1步:阐述Linux系统的稳定性

Linux操作系统的架构完全沿袭了UNIX的系统架构,所以先天就具有成熟稳定的特点,在这方面Windows系列操作系统是无法比的。

第2 步:阐述Linux系统的安全性

首先是linux的使用人数少…尤其在国内,
所以很少有人去关注linux用户。

另外就是因为他的开源,任何的系统漏洞都会被民间高手,或者是官方人员很快的发现。
从漏洞的发现到补丁的放出,时间相当短,没有时间给病毒或者黑客作乱的机会。

然后就是linux的权限管理,linux的权限管理很严格。

病毒或者黑客想修改系统文件或者系统日志,除非有管理员密码。所以就算中了病毒,

病毒的危害也非常的小。重要的系统文件都不会被破坏所以发现了病毒稍做处理就搞定了。

还有就是linux系统的程序管理,linux安装程序,基本都是利用程序管理软件,比如ubuntu,debian下的软件中心,新立得软件管理程序,例如centos,fedora和红帽的yum。linux系统安装程序基本上都是用软件管理程序,都是从程序开发者官网上或者是相应的发行版社区直接下载安装。不会有被恶意篡改的软件被安装到使用者的电脑上。安全方便。

第3步:阐述Linux软件安装的便利性

对于计算机初级用户来说,软件安装是一个大问题。在Windows平台下,如果你不知道软件应该如何安装,通常只只要一直用鼠标单击“下一步”按钮就可以完成安装。在Linux平台下,软件安装的便利性方面曾一度落后于Windows,但是APT和YUM的出现使得这种局面得到了彻底的改变,用户只要告诉安装程序自己现在需要安装什么软件,安装程序就会自动去下载这个程序,然后自行安装,最后等待用户开始运行它。从这个意义上讲,Linux已经超越了Windows软件的安装方式,进一步降低了用户的参与程度,方便了用户。

第4步:阐述Linux系统的资源消耗

由于内核小,因此它可以支持多种电子产品,如:Android手机、PDA等,资源消耗很少。

【子任务二】分析Linux系统的优势

Linux系统优势一:跨平台的硬件支持

由于Linux 的内核大部分是用C 语言编写的,并采用了可移植的Unix标准应用程序接口,所以它支持如i386、Alpha、AMD和Sparc等系统平台,以及从个人电脑到大型主机,甚至包括嵌入式系统在内的各种硬件设备。

Linux系统优势二:丰富的软件支持

与其他的操作系统不同的是,安装了Linux系统后,用户常用的一些办公软件、图形处理工具、多媒体播放软件和网络工具等都已无需安装。而对于程序开发人员来说,Linux更是一个很好的操作平台,在Linux 的软件包中,包含了多种程序语言与开发工具,如gcc、cc、C++、Tcl/Tk、Perl、Fortran77 等。

Linux系统优势三:多用户多任务

和Unix系统一样,Linux系统是一个真正的多用户多任务的操作系统。多个用户可以各自拥有和使用系统资源,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响,同时多个用户可以在同一时间以网络联机的方式使用计算机系统。多任务是现代计算机的最主要的一个特点,由于Linux系统调度每一个进程是平等地访问处理器的,所以它能同时执行多个程序,而且各个程序的运行是互相独立的。

Linux系统优势四:可靠的安全性

Linux系统是一个具有先天病毒免疫能力的操作系统,很少受到病毒攻击。

对于一个开放式系统而言,在方便用户的同时,很可能存在安全隐患。不过,利用Linux自带防火墙、入侵检测和安全认证等工具,及时修补系统的漏洞,就能大大提高Linux系统的安全性,让黑客们无机可乘。

Linux系统优势五:良好的稳定性

Linux 内核的源代码是以标准规范的32 位(在64 位CPU上是64 位)的计算机来做的最佳化设计,可确保其系统的稳定性。正因为Linux 的稳定,才使得一些安装 Linux 的主机像Unix 机一样常年不关而不曾宕机。

Linux系统优势六:完善的网络功能

Linux 内置了很丰富的免费网络服务器软件、数据库和网页的开发工具,如Apache、Sendmail、VSFtp、SSH、MySQL、PHP和JSP 等。近年来,越来越多的企业看到了Linux 的这些强大的功能,利用Linux 担任全方位的网络服务器。

Linux 在它的追捧者眼里是一个近乎完美的操作系统,它具有运行稳定、功能强大、获取方便等优点,因而有着广阔的前景,或许也值得我们每一个计算机爱好者学习和应用。

第1步:Linux系统所有组件的源代码都是*的

首先需要澄清的就是*的含义。*软件所指的*不是免费使用,而是指程序的源代码是开放的,任何人都可以读,可以修改,唯一的限制就是,修改后的程序必须连同源代码也一起发布。对于普通用户而言这一点也许没什么用处,但是对于开发人员来说,你们可以通过读取大量的经典程序的源代码,迅速提高自己的编码水平,在需要的时候可以修改源代码来适应自己的需要,当你主持一个项目的开发时,你可以通过吸收别人改进过的代码来不断提高这个项目的质量,当你的程序中存在bug的时候,会被读取代码的人迅速发现并提供补丁程序,使你的程序越来越安全。当你进入linux世界的时候你会发现,这里就是程序员的天堂,所有的一切你都可以主宰。而所有这些在linux平台上都是再正常不过的事,但是对于windows用户来说这些都是不可能的,源代码就是windows的生命,任何未经授权的人想读到它都是不可能的。

第2步:Linux系统能有效保护学习成果

前面我们讲到linux的系统架构源于UNIX,这个架构从1969年诞生至今一直沿用,在可以预见的未来它仍然会使用下去。同时主力的开发语言一直是C语言,编辑器仍然是历史悠久的vi。虽然现在你可以使用任何一种语言来为linux系统贡献代码,但是它们的作用都是辅助性的,C语言作为这个系统的核心语言的地位没有发生变化。而windows平台则远远没有这么乐观。编程语言从古老的BASIC到后来的VB,C++到现在的C#,几年就一换,开发工具更是令人眼花缭乱,让人无从选择,无论你选择了哪种语言哪种开发工具,两三年后你都不得不学习新工具的使用,新平台的特点,以跟上微软变幻莫测的脚步。只有过来人才能体会到做windows平台开发的艰辛和无奈。

第3 步:Linux系统的就业的前景
目前做windows平台开发的程序员多如牛毛,没有研究生级别的学历和过硬的编码能力想找到一分待遇优厚的工作已经不可能了。而反观linux平台开发,目前国内这方面的开发人员还很少。大家现在及时投身于linux平台的学习和开发,必定会为毕业后的求职增加一个有力的筹码。虽然现在广告上宣传的linux程序员月薪1万以上不能完全相信,但是它必定给我们一个信号,linux程序员在中国是大有前途的。

【子任务三】 总结Linux系统的发行版本

第1步:通过阅读相关书籍以及网络搜索到的网页资料,总结整理

 纵观Linux的各个发行版,Linux发行版本无非是朝着这两个方面而来,一是服务器市场,二是桌面市场。

    以UbuntuLinux为代表的Linux发行版走的是桌面市场路线,虽然它们给用户带来很多惊喜,更新也很快,但是由于桌面市场有着Windows这样强劲的对手,因此Linux桌面发展不容乐观,目前UbuntuLinux也开始向企业级服务器市场发力。

    以RedHat系列版本为代表的Linux发行版现在主要面向企业级Linux的服务器市场,重点开发Linux的企业版本,其他的(例如国产Redflag、中标麒麟Linux等)都重点投入在了Linux服务器市场。Linux两大发布厂商现在都走了Linux服务器市场的路线,可见Linux作为企业级服务器有着巨大的发展前途。据权威部门统计,Linux在服务器市场的占有率每年都在持续上升。

    其实很多Linux的应用都是针对Linux服务器的,本书的讲述也是主要针对Linux在服务器下的各种应用展开的。

 1、初学者入门首选——Centos系列

    在了解了Linux几个主要发行版本后,我们就找到了为何选择CentOS作为初学者入门学习的理由了。

    CentOS现在拥有庞大的网络用户群体,网络Linux资源基本80%都是基于CentOS发行版的,如果在学习过程中遇到任何问题,在网络中可以较容易地搜索到解决方案。

    CentOS系列版本可以轻松获得。可以从CentOS官网或者163开源、sohu开源、阿里云开源站下载CentOS各个版本的安装介质,如果是第一次接触Linux,那么建议先安装FedoraCore。FedoraCore的安装简单,对硬件支持很好,界面也很华丽,同时也可以体验Linux的最新功能。如果对Linux有一定的了解,需要深入学习,建议使用CentOS发行版系统。

    CentOS应用范围广,具有典型性和代表性,现在基本所有的互联网公司后台服务器都采用CentOS作为操作系统,可以说学会了CentOS,不但能迅速融入企业的工作环境,还能触类旁通,其它类似的Linux发行版也能很快掌握。同时,现在周围学习Linux的用户一般也都是以CentOS为主的,这样交流方便,学习中出现问题,更容易得到解决。最主要的是CentOS的安装和使用上也是最简单的,因此基本上不会在“装系统”上浪费过多时间。

    2、桌面平台首选——UbuntuLinux

    说到Linux桌面市场,UbuntuLinux几乎占据了桌面Linux的半壁*,UbuntuLinux主打Linux桌面之最,界面美观,简洁而不失华丽,如果想在Linux下进行娱乐休闲,UbuntuLinux绝对是首选。

    Ubuntu的安装非常人性化,只需按照提示一步一步进行。Ubuntu被誉为对硬件支持最好最全面的Linux发行版之一,许多在其他发行版上无法使用的,或者在默认配置时无法使用的硬件,在Ubuntu上都能轻松安装使用。因此用户可以像安装Windows一样轻松地安装Ubuntu,尽情体验UbuntuLinux带来的乐趣。

    3、企业级应用首选——RHEL/Centos系列

    企业级的应用追求的是可靠性和稳定性,这就要求构建企业级应用的系统平台具有高可靠性和高稳定性。企业级Linux的发行版本就是解决的这个问题。

    RHEL与Centos两个Linux发现版本,并没有太大差别,所不同的是RHEL属于商业Linux发行版本,如果要使用RHEL版本,则需要购买商业授权和咨询服务,RedHat提供系统的技术支持并提供系统的免费升级。目前RedHat官网已经不再提供可免费下载的光盘介质,如果需要试用,可通过官网下载有试用时间的评估版Linux。而CentOS属于非商业发行版,可以从网上免费下载CentOS各个版本的安装介质,但CentOS并不提供商业支持,当然使用者也不用负上任何商业责任。

    那么,到底是选择CentOS还是RHEL呢,这取决于你所在公司是否拥有相应的技术力量,如果是单纯的业务型企业,那么建议选购RHEL发行版并购买相应服务,这样可以节省企业的IT管理费用,并可得到专业的技术支持服务。相反,如果企业技术力量比较强大,并且有多年Linux使用经验的话,那么CentOS发行版将是最好的选择。

          第2 步:找出几个比较经典的Linux发行版本的下载地址

Debian ISO影像文件地址:http://www.debin。org/distributrib/。

Gentoo镜像文件地址:http://www.gentoo.org/main/en/where.xml。

Ubuntu ISO映像文件地址:http://www.ubuntu.com/download。

 

 

 

 

任务四     Linux运维职业生涯规划

一、Linux 运维,可以做些什么,有哪些方向。   

 1,运维,基本要掌握的有,操作系统,计算机原理,编译原理,计算机网络等等等等。基于理论性的知识,基础知识,必须扎实,才能灵活应用。    2,一家公司的所有服务器,基础环境,一般由运维去搭建的。所有程序员跑的程序,必须跑在搭建的环境中。服务器的root 权限掌握在运维手里,一个命令可以毁了一个网站,一个团队,重要吧?运维可以根据现在业务的统计数据,去规划一下网站的未来发展。      3,运维团队,有一个方向,是DBA 。DBA 就是管数据的。一个简单的例子:现在的网站,瓶颈一般都在DB 上,DBA 的其中一个职责,就是提升DB 的性能。DBA 还有一个职责,就是保证DB 的高可用。网站的程序可以重写,但用户的数据不能伪造,如果数据永远地丢了,那这个网站也就完了。   4,运维团队,还有一个方向,是运维开发。

二、规划自己的学习内容

1、 为自己创造一个学习Linux的环境--在电脑上装一个Linux或unix  问题1:版本的选择   北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的Linux 开发人员中用debian的最多,其次是redhat,从全球Linux各应用领域市场份额来看  无疑redhat是最多的,此外还有很多出名的发行版本。

2、初学Linux建议是使用redhat,原因如下:  1)现在很多书都是以redhat为例讲的,为了与书本协调一致  2)周围的人都用redhat,交流比较方便  3)redhat应用范围广,有典型性和代表性  4)它易于使用和安装  。

3、进阶   掌握至少50个以上的常用命令  理解shell管道"|",文件流重定向">"及追加">>"等  熟悉Gnome/KDE等X-windows桌面环境操作  掌握.tgz.rpm.biz等软件包的常用安装方法  学习添加外设,安装设备驱动程序(比如modem)  熟悉Grub/Lilo引导器及简单的修复操作  熟悉系统固有目录的名称及公用  学会用mount命令访问其他文件系统  了解vi,gcc,gdb等常用编辑器,编译器,调试器  学习Linux环境下的简单组网 。

4、高级应用澄清一些概念:  Linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识 。

5、比较重要几种Linux语言 

 (1)英语  因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装   在搜索引擎找到的英文网站和网页中熟练的检索  最好能有用英文直接交流的能力。

 (2)shell[sed/awk]  shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat  但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell  几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上  这也是CS中的一个重要思想。  此外,shell可以实现工作自动化,这个概念也比较重要  sed,awk用来处理文本。 

 (3)Perl/PHP  漂亮的脚本, CGI的首选,比ASP好,应用面很广。 

 (4)C\C++  C、C++是Linux/unix的核心语言,系统代码都是C写的 。

 (5)ASM  系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要  //走核心路线的话,才c\c++,asm最重要           Java,Python,Tcl,XML  *系统管理篇 在熟悉Linux的基础上还需要掌握至少一种unix 。

六、深入学习Linux理解的读Linux内核需要的基础:  

(1)  《The C Programming Language》Second Edition这本圣经  /*如果想学缓冲区溢出,这点C的功力可能是不够的*/  还有,<C陷阱与缺陷>,<C专家编程>,<C\C++深层探索> 。

(2)数据结构(离散数学)  计算机专业的核心课程。  

(3)操作系统原理,微机原理/组成原理(数字电路)。

(4)软件工程/编译原理 。

                                                                               项目一 心得体会

     

     Linux 操作系统这个名词记得在很早以前就听过, 但具体是什么样的系统却真的不知道, 甚至都不知道它是手机系统还是电脑系统, 知道的只是它好像比较不易死机。