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)
上一篇 2017-09-16 09:47
下一篇 2017-09-16 11:32

相关推荐

  • RAID概述

    RAID 什么是RAID RAID(redundant arrays of independents disk,独立磁盘冗余阵列)是利用数组的方式组成磁盘组。RIAD大多是由廉价的磁盘组成容量巨大的磁盘组。,利用个别磁盘提供数据所产生的加成效果提升整个磁盘系统效能。 使用RAID目的 加快访问速度 使用一个虚拟磁盘,从而增加存储容量 减少磁盘失效带来不利的影…

    Linux干货 2016-11-22
  • 实现CA和证书申请,

    接下来讲的是在centos7.3和centos6.8中实现CA和证书申请,centos7.3作为主机,centos6.8作为客户端 首先你授权客户端CA证书,必须本身主机也具有CA,自己证明自己,先CA自签证书,然后在7.3创建私钥 为了方便以后的操作CD进入 cd /etc/pki/CA   生成自签名证书 -new:  生成…

    2017-04-11
  • 简明 Vim 练级攻略

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。 ——————————正文开始—————————— …

    Linux干货 2015-04-04
  • 文件压缩与归档工具

          1、compress/uncompress  .Z 格式                  compress [-d…

    Linux干货 2016-08-22
  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 #思路:使用who命令列出列出当明显登录的所有用户,使用cut命令取出用户名,使用uniq命令去重 [root@Centos6 ~]# who | cut -d" " -f1&n…

    Linux干货 2016-07-07
  • 源码包安装Apache服务

    1、安装development tools程序包组 安装Apache服务器前需要解决依赖性问题,比如需要安装GCC、GCC++、OPENSSL等等,因为是在虚拟机里做实验,这里就通过直接安装包组的方法解决依赖性问题。 (1)挂载安装光盘,并安装“Development tools”包组 [root@localhost ~]# mount&…

    Linux干货 2016-08-24