linux发行版介绍及其哲学思想

Linux是一种自由和开源的unix-like操作系统。目前运用领域最广泛、使用人数最多的操作系统。该操作系统的内核是Linus Torvalds在1991年10月5日首次发布。是一个多任务,多用户的操作系统,广泛应用在服务器,手机,平板电脑,电视,电子游戏等领域,我们生活中随处都可以见到linux身影。

Linux诞生

1991 年,在芬兰,赫尔辛基大学的Linus Torvalds开始在一台386sx 兼容微机上学习minix 操作系统。吸收minix的精华开发出linux内核。

吉祥物Tux:625px-NewTux.svg

对于linux为什么企鹅作为标志的说法,企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于当今世界上的任何国家,当今任何国家无权将南极洲纳入其版图。Linux,为全人类共同所有,任何公司无权将其私有。还有一种说法是我们的linux之父曾经被企鹅咬过一口。

一些相关术语

FSF:Free Software Foundation自由软件基金会。

GPL:General Public License通用公共许可。是广泛使用的免费软件许可证,可以保证终端用户得自由运行,学习,共享和修改软件。GPL提供的Copyleft对于基于Linux的系统的成功至关重要,给予向内核贡献的程序员保证他们的工作将有益于整个世界并保持自由,而不至于被不提供回馈给社区的不肖软件公司所剥削。通俗地讲,就是软件行业的共产主义运动章程,目的保持开源软件最大自由。

BSD:Berkeley Software Distribution伯克利软件套件

GNU:GNU’s Not Unix!G NU操作系统起源于GNU计划,由理查·斯托曼在MIT人工智能实验室发起,希望发展出一套完整的开放源代码操作系统来取代Unix,计划中的操作系统,名为GNU。

ASF:Apache Software Foundation  Apache软件基金会

发展现状

Linux社区或企业都推出一些重要的Linux发行版,包括Linux内核、GNU组件、非GNU组件,以及其他形式的的软件包管理系统软件。目前主要有三大系列:

1、基于Dpkg (Debian系)。是一种强调使用自由软件的发行版。没商业公司支持,使用上对技术要求高。

主要发行版有:

Ubuntu:知名Linux发行版之一,由Canonical有限公司赞助,基于Debian,使用自己的软件包库,与Debian的有所不同,旨在开发出更加友好的桌面。

Knoppix:基于Debian GNU/Linux,桌面系统主要采用KDE,第一张Debian的自启动运行光盘。包含的软件非常多,有很好的硬件支持,桌面与笔记本电脑的集成也很出色。

Mint:基于Ubuntu,继承了Ubuntu的众多优点,同时也在Ubuntu的基础上加入很多自己优秀的特性,界面友好和美丽。

 

2、基于RPM (Red Hat系),美国和 中国用的最多一个系列,按提供服务响应速度快慢收费。主要发行版有:

Fedora:可用作工作站、桌面以及服务器,由红帽公司及其社区开发。

是较具知名度的Linux发行版之一。

CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定发布的源代码所编译而成。centos的出现,传说是红帽拿开源软件对消费者作恶的收费引起的,看不惯renhat的收费行为。于是是把Red Hat Enterprise Linux重新编译,去掉红帽的LOGO。功能稳定性和红帽的一样,且免费,在我们目前在中国内的企业用得最多。

3、Slackware系

主要发行版有:

SUSE,是Linux操作系统其中一个发行版,也是德国的一个发行版。SUSE属于Novell旗下的业务,它同时亦是Desktop Linux Consortium的发起成员之一。界面华丽,照顾欧洲人使用习惯。

openSUSE:openSUSE Project由SUSE公司赞助,开发和维护着SUSE Linux发行版部件。openSUSE是SUSE Linux Professional的接替者,是SUSE社区版。

Gentoo和Archliux。

Gentoo:初由Daniel Robbins(前Stampede Linux和FreeBSD的开发者之一)创建。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统 ——portage。(Ports和Portage都是用于在线更新软件的系统,类似apt-get,但还是有很大不同)Gentoo的首个稳定版本发布 于2002年。特点是高度自定制。

Archliux:加拿大程序员和吉他师Judd Vinet从2001年早期开始开发Arch Linux,并在2002年3月11日正式发行0.1版。优势是是针对特定处理器而优化过的,能够更好地利用CPU周期以提高性能。

