Linux教程

2.8 linux发展历史

本文主要是介绍2.8 linux发展历史,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.1:Linux发展历史

①:诞生

20世纪60年代,出现并流行交互式操作系统,即分时操作系统。其中multics就是一套由贝尔实验室、麻省理工学院及美国通用电气公司的1964年共同参与研发出的安装在大型主机上实现多人多工的操作系统。但由于资金的超支及贝尔实验室的退出等因素而被“放弃”。

随后贝尔实验室的Ken Thompson使用B语言开发出了名为Unics操作系统,后改名为UNIX操作系统。

由于B语言进行系统编程时不够强大,因此Thompson联合Ritchie对其进行了改造,并于1971年共同发明了C语言。1973年Thompson和Ritchie用C语言重写了UNIX。自此到20世纪90年代UNIX已经成为大学中的主流操作系统。与此同时,UNIX 转向商业化,价格昂贵。而唯一低廉的选择就是 MINIX,这是一个功能有限的类似 UNIX 的操作系统,作者 Andrew Tanenbaum 开发它的目的是用于教学。

1991年初,Linus Torvalds接触到UNIX操作系统,通过学习 MINIX成功地将自己开发的bash移植到了minix 上,并于1991年10月正式向外宣布Linux内核的诞生。同年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器已经出现,GNU的操作系统核心HURD一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的GNU操作系统,但是GNU奠定了Linux用户基础和开发环境。 Linux 本身只是操作系统的内核。内核是使其它程序能够运行的基础。它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之上。其中有些程序是必需的,比如说,命令行解释器(shell),它用于用户交互和编写 shell 脚本。 Linux 没有自己去开发这些应用程序,而是使用已有的自由软件。许多重要的软件,包括 C 编译器,都来自于自由软件基金 GNU 项目。因此,把 Linux 也称为 GNU/Linux。

②:Linux 诞生大事件

1965 年,Bell 实验室、MIT、GE(通用电气公司)开发 Multics(Multiplexed Information and Computing Service)系统。

1969 年,Ken Thompson(C语言之父)利用汇编语言(B语言)开发了 File Server System(Unics,即 UNIX 的原型)。

1973 年,Dennis Ritchie 和 Ken Thompson 发明了 C 语言,随后二人使用C语言重写 UNIX 的内核。

1977 年,Berkeley 大学的 Bill Joy ( Sun 公司的创始人)针对他的机器修改了 UNIX 源码,称为BSD(Berkeley Software Distribution)操作系统。

1979 年,UNIX 发布 System V,用于个人计算机;1984 年,因为 UNIX 规定“不能对学生提供源码”,作为老师的 Andrew Tanenbaum 编写兼容于 UNIX 的 Minix,用于教学。

1984 年,Richard Stallman 开始 GNU(GNU’s Not Unix)项目,创办 FSF(Free Software Foundation)基金会。该组织倡导“自由软件”,开发了GCC、Emacs、Bash Shell、GLIBC等产品;GNU 的软件缺乏一个开放的平台运行,只能在 UNIX 上运行;自由软件指用户可以对软件做任何修改,甚至再发行,但要遵守GPL 的版权规定;自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等。

1985 年,为了避免 GNU 开发的自由软件被其他人用作专利软件,因此创建 GPL(General Public License)版权声明。

1988 年,MIT 为了开发 GUI,成立了研发 XFree86 的组织。

1991 年,芬兰赫尔辛基大学的研究生 Linus Torvalds 基于 gcc、bash 开发了针对 386 机器的 Linux 内核。

1994 年,Torvalds 发布 Linux-v1.0。

1996 年,Torvalds 发布 Linux-v2.0,确定了 Linux 的吉祥物:企鹅。

③:UNIX进化史

Unix是较早被广泛使用的计算机操作系统之一,它的第一版于1969年由Ken Thompson在AT&T贝尔实验室实现,1973年Ken Thompson与Dennis Ritchie用C语言重写了Unix的第三版内核。

1969年,Unix系统的第一个版本(由Ken Thompson在AT&T贝尔实验室实现)

20世纪70年代末:AT&T成立Unix系统实验室

20世纪70年代末:CSRG(加州大学伯克利分校计算机系统研究小组)使用Unix对操作系统进行研究

BSD Unix和Unix System V形成了当今Unix的两大主流

1.2:linux发行版本

img

Debian 家族

Debian 最早由Ian Murdock于1993年创建,是社区类Linux的典范,也是迄今为止最遵循GNU规范的Linux系统。Debian在服务器和桌面电脑领域都有着广泛的应用,最具特色的是apt-get / dpkg包管理方式。

Ubuntu 是基于 Debian 发展而来,界面友好,易于上手,而且对硬件的支持也很全面,比较适用于桌面系统。Ubuntu 本身又有很多不同的版本,比如基于 KDE 的 Kubuntu,基于极致轻量的LXDE的Lubuntu,中国定制版的 Ubuntu Kylin等。

Linux Mint 由Linux Mint Team团队于2006年开始发行,基于 Ubuntu衍生,是专注于个人用户的桌面系统,界面更加美观。

Red Hat家族

Red Hat 红帽公司创建于1993年,是目前世界上最知名的 Linux厂商之一。Red Hat 公司产品主要包括:

RHEL (Red Hat Enterprise Linux 红帽企业版 Linux),是商业版本,源代码公开,技术支持需要付费,提供原厂服务。

Fedora 是基于 Red Hat Linux的社区版,由Fedora Project社区开发、红帽公司赞助。Fedora会采用最新的技术,尝试很多新功能、新特性,取得成功后会应用到 RHEL版本中,可以理解为是 RHEL的个人桌面版和前期测试版。

