CentOS简介

CentOS简介,第1张

CentOS操作系统作为一个稳定可靠,上手容易,操作简单的linux服务器系统,曾经一度成为中小企业运维、政企传统行业用户的首选。我是在2015年的冬天接触的这个操作系统,记得那年的第一场雪比以往时候来得更晚一些,当时因为军大衣漏棉花了需要赚点外快买点针线补一补过冬,所以跟着朋友一起做一个微信支付停车费的公众号服务,在阿里云最廉价ECS上选装了免费的CentOS7,当时作为一个新手第一感觉就是上手没有任何难度,无论安装个服务,还是部署个项目,都是没有任何障碍的,因为百度上有无数相关的资源可以支撑一个新手的入门。

以下摘自维基百科:

CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux(RHEL)依照开放源代码规定发布的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。CentOS 对上游代码的主要修改是为了移除不能自由使用的商标。[3]2014年,CentOS宣布与Red Hat合作[4],但CentOS将会在新的委员会下继续运作,并不受RHEL的影响[5]。

CentOS和RHEL一样,都可以使用Fedora EPEL来补足软件。

Fedora Linux(第七版以前为Fedora Core)是较具知名度的Linux发行包之一,由Fedora项目社群开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由(开放源代码)的操作系统。Fedora是商业化的Red Hat Enterprise Linux发行版的上游源码。

Fedora对于用户而言,是一套功能完备、更新快速的免费操作系统;而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。[1]

Fedora大约每六个月发布新版本[2]。

截至2016年2月,Fedora大约有120万用户[3],这其中包括了Linux内核的作者林纳斯·托瓦兹[4][5]。

上面的内容翻译为人话就是CentOS系统带有Red Hat的基因,并且解除了Red Hat不能自由使用的封印。总的来说就是任何人或任何机构都可以白嫖这个商用级稳如老狗的操作系统,无需付费,无需顾忌任何东西,拿来改一下UI变成某标麒麟也是很合理的事情。然而在2020年底发生了一件事情:CentOS8本来承诺的10年维护期突然变为2021年12月31日停止一切技术支持,未来将以CentOS Stream的形态领先于RHEL版本进行迭代,这让无数运维狗闪瞎了老眼,感觉不会再爱了。

以下摘自linux中国:

红帽公司根本没有怎么谈论这方面的问题,但是红帽公司 Linux 工程副总裁 Mike McGrath 在 ITPro Today 上接受 Christine Hall 的采访时,却把秘密泄露了出来。“我想说的是,对我们来说,最大的问题是 CentOS 本身其实并没有给红帽提供那么大的用处。我们建立的大多数社区,比如 Fedora,确实有很多双向的社区参与。不幸的是,CentOS 从来就不是这样的。它一直是一个用户社区,所以那种贡献模式大多是单向的。”

让我再重复一遍,“CentOS 本身其实并没有给红帽提供那么大的用处。” 它从来没有。而且,有很多红帽的资深人士从第一天开始就知道这一点,他们一点也不喜欢它。

你知道谁在使用 CentOS 吗?一份简短的名单包括迪士尼、GoDaddy、Rackspace、丰田和 Verizon。此外,还有几十家公司围绕 CentOS 打造产品。这些公司包括 GE、Riverbed、F5、Juniper 和 Fortinet。红帽从这些 CentOS 的“客户”身上赚了多少钱?零!

在 CentOS 博客上,一位不满的用户说:“整个前提,也是唯一有人使用 CentOS 的原因,就是因为它重构了 RHEL。恭喜你破坏了这一点,笨蛋。”

没错,这也是 CentOS 要为 CentOS Stream 让位的最大原因。

红帽公司没有人愿意公开说这句话,但众多红帽公司的高管告诉我,情况就是这样。

