Linux知识讲堂

运维 系统运维
Linux,是一类Unix计算机操作系统的统称。该操作系统的核心的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux核心,但在实际上人们已经习惯了用Linux来形容整个基于Linux核心,并且使用GNU工程各种工具和数据库的操作系统也被称为GNU/Linux。

Linux,是一类Unix计算机操作系统的统称。该操作系统的核心的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。

严格来讲,Linux这个词本身只表示Linux核心,但在实际上人们已经习惯了用Linux来形容整个基于Linux核心,并且使用GNU工程各种工具和数据库的操作系统也被称为GNU/Linux。基于这些组件的Linux软件被称为Linux发行版。一般来讲,一个Linux发行包包含大量的软件,比如软件开发工具、数据库(例如PostgreSQL、MySQL)、网上服务器(例如Apache)、X Window、桌面环境(例如GNOME和KDE)、办公包(例如OpenOffice.org)、脚本语言(例如Perl、PHP和Python)等等。

Linux核心最初是为英特尔386微处理器设计的。现在Linux核心支持从个人电脑到大型主机甚至包括嵌入式系统在内的各种硬件设备。

现在,Linux已经成为了一种受到广泛关注和支持的操作系统。包括国际商用机器公司和惠普、戴尔在内的一些信息业巨头也陆续支持Linux,并且成立了一些组织支持其发展,如Open Invention Network(OIN)(成员有IBM,索尼,NEC,Philips,Novell,Red Hat 等)购买了微软专利,允许任何个体以开放的原则使用。很多人认为,和微软Windows相比,作为自由软件的Linux具有低软件成本,高安全性,更加可信赖等优势,但是同时却需要更多的人力成本。

概述

绝大多数基于Linux核心的操作系统使用了大量的GNU软件,包括了一个shell程序、工具、库、编译器及工具,还有许多其他程序,例如Emacs。正因为如此,GNU计划的开创者理查德·马修·斯托曼博士提议将Linux操作系统改名为GNU/Linux,但多数人仍然习惯性地使用“Linux”。

大多数Linux系统还包括了像提供GUI界面的XFree86之类的BSD程序。

除了一部分专家之外,大多数人都不自己选择每一样组件或自行设置,而是直接使用Linux发行版。

“Linux”的发音

托瓦兹对“Linux”的读法

根据托瓦兹的说法,Linux的发音和“Minix”是押韵的。

