什么是 Linux?

Linux 是一种自由和开放源码的类 UNIX 操作系统内核。目前存在着许多不同的 Linux 发行版,可安装在各种各样的电脑硬件设备,从手机、平板电脑、路由器和影音游戏控制台,到桌上型电脑,大型电脑和超级电脑。 Linux 是一个领先的操作系统内核,世界上运算最快的 10 台超级电脑运行的都是基于 Linux 内核的操作系统。

Linux 操作系统也是自由软件和开放源代码发展中最著名的例子。只要遵循 GNU通用公共许可证,任何人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。严格来讲,Linux 这个词本身只表示 Linux 内核,但在实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核,并且使用 GNU 工程各种工具和数据库的操作系统(也被称为GNU/Linux)。通常情况下,Linux 被打包成供桌上型电脑和服务器使用的 Linux 发行版本。一些流行的主流 Linux 发行版本,包括Debian(及其衍生版本Ubuntu),Fedora 和 openSUSE 等。Linux 得名于电脑业余爱好者 Linus Torvalds。

GNU 计划,又称革奴计划,是由 Richard Stallman 在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。
为保证 GNU 软件可以自由地“使用、复制、修改和发布”,所有 GNU 软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU 通用公共许可证(GNU General Public License,GPL)。即“反版权”(或称Copyleft)概念。
GNU 操作系统是一种由自由软件构成的类 Unix 操作系统,该系统基于 Linux 内核,目标在于建立一个完全相容于 UNIX 的自由软件环境。


在使用云服务器的时候,第一个需要选择的就是服务器所使用的操作系统。这里不讨论 Windows,因为大家对它都很熟悉,除了一些需要在 Windows 下才能运行的程序,如 .NET、SQL Server 等,一般都建议使用 Linux 系统。当然 Windows 还可以使用远程桌面方式登录管理,但 Linux 可以用 VNC 呀。

                                        .


那么服务器使用 Linux 有什么好处呢:


  • 最流行的服务器端操作系统,强大的安全性和稳定性
  • 免费而且开源,轻松建立和编译源代码
  • 通过 SSH 的方式远程访问云服务器
  • 一般用于高性能 Web 服务器应用,支持常见的 PHP/Python 等编程语言,支持 MySQL(需自行安装)

                                        .


下面逐个介绍不同的 Linux 发行版:

                                        .


CentOS(阿里云官方推荐)

  • 使用 yum 方式在线安装软件
  • 来自 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。
  • 由于出自同样的源代码,因此有些要求高稳定性的服务器以 CentOS 代替商业版 Red Hat Enterprise Linux 使用。
  • 系统内核版本相对较低,但是 bug 少,稳定

                                        .


Debian

  • 使用 apt-get 方式在线安装软件,软件包格式为 .deb
  • Debian 系列和 Red Hat 系统是 Linux 系统的两个主干分支。许多 Linux 版本都是基于 Debian 打造的
  • 系统内核版本较高,但是相对于 Ubuntu 系统而言,集成的软件版本不是最新,用户可以自己下载编译安装新的

Debian + Dotdeb 实现最新版本安装:About | Dotdeb

                                        .


Ubuntu

  • 使用 aptitude 方式在线安装软件
  • 目前新手使用数最多的一个版本,* 它拥有海量应用,社区人数也是最为庞大的
  • 以桌面应用为主的 Linux 操作系统
  • 系统内核版本较高,系统集成的软件版本较新,更新速度快

aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样系统不会残留无用的依赖,更加干净。

                                        .


SUSE Linux / Open SUSE

  • 一个一般用途的基于 Linux 内核的 GNU/Linux 操作系统
  • 为 Linux 开发者和爱好者提供了开始使用 Linux 所需要的一切
  • OpenSUSE 操作系统和相关开源程序会被 SUSE Linux Enterprise 使用
  • 软件包格式一般为 .rpm,由 Red Hat Linux 所创建

                                        .


Gentoo Linux

  • 它面向开发人员和网络职业人员。与其他发行不同的是,它拥有一套先进的包管理系统叫做 Portage。
  • 是一种可以针对任何应用和需要而自动优化和自定义的特殊 Linux 发行版。
  • 由于 Portage 技术的产生,Gentoo 可以担当一个理想的安全服务器、开发平台、专业级桌面应用、游戏服务器、嵌入式应用等角色。
  • 由于其无限制的可配置性,我们甚至可以称它为一个「元发行版」

Gentoo 里的 Portage 使用 Python 编写的,并且它具有很多先进的特性,包括文件依赖、精细的包管理、OpenBSD 风格的虚拟安装、安全卸载、系统框架文件、虚拟软件包、配置文件管理等等。

                                        .


FreeBSD

  • 为不同架构的计算机系统提供了不同程度的支持
  • 由于 FreeBSD 宽松的法律条款,其代码被好多其他系统借鉴包括苹果公司的 MacOS X

FreeBSD 是一个多平台,基于 4.4BSD 的类 Unix 操作系统,是 BSD 衍生出的三种免费操作系统(另外两种是 NetBSD 和 OpenBSD)之一。

                                        .


CoreOS

  • 一个基于 Linux 内核的轻量级操作系统,为了计算机集群的基础设施建设而生
  • 专注于自动化,轻松部署,安全、可靠、规模化
  • 作为一个操作系统,CoreOS 提供了在应用容器内部署应用所需的基础功能环境及一系列用于服务发现和配置共享的内建工具

CoreOS 系统预装的软件相比 Ubuntu 或 CentOS 少得多,因此系统启动速度和运行内存上都有优势。另外 CoreOS 预装的软件很多是为集群环境配备的。
CoreOS 的系统分区是只读的,用户不能直接安装程序到系统里面。所有用户程序的运行都要使用到 Docker 或 Rkt 容器,从而确保系统升级时不会因为系统被用户修改而出现意外问题。

                                        .


Aliyun Linux

  • Aliyun Linux 系统提供 Linux 镜像系统 image,兼容 Red Hat(RHEL)操作系统的版本,内置阿里云自定义软件包和配置,其中安全加固版本安装了阿里云独有的入侵防御系统。
  • 用户可以使用 yum 方式在线安装软件,但 yum 源需要你自行购买 redhat 的商业支持授权。

                                        .


Linux 相关资料:

man mask