求各位大佬指条有关发行版选择的明路

2023-04-17 22:04:39 +08:00
 LxnChan

写完之后补的一句话:写了好多,不想看可以拉到最后一段。


我是从大概小学的时候接触到了 Linux ,当时在图书馆看到的叫红旗(Redflag Linux ),不过当时因为缺失相关基础知识,也没有安装成功,事实上也没有用上。

然后是从 Ubuntu 开始了 Linux 的入门,我还是很感谢我入门的时候的 Ubuntu 16.04 ,当时除了感觉并没有同时代的 Win10 15xx 好看,其他的感觉一切良好,主要是对老旧硬件的良好支持。再往后就逐渐了解了发行版和上下游一说,知道了 Debian 是 Ubuntu 的上游。

在往后相当长的一段时间里,Linux 的发行版我几乎只用 Ubuntu 或者 Debian 的 distro ,因为对 apt 、nano 和 GNOME 实在是太熟悉了。

在往后就是工作了,公司要求使用 CentOS ,便一直使用 CentOS7 ,在此之前稍微有了解过 RedHat 和 CentOS ,也大概知道 7 基本上是最后的绝唱了,不过其实并不在意,研发都不在意升级我担心个屁。

直到前两天编译 qemu 的时候频频遇到问题,各种依赖的版本问题在 CentOS7 上面太难处理了,处理好一个绝对会有下一个在等着你,一怒之下给测试环境换了 RHEL9 ,此前有申请 RHEL 的开发者 License ,也简单接触过 RHEL ,不过一进去之后需要手动启用仓库就感觉很麻烦,仓库很多也不知道该启用哪些。于是又换了 Debian11 ,如果说 Ubuntu 是带没卵用副屏的笔记本,那 Debian 简直就跟只有主板的准系统一样,尽管很熟悉但是还是感觉处处不得劲。最后我还是用回了被我扔进垃圾桶的 CentOS7 。


于是郁闷了快两三天了,Ubuntu 日渐臃肿,CentOS 又不再是一个稳定的生产环境操作系统,我居然在人生的这样一个小岔路口犯了难,求各位大佬指条明路,谢谢大家。

5493 次点击
所在节点    Linux
71 条回复
ryan4yin
2023-04-18 10:37:02 +08:00
其实据我观察 ubuntu 的兼容性是最好的,很多项目编译都要求特定版本的 ubuntu 。

为了随时可以编译,我 homelab 里有 ubuntu server 18.04 20.04 22.04 三个版本的虚拟机,用于应付一些容器不太好搞定的项目编译。

至于容器化构建,那就简单了,镜像随便拉。

centos ,我对它最深刻的印象就是古老、麻烦,装个 python3 还得加第三方仓库,内核版本只有 3.10 ,早死早超生...

另外因为公司用的 AWS ,我实际工作用的最多的反而是 Amazon Linux ,貌似是 CentOS 的分叉,反正也是用 rpm ,用着还行。
ryan4yin
2023-04-18 10:40:29 +08:00
零零碎碎写了好多...总结下我目前的选择,大概是服务端跑 ubuntu server ,桌面端跑 endeavour-i3wm ,容器基础镜像倾向于用 debian
ryan4yin
2023-04-18 10:41:37 +08:00
哦哦还有,程序构建首选容器,按项目要求选择对应的基础镜像,如果环境比较复杂、容器不好搞定的,就用虚拟机。
wowawesome
2023-04-18 10:45:11 +08:00
@neroxps 哈哈, 能跑就行.
Xusually
2023-04-18 10:48:40 +08:00
@levelworm Intel 的无线网卡是吗?我的 AX200 在 Arch 和 Kubuntu 都遇到过,貌似问题比较复杂,有很大的可能性是固件版本的问题,供参考: https://bbs.archlinux.org/viewtopic.php?id=258042
RedisMasterNode
2023-04-18 10:49:45 +08:00
@ryan4yin 大部分 OS 装特定版本的 Python (其他软件也可以类推,暂以 Python 为例)都需要加第三方仓库的。例如 Ubuntu 16.04 装 Python 3.6/3.7/3.8/...;又例如 Ubuntu 22.04 装 Python 2.7 ,这个感觉不能算是 CentOS 独有的问题,但是 CentOS 万年不迭代更新确实凸显了这个问题。

最后你说的那个第三方仓库是 deadsnakes ppa 这种吗,这个已经被我当成官方仓库来看待了😂
ryan4yin
2023-04-18 11:06:30 +08:00
@RedisMasterNode Ubuntu 16.04 我好像从来没用过哈哈,我刚开始用 Ubuntu 就 1804 了。

装特定版本的 python 是都有问题,这个我确实理解(尤其我用的这类滚动发行版...)。但是装个 python3 还要第三方仓库真有点过分,现在 python3 不该是标配么?只有 centos 因为太老了,还固守 python2.

我已经忘记是哪个第三方仓库了,好几年没用过 centos 了。

我觉得你大概能理解我的观点:CentOS 实在没新意,内核太老很多新功能都用不上或者需要额外安装,比如 ebpf/wireguard/macvlan/ipvlan ,这在普通使用时可能没啥问题,但是踩到坑就难受了。

