如何选择OS--Linux不同Distribution的选用
写在前言:
刚写了Windows PC的不同editions的选用,趁热,把Linux不同的Distribution选用也介绍下,希望童鞋们可以了解-->理解-->深入了解-->深入理解--...以致于能掌握特定版本的Linux的使用甚者精通。……^.^……
so,前提是你有了才可以用武之地,现在应该有数百个 Linux 发行版可用把,做出正确的选择似乎令人生畏。本文旨在通过鄙人卓见,给童鞋们在选择最适合你们需求的 Linux 发行版做参考。【选择符合您需求的完美(没有完美的 .. :))】
所以那句话挺好,选择大于努力!
第一部分:关于Linux Distribution的几种理解
对于 Linux 初学用户来说,选择 Linux Distribution(发行版)可能是最困难的事情之一。有很多优秀的选择,它们都有自己独特的强项。还有不断的更新、新闻和一般的社区闲聊,使水更加浑浊,使这个过程不再是一条直接的路线。但是,在选择有助于解决问题的发行版时,你可以问自己几个问题,这一切都是为了选择适合你想要和需要的最佳位置的发行版。
什么是 Linux 发行版?(参考redhat.com)
Linux® 发行版或发行版是从 Linux 内核构建的可安装操作系统,支持用户程序、存储库和库。每个供应商或社区的版本都是一个发行版。
由于 Linux 操作系统是开源的,并根据 GNU 通用公共许可证 (GPL) 发布,因此任何人都可以运行、研究、修改和重新分发源代码,甚至可以出售其修改后的代码的副本。这与传统操作系统(Unix、Microsoft Windows 和 MacOS)有很大不同,后者是专有的,修改性要低得多。
市面上已经有 100 ++个 Linux Distor(以下列举一些),还有更多的 Linux Distor 正在涌现。每个发行版都试图为用户解决一些问题。有些适合初学者、开发人员,而有些只适合创业者。
第二部分:确定你的需求和偏好
在深入了解 Linux 发行版之前,请确定您的要求和偏好。请考虑以下因素:
a. 目的:你是开发人员、系统管理员还是普通用户?不同的发行版可以满足特定需求,因此了解你的目的将有助于缩小选择范围。
b. 硬件兼容性:某些发行版可能不支持较旧或特定的硬件。确保所选发行版与硬件兼容,以避免潜在问题。
c. 界面:Linux 发行版附带各种桌面环境,这些环境会影响整体外观。确定是喜欢简单、轻量级的界面,还是功能丰富的现代界面。
d. 稳定性和更新:稳定性有多重要?你是愿意用尖端功能换取更稳定的体验,还是更喜欢使用最新软件进行频繁更新?
如果考虑更多的场景(比如适用于NAS、USB、Servers、教育者、注重隐私、游戏等),Best Linux distro of 2024 | TechRadar这篇文章非常好,值得一读!
研究下流行的 Linux 发行版
有许多可用的 Linux 发行版,每个发行版都有自己独特的功能和特征。研究最流行的发行版至关重要,因为它们往往拥有更大的社区和更好的支持。一些著名的 Linux 发行版包括:
a. Ubuntu:Ubuntu 以其用户友好性而闻名,是初学者的绝佳选择。它提供广泛的软件和硬件支持,使其成为一个多功能选项。
b. Redhat系列,一般选用CentOS,其处于红帽生态链的上游,即Fedora → CentOS → RHEL,个别用户也可以选用RHEL,但是企业作用优稳的服务器居多。这个系列适用于中游砥柱的人选用。
c. Debian:Debian 是一个稳定而强大的发行版,非常适合那些优先考虑可靠性和长期支持的人。
d. Arch Linux:对于喜欢高度可定制和简约体验的有经验的用户来说,Arch Linux 是一个很好的选择。
e. Linux Mint:Linux Mint 具有与 Windows 类似的界面,是一个适合初学者的发行版,可为从 Windows 切换的用户提供平稳过渡。
评估支持和社区
在选择 Linux 发行版时,拥有强大的社区和充足的支持资源至关重要。请考虑以下因素:
a. 文档:检查发行版是否提供全面的文档来指导您完成安装、故障排除和日常使用。
b.论坛和支持渠道:通过论坛、邮件列表或其他支持渠道评估社区的响应能力和帮助性。
c. 第三方支持:确认发行版具有足够的第三方支持,包括软件、驱动程序和教程。
同时需要保持不断更新和接受变化的态度。请记住,Linux 发行版在不断发展,随着时间的推移,您可能需要重新评估您的选择。如果你的需求或偏好发生变化,请愿意探索其他发行版。在 Linux 发行版之间切换相对简单,因此不要害怕尝试新事物。
第三部分:先试或后付
在确定 Linux 发行版之前,请使用实时 USB 或虚拟机对其进行测试。这允许您评估发行版的性能、兼容性和界面,而不会影响现有系统。检测时需要考虑的一些因素包括:
a. 安装过程:评估安装过程的简单性和用户友好性。
b. 默认软件:检查默认应用程序和软件包管理器,确保它们满足您的要求。
c. 性能和稳定性:在试用期内监控发行版在硬件上的性能和稳定性。
对于非企业的客户建议使用社区版本,毕竟正规的商用途径价格不菲。
第四部分:企业版VS社区版的选择
Linux 发行版提供社区版或企业版。社区发行版是主要由开源软件开发社区支持和维护的免费Linux 发行版。企业或商业 Linux 发行版可通过供应商的订阅获得,并且不仅仅依赖于社区支持。
社区发行版和企业发行版之间的主要区别在于谁决定什么对用户很重要。社区发行版的方向由贡献者设定,他们从各种开源软件选项中选择和维护软件包。企业发行版的方向由供应商根据其客户的需求设定。
企业发行版有哪些优势?
如果 Linux 是免费和开源的,您为什么要为商业发行版付费呢?对于没有太多命令行经验或只想尝试和试验的 Linux 初学者用户来说,社区发行版是一个不错的选择。如果您尝试长期支持服务器,那么像 Fedora 这样的社区发行版可能不是最佳选择。社区发行版依赖于其社区成员基于论坛的支持,并且发布周期并不总是有规律的。
企业发行版(如 Red Hat Enterprise Linux)旨在满足业务需求和关注点。Red Hat Enterprise Linux 提供 10 年生命周期支持(而不是 Fedora 的 2 年支持),因此您可以更好地支持长期应用程序。使用企业发行版,您可以获得补丁、更新、升级、专家技术支持以及培训和教程。Enterprise 发行版有时包括包管理器,这些程序支持安装和管理 Linux 软件包。
第五部分:桌面版VS服务器版的选择
有了这个,是时候看看您需要问自己的最基本问题了。你是在桌面还是服务器上运行此发行版?这些情况的需求非常不同。服务器发行版需要坚如磐石的稳定性,而在桌面上安装更新的软件可能会更好。
如果您计划运行服务器,那么您正在寻找较长的发布周期、您计划部署的软件的兼容版本、支持和一般可靠性。
对于桌面,你可以随意,不一定需要较长的发布周期,随时更新需要的应用程序。你甚至可能想要一个滚动发布,让你始终处于最前沿。你可以选择使用图形桌面环境或者不想要,就会减少一些臃肿和笨重的东西。
第六部分:我的场景
场景一:某大型汽车制造业,使用的Linux 基本是server版,ubuntu lts和centos各有比重,一般作为生产辅助的系统和非生产侧系统,比如OA,BPM和一些内部CRM;而生产系统一般以商业版的linux 服务为主,比如oracle linux集群作为数据库服务,甚至SAP是运行在Unix系统之上。……
场景二:某新兴制造业,内部使用的Linux基本是server 社区版,centos居多,主要用于内部信息化部门研发小组使用,比如一些小程序开发,HR接口、OA接口、BPM等小型系统;生产侧系统如MES承载的基础集群为商业版本的Linux系统,搭建的k8s使用Ubuntu lts版本,银行数据库服务使用oracle Linux。……
场景三:教学使用场景,使用centos8 desktop 社区版,ubuntu desktop 社区版,kali linux……
场景四:……WSL2使用的一些Linux版本。
后续待补充……
相关文章:

如何选择OS--Linux不同Distribution的选用
写在前言: 刚写了Windows PC的不同editions的选用,趁热,把Linux不同的Distribution选用也介绍下,希望童鞋们可以了解-->理解-->深入了解-->深入理解--...以致于能掌握特定版本的Linux的使用甚者精通。……^.^…… so&a…...
cesium效果不酷炫怎么办--增加渲染器
DrawCommand 可以发挥 WebGL 全部潜力吗? 回答: Cesium 的 DrawCommand 是一个用于表示 WebGL 渲染管线中单个绘制调用的低级抽象。它封装了执行 WebGL 绘制所需的所有信息,包括着色器程序、顶点数组、渲染状态、统一变量(unifo…...

计算机网络:概述 --- 体系结构
目录 一. 体系结构总览 1.1 OSI七层协议体系结构 1.2 TCP/IP四层(或五层)模型结构 二. 数据传输过程 2.1 同网段传输 2.2 跨网段传输 三. 体系结构相关概念 3.1 实体 3.2 协议 3.3 服务 这里我们专门来讲一下计算机网络中的体系结构。其实我们之前…...

DEPLOT: One-shot visual language reasoning by plot-to-table translation论文阅读
文章链接:https://arxiv.org/abs/2308.01979http://arxiv.org/abs/2212.10505https://arxiv.org/abs/2308.01979 源码链接:https://github.com/cse-ai-lab/RealCQA 启发:two-stage方法可能是未来主要研究方向,能够增强模型可解释…...

从 HDFS 迁移到 MinIO 企业对象存储
云原生、面向 Kubernetes 、基于微服务的架构推动了对 MinIO 等网络存储的需求。在云原生环境中,对象存储的优势很多 - 它允许独立于存储硬件对计算硬件进行弹性扩展。它使应用程序无状态,因为状态是通过网络存储的,并且通过降低操作复杂性&a…...
Rust 常见问题汇总
问题1: cargo build 一直提示Blocking waiting for file lock on package cache。 在 cargo.toml 文件中添加了依赖之后,运行 cargo build 命令时,如果卡在 blocking waiting for file lock on package cache lock 这里, 后来发…...
java泛型类与泛型方法
Java泛型类和泛型方法是Java泛型编程中的重要组成部分。它们允许开发者编写类型安全且高度复用的代码。下面详细介绍泛型类和泛型方法的概念、用法和示例。 泛型类 泛型类是在类定义中使用类型参数的类,可以指定具体的类型实例化该类。这样可以确保类型安全&#…...
Android String资源文件中,空格、换行以及特殊字符如何表示
空格: 例:<string name"test">test test</string> 换行:\n 例:<string name"test">test \n test</string> tab:\t …...
CUDA及GPU学习资源汇总
CUDA C Programming Guide 的中文翻译版GPU中的SM和warp的关系推荐几个不错的CUDA入门教程CUDA编程入门极简教程...

uniapp vue3 梯形选项卡组件
实现的效果图: 切换选项卡显示不同的内容,把这个选项卡做成了一个组件,需要的自取。 // 组件名为 trapezoidalTab <template> <view class"pd24"><view class"nav"><!-- 左侧 --><view cla…...
如何在微信小程序中实现WebSocket连接
微信小程序作为一种全新的应用形态,凭借其便捷性、易用性受到了广大用户的喜爱。在实际开发过程中,实时通信功能是很多小程序必备的需求。WebSocket作为一种在单个TCP连接上进行全双工通信的协议,能够实现客户端与服务器之间的实时通信。本文…...
二级等保测评中安全物理环境的重要性及高危项分析
当今数字化时代,信息安全至关重要。网络安全等级保护测评是确保信息系统安全稳定运行的重要手段之一,其中二级等保测评对于许多企业和组织来说是必须要达到的安全标准。 而安全物理环境作为等保测评的重要组成部分,其重要性不容忽视。 安全物…...

C++11——lambda
lambda lambda的介绍lambda的使用lambda的细节->捕捉列表 lambda的介绍 lambda是匿名函数,再适合的场景去使用可以提高代码的可读性。 场景: 假设有一个Goods类需要进行按照价格、数量排序 class Goods {string name;size_t _price;//价格int num;/…...
Dubbo3序列化安全问题
序列化安全 在 Dubbo 3.0 中,序列化协议的安全性得到了加强。 1. 序列化安全性升级 Triple 协议: 推荐使用 Triple 协议 的非 Wrapper 模式,该模式在安全性上更为严格。需要开发人员编写 IDL(接口描述语言)文件,这虽…...

秒懂Linux之共享内存
目录 共享内存概念 模拟实现共享内存 创建key阶段 编辑创建共享内存阶段 删除共享内存阶段 查看共享内存属性阶段 挂接共享内存到进程阶段 取消共享内存与进程挂接阶段 进程通信阶段 添加管道改进版 共享内存函数 shmget函数 shmat函数 shmdt函数 shmctl函数 共享内存概念 共…...

【计算机网络】网络层协议解析
网络层的两种服务IPv4分类编址划分子网无分类地址 IPv4地址应用IP数据报的发送和转发过程主机发送IP数据报路由器转发IP数据报 IPv4数据报首部格式ICMP网际控制报文协议虚拟专用网VPN与网络地址转换NAT 网络层主要任务是实现网络互连,进而实现数据包在各网络之间的传…...
sqlist void reverse(SqList A)
#include <stdlib.h> #include <stdio.h> #include <iostream> using namespace std; #define INIT_SIZE 5 #define INCREMENT 10 # define OK 1 # define ERROR 0/* 定义ElemType为int类型 */ typedef int ElemType; void input(ElemType &s); void out…...

聊聊Thread Local Storage
聊聊ThreadLocal 为什么需要Thread Local StorageThread Local Storage的实现PThread库实现操作系统实现GCC __thread关键字实现C11 thread_local实现JAVA ThreadLocal实现 Thread Local Storage 线程局部存储,简称TLS。 为什么需要Thread Local Storage 变量分为全…...

WEB攻防-JS项目Node.js框架安全识别审计验证绕过
知识点: 1、原生JS&开发框架-安全条件 2、常见安全问题-前端验证&未授权 详细点: 1、什么是JS渗透测试? 在JavaScript中也存在变量和函数,当存在可控变量及函数调用即可参数漏洞 2、流行的Js框架有哪些? …...

STM32——SPI
1.SPI简介 SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚…...

【云安全】云上资产发现与信息收集
一、云基础设施组件 1、定义 在云计算基础架构中,基础设施组件通常包括:计算、存储、网络和安全等方面的资源。例如,计算资源可以是虚拟机、容器或无服务器计算引擎;存储资源可以是对象存储或块存储;网络资源可以是虚拟…...

flask搭建微服务器并训练CNN水果识别模型应用于网页
一. 搭建flask环境 概念 flask:一个轻量级 Web 应用框架,被设计为简单、灵活,能够快速启动一个 Web 项目。CNN:深度学习模型,用于处理具有网格状拓扑结构的数据,如图像(2D网格)和视频(3D网格&a…...

数据篇| 关于Selenium反爬杂谈
友情提示:本章节只做相关技术讨论, 爬虫触犯法律责任与作者无关。 LLM虽然如火如荼进行着, 但是没有数据支撑, 都是纸上谈兵, 人工智能的三辆马车:算法-数据-算力,缺一不可。之前写过关于LLM微调文章《微调入门篇:大模型微调的理论学习》、《微调实操一: 增量预训练(Pretrai…...

MySQL高阶1890-2020年最后一次登录
目录 题目 准备数据 分析数据 题目 编写解决方案以获取在 2020 年登录过的所有用户的本年度 最后一次 登录时间。结果集 不 包含 2020 年没有登录过的用户。 返回的结果集可以按 任意顺序 排列。 准备数据 Create table If Not Exists Logins (user_id int, time_stamp …...
update-alternatives官方手册
下述手册超链接都是英文,内容差不多,看一个就行 Debian系统的Ubuntu系统的《The Linux Programming Interface》图书上的...

cesium.js 入门到精通(5-2)
在cesium 的配置中 有一些参数 可以配置地图的显示 显示出 水的动态显示 山的效果 相当于一些动画显示的效果 var viewer new Cesium.Viewer("cesiumContainer", {infoBox: false,terrainProvider: await Cesium.createWorldTerrainAsync({requestWaterMask: tru…...
LINUX的PHY抽象层——PAL
英文原文参考: https://www.kernel.org/doc/html/latest/networking/phy.html 中文翻译参考:有关PHY抽象层的总结 https://blog.csdn.net/eydwyz/article/details/124753313 目录 1 前言2 PHY接口模式3 尽量使用PHY端的延时而不是MAC或PCB4 其他方式实现…...

优先级队列(堆)
目录 优先级队列 堆的概念 堆的创建 堆的向下调整 堆的插入 完整代码 优先级队列 队列是一种先进先出的数据结构,有些时候操作的数据可能带有优先级,出队列时就需要优先级高的数据先出队列。 在这种情况下,数据结构应该提供两个最基本…...

帧率和丢帧分析理论
一、丢帧问题概述 应用丢帧通常指的是在应用程序的界面绘制过程中,由于某些原因导致界面绘制的帧率下降,从而造成界面卡顿、动画不流畅等问题。以60Hz刷新率为例子,想要达到每秒60帧(即60fps)的流畅体验,每…...

solidwork找不到曲面
如果找不到曲面 则右键找到选项卡,选择曲面...