linux发行版


使用lsb_release -a查看linux的发行版本:

                [initroot@study ~]$ lsb_release -a
                No LSB modules are available.
                Distributor ID: LinuxMint
                Description: Linux Mint 19.1 Tessa
                Release: 19.1
                Codename: tessa
              

1.linux操作系统的组成

回到顶部

linux操作系统由bootloader、kernel内核、init进程(systemd,属于守护进程)、daemons守护进程、graphical server(属于守护进程)、桌面环境、应用软件、说明文档Documentations等组成。
人们已经习惯了用Linux来表示整个基于Linux内核的操作系统,但严格来讲,Linux本身只表示Linux内核。
linux的启动流程可以简单的描述为:
bios->bootloader->linux kernel->init->daemons->login、shell、desktop->app
计算器上电启动后,bios加载bootloader,bootloader加载kerner内核。内核加载成功后,bootloader从内存退出,留下内核驻留在内存中。 内核随后启动init进程,目前主流发行版的init进程已由systemd进程替代,init进程启动各个守护进程(常驻内存),并开启login、shell、桌面环境等。
至此一个完整的操作系统就呈现在用户面前了,用户可以启动自己的应用程序。
bios和bootloader在linux内核启动后就退出内存了,此时内存中的linux内核运行在内核空间,称为内核层;
剩下的init、daemons、login、shell、desktop、app等都运行在用户空间,统称为应用层。
此外用户空间的应用程序在运行的过程需要大量依赖各种函数库。

2.什么是linux发行版

回到顶部

以上这些和本文的主题linux发行版有什么关系呢?除了BIOS由计算机硬件厂商提供并固化到ROM中外,以上启动流程中涉及到的各个软件组件都有不同的版本可供选择。

常见的bootloader有grub、lilo、u-boot等;
虽然只有一种linux内核,但是也有多种内核版本可供选择;
init有传统的基于System V的sysinit和目前主流的systemd;
而daemons是各种不同守护进程的统称,这里涉及的软件成千上万;
常见的shell有bash、dash、C shell、tcsh、Korn shell等;
主流的桌面环境有KDE、GNOME、MATE、Cinnamon、Unity等;
而app就更是成千上万了,包括各种gnu工具链,比如软件开发编译工具gcc、make等,软件包管理工具apt、yum等,办公软件libreoffice,图像处理GIMP等,音视频播放软件media player,以及各种行业领域相关软件等等;
以上应用程序运行所依赖的各种函数库有glibc等;
以上大部分软件工具来自GNU计划。软件的多样化,给了用户极大的选择空间。不同的linux厂商在发行自己的操作系统的过程中, 就会选择不同的软件组合,或者集成自己开发的软件,从而产生了不同的linux发行版。
个人也可以根据需要组装自己的linux发行版,例如您可以使用这样的组合方式制作自己的linux发行版:grub+linux+systemd+daemons+bash+GNOME+apt

3.linux发行版目的

回到顶部

Linux严格来讲只是操作系统内核,由黑客工程师开发维护,用户大多是研发领域的工程师。
对普通用户并不友好,例如软件的安装需要从源码编译后安装,对于普通用户可能并不是很容易理解。
为了让linux的使用更加简单方便和人性化,很多商业公司、非营利性组织和社区团体等, 将Linux内核与应用软件以及自己开发的工具程序整合集成在一起发布给用户使用。
Linux发行版(Linux distribution,也叫GNU/Linux发行版)就是为了方便一般用户安装使用而预先集成好各种应用软件的Linux操作系统。 除了一些定制软件 (如安装和配置工具),发行版通常只是将特定的应用软件安装在一堆函数库和内核上,以满足特定用户的需求。
用户不需要重新编译,直接安装后只需小幅设置就可以使用。
Linux发行版通常包含了软件包管理工具、桌面环境(基于X Window)、办公套件、媒体播放器、数据库等应用软件,以及大量来自GNU计划的函数库。
有些发行版考虑到容量大小而没有预装X Window,并且使用更加轻量级的软件和函数库,如:busybox, uclibc或dietlibc。

4.linux发行版种类

回到顶部