都 2023 年了我们还在讨论 CentOS 跟 Linux 3.10 ,我感觉这本身就有点奇怪...或许是因为我工作都是 k8s 容器化集群,节点更新迭代很简单,导致我们的集群环境都挺新的,目前内核 5.4 了。
neroxps
2023-04-18 12:01:53 +08:00
@ryan4yin #27 你永远不会想到那些老旧软件研发们的思路都是固守自己当年的一个大本营,根本不想更新迭代,能跑就行大行其道。让一个研发去从新学习一个 Linux 发行版,他还不如写多两行代码。

只能说感谢有容器技术让新技术也落后技术能共存。
ryan4yin
2023-04-18 14:13:33 +08:00
@neroxps 嗯理解理解,是这么回事,所以还是干云原生运维舒服啊,我可不想整天面对一堆老旧环境。

另外你前面那个 mongo 的例子,确实有点搞笑哈哈,这是把容器当成虚拟机玩了吧,debuff 拉满了...
standchan
2023-04-18 15:16:57 +08:00
1 、一个基础的你熟悉的发行版,推荐 ubuntu
2 、容器化
3 、问题解决
neroxps
2023-04-18 15:24:08 +08:00
@ryan4yin 总结到位。就是这样的。我下巴都惊掉了。
salmon5
2023-04-18 15:32:41 +08:00
AlmaLinux9 ,直接一步到位,至少 5 年不落后
realpg
2023-04-18 18:09:03 +08:00
不带显卡 不需要图形界面的 server 无脑 ubuntu 最新 lts
新版 lts 发布后 2 个月左右 就直接 do-release-update 升级上去
只要英语过得去,你会发现什么坑都有人已经踩过了
yinmin
2023-04-18 23:23:41 +08:00
@neroxps 关于容器当虚拟机使用,容器数据不分离,有个大厂也是这么干的: microsoft sql server 容器,汗~

话又说回来,容器数据分离应该是研发的活,有些第三方软件让运维 /网管配成容器,要做数据分离是有点勉为其难了。
tomychen
2023-04-18 23:43:35 +08:00
对发行这么多怨气?
CentOS 嫌弃老气,Arch 又觉得激进,Ubuntu 又觉得臃肿,那自己打造一个咯...

❯ uname -a
Linux Gentoo-World 6.1.22-gentoo-dist #1 SMP PREEMPT_DYNAMIC Tue Apr 4 15:32:05 HKT 2023 x86_64 Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz GenuineIntel GNU/Linux
❯ stat -c %w /
2019-11-22 18:39:28.000000000 +0800


用 gentoo ,主要的原因就是我可以远离 systemd ,比如 这种天坑 https://www.v2ex.com/t/925537



再者 CentOS7 也可以用一些新的东西,当然,我装的这些,现在都不算太新了,这是我的 CentOS 开发环境。

➜ ~ uname -a
Linux localhost.localdomain 3.10.0-1160.59.1.el7.x86_64 #1 SMP Wed Feb 23 16:47:03 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
➜ ~ clang --version
clang version 10.0.1 ( https://github.com/llvm/llvm-project.git ef32c611aa214dea855364efd7ba451ec5ec3f74)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-10/bin
➜ ~ /usr/local/bin/gcc --version
gcc (GCC) 9.2.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

只是我不太明白,你的需求倒底是用来做生产,还是用了做开发机。

CentOS 大量出现在生产环境的原因,可能最重要的一点,就是稳,虽然土得跟狗一样,但也稳如狗。
如果是开发环境,那么不应该是哪个炫上哪个吗?跟线上环境不统一?再装一个 VMware ,远程开发不就好了?

再者说了,RockyLinux 不也跳出来接盘了嘛,不必要这么纠结吧。

我想表达的意思是,你都选了,这么自由的操作系统(内核),如果真的觉得都不适合自己,就自己找一个适合自己的框子,自己试着去搭一个出来。

比如把自己想要的东西都源码编到 /opt/下,和系统的依赖分开,这样就不会破坏原有系统的生态。又可以用到很新的东西。

所以,放下纠结,热爱生活,拥抱 linux
levelworm
2023-04-19 00:17:23 +08:00
@Xusually 多谢,粗粗看了下讨论好像和我这个还不完全一样,不过我现在换了直连,得仔细看看链接里头的细节。
qwq11
2023-04-19 01:01:33 +08:00
翻到底了居然没看见 arch ,那我就推 arch 罢
https://archlinux.org
restkhz
2023-04-19 01:10:31 +08:00
我水平不高,就提个个人喜好,生产环境是 Debian+docker ; PC 是 manjaro 。
前阵子有台服务器跑的 Deb 已经算是上古到 Deadsnakes 都不支持了,那就上 Docker 解决问题。
发行版都有老去的一天,依赖参差不齐的应用不可能都开心地跑在一个环境里。
发行版重要但是没有那么重要,这种场合你需要的可能是容器。
dayeye2006199
2023-04-19 01:37:16 +08:00
戴比安,不折腾。个人使用服务器,容器基座,我看不出有什么短板,搞成什么样都行
webcape233
2023-04-19 07:24:11 +08:00
自用 archlinux ubuntu fedora ,项目看领导 /甲方和实际兼容性,主要是 debian/rhel/ubuntu

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/933283

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX