本章以操作系统的介绍作开篇,首先介绍操作系统的基础概念以及操作系统的原理;然后带领读者了解Unix/Linux的诞生和发展史,以及市面上常见的Unix/Linux系统版本,并且针对发展过程中相关的关键人物进行介绍;接着,本章为大家讲解了需要重点掌握的GNU、GPL等名词知识,以及本书的主人公即Linux的优秀特性、常见的Linux发行版本以及不同应用场景的选择建议;最后,本章将带读者了解互联网常用的两个重点Linux版本CentOS和Red Hat Linux,并完成CentOS Linux的基本环境搭建准备。

目前PC(Intel x86系列)计算机上比较常见的操作系统有Windows、Linux、DOS、Unix等。
- Linux是开放源代码的程序软件,可自由修改。
- 与Unix系统兼容,具备Unix几乎所有的优秀特性。
- 可自由传播,无任何商业化版权制约。
- 适合Intel等x86 CPU系列架构的计算机。


那么Unix都有哪些“聪明伶俐”的特点呢?下面一起来看看吧。
- 技术成熟,可靠性高
使用Unix系统时,即使连续运行若干年也无须重启,它依然可以工作得非常好。可以毫不夸张地说,只要计算机硬件不坏,Unix就会很难出现问题。 - 极强的可伸缩性
Unix支持的CPU处理器体系架构非常多,包括Intel/AMD及HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等RISC芯片,以及SMP、MPP等技术。

- 强大的网络功能
Internet互联最重要的协议TCP/IP就是在Unix上开发和发展起来的。此外,Unix还支持非常多的常用的网络通信协议,如NFS、DCE、IPX/SPX、SLIP、PPP等。 - 强大的数据库支持能力
Oracle、DB2、Sybase、Informix等大型数据库,都将Unix作为其主要的数据库开发和运行平台,一直到目前为止,依然如此。 - 强大的开发功能
正是Unix促使了C语言的诞生,并相互促进与发展,成为当时工程师的首选操作系统和开发环境。互联网早期具有重大意义的软件新技术的出现几乎都在Unix上,例如:TCP/IP、WWW、Java、XML等。

1. Linux的发展历程简介
1)1984年,Andrew S. Tanenbaum开发了用于教学的Unix系统,命名为Minix。
2)1989年,Andrew S. Tanenbaum将Minix系统运行于x86的个人计算机平台上。
3)1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触Minix系统。
4)1991年,Linus Torvalds开始在Minix上编写各种驱动程序等操作系统内核组件。
5)1991年底,Linus Torvalds 公开了Linux内核源码0.02版(http://www.kernel.org),注意,这里公开的Linux内核源码并不是我们现在使用的Linux系统的全部,而仅仅是Linux内核kernel部分的代码。
6)1993年,Linux 1.0版发行,Linux转向GPL版权协议。
7)1994年,Linux的第一个商业发行版Slackware问世。
8)1995年,Red Hat 软件公司成立,同年发布了Red Hat Linux 2.0。
8)1996年,美国国家标准技术局的计算机系统实验室确认Linux 版本1.2.13(由Open Linux公司打包)符合POSIX标准。
9)1997年,Red Hat Linux 5.0发布,它支持Intel、Alpha和Sparc平台以及大多数的应用软件。极其简单易用的RPM模块化的安装、配置和卸载工具,使程序的安装可在15分钟内完成。软件升级也更加方便了。
10)1999年,Linux的简体中文发行版问世。
11)2003年4月,Red Hat Linux 9.0发布。其重点放在改善桌面应用方面,包括改进安装过程、更好的字体浏览、更好的打印服务等。2003年,Red Hat的 Linux市场份额为80%以上。
12)2004年4月,Red Hat公司正式停止对Red Hat 9.0版本的支持,标志着Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行包则与来自民间的Fedora计划合并,成为Fedora Core发行版本。Red Hat公司不再开发桌面版的Linux发行包,而将全部力量集中在服务器版的开发上,也就是Red Hat Enterprise Linux版。
13)2005年10月,RHEL4发布。
14)2007年3月,主流版本RHEL5发布,CentOS系统开始在中国互联网公司流行。
15)2010年4月,RHEL6(RedHat Enterprise Linux 6.0)BETA测试版发布。
16)2014年6月RedHat Enterprise Linux 7.0发布,RHEL7.0版本相较于RHEL6.0以前的版本有了较大的变化,例如,内核版本升级到3.10以上,系统启动和基本管理变化较大,文件系统也由传统的ext改为xfs,同时在大数据、云计算、Docker方面做了很大优化。
2. Linux发展历程中的相关人物
我们在使用优秀的Linux系统时,一定要向前辈们致以深深的敬意,没有他们,就没有今天优秀的Linux系统存在(如图1-5所示)。

