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

CentOS软件那么老为什么大家还要用它?

作为一个专业的服务器系统,RHEL 系统理论上每一个软件包都有 RedHat 内部的人员负责维护,这个维护包括长期(和系统生命周期一样长)的开发、更新、测试、运维等。也就是说你能从 RHEL 系统源上获得的每一个软件包,出现问题都可以找 RedHat 负责。所以 RHEL 不可能无限制的扩充自己的软件库,不能信手拈来想加什么就加什么,因为加进来是要负责的,是对应相应的人力成本的。所以软件源的规模必须受到限制,企业级用户特别需要的才会有,可有可无的都要评估一下哪个可以加进来哪个不要。这绝对不是普通的桌面用户群所期望的,因为普通的桌面用户群体的宗旨是 “多多益善,我可以忍受不严重的 bug,但是你不能没有我要的功能软件”。比如你如果没有可以解码播放 rmvb 等格式的播放器,那我是肯定忍不了的。但是如果你提供,只是有一点点广告或者有一点 bug,那我是没问题的,比完全没有要强百倍。

而 CentOS 的软件源的匮乏程度比 RHEL 可能强一点,毕竟它可以不需要对 “甲方爸爸” 负责,所以稍微大胆点多加点东西是能理解的。但是受到系统老旧程度和人手限制,能加的也有限。毕竟很多人只是用 CentOS,但是肯为 CentOS 打包维护更多软件的人凤毛麟角。

软件 “老” 而且会越来越 “老”
一个服务器系统的生存周期非常长,动不动就是十年起步。组成系统的软件在系统构建初期就订下了基线版本,比如在 RHEL-7.0 初次构建的时候选择的 gcc 版本是 4.8,那么即使到现在 (2021 年 11 月)上游最新的 gcc 版本已经更新了 11.2,RHEL-7 最新的系统上的 gcc 仍然是基于的 4.8 版本。虽然应用户需求,中间 backport 了很多修复性和新特性的 patch,但是单论特性肯定还是不能和 11.2 版本比的。这就是为什么说软件老,且越来越老的原因。

那么作为一个普通的桌面用户,如果你想使用新版 gcc 上的某些特性,你会发现自己既没有能力完美的单独更新系统的 gcc 到最新(因为受到其它软件包依赖的限制),也极少有人有能力单独把需要的新特性所对应的代码 backport 到老版本上来增强特性。这样的窘境就完全限制住了用户所能 “享受” 的功能和特性的范围。系统已经生存的时间越久,被限制的越死。

CentOS 和 RHEL 一样的,即使 CentOS 的人有意翻新一些软件的版本,它们绝大部分情况下也无能为力,因为 CentOS 还要随着 RHEL 走呢,所以没法偏离的太远,否则它自己没有那么多人力单独维护。

综上所述,“CentOS 软件那么老为什么大家还要用它?” 这个问题中的 “大家” 就包括了两类人。一类是没有必要用但是瞎跟风才用的。另一类是需要用的。

没必要用但是瞎跟风用的人群
这类人多以新人为主,因为 RHEL(及其下游系统)作为现在最主流的服务器系统,每一个想要入行 Linux 的人基本都会被告知应该从此学起,特别是网上众多的教程、帖子也多是围绕 RHEL 类系统。而 RHEL 系统又是收费的,一般人用不到,于是免费的 CentOS 作为 RHEL 的克隆版就被不明所以的新人误以为是 “免费的 Linux 旗舰版”。好像有一种 “我花 4000 元买的课程免费给大家下载” 一样的 “不赚白不赚” 的喜悦。

殊不知 RHEL 或者说 CentOS 对于普通的桌面用户来说 “又老又资源匮乏”,所以这类用户用久了之后就会发现,周围仍然有很多人在不明所以的安利 CentOS 类系统,但是自己用起来又觉得 “不好用”,于是在心底里产生了 “CentOS 软件那么老为什么大家还要用它?” 的疑问。

但是这个问题为什么没有形成规模,可能是因为大部分人迫于周围很多人都在说 CentOS 好,而自己如果体会不出 CentOS 的好,特别是还问出来,那会显得自己很 Low。

需要用的人群
作为专业的服务器操作系统,RHEL 确实是值得服务器用户使用的。企业级用户就不用说了,某些个人用户也有需要使用面向服务器的操作系统的时候。虽然我上面说 RHEL/CentOS 类的系统对于普通桌面用户来说不好使,那是因为普通桌面用户最主要的需求是系统没有严重 bug 的情况下提供越多越新的功能越好。但是需要服务器系统的用户的需求则是系统能持续稳定运行的时间越长越好。