CentOS 全称Community Enterprise Operating System(社区企业操作系统),可以理解为是 RHEL 的社区克隆版。完全免费,并且开源。其独有的yum命令支持系统在线升级,可以即时更新。CentOS稳定性较好,在中国应用比较广泛。

SlackWare家族

SLES SUSE Linux Enterprise Server ,企业版,基于SlackWare Linux发展而来,由德国的 SuSE Linux AG 公司与1994年发行。

OpenSuse 是 SLES 的社区版本。2004年 SuSE Linux AG 被Novell公司收购以后,成立了OpenSUSE 社区,于是推出了OpenSuse版本,比较适用于桌面系统。它和 SLES有点类似于 Fedora和 RHEL的关系。

其他 Linux 版本

Linux 还有很多其他的版本,比如 Gentoo Linux, 它的标志是追求极限的性能,在同样的硬件环境下拥有最快的运行速度。不过它需要采用源码包编译安装操作系统,非常复杂,但这也并不妨碍大量的的用户和开发者拥入它的怀抱。

下面我用一张表格来总结Linux不同家族和发行版本的关系与特点:

img

linux mint

Linux Mint是一个基于Ubuntu的发行版,最早于2006年由居住在爱尔兰的法国出生的IT专家Clement Lefebvre发布。最初维护一个专门为新Linux用户提供帮助,技巧和文档的Linux网站,笔者看到了开发Linux发行版的必要性,该发行版致力于解决那些技术性较强的产品的使用问题,让它们更易于使用。在他的网站上向访问者征求反馈意见之后,他继续把许多人提到的“改进的Ubuntu”或“Ubuntu完善版”的东西建立起来。注:Ubuntu就是以易用,对新手友好著称的。可想而知Mint的目标更进一步,让Linux更加的贴近了普通用户。

但是,Linux Mint不仅仅是一个具有新的应用程序和更新的桌面主题的Ubuntu。自开始以来,开发人员一直在增加各种Mint下的图形工具以提高可用性;这包括mintDesktop – 用于配置桌面环境的实用程序,mintMenu – 一个新的,优雅的菜单结构,以方便导航,mintInstall – 一个易于使用的软件安装程序,mintUpdate – 一个软件更新程序,提供了一些更突出的几个工具和数百个额外的改进。该项目还开发了很多替代的专有程序以避免一些潜在的法律版权问题,其中包括专利和专利设计的多媒体编解码器,这些编解码器在很多发行版中通常是不存在的。因此,Mint在易用性方面的声誉得到了进一步的加强,也许Linux Mint的最佳特性之一就是开发人员倾听用户的意见,并总是快速地实施好的建议。

因为Linux Mint是可以免费下载,因此该项目通过捐赠,广告和专业支持服务获得收入。它没有固定的发布时间表或者计划的功能列表,但是在每个Ubuntu长期支持版本发布几周后,可以预期Linux Mint的新版本。除Mint的MATE和Cinnamon桌面两个主要版本之外,该项目还使用包括KDE和Xfce在内的其他桌面版本构建版本。这些版本通常在两个“主要”版本几周后完成,有时可能会缺少一些主要分支中中的一些“Mint”工具和其他功能。 Mint系列的另一个版本是基于Debian稳定版分支的“Debian版”。 Linux Mint的Debian版本提供了非常稳定的基础,而桌面软件包的更新速度比Mint的“主要分支”版本更快。 Linux Mint不适用软件自由原则,也不会发布安全公告。

优点:精心整理的内部开发的“Mint”工具,数百个用户友好的增强功能,包含多媒体编解码器缺点:“社区”版本,因此可能并不总是包含最新的功能。另外,项目不会发布安全建议软件包管理: mintInstall包管理器,使用DEB包(与Ubuntu兼容)可用的版本:“主”版本(MATE和Cinnamon桌面),“社区”版本(KDE和Xfce桌面),Linux Mint“Debian”版本(MATE或Cinnamon桌面)替代选择:Ubuntu, elementary OS, Zorin OS, Lubuntu, Xubuntu, Peppermint OS

img

Ubuntu

Ubuntu的推出是在2004年9月首次宣布的。尽管这个项目在Linux发行版中是一个相对较新的,但是它的邮件列表很快就被热情的用户和开发人员所占领。随后的几年中,Ubuntu发展成为最受欢迎的桌面Linux发行版,并为开发易于使用和免费的桌面操作系统做出了巨大贡献,该操作系统成为市场上专有桌面操作系统强有力的竞争者。

Ubuntu成功的原因是什么?首先,这个项目是由南非千万富翁,前Debian开发人员和全球第二位太空游客Mark Shuttleworth共同创建的,该公司是位于马恩岛的Canonical Ltd公司,目前正在为该项目提供资金。其次,Ubuntu从其他类似项目的错误中吸取教训,并从一开始就避免了这些错误 – 它创建了一个优秀的基于Web的基础架构,其中包含Wiki风格的文档,创造性的bug报告功能以及专业的管理方法。第三,由于其富有的创始人,Ubuntu能够向所有感兴趣的用户免费发送CD,从而有助于分发的快速普及。

在技术方面,Ubuntu基于Debian“Sid”(不稳定分支),但是使用的是GNOME,Firefox和LibreOffice等一些著名软件包的最新版本。它使用称为“Unity”独创的用户界面。它具有可预测的6个月发布时间表,外加一个长期支持(LTS)版本,支持5年的安全更新,具体取决于版本(非LTS版本支持9个月)。 Ubuntu的其他特殊功能包括可安装的Live DVD,独占应用和桌面主题,Windows用户的迁移助理,支持3D桌面效果等最新技术,为ATI和NVIDIA图形卡以及无线网络轻松安装专有设备驱动程序,并为非免费或专利设计的媒体编解码器提供按需支持。

