CentOS Stream 9入门学习教程,从入门到精通,Linux操作系统概述 —全面知识点详解(1)

Linux操作系统概述 ---全面知识点详解


一、Linux操作系统的发展历史

1.1 起源背景

  • Linux并非凭空诞生,而是建立在UNIX系统理念和开源思想基础之上。

  • 1991年,芬兰大学生Linus Torvalds在MINIX系统基础上开发了Linux内核原型,并在Usenet新闻组发布源代码,邀请全球开发者共同完善。

  • 初期目标:创建一个免费、自由、类UNIX的操作系统内核。

1.2 发展阶段

  • 1991--1994年:内核0.01版本发布 → 1.0版本发布(1994),支持多架构、TCP/IP协议。
  • 1995--2000年:社区快速壮大,内核模块化、驱动支持增强,桌面环境(如KDE、GNOME)开始发展。
  • 2000--2010年:企业级应用兴起,Red Hat、SUSE等商业发行版崛起,嵌入式与服务器市场扩张。
  • 2010年至今:云计算、容器化(Docker)、微服务架构推动Linux成为基础设施核心;Android基于Linux内核,占据移动市场主导。

二、UNIX操作系统的发展历史

2.1 起源

  • 1969年,贝尔实验室(AT&T)的Ken ThompsonDennis Ritchie开发了UNIX系统。
  • 最初用汇编语言编写,后用C语言重写(1973),实现"可移植性",成为现代操作系统的鼻祖。

2.2 分支与商业化

  • AT&T因反垄断协议无法商业化 → 各大学(如BSD)和公司(如SunOS、AIX、HP-UX)基于UNIX开发自己的版本。
  • BSD(Berkeley Software Distribution):加州大学伯克利分校开发,影响深远,衍生出FreeBSD、OpenBSD、NetBSD。
  • System V与BSD之争:两大主流UNIX标准,后统一为POSIX标准。

2.3 UNIX对Linux的影响

  • Linux继承了UNIX的"一切皆文件"、多用户多任务、管道与Shell等核心设计理念。
  • POSIX兼容性使Linux程序可移植到其他类UNIX系统。

三、GNU计划和GPL许可证

3.1 GNU计划(GNU's Not UNIX)

  • Richard Stallman于1983年发起,目标是创建一个完全自由的操作系统(GNU系统)。
  • 开发了大量关键工具:GCC(编译器)、GDB(调试器)、Bash(Shell)、Glibc(C库)等。
  • 到1991年,GNU系统除内核(Hurd)外基本完成 ------ Linux内核的出现填补了这一空白,形成"GNU/Linux"系统。

3.2 GPL许可证(General Public License)

  • 由自由软件基金会(FSF)发布,保障用户四大自由:
    1. 运行程序的自由
    2. 研究并修改源码的自由
    3. 再分发副本的自由
    4. 改进并发布改进版的自由
  • Copyleft机制:任何基于GPL代码的衍生作品也必须以GPL发布,防止私有化。
  • 其他常见许可证:LGPL(库)、MIT、Apache(更宽松)。

注:Linux内核采用GPLv2许可证。


四、Linux操作系统的诞生和发展

4.1 诞生过程

  • Linus Torvalds受MINIX启发,但不满其授权限制,决定自研内核。
  • 1991年8月25日,在comp.os.minix新闻组发布著名帖子:"I'm doing a (free) operating system..."
  • 首个版本0.01仅支持386处理器,代码约1万行。

4.2 社区驱动发展模式

  • "集市模式"(The Cathedral and the Bazaar):全球开发者协作,快速迭代。
  • Git版本控制系统(2005年由Linus开发)极大提升协作效率。
  • 内核发布周期:每2--3个月发布一个稳定版(如5.x系列),长期支持版(LTS)提供数年维护。

4.3 重要里程碑

  • 1994:Linux 1.0发布
  • 1996:Linux 2.0支持SMP(对称多处理)
  • 2001:Linux 2.4支持企业级硬件
  • 2003:Linux 2.6内核大更新,支持嵌入式、实时性增强
  • 2011:Linux 3.0发布(纪念20周年)
  • 2015:Linux 4.0支持容器热补丁
  • 2021:Linux 5.10 LTS支持RISC-V架构、改进安全机制

五、Linux操作系统的发行版(Distribution)

5.1 什么是发行版?

  • 发行版 = Linux内核 + GNU工具 + 软件包管理系统 + 桌面环境 + 预配置服务 + 安装程序

  • 不同发行版面向不同用户群体(桌面、服务器、嵌入式等)。

5.2 主要分类

类型 代表发行版 特点
商业支持 RHEL, SUSE Linux Enterprise 企业级支持、稳定、付费
社区驱动 Fedora, openSUSE Tumbleweed 前沿技术、更新快
衍生免费版 CentOS, Rocky Linux 兼容RHEL,免费使用
桌面友好 Ubuntu, Linux Mint 用户友好、预装图形界面
轻量/嵌入式 Alpine, Puppy Linux 资源占用少,适合老旧设备或容器

六、Linux内核与发行版的关系

  • Linux内核:操作系统核心,负责进程管理、内存管理、设备驱动、文件系统、网络协议栈等。

  • 发行版:在内核基础上打包用户空间工具、应用软件、安装程序、配置工具等,形成完整可用系统。

  • 举例:

    • Ubuntu 22.04 LTS 使用 Linux 5.15 内核
    • RHEL 9 使用 Linux 5.14 内核(经企业级补丁加固)
  • 用户可自行编译内核或更换内核版本(高级操作)。

    目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。


七、图形用户界面(GUI)概述

7.1 Linux GUI架构

  • X Window System(X11):传统显示服务器,负责图形绘制与输入设备管理。
  • Wayland:新一代显示协议,更安全、高效,逐步取代X11(Ubuntu 21.04+、Fedora 34+默认启用)。
  • 桌面环境(DE)
    • GNOME:现代、简洁,默认用于Fedora、Ubuntu
    • KDE Plasma:功能丰富、高度可定制,用于openSUSE、Kubuntu
    • XFCE / LXQt:轻量级,适合低配设备
    • Cinnamon / MATE:传统桌面风格,用户友好

7.2 图形界面非必需

  • Linux服务器通常不安装GUI,通过SSH远程管理,节省资源。
  • 可随时安装或卸载GUI组件(如 sudo apt install ubuntu-desktop)。

八、典型Linux发行版介绍

8.1 Debian

  • 社区驱动,稳定性极高,软件包管理(APT)强大。
  • Ubuntu、Linux Mint等均基于Debian。

8.2 Ubuntu

  • Canonical公司维护,桌面用户首选,每6个月发布新版,LTS版本支持5年。
  • 衍生版:Kubuntu(KDE)、Xubuntu(XFCE)、Ubuntu Server等。

8.3 Arch Linux

  • "滚动更新",始终最新软件,适合高级用户。
  • 采用pacman包管理器,AUR社区仓库丰富。

8.4 openSUSE

  • 分为Leap(稳定,基于SUSE Enterprise)和Tumbleweed(滚动更新)。
  • YaST配置工具强大,适合企业与开发者。

九、Red Hat系列产品介绍

9.1 Red Hat Linux(已停止)

  • 1994--2003年发布的桌面/服务器发行版。
  • 2003年后停止,转型为企业级产品线。

9.2 Fedora Linux

  • Red Hat赞助的社区项目,定位"前沿技术试验田"。
  • 每6个月发布新版,生命周期约13个月。
  • GNOME默认桌面,软件包丰富,适合开发者与爱好者。
  • 许多新技术(如systemd、Wayland)首现于Fedora,成熟后移植到RHEL。

9.3 Red Hat Enterprise Linux(RHEL)

  • 企业级商业发行版,强调稳定性、安全性、长期支持
  • 每3--5年发布一个主版本(如RHEL 7→8→9),每个版本支持10年。
  • 需订阅获取官方支持、安全更新、管理工具(如Red Hat Satellite)。
  • 广泛用于金融、电信、政府等关键业务系统。

9.4 CentOS(传统版,已停止主流支持)

  • 原为RHEL的"免费克隆版",100%二进制兼容,无Red Hat商标与支持。
  • CentOS 8于2021年底停止维护,转向CentOS Stream。

9.5 CentOS Stream

  • RHEL的"上游开发版",介于Fedora与RHEL之间。
  • 滚动更新,比RHEL提前获得新功能,供开发者测试与贡献。
  • 不再是"稳定生产替代品",而是"参与RHEL开发的平台"。
  • 替代方案:Rocky Linux、AlmaLinux(社区重建的RHEL兼容版)。

十、Linux操作系统的主要应用领域

10.1 传统企业级服务器领域

  • Web服务器(Apache/Nginx)、数据库(MySQL/PostgreSQL)、邮件服务器、DNS、FTP等。
  • 市场份额超70%,尤其在数据中心、大型网站(如Google、Amazon、Facebook)中占主导。

10.2 移动终端设备

  • Android系统:基于Linux内核,全球智能手机市场占有率超70%。
  • 平板电脑、智能电视、机顶盒、智能手表等广泛采用Linux内核。

10.3 物联网(IoT)与车联网

  • 嵌入式Linux(如Buildroot、Yocto)用于智能家居、工业控制、车载系统(Tesla、蔚来等)。
  • 轻量、可裁剪、开源特性适合资源受限设备。

10.4 桌面应用场景

  • 日常办公(LibreOffice、WPS)、多媒体(VLC、Audacity)、图形设计(GIMP、Inkscape)、编程开发(VSCode、PyCharm)。
  • Linux桌面生态日益完善,Steam支持+Proton兼容层使游戏体验大幅提升。

10.5 新兴技术领域

  • 云计算:AWS、Azure、阿里云等底层大量使用Linux;OpenStack、KVM、Docker、Kubernetes均基于Linux。
  • 大数据:Hadoop、Spark等框架运行于Linux集群。
  • 人工智能/深度学习:TensorFlow、PyTorch等框架首选Linux环境,NVIDIA驱动与CUDA支持完善。
  • 区块链:比特币、以太坊等节点软件多部署在Linux服务器。
  • 边缘计算与5G:轻量Linux系统部署于边缘设备,支持低延迟处理。

十一、Linux vs Windows

目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。主要区别如下

比较 Windows Linux
界面 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。
驱动程序 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。
使用 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。
学习 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。
软件 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 大部分软件都可以自由获取,同样功能的软件选择较少。

总结图示(可选记忆框架)

shell 复制代码
Linux生态系统 = 内核(Linus) + 工具链(GNU) + 许可证(GPL)
               ↓
           发行版(Ubuntu/Fedora/RHEL/CentOS等)
               ↓
        应用领域:服务器、移动、桌面、IoT、云、AI、区块链

学习建议

  • 理解Linux与UNIX、GNU的关系,避免混淆"Linux"与"GNU/Linux"。
  • 掌握主流发行版特点,根据用途选择(学习→Ubuntu/Fedora;生产→RHEL/Rocky)。
  • 了解内核版本与发行版生命周期,规划系统升级与维护策略。
  • 关注开源许可证,尊重软件自由与合规使用。

这份知识点详解涵盖了历史脉络、核心技术、主流产品、应用场景,结构清晰、内容详实,可作为系统学习Linux入门的权威参考资料。建议配合实践(安装虚拟机、尝试不同发行版)加深理解。

相关推荐
永不停歇的蜗牛1 小时前
解决方法:在本地电脑安装的Centos虚拟机上启动redis服务,使用本地电脑客户端无法连接到redis。
linux·redis·centos
ayaya_mana1 小时前
EasyTier自建服务器教程:打造低延迟游戏局域网
linux·运维·服务器·windows·游戏·p2p
W***83201 小时前
Linux(CentOS)安装 Nginx
linux·nginx·centos
ccnnlxc1 小时前
go语言学习
学习
郝学胜-神的一滴1 小时前
Linux C++系统编程:使用mmap创建匿名映射区
linux·服务器·开发语言·c++·程序人生
Freshman小白1 小时前
《项目管理》学堂在线2025网课答案
学习·答案
君鼎1 小时前
计算机网络第一章:概述学习总结
学习·计算机网络
好奇的菜鸟1 小时前
Ubuntu 系统 Docker 镜像加速
linux·ubuntu·docker
2301_797267341 小时前
神经网络组植物分类学习规划与本周进展综述17
神经网络·学习·分类