有一位说:“这与 IBM 几乎无关。在 2018 年秋季收购的消息还没有传来之前,我们就在详细地讨论这个问题。有两个内部原因。首先,工程和销售部门无论如何也想不出如何在各自的产品组合中定位 CentOS。而且,把 CentOS 变成上游的想法始于 2014 年,当时 Jim Perrin [前红帽开发人员和 CentOS 董事会成员,现为微软首席项目经理]在 2014 年巴西的 Fórum Internacional de Software Livre(FISL)演讲中谈到了这种可能性。结果就出现了 CentOS 特别兴趣小组(SIG),这是 CentOS Stream 之路的开始。”

一位前红帽高管坦言:“CentOS 在挖销售的墙角。客户的看法是‘它来自红帽,是 RHEL 的克隆,所以它很好用! ’其实不然。它是一个二流的拷贝。”以他的立场看,“这 100% 是防守,以避免 CentOS 造成更多损失。”

还有一位前红帽官员说。如果不是因为 CentOS,在红帽成为十亿美元的企业之前,红帽就已经是一家百亿美元的公司了。

而另一位红帽员工指出:“看看 CentOS 的 FAQ,它就在那里写着 ——

CentOS Linux 不受 Red Hat 公司的任何支持。

CentOS Linux 不是 Red Hat Linux,不是 Fedora Linux,也不是 Red Hat Enterprise Linux,它不是 RHEL。CentOS Linux 不包含 Red Hat Linux、Fedora 或 Red Hat Enterprise Linux。

CentOS Linux 不是 Red Hat Enterprise Linux 的克隆。

CentOS Linux 是由 Red Hat, Inc 为 Red Hat Enterprise Linux 提供的公开源代码,在一个完全不同的(CentOS 项目维护的)构建系统中构建的。

我们不欠你什么。”

这可能会让你们中的一些人对红帽非常生气。不过,在你们发火之前,让我先问你们一些问题。CentOS 的“客户”为 CentOS 贡献了多少?我说的不是钱。我说的是代码、文档和支持。所有这些开源社区应该回馈的东西。答案是:几乎没有,接近于无。

在 CentOS 从事安全工作的 Dick Morrell 在推特上写道:“社区[是]由合作和互动定义的。如果 @CentOSProject 是一个社区建设的住宅开发项目,它将享受那些受益和使用其设施的人所贡献的扩建、楼层和功能。” Morrell 继续说道:“然而 @CentOSProject 一直是不断给予的仁慈礼物,而现在那些抱怨的人从来没有站出来用砖头、水泥或玻璃来扩建这个物产。”

你真的能责怪红帽做了一个企业应该做的事情吗?赚钱的同时而为他们的付费社区服务?我明白为什么人们对红帽感到生气。这是沟通不畅的问题。仅仅用一年的警告就切断了对 CentOS 8 的支持,这理所当然地换来了很多人的不满。 但如果你是那些现在对红帽愤怒的人之一,在你太过自以为是之前,你可能要先自我反思一下,想想你对 CentOS 的回报有多少。

最后,如果你还是无法忍受红帽对 CentOS 的做法,还有其他的 Linux 替代品。而且,至少有两个“经典”的 CentOS 构建版本,CloudLinux 的 Project Lenix 和 Rocky Linux 可供你考虑。

综上,CentOS Stream是Red Hat受够了用户的白嫖搞出来糊弄洋鬼子的四不像,传统的CentOS到目前2022年可以支撑企业级应用的版本只剩CentOS7,它将被2024年巨蟹座的钳子咔嚓一声开启“下面没了”的篇章。

然而,CentOS并没有失去它全部的价值,对于linux初学者、或者一些不追求企业级应用场景的用户而言,它仍然是一个优秀的、稳定的、不容易折腾坏的免费操作系统,被喂过翔的传统行业运维,应该都懂。

但是,相对于CentOS8上的诸多问题如containerd与docker-ce版本冲突、很多软件厂商对其支持动力不足等问题,CentOS7在所剩无几的官方维护期内仍然是受欢迎的一个选择。

另外,如果是内网环境、docker用户,又有什么好顾虑?只要运行稳定,操作简单易上手,好好做一个安静的老狗,好像也没什么不好。