优点:固定发布周期和支持期; 具有5年安全更新的长期支持(LTS)变体;新手友好; 丰富的文档,官方和用户无私贡献缺点:与Debian有一定的兼容性问题; 频繁的重大更新可能流失一些用户,Unity用户界面被批评为更适合移动设备,而不是电脑; 非LTS版本只有9个月的安全支持软件包管理:使用DEB包的高级包工具(APT)其他衍生版:Ubuntu,Kubuntu,Xubuntu,Lubuntu,Ubuntu GNOME,Ubuntu MATE,Ubuntu Budgie,Ubuntu Kylin,适用于64位(x86_64)处理器的Ubuntu Studio;基于Ubuntu的发行版: Linux Mint (桌面版本), elementary OS (桌面版本), Zorin OS (桌面版本), Pinguy OS (桌面版本),Trisquel GNU/Linux (自由软件), Bodhi Linux (Enlightenment桌面)

img

Debian GNU / Linux

Debian GNU / Linux于1993年首次公布。它的创始人Ian Murdock的初始想法是在空闲时间创建一个由数百名志愿者开发的完全非商业项目。当时怀疑论者远远超过乐观主义者,似乎注定要夭折收尾,但实际情况却恰恰相反。 Debian不仅幸存下来,而且还在不到十年的时间里成为了最大的Linux发行版,也是有史以来创建的最大的协作软件项目!

Debian GNU / Linux的成功可以用下面的数字来说明。它由1000多名志愿者开发,它的软件库包含近50,000个二进制包(编译为8个处理器架构),有120个基于Debian的发行版和live CD。这些数字是任何其他基于Linux的操作系统无法比拟的。 Debian主要有三个主要分支(或四个,如果包括增加稳定性的“实验”分支):“unstable”(也称为“sid”),“testing”和“stable ”。软件包和功能的逐步整合和稳定性,以及项目完善的质量控制机制,使得Debian获得了今天可用的最佳测试和无缺陷发行版之一的声誉。

然而,这种冗长而复杂的开发风格也有一些缺点:Debian的稳定版本并不是特别新,特别是因为新的稳定版本每1 – 3年才会发布一次。那些喜欢最新软件包和技术的用户被迫使用Debian testing(测试)或unstable(不稳定)分支。 Debian高度民主的结构导致了有争议的决定,并引发了开发者之间的分歧。这导致了项目的停滞不前,没有能将项目快速推进。

优点:非常稳定;卓越的质量控制;包括超过30,000个软件包;支持比任何其他Linux发行版更多的处理器体系结构缺点:保守 – 由于支持许多处理器架构,并不总是包含更新的技术;缓释周期(每1 – 3年稳定释放一次);对开发者邮件列表和博客的讨论有时是不可能的软件包管理:使用DEB包的高级包工具(APT)可用的版本:12个处理器架构的安装CD/DVD和live CD映像,包括来自Intel,AMD,Power和其他所有32位和64位处理器基于Debian的替代方案:Ubuntu, SparkyLinux(Enlightenment, JWM, LXDE, MATE, Openbox, Razor-qt, Xfce桌面), SolydXK (Xfce或KDE), KNOPPIX (LXDE), Tanglu(GNOME, KDE), siduction (LXQt)

img

Mageia

Mageia可能是这个列表中的最新发行版,但它的来源可以追溯到1998年7月,当时GalDuval发布了Mandrake Linux。当时它只是一个红帽Linux的分支,KDE作为默认的桌面,更完善的硬件支持和一些用户友好的功能,加上媒体的积极评论,它获得了一定的知名度。Mandrake Linux后来变成了一个商业版本,并在2010年几乎破产之前更名为Mandriva(为了避免一些与商标有关的麻烦,并纪念与巴西的Conectiva合并),最终由一家俄罗斯风险投资公司拯救了,新管理层因为巨大的开支而决定在该公司巴黎总部裁减大部分的Mandriva开发人员。在没有工作的情况下,他们决定组建一个Mageia,这个社区项目是Mandrake和Mandriva的核心延续,或许比Mandriva本身更为合理。

Mageia主要是一个桌面版本。其最受欢迎的功能是最优秀的软件应用,精良的系统管理套件(Mageia控制中心),吸引了大量志愿者贡献者以及广泛的国际化支持。它具有最简单但功能强大的系统安装程序之一,同时还可以使用KDE或GNOME桌面和全面的语言支持。而且可以来直接从桌面安装系统,无需刻录到U盘。该发行版具有良好的软件包管理功能,具有强大的命令行选项和图形化软件管理模块,可以轻松访问数千个软件包。独特的Mageia控制中心随着每个版本的不断改进,为Linux的新手提供了一个强大的工具来配置他们的计算机的任何方面,而无需使用终端命令行。

尽管Mageia自2010年9月成立以来一直处于起步阶段,但仍有人担心其是否有能力维持长期开发的工作,毕竟大部分工作是由志愿者在完成的。此外,它缺乏一些更大的Linux发行版的完善的基础架构。项目的文档也需要做一些改进,而9个月的发布周期在引起新闻和媒体兴趣方面也可以被视为一个缺点,特别是与其他使用6个月的短期开发过程的主要发行版相比。

优点:适合初学者;优秀的中央配置工具;支持数十种语言的开箱即用支持;可安装的Live镜像缺点:与Mandriva分开之后,缺乏声誉和资源,有人担心开发者没有能力长期维持开发软件包管理:使用RPM软件包,Rpmdrake(URPMI的图形前端)的URPMI包管理器可用版本:用于32位(i586)和64位(x86_64)处理器的安装DVD;可安装32位(i586)处理器的live CD