比如我有一个笔记本电脑,我平时用它办公、浏览网页、看视频、打游戏等,我对它上面的系统的需求就是:

给我提供尽可能多的软件资源能让我选
让我能不费力的跟着享受当前非常新的很多软件特性
即使某个软件或某次更新有 bug,但系统只要维持 1 天以上不死机就可接受。因为基本上我晚上睡觉就关机了,坚持到下次修复没什么困难。
同时我在远处的某个地方还有一台工作机,这个工作机我需要它跑很多定时执行的任务,需要它长期维持某些程序的运行。这个 “长期” 可不是一两天的事,甚至一两个星期都不行,而是以年甚至更久为单位。如果能做到一次开机到死不用重启最好。

我给这个工作机装的一个不算新的 RHEL8 系统,除了非公司大楼停电,它基本没死机重启过。而上面我跑了很多虚拟机,我在这些虚拟机里面装了各种系统,有能支持更多新特性的 Fedora 系统,有比较稳定的 CentOS 系统等。而这个 host 主机上的系统只要能维持稳定,并支持我运行这些虚拟机(或容器)就可以。

相关文章:

CentOS软件那么老为什么大家还要用它?

作为一个专业的服务器系统,RHEL 系统理论上每一个软件包都有 RedHat 内部的人员负责维护,这个维护包括长期(和系统生命周期一样长)的开发、更新、测试、运维等。也就是说你能从 RHEL 系统源上获得的每一个软件包,出现问…...

聚观早报|飞猪:五一出游需求爆发;​特斯拉一季度盈利同比跌20%

今日要闻:飞猪:五一出游需求爆发;特斯拉一季度盈利同比暴跌20%;郑渊洁永远不再发表作品;KargoBot推出无人化自动驾驶卡车;中国6G通信技术研发取得重要突破 飞猪:五一出游需求爆发 4 月 19 日&a…...

Redis缓存雪崩、穿透、击穿

Redis缓存雪崩、穿透、击穿 解决方案正常的缓存流程Redis缓存雪崩Redis缓存雪崩解决方案 Redis缓存穿透Redis缓存穿透解决方案 Redis缓存击穿Redis缓存击穿解决方案 解决方案 布隆过滤器,分布式锁 正常的缓存流程 Redis缓存雪崩 Redis中的key大面积失效&#xff0…...

不要老盯着ChatGPT,这几家公司的产品同样不容小觑

Adept.ai 2022 年成立,致力于一款能够代替人类使用电脑、操控软件的AI助手,旗下模型 ACT-1 还处于雏形阶段,但根据官方示例,已经可以完成通过自然语言指令完成特定的任务。公司创始人曾任OpenAI的工程副总裁,后来进入谷…...

DataBinding 大坑总结(网上我暂时搜不到解决方法)

在使用多Module中使用DataBinding会引发一些奇怪的问题,最近好好的腾出时间来折腾这些奇怪的问题: 1:如果当Module启动DataBinding重启AS启动报错的话,就启用允许多行代码 android { defaultConfig {multiDexEnabled true} } de…...

Linux I/O复用函数的使用情况和select接口的介绍

I/O 复用使得程序能同时监听多个文件描述符,这对于提高程序的性能至关重要。通常, 网络程序在下列情况下需要使用 I/O 复用技术: 1.TCP服务器同时要处理监听套接字和连接套接字 2.服务器同时要处理TCP请求和UDP请求。 3.程序同时要处理多个套…...

leetcode:数字转换为十六进制数(详解)

前言:内容包括:题目,代码实现,大致思路,代码解读 题目: 给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。 注意: 十六进制中所有字…...

Android 10 设置人脸解锁时,锁屏显示人脸解锁图标

Android 10设置人脸解锁时,锁屏解锁图标不会显示人脸图标,若想显示人脸图标,可参考以下两点进行修改: 1.此处引用人脸图标资源,请参考如下修改: diff --git a/packages/SystemUI/src/com/android/systemui/…...

【嵌入式环境下linux内核及驱动学习笔记-(5-驱动的并发控制机制)】

目录 1、上下文和并发1.1 上下文1.2 共享与临界内核中并发控制机制分为以下几类:并发控制机制的使用场景: 2、 并发控制机制--中断屏蔽3、并发控制机制--原子变量3.1 相关函数原子量类型a.设置原子量的值b.获取原子量的值c.原子变量加减d.原子变量自增自…...

