标签: 操作系统

  • 从许可证战争看类Unix操作系统的三分天下

    从许可证战争看类Unix操作系统的三分天下

    在计算机科学中,Unix-like操作系统指的是那些模仿或基于Unix操作系统设计和理念的操作系统。Unix是一种多用户、多任务、具有强大网络功能的操作系统,由Ken Thompson和Dennis Ritchie在1969年至1971年间在AT&T的贝尔实验室开发。由于其开源和可移植的特性,Unix的理念被许多其他操作系统采用和改进。

    以下是一些最著名的Unix-like操作系统:

    1. Linux‌:
      • 概述‌:Linux是一个开源操作系统,基于Unix。它是完全免费的,并且由于其高度的可定制性和广泛的硬件支持,成为了最流行的服务器操作系统之一。
      • 特点‌:高度可定制、强大的网络功能、大量的软件支持(通过包管理系统如APT、YUM、dnf等)。
    2. BSD(Berkeley Software Distribution)‌:
      • 概述‌:BSD是基于Unix的一系列操作系统,包括FreeBSD、NetBSD和OpenBSD。这些系统以其高度的稳定性和安全性而闻名。
      • 特点‌:优秀的网络功能、高度的安全性、对多处理器的良好支持。
    3. macOS‌:
      • 概述‌:虽然macOS是基于Darwin(一个基于Unix的操作系统内核),但它不是纯粹的Unix-like系统。Darwin是苹果公司开发的,用于Macintosh计算机的操作系统内核。
      • 特点‌:图形界面友好、专为苹果硬件优化、内置强大的多媒体处理能力。
    4. Solaris‌:
      • 概述‌:Solaris是由Sun Microsystems(现为Oracle公司的一部分)开发的一个商业Unix系统。它以其稳定性和高性能而闻名。
      • 特点‌:高性能、高可靠性、全面的系统管理工具。
    5. Minix‌:
      • 概述‌:Minix是一个小型的教学和实验性Unix版本,最初由Andrew S. Tanenbaum开发。它主要用于教学目的,展示了Unix操作系统的一些核心概念。
      • 特点‌:小巧、易于理解、教学用途强。
    6. Cygwin‌ 和 ‌Windows Subsystem for Linux (WSL)‌:
      • 概述‌:虽然这些不是纯粹的Unix-like系统,但它们允许在Windows环境中运行Linux应用程序和工具。Cygwin提供了一个在Windows上运行类Unix环境的工具集,而WSL允许直接在Windows 10和Windows 11上运行Linux二进制文件。
      • 特点‌:提供Linux兼容性、允许在Windows上运行Linux应用和工具。

    这些系统各有特色,适用于不同的使用场景和需求,从个人计算机到企业级服务器都有广泛的应用。Linux由于其开源特性和广泛的社区支持,成为了最受欢迎的Unix-like操作系统

     从系统演进角度,讨论几种 Unix-like 操作系统的类型。

    Unix-like(类 Unix)

    Wiki 对 “Unix-like OS(类Unix 操作系统)”的定义如下:

    A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification.

    Unix-like 操作系统,就是某种程度上类似 Unix 系统的操作系统,而且并不一定需要特定的 “单一 UNIX 规格 ”的认证。

    仔细想想,这个定义其实非常含糊,它使用了逻辑上的,基于字面上的定义重述。

    这里理解,这可能因为“类Unix 系统”并无权威的统一定义。

    如果借用游戏比拟,作为“主线任务”的 Linux 系统(它肯定是 Unix-like OS),甚至曾被 C 语言与 Unix 操作系统之父 Ritchie 宣称:“Linux 其实就是 Unix(它们就是一回事)”。

    01

    Unix shell

    1.1 作为 Unix-like OS 共性的 shell

    那么,Unix-like 的共性有哪些呢?– 从用户交互的角度上,通常能观察到 Unix-like OS,都应具有 Unix shell,以提供 Unix 命令行 UI。

    Unix shell,是 Unix-like 操作系统的,命令行解释器(command line interpreter),它提供了命令行 UI。

    当 shell 称呼作为语言使用时,它既是命令语言,也是系统提供执行的脚本语言。

    Unix shell 通常是 Unix-like OS 操作核心界面,它是位于“最底层的”,“最里面的”操作系统组件。

    因此,Unix shell 的重要地位,似乎不难想象(仅需代入到信息革命开端时代):

    约半个世纪前,Ritchie 在 B 语言基础上发明 language C,并用 C 语言重写 Unix 系统(这带来了第三次工业革命 – 电子信息产业革命启蒙)。那时的硬件资源,系统复杂度,应当“撑不起”今天的复杂桌面系统(如 windows,macOS,Linux/Debian/Ubuntu)的 GUI 界面。

    注:Ken Thompson 是 B 语言的发明者,他俩是 Bell 实验室的长期合作同事,共同创造了 Unix。– 因此获得了无数专业荣誉,也包括来自克林顿颁发的政府荣誉。

    因此,用户可以通过 Unix shell 登录系统,启动系统脚本。且 Unix shell 为其存留账号密码,配置当前用户参数,并(通过 Unix shell)执行其他命令交互(并使用各种命令工具)。

    而随着 OS 进度,比如现代 macOS 则通常可以直接通过 gui 界面来实现上述操作(Unix shell 不再成为唯一的用户交互 UI)。

    1.2 shell 的种类

    Thompson shell 是最早的 Unix shell 的版本,被 Ken Thompson 开发。

    Bourne shell

    而基于 Bell 实验室 Bourne 创造的 Bourne shell 与其变体,是当前 shell 的主流种类。

    1. Almquist shell (ash): BSD-licensed,常用于资源限制环境。应用 POSIX 增强性能的 sh 用于 FreeBSD,NetBSD。

    2. Bourne-Again shell (bash): GNU Project 之 Bourne Shell 的超集,在大多数 Linux 系统中使用。

    3. Debian Almquist shell (dash): Debian/Ubuntu 使用的现代 ash。

    此外,POSIX 标准规范定义的标准 shell,来自 Korn shell(Bourne shell 的增强版)。

    C shell

    C shell,csh,提供 C 编程语言的模式化,在某些 BSD Unix 中被发布。注:它是加州大学伯克利分校的研究生,Bill Joy 的作品。

    02

    System V 家族(Unix):“宗门任务”

    从系统项目的演进角度,即通过 Unix-like OS 的发展简史,似能更清晰地归类现代的“类 Unix(Unix-like)操作系统”。

    与其他讲述不同,本文强调 Unix-like OS 的简史,与BSD 许可证,GPL Copyleft 证书的发展不可分割(而后者带来了“自由软件运动”,与“开源倡议”)。

    2.1 Ritchie 用 C 重写并真正创造:Unix

    如图所示,1970s 诞生 Unix 操作系统。如上所述。C 语言发明者 Ritchie 用 C 重写 (并真正创造)Unix OS。

    2.2 System V 家族:“正宗的(延续的,源系宗门的)”Unix

    • 1979 年开始,AT&T 收紧许可,但商业版权发布也并非那么昂贵。有数的几个大型商业公司纷纷加入其中,这里将它们称为“正宗的”(延续性的)Unix OS。

    • 如上图所示,它们主要是 System III & V 家族。

    • 由于商业闭环使用特点,还在演化的两三个公司的 Unix OS 资料能查阅到的不多。可考虑为,针对上述公司的自有处理器的优化版本。

    • 即使作为“正宗”传承,其现代影响力似可忽略。但在历史上,正是由于该“宗门”任务上的各个公司的版本演化差异,导致了统一标准的出现:POSIX 与“单一 UNIX 规格”。

    • 额外补充:服务器 EulerOS,作为 Linux 发布,也获得了“单一 UNIX 规格”认证,不晓得是不是早期,华为对冲破限制做出的各种努力之一。

    03

    BSD(Unix-like):“殿堂任务”(“学术气息的,宽松的”BSD许可证)

    • 加州大学伯克利分校,早期从 Bell 实验室获得 Unix OS 源码(Unix-like 的开放传承精神即初现端倪)。对于或源于校园氛围 BSD 许可证,这里理解为等同“宽松的(几无限制的)”。即源码可自由下载,修改,并商业闭环式的使用(而无需公布任何修改后的代码),需要的可能仅仅是在修改源码中进行 BSD 许可证的版权声明。

    • 1980s,经历了版权纷争后,BSD 替换了全部 AT&T 源码。

    • 如上图所示,在 BSD 许可证下,苹果的商业闭环 MacOS 正是源于早期的 BSD。

    • 而此刻正在演进中的 BSD Unix-like OS 包括:FreeBSD,NetBSD,OpenBSD。注:研学一些资料提及,BSD 默认无 GUI 界面(即只有 Unix shell 之传统风格),用户可以自行选择加载 GUI。

    • 注意:由于上述版权争论的缘故,“BSD”或通常不直接与“Unix”关联,而刻意主动冠以“Unix-like”之称谓

    04

    GNU/Linux(Unix-like): “主线任务”(“自由软件运动”,“GPL”与“copyleft”)

    4.1 free software(自由软件)与 GPL(General Public License)

    • 来自不同的文化圈,有时很难想象“自由软件运动”的发起缘由。学研了一些资料,可能的推测是:(1)从大环境上讲,当时处于如此激动人心的工业革命(信息产业革命)的前夜,又恰逢渴望个性崇尚自由的大时代。(2)从产业发展视角,1980年左右,软件业界终于开始发展到版权之争阶段。Unix 许可之争,某些商业版权争端中故意在软件中埋藏逻辑时间炸弹等事件,还有当时广为流行的黑客文化等因素,催化神级人物 Richard Stallman 的出现(见图片中“GNU”紫色框下的文字注释)。(3)此外,某些产品尽管是宽松许可的,任意下载修改并闭环使用的,但该产品的著作权所有者,专享该产品的权利,有权不允许其他程序员参与修改推进该冠名产品(想修改尽可以自己下载源码闭环修改,发布自己的产品。至于是否发布修改源码,由修改者决定。但不管如何,要说明原始版权)。这个特点,可能也刺激了 Stallman。

    • Richard Stallman 将毕生精力,都用在引领“自由软件运动(free software movement)”中。他亲手撰写了 GPL (证书)的条款。

    • GPL 允许源码的自由下载与修改,但同时也给予修改者“发布其修改源码的自由”(这里理解,所谓“自由发布修改源码”,具有深刻的两面性。一方面, GPL 提供其他贡献者参与产品项目的自由。另一方面,GPL 本身具有强制性,修改该项目者,实际被强制共同参与贡献,即必须公布源码,以使得该工程项目不断进化/迭代)。

    • GPL 具有衍生特性,基于 GPL 的产品的任何衍生产品,也默认持有 GPL(证书)。

    • 回顾历史,这里尝试理解:Stallman 或代表某类程序员(精英),他们近似无偿地献身于软件工程项目,以反抗商业授权。他创造 GPL(通用公共证书),优化了 BSD 这种近似无约束的许可证。GPL 可防止项目所有者独享版权,从而保证其他开发者参与项目的自由。进而保证参与者维持一种,持续性的项目贡献,产生对使用者来说完全免费的,自由使用的产品。

    • Stallman 似较执着,似乎强调“自由软件”完全与商业无关(这将在未来引出“开源倡议”)。他自己就拒绝了苹果的提议,即将 GCC 的变种版本,商业授权给苹果使用(这可能反向刺激了,后续 Clang 编译链的产生)。

    • 总结:(1)GPL 完全的“自由”仅面对使用者。(2)对于学研源码,并修改使用的开发者,具有深刻的两面性,即提供开发者参与项目演化进步的自由,又强制“(修改后)源码发布”。(3)对于公司,源码公布导致无法商业闭环使用,带来的巨大研发投入损失,以及可能的安全风险,更谈不上享受“自由软件”的快感。只有不得已为之的权宜之计。(4)对于 GPL 项目(“自由软件”),由于贡献者持续参与,不少项目能够得到持续进步/迭代,以相对较小的投入,产出使用者得以自由使用的产品。

    • 注1:因为 Stallman 的努力,“自由软件(free software)”现在是专有名词,即指代上述特性的 GPL 软件,并隐含运动本身。

    • 注2:“free software”中的 “free”,作“自由”理解,而非“免费”(尽管自由软件的用户通常是免费使用)。

    • 注3:“ commercial closed(商业闭环)”,网络查询“closed”常见译作:“闭环”,“私有”,或“非开源”等。其概念通常与“自由软件”,“开源”相反。

    • 因为 GPL/自由软件 的上述特点,有些人将 GPL 证书称为“病毒证书”,因其证书向衍生物蔓延。在上述“总结”中,这里归纳的特点,某些必然引起不快。特别是对于完全没有准备,没有在课堂授业中被提醒的年轻学子,这表现的更加明显。对 GPL 源码学研愈深,了解愈透,参与贡献愈多,就愈加断绝该学子,未来的某种创造发展的人生可能(已受限 GPL 的强制贡献证书)。当然,类似这样的大型项目,比如说 99.99% 的童鞋,未来学研或工作道路上,几乎肯定不会独立自创某个新操作系统,新编译器,那么深入研学 GPL 项目,比如说 GNU 也没什么。但是校园童鞋往往因为未曾参与实践,对自己未来工作潜力一无所知。那个万中无一的天才万一就是你呢?

    • 当然,反过来说,作为支持“自由软件”的进步分子,积极参与 GPL 软件,希望像芬兰学生 Linus 那样,在历史上通过 GNU 这样的自由软件,留下自己的姓名,那就是另一回事了(本文不持任何观点,不倾向 BSD-like,与 GPL-like 任何一方,仅作简单介绍)。

    4.2 “copyleft”与 GPL

    (1)Copyleft 首次说明

    讨论:“自由软件”,“GPL(通用公共证书)”之核心内涵,同样隐藏被 Stallman 赋予新动能的词汇“copyleft”之中。

    1985 年,Stallman 在“GNU 宣言”中阐述 “copyleft”概念:

    GNU is not in the public domain. Everyone will be permitted to modify and redistribute GNU, but no distributor will be allowed to restrict its further redistribution. That is to say, proprietary modifications will not be allowed. I want to make sure that all versions of GNU remain free.

    GNU 不属于公域。每个人都被允许修改并重发布 GNU,但任何发布者都不允许限制它的进阶重新发布。换而言之,也就是不允许专利修改。我想确保所有 GNU 版本都保持自由。

    (2)阅读理解

    这里的阅读理解如下,协助参考:

    1. GNU 不属于公域:它不像 BSD 许可证那样,任何人自由修改源码并随意商业闭环。同时,如果开发者打算对该产品进行修改提升,原著者不能拒绝

    2. 不允许专利修改:任何人都可以在修改者基础上,再次修改后发布。修改者并无专利权,即无权私有化源码修改,即修改者必须公布修改源码

    3. 确保所有 GNU 版本都保持自由:“free”应译作“自由”,而非单纯指“免费”。指代“自由软件”的上述特点。

    (3)Copyleft 原始含义

    1. Copyleft,原始的来历源于 Stallman 与他人的 mail 讨论,即“Copyleft – all rights reversed(全部权利颠倒)”。

    2. 语义推测:(1)Copyleft:在既有版权框架下,设计某种独特版权,与传统的版权概念相左(相背离,相颠倒)。(2)目的:有助于自由软件的自由扩散与(各种修改完善的)重新发布。

    3. 在中文语境中,百度翻译译作:“著佐权”。这里理解,翻译得非常准确,译者精确把握了技术范畴内的含义。“著佐权”,应当有别于“著作权”。不晓得是哪位前辈的中文翻译,信雅达皆备。

    4. 仅仅翻译为“反版权”似不够。Copyleft 并非真正“反版权”,它是在当前法律版权体系下,设计符合法律的“新版权(通常是 GPL)”,用来“反(传统)版权”。目的是:(1)保护使用者(而非所有者),并尽可能极大扩散产品重发布的版本。(2)但反过来,又赋予所有者新权利,即强迫衍生产品必须同样遵守“Copyleft”的权利。(3)这种构成叫做“互惠”,作为修改者受惠于前人的工作,而修改者的未来衍生物的新修改者,又受惠于修改者的当前修改工作。(4)如何才能实现这样的互惠?即要求修改者的软件与其源码一起提供(才能给后来修改者生产衍生物),这样,逻辑上反证了,强制发布修改源码的必要性。

    5. Copyleft 的 label(标志)为,反向的“C”。即传统版权标志为右向的,正常的“C”,而 Copyleft 的标志对标为:反向(镜像) “C”,开口向左(2016年,Unicode 收录该字符,码点为 U+1F12F,即“Copyleft 符”)。是否这恰好与 “copyleft”中的“left”形成语义相关?出于高效研学的缘故,这里没有花时间查证,仅留下这里的直觉联想,提供参考。

    6. “许可证(Permissive license)”:(1)对于 BSD 软件,需要的是 “BSD 证书”,或“BSD 许可证”。“许可证”是与“copyleft”在“衍生性”上完全对立的概念(并不需要衍生修改物遵守类似 Copyleft 衍生证书)。(2)对于 GPL 软件,严格地说,不能称为“许可证”,它属于“Copyleft 证书”,或“保护证”。(3)而 GPL 本身,应译为:“通用公共证书”

    7. 但百度翻译网页,对 “Permissive license”与“license”不作区分,都译为“许可证”。推测这可能导致,整个中文研学环境,将 “GPL 证书”误译“GPL 许可证”,导致与 “BSD 证书(许可证的一种)”混淆。这肯定增加了中文语境下的童鞋,理解 “BSD 证书(BSD 许可证)”与 “GPL 证书(GPL 保护证/Copyleft 证书)” 概念的困难程度(注:“许可证- permissive license”定义来自 Wiki 的“Copyleft”网页)。

    8. “保护证(Protect License)/Copyleft”:为何将 Copyleft 称为“保护证”?这里理解,它“保护了”(开发者)修改与重发布自由软件的权利

    9. Copyleft/GPL 作为法律版权体系下的创造,在不同的国家受到不同的保护,以及相应 GPL (证书)配合的条款。由于并非知识产权专业,不清楚中国的 copyleft 证书的法律保护条款,想必也是大同小异。

    10. 拓展讨论:介绍至此,带来新的思考。站在大约 40年后的今天,可用更高维度理性的眼光打量 Stallman 的自由软件运动与 GPL(Copyleft 证书)。(1)并非否认 Stallman 的历史地位。没有 GPL,哪有唾手可得的源码。更何况 GPL 逼迫商业公司发布更多 BSD-like 源码公布产品(对用户两者都是免费的)。(2)但是,正如不同意见者提及,所谓的“自由软件”的旗号下,GPL-like 软件可以自由从 BSD-like 吸取源码,整合入 GPL 软件,再以 GPL 的衍生证书模式发布(强制衍生物遵守 GPL 证书)。那到底谁才是真正的“自由”?

    4.3 GNU/Linux

    • 如果说,在看不见的数字空间中,Stallman 倡议并引领着,某种社会学意义上的运动风潮。那么,他即代表着,同样品质高尚,思想进步,无偿服务他人的科技群体。

    • 站在社会学角度,引领群体的领军人物,通常需要借势而为,加入团队,谋求支持,相当不易。但在二进制的科技信息世界有时不需要。这隐含着时代提供科技开发者的巨大能力表现机会:“我说的,我宣讲的,我自己就能做,并能通过产品的急剧扩散传播我的影响”。

    • Stallman,同时就是这样一位卓越工程师,他启动了 GNU 项目(1983年9月),即 Unix-like 计算机操作系统(全部由“自由软件”构成)

    • 注:这就是本文讲述模式的重要依据,必须讲解相关“自由软件/free software”,“GPL(General Public License/通用公共证书)”,“Copyleft/著佐权”概念,以及对立的“BSD Permissive License(BSD 许可证)”概念。此刻,研学者才能真正明白 Stallman 在做什么,GNU 操作系统是什么。

    以下图例来自 Wiki 的 “Richard Stallman”网页:

     

    讨论:

    1. 挺有趣的事儿就是,Stallman 的教育与工作经历,源于 Harvard(哈佛)与 MIT(麻省) 等院校。

    2. 但他坚定创立自由软件与 GPL 证书,而不受 MIT(BSD-like)的典型学院证书影响。当然,反过来说,当他名气越来越大时,MIT 仍坚持 MIT 许可证,不被 Stallman 影响。

    3. 而且 MIT 许可证反而凸显更加“宽松”。如果没有理解错,MIT 许可证比 BSD 许可证更加“宽容”,它甚至允许衍生软件仍然以原软件冠名来广告促销。

    4.4 GNU/Linux 项目组成

    作为具有 OS 开发经验的工程师,Stallman 主导 GNU 操作系统的如下项目:

    • text editor (Emacs),

    • compiler (GCC),

    • debugger (GNU Debugger),

    • build automator (GNU make).

    而著名的 kernel 的演化路线如下:

    • 1990年,GNU 成员 Mach microkernel,即 GNU Hurd(见简史图中演化分支)。

    • 1991年,芬兰学生 Linus 贡献 Linux kernel。从此进入“主线任务”。

    Stallman 经常争辩,当提及该操作系统时,人们(甚至是参与贡献的工程师们)仅提及“Linux”。这好不公平,他认为这个系统明明是:GNU/Linux

    当然,站在反对者的观点,也可以认为,既然首先构造了 OS 内核 Linux kernel。那么,移植来自 GNU free software 的各种成熟的工具到 Linux OS,也顺理成章。Linux OS 天然源于 Linus 的核心贡献,考虑一下他的背景,这自然给了投身信息产业的年轻童鞋巨大鼓励。这里仅简述一下,各自的观点。

    拓展介绍:醉心引领社会运动科技工作者,最终会因为言论在社会舆论中放大而被追踪。Stallman 一些言论,对低龄被伤害似乎不以为然,这导致了对他真实道德的巨大的怀疑与声讨,但 Stallman 坚持不从 GNU 项目主管角色上辞职(他仅辞任一些无关的社会或校园职务)。

  • Debian GNU/Linux 操作系统:从社区协作到开源生态的生存之道​

    Debian GNU/Linux 操作系统:从社区协作到开源生态的生存之道​

     1991年,Linus在Stallman的自由软件运动引领下发布Linux内核,GNU/Linux操作系统由此诞生。Debian作为持续最久的Linux发行版之一,通过社区协作和开源倡议解决了自由软件的生存难题,其5万个软件包和年度选举机制展现了开源生态的独特生命力。

    GNU/Linux OS 回顾

    1. 项目进度

    • 1983年,Stallman 启动 GNU 项目后,尽管他的卓越才能在其主管的 GNU/GCC 编译链中大放异彩,但 kernel 却迟迟无法正式发布。

    • 1990年,GNU 项目成员贡献 Mach microkernel,即 GNU Hurd。

    • 同年,Microsoft 发布首个人类历史上,被市场广泛接受的,基于 MS-DOS 的 GUI 操作系统 Windows3.0。这是一个巨大的反讽,因为 Stallman 曾公开说 MS-DOS 是“玩具”(与 Unix-like 操作系统 GNU 的 Unix shell 比较)。这可能反映了商业软件的某些市场与进度优势。

    • 1991年,芬兰学生 Linus,在 Stallman 发起的“free software movement(自由软件运动)”引领下,在 copyleft(著佐权,注意:非“著作权”)即 GPL 保护证模式下,发布 Linux kernel。至此,GNU/Linux OS 正式诞生。

    • 注1:尽管 Linus 使用 GNU/GCC 编译链,并遵守 GPL 证书,但 Linux kernel 并非 Stallman 醉心的 GNU 项目中的部分。即 Linux kernel 专属 Linus 的个人贡献。

    • 注2:这可能导致了世人皆知 Linux,并常常以此指代 GNU/Linux 操作系统(某种角度上,这种理解不算错。因为 Linux OS,可将各个成熟 GNU 工具视为向 Linux kernel 的移植过程)。

    • 注3:由于 Richard Stallman 毕生引领“自由软件”运动,并创造性发明 GPL 证书(copyleft 证)。以及考虑从 Ritchie 发明C 语言并重写(真正创造)Unix 开始,C语言与编译器,与Unix-like 系统,两者就变得不可分割。因此,这里通常选择称呼“GNU/Linux 操作系统”。

    2. 功能模块

    • Stallman 的 GNU/GCC 工具链与其他 GNU 工具

    • Linus 的 Linux kernel

    • Unix shell:用户交互的命令行解释器

    3. “主线任务”

    如上讲所述,从游戏中借用“任务”一词,来表述 Unix/Unix-like 操作系统发展,即开始 GNU/Linux 的“主线任务”。列举如下:

    • System V 家族(Unix):“宗门任务”(少数公司商业闭环)

    • BSD(Unix-like):“殿堂任务”(BSD 许可证,苹果 MacOS 分支可商业闭环)

    • GNU/Linux(Unix-like): “主线任务”(GPL 保护证)

    01

    Debian GNU/Linux 操作系统(Debian OS)

    创造类似 Windows,MacOS 的 GUI “桌面视窗”操作系统,现在是 GNU/Linux 的首要任务(1990s 的硬件环境也已成熟)。

    Debain 包括了下述主要模块:

    • 桌面环境:支持 XFCE, GNOME, KDE, MATE, Cinnamon, LXDE, 以及 LXQT.

    • 办公工具:LibreOffice, Firefox web 浏览器,Evolution mail, K3b disc burner, VLC media 播放器, GIMP 图像编辑器, 以及 Evince document viewer.

    • APT 包(下载)管理工具。

    作为“主线任务”,Debian GNU/Linux 操作系统,是持续最久的 Linux 分布之一,是广泛使用的网络服务器的 OS 之一。

    同时,它还是 Ubuntu 的 codebase(代码基地/代码来源)

    02

    Debian 社区生态

    2.1 超大规模的 GPL 项目

    作为“自由软件”,GNU/Linux(Unix-like 操作系统) 主要的问题,是如何生存与发展的问题。这里理解,归根到底就是:如何发展无资本支持,无明显收益的 GPL生存环境。

    作为比较:Windows,MacOS(iOS),Andriod OS,与大型垄断性跨国公司 Microsoft,Apple,Google 的支持不可分割,同时上述操作系统(或与其关联的硬件,工具软件)又是上述商业跨国集团的重要收益来源。

    它的难度和投入通过以下数据可窥知一二:

    • Debian 软件仓库的包超过 5万 pcs。

    • Debian5.0 的全部包(packages)的代码超 3亿行。

    • 2016年,Debian codebase 代码超 7千万行。

    2.2 社区形式组织的千名“Debian 开发者”与年度投票 Leader

    社区模型

    以下图片来自 Wiki:

    如图,图片中三份列表分别表示:投票人数,项目 leader,Debian 包生命期框图。

    行为指导

    “Debian 社会契约”,“Debian 自由软件指南”,“Debian 宪章”指导如下行为:

    • 约千名“Debian 开发者”组织为社区(但不禁止其他开发者向 Debian 贡献)。

    • 在官方邮件列表与相关会议中,与开发者间实现项目协调。

    • Debian 项目 leader 每年度被选举(始于 1999年)。

    • 资金来源之一:leader 可以对某些组织授权(如商标),以获得捐赠。

    • leader 的重要职责包括引领 Debian 兴趣方向与维护版本发布。

    2.3 “maintainer/维护者”

    每一个 Debian 软件包,都有一个“维护者”,见上图中的包生命期框图。

    维护者的工作包括:

    • 跟踪发布

    • 协调与其他包的协同工作,并保证符合质量标准

    2.4 发布周期

    大约每隔 2年会发布一个新的 Debian 稳定版分支(注:与 Ubuntu 稳定版时间耦合)。

    03

    “开源倡议”(Bruce Perens):接受捐赠的 Debian

    如上图中的第二个 Leader 框图所示,列举了众多 leader(项目领袖)。

    Ian Murdock 是项目创始人。1993年,Ian Murdock 创立 Debian 项目。其命名为他的女友(前妻)的名字 Debra Lynn,与他自己的名字之合体。

    3.1 Bruce Perens

    1996年,Perens 获得项目领袖职权。起草“Debian 社会契约”,“Debian 自由软件指南”,摆脱 Stallman 的 FSF(自由软件基金会)。

    文件格式转变,从 a.out 至 ELF 格式。注1:a.out 通常具有调试符号信息。Unix “宗门任务”中,其过渡为 COFF 格式,最终为 ELF 格式。注2:据说 a.out 的主要问题是共享库的复杂性(与登记授权的虚拟地址有关)。

    3.2 Open Source Initiative(开源倡议/开源行动会/开源促进会)

    Perens 定义了“开源(open source)”,并正式发布了“开源宣言”。他是 OSI(开源行动会)的联合创始人(典型区别于 Stallman 的 FSF,自由软件基金会)。

    因此,他深刻改变并重锻 GNU/Linux,或 Debian 的项目发展模式。这里理解,其核心问题:就是解决如何在 GPL(copyleft 证书)下的“自由软件”范畴内,求市场生存的重大议题。

    自此,从30年前开始,或更准确地说,进入新世纪以来,“开源”在市场宣传上,往往代替“自由软件”,成为更熟悉的项目概念。

    有别于 Stallman 的似乎“厌恶”商业利润倾向,Perens 要求 Debian 可以接受捐赠。此外,如上文所述,赋予 leader 透过发放商业冠名,获得收益的权利

    Perens 阐述“绝大多数黑客,都晓得自由软件和开源,是同一件事儿的两个名词”,但是,“开源”作为市场营销的成功,“淡化了自由软件内涵的自由域/免费域的重要性”。

    注:本观点不被 Stallman(“自由软件运动”引领者)认同。此外,Stallman 的 FSF 指责 Debian 的 no-free software(非自由软件)包,太容易被用户访问(如上讲所述,Stallman 的 GNU/Linux 项目,完全由自由软件组成)。

    以下图例来自 Wiki:

    拓展介绍:Perens 出生患有脑瘫,并在求学时误诊发育障碍,校园还不被教授阅读能力。

    04

    硬件平台

    本图例来自 Debian 官网:

    可以看到:

    1. 尽管同时也支持 Intel 64。但首个支持的架构名称,仍然是“amd64”。这反映了 GNU/Linux 分布,天然的“非 Intel-MS”的特点。

    2. ARMv7 与 ARMv8(AArch64)架构都被支持。

    3. 可能是未来的流行的 RISC-V 架构也被支持。

    05

    Windows 支持(WSL)

    从 Win10 开始(2016年),Microsoft 提供了 WSL(Windows Subsystem for Linux/ Windows 之 Linux 子系统),可用于提供 Debian/Ubuntu 子系统。

    以下内容来自(Brendan Hesse,自由专栏作家):

    1. WSL 是一种 natively 访问方式(这里理解:明显有别于传统的 Cgywin,Msys2 等虚拟环境)。

    2. 安装 WSL 要不了一会儿(若干分钟)。

    3. WSL 在行为上,就像“windows 的 bash”,即在 windows 平台下的 powershell 中,运行 Ubuntu bash(Unix shell 在前文中有介绍)。

    4. WSL 几乎唯一的好处,就是有利于开发者(即在 Windows 平台上创造 Linux 软件)。因此,WSL 是一个有力的开发工具。

    5. 由于 WSL 是 Windows 进程之一,这意味着 Windows 的各种工具仍可使用,并且可以使用类似 tasks 管理器来终止 Linux 进程。

    6. WSL 默认不支持 Linux 的 GUI 版本,它仅是一个命令行环境(GUI 界面的软件既不能安装,也不能运行)。Microsoft 无计划对 Linux GUI 进行官方支持。

    7. WSL 可以同时使用 Windows 和 Linux 的文件系统。

    8. WSL并非开源项目,也非 Linux kernel,它仅是 Microsoft 的某个框架。

    安装 WSL,这里就不再介绍,网上可以容易搜索。通常,具有启用(使能)WSL,下载 Linux(比如 Debian,或 Ubuntu)两个步骤。

    06

    总结

     

    1. 沿着上文探讨的,作为“主线任务”的发展,本文介绍了 Debian GNU/Linux OS。

    2. Perens 在 Debian 项目中,首次引入“开源”概念(它使得项目能过通过捐赠与有偿授权等方式,获得收益)。

    3. 指出 Debian 的社区规模,以及特别的年度领袖选举机制。在 Packages 的管理中,开发方式通过“维护者”来保证每个包的发布,以及系统兼容。

    4. 讨论了主要的在线的硬件平台。

    5. 简单介绍 Win10 引入 WSL,包括 Debian 在内的 GNU/Linux 分布的子系统的主要特点。

     

     

  • Ubuntu:从Debian社区到商业成功的开源操作系统演进之路

    Ubuntu:从Debian社区到商业成功的开源操作系统演进之路

     Ubuntu 凭借商业公司支持,解决了开源社区”免费却无保障”的痛点,如今占据全球web 服务市场的主要份额。从 Debian 到 Ubuntu,其成为 Unix-like系统的主线任务的继承者。

    Unix-like OS 回顾

     

    1. Unix-like OS “主线任务”:从 GNU/Linux 到 Debian

    • 1991年,芬兰学生 Linus 发布 Linux 内核,Stallman 的 GNU 操作系统项目(1983年启动)天然与之合体,构成 GNU/Linux 操作系统发布(如果简化地说,或不特别强调 Stallman 引领“自由软件运动”,与创造 GNU/Linux 生态与 GNU/GCC 工具链的功绩,那可以简称它 “Linux”)。注:GNU/Linux 为基于命令行解释器的 Unix shell 交互界面。
    • 1996年,作为年度 Debian 项目领袖(Debian 引入了 GUI 图形操作界面),Perens 创建“开源”(倡议/行动/促进会 OSI)。这并非单纯的市场营销,以“开源”取代“自由软件”称谓,更重要的,通过社区协作和开源倡议,勉强解决了自由软件的生存难题(作为“开源项目”,Debian GNU/Linux OS 可以接受捐赠,并且开辟了以商业冠名的方式获得“捐赠”收益的新路子)。
    • 注1:作为比较,Stallman 之 FSF(自由软件基金会)对此不以为然(“free software/自由软件”倡导科技,人文,道德的综合,似多以“自由”的名义而强调单纯奉献)。
    • 注2:见前述研学系列,“自由”的背面是强制公布修改代码与重发布。这是 Linux 项目,或全体“开源”/“自由软件”项目的最重要内涵(基于 Copyleft 证书或 GPL 证书)。

    Debian 可以理解为继承 Unix-like OS 发展的“主线任务”(其“Debian 开发者”社区规模庞大,约千人。其 packages/包数目众多,约 5万+)。

    2. 从 Debian 到 Ubuntu

    1. 其他地区的用户不清楚,但经历充分的市场竞争的中国消费者,对“免费即最贵”说法或有所体会。一次冲动参与活动免费,或面对一场成功营销带来的长期会员套餐。
    2. 而社区组织的 Debian,原则上犹胜于此。试想其实不差钱(或降本,或安全,或反竞争对手垄断而选择 Debian)的商业用户,于至关重要的服务器与数据遭受安全漏洞威胁时,分秒必争挽回商业损失之际,连付费求服务的渠道或不可得时的烦恼。
    3. 因此,Ubuntu 取代 Debian,成为当前最流行 Linux 分布。这可能就是主要的原因之一(而 Ubuntu 的代码来源就是 Debian),即由商业公司 Canonical 发布并支持着 Ubuntu 的长期服务。注:它典型不同于非营利组织,Perens 之“开源行动会 OSI”与 Stallman 之“自由软件基金会 FSF”。

    详细探讨:

    • 似乎不难理解,作为“开源/自由软件项目”,提供的 Debian/Ubuntu 系统的代码修改与重发布的自由,对普通消费者(甚至商业公司)太奢侈。大部分用户其实不需要也无能力源码重编 OS ,更无从奢谈修改后重发布,为新的 Debian/Ubuntu 版本作贡献。可能仅希望,长期安全可靠的 OS 版本
    • 而 Ubuntu 的代码源于 Debian,故可推测其源码无法占为己有。即 Debian“开源项目”特性,Ubuntu 必须保留(Ubuntu OS 也必须是开源项目)。
    • 这样,(起码个人或小型集体)用户仍然是自由使用 Ubuntu(且自由下载源码的)。而在商业氛围中,Ubuntu 提供长期服务,且其市场与服务探索脚步,肯定走得更远(与Debian比较)。
    • Ubuntu 即满足上述需求, 成为 Unix-like OS“主线任务”的新的继承发展。

    01

    Ubuntu OS

    1.1 代码源于 Debian

    1. Ubuntu 基于 Debian 架构与基础的 Linux 分布,且绝大部分由自由软件与开源软件组成,包括了 Linux 服务器与桌面系统。
    2. 具体地说,Ubuntu 的 Packages/包,基于 Debian 的 unstable(非稳)分支。

    1.2 Ubuntu 版本发布

    1. 由于 Ubuntu 不强调 binary(生成物) 兼容,Ubuntu 需要对 Debian 的源码进行重新编译。
    2. 多数开发者,同时在 Debian 包中,维持着 Ubuntu 的关键特性的(原始)版本。
    3. (修改或升级后的)Ubuntu 的包,被鼓励重新回到 Debian 发布。经常有人指责,这样的“回家”发布,太少太不频繁。
    4. Ubuntu 的“里程/milestone”release 每 6个月进行发布(即每 6个月与 Debian 同步一次)。
    5. 长期支持版本/LTS(Long Term Support)则每 2年发布

    1.3 Ubuntu 的主要模块

    • 内核:Linux kernel
    • 桌面环境:GNOME
    • 办公工具:LibreOffice, Firefox, Thunderbird, Transmission
    • 包管理工具:APT
    • 安全:用户权限的低特权,sudo 工具,以及内建防火墙等

    1.4 Packages/包的分类

    如前述讲义提及,Stallman 的 GNU/Linux OS 完全由自由软件组成,而 Debian GNU/Linux OS 则将软件仓库分为自由软件,与非自由软件的不同部分。

    至于 Ubuntu,作为真实的最广泛使用的 Linux OS,它(拓展)约定了不同包的分类与支持:

    这些分类支持包括:

    • Canonical 支持的自由软件(即 “main”区),(除源码外)也可以包括不能修改的 firmware(固件)。
    • Canonical 也支持非自由软件(即“Restricted”区),比如不含源码,仅二进制生成物(binary-only)的显卡驱动。
    • 上述 Canonical 支持的自由软件,与非自由软件,即可支撑全面的桌面系统。而其他的特定目的软件/工具,则位于“Universe”区(自由软件),与“Multiverse”区(非自由软件),为其他各自支持所属。
    • 非自由软件,且不被 Canonical 支持的,位于 Multiverse 的第三方软件,可以通过 Ubuntu 进行购买。

    02

    发布 Ubuntu 的 Canonical 公司

    2.1 Mark Shuttleworth 与 Canonical

    • 1990s 年代,Shuttleworth 作为 Debian OS 的开发者之一,参与该系统。
    • 2004年10月20日,他的公司 Canonical(当前总部位于伦敦), 于 Debian 基础上发布 Ubuntu OS(他的 Ubuntu 基金会于次年成立,初始投资 1千万美元)。
    • 这可以解释 Ubuntu 这个非洲气息的名称的由来(他具有南非/英国双国籍),以及每个版本以字母相邻的动物名称为代称的缘故(南非部落之物种和谐的人文文化)。

    拓展介绍:

    1. 2002年,Shuttleworth 作为首个南非游客,支付2千万美元后,搭乘俄国联盟号宇宙飞船完成太空之旅。
    2. 他从南非转移巨额资金到马恩岛后陷入官司,随后 2015年,法院最终作出有利于他的裁决。

    2.2 Ubuntu 与 Debian 关系的自述(来自 Canonical 官网)

    • Ubuntu 构建于 Debian 架构与基础,并广泛与 Debian 开发者合作。
    • Ubuntu 有着不同的用户界面。
    • Ubuntu 有着不同的社区(尽管很多开发者两个项目都参与)。
    • Ubuntu 有着不同的版本发布过程。
    2.3 Ubuntu 的目标(来自 Canonical 官网)
    • Ubuntu 开发并维护,基于 Debain 的跨平台,开源操作系统。
    • 主要致力于品质发布,企业安全升级,与(整合,安全,性能的)关键平台能力之引领。

    2.4 公司发展

    (1)基础信息

    本着“为众人抱薪者,不可使其冻毙于风雪”的考虑,简单检查了一下公司信息,研学其在开源与自由软件世界生存方式。

    1. 2008年,接受“卫报”访问时,Shuttleworth 说 Ubuntu 的商业模式是“提供服务”,尚未接近盈利(尚需 3~5年)。
    2. 2009年,在“纽约时报”的文章中,他又说 Ubuntu 的盈亏线是营收 3,000万美元,而已经少许盈利(28万美元)。
    3. 直到 2017 年,公司据称始终在财务中挣扎。
    4. 而现在(2025年9月),检查其官网,Canonical 已经发展为遍布 80个国家的,拥有超过 1,200 名雇员的集团。

    (2)云服务与 IoT,AI 服务

    检查公司的产品线,似可观察除了利用 Ubuntu 的长期企业服务外,其产品线发展更像是一个“云服务公司”(免费的 OS 个人自由下载,只是其商业模式的“搭头”)。

    (3)开源相关产业讨论

    1. 国内的产业资本(特别是曾经的传统产业),似可观察电子信息产业发展的新路子。原本只投入无产出的“开源/自由软件”项目,也可以有众多的创新方式,正如 Canonical 所为。
    2. 伴随第四次产业革命(AI)的兴起,即便是低成本的开源软件/硬件公司的投入,也大有可为。勿被明显的“提高门槛”式的,马云马化腾李彦宏华为的投入宣传吓到。打量一下 Shutterworth 透露的初始阶段的营收平衡,这可能只是深圳一家普通的,无法上市的小型电子企业的年度营收(试想一下,它的产品可是一个大型复杂桌面/服务器 OS)。当然这是10多年前的数据,但也应当考虑与中国人工与运营开销折中。
    3. Canonical 利用 Debian 开源社区的千名开发者社区的无偿投入,通过解决用户需要长期服务的痛点,并借助 OS 的快速部署的全球拓张,将业务拓展到高级企业安全定制,云空间服务,IoT 集成,以及页面显示的 AI 等产品服务,都显示这套商业模式的真实性。
    4. 这模式符合中国社会当前从劳动密集型结构,向智力密集型结构转型的大趋势。每年千万高校毕业生,向社会提供了巨大的“工程师红利”。高新人才并非冗余,小视频上的 985 研究生杀猪种地,也是正常的部分就业分流。而属于双创类型的,社会转型需求人才,就藏在这千万莘莘学子中间。梁文锋,汪滔,都是成功的例子(他俩急剧推动了当前社会转型。他们的企业初始阶段,也都并非什么庞然大物)。
    5. 在校园阶段,可能初步完成了语言基础学习童鞋,实现包括 BSD-like 项目,以及开源软硬件项目的积累到实际产品转移(注意连续数讲解释的,BSD-like 与开源/自由软件/GPL-like 存在着不同性质证书),都并非什么难事。这里认为,人才储备上完全符合中国社会转型之需求。传统产业资本的眼光,似可看过来(这比投入半导体设备要容易太多)。

    (4)Fedora

    1. 作为比较,另一个最流行的 Linux OS 发布之一 Fedora,同样也是商业公司 Red Hat(缘起 1994年) 背后的支持(2019年,Red Hat 被 IBM 收购,作价 340亿美元)。
    2. Red Hat 在 2003年,产品分裂产生了 Fedora Project(社区项目),以及 Red Hat Enterprise Linux (RHEL)。红帽子在开源世界的商业模式,这里没有研学,但从产品分裂与最终 IBM 买单的结果来看,似在服务大型企业之中间件业务上,颇有建树。有兴趣的产业资本可继续调研。

    2.5 Ubuntu 部署状况

    1. 2020年,一项产业调查显示:服务 website 的网络服务器中,Linux/Unix 分布两倍于 Microsoft Windows,而 Ubuntu/Debian 占据了 Linux OS 中的 65%(“宗门任务”的 Unix OS,仅个别公司应几可不论),而 Ubuntu 又压倒 Debian,在全部的 web serving 中占据约 30% 的分布。
    2. 早前听到一些产业消息说,现在政府的采购均以“非 Windows OS”优先,这似乎也来得比较晚。Ubuntu 在政府部门,教育部门取代 Windows 的趋势,在 20年前就开始发生,主要集中在欧洲。2013年棱镜门后,似有加速趋势。这里推测,芬兰学生的核心贡献,以及 Ubuntu 总部伦敦的背景,都在加速这个系统部署在欧洲扩散过程(欧洲对该 OS 应倍感亲切)。
    3. 国内的终端系统之争不晓得谁领先,华为在 Server 端提供的是 EulerOS(也是 Linux 分布),在个人终端提供鸿蒙 OS。但这里观察华为鸿蒙模式,非常像苹果,也就是建立在优质高价的硬件终端壁垒上的,品牌固定份额的传播。这里浅见不值一提,仅作参考。

    03

    Ubuntu 的官方变体

    Ubuntu 的官方变体包括:

    • Kubuntu:使用 KDE GUI 的桌面系统。
    • Lubuntu:使用 LXQt GUI 的轻量级系统。
    • Ubuntu Core:Iot 与嵌入系统。
    • Xubuntu:使用 Xfce 的低能耗系统。
    • Ubuntu Server
    • Ubuntu Kylin(优麒麟):中国市场版本

    讨论:

    • “Ubuntu Kylin”与中国“银河麒麟”不同。查询百度,“银河麒麟”源于 FreeBSD 的 Linux 内核,由国防科技大学开发。
    • 如果这条信息为真,那么“银河麒麟”确实可以闭环商业化(属于 Unix-like OS 的“殿堂任务”路径),而非走向社区开源的 GNU/Linux (“主线任务”路径)。
    • 拓展讨论:与欧洲不同(他们完全丧失了中美 cpu 硬件之争的能力),当前国产 cpu 似乎呈现全路径的特点,既有来自不同渠道的 CISC 指令授权(x86),又有 ARM 架构(如 v8),还包括 Alpha 授权指令集,其他小众的自研指令等。不清楚未来 EUV 突破后,比如在低于 5nm,使用包括类似 RISC5 开源的,各种指令集的 cpu 上,会在中国市场混战出哪种 OS(竞争对手还包括,这里提前来卡位的优麒麟)?根据西幻网文,需要拿到序列一。根据东方仙侠网文,需要在道果上称仙位唯一。估计在 2030s 将看到结果。

    04

    WSL2(Windows 子系统)

    2019年,Windows 宣布了 WSL2,Canonical 声明其“完全支持 Ubuntu”。

    以下内容来自 Canonical 的 Ubuntu on WSL 网页:

    1. WSL2 是当前 Windows 的默认版本。
    2. 不同于 WSL1,WSL2 在一个轻量级虚拟机(virtual machine)上,运行着一个“完全的 Linux 内核”(full Linux kernel)。
    3. WSL2 增加了图像应用的支持,以及 systemd(系统与服务管理套装)。后者(systemd)增加了对比如 Snaps(包管理工具),cloud-init(云服务配置工具)的支持。前者,支持图形应用(graphical applications)。
    4. 图形应用(graphical applications)支持:(1)AI 开发常见的 GPU 加速(CUDA)。(2)尽管 WSL 是终端环境,但是也能运行 Linux-native 图形应用。网页文档中,给了一个绘制“分形”的例子,见下图。

    讨论:网络上有大量混乱的介绍,如果在官网这份文档中,这里没有理解错(见标成黑体的内容)。

    1. WSL2 仍然是命令行终端环境,目的仍是在 Windows 上进行跨平台开发。
    2. 对 Windows 之 GUI (驱动?)的支持,能利用驱动 api 做 CUDA 开发,以及在桌面上打印图像。但似无“在 Windows 上运行 Linux 桌面的说法”?
    3. 此外,对新的包管理(下载)工具 Snaps 也支持。

    05

    总结

    1. 由于每 6个月与 Debian 的同步,Ubuntu 就像是被商业公司 Canonical 支持的,长期稳定支持系统的 LTS 版本。因此,与 Debian 系统基本架构相同。
    2. 拓展讨论了开源世界中,Ubuntu 存在的模式。
    3. 对 WSL2 的 Canonical 官网内容,进行了摘选介绍。

  • LinuxMint怎么安装? Linux Mint22下载安装图文教程

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    Linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对于想从 Windows 或 macOS 转投 Linux 阵营的小白用户来说,它也是一个「新手上路」的绝佳选择。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    目前,最新版本的 Linux Mint 22 代号为「Wilma」,提供了三个主要版本:Cinnamon、Xfce 和 MATE。作为一个 LTS(长期支持)版本,Linux Mint 22 将支持直到 2029 年,非常适合注重稳定性和长期使用的用户。

    如果你还不知道什么是 Linux Mint ,一定不要错过这篇文章。

    Linux Mint 22 硬件要求

    • 内存:至少需要 2GB,但建议 4GB 或更大,运行更流畅。
    • 处理器:双核处理器起步,性能足够应对日常使用。
    • 磁盘空间:最低需要 20GB 可用空间,但建议预留 100GB 或以上,方便后续安装软件和存储文件。
    • 显示器:分辨率至少 1024×768,确保显示效果清晰。
    • 互联网连接:安装过程推荐连网,以便获取最新更新和驱动。
    • U 盘:准备一个 4GB 或更大容量的 U 盘,用于制作启动盘。

    第 1 步:下载 Linux Mint 22.1 安装镜像

    1、根据你的需求和喜好,从以下链接下载对应的 ISO 镜像:

    Cinnamon 版本界面现代、功能丰富,适合大多数用户;Xfce 版本轻量高效,适合老旧设备;MATE 版本则介于两者之间,兼顾性能和美观。

    2、将.iso文件保存到本地,接下来我们会用它来制作 Linux Mint 22 的启动 U 盘。

    第 2 步:制作 Linux Mint 启动 U 盘

    制作启动 U 盘是安装 Linux Mint 22 的关键步骤。你可以参考这篇文章中的详细教程,操作步骤十分简单。唯一的区别是:将教程中提到的 Ubuntu ISO 替换成你刚刚下载好的 Linux Mint ISO 文件。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    使用 Rufus 制作 Linux Mint 启动 U 盘

    第 3 步:从 U 盘引导 Linux Mint

    1、将电脑完全关机,然后断开所有不必要的 USB 设备和外部存储设备(比如移动硬盘、读卡器等),只保留键盘、鼠标。这样可以避免引导过程中出现干扰。

    2、插入 Linux Mint 启动 U 盘并开机,进入 BIOS/UEFI 设置界面,然后选择 U 盘引导。

    第 4 步:安装 Linux Mint 22

    1、系统启动后,在 Grub 菜单中选择「Start Linux Mint」并按回车。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    选择「Start Linux Mint」

    2、桌面加载成功后,双击「Install Linux Mint」启动安装向导。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    双击「Install Linux Mint」

    3、在欢迎界面选择「中文 (简体)」,然后点击「继续」。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    选择系统语言

    4.1 选择「键盘布局」

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    在这里,系统已经自动检测出我使用的是「Chinese」键盘布局。如果没有检测出来或不正确,可以手动「探测键盘布局」或干脆手动指定。设置好后点击「继续」。

    选择「键盘布局」

    4.2 安装「多媒体编解码器」

    在接下来的步骤中,推荐勾选「安装多媒体编码译码器」,然后单击「继续」。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    勾选「多媒体编解码器」

    4.3 选择「安装类型」

    • 要进行全新安装,请选择「清除整个磁盘并安装 Linux Mint」,再点击「现在安装」。
    • 对于有特殊需求的用户,可以通过「高级特性」:
      • 在 Linux Mint 新安装中使用 LVM:LVM(逻辑卷管理)是一种工具,可以让你灵活管理磁盘空间,方便进行调整和扩展。
      • 加密 Linux Mint 新安装以提高安全性:这个选项会对硬盘内容进行加密,你需要在下一步设置一个安全密钥来解密和使用磁盘。
    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    选择「安装类型」

    • 如果要手动分区,请选择「其它选项」再单击「继续」。 此时会打开一个新对话框,让你创建分区表和逻辑驱动器。 下面会介绍如何对磁盘进行分区。

    4.4 创建磁盘分区(可选)

    1、双击设备列表中的磁盘,例如dev/sda,或者在选中后点击「新建分区表」>「继续」。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    新建分区表

    2、创建「EFI 系统分区」:这是 UEFI 系统的必选分区。 它将保存由 UEFI 固件启动的 EFI 引导加载程序和驱动程序。选择「空闲」空间,然后点击添加「+」按钮,创建一个新的分区,并设置 EFI 分区属性:

    • 大小:100 ~ 500 MB
    • 新分区类型:主分区
    • 新分区位置:空间起始位置
    • 用于:EFI 系统分区
    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    创建「EFI 系统分区」

    3、创建「SWAP 交换空间」:SWAP 在内存用尽还需要额外空间时才激活,它也会被用于休眠模式,允许你保存并恢复系统状态。选择「空闲」空间,然后点击添加「+」按钮,创建一个新的分区,并设置以下属性:

    • 大小:500 MB 或更大,推荐与内存大小相同。
    • 新分区类型:主分区
    • 新分区位置:空间起始位置
    • 用于:交换空间
    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    创建「交换空间

    4、创建「保留 BIOS 启动区域」:用于存储引导加载程序代码。选择「空闲」空间,然后点击添加「+」按钮,创建一个新的分区,并设置以下属性:

    • 大小:1 MB
    • 新分区类型:主分区
    • 新分区位置:空间起始位置
    • 用于:保留 BIOS 启动区域
    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    创建「保留 BIOS 启动区域」

    5、创建「根分区」:选择「空闲」空间,然后点击添加「+」按钮,创建一个新的分区,并设置以下属性:

    • 大小:所有剩余的空闲空间,最小应为 20 GB,但建议大于 100 GB。
    • 新分区类型:主分区
    • 新分区位置:空间起始位置
    • 用于:Ext4 日志文件系统
    • 挂载点:/
    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    创建「根分区」

    6、创建好所有分区后,单击「现在安装」。在弹出窗口中,单击「继续」查看并确认新的分区表设置。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    点击「现在安装」

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    确认分区并继续

    4.5 选择「当前时区」

    接下来,就来到了时区设置,国内通常选择「上海」即可。选择好之后点击「继续」,你也可以在以后随时更改时区。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    选择「系统时区」

    4.6 创建用户账户

    这一步想必不用解释,按你的实际情况填写好要创建的用户,然后点击「继续」。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    创建用户账户

    第 5 步:完成 Linux Mint 安装

    1、接下来,Linux Mint 会正式开始复制文件并进行安装。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    开始安装并复制文件

    2、安装完成后,点击「现在重启」。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    安装好后点击「现在重启」

    3、重启完成后,就可以登录到 Linux Mint 22 桌面了。

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    Linux Mint 22 Cinnamon 桌面

    Linux Mint 22 提供了强大的功能和友好的用户界面,无论是用于日常办公、娱乐,还是编程开发,都是一个不错的选择。通过以上步骤,只要按照指引一步步操作,小白用户也能轻松装好 Linux Mint 22 操作系统。


    在 Linux Mint 中,如果你遇到了无法使用 GNOME 桌面环境的问题,可能是由多种原因引起的。以下是一些排查和解决步骤,帮助你恢复 GNOME 桌面环境:

    1. 确认安装了 GNOME

    首先,确保 GNOME 已经被正确安装。在终端中运行以下命令来安装 GNOME(如果还未安装):

    sudo apt updatesudo apt install gnome

    2. 切换到 GNOME 桌面环境

    如果你已经安装了 GNOME,但系统默认启动的不是 GNOME,你可以通过以下方法切换:

    使用命令行切换

    在终端中,使用以下命令切换到 GNOME:

    sudo systemctl set-default graphical.targetsudo systemctl isolate graphical.target

    使用 LightDM 登录管理器

    如果你是通过 LightDM 登录管理器启动的,你可以尝试重启系统并选择 GNOME 会话:

    1. 重启电脑。
    2. 在 GRUB 菜单中选择启动时进入图形界面。
    3. 在登录界面,点击底部的“会话”选择 GNOME。

    3. 检查 Xorg 和 Wayland

    确保你的系统使用的是 Xorg 而不是 Wayland。你可以通过修改 LightDM 的配置来实现这一点:

    1. 编辑 LightDM 的配置文件: sudo nano /etc/lightdm/lightdm.conf
    2. 在文件中找到 [Seat:*] 部分,确保有如下设置: [Seat:*]greeter-show-manual-login=true
    3. 保存并关闭文件。
    4. 重启系统。
    5. 在登录界面选择“GNOME on Xorg”而不是“GNOME”。

    4. 检查日志文件

    如果 GNOME 仍然无法正常工作,查看系统日志可能会提供一些线索:

    journalctl -xe

    5. 重新安装 GNOME

    如果上述方法都不奏效,尝试重新安装 GNOME:

    sudo apt remove --purge gnome* && sudo apt autoremove && sudo apt install gnome-session gnome-desktop-environment

    在 Linux Mint 中,如果你在安装了 GNOME 桌面环境后发现 Dock(停靠栏)没有显示,可以尝试以下几种方法来解决这个问题:

    1. 确保安装了 GNOME Shell Extensions
      首先,确保你的系统安装了 GNOME Shell Extensions。可以通过以下命令安装:

    sudo apt update

    sudo apt install gnome-shell-extension-prefs

    1. 安装或启用 Dash to Dock 扩展

    Dash to Dock 是一个流行的 GNOME Shell 扩展,可以提供类似于 Windows 的 Dock 功能。你可以通过以下步骤安装并启用它:

    打开 GNOME Extensions 网站(https://extensions.gnome.org/)并搜索 “Dash to Dock”。

    找到 Dash to Dock 扩展并点击“安装”。

    在弹出的对话框中,点击“安装”以完成安装。

    重启你的系统或重新登录你的用户账户。


    手动启用 Dash to Dock
    如果你已经安装了 Dash to Dock,但是它没有自动启用,你可以通过以下步骤手动启用它:

    1.打开终端。

    2.输入以下命令以启用 Dash to Dock:
    gnome-shell-extension-tool -e dash-to-dock@gnome-shell-extensions.gcampax.github.com

    3.重新登录或重启你的系统。

    1. 检查 GNOME Shell 是否正在运行
      确保 GNOME Shell 是正在运行的。你可以通过按 Alt + F2,然后输入 r 并回车来重启 GNOME Shell。
    2. 检查 GNOME Shell 扩展是否被禁用
      有时候,扩展可能会被禁用。你可以通过以下步骤检查并启用它们:

    打开“扩展”应用(你可以通过搜索“Extensions”来找到它)。

    在 Dash to Dock 的设置中,确保它被勾选为启用状态。

    应用更改并重启系统或 GNOME Shell。

    1. 确认系统更新和依赖项
      确保你的系统是最新的,并且所有依赖项都已正确安装:sudo apt update && sudo apt upgrade

    在Linux Mint安装GNOME后DOCK栏不显示的问题,可能由配置错误、桌面环境冲突或系统更新导致。以下是综合解决方案:

    1.检查DOCK是否被隐藏右键点击桌面空白处,选择「面板首选项」或「配置面板」,确认DOCK未被设置为自动隐藏,对于GNOME,可通过Alt + F2输入 ==gnome-shell-extension-prefs== 检查扩展设置

    2 ‌.重启GNOME Shell或Plasma服务
    ‌GNOME‌:按Alt + F2输入r重启Shell或执行命令:gnome-shell –replace

    3‌ .验证系统设置与更新‌
    进入「设置」→「外观」→「行为」,确保DOCK相关选项已启用‌
    更新系统以修复潜在兼容性问题:
    sudo apt update && sudo apt upgrade

    4.重置桌面环境配置‌
    备份后删除GNOME配置文件(恢复默认设置):
    mv ~/.config/dconf/user ~/.config/dconf.user.bak

    重启系统生效‌

    若问题持续,重装GNOME组件:
    sudo apt install –reinstall gnome-shell

    LinuxMint怎么安装? Linux Mint22下载安装图文教程

    Ubuntu 桌面设置界面显示 ‌“No Ubuntu settings found”‌,伴随“哎呀,出了些问题。请在 Launchpad 上报告错误。”,核心是 ‌Ubuntu 桌面设置组件缺失‌ 导致功能异常。
    解决步骤(按优先级尝试)

    1. 重启桌面环境(快速排查临时故障)
      按 Ctrl + Alt + F2 切换到终端,输入 sudo service lightdm restart(或 sudo systemctl restart lightdm,依系统配置),重启桌面服务后,重新进入设置界面。
    2. 修复 Ubuntu 桌面依赖包(解决组件缺失)
      以管理员权限打开终端,执行以下命令:
      sudo apt update
      sudo apt install –reinstall ubuntu-desktop

    apt update 更新软件源索引,确保包列表最新;
    apt install –reinstall ubuntu-desktop 重新安装 Ubuntu 桌面核心组件,修复缺失依赖。

    1. 检查并修复系统依赖(深层次故障)
      若上述步骤无效,执行:sudo apt –fix-broken install
      该命令会自动修复系统中“损坏”或“依赖冲突”的软件包,解决因依赖缺失导致的设置组件丢失问题。
    2. 重置 Ubuntu 桌面配置(极端情况)
      若配置文件损坏,可重置桌面配置(需备份重要数据):
      mv ~/.config/dconf/user ~/.config/dconf/user.backup

    重启后,系统会生成新的配置文件,尝试重新进入设置界面。

    后续验证
    修复后,重新进入 ‌“设置”→“Ubuntu 桌面”‌,若界面正常显示(无报错),则问题解决。

    若以上步骤均无效,需进一步排查系统核心组件(如 gnome-shell、gsettings 等)是否损坏,或考虑重新安装 Ubuntu 桌面环境。

    最终结果

    LinuxMint怎么安装? Linux Mint22下载安装图文教程
    LinuxMint怎么安装? Linux Mint22下载安装图文教程

  • Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    Linux系统作为全球最流行的开源操作系统,在开发、运维和科研领域发挥着不可替代的作用。而​​Ubuntu​​作为基于Debian的Linux发行版,以其用户友好的界面、丰富的软件生态和稳定的长期支持(LTS)版本,成为了无数初学者和技术专家的首选。然而,对于许多刚刚接触Linux的用户来说,直接在物理机上安装操作系统存在​​数据风险​​和​​硬件兼容性​​问题,这使得​​虚拟机安装​​成为了最安全、最便捷的入门方式

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    以上步骤安装完毕。


    二、配置环境

    更新软件镜像源

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    选择显示应用-软件与更新-Ubuntu软件-下载自-其它-选择最佳服务器-选择好后应用并载入

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    换完源后执行sudo apt-get update 和sudo apt-get upgrade

    更新系统
    更新本地包装索引,确保 /etc/apt/sources.list 文件中的存储库最新。
    sudo apt update
    更新本地软件包列表后,将软件包升级到最新版本。
    sudo apt upgrade -y


    第一种安装VMTOOLS的方式

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    但是VMTOOLS没有启动,那么打开命令行输入:sudo apt-get install open-vm-tools

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    第二种安装VMTOOLS的方式

    在安装VMTOOLS之前先把ROOT下的文件目录全部改成英文。

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    可以看到文件夹名字全是英文的了

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    然后继续把语言设置改回来

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    然后再进行安装

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    4.COPY TOOLS文件到HOME目录下的随意一个目录下并进入到wmware-install.pl这个文件的目录,右键进入命令行sudo -i先提权

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    运行这个文件

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境
    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    三、安装UBUNTU基础软件

    sudo apt update && sudo apt install -y git curl wget vim

    Ubuntu虚拟机安装指南:从零开始轻松部署Linux环境

    设置ROOT账户

    Ubuntu默认没有开启root登录,如果有需求,

    按以下方法配置root用户:sudo passwd root

    按照提示设置密码。

    验证:su root,可以使用密码登入即成功。


    开启防火墙(可以以后再设)

    为了保护你的 ubuntu 24.04 桌面,强烈建议开启 ubuntu 防火墙(ufw)
    udo ufw enable
    sudo ufw status
    sudo ufw default deny incoming // 拒绝所有入站流量
    sudo ufw default allow outgoing // 允许所有出站流量
    您可以只允许特定的端口,如 22、80 和 443 等。
    sudo ufw allow 22
    sudo ufw allow 443


    开启 Flatpak 支持

    Flatpak 是一个在沙箱环境中运行的 Linux 通用包管理实用程序。

    Flatpak 应用程序可以安装在任何安装了 Flatpak 的 Linux 系统上。

    与 snap 应用程序一样,Flatpaks 应用程序与系统的其他部分隔离运行,提供强大的安全性、稳定性和无包冲突。
    Flatpak 是完全开源的,与 Snap 相比,它在大多数 Linux 发行版上都有优势,而且占用的内存更小,启动更快。此外,FlatHub 门户网站提供了无数的 Flatapps,你可以下载并安装到你的系统上。
    启用 Flatpak 支持: sudo apt install flatpak gnome-software gnome-software-plugin-flatpak
    添加 Flatpak 存储库: flatpak remote-add –if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo


    设置输入法并卸载ibus:

    sudo apt purge ibus
    选择显示应用-语言支持-键盘输入法-Fcitx5


    DEB格式软件安装

    从网上下载安装包,切换到包含.deb文件的目录(或者使用文件的完整路径)。

    方法1:在终端中输入:sudo dpkg -i package_name.deb
    #如:sudo dpkg -i zyfun-linux-3.4.0-amd64.deb

    方法2:在终端中输入:sudo apt install ./package_name.deb
    将package_name.deb替换为你的.deb文件名。

    注意事项:
    如果在安装过程中遇到依赖问题,apt或apt-get会自动提示你解决这些问题。你可以按照提示操作,例如使用以下命令来修复依赖:
    在终端中输入:sudo apt-get -f install package_name.deb
    #如:sudo apt-get -f install zyfun-linux-3.4.0-amd64.deb


    查看已安装的软件:

    apt list –installed | grep m3u8 #比如软件内有的软件m3u8
    sudo apt remove m3u8-downloader
    sudo apt-get purge m3u8-downloader

    正常使用这个命令提权就可以打开
    sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0

    如果安装的软件打不开请使用
    sudo rm -rf /var/lib/apt/lists/*
    sudo apt update
    sudo dpkg –configure -a
    sudo apt clean
    问题:在ubuntu 24.04.2上全新安装vscode、edge的deb包后,不论是点击图标,还是terminator里面运行程序,均没有反应。
    检查:可以通过命令行执行如下命令,来测试是否因为权限不够。
    code –verbose
    sudo snap install code –classic
    处理:如提示权限不够,执行以下命令,即可解决。
    sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
    zyfun –verbose #比如之前打不开的软件叫zyfun


    设置DEB文件的开机后自动权限

    在Ubuntu 24.04中实现该命令的开机自启动,推荐以下两种主流方案:

    方案一:Systemd服务配置(推荐)

    ‌操作1:创建服务文件
    sudo nano /etc/systemd/system/apparmor-unlock.service

    操作2:写入以下内容:
    [Unit]
    Description=Disable AppArmor user namespace restriction
    After=network.target

    [Service]
    Type=oneshot
    ExecStart=/usr/sbin/sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
    RemainAfterExit=yes

    [Install]
    WantedBy=multi-user.target

    操作3:启用服务‌
    sudo systemctl daemon-reload
    sudo systemctl enable –now apparmor-unlock.service

    方案二:rc.local传统方式

    ‌操作1:激活rc.local服务
    sudo cp /usr/lib/systemd/system/rc-local.service /etc/systemd/system/
    sudo nano /etc/rc.local
    添加以下内容(需包含shebang):
    #!/bin/bash
    /usr/sbin/sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
    exit 0
    赋予执行权限:
    sudo chmod +x /etc/rc.local

    ‌操作2:启动服务‌
    sudo systemctl enable rc-local
    sudo systemctl start rc-local
    验证方法
    执行sudo systemctl status apparmor-unlock或journalctl -u rc-local查看日志
    重启后通过sysctl kernel.apparmor_restrict_unprivileged_userns确认值为0
    注意事项
    Systemd方案支持服务状态管理和日志追踪,优先级高于rc.local
    若需永久生效,建议同步写入/etc/sysctl.d/配置文件


    手动创建桌面图标

    在ubuntu 20.04上用 deep_wine 安装 notepad++, source insight 4 后,发现应用程序中没有图标, 自己手动创建图标:

    1.进入 /usr/share/applications 文件夹, 会发现有许多desktop文件,这些都是快捷方式文件, 参照已有的新建一个.

    2.打开终端 ,输入 sudo gedit notepad++.desktop , 把下面内容拷贝进去,保存退出

    [Desktop Entry]

    Version=1.0
    Encoding=UTF-8
    Type=Application
    Name=Notepad++
    Icon=/home/ubuntu/tools/notepadd++/notepad++48.png
    Exec=deepin-wine /home/ubuntu/.wine/drive_c/Program\ Files/Notepad++/notepad++.exe
    Comment=Edit
    Categories=Development;
    Terminal=false

    3.Exec为启动程序命令,Icon是图标,自己可以相应的修改

    ps: 关于icon图标, 如果没有现成的, 可以使用工具从exe文件中提取出来, 推荐 IconWorkShop 工具, 把exe文件拖进IconWorkShop以限制模式打开就能看到里面图标,导出图标保存为png文件.

    查看CPU:lscpu

    查看内存:free -h

    查看机器IP:curl cip.cc

    测速:speedtest

  • 端口转发及使用场景

    端口转发及使用场景

    我在WINDOWS10的安装了VM虚拟机,虚拟机通过NAT网络模式里又装了一个WIN10系统,在虚拟机的WIN10系统里又通过WSL2安装了一个UBUNTU子系统,安装VM虚拟机的IP为192.168.2.14,虚拟机里的WIN10系统的IP为192.168.60.30,虚拟机里WIN10的UBUNTU子系统IP为172.21.229.20。然后我在UBUNTU子系统里安装了一些服务,我要怎么通过同局域网的手机访问到UBUNTU子系统上的服务?

    端口转发及使用场景

    要实现手机访问嵌套在VM虚拟机内WSL2 Ubuntu子系统的服务,需配置三层端口转发和防火墙规则。

    整体路径为:‌手机 → 物理机 → VM虚拟机Win10 → WSL2 Ubuntu‌。以下是具体步骤:


    🔧 一、配置WSL2到虚拟机Win10的端口转发

    在‌虚拟机内的Win10系统‌中操作:

    1. 以管理员身份打开PowerShell
    2. ‌执行端口转发命令 ‌(以Ubuntu服务端口80为例):
       powershell
       netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=172.21.229.20
    • 8080:虚拟机Win10的监听端口
    • 80:Ubuntu服务的实际端口(按需替换)
    1. ##### ‌开放防火墙端口‌:
    • 进入高级安全Windows防火墙 → 入站规则 → 新建规则 → 端口
    • 允许TCP协议,端口填写8080(与转发端口一致)

    ⚙️ 二、配置物理机到VM虚拟机的端口转发

    在‌物理机(192.168.2.14)‌ 中操作:

    1. ##### ‌打开VMware虚拟网络编辑器‌:
    • 选择VMnet8(NAT模式)→ NAT设置 → 添加端口转发
    1. ‌添加转发规则‌: 字段 值 主机端口 9090(物理机端口) 虚拟机IP地址 192.168.60.30(虚拟机Win10的IP) 虚拟机端口 8080(上一步设置的端口)

    🔒 三、配置物理机防火墙

    在物理机中开放端口:

    • 允许物理机的9090端口(与VMware转发端口一致),方法同步骤一.

    📱 四、手机访问服务

    手机通过浏览器或工具访问:

    http://192.168.2.14:9090  # 物理机IP + 端口
    • 192.168.2.14:物理机IP(宿主机)
    • 9090:物理机映射端口

    ⚠️ 注意事项

    1. ##### ‌IP变动问题‌:
    • WSL2的IP(172.21.229.20)重启后会变化,需在虚拟机Win10中定时更新转发命令(可通过开机脚本自动获取WSL2 IP并重置转发)4。
    1. ##### ‌多层端口一致性‌:
    • 物理机端口(9090)→ 虚拟机端口(8080)→ Ubuntu服务端口(如80)需逐层对应。
    1. ##### ‌服务协议支持‌:
    • 若服务使用UDP(如游戏服务),需在防火墙规则中切换协议类型。
    最终路径:手机 → 物理机IP:9090虚拟机IP:8080WSL2 IP:服务端口
    若连接失败,逐层检查端口转发规则和防火墙状态。

    Windows 系统

    端口转发命令‌(管理员权限运行):

    cmd
    netsh interface portproxy add v4tov4 listenport=<外部端口> listenaddress=0.0.0.0 connectport=<内部端口> connectaddress=<内部IP>
    
    如虚拟机内WSL2的UBUNTU子系统IP为172.21.229.160内部服务端口为22,我要通过WIN10虚拟机的监听的端口为22222,
    
    示例
    netsh interface portproxy add v4tov4 listenport=22222 listenaddress=0.0.0.0 connectport=22 connectaddress=172.21.229.160
    或者最妥当的是
    netsh interface portproxy add v4tov4 listenport=22222 listenaddress=0.0.0.0 connectport=22 connectaddress=127.0.0.1

    示例:将本机8080端口转发到内网服务器 192.168.1.100:80:

    cmd
    netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=192.168.1.100

    查看端口转发规则‌:

    cmd
    netsh interface portproxy show all

    删除端口转发规则‌:

    cmd
    netsh interface portproxy delete v4tov4 listenaddress=<监听地址> listenport=<监听端口>
    
    示例:
    netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=0.0.0.0
  • 保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    在数字时代,操作系统是我们与计算机交互的核心桥梁。然而,电脑长期使用后难免会遭遇系统卡顿、病毒侵扰或莫名错误,此时​​重装系统​​往往是一劳永逸的解决方案。

    开始使用前的特别说明

    PE盘不是能够一键安装的系统安装盘,这点请特别注意。需要在开机时,选择从U盘启动进入,而不是在正常运行的系统下使用。通过U盘启动进入PE之后,如果要安装系统,需手工挂载ISO镜像,按照一定的流程安装。

    微PE优盘内的PE系统存储于不可见的隐藏分区。系统ISO镜像、常用装机软件均在这个可见的分区内。这些可见的内容是可以随意删除和替换的。在新的Win10系统上,会多显示一个叫EFI的分区,不用管就好。

    搞清楚UEFI和Legacy(俗称BIOS)启动方式区别很重要

    请务必了解UEFI和Legacy(俗称BIOS)启动方式的大概含义。因为现在市面上的很多新机型,都是UEFI和Legacy共存的。以不同的启动方式进入PE之后,看到的启动界面和后续的操作并不完全相同。当然如果您遇到的机器比较老,只有Legacy启动,就不存在这个问题。关于UEFI和Legacy启动方式的具体含义和区别可以自行查询学习。

    微PE优盘是支持USB3.0和NVME盘的。但最终是否支持还是取决于安装的系统本身。众所周知,原版的WIN10,WIN8.1原生支持,但XP、WIN7并不支持。如果您在带NVME和USB3.0的新机器上装XP、WIN7,大概率会蓝屏或键盘鼠标不可用。


    在微PE优盘的装机软件目录中,自带了4个可以安装进系统、U盘、移动硬盘、生成ISO的PE工具箱软件。

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    直接运行其中一个版本的PE软件,可以按需进行PE的二次安装。无论是安装进系统、U盘、移动硬盘、生成ISO均为一键安装。

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    微PE制作U盘启动与安装系统的教程:

     一、准备工作

    1. 准备一个U盘:容量建议8GB或以上,最好使用USB 3.0接口的U盘。

    2. 备份U盘数据:制作启动盘会格式化U盘,导致数据丢失,因此需提前备份。

    3. 下载微PE工具箱:点击下载

    4. 下载系统镜像文件:https://leepoet.cn/operatingsystem/253.html

    二、制作微PE启动U盘

    1. 插入U盘:将准备好的U盘插入电脑USB接口。

    2. 运行微PE工具箱:双击运行下载好的微PE工具箱安装包。

    3. 选择安装到U盘:点击“安装PE到U盘”。在弹出的界面中,确认选择的U盘无误(注意不要选错磁盘,以免数据丢失)。选择安装方案,推荐选择“方案一”,可同时支持UEFI/Legacy启动。其他选项可保持默认,点击“立即安装进U盘”。
    微PE制作U盘启动盘与微PE安装系统详细教程(图解)

    微PE制作U盘启动盘与微PE安装系统详细教程(图解)

    4.这里要注意一下格式化最好是exFAT格式,因这样大部份硬件都会识别U盘里的内容。

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统


    5. 等待制作完成:微PE会自动格式化U盘并写入启动文件,制作过程通常需要几分钟。完成后,点击“完成安装”。
    微PE制作U盘启动盘与微PE安装系统详细教程(图解)

    三、将系统镜像文件拷贝到U盘

    复制系统镜像:将下载好的系统,GHO镜像文件或者ISO镜像文件复制到制作好的微PE启动U盘中。

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

     四、设置电脑从U盘启动

    1. 重启电脑:将制作好的U盘插入需要安装系统的电脑,重启电脑。

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    2. 进入启动菜单:在开机过程中,根据屏幕提示按下对应的快捷键(如F12、Esc等)进入启动菜单。
    如何进入PE系统

    无论您是想装系统、拯救文件还是解锁密码等,您要做的第一步就是从U盘启动进入PE系统。

    五.启动PE系统的关键操作顺序:

    • 第一步:在开机时进入主板的启动项列表;
    • 第二步:找到要启动的U盘,并辨别UEFI和Legeacy方式;
    • 第三步:选择一个合适的WinPE系统版本进入。
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    第一步:在开机时进入主板的启动项列表

    请将电脑关机,将微PE优盘插入到电脑后开机。然后在开机后的几秒内,当出现开机画面,按下快捷启动热键F12(不同机型请查看下面快捷键列表)进入启动项列表,然后在列表中通过方向键选择U盘所在选项,一般会带USB字样或者是U盘的品牌名(Sandisk、Toshiba之类),然后敲击回车可以进入U盘的PE菜单选择界面。

    以下为各种品牌的主板和笔记本的快捷启动按键:

    组装机主板品牌电脑
    主板品牌启动按键电脑品牌启动按键
    华硕主板F8联想电脑F12
    技嘉主板F12宏基电脑F12
    微星主板F11华硕电脑ESC或F8
    映泰主板F9惠普电脑F9或F12
    梅捷主板ESC或F12联想ThinkpadF12
    七彩虹主板ESC或F11戴尔电脑F12或ESC
    华擎主板F11神舟电脑F12
    斯巴达克主板ESC东芝电脑F12
    昂达主板F11三星电脑F12或F2
    双敏主板ESCIBM电脑F12
    翔升主板F10富士通电脑F12
    精英主板ESC或F11海尔电脑F12
    冠盟主板F11或F12方正电脑F12
    富士康主板ESC或F12清华同方电脑F12
    顶星主板F11或F12微星电脑F11
    铭瑄主板ESC或F11明基电脑F9或F8
    盈通主板F8技嘉电脑F12
    捷波主板ESCGateway电脑F12
    Intel主板F12eMachines电脑F12
    杰微主板ESC或F8索尼电脑ESC
    致铭主板F12苹果电脑长按“option”键
    磐英主板ESC
    磐正主板ESC
    冠铭主板F9
    注意:其它机型请尝试或参考以上品牌常用启动热键

    另外您还可以在BIOS设置中,将U盘设置为第一启动项启动U盘,具体方法可以百度。

    第二步:找到要启动的U盘,并辨别UEFI和Legeacy方式

    微PE优盘支持两种启动方式:

    • UEFI
    • Legacy

    当您的机器支持UEFI的话(新机器一般同时支持Legacy和UEFI),在这个启动项中一般会出现两个U盘的选项,一个是UEFI开头的,另一个是不带UEFI开头的或叫Legacy的:

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    当您的机器(老机器)只支持Legacy时,在这个主板的启动项中就只会出现一个U盘的选项:

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    UEFI/Legacy启动方式的选择,对后续安装系统的时候影响比较大,一般情况下,如果需要用EFI方法安装系统(硬盘分区表为GPT),就启动UEFI的PE。如果用传统方式安装系统(硬盘分区表为MBR),就Legacy启动方式启动PE,这个按照您自己的需求选择。如果不清楚的话可随意先进一个,如果后面遇到问题再回来重选即可。如果是只支持Legacy启动的老机器,那就没得选,只能以Legacy方式启动PE。

    注意:一些新机器默认了只开通了UEFI启动,如果需要打开Legacy启动,需要进BIOS设置中关闭SecureBoot。

    选中需要启动的U盘选项,继续敲回车之后,均会先进入PE版本选择界面。但以不同的方式进入,显示的PE选择界面是不同的。Legacy启动时,PE选择菜单为蓝色天空背景。UEFI启动时,PE选择菜单为黑色纯色背景。

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    第三步:选择一个合适的WinPE系统版本进入

    微PE优盘支持多个PE系统,在黑色或蓝色PE选择界面可以按需选择,legacy启动的蓝色菜单可以让您自由决定PE系统版本和位数32位或64位,而UEFI启动的黑色菜单,已经按照机器的情况自动确定了位数,您只能选择系统版本。10PE和8PE是目前最常用的两种PE,10PE用于比较新的机器,8PE用于比较老的机器。如果不太清楚,选默认第一个Win10PEx64就好。关于10PE、8PE、32位和64位的具体功能区别会在后续的教程中单独列出。选中后,敲击回车正式进入PE系统。

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    如果您能成功进入到这个PE桌面,并且知道自己进入的是legacy方式的PE,还是UEFI方式的PE(通过在PE版本选择菜单页中背景是蓝色/黑色确定),就完成第一步。虽然现在看起来只完成了一小步,但这是迈向成功的一大步。

    四、选择DiskGenius分区工具

    1、选择电脑的磁盘,注意不要选择成自己的U盘
    2、在进行格式化磁盘前要备份好重要资料/文件!!!

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    3、选择快速分区(格式化磁盘),可以只选择系统磁盘(C盘)

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    4、注意安装Windows10选择GUID模式,安装Windows7选择MBR模式

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统


    5、选择自定义分区,建议C盘大小设置为80~120GB
    6、选择4096扇区(4K对齐),然后点击确定

    7、磁盘配置好后,退出分区工具

    五、配置安装WINDOWS
    1. 打开Windows安装器
    2. *选择WINDOWS安装文件的位置:在U盘启动盘中的WIN10.iso镜像文件,

    *选择引导驱动的位置:这里是通过刚刚分区后的ESP引导分区,即UEFI引导,通常默认为300MB大小我们系统引导文件都会保存在这个ESP分区内。
    3.选择系统的安装位置,这里选择需要安装的系统盘位置
    4.选择Windows版本,建议选择专业版本

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    5.点击安装程序,等待安装完成

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    6.重启电脑,拔掉U盘

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    六、重启后电脑的硬件会直接加载UEFI,并启动到安装WIN的界面

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

    六、配置系统

    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统
    保姆级WIN10系统安装教程,小白适用,微PE辅助安装,适合所有win系统

  • Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集

    Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集

    Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集

    Warp, the intelligent terminal for developers!Available for MacOS, Linux, & Windows

    Web

    当前仓库搜集了 600 多个 Linux 命令,是一个非盈利性的仓库,生成了一个 web 网站方便使用,目前网站没有任何广告,内容包含 Linux 命令手册、详解、学习,内容来自网络和网友的补充,非常值得收藏的 Linux 命令速查手册。版权归属原作者,对任何法律问题及风险不承担任何责任,没有任何商业目的,如果认为侵犯了您的版权,请来信告知。我不能完全保证内容的正确性。通过使用本站内容带来的风险与我无关。当使用本站时,代表您已接受了本站的使用条款和隐私条款。

    Web 版本

    Github Web | Gitee Web | Githack | Statically

    预览搜索:https://git.io/linux

    Linux 命令大全

    你可以随意部署 web 版,这非常简单,只需要克隆 gh-pages 分支代码到你的静态服务就可以了。你也可以将 command 目录中的 Markdown 文件拿去自己生成 HTML。还可以使用下方 Docker 部署 web 版。

    ⚠️ 部署的静态网站,还是希望挂个 GitHub 地址,这样大家共同维护命令文档,让文档更加完善,更加丰富,当然删除本站所有相关信息,其实我也不太在意,默认允许你们随意搞,我不负任何负责。如果您也部署了一份,可以将网址放到下面 :)。

    由于中国国内访问,时常打不开,你可以访问下面镜像网站。也可以通过推荐或提交 PR 的方式添加你的镜像站 #649,以提升权重并加快搜索引擎收录。

    推荐使用的镜像 web 版本

    wu114.cn waadri.top zanglikun.com alapi.cn fasfuah.icu cnxiaobai.com sicangge.com largeinfo.cc srebro.cn getaifun.com devonline.net man.zch.ooo mmoke.com bqrdh.com zyimm.com vovuo.com shinote.net liguiying.cn renye.net diqi.org alistnas.top nenufm.com jiangyang.online xiyung.cn 78888889.xyz

    其它 web 版本

    briline.net pkslow.com ifdev.cn witnect.top lylme.com ftqq.com gaomeluo.com atoolbox.net xiaoshanseo.com 262235.xyz cmsblogs.cn loquy.cn buyao.vip hezhiqiang.gitbook.io utils.fun 51tools.info

    Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集

    Docker 部署

    轻松通过 docker 部署 linux-command 网站。

    docker pull wcjiang/linux-command
    docker run --name linux-command --rm -d -p 9665:3000 wcjiang/linux-command:latest
    # Or
    docker run --name linux-command -itd -p 9665:3000 wcjiang/linux-command:latest

    在浏览器中访问以下 URL

    http://localhost:9665/

    Vercel

    可以点击下面按钮一键部署至 Vercel:

    Deploy with Vercel

    部署结果

    通过 Vercel 分配的域名访问,或者自行在设置中绑定域名。

    Netlify

    可以点击下面按钮一键部署至 Netlify:

    Deploy to Netlify Button

    部署结果

    通过 Netlify 分配的域名访问,或者自行在设置中绑定域名。

    宝塔面板

    可通过宝塔面板应用商店快速部署 linux-command

    ​部署步骤​

    前提

    • 仅适用于宝塔面板 9.2.0 及以上版本
    • 安装宝塔面板,前往宝塔面板官网,选择正式版的脚本下载安装

    部署

    1. 登录宝塔面板,在左侧菜单栏中点击 Docker
    2. 首次会提示安装DockerDocker Compose服务,点击立即安装,若已安装请忽略。
    3. 安装完成后在Docker-应用商店-实用工具中找到 linux-command,点击安装,也可以在搜索框直接搜索linux
    4. 设置域名等基本信息,点击确定
    • 说明:
      • 名称:应用名称,默认linuxcommand_随机字符
      • 版本选择:默认latest
      • 域名:如您需要通过域名访问,请在此处填写您的域名
      • 允许外部访问:如您需通过IP+Port直接访问,请勾选,如您已经设置了域名,请不要勾选此处
      • 端口:默认3000,可自行修改
      • CPU 限制:0 为不限制,根据实际需要设置
      • 内存限制:0 为不限制,根据实际需要设置
    1. 提交后面板会自动进行应用初始化,大概需要1-3分钟,初始化完成后即可访问。

    访问 linux-command

    • 如果您填写域名,请在浏览器输入您的域名访问,如http://demo.linux-command,即可访问 linux-command 页面。
    • 如您选择IP+端口访问请在浏览器地址栏中输入域名访问 http://<宝塔面板IP>:6806,即可访问 linux-command 页面。

    </details>

    Linux命令分类

    这里存放Linux 命令大全并不全,你可以通过linux-command来搜索,它是把 command 目录里面搜集的命令,生成了静态HTML并提供预览以及索引搜索。

    文件传输

    bye、ftp、ftpcount、ftpshut、ftpwho、ncftp、tftp、uucico、uucp、uupick、uuto、scp

    备份压缩

    ar、bunzip2、bzip2、bzip2recover、compress、cpio、dump、gunzip、gzexe、gzip、lha、restore、tar、unarj、unzip、zip、zipinfo

    文件管理

    diff、diffstat、file、find、git、gitview、ln、locate、lsattr、mattrib、mc、mcopy、mdel、mdir、mktemp、mmove、mread、mren、mshowfat、mtools、mtoolstest、mv、od、paste、patch、rcp、rhmask、rm、slocate、split、tee、tmpwatch、touch、umask、whereis、which、cat、chattr、chgrp、chmod、chown、cksum、cmp、cp、cut、indent

    磁盘管理

    cd、df、dirs、du、edquota、eject、lndir、ls、mcd、mdeltree、mdu、mkdir、mlabel、mmd、mmount、mrd、mzip、pwd、quota、quotacheck、quotaoff、quotaon、repquota、rmdir、rmt、stat、tree、umount

    磁盘维护

    badblocks、cfdisk、dd、e2fsck、ext2ed、fdisk、fsck.ext2、fsck、fsck.minix、fsconf、hdparm、losetup、mbadblocks、mformat、mkbootdisk、mkdosfs、mke2fs、mkfs.ext2、mkfs、mkfs.minix、mkfs.msdos、mkinitrd、mkisofs、mkswap、mpartition、sfdisk、swapoff、swapon、symlinks、sync

    系统设置

    alias、apmd、aumix、bind、chkconfig、chroot、clock、crontab、declare、depmod、dircolors、dmesg、enable、eval、export、fbset、grpconv、grpunconv、hwclock、insmod、kbdconfig、lilo、liloconfig、lsmod、minfo、mkkickstart、modinfo、modprobe、mouseconfig、ntsysv、passwd、pwconv、pwunconv、rdate、resize、rmmod、rpm、set、setconsole、setenv、setup、sndconfig、SVGAText Mode、timeconfig、ulimit、unalias、unset

    系统管理

    adduser、chfn、chsh、date、exit、finger、free、fwhois、gitps、groupdel、groupmod、halt、id、kill、last、lastb、login、logname、logout、logrotate、newgrp、nice、procinfo、ps、pstree、reboot、renice、rlogin、rsh、rwho、screen、shutdown、sliplogin、su、sudo、suspend、swatch、tload、top、uname、useradd、userconf、userdel、usermod、vlock、w、who、whoami、whois

    文本处理

    awk、col、colrm、comm、csplit、ed、egrep、ex、fgrep、fmt、fold、grep、ispell、jed、joe、join、look、mtype、pico、rgrep、sed、sort、spell、tr、uniq、vi、wc

    网络通讯

    dip、getty、mingetty、ppp-off、smbd(samba daemon)、telnet、uulog、uustat、uux、cu、dnsconf、efax、httpd、ip、ifconfig、mesg、minicom、nc、netconf、netconfig、netstat、ping、ping6、pppstats、samba、setserial、shapecfg(shaper configuration)、smbd(samba daemon)、statserial(status ofserial port)、talk、tcpdump、testparm(test parameter)、traceroute、tty(teletypewriter)、uuname、wall(write all)、write、ytalk、arpwatch、apachectl、smbclient(samba client)、pppsetup

    设备管理

    dumpkeys、loadkeys、MAKEDEV、rdev、setleds

    电子邮件与新闻组

    archive、ctlinnd、elm、getlist、inncheck、mail、mailconf、mailq、messages、metamail、mutt、nntpget、pine、slrn、X WINDOWS SYSTEM、reconfig、startx(start X Window)、Xconfigurator、XF86Setup、xlsatoms、xlsclients、xlsfonts

    其他命令

    yes

    开发使用

    可以通过 npm 安装 linux-command 包,包含所有命令的 markdown 文本,和一个索引文件

    npm install linux-command
    var comm = require("linux-command");
    console.log("---->", comm.ls);

    var alias = require("linux-command/command/alias.md");
    console.log("---->", alias); // markdown string

    你也可以通过 CDN 来访问索引数据,和对应的命令详细内容,我将更新内容定期发布版本,提供大家使用,UNPKG 带上版本号,将锁定版本访问,删除版本号请求数据,将会自动重定向最新版本。

    # 命令索引 JSON 数据
    https://unpkg.com/linux-command/dist/data.json
    # 对应命令详情(Markdown)数据
    https://unpkg.com/linux-command/command/<命令名称>.md

    你也可以通过 Github 的 Raw 来,获取最新的内容

    # 命令索引 JSON 数据
    https://raw.githubusercontent.com/jaywcjlove/linux-command/master/dist/data.json
    # 对应命令详情(Markdown)数据
    https://raw.githubusercontent.com/jaywcjlove/linux-command/master/command/<命令名称>.md

    Linux学习资源整理

    社区网站

    • Linux中国 – 各种资讯、文章、技术
    • LabEx – 免费提供了Linux在线环境,不用在自己机子上装系统也可以学习Linux,超方便实用。
    • 鸟哥的linux私房菜 – 非常适合Linux入门初学者看的教程。
    • Linux公社 – Linux相关的新闻、教程、主题、壁纸都有。
    • Linux Today – Linux新闻资讯发布,Linux职业技术学习!。
    • X-CMD – Shell + AWK 为核心增强原生命令输出以及交互体验

  • Deepin 25:颜值与实力兼具的Linux桌面新标杆

    Deepin 25:颜值与实力兼具的Linux桌面新标杆

    深度操作系统deepin 25作为国产Linux发行版的杰出代表,以其卓越的桌面环境、强大的AI能力和坚实的系统稳定性,重新定义了开源操作系统的用户体验。该版本集成了​​1000多项优化修复​​,历经Preview、Alpha、Beta三轮社区共创测试,最终呈现出一个更可靠、更流畅、更自由的操作系统

    视觉与交互的全面革新

    deepin 25搭载的​​DDE桌面环境​​进行了全面QML重构,带来了肉眼可见的流畅度提升和视觉语言的统一控制中心采用创新的“侧边栏+内容区”分层结构,左侧导航一目了然,右侧设置直观便捷,使高频操作无需层级跳转文件管理器实现“即输即搜”和关键词高亮功能,大大提升了文件定位效率

    针对笔记本用户,deepin 25新增了​​三指、四指触控板手势的自定义能力​​,用户可以随心设置分屏、切换窗口等操作,大幅提升了移动使用体验。

    全面融入AI智能体验

    deepin 25引入了​​UOS AI​​智能助手,在任何界面阅读时只需选中文字,AI图标便会即时浮现,提供一键翻译、总结、解释等功能,甚至支持离线使用。用户可以用自然语言对系统下达指令,无论是“调暗屏幕”还是“快速创建会议日程”,系统都能准确理解并执行。

    该系统支持双模AI引擎,用户可以选择接入DeepSeek、百度千帆、讯飞星火等主流在线大模型,也可以在本地运行“统信有容大模型”,确保隐私数据不出设备。通过AI助手新增的智能体商店入口,用户可以下载不同领域的智能体,进一步拓展AI的应用场景

    革命性的系统稳定性

    deepin 25重磅推出的​​“磐石系统”​​重新定义了Linux操作系统的稳定标杆。通过将/usr/bin等核心目录强制设置为只读挂载,从根本上拦截了用户误操作或恶意软件对系统核心的修改对于需要深度定制的开发者,系统也提供了便捷的命令一键开/关防护,平衡了安全性与灵活性系统还引入了​​原子更新机制​​,确保更新过程“全有或全无”,要么全部成功安装,要么自动回滚到更新前的安全状态,彻底消除了用户对更新过程的担忧。针对公用电脑、展厅设备等场景,“无忧还原”功能可实现重启后自动清空使用痕迹,同时支持白名单配置,兼顾安全与效率

    跨平台兼容与协同

    deepin 25通过​​“如意玲珑”​​打包格式解决了Linux长期以来的依赖冲突痛点玲珑通过沙箱化容器技术,将应用与依赖库彻底隔离,这意味着一个玲珑包可以在Debian、Ubuntu、Arch、Fedora、openEuler等7大主流发行版上直接运行,开发者无需再为不同平台重复打包系统还支持​​跨端协同功能​​,不仅实现了PC间的键鼠、剪贴板共享,还突破了手机与PC的双向操控界限,用户可以在电脑大屏上回复手机消息、操作手机应用

    架构支持与全球化

    在AMD64稳定适配的基础上,deepin 25新增了​​ARM 64 / LoongArch64 / RISC-V架构支持​​,覆盖主流芯片平台系统已适配包括树莓派4B+、瑞莎Rock5B/5B+及ROCK 5 ITX主板等设备,拓展了在嵌入式及轻量级计算领域的应用安装器新增17种语言,系统级翻译共覆盖51种语言,应用商店支持区域化内容分发,为全球用户提供一致化的本地体验。deepin 25以其美观的界面、易用的体验和持续的创新,证明了国产操作系统在国际舞台上的竞争力,为全球用户提供了一个既美观又实用的Linux发行版选择


    🌐 官方下载地址

    获取 deepin 25 最直接可靠的方式是访问其官方网站:

    • •​​deepin 官网下载页​​: https://www.deepin.org/zh/download/
    • 在这里你可以找到最新的稳定版ISO镜像文件,根据你的电脑硬件架构(如AMD64)选择适合的版本进行下载

    ​💡 重要提示:​

    从任何渠道下载ISO镜像后,​​强烈建议校验文件的SHA256或MD5值​​,以确保下载过程没有出错。校验值通常在下载页面或官方公告中提供。


    📦 软件源与更换方法

    软件源用于通过系统包管理器(如APT)安装和更新软件。如果你想提升下载速度或解决某些源的问题,可以参考以下步骤进行更换:

    1. 备份原有源列表​​:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    2. ​编辑源列表文件​​:你可以使用 nanogedit或系统自带的文本编辑器编辑 /etc/apt/sources.list文件。sudo nano /etc/apt/sources.list # 或者使用你熟悉的编辑器
    3. ​选择合适的镜像源​​:删除文件原有内容,替换为适合 deepin 25(代号可能为 ​​apricot​​ 或 ​​beige​​)的镜像源地址。国内常用的镜像源包括:
      • •​​清华镜像源​​:https://mirrors.tuna.tsinghua.edu.cn/deepin/
      • •​​阿里云镜像源​​:https://mirrors.aliyun.com/deepin/
      • •​​华为云镜像源​​:https://repo.huaweicloud.com/deepin/6具体格式可参考:
      deb [by-hash=force] https://mirrors.tuna.tsinghua.edu.cn/deepin/ apricot main contrib non-free
    4. ​更新软件列表​​:sudo apt update
    5. ​(可选)升级系统​​:sudo apt upgrade -y

    ​⚠️ 注意事项​​:

    • •​​版本匹配​​:确保镜像源支持 deepin V25(注意其代号,如 apricot 或 beige)。
    • •​​网络问题​​:若更新失败,检查网络连接或尝试更换其他镜像源。
    • •​​GPG密钥​​:更换源后若遇到签名验证错误(GPG error),可能需要手动导入新源的GPG公钥7。
    • •​​恢复默认​​:如果更换后出现问题,可通过备份文件还原:sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list

    🔍 安装参考

    • •​​官方安装指南​​:制作启动U盘及详细安装步骤,可参考 deepin 官网提供的安装指南(如 https://www.deepin.org/zh/deepin-25-installation/)。
    • •​​虚拟机安装​​:如果想在虚拟机中体验 deepin 25,可以参考相关的虚拟机安装教程,通常涉及创建虚拟机、选择ISO镜像文件等步骤

    Deepin 25 正式版已经发布一段时间,相比于之前的 Beta 版本可以更好地使用或是升级了。

    Deepin 一直以来都以其特有的 DDE 桌面为一大特色,对于普通的用户来说桌面是接触系统的入口,也是对用户反馈最直接的交互窗口。

    桌面这玩意不仅要好看,还得好用才行,不管后台你弄了多牛逼的架构和设计,作为桌面系统如果桌面使用感受差那就是白瞎,用户就会认为这系统不行。

    好在 Deepin 的桌面够好看,相比其它的 Linux 发行版搭载的 Gnome ,KDE,Xfce 等开源桌面环境一点也不弱,而且相比更华丽些,操作更简单。

    不过 Deepin 并不适合老旧的硬件,所以想要更好的体验 Deepin 建议还是用主流配置的电脑。

    Deepin 25 的桌面 DDE 7.0 视觉冲击更强烈,图标进行了重新的统一设计,不论色调,线条,还是形状让人看起来更和谐和统一。

    例如标准圆角升级平滑圆角的变化,让图标看起来更自然更舒服。

    又或是控制中心的布局重新设计,更实用,更直观。

    当然 Deepin 25 还带来更多更新,其 UOS AI 让你使用AI更便捷,通过语音就可以下达很多指令来控制系统操作,例如屏幕亮暗的调整,会议日程的创建,一些应用程序的打开等等。

    系统还使用了 磐石系统加强系统权限的控制,这对普通用户非常好,防止不懂系统的用户不小心误操作修改系统的一些核心目录导致系统不能稳定运行。但是对于置身用户又可以提供命令便捷关闭防护,让让操作更自由。

    Deepin 的如意玲珑包管理工具实现跨发行版兼容,一次封装处处运行,支持多种CPU架构,这对于开发者是友好的,可以减少为不同平台打包的重复工作。

    总之,目前 Deepin 25 称之为国内最好看和好用的 Linux 发行版一点也不为过。如果不是有特殊需求的用户,Deepin 完全可以胜任你的桌面电脑使用需求,而对于普通新手用户 Deepin 也可以作为 Linux 入门之选,至少它的桌面使用会更简单一些。

    Deepin 这个社区发行版算是国内最好的Linux 社区发行版之一了,Deepin 现在做的越来越好,不论是界面效果还是用户体验对国人来说已经相当不错了。

    DDE 桌面环境也迎来多项升级,包括自定义壁纸、护眼模式时间范围设置等。

    语音记事本和文本编辑器新增语音输入功能,浏览器则支持深色主题并优化触屏操作体验。

    尽管仍存在部分已知问题,但官方表示将在后续版本中逐步修复。

    该版本的发布标志着 deepin 在稳定性和功能性上的进一步得到提升。

    Deepin 的系统效果和软件商店一直都是比较不错的,目前的 Deepin 系统在主流的电脑配置上表现已经非常出色。

    从用户的使用角度来说,界面上的操作已经非常简单易懂,系统从安装完成默认自带的系统应用不论是媒体播放,还是文本编辑或是压缩解压或是系统管理等等,都能给用户提供统一完整的使用体验。

    先来简单看看这个 Deepin 25 Alpha 效果。

    首次进入体验,你会直观看到其桌面效果,如下:

    在系统地步工具栏最左侧,系统的 UOS AI 更明显了,打开后你会开到UOS AI 工具对话界面,可以通过设置接入不同的人工智能大模型。

    系统提供全局搜索功能,这个很像苹果MacOS的全局搜索。

    系统菜单依旧支持两种模式,一种简洁的更像是Windows 系统的方式。

    另外一种则是全屏方式,浏览查看应用更方便,这种方式更像是 MacOS 的启动台。

    两种方式各有千秋,满足不同使用习惯。

    Deepin 系统的系统设置现在看着越来越精细,其中分类清晰,各项设置导航明确,操作起来更自然便捷。

    系统的终端变化并不大,还是老样子,但是比普通其他发行版默认的终端好用很多。

    Deepin 的应用商店始终都是其一大特色,软件分类清晰,软件丰富,很适合查找软件和安装。

    虽然很多时候在 Linux 系统中安装软件命令能很好的完成,而且很快捷方便。

    但不是所有人都能记住命令,都知道需要什么样的软件在可以通过命令直接安装。

    Deepin 的应用商店就给普通用户提供了极大的便利,可以直观方便的查找自己需要的软件,进行安装卸载管理,这位用户省下不少时间。

  • AlmaLinux OS开源、社区驱动的Linux操作系统

    AlmaLinux OS开源、社区驱动的Linux操作系统

    AlmaLinux OS是一个开源、社区驱动的Linux操作系统,它填补了因CentOS稳定版本停止维护而留下的空白。AlmaLinux,由CloudLinux等发起和赞助!

    AlmaLinux OS开源、社区驱动的Linux操作系统

    AlmaLinux OS是由社区指导和构建的 RHEL的1:1(100%)二进制兼容克隆。作为一个独立的、完全免费的操作系统,AlmaLinux OS每年获得来自CloudLinux Inc的100万美元赞助和其他赞助商的支持。正在进行的开发工作由社区成员管理。AlmaLinux操作系统基金会是一个非营利组织,旨在为AlmaLinux操作系统社区的利益而创建。

    AlmaLinux是由社区维护的免费开源企业级Linux发行版,旨在替代停止维护的CentOS稳定版,提供与Red Hat Enterprise Linux(RHEL)的1:1二进制兼容性。该项目由CloudLinux公司于2021年发起,由非营利基金会管理,并获得该公司每年100万美元资助,支持x86_64、ARM64等多种处理器架构。其名称“Alma”源于拉丁语“灵魂”,以致敬开源社区的奉献精神 

    2020年红帽公司将CentOS转为上游滚动更新版CentOS Stream后,AlmaLinux应运而生。2021年3月首个稳定版AlmaLinux 8.3发布,随后保持与RHEL同步更新至9.2和8.8版本 。2022年AMD等企业加入基金会推动项目发展。2023年红帽限制RHEL源码公开后,社区宣布通过ABI级别兼容性确保持续性,并持续发布版本至2025年的AlmaLinux 10.0

    AlmaLinux OS开源、社区驱动的Linux操作系统

    AlmaLinux 作为 CentOS 的流行替代品,提供了稳定且免费的企业级 Linux 体验。下面为你汇总了它的主要下载渠道和资源信息。

    资源类型提供方/渠道名称网址主要特点/说明
    ​🌐 官方主站​AlmaLinux 官方网站https://almalinux.org/获取最新版本、权威信息和官方下载链接的最佳起点。
    AlmaLinux 获取页面https://almalinux.org/get-almalinux/提供所有官方镜像版本的下载选项和指南。
    ​🇨🇳 国内镜像站​清华大学开源软件镜像站https://mirrors.tuna.tsinghua.edu.cn/almalinux/国内用户访问速度快,同步频繁。
    中国科学技术大学镜像站https://mirrors.ustc.edu.cn/almalinux/教育网优化,同时支持公网访问。
    阿里云开源镜像站https://mirrors.aliyun.com/almalinux/全国 CDN 加速,下载体验不错。
    华中科技大学开源镜像站https://mirrors.hust.edu.cn/almalinux/
    上海交通大学开源镜像站https://mirrors.sjtug.sjtu.edu.cn/almalinux/
    ​🌍 国际镜像​官方镜像列表https://mirrors.almalinux.org/由 AlmaLinux 官方维护的全球镜像站列表,可选择地理位置最近的站点进行下载。

    💡 版本与架构选择

    AlmaLinux 主要提供 ​​稳定版 (Stable)​​,并与 RHEL 二进制兼容

    对于生产环境和日常使用,推荐选择稳定版本。

    • •​​镜像类型​​:
      • •​​DVD ISO​​: 包含大量软件包的​​完整镜像​​,适合无网络或慢网络环境安装。
      • •​​Boot ISO​​: ​​网络安装镜像​​,文件较小,安装时需联网下载软件包。
      • •​​Minimal ISO​​: ​​最小化安装镜像​​,仅包含最基本系统。
    • •​​系统架构​​:AlmaLinux 支持多种架构,如 ​​x86_64​​(标准 64 位)、​​aarch64​​(ARM64,适用于树莓派等)、​​ppc64le​​(IBM PowerPC)和 ​​s390x​​(IBM System Z)。4AlmaLinux 10 还对老硬件提供了更好的兼容性。

    🔄 安装与使用提示

    • •​​文件校验​​:为确保下载文件的完整性和安全性,​​强烈建议​​下载后核对 ​​SHA256​​ 哈希值。校验文件通常可在下载页面或镜像站同目录下找到(如 CHECKSUM文件)。
    • •​​写入工具​​:制作启动盘时,可使用 ​​Rufus​​、​​Fedora Media Writer​​ 等工具将 ISO 镜像写入 U 盘。
    • •​​更换软件源​​:系统安装完成后,为了在国内获得更快的软件更新速度,可以将软件源更换为国内镜像站。例如,更换为清华大学镜像源:
    • 备份原始源列表:sudo cp /etc/yum.repos.d/almalinux*.repo /etc/yum.repos.d/almalinux*.repo.bak
    • 使用 sed命令快速替换默认源为清华源(适用于 AlmaLinux 8 或 9):sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \ -e 's|^# baseurl=https://repo.almalinux.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn/almalinux|g' \ -i.bak \ /etc/yum.repos.d/almalinux*.repo
    • 更新软件包缓存:sudo dnf makecache

    🤔 关于 AlmaLinux

    AlmaLinux 是一个开源、社区驱动、免费的企业级 Linux 发行版,旨在填补 CentOS Linux 稳定版本停止更新后留下的空白。

    它由 CloudLinux 公司背后的团队创建,并得到了每年百万美元的资金赞助。

    AlmaLinux 基金会是一个 501(c)(6) 非营利组织,致力于为 AlmaLinux OS 社区谋福利。

    AlmaLinux 的目标是与 RHEL (Red Hat Enterprise Linux) ​​二进制兼容​

    这意味着为 RHEL 或 CentOS 构建的软件通常可以在 AlmaLinux 上无缝运行。

    它提供了长达10年的支持周期,确保系统的稳定性和可靠性。

    特性维度说明
    ​诞生背景​为应对红帽公司2020年将CentOS重心转向CentOS Stream,停止维护CentOS稳定版而诞生。
    ​核心定位​提供与 ​​RHEL 1:1 二进制兼容​​的稳定下游版本,确保企业生产环境的无缝迁移和长期稳定。
    ​技术支持​提供​​长期支持(LTS)​​,通常每个大版本提供10年的安全更新和维护。
    ​管理方式​由​​社区驱动​​,非营利基金会管理,背后有CloudLinux公司的资金和多家企业(如AMD)的支持。
    ​硬件架构​支持 x86_64、ARM64 (AArch64)、IBM Z (s390x)、Power LE (ppc64le) 等多种平台。
    ​最新版本​AlmaLinux 10.0 (代号 Purple Lion),基于 Linux 6.12 LTS 内核,与 RHEL 10 完全兼容。

    🧭 ​​如何选择与获取​

    对于大多数企业服务器和新硬件,建议选择最新的 ​​AlmaLinux 10.x​​ 系列,它能获得长期支持并包含最新的特性和安全增强。若需在较旧的x86-64-v2架构硬件上运行并获得长期支持,AlmaLinux 10.x 也提供了兼容版本

    你可以从 AlmaLinux 官方网站获取安装镜像,它提供​​网络安装镜像、最小化安装镜像和完整DVD镜像​​等多种选择

    💡 ​​主要优势与挑战​

    AlmaLinux 的主要优势在于其​​高度稳定且与 RHEL 完全兼容​​,这使其成为企业级应用的可靠选择,并且它​​完全免费​​。同时,它拥有​​强大的社区支持和活跃的生态系统​​,得到了众多企业和开发者的贡献

    当然,AlmaLinux 也面临一些挑战。红帽公司在2023年宣布限制对RHEL源代码的访问,这对AlmaLinux等下游发行版未来的发展构成了一定的挑战。不过,AlmaLinux 社区已表示将通过其他方式(如ABI级别兼容)确保与RHEL的持续兼容性!