其他选择:OpenMandriva,ROSA

img

Fedora

虽然Fedora仅在2004年9月才正式发布,但它的起源可追溯到1995年,当时它是由Bob Young和Marc Ewing以Red Hat Linux的名义发布的。该公司的第一款产品Red Hat Linux 1.0“母亲节”在同一年发布,之后很快又进行了一些错误修复更新。 1997年,红帽公司推出了革命性的RPM软件包管理系统,具有依赖解决方案和其他先进功能,极大地促进了分发的迅速普及并超越Slackware Linux成为世界上使用最广泛的Linux发行版。在以后的几年中,红帽将按照正常的6个月发布时间表进行开发。

在2003年刚发布Red Hat Linux 9之后,该公司对其产品系列进行了一些根本性的改变。它保留了红帽商业产品的商标,特别是红帽企业Linux,并引入了Fedora Core(后来改名为Fedora),这是一个红帽赞助的,但面向社区的发行版,专为“Linux爱好者”设计。从刚开始的批评后,Linux社区接受了“新的”发行版作为Red Hat Linux的核心延续版本。 Fedora重新成为一个高质量的版本,成为市场上最受欢迎的操作系统之一。与此同时,红帽公司迅速成为全球规模最大,盈利能力最强的Linux公司,拥有创新的产品阵容,出色的客户支持以及红帽认证工程师(RHCE)认证计划等其他受欢迎的计划。

尽管Fedora的方向仍然由Red Hat,Inc.主要控制,并且该产品有时被看作是对红帽企业Linux的测试平台(小白鼠),无论是正确的还是错误的,无可否认,Fedora是最具创新性的分发版之一。它对Linux内核,glibc和GCC的贡献是众所周知的,它最近集成了SELinux功能,虚拟化技术,系统服务管理器,先进的日志文件系统以及其他企业级功能, 。不利的一面是,Fedora仍然缺乏明确的面向桌面的策略,以使产品更容易用于“Linux爱好者”目标以外的用户。

优点:高度创新;突出的安全功能;大量支持的软件包;严格遵守自由软件的理念;具有许多流行桌面环境的Live CD的可用性缺点:Fedora的优先级倾向于倾向于企业功能,而不是桌面可用性;一些出色的边缘功能,比如早期切换到KDE 4和GNOME 3,偶尔会疏远一些桌面用户软件包管理:使用RPM软件包的YUM图形和命令行工具可用的版本:用于32位(i386)和64位(x86_64)处理器的Fedora;还有GNOME,KDE,LXDE,MATE和Xfce桌面的CD版本基于Fedora的替代方案:Korora(GNOME,KDE,LXDE桌面或Xfce桌面的Live DVD)基于红帽的备选方案:CentOS,Scientific Linux

img

openSUSE

openSUSE的诞生始于1992年,当时四位德国Linux爱好者Roland Dyroff,Thomas Fehr,Hubert Mantel和Burchard Steinbild以SuSE(Software und System Entwicklung)Linux的名义推出了该项目。在早期,这家年轻的公司出售了一套包含德语版Slackware Linux的软盘,但是在SuSE Linux于1996年5月成为独立发行版4.2之后不久,在随后的几年里,开发人员采用了RPM软件包管理格式,并推出了易于使用的图形系统管理工具YaST。在欧洲和北美地区,SuSE Linux的发布频繁,出色的文档和易用性使得发行日益受到欢迎。

SuSE Linux于2003年底被Novell收购,然后于2010年并入Attachmate。随着第一次收购,SUSE Linux的开发,许可和可用性发生了重大变化 – YaST在General Public许可证(GPL)中,ISO映像是从公共下载服务器免费发布的,最重要的是,发行版的开发首次向公众开放。自从2005年10月发布openSUSE项目并发布10.0版本以来,这个发行版就变得完全免费了。 openSUSE代码已成为Novell商用产品的基础系统,首先命名为Novell Linux,后来又重新命名为SUSE Linux Enterprise Desktop和SUSE Linux Enterprise Server。

今天,openSUSE拥有大量满意的用户。 openSUSE获得用户好评的主要原因是令人愉悦和精美的桌面环境(KDE和GNOME),卓越的系统管理工具(YaST)。然而,Novell和微软之间的臭名昭着的交易,显然承认微软对Linux拥有知识产权的说法,已经引起许多Linux人士的谴责,并促使一些用户转换发行版。尽管Novell低调处理,微软尚未行使任何权利,这一问题仍然成为非常友善的社区Linux公司的郁结。

优点:全面而直观的配置工具;大型软件包库,优秀的网站基础设施和印刷文档缺点:2006年11月,Novell与微软的专利协议似乎使微软对Linux的知识产权声称合法化;其资源沉重的桌面设置和图形工具有时被视为“臃肿和缓慢”软件包管理:使用RPM包的YaST图形和命令行实用程序可用的版本:openSUSE for 32位(i386),64位(x86_64)处理器(也可安装live CD版);适用于i586,IA64,PowerPC,s390,s390x和x86_64体系结构的SUSE Linux Enterprise Desktop/Server

img

Arch Linux

Arch Linux的KISS(保持简单愚蠢)哲学是在2002年由加拿大计算机科学专业毕业生Judd Vinet在2002年推出的,几年来,它一直是一个为中级和高级Linux用户设计的边缘项目。但是它“滚动更新”,只需要安装一次,然后保持一直更新,不要从头安装新的系统。这都要感谢其强大的包管理器和一个总是最新的软件库。因此,Arch Linux的“发行版”很少,而且现在只限于一个基本的安装光盘,只有在基本系统发生相当大的变化时,才会发行新的安装介质。