由于大多数软件都是自由软件和开源软件,Linux发行版的形式多种多样——从功能齐全的桌面系统、服务器系统到小型嵌入式系统。
开发Linux distributions的社区和商业公司实在太多了,比较有名的有Red Hat, SuSE, Ubuntu, Fedora, Debian等. 目前有超过300个Linux发行版(Linux发行版列表https://distrowatch.com/),大部分都处于活跃的开发中。
流行的Linux发行版 各大厂商发布的linux发行版都可以从各自的官方网站免费下载安装,GNU GPL授权可以从事商业活动, 所以用户也可以从linux厂商购买linux发行版获得更多的服务支持。
下面是几个主流Linux distributions的官网网址:

Red Hat: http://www.redhat.com
SuSE: https://www.suse.com
Fedora: https://getfedora.org
CentOS: http://www.centos.org
Debian: http://www.debian.org
Ubuntu: http://www.ubuntu.com
Gentoo: http://www.gentoo.org
忽略图形界面的差异,各个发行版之间最大的不同就是软件安装方式的不同了。
相同:
(1)同样使用 http://www.kernel.org发布的linux内核;
(2)支持同样的标准,如FHS、LSB等;
(3)使用几乎相同的自由软件,例如GNU里面的 gcc/glibc/vi/apache/bind/sendmail... ;
(4)几乎相同的交互操作接口,例如bash/KDE/GNOME等。
不同:
(1)使用的 kernel 与各软件的版本可能会不同;
(2)各开发商加入的应用工具不同,使用的套件管理模式不同(dpkg 与 RPM)
Linux发行版族谱 根据软件包安装管理方式的不同,linux发行版主要分为两大阵营:
一种是以Red Hat为代表的RPM管理方式,包括Red Hat,Fedora, SuSE等;
一种是以Debian为代表的dpkg管理方式,包括Debian, Ubuntu, B2D等;
根据商业性质可以分为商业发行版和社区发行版。
商业发行版中的软件都是经过长时间测试的稳定版本,更适合企业生产环境使用,商业版也可以提供更优质的技术支持服务,降低企业风险!
商业发行版有Ubuntu(Canonical公司)、Fedora(Red Hat)、openSUSE(Novell)和Mandriva Linux等
社区发行版由自由软件社区提供支持,如Debian和Gentoo;
社区发布版通常会加入最新的软件,这些软件可能没有经过充分的测试,存在一些bug。 例如Fedora发布的软件集合经过一段时间的测试维护,足够稳定后才会被添加到Red Hat的发行版中。Fedora的软件经常更新,Red Hat的软件就较少更新。
也有发行版既不是商业发行版也不是社区发行版,如Slackware。

5.linux发行版的选择

回到顶部

这么多的linux发行版,到底该选择哪个学习使用呢?他们都有哪些区别呢? 是不是学习完一个发行版本还需要在重新学习另一个发行版呢?其实这些担心都是多余的。 虽然Linux的发行版众多,每个发行版也都有自己与众不同的特色。但总的来说不同发行版配套的软件都大同小异。
首先,所有的linux发行版内核都是http://www.kernel.org官网提供的Linux内核。各个发行版之间都会互相借鉴对方优秀的特色。 此外每个linux发行版都会遵循相应的标准规范,例如Linux Standard Base (LSB)标准、目录结构File system Hierarchy Standard(FHS)标准规范等。
FHS: http://www.pathname.com/fhs/
LSB: http://www.linuxbase.org/
每个发行版所整合的软件也几乎都是业界知名软件,例如网页服务Apache、电子邮件服务Postfix/sendmail、文件服务Samba等。 所以基本上只要掌握了一种发行版,也会很快上手其他的发行版。
各主流发行版之间最大的不同其实就是软件安装的方式,以及图形界面的布局设计以及美观程度。只需要根据自己的喜好选择自己喜欢的linux发行版即可。

资深发烧友级别玩家可以从linux内核一步一步构建起linux操作系统! 关于这方面的内容可以参考LFS(Linux From Scratch)文档:http://www.linuxfromscratch.org/lfs/
这并不适合绝大部分的企业或个人环境,合理的做法是选择一款主流的linux发行版进行安装!
如果将Linux主机定位为服务器的话,可以选择Red Hat Enterprise Linux和SuSE Enterprise Linux。
企业强调的是稳定的生产环境,如果财力预算充足,建议选择商业发型版,例如Red Hat的RHEL或者SuSE等。
对于财力有限的企业或个人,为了满足稳定性的要求,可以选择社区发行,但号称完全兼容商业版RHEL的CentOS。 CentOS是由RHEL发布的源代码编译而来,理论上和商业版的RHEL没有任何区别。国内企业用的最多的发行版就是centos了。
个人用户选择的空间就很大了,可以随便放肆玩了。不过个人用户往往财力有限,所以还是建议选择社区发布的linux发行版,例如Fedora, Ubuntu, OpenSuSE等。 目前很多linux发行版的桌面环境也都做的非常炫酷,可以自由下载体验。 如果不想要安装Linux,很多发行版也提供了Live CD版本,不需要安装就可以直接体验linux!(KNOPPIX?)
对于没有额外的硬盘或者是没有额外的主机的朋友来说,只需要下载Live CD版镜像文件,刻录成为CD,放入主机的光驱, 并在BIOS内设定光盘为第一个开机选项,就可以使用Linux系统了!
先学习以RPM套件管理为主的RHEL/Fedora/SuSE/CentOS等。如果已经接触过Linux, 想要深入探讨更严谨的Linux版本,可以考虑Debian。
如果优先考虑效能,或许Gentoo是不错的选择!
本站讨论的linux技术并不会限制在某个发行版,当然本站所讲解的命令主要是在linux mint和centos这两个发行版中测试通过! 总之,只要熟练掌握一种发行版的使用,就可以非常顺利的使用其他的发行版了。最终到底选择哪个发行版,那就看自己的口味了!
本站选择目前主流的两个linux发行版进行介绍,一个是centos,另一个是linux mint。 CentOS完全兼容RHEL, 目前最新版CentOS 7.1版。从CentOS 7.0版本开始,已经不再提供386兼容版本, 仅支持64位系统!
旧的 32 位硬件系统已经不主动提供安装光盘了喔!
你可以选择到 CentOS 的官方网站去下载最新的版本 CentOS 官方网站:http://mirror.centos.org/centos/7/isos/
CentOS 7.x有提供完整版本(everything)以及大部分安装软件的DVD1版本,如果你的网络速度够快,下载everything版本即可, 如果你得要使用光驱来安装的话,直接下载DVD版本并且刻录到DVD光盘即可安装。
如果不想要安装,只想看看linux是什么样子的, 可以下载LiveCD/LiveGNOME/LiveKDE等版本测试!
Everything包括所有软件的版本。如果仅仅是用来学习,可以选择安装最小安装光盘版(Minimal)!
下载的文件名会是CentOS-7-x86_64-Everything-1503-01.iso这样的格式,从CentOS 7之后,版本命名和发布的日期有关!
CentOS-7表示centos 7.x版本,x86_64指的是64位操作系统,1503指的是2015年3月发表, 01与CentOS-7搭配,就是指CentOS7.1版的意思!
文件扩展名是.iso,表示光盘镜像image文件。
image文件是由光盘直接刻录成文件的, 文件非常的大,建议你不要使用浏览器(IE/Firefox..)下载, 可以使用FTP等支持断点续传的客户端程序下载,例如Filezilla (http://filezilla-project.org/download.php)等,不需要担心网络连接中断的问题
此外,映像文件可不能以数据格式刻录成为光盘DVD!必须使用刻录程序以映像文件格式刻录成为光盘或DVD! 切记不要使用刻录数据文件格式来刻录!重要重要!

6.主流的linux发行版

回到顶部

下表列出了当前比较主流的linux发行版分类:

linux主流发行版分类
linux主流发行版分类
软件包管理方式 社区团体 商业公司
RPM Fedora,是Red Hat的社区版,会经常引入新特性进行测试。
PCLinuxOS,Mandriva的派生版本,由社区维护的非常流行的发行版。
CentOS,从Red Hat发展而来的发行版,由志愿者维护,旨在提供开源的,并与Red Hat 100%兼容的系统。
Mageia,从Mandriva发展而来的发行版。
OpenSuSE?
RHEL(Red Hat Enterprise Linux),Fedora的商业版,由Red Hat维护和提供技术支持。
Mandriva,最初为Red Hat的派生版,现在由法国一个同名的公司维护。
openSUSE,最初由Slackware分离出来,现在由Novell维护。
SUSE Enterprise Linux(Micro Focus)
DPKG Debian,一个强烈信奉自由软件,并由志愿者维护的系统。
Kubuntu, 使用KDE桌面的Ubuntu。
Linux Mint,从Ubuntu派生并与Ubuntu兼容的系统。
Knoppix,第一个Live CD发行版,可以从可移动介质运行,Debian的派生版。
OpenGEU,Ubuntu的派生版。
Elementary OS:基于Ubuntu,接口酷似Mac OS X。
manjaro
antergos
solus
gOS和其他上网本用的系统。
B2D
Ubuntu,流行的桌面发行版,由Canonical Ltd.维护
其他管理方式 ArchLinux,一个基于KISS(Keep It Simple and Stupid)的滚动更新的操作系统。
Chakra,一个从ArchLinux派生出来,只使用KDE桌面的半滚动更新发行版。
Gentoo,一个面向高级用户的发行版,所有软件的源代码需要自行编译。
Slackware,最早的发行版之一,1993年创建,由Patrick J. Volkerding维护。
更多linux发行版排行榜可参考https://distrowatch.com

更多内容参考:
最受欢迎的linux发行版
initroot编辑整理,转载请注明www.initroot.com技术交流群:59909790

100次点赞 100次阅读