发行版之间的不同

他们主要表现为软件包管理系统的不同:例如

Dbian:-deb, 前端管理工具为apt-get。

RDedHat/CentOS:-rpm, 前端管理工具为yum

S.u.S.E: -rpm, 前端管理工具为zypper

ArchLinux:前端管理工具为port

如何选择linux发行版

个人桌面:如果是对视觉效果有一定的追求,Ubuntu ,minit,  opensuse 等界面风格非常不错。

服务器端:CentOS 或Debian。

linux哲学思想:

  1. 一切皆文件。几乎把所有的资源系统抽象为文件形式:包括硬件设备,甚至通信接口等。作用:提高资源管理效率。例如:
  • 物理终端:/dev/console
  • 虚拟终端:/dev/tty#(#为1~6)
  • 串行终端:/dev/ttyS#
  • 伪终端:/dev/pts/#
  1. 由众多功能单一的程序组成:一个程序只做一件事,并且做好;组合小程序完成复杂任务。作用:程序分工明确,运行后方便进程管理。程序代码也轻量化,高效,容易修复错误。

小程序易于理解,维护,消耗系统资源较少,易于与其他工具结合实现更多的功能

  1. 尽量避免跟用户交互。使用命令行接口执行效率更高,易于以编程的方式实现自动化任务
  2. 使用文本文件保存配置信息。文本文件易于阅读和编辑。
  3. 提供机制而非策略。
  •  机制,是实现某个功能需要的原语操作和结构
  •  策略,是某功能的具体实现
  •  提供机制,而非策略,指的就是要给用户充分的自主可调配性

附linux发展时间线:http://futurist.se/gldt/wp-content/uploads/12.10/gldt1210.png

 

 

 

 

 

 

 

 

 

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87220

(0)
N27_dxldengN27_dxldeng
上一篇 2017-09-16 09:47
下一篇 2017-09-16 11:32

相关推荐

  • 马哥教育网络班20期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名。 注意同一个用户登陆多次,只显示一次即可。    w | cut -d ' ' -f 1 | uniq -c       2、取出最后登陆到当前系统的用户的相关信息    last | head -n 1  &nbsp…

    Linux干货 2016-06-26
  • Linux发展史

    Linux发展史 摘要:因为学习linux过程中对整个linux发展历史只有一些模糊的理解,以本文来对linux发展史进行梳理来加深学习。   一、linux是什么 linux就是一套操作系统,如下图操作系统就是内核与系统调用接口那 Linux只是一套操作系统并不包含其他应用程序。 Linux提供了一个完整的操作系统当中最底层的硬件控制和资源管理的…

    Linux干货 2016-10-14
  • 压缩打包工具

    linux系统常见的压缩命令:compress、gzip、zcat、bzip2、xz、zip 打包命令:tar、cpio compress 语法:compress  [-dfvcVr]  [-b maxbits]  [file …]        …

    2017-08-12
  • 逻辑卷的创建与移除

    一、弹性控制磁盘大小的lvm:     假如有这样一个场景,在初始安装linux系统时给 /home分区设置了一定大小,但是过了一段时间后,你发现初始分配的大小远不能满足公司的扩大,员工增加,需要分配的账号的磁盘空间也变大,这时你应该怎么办?是挂载一块更大的硬盘,将原来的小硬盘拆除掉吗?其实在linux中有lvm可动态增大文件系…

    Linux干货 2016-08-30
  • 马哥教育网络班20期+第二周博客作业

    1.Linux上的文件管理类命令 2.bash命令学习总结 3.bash命令实例 4.元数据与时间戳 5.命令别名 6.练习题6~12 1.Linux上的文件管理类命令        Linux上的文件管理类命令可分为查看类、目录管理类、权…

    Linux干货 2016-06-19
  • Linux启动流程

    内核级别: 1、POST开机加电自检 BIOS加载CMOS信息并进行开机自检,检测硬件设备是否正常并进行硬件设备初始化 2、Boot Sequence(BIOS):定义设备启动顺序 BIOS定义设备启动顺序,并读取启动设备数据加载硬盘上的第一个扇区MBR。 3、Boot Loader(MBR):bootloader功能实现 Boot Loader提供一个菜单…

    Linux干货 2016-11-23