1.自由软件
简单地理解,自由软件的核心就是没有商业化软件版权制约,源代码开放,可以无约束地自由传播。

- 不论目的为何,有运行该软件的自由。
- 有研究该软件如何运行,以及按需改写该软件的自由。当然,取得该软件源代码为达成此目的之前提。
- 有重新发布拷贝的自由。
- 有改进该软件,以及向公众发布改进版本的自由,这样整个社群都可受惠。同样,取得该软件的源码为达成此目的之前提。
2.自由软件基金会FSF
FSF(Free Software Foundation)的中文意思是自由软件基金会,是Richard Stallman于1984年发起和创办的。FSF的主要项目是GNU项目。它的目标是建立可自由发布和可移植的类Unix操作系统产品。GNU项目本身产生的主要软件包括:Emacs编辑软件、gcc编译软件、bash命令解释程序和编程语言,以及gawk(GNU抯 awk)等。
1. GPL
GPL全称为General Public License,中文名为通用公共许可,是一个最著名的开源许可协议,开源社区最著名的Linux内核就是在GPL许可下发布的。GPL许可是由自由软件基金会(Free Software Foundation)创建的。
1984年,Richard Stallman发起开发自由软件的运动后不久,在其他人的协作下,他创立了通用公共许可证(GPL),这对推动自由软件的发展起到了至关重要的作用,那么,这个GPL到底是什么意思呢?
简单的理解,GPL的核心,是保证任何人有共享和修改自由软件的自由,任何人有权取得、修改和重新发布自由软件源代码的权利,但都必须同时给出具体更改的源代码。
虽然整个Linux内核都是基于GNU通用公共许可的,但是Linux内核并不是GNU计划的一部分,这一点请读者不要混淆。
2. LGPL
LGPL(Lesser General Public License)相对于GPL则较为宽松,其允许不公开全部源代码,这为基于Linux平台开发商业软件提供了更广阔的空间。对于该知识点,本书仅提及一下,有兴趣的读者可到网上查询相关信息。
Linux操作系统=Linux内核+GNU软件及系统软件+必要的应用程序


还记得前文对Linux操作系统特性的小结么?除了那些特点以外,其实,Linux还具有如下一些特点。
- 可以说Linux是Unix在个人计算机上的克隆版,仿Unix内核构建,几乎与Unix指令集向下完全兼容。
- 是一个完善的支持多用户、多任务,多进程、多CPU的系统。
- 具有很高的系统稳定性与可靠性。
- 具有很高的系统安全性。
- 有完善的网络服务,支持HTTP、FTP、SMTP、POP、SAMBA、SNMP、DNS、DHCP、SSH、TELNET等。
- 是基于GNU许可,自由开放的系统。
- 有大量第三方免费应用程序。
- 得到了众多业界厂商的支持,如IBM、Oracle、Intel、HP、MOTO、Google等。
- 有完善的大型数据库平台,包括Oracle、DB/2、Sybase、MySQL、PostgreSQL等。
- 有完善的图形用户界面,包括GNOME、KDE等。
- 有完善的开发平台,包括C/C++、Java、Perl等,支持各类图形界面API ,如GTK+、QT等。

由于Linux系统开放源代码,功能强大、可靠、稳定性强、灵活而且具有极大的伸缩性,再加上它广泛支持大量的微处理器体系结构、硬件设备、图形支持和通信协议,因此,在嵌入式应用的领域里,从因特网设备(路由器、交换机、防火墙、负载均衡器等)到专用的控制系统(自动售货机、手机、PDA、各种家用电器等),Linux 操作系统都有很广阔的应用市场。特别是经过这几年的发展,它已经成功地跻身于主流嵌入式开发平台。例如,在智能手机领域,Android Linux已经在智能手机开发平台上牢牢地占据了一席之地。嵌入式系统是另一个应用领域,不是本书讨论的主要话题,读者若对此感兴趣,可参考相关文章和书籍。
所谓个人桌面系统,其实就是我们在办公室使用的个人计算机系统,例如,Windows XP、Windows 7、MAC等。Linux系统在这方面的支持也已经非常好了,完全可以满足日常的办公及家用需求,具体列举如下。
- 浏览器上网浏览(例如,Firefox浏览器)。
- 办公室软件(Open Office等,兼容微软Office软件)处理数据。
- 收发电子邮件(例如,ThunderBird软件)。
- 实时通信(例如,等)。
- 文字编辑(例如,vi、vim、Emacs)。
- 多媒体应用。
虽然Linux个人桌面系统的支持已经很广泛了, 但是在当前,其桌面市场份额还远远无法与Windows竞争,这其中的最大障碍可能不在于Linux桌面系统产品本身,而是用户的使用观念、操作习惯和应用技能,以及曾经在Windows上开发的软件的移植问题。
本书主要讲解Linux系统服务器端的知识、技术,企业生产运维经验实践。下面列举本书将要讨论的技术核心,以及哪些企业单位会用到本书的技术知识。
- 服务器领域的Linux运维技术。
- 基于x86 CPU架构的计算机硬件的Linux系统。
- 面向互联网的企业,或者即将将业务转移到互联网的企业。