必学宝典 黑马《最新JavaWeb开发教程》上线

对于程序员,所在的行业更迭实属过快,如果是为了找一份好工作,学技术前一定要先了解技术在市场中的需求情况。不然等你学完之后,才发现自己学了已被淘汰、过时的技术,白白浪费了宝贵的学习时间,后悔都来不及…...

【社区图书馆】学习如何读书

人类社会只有发明了发明的方法之后才能发展。同样道理,你们只有学习了学习的方法之后才能进步。 ——查理芒格 进了开发的门,从一开始就在查文档、百度搜 bug 解决的文章、买书,读书。买了很多很厚的工具书,然后拿来垫桌子。再然后…...

CO02工单组件,新增/删除/修改

REPORT zpp153. 事务代码: ZPP153-整散车生产订单自动调整程序名称:ZPP153-整散车生产订单自动调整程序目的:ZPP153-整散车生产订单自动调整开发人员: *(修改日志)--------------------------------------------------------日志号…...

MIT6.824 lab3AB记录

实验目标:基于raft日志复制算法实现的线性一致性kv存储引擎。 线性一致性: 所有的读操作都能够读取到最近一次写操作的结果。所有节点(或者进程)在同一时刻,看到的数据都是相同的。 简而言之,线性一致性…...

一分钟了解美国棒球体系·棒球1号位

美国棒球体系是一个庞大且复杂的体系,涵盖了从青少年到职业的各个层次。下面是美国棒球体系的主要组成部分: 1. 青少年棒球(Youth Baseball) 美国的青少年棒球体系包括各种地区和全国性的联盟,如Little League、Pony…...

通过ObjectMapper和JsonNode 把JSON字符串转换成树结构数据和获取树节点数据

一.简介 今天同事有个需求&#xff0c;要把一个JSON字符串转换成一个树结构的数据并获取节点数据&#xff0c;鉴于自己不想写递归去转换&#xff0c;于是使用ObjectMapper和JsonNode类去实现。 二.依赖 pom文件引入依赖&#xff1a; <dependency><groupId>com.…...

鉴源论坛 · 观模丨面向界面的图形化测试技术

作者 | 熊一衡 华东师范大学软件工程学院博士 苏亭 华东师范大学软件工程学院教授 版块 | 鉴源论坛 观模 01 什么是面向界面的图形化测试&#xff08;GUI Testing&#xff09; 图形用户界面(GUI) 是一种通过图形化方式呈现信息、数据、功能和操作的用户界面&#xff0c;旨在…...

Midjourney以图生图的详细教程(含6种案例介绍)

&#x1f3c6; 文章目标&#xff1a;学习并介绍Midjourney以图生图的详细教程 &#x1f340; Midjourney以图生图的详细教程 ✅ 创作者&#xff1a;熊猫Jay &#x1f389; 个人主页&#xff1a;Jay的个人主页 &#x1f341; 展望&#xff1a;若本篇讲解内容帮助到您&#xff0c…...

基于单片机的电路特性测试仪的设计

摘 要 当今社会科技的飞速发展&#xff0c;智能和便捷已经成为人们的日常诉求。现在放大电路在使用过程中经常出现故障&#xff0c;并且需要测试电路数据&#xff0c;但是大多数是手动进行测试&#xff0c;一定程度上影响了工作效率。 为了测量数据更安全更便捷&#xff0c;针…...

五一将迎2亿人次出行,君子签助力旅行社合规高效签旅游电子合同

近日&#xff0c;为规范旅游市场秩序&#xff0c;促进旅行社高质量发展&#xff0c;文旅部发布了《文化和旅游部办公厅关于进一步规范旅游市场秩序的通知》&#xff08;下称《通知》&#xff09;&#xff0c;对旅游业提出了新的要求。 《通知》中规范了旅行社经营行为。旅行社要…...

IAP升级遇到的问题

文章目录 1. app程序在SystemClock_Config中跑飞2. 程序HAL_Delay中卡死3. 通过外部flash模拟的U盘没能被电脑识别4. 将bin文件拷贝到片内flash中失败5、APP程序跳转过后串口不能工作 这几天在STM32G473使用IAP升级的时候踩了不少坑 1. app程序在SystemClock_Config中跑飞 boo…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具&#xff0c;用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中&#xff0c;cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; Spring框架的核心容器是IoC&#xff08;控制反转&#xff09;容器。它的主要作用是管理对…...