一、linux是什么
1.1 linux概念和发展史
Linux 是一个开源的操作系统内核,最早由一个叫 Linus Torvalds 的大学生写的(1991年)。
- 1991.08 Linus 在论坛发贴说“我在写一个免费内核,只是个爱好”——Linux 0.01 诞生,不到 1 万行代码。
- 1991.10 0.02 版公开下载,能跑 Bash 和 GCC,第一次让“Linux”这个名字出现在互联网上。
- 1992.01 换成 GPL 协议,从此“永久免费、永远开源”,商业发行成为可能。
- 1993.06 Slackware 发布,第一个真正“装得上、用得动”的 Linux 发行版,至今还在更新。
- 1993.08 Debian 启动,后来成为“发行版之母”,Ubuntu、Mint 等都源于它。
- 1994.03 Linux 1.0 内核发布,正式支持多处理器,标志系统走向“能用”。
- 1994.07 Red Hat 公司成立,推出商业版,企业级 Linux 时代开启。
- 1996 内核版本号改成“X.Y.Z”三段式,沿用至今。
- 1999 内核 2.2 发布,自带 USB 支持,桌面用户插上 U 盘就能用。
- 2001 内核 2.4 推出,单核可支持 16 GB 内存,服务器大规模替换 Unix。
- 2003 内核 2.6 发布,代码破千万行,性能/驱动/嵌入式大跃进;同年 RHEL 3 上市,金融、电信开始批量采购。
- 2004 Ubuntu 4.10 “Warty Warthog” 发布,第一次把 Linux 做到“开箱即用",普通用户也能 30 分钟装好。
- 2007 谷歌把 Linux 内核改造成 Android 1.0,手机端瞬间爆炸,今天你手里的安卓就是 Linux 变种。
- 2011 内核版本号改为 3.0,之后每 2-3 个月发一次新版,节奏像“系统界的 Chrome”。
- 2013 Ubuntu 推出 Touch 预览,想打通手机+电脑,虽没成,但给后人铺路。
- 2014 CentOS 7 基于 RHEL7免费放出,国内互联网公司服务器 90% 装它;同年内核 3.17 开始支持 64 位 ARM。
- 2016 内核 4.x 系列成熟,微软把 Linux 子系统搬进 Windows 10(WSL),“死敌”变队友。
- 2019 内核 5.0 发布,内置免费 exFAT 驱动,插大容量 U 盘再也不用装破解。
- 2020 苹果 M1 刚上市,内核 5.13 就能跑起来,社区反向“适配最快”。
- 2022 内核 6.0 发布,代码量破 3000 万行,支持新 Intel/AMD 大小核、Wi-Fi 6E、USB4 v2。
- 2023 Red Hat 把 RHEL 源码闭到 CentOS Stream,社区立马推出 AlmaLinux、Rocky Linux 8,“免费 RHEL”香火不断。
- 2024 内核 6.8 默认启用 64 位时间戳,把“2038 年问题”正式拍死;同年 Ubuntu 24.04 LTS 发布,承诺 12 年更新。
- 2025 内核 6.11(开发版)已支持 英特尔 Battlemage 显卡、龙芯 3A6000、RISC-V 笔记本,Linux 继续“哪里都能跑”。
复制代码
1.2 linux-内核分支 / 发行版分支
Linux系统是个统称,Linux的分支主要分为发行版分支和内核分支两类。Linux的发行版本大体又分可为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本。
发行版分支:
- Red Hat系列,代表发行版 :Red Hat Enterprise Linux(RHEL)、CentOS、Fedora(试验新特性)。
- Debian系列,代表发行版 :Debian、Ubuntu(适合新手,提供图形界面和驱动支持)、KNOPPIX。
- SUSE系列,代表发行版 :openSUSE、SUSE Linux Enterprise。
- Arch Linux派生,代表发行版 :Manjaro、Antergos。
- 其他发行版,
内核分支:
- 主线分支(Mainline) :包含最新内核特性,但稳定性较低,用于测试新功能。
- 长期支持分支(LTS) :提供多年安全更新,适合生产环境。
- 稳定分支 :严格测试,适用于服务器和关键业务系统。
- 功能分支(Feature Branches):开发新功能时的临时分支,测试通过后合并到主线。
拓展:比起 CentOS,Ubuntu在更新策略上要积极一些,对新技术支持度更好。CentOS上如果不配置扩展源的话,很多软件都是没办法使用yum安装的,比如 nginx。而 Ubuntu 系统可以直接使用apt install nginx安装。所以,如果希望更加容易的获得较新版本的软件,使用 Ubuntu系统更加方便;而CentOS则更保守、稳定性好一些。
Linux内核源代码获取:
官方内核网站(推荐) Linux内核官方网站(kernel.org)是获取官方源码的最可靠渠道。https://kernel.org/
国内镜像站点(加速下载)
若官方站点下载速度较慢,可选择国内镜像站点(如清华大学、中科大的开源软件镜像站):
二、linux发行版分支
各个Linux系统的主要区别·
- 选择不同的内核版本·
- 集成不同的应用程序·
- 定制不同的图形界面·
2.1 国外linux系统概览
国外系选择:
新手桌面:Ubuntu → Mint → Manjaro
企业生产:RHEL / Rocky / Alma / openEuler
体验最新:Fedora / Arch / Tumbleweed
国产信创:openEuler / UOS / 麒麟
2.2 国产linux 系统概览
国产系选择:
个人桌面:Deepin → UOS(家用)/优麒麟(教育)
政企办公:UOS 桌面版、银河麒麟桌面版
服务器/云:openEuler、Anolis、Alibaba Cloud Linux、BC-Linux
高安全军工:银河麒麟、中标麒麟、中科方德
工控/车载:普华、红旗实时版、openEuler 嵌入式分支
参考源:https://zhuanlan.zhihu.com/p/381753464
三、linux系统的包管理工具
- Debian 系 :apt/dpkg 包管理
- Red Hat 系:rpm/yum/dnf 包管理 (dnf基于RPM的下一代工具)
- Arch 系:pacman 包管理
- SUSE 系:zypper 包管理
3.1 APT(Advanced Package Tool)常用的包管理命令
3.2 RPM(Red Hat Package Manager)常用的包管理命令
四、linux显示服务器和协议
- 显示服务器是一个程序,其主要任务是协调客户端与其他操作系统,硬件以及彼此之间的输入和输出。
- 显示服务器通过显示服务器协议与其客户端进行通信。
- 显示服务器是任何图形用户界面(尤其是窗口系统)中的关键组件。它是图形用户界面(GUI)的基本组件,位于图形界面和内核之间。借助显示服务器,您可以将计算机与图形用户界面(GUI)一起使用。如果没有显示服务器,你只能局限于命令行界面(TTY)。
- 不要把显示服务器和桌面环境混淆。桌面环境(Gnome、KDE、Xfce、MATE等)使用了底层的显示服务器。
Linux显示服务器协议主要分为X11、Wayland和Mir三类,其中Wayland是当前主流替代方案。
4.1 X Window System介绍
X Window System(通常仅称为X或X11)确实很古老。它最初起源于1984年,最终成为大多数类似UNIX的操作系统(包括Linux)的默认窗口系统。
X.Org服务器(Xorg是一个XServer)是X.Org基金会管理的X Window System显示服务器的免费开放源代码实现。它是一个通过X11协议与客户端应用程序进行交互的应用程序,用于在显示器上绘制内容并发送输入事件,例如鼠标移动,单击和击键。
X11 是网络协议。它描述了如何在客户端(应用程序)和显示器(服务器)之间交换消息。这些消息通常带有原始的绘制命令,例如“绘制框”,“在此位置写这些字符”,“已单击鼠标左键”等。
X11是第11个版本。X11采用client/server模型,XServer负责输入(键盘鼠标)输出(显卡),XClient负责应用计算。比如显示管理器,窗口管理器,firefox浏览器等都是XClient。
4.2 Wayland介绍
Wayland 由X.Org开发人员Kristian Hogsberg于2008年作为个人项目开始。它是一种通信协议 ,用于指定显示服务器与其客户端之间的通信。Wayland是作为一个免费的开源社区驱动的项目而开发的,目的是用现代,安全和简单的窗口系统代替X Window System(也称为X11或Xorg)。
参考源:
知乎:https://zhuanlan.zhihu.com/p/220449924
博客园:https://www.cnblogs.com/xietianjiao/p/18668627
linux迷:https://www.linuxmi.com/xorg-x11-wayland-linux.html#google_vignette
五、主流图形桌面环境
刚开始Linux 系统都是不带界面的,只能通过命令来管理。后来也推出了 Linux 系统的图形界面环境。
Linux 中的桌面环境也是一个程序,它和内核不是绑定的,两者的开发也不是同步的。给不带界面的 Linux 系统安装上一个桌面环境,你就能看到各种漂亮的窗口,并能用鼠标点击它们了。
主流桌面环境,KDE、GNOME、XFCE
KDE 是 K Desktop Environment 的缩写,中文译为“K桌面环境”。整个系统采用的都是 TrollTech 公司所开发的Qt程序库(属于Digia公司)。KDE是Linux 操作系统上流行的桌面环境之一。最初于 1996 年作为开源项目公布,并在 1998 年发布了第一个版本。许多流行的 Linux 发行版都提供了 KDE 桌面环境,比如Linux Mint、OpenSUSE、Fedora、Kubuntu等。
GNOME 是 the GNU Network Object Model Environment 的缩写,中文译为“GNU网络对象模型环境”。GNOME 于 1999 年首次发布,现已成为许多Linux发行版默认的桌面环境。
GNOME是Fedora中的默认桌面环境,提供在几款流行的 Linux 发行版中,比如 Ubuntu、Debian、OpenSUSE 等。
GNOME 的特点是简洁、但是没有太多的定制选项,用户需要安装第三方工具来实现。甚至一些简单的调整选项,比如更改主题、更改字体等,用户都需要安装第三方工具。所以GONME适合那些不需要高度定制界面的用户。
Unity 是由 Ubuntu 的母公司 Canonical 开发的桌面环境,运行在 GNOME 桌面环境之上,使用了所有 GNOME 的核心应用程序。2010 年,Unity 第一个版本发布。
Unity 使用了不同的界面风格,如果你用的是Ubuntu,你会注意到 Unity 与 KDE 和 GNOME 桌面环境有些不一样。
MATE 桌面环境是 GNOME 2 的延续。通过传统的隐喻设计,MATE 为 Linux 或其他类 Unix 操作系统提供直观且吸引人的桌面环境。名称 “MATE”,源自一种来自亚热带南美洲的本地冬青物种 ,重命名是为了避免与GNOME 3的组件发生冲突。
与 MATE 类似,Cinnamon 是由 Linux Mint 团队因为不满 Gnome 3 的改进而开发的另一种桌面环境。
XFCE桌面占用资源较GNOME、KDE较少。适合老机器,轻量级桌面。与windows界面环境类似。许多不习惯GNOME 3 ,Unity新桌面用户很多选择了XFCE,包括Linux内核的发起者Linus大神。Xfce是使用率仅次于KDE与Gnome的Linux桌面系统。随着Xfce的不断发展,使用Xfce作桌面的系统已经越来越多了,一些大型的Linux发行版如Debian 与Fedora将其作为可选择桌面。
参考源:
知乎:https://zhuanlan.zhihu.com/p/350924618
六、输入法框架
ibus, scim, fcitx: 纵观国内外,fcitx是多数人的选择。
输入法的选择:谷歌拼音,搜狗拼音都可以。
6.1 fcitx -小企鹅输入法
- Fcitx[ˈfaɪtɪks]是 (Free Chinese Input Toy for X) 的英文缩写,中文名为小企鹅输入法.
- 是一个以 GPL 方式发布的输入法框架.
- 编写它的目是为桌面环境提供一个灵活的输入方案,彻底解决在GNU/Linux下没有一个好的中文输入法的问题。
- 作者是Yuking,于2002年02月25日推出,最早被称为gWuBi,从 1.7 版本后,才改为Fcitx。
- 基于XIM的简体中文输入法,包括五笔、拼音、二笔、区位、仓颉等输入模块,易安装、易使用。
-----------------------------------------------------------我是有底线的---------------------------------------------------