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

相关推荐

  • Linux 进程及作业管理

    Linux 进程及作业管理 概述:      我们在实际的运维工作中经常要对服务器做各种监控,以了解其相关状态,比如,CPU利用率,磁盘空间利用率,等等,这就需要我们了解相关的数据并学会使用各种工具来分析数据。本章就将总结Linux系统中进程管理和作业管理的相关命令、参数和工具,包括:进程的相关定义、分类、状态以及进程查看和管理…

    Linux干货 2016-09-11
  • Hadoop HDFS分布式文件系统设计要点与架构

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件…

    Linux干货 2015-04-13
  • N21_第09周_shell脚本

    作业题目: 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 预置条件: [root@zhouyong148 N21_09]# cat /etc/passwd root:x:0:0:root:/root:/b…

    Linux干货 2016-11-14
  • 1017作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正 ##先分析硬件时间不对还是系统时间不对,如果是系统时间不对: [root@localhost ~]# hwclock -w [root@localhost ~]#  ##如果是硬件时间不对: [root@localhost ~]#…

    Linux干货 2016-10-18
  • 网络管理及其一些网络协议

    1,这周我们主要学的是有关网络的相关知识;下面我就介绍一下我感觉重要的一些内容。 首先介绍的是计算机网络协议的七层模型:从上到下依次分为:7,应用层(application):OSI模型的第七层,负责为操作系统或网络应用程序提供访问网络服务的接口。                …

    2017-09-02
  • 磁盘文件挂载与卸载

    挂载(mount)何为挂载?挂载指将文件系统与根文件系统的某个现存的目录建立起来的关联关系,这样我们就可以将目录作为访问磁盘文件的入口,进行存取交互。挂载点:挂载点指的是被挂载的对象,通常挂载点是一个目录,不过有时候也有文件作为挂载点格式:mount 设备 挂载点 ;此挂载方法味临时挂载,只在当前的shell中有效,退出则清除挂载关联设备文件在/dev/sd…

    Linux干货 2017-04-24