只是,CentOS7老旧的3.1默认内核,是很多服务没法施展拳脚的阻碍,下一篇将详细介绍CentOS7的安装与内核升级等初始化操作,方便vps新手、运维新人做参考。

我们假设你已经创建了CentOS 7的VPS实例(比如,使用DigitalOcean 或者 Amazon EC2)。请确保你的VPS实例有至少1GB的内存。不然,CentOS将会在你访问远程桌面的时候会崩溃。

第一步: 安装CentOS桌面

如果你现在安装的CentOS版本是没有桌面的最小版本,你需要先在VPS上安装桌面(比如GNOME)。比如,DigitalOcean的镜像就是最小版本,它需要如下安装桌面GUI

# yum groupinstall "GNOME Desktop"

在安装完成之后重启VPS。

第二步:安装和配置VNC服务器

接下来就是安装和配置VNC服务器。我们使用的是TigerVNC,一个开源的VNC服务实现。

# yum install tigervnc-server

现在创建一个用户账户(比如:xmodulo)用来访问远程桌面。

# useradd xmodulo

# passwd xmodulo

当一个用户尝试使用VNC访问远程桌面时,VNC守护进程就会启动来处理这个请求。这意味着你需要为每个用户创建一个独立的VNC配置文件。

CentOS依靠systemd来管理和配置系统服务。所以我们将使用systemd来为用户xmodulo配置VNC服务器。

首先让我们使用下面任意一条命令来检查VNC服务器的状态。

# systemctl status vncserver@:.service

# systemctl is-enabled vncserver@.service

默认的,刚安装的VNC服务并没有激活(禁用)。

现在复制一份通用的VNC服务文件来为用户xmodulo创建一个VNC服务配置。

# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

用本文编辑器来打开配置文件,用实际的用户名(比如:xmodulo)来替换[Service]下面的。同样。在ExecStart后面追加 "-geometry " 参数。最后,要修改下面“ExecStart”和“PIDFile”两行。

# vi /etc/systemd/system/vncserver@:1.service

[Service]

Type=forking

# Clean any existing files in /tmp/.X11-unix environment

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i >/dev/null 2>&1 || :'

ExecStart=/sbin/runuser -l xmodulo -c "/usr/bin/vncserver %i -geometry 1024x768"

PIDFile=/home/xmodulo/.vnc/%H%i.pid

ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i >/dev/null 2>&1 || :'

现在为用户xmodulo设置密码(可选)。首先切换到该用户,并运行vncserver命令。

# su - xmodulo

# vncserver

你会被提示输入用户的VNC密码。密码设置完成后,你下次需要用这个密码来访问你的远程桌面。

最后,重新加载服务来使新的VNC配置生效:

# systemctl daemon-reload

在启动时自动启动VNC服务:

# systemctl enable vncserver@:1.service

检查vnc服务正在监听的端口:

# netstat -tulpn | grep vnc

端口5901是VNC默认的客户端连接到VNC服务器使用的端口。

第三步:通过SSH连接到远程桌面

从设计上说,VNC使用的远程帧缓存(RFB)并不是一种安全的协议,那么在VNC客户端上直接连接到VNC服务器上并不是一个好主意。任何敏感信息比如密码都可以在VNC流量中被轻易地泄露。因此,我强烈建议使用SSH隧道来加密你的VNC流量。

在你要运行VNC客户端的本机上,使用下面的命令来创建一个连接到远程VPS的SSH通道。当被要输入SSH密码时,输入用户的密码。

$ ssh xmodulo@<VPS-IP-address>-L 5901:127.0.0.1:5901

用你自己的VNC用户名来替换“xmodulo”,并填上你自己的VPS IP地址。

一旦SSH通道建立之后,远程VNC流量就会通过ssh通道路由并发送到127.0.0.1:5901。

现在启动你最爱的VNC客户端(比如:vinagre),来连接到127.0.0.1:5901。

你将被要求输入VNC密码。当你输入VNC密码时,你就可以安全地连接到CentOS的远程桌面了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/109572.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-11
下一篇2023-03-11

发表评论

登录后才能评论

评论列表(0条)

    保存