“Li”中“i”的发音类似于“Minix”中“i”的发音,而“nux”中“u”的发音类似于英文单词“profess”中“o”的发音。依照国际音标应该是['linэks][ˈlɪnəks]。

Linux的历史

1983年,理查德·马修·斯托曼创立了GNU计划。这个计划有一个目标是为了发展一个完全自由的类Unix操作系统。自1990年代发起这个计划以来,GNU开始大量的产生或收集各种系统所必备的组件,像是——库、编译器、调试工具、文本编辑器、网页服务器,以及一个Unix的用户界面(Unix shell)——除了运行核心(kernel)仍然付阙外。1990年,GNU计划开始在马赫微核(Mach microkernel)的架构之上开发系统核心,也就是所谓的GNU Hurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。

Linux内核最初只是由芬兰人林纳斯·托瓦兹在赫尔辛基大学上学时出于个人爱好而编写的,当时他并不满意Minix这个教学用的操作系统,部分因为只能在有限硬件上运行。最初的设想中,Linux是一种类似Minix这样的一种操作系统。Linux的第一个版本在1991年9月被大学FTP server管理员Ari Lemmke发布在Internet上,最初Torvalds称这个核心的名称为"Freax",意思是自由("free")和奇异("freak")的结合字,并且附上了"X"这个常用的字母,以配合所谓的类Unix的系统。但是FTP服务器管理员嫌原来的命名“Freax”的名称不好听,把核心的称呼改成“Linux”,当时仅有10000行代码,仍必须运行于Minix操作系统之上,并且必须使用硬盘开机;随后在10月份第二个版本(0.02版)就发布了,同时这位芬兰赫尔辛基的大学生在comp.os.minix上发布一则消息

Hello everybody out there using minix- I'm doing a (free) operation system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.

Linux的历史是和GNU紧密联系在一起的。从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年Linux核心发布的时候,GNU已经几乎完成了除了系统核心之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU组件可以运行于Linux核心之上。整个核心是基于GNU通用公共许可,也就是GPL(GNU General Public License)的,但是Linux核心并不是GNU计划的一部分。1994年3月,Linux1.0版正式发布,Marc Ewing成立了Red Hat软件公司,成为最著名的Linux经销商之一。

早期Linux的开机管理程序(boot loader)是使用LILO(Linux Loader),早期的LILO存在着一些难以容忍的缺陷,例如无法识别1024柱面以后的硬盘空间,后来新增GRUB(GRand Unified Bootloader)克服了这些缺点,具有‘动态搜索核心文件’的功能,可以让您在开机的时候,可以自行编辑您的开机设置系统文件,通过ext2或ext3文件系统中加载Linux Kernel(GRUB通过不同的文件系统驱动可以识别几乎所有Linux支持的文件系统,因此可以使用很多文件系统来格式化核心文件所在的扇区,并不局限于ext文件系统)。

Linux的标志和吉祥物是一只名字叫做Tux的企鹅,标志的由来是因为Linus在澳洲时曾被一只动物园里的企鹅咬了一口,便选择了企鹅作为Linux的标志。更容易被接受的说法是:企鹅代表南极,而南极又是全世界所共有的一块陆地。这也就代表Linux是所有人的Linux。

Linux的注册商标是Linus Torvalds所有的。这是由于在1996年,一个名字叫做William R. Della Croce的律师开始向各个Linux发布商发信,声明他拥有Linux商标的所有权,并且要求各个发布商支付版税,这些发行商集体进行上诉,要求将该注册商标重新分配给Linus Torvalds。Linus Torvalds一再声明Linux是免费的,他本人可以卖掉,但Linux绝不能卖。

Linux的用户群

传统的Linux用户一般都是专业人士。他们愿意安装并设置自己的操作系统,往往比其他操作系统的用户花更多的时间在安装并设置自己的操作系统。这些用户有时被称作“黑客”或是“极客”(geek)。

使用Linux主要的成本为移植、培训和学习的费用,早期由于会使用Linux的人较少,并且在软件设计时并未考虑非专业者的使用,导致这方面费用极高。但这方面的费用已经随着Linux的日益普及和Linux上的软件越来越多、越来越方便而降低,但仍是使用Linux的主要成本。

然而随着Linux慢慢开始流行,有些原始设备制造商(OEM)开始在其销售的电脑上预装上Linux,Linux的用户中也有了普通电脑用户,Linux系统也开始慢慢出现在个人电脑操作系统市场。Linux在欧洲、美国和日本的流进程度较高,欧美地区还发行Linux平台的游戏和其他家用软件。Linux开源社区方面也是以欧洲、美国、日本等发达地区的人士居多。

每个孩子一台笔记本电脑这一项目正在催生新的更为庞大的Linux用户群,计划将包括发展中国家的几亿学童、他们的家庭和社区。在2007年,已经有六个国家订购了至少每个国家一百万台以上免费发放给学生。Google、RedHat和eBay是该项目的主要支持者。

未来软件界的方向

Linux作为较早的开放源代码操作系统,对未来软件发展的方向有一定引导作用。

基于Linux开放源代码的特性,越来越多大中型企业及政府投入更多的资源来开发Linux。现今世界上,越来越多国家逐渐的把政府机构内部门的电脑转移到Linux上,这个情况还会一直持续。Linux的广泛使用为政府机构节省了不少经费。

任何一种操作系统均会存在可能发生的安全性风险议题,开放性的源代码,使任何人皆可知道Linux的内部核心,可让全球的安全专家透明化查看与提出改进。但在黑客的眼里,它可让全球的黑客较容易地发现漏洞,是一头肥羊。但严格来说大多数的系统沦陷(黑客攻击成功)均是该系统管理员未能深入安全性防护能力所导致,不应不当地推诿责任给开发商。

Linux发行版

Linux发行版指的就是我们通常所说的“Linux操作系统”,它可能是由一个组织,公司或者个人发行的。Linux主要作为Linux发行版(通常被称为"distro")的一部分而使用。通常来讲,一个Linux发行版包括Linux内核,将整个软件安装到电脑上的一套安装工具,各种GNU软件,其他的一些自由软件,在一些特定的Linux发行版中也有一些专有软件。发行版为许多不同的目的而制作,包括对不同计算机结构的支持,对一个具体区域或语言的本地化,实时应用,和嵌入式系统。目前,超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个。

一个典型的Linux发行版包括:Linux核心,一些GNU库和工具,命令行shell,图形界面的X窗口系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公包,编译器,文本编辑器到科学工具的应用软件。

很多版本Linux发行版使用LiveCD,是不需要安装就能使用的版本。比较著名的有Damn Small Linux,Knoppix等。

对Linux的评价

正面

所有人都可以看到Linux的源代码,修改并向开源组织提交修改,因此相比闭源软件而言开源软件可能更加安全

开放源代码的Linux可以让知识延续下去,新兴的软件公司可以从开放源代码上快速、低价的创建专业能力,丰富市场的竞争,防止独霸软件巨兽的存在

开放源代码的Linux可以让维护延续下去,延续下去可以累积成功,累积成功可以让软件成熟度逐渐增加,不会有闭源软件厂商倒闭而造成维护断层、软件孤儿的问题

可修改,自由度高,可自己动手创建切合需求的系统,厂商(个人)亦可根据硬件限制删减核心,让比较低级的硬件做出切合需求、成本的系统

相同硬件的手机,微软WM与Linux核心的Android对比,效率上差距颇大,WM最低硬件需求就是比Linux核心的系统高上一大节

WM手机操作系统核心基于封闭授权保护很难修改,几乎不存在弹性,在PC上也存在相同的问题

个人使用很难有版权问题,绝大多数都是免费使用,几乎无所谓盗版问题

个人使用成本几乎是零

缺省安全设置相对于Windows安全很多

Windows为了非专业用户降低了缺省安全性的设置,导致系统容易受到木马、病毒的侵害

盗版的Windows更糟糕,可能随盗版操作系统附赠木马、恶意程序,部分缺省超级用户(Administrator)登录,关闭更新修正等问题导致相对安全性更差

新版的Linux发行版大多数都有软件服务器的服务,只要点击就可以自动下载、安装经过认证的软件,不需要到市面购买、安装

Linux学习的投资有效时间较长

旧版软件、系统都还是存在,有源代码可以派生、分支,维护周期普遍比Windows长很多,就算被放弃,还是可以凭借源代码派生

新的软件更新发展多样化,容易养成用户习惯掌握原理,而不是养成操作习惯

强大的SHELL及SCRIPT支持,容易组合出符合需求的环境或创造自动程序

给予足够的工具让用户把命令串接命令的使用,以满足某些特殊需求

程序开发是以命令模式为主,GUI为辅,命令串接还是可以使用

Windows GUI几乎弃用命令行,几乎无法自己新增功能

鼓励创作,动手创造符合个人需求的环境

负面

Windows桌面用户在尝试Linux的过程中,不少因为一下子不适应而发牢骚或者放弃

绝大部分基于使用习惯很难改变的问题

如Linux上MSN是替代品,其接口不像MS-MSN,功能也缺少游戏部分,所以发牢骚

Linux上软件绝大多数是替代品,是基于某群人需求写出来的软件,接口、功能不太可能全然相同

很多功能更强、安定性更高的软件存在,用户却因为先前学会了Windows上的软件而排斥

部分政府花公款替MS-WINDOWS做教育训练导致学生使用习惯固著难以变更

部分家长因为上述原因,导致就算学校改变教育方向,家庭教育还是会拉回MS-WINDOWS的环境

一部分是需求服务而不是希望自己动手解决问题

一部分是根本没用过却盲从人云亦云的既定成见

一部分是对于新系统存在学习恐惧

盗版充斥,基于妻不如妾,妾不如偷的贱态,没版权问题的软件被轻视

如果用在工作环境上,是的

如果用在个人使用上,不一定

如果是在非工作使用,新硬件的支持比较重要

责任编辑:张浩 来源: 维基百科
相关推荐

2010-05-05 17:32:29

Unix Superd

2010-04-21 13:41:41

Unix内核

2010-05-04 15:29:57

Unix dos

2009-12-15 13:26:33

Ruby单态方法

2010-10-12 10:35:15

2020-09-08 14:17:00

戴尔

2020-10-16 17:54:08

戴尔

2020-10-23 14:58:07

戴尔

2010-06-29 10:14:13

LEACH协议

2020-12-04 16:14:10

戴尔

2021-01-08 18:09:46

戴尔

2011-05-04 17:23:01

打印机

2020-11-27 17:43:32

戴尔

2010-05-27 18:09:08

Apache SVN配

2011-01-11 15:44:08

2020-08-27 14:40:55

Linux内存内核

2010-06-29 16:36:58

Linux SNMP服

2010-01-07 17:36:38

Linux静态库

2013-08-27 14:40:03

系统监控

2010-09-09 14:46:12

点赞
收藏

51CTO技术栈公众号