2.选择CentOS Linux的版本
本书讲解的Linux运维技术主要是基于CentOS x86_64 Linux的,绝大部分知识几乎无需任何修改,同样也适用于Red Hat Linux等同源或类似Linux系统版本。
下面是CentOS的主流版本在国内互联网企业的使用现状说明。
- CentOS5系列:主流版本有CentOS5.5、CentOS5.8、CentOS5.10、CentOS5.11,CentOS5在企业的新业务中已经使用极少了,不推荐新手学习。
- CentOS6系列:主流版本有CentOS6.4、CentOS6.6、CentOS6.7、CentOS6.9,CentOS6在企业的新业务中使用也已经不多了,不推荐新手学习。
- CentOS7系列:该系列已经成熟,很多企业开始正式使用该版本,目前与6系列并行,CentOS7已经逐步成为企业主流,比较推荐新手选择此版本学习。



1.选择适合的虚拟机软件
如果你使用的是Windows系统,那么,老男孩推荐你使用VMware WorkStation,如果是MacOS平台则可以选择Virtual PC,如果你用的是Ubuntu系统,则可以选择Xen、KVM、VMware(Linux版本)。本书将以在Windows 7系统上安装VMware WorkStation 12(这里读者也可以选择更高版本即14 PRO版)为例,为大家讲解Linux运维技术,同时还会在DELL R710真实服务器环境上进行测试,其他环境的搭建大同小异,进入到Linux里面几乎没有差别。
2.虚拟机软件对硬件的要求
虚拟机软件的原理是利用宿主机物理硬件资源虚拟PC设备,因此对物理机硬件的要求比较高,其中最主要的是内存、硬盘和CPU资源。首先,宿主机物理内存要足够大,最低要在8GB以上(CentOS7最好是16GB以上),因为在创建虚拟设备时,要为每个虚拟机分配一定的内存资源(CentOS7一般最小为1024MB,内存设置太小会出现特殊问题)和硬盘空间(默认为10GB以上,实际最好是20GB以上),SSD(固态硬盘)最好,同样也要分配CPU资源,CPU最好是I5以上,例如,为每个虚拟机分配一核CPU。当然了,多个虚拟机系统也可以同时占用一核CPU,在日常学习Linux时,如果不进行大量并行安装软件等消耗CPU资源的操作,使用虚拟机环境还是非常舒服的。
1.对VMware Workstation版本的建议
表1-3中给出的是选择VMware Workstation版本的建议,仅为建议,非必须。

2.虚拟机软件的安装
在Windows系统下安装了适合Windows版本的VMware Workstation之后,就可以在VMware Workstation上创建虚拟机了,之后运行创建的虚拟机,在虚拟机上安装CentOS Linux操作系统,这个安装过程与在实际生产环境下的安装是一样的。
VMware Workstation虚拟机软件的安装很简单,只需要按照Windows常规方法持续按“下一步”即可完成,这里不再讲述,如果你遇到了问题可以去前言中寻找笔者为本书建立的问题反馈交流群。
1.创建一个新的虚拟机
1)虚拟机软件安装完毕后,双击桌面上的VMware Workstation图标或者在开始程序菜单里找到VMware Workstation图标以启动VM应用程序,如图1-10所示。
















到此为止,VMware虚拟机的准备工作就全部做完了,第2章将为大家讲解安装Linux系统的知识。
- 操作系统介绍资料
http://baike.baidu.com/view/880.htm - 自由软件基金会
http://www.gnu.org/philosophy/free-sw.html - GNU与GPL知识
http://www.gnu.org/home.zh-cn.html - GPL协议英文版
http://www.gnu.org/licenses/gpl.html - 虚拟机及虚拟机软件的知识
http://zh.wikipedia.org/wiki/%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%AF%94%E8%BE%83#.E8.99.9B.E6.93.AC.E6.A9.9F.E5.99.A8.E6.AF.94.E8.BC.83 - 本章内容对应的视频精品资料
http://edu.51cto.com/course/course_id-839.html
到此这篇linux就要这样学(linux如何学)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/16147.html