Arch Linux除了拥有备受推崇的“滚动发布”更新机制之外,还以其快速和强大的软件包管理器“Pacman”而闻名,能够从源代码安装软件包,并且由于其AUR基础架构,以及经过充分测试的软件包不断增加的软件库。其高度重视的文档,以及卓越的Arch Linux手册,使得一些高级Linux用户可以自行安装和定制分发。用户可以使用的强大工具意味着发行版可以无限定制到最细微的细节,并且没有两个安装可能是相同的。

不利的一面是,任何滚动更新更新机制都有其危险性:人为错误,库或依赖关系丢失,已存在于存储库中的应用程序的新版本有一个尚未报告的严重错误都可能导致系统的不稳定。在Pacman升级之后,最终导致无法启动的系统是经常遇到的。因此,Arch Linux是一种需要用户警觉并具有足够的知识来解决任何这种可能的问题的发行版。此外,偶尔安装的发行版意味着有时由于重要的系统更改或在较早的Linux内核中缺少硬件支持而无法使用旧版本。

优点:优秀的软件管理基础设施无与伦比的定制和调整选项;一流的在线文档缺点:偶尔会出现不稳定和风险软件包管理:使用TAR.XZ软件包的“Pacman”包管理器可用的版本:64位(x86_64)处理器的最小安装CD和网络安装CD映像基于Arch Linux的发行版:Manjaro Linux(与Cinnamon,Enlightenment,KDE,LXDE,MATE,Openbox,Xfce一起使用),Antergos(与GNOME 3一起使用),ArchBang Linux(使用Openbox的轻量级),Chakra GNU / Linux (使用KDE的Live CD),Bridge Linux(使用GNOME,KDE,LXDE和Xfce),Parabola GNU / Linux(免费软件),KaOS(使用KDE)

img

centos

CentOS于2003年底推出,是一个社区项目,目标是将红帽企业Linux(RHEL)的源代码重建为可安装的Linux发行版,并为所有包含的软件包提供及时的安全更新。更直白地说,CentOS是一个RHEL克隆版。这两个发行版之间唯一的技术差异就是品牌 – CentOS用自己的所有代码取代了所有的红帽商标和标识。尽管如此,红帽与CentOS之间的关系仍然保持友好,许多CentOS开发者与Red Hat保持着紧密的联系,甚至直接受雇于Red Hat。

CentOS经常被看作是一个可靠的服务器发行版。它配备了经过良好测试和稳定的Linux内核和软件包,构成了其母公司Red Hat Enterprise Linux的基础。尽管是志愿者维护的一个社区项目,但它已经赢得了市场上更高端服务器产品(尤其是经验丰富的Linux系统管理员)的稳定,免费替代品的声誉。 CentOS也适合作为企业桌面解决方案,特别是在稳定性,可靠性和长期支持优于最新软件和功能的地方。像RHEL一样,CentOS支持大约7 – 10年的安全更新。

尽管有其优势,CentOS可能不是所有部署方案中的最佳解决方案。那些喜欢使用最新的Linux技术和最新的软件包进行发布的用户应该到别处去看看。主要的CentOS版本是在RHEL版本的基础上发布的,每2 – 3年才会发布一次,而小版本(例如5.1)则以6到9个月为间隔。小发行通常不包含任何主要功能(虽然有时包括支持更新的硬件),只有少数软件包可能会更新到新版本。 Linux内核,基本系统和大多数应用程序版本保持不变,但偶尔也可以在试验的基础上提供重要软件包(例如LibreOffice或Firefox)的新版本。当然也有一个分支项目,CentOS也为其发行版的用户构建了更新的软件包,但是包含它们的软件库默认是不启用的,因为它们可能会破坏上游的兼容性。

优点:非常稳定和可靠;免费下载和使用;有7年以上的免费安全更新;缺点:缺乏最新的Linux技术;有时该项目未能履行其及时提供安全更新和新稳定版本的承诺软件包管理:使用RPM软件包的YUM图形和命令行工具可用版本:用于i386和x86_64处理器的安装DVD和可安装的Live CD(GNOME);旧版本(3.x和4.x)也可用于Alpha,IA64和IBM z系列(s390,s390x)处理器。其他RHEL克隆和基于CentOS的发行版:Scientific Linux,Springdale Linux,SME服务器,Rocks Cluster Distribution,Oracle Enterprise Linux

img

PCLinuxOS

PCLinuxOS于2003年由比尔·雷诺兹(Bill Reynolds)首先宣布,被称为“Texstar”。在创建自己的发行版之前,Texstar已经是Mandrake Linux社区用户的知名开发人员构建的最新的RPM包,并提供免费下载。 2003年,他决定建立一个新的发行版,最初基于Mandrake Linux,但有几个显著的可用性改进。理念是应该对初学者是友好的,具有专有内核模块,浏览器插件和媒体编解码器的开箱即用的支持,并应作为一个简单直观的图形安装程序的Live CD。

几年后的发展,PCLinuxOS正在迅速接近其预期的状态。就可用性而言,该项目为大多数Windows到Linux移民希望从他们的新操作系统中获得的许多技术提供了开箱即用的支持。在软件方面,PCLinuxOS是一个面向KDE的发行版,具有定制且始终最新版本的流行桌面环境。不断增长的软件存储库包含其他桌面,并为许多常见任务提供各种各样的桌面软件包。对于系统配置,PCLinuxOS保留了很多Mandriva优秀的控制中心,但是用APT和Synaptic(一个图形化的包管理前端)取代了它的包管理系统。

