当前位置: 首页 > news >正文

如何选择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资源文件中,空格、换行以及特殊字符如何表示

空格&#xff1a; 例&#xff1a;<string name"test">test test</string> 换行&#xff1a;\n 例&#xff1a;<string name"test">test \n test</string> tab&#xff1a;\t …...

CUDA及GPU学习资源汇总

CUDA C Programming Guide 的中文翻译版GPU中的SM和warp的关系推荐几个不错的CUDA入门教程CUDA编程入门极简教程...

uniapp vue3 梯形选项卡组件

实现的效果图&#xff1a; 切换选项卡显示不同的内容&#xff0c;把这个选项卡做成了一个组件&#xff0c;需要的自取。 // 组件名为 trapezoidalTab <template> <view class"pd24"><view class"nav"><!-- 左侧 --><view cla…...

如何在微信小程序中实现WebSocket连接

微信小程序作为一种全新的应用形态&#xff0c;凭借其便捷性、易用性受到了广大用户的喜爱。在实际开发过程中&#xff0c;实时通信功能是很多小程序必备的需求。WebSocket作为一种在单个TCP连接上进行全双工通信的协议&#xff0c;能够实现客户端与服务器之间的实时通信。本文…...

二级等保测评中安全物理环境的重要性及高危项分析

当今数字化时代&#xff0c;信息安全至关重要。网络安全等级保护测评是确保信息系统安全稳定运行的重要手段之一&#xff0c;其中二级等保测评对于许多企业和组织来说是必须要达到的安全标准。 而安全物理环境作为等保测评的重要组成部分&#xff0c;其重要性不容忽视。 安全物…...

C++11——lambda

lambda lambda的介绍lambda的使用lambda的细节->捕捉列表 lambda的介绍 lambda是匿名函数&#xff0c;再适合的场景去使用可以提高代码的可读性。 场景&#xff1a; 假设有一个Goods类需要进行按照价格、数量排序 class Goods {string name;size_t _price;//价格int num;/…...

Dubbo3序列化安全问题

序列化安全 在 Dubbo 3.0 中&#xff0c;序列化协议的安全性得到了加强。 1. 序列化安全性升级 Triple 协议: 推荐使用 Triple 协议 的非 Wrapper 模式&#xff0c;该模式在安全性上更为严格。需要开发人员编写 IDL&#xff08;接口描述语言&#xff09;文件&#xff0c;这虽…...

秒懂Linux之共享内存

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

【计算机网络】网络层协议解析

网络层的两种服务IPv4分类编址划分子网无分类地址 IPv4地址应用IP数据报的发送和转发过程主机发送IP数据报路由器转发IP数据报 IPv4数据报首部格式ICMP网际控制报文协议虚拟专用网VPN与网络地址转换NAT 网络层主要任务是实现网络互连&#xff0c;进而实现数据包在各网络之间的传…...

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 线程局部存储&#xff0c;简称TLS。 为什么需要Thread Local Storage 变量分为全…...

WEB攻防-JS项目Node.js框架安全识别审计验证绕过

知识点&#xff1a; 1、原生JS&开发框架-安全条件 2、常见安全问题-前端验证&未授权 详细点&#xff1a; 1、什么是JS渗透测试&#xff1f; 在JavaScript中也存在变量和函数&#xff0c;当存在可控变量及函数调用即可参数漏洞 2、流行的Js框架有哪些&#xff1f; …...

STM32——SPI

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

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

面试高频问题

文章目录 &#x1f680; 消息队列核心技术揭秘&#xff1a;从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"&#xff1f;性能背后的秘密1.1 顺序写入与零拷贝&#xff1a;性能的双引擎1.2 分区并行&#xff1a;数据的"八车道高速公路"1.3 页缓存与批量处理…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序&#xff0c;无论是测试应用程序、搜寻漏洞还是收集情报&#xff0c;它们都能提升工作流程。 FoxyProxy 代理管理工具&#xff0c;此扩展简化了使用代理&#xff08;如 Burp…...

Redis上篇--知识点总结

Redis上篇–解析 本文大部分知识整理自网上&#xff0c;在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库&#xff0c;Redis 的键值对中的 key 就是字符串对象&#xff0c;而 val…...