不利的一面是,PCLinuxOS缺乏任何形式的路线图或发布目标。尽管越来越多的社区参与这个项目,大多数的发展和决策仍然掌握在Texstar的手中,他们在判断发布的稳定性时倾向于保守的一面。因此,PCLinuxOS的开发过程往往是艰巨的。例如,尽管频繁要求64位版本,但开发者直到最近才开始生产64位版本。此外,该项目不提供任何安全建议,而是依靠用户通过所包括的管理工具保持系统最新的状态。

优点:对图形驱动程序,浏览器插件和媒体编解码器的开箱即用支持;滚动更新机制;最新的软件缺点:对非英语语言没有开箱即用的支持;缺乏发布计划和安全建议软件包管理:使用RPM包的高级包工具(APT)可用的版本:KDE,完整的Monty,KDE Minime,LXDE,LXDE Mini,Openbox,Openbox盆景,用于64位(x86_64)处理器体系结构的KDE

img

Slackware Linux

由Patrick Volkerding于1992年创建的Slackware Linux是现存最古老的Linux发行版。从现在停止开发的SLS项目中分离出来,Slackware 1.0拥有24个软盘,并建立在Linux内核版本0.99pl11-alpha之上。它很快成为最受欢迎的Linux发行版,据估计1995年其市场份额占所有Linux安装量的80%。随着Red Hat Linux和其他更友好的发行版的出现,其受欢迎程度急剧下降,但Slackware Linux仍然是面向更技术导向的系统管理员和桌面用户的一个备受赞赏的操作系统。

Slackware Linux是一个高度技术性的,干净的发行版,只有非常有限的自定义实用程序。它使用一个简单的,基于文本的系统安装程序和一个比较原始的软件包管理系统,它不能解决软件依赖问题。因此,Slackware被认为是目前可用的最干净和最不稳定的发行版之一 – 缺乏特定于Slackware的增强功能可以降低新问题引入系统的可能性。所有配置都是通过编辑文本文件完成的。 Linux社区有一种说法,如果你学习红帽,你就会认识红帽,但是如果你学习了Slackware,你就会知道Linux。今天尤其如此,当许多其他Linux发行版继续开发大量定制产品以满足技术较少的Linux用户的需求时。

虽然这种简单的理念有其迷,但事实是,在当今世界,Slackware Linux越来越成为构建新的定制解决方案的“核心系统”,而不是具有各种支持的软件的完整发行版。唯一的例外是服务器市场,Slackware仍然很受欢迎,虽然在这里,发行版的复杂升级过程和缺乏官方支持的安全更新自动化工具使得它日益失去竞争力。 Slackware对系统基本组件的保守态度意味着它需要大量的手动安装后工作,才能被调整到现代桌面系统。

优点:高度稳定,干净,基本上没有错误,坚决遵守UNIX原则缺点:正式支持的应用程序数量有限;在基础包选择方面保守;复杂的升级程序软件包管理:使用TXZ软件包的“pkgtool”可用版本:适用于32位(i486)和64位(x86_64)处理器的安装CD和DVD基于Slackware的替代品:Zenwalk Linux(桌面),Salix(桌面,Live CD),Porteus(带有KDE,LXDE,MATE,Razor-qt或Xfce的live CD),VectorLinux其他类似发行版本:Arch Linux,Frugalware Linux

img

FreeBSD

FreeBSD是AT&T UNIX通过Berkeley Software Distribution(BSD)的间接后裔,它的历史可以追溯到1993年。与Linux发行版不同,Linux发行版被定义为由Linux内核和数千个软件应用程序组成的集成软件解决方案, 而FreeBSD是一个紧密集成的操作系统,由BSD内核和所谓的“用户空间”构成(因此即使没有额外的应用程序也可以使用)。一旦安装在普通的计算机系统上,这种区别就不明显了 – 就像许多Linux发行版一样,大量易于安装的(大部分)开源应用程序也是可支持FreeBSD核心。

FreeBSD已经发展成为一个快速,高性能和非常稳定的操作系统,尤其适用于Web服务和类似的任务。许多具有关键任务计算基础设施的大型网络搜索引擎和组织已经在他们的计算机系统上部署和使用FreeBSD多年。与Linux相比,FreeBSD是在一个限制少得多的许可证下分发的,它允许为任何目的而实际上不受限制的重用和修改源代码。即使是苹果公司的Mac OS X也是从FreeBSD派生出来的。除了核心操作系统之外,该项目还提供了超过24,000个二进制和源代码形式的软件应用程序,以方便安装在FreeBSD核心上。

虽然FreeBSD当然可以用作桌面操作系统,但是它与这个部门中流行的Linux发行版并没有很好的比较。文本模式系统安装程序在硬件检测或系统配置方面提供的功能很少,在安装后的设置中将大部分配置工作留给了用户。在对现代硬件的支持方面,FreeBSD通常落后于Linux,尤其是在支持诸如无线网卡或数码相机等,高端的台式机和笔记本电脑方面。那些试图在桌面或工作站上开发项目的用户,以充分利用FreeBSD的速度和稳定性,而不是FreeBSD本身。

优点:快速稳定;安装24000多个软件应用程序(或“端口”)的可用性;非常好的文档缺点:在支持新颖和异乎寻常的硬件方面,往往落后于Linux,商业应用程序的可用性有限;缺少图形化配置工具软件包管理:使用二进制包或基于源的“端口”(TBZ)的完整命令行包管理基础架构,可用版本:用于AMD64,ARM / ARMEL,i386,IA64,MIPS / MIPSEL,PC98 PowerPC,SPARC64和Xbox处理器的安装CD基于FreeBSD的替代方案:PC-BSD(桌面),GhostBSD(带有GNOME的live DVD)其他BSD的替代品:OpenBSD,NetBSD,DragonFly BSD

img

centos镜像
链接:https://pan.baidu.com/s/1yiExTXdBjYZLath0It6zTw 
提取码:7pff 

2:linux文件操作命令

查看文件

cd 切换目录位置

ls 目录 查看指定目录所有文件 --缺省当前目录

ls -l 目录 查看指定目录所有文件的详细信息 --同 ll 命令

ls -a 目录 查看指定目录所有文件(包含隐藏文件)

ls -la 目录 查看指定目录所有文件的详细信息(包含隐藏文件) --同 ll -a 命令

ls -lh 目录 查看指定目录所有文件的详细信息(显示文件大小单位,人性化) --同 ll -h命令

cat 文件 查看文件全部(内容较少)

more 文件 翻页查看(内容很多) --空格(下一页) b(上一页)

less 文件 翻页查看(内容很多) --不仅可以翻页,还可以翻行查看

tail -行数f 文件 显示最后几行(行数) --适合用来查看log日志文件

head -行数 文件 显示开头几行(行数)

grep -v 字符 文件 查看文件,过滤显示, -v 是过滤排除, 字符作用是指包含该字符的行不显示, 多个字符用"[abc]"

grep -E(i) 字符 文件 查看文件,过滤多个项, -E "a|b|c"; -Ei "A|b|C" 忽略大小写. 注:grep -E命令 == egrep命令

grep 字符 文件 查看文件,过滤显示, 字符作用是指包含该字符的行才显示, 多个字符用"[abc]" --与-v相反

sed -n /字符/p 文件 查看文件,过滤显示, 字符作用是指包含该字符的行才显示, 多个字符用"[abc]"

sed -n 数字,数字p 文件 查看文件 指定行号的内容

awk -F "分隔符" '{print $0}' 文件名 查看文件, 指定分隔符, 显示分隔后的列 "$0" 表示显示整行, 1表示第一列,以此类推

查找文件

find 目录 文件名 查找文件

find 目录 -type f -name 文件名 查找文件,指定查找的类型 f 表示文件

find 目录 -type f -name 文件名 | xargs rm -f 把查找出来的文件删除

创建文件

touch 文件名 创建文件

mkdir 目录名 创建目录(文件夹)

mkdir -p 目录名/目录名/目录名 递归创建目录

ln -s 目标文件 链接文件 创建链接文件 (软连接,目标文件不能删除)

ln 目标文件 链接文件 创建链接文件(硬链接,目标文件可以删除,删了一样可以访问, 相当于copy了一份)

编辑文件

echo "内容" > 文件名 文件不存在,则创建文件,文件存在,则覆盖原文件内容

echo "内容" >> 文件名 追加内容, 问价不存在则自动创建

vi 文件名 进入编辑模式

移动文件(重命名)

mv 文件名 目录名 移动文件到指定目录下

mv 文件名 新文件名 在源目录下移动,相当于重命名

mv 文件名 指定目录下文件名 将文件移动到指定目录下,并创建新文件

删除文件

rmdir 目录名 删除空目录

rm 文件 删除文件(默认有提示)

rm -f 文件 强制删除(无提示)

rm -r 目录 有提示 递归删除

rm -rf 目录 递归删除该目录下所有的文件和目录

复制文件(copy)

cp 文件名 指定目录 copy文件到指定目录

cp 文件名 新文件名 copy文件到指定目录并创建新文件

cp -r 目录名 目标目录名 copy目录到指定目录(该目录下的所有东西都会被copy)

\cp 文件名 指定目录 copy文件到指定目录(没有提示,直接覆盖)

文件比较

diff 文件1 文件2 比较两个文件内容 (只能自己看内容比较)

vimdiff 文件1 文件2 比较两个文件内容(不一样的内容会高亮)

下载文件

wget 文件链接 远程下载文件

3:linux网络操作命令

3.1:网络设备操作命令

1. hostname

hostname 没有选项,显示主机名字

hostname –d 显示机器所属域名

hostname –f 显示完整的主机名和域名

hostname –i 显示当前机器的 ip 地址

2. ping

ping 将数据包发向用户指定地址。当包被接收,目标机器发送返回数据包。ping 主要有两个作用:

  • 用来确认网络连接是畅通的。

  • 用来查看连接的速度信息。

如果你 ping zhangge.net 它将返回它的 ip 地址 。你可以通过 ctrl+C 来停止命令。

3. ifconfig

查看用户网络配置。它显示当前网络设备配置。对于需要接收或者发送数据错误查找,这个工具极为好用。

4. iwconfig

iwconfig 工具与 ifconfig 和 ethtool 类似。是用于无线网卡的 . 你可以用他查看设置基本的 Wi-Fi 网络信息,例如 SSID, channel 和 encryption.还有其他很多配置你也可以查看和修改,, 包括 接收灵敏度, RTS/CTS, 发送数据包的分片大小,以及无线网卡的重传机制。

5. nslookup

nslookup 这个命令在 有 ip 地址时,可以用这个命令来显示主机名,可以找到给定域名的所有 ip 地址。而你必须连接到互联网才能使用这个命令。

例子. nslookup marsge.cn

你也可以使用 nslookup 从 ip 获得主机名或从主机名获得 ip。

6. traceroute

一个方便的工具。可用来查看数据包在提交到远程系统或者网站时候所经过的路由器的 IP 地址、跳数和响应时间。同样你必须链接到互联网才能使用这个命令。

7. finger

查看用户信息。显示用户的登录名字、真实名字以及登录终端的名字和登录权限。这是 unix 一个很老的命令,现在已很少使用了。

8. telnet

通过 telnet 协议连接目标主机,如果 telnet 连接可以在任一端口上完成即代表着两台主机间的连接良好。 telnet hostname port – 使用指定的端口 telnet 主机名。这通常用来测试主机是否在线或者网络是否正常。

9. ethtool

ethtool 允许你查看和更改网卡的许多设置(不包括 Wi-Fi 网卡)。你可以管理许多高级设置,包括 tx/rx、校验及网络唤醒功能。下面是一些你可能感兴趣的基本命令:

ethtool -i 显示一个特定网卡的驱动信息,检查软件兼容性时尤其有用

ethtool -p 启动一个适配器的指定行为,比如让适配器的 LED 灯闪烁,以帮助你在多个适配器或接口中标识接口名称

ethtool -s 显示网络统计信息

ethtool speed <10|100|1000> 设置适配器的连接速度,单位是 Mbps

10. netstat

发现主机连接最有用最通用的 Linux 命令。你可以使用”netstat -g”查询该主机订阅的所有多播组(网络)

netstat -nap | grep port 将会显示使用该端口的应用程序的进程 id

netstat -a or netstat –all 将会显示包括 TCP 和 UDP 的所有连接

netstat –tcp or netstat –t 将会显示 TCP 连接

netstat –udp or netstat –u 将会显示 UDP 连接

netstat -g 将会显示该主机订阅的所有多播网络。

11.ifup

ifup命令用于重新启动指定的网络设备。ifup命令的格式为:ifup 网络设备文件名。

12.ifdown

ifdown命令用于关闭指定的网络设备。ifdown命令的格式为:ifdown 网络设备文件名。

13.mii-tool

mii-tool命令用于查看或修改指定网卡的通信协商方式。

14.route

route命令用于查看或修改主机和网络的路由信息。

15.service

service命令能够将目录“/etc/init.d/”中有关网络服务或系统服务脚本程序以一种统一的格式执行,格式为:“service 脚本程序 选项”,常用选项有:status、stop、start、restart。

16.ftp

ftp:既能操作服务器文件又能下载服务器文件 使用 ftp 复制或传送文件 ftp(File Transfer Protocol)允许用户对远地主机复制文件,用户毋须考虑操作系统类型,即能向或从任何具有 TCP/IP 的系统复制文件。 ftp命令允许复制目录中的一个文件或所有文件,但不能复制多层 次目录。使用ftp时, 必需在远地主机上设有帐户。 当 ftp 注册到远地系统时,并未得到 shell ,而是通过 ftp 命令解释程序同远地主机进行通讯。

3.2:网络配置文件操作

1、vi /etc/sysconfig/network :这是一个重要的网络配置文件NETWORKING=YES :是否允许IPv4

NETWORKING_IPV6=YES :是否允许IPv6

HOSTNAME=RHEL :配置主机名

GATEWAY=192.168.202.1 :配置IPv4网关

 

2、vi /etc/sysconfig/network-scripts/ifcfg-eth0 :这是第一个以太网卡的配置文件

DEVICE=eth0 :设备名称

BOOTPROTO=static :地址获取方式:静态配置

BROADCAST=192.168.202.255 :IPv4广播地址

HWADDR=00:0C:29:97:2B:B8 :MAC地址

IPADDR=192.168.202.5 :IPv4地址

IPV6ADDR=2001::5/64 :IPv6地址

IPV6INIT=yes :是否开机时启用IPv6配置

IPV6_AUTOCONF=no :是否使用IPv6地址的自动配置

NETMASK=255.255.255.0 :IPv4子网掩码

NETWORK=192.168.202.0 :IPv4网络地址

ONBOOT=yes :是否开机时启用IPv4配置

 

重新启动网络 service network restart

 

3、vi /etc/resolv.conf :这是DNS服务器配置文件

nameserver 192.168.202.5 :配置主DNS服务器

nameserver 219.146.0.130 :配置辅DNS服务器

 

4、ifconfig :显示或修改IP地址配置

 

5、route:显示路由表,配置静态路由

route add -net 172.16.0.0 netmask 255.255.0.0 dev eth0

添加了一条静态路由,目标网络为172.16.0.0,子网掩码为255.255.0.0,本地出口为eth0 。

 

6、ip:强大的命令

ip address show:显示IP地址配置信息

ip address add 192.168.202.10 dev eth0:给eth0网卡添加一个IP地址

ip address del 192.168.202.10 dev eth0:删除IP地址

ip route show :显示路由表

ip route add 172.20.10.0/24 dev eth0:使用本地出口配置静态路由

ip route add 172.20.20.0/24 via 192.168.202.1:使用下一条IP地址配置静态路由

 

7、ping:发送ICMP echo request测试网络连通性

ping 192.168.202.1 :按Ctrl+C结束ping

 

8、traceroute:发送递增TTL数据包跟踪网络路由

traceroute -n 219.146.0.130:显示到达219.146.0.130经过的所有路由器接口地址,不解析域名

 

9、netstat:显示TCP/UDP/IP网络连接信息

netstat -nutlp:显示本机所有监听连接

netstat -anutlp:显示所有网络连接socket

4:进程与服务

4.1:进程操作命令

  • pstree: 以树状图的方式展现进程

  • ps: 报告当前系统的进程状态

  • pgrep: 以名称为依据从运行进程队列中查找进程,并显示查找到的进程id

  • pidof: 查找正在运行进程的PID

  • uptime: 显示系统总共运行了多长时间和系统的平均负载

  • free: 显示当前系统 未使用的内存空间,已使用的内存空间,内核使用的内存缓冲区

  • kill:结束或杀死进程

4.2:服务操作命令

  • top:显示系统中程序得执行状态

  • vmstat:监视虚拟内存

  • ipcs:分析共享内存、信号量和消息队列

这篇关于2.8 linux发展历史的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!