CentOS停更;阿里发布全新操作系统(Anolis OS)
镜像下载、域名解析、时间同步请点击阿里云开源镜像站
Linux系统对于Java程序员来说,就好比“乞丐手里的碗”,任何业务都离不开他的身影,因为服务端的广泛使用,也因此衍生出了各种不同的发行版,其中我个人用的最多、且最喜欢的就是CentOS;不幸的是,2021年底CentOS 8宣布停止了维护;
不过,喜欢CentOS的朋友们不用为此而难过;
21年的云栖大会上,阿里云发布全新操作系统“龙蜥”(Anolis OS)并宣布开源,这款操作系统完全兼容 RHEL/CentOS 生态和操作方式,支持一键迁移,并提供全栈国密能力。
本文就来带大家一起玩一下这个操作系统,看是不是真的100%兼容CentOS;

龙蜥操作系统简介
龙蜥操作系统定位于服务器端 ,支持 x86、ARM 等多种芯片架构和计算场景,据阿里云在会上透露,该操作系统已经在阿里巴巴内部打磨 10 年,支撑了历年的双11,无论是在性能、还是稳定性都经受了实战的考验;同时还针对云原生应用开发做了多重优化。
据悉,**龙蜥操作系统完全开源 **,通过开源社区和操作系统厂商等形式提供服务。未来,阿里云计划为龙蜥投入 20 亿专项资金,并联合 100 家生态合作伙伴推动生态建设,提供至少十年技术支持。
龙蜥社区官网:https://openanolis.cn/
装机使用
说的再好,不如亲自上手把玩一番来的直观;
有条件的朋友,可以直接选择物理机安装,装机教程可以参考我直接分享给大家的文章:
我是属于没有条件的,所有下面带大家使用 VirtualBox装一下龙蜥操作系统;
学会使用虚拟机快速构建一个学习使用的Linux环境,是一个非常有用的技能;特别后端程序员在学习、测试集群、分布式的时候,我们很难同时去找那么多台物理机来供我们使用,因此,虚拟机构建就是一个非常方便、快捷且经济实惠的选择。
VirtualBox安装
这不是本文的重点,没啥要注意的,直接在官网(https://www.virtualbox.org/)下载最新的版本,安装即可!
市面上还有另一款虚拟机:VMware,不过我被这个虚拟机坑过多次,所以为了后续不必要的麻烦,所以不太建议大家使用VMware。相反,改用VirtualBox的几年来,一直都表现的非常稳定,没有出现过任何的乱子,值得一试。
下载最新的镜像
我下载的x86_64 minimal的版本,才1.2G,也可以根据个人的情况,选择不同的版本;

装机
- 创建虚拟机
文件夹:不要放置重要的东西,因为这里是将此文件夹作为了虚拟机的磁盘,所以后续会对文件夹进行格式化操作
版本:因为没有对于版本的选项,所以选择RedHat


- 选择网络连接方式
选择桥接网卡

- 启动

- 选择语言

- 格式化磁盘
也就是格式化第一步中选择的安装文件夹,格式化会清空文件夹下的所有内容,所以务必不要在文件夹下放置重要文件;

- 开始安装

- 设置密码

- 安装并启动Anolis OS


配置网络
- 第一步,查看宿主机的网络环境
我的电脑是window,win+R输入 cmd命令打开黑窗体,然后输入 ipconfig命令即可查看宿主机的IP、网关、子网掩码等

自己选一个局域网下没有人用的IP,测试一下,比如我宿主机的网络是 192.168.1.102,选择一个 192.168.1.241ping一下,如果ping不通,说明局域网IP没人使用,就可以把这个IP配置给虚拟机;

第二步,配置网络
进入配置文件目录
/etc/sysconfig/network-scripts

注:你的配置文件名称可能和我的不一样,不过没关系,只要是 ifcfg-打头的配置文件就行
- 编辑配置文件
修改并添加以下配置:
// 修改下面的两项
// 将BOOTPROTO=dhcp 修改为 BOOTPROTO=static 意思是IP设置为固定的
// 将ONBOOT=no 修改为ONBOOT=yes
// 添加以下配置
// 以下以192.168.1开头的配置请根据个人实际的网段配置
# ip
IPADDR=192.168.1.241
NETWORK=192.168.1.1
NETSTAT=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8
// :wq 保存
配置好后的信息如下:

- 重启网卡
重启网卡之前一定要重新载入一下配置文件,不然不能立即生效
nmcli c reload
重启网卡(下面的三条命令都可以)
注:其中的 enpxxx为上面配置文件名称的后缀,请根据实际情况修改;
nmcli c up enpxxx
nmcli d reapply enpxxx
nmcli d connect enpxxx
测试网络
ping www.qq.com
任意ping一个外网域名,如果能应答,说明网络已经配置好了;
- 查看看网络
ip addr
如果发现对应网卡的IP变成你配置的IP且能正常ping外网,说明网络配置已经正常

SSH工具连接
网络配置好之后,这就是一台实实在在可用的机器了,除了外网没办法访问之外(想外网能访问到也不是没有办法,后续再找机会来单独说说);其他的功能,和一台真实的物理机没有大的区别,为了使用更方便,需要用SSH工具远程到主机上进行环境配置、软件安装;
之前给大家推荐过多款好用且免费的SSH工具,有兴趣的可以看看: 这里就不再赘述了。
为了验证系统是否真的完全兼容CentOS,我决定在上面装上Docker,跑个Nginx服务,试一下使用效果。
安装Docker
- 移除旧版本
如果之前安装过,这条指令会将Docker卸载掉
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
移除历史镜像和容器等数据,如果之前已经安装了Docker,不移除,再次安装Docker,历史的镜像和容器都还存在;
注意!!! 这行指令会删除历史的所有数据,请酌情执行
rm -rf /var/lib/docker
- 第二步
安装一些必要的系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 第三步:
添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 第四步:
更新 yum 缓存
CentOS 7的命令
sudo yum makecache fast
CentOS 8的命令
sudo yum makecache

- 第五步:
安装 最新的Docker-ce
sudo yum -y install docker-ce
安装指定版本
sudo yum install -y docker-ce-18.09.7 docker-ce-cli-18.09.7 containerd.io
- 第六步:
启动 Docker 后台服务
sudo systemctl start docker
// 设置开机自启
sudo systemctl enable docker
- 其他指令(可以不执行的指令)
// 停止
sudo systemctl stop docker
// 重启
sudo systemctl restart docker
// 查看状态
sudo systemctl status docker
// 设置开机自启
sudo systemctl enable docker
// 取消开机自启
sudo systemctl disable docker
// 查看是否已经配置开机自启
sudo systemctl is-enabled docker
- 查看版本
docker -v

Docker运行Nginx
- 启动Nignx
执行以下Docker指令,即可快速运行一个Nginx服务;
docker run -d -p 80:80 nginx

- 测试
浏览器输入:http://192.168.1.241 出现下面的效果,说明整个服务已经可用;

总结
至此,系统的安装,网络配置、软件安装、服务测试均没有任务问题,一切正常!
不论是命令、还是使用习惯,几乎和CentOS一模一样,所以完全可以做到无感知的切换,虽然CentOS宣布停止维护,但这款完全兼容CentOS的操作系统完美顶上,而且阿里承诺至少提供十年技术支持,所以喜欢CentOS的朋友,丝毫都不用担心了。
更多的细节,大家可以在日常使用中慢慢去感受。
本文转自:https://blog.csdn.net/lupengfei1009/article/details/123257696
CentOS停更;阿里发布全新操作系统(Anolis OS)的更多相关文章
- 1、了解计算机与操作系统发展阶段 2、选择一个具体的操作系统,结合计算机与操作系统的发展阶段,详细了解其渊源、发展过程、趋势,整理成简洁美观的图文博客发布。 Windows Mac os x Unix Linux Android 等。
1.了解计算机与操作系统发展阶段 操作系统并不是与计算机硬件一起诞生的,它是在人们使用计算机的过程中,为了满足两大需求:提高资源利用率.增强计算机系统性能,伴随着计算机技术本身及其应用的日益发展,而逐 ...
- 基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构
基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构 Neo4j 3.0.0 正式发布,这是 Neo4j 3.0 系列的第一个版本.此版本对内部架构进行了全新的设计;提供给开发者更强大的生 ...
- 【转帖】IBM发布全新闪存解决方案,助企业存储架构做减法
IBM发布全新闪存解决方案,助企业存储架构做减法 http://stor-age.zhiding.cn/stor-age/2020/0227/3124851.shtml 感觉 配图弄错了 FlashS ...
- CentOS 7 ARM 版发布:支持树莓派2/香蕉派/CubieTruck
CentOS 7 ARM 版发布:支持树莓派2/香蕉派/CubieTruck 来自CentOS团队的Karanbir Singh很高兴地宣布,面向ARM硬件架构的CentOS 7 Linux已经正式发 ...
- 博客停更及OI退役公告
停更&&OI退役 公告 高中OI之路就这样结束了,曾经想过回在NOI跪,APIO跪,HNOI跪却从未想过会在NOIP跪! 没办法自己作死啊,CCF感觉还是很良心的混个省一回来了,看以后 ...
- 博客停更转战简书http://www.jianshu.com/u/7ac4047c9cfa
博客停更转战简书 http://www.jianshu.com/u/7ac4047c9cfa
- spring4x,暂时停更
spring4x,暂时停更 鄙人愚笨,没有spring基础,直接上了spring4x,发现无法理解(另外spring4x实战课本演示不详,本人学识有限),现从spring3开始.
- Facebook发布全新JavaScript引擎:Hermes
摘要: JS引擎开始升级了... 原文:技术栈中的爱马仕?Facebook发布全新JavaScript引擎:Hermes 作者:Carson_Ho Fundebug经授权转载,版权归原作者所有. 前言 ...
- Centos搭建PXE,安装部署操作系统
centos系统搭建PXE网络安装centos+ubuntu+Windows Centos搭建PXE,安装部署操作系统 一 . 原理: 1.什么是PXE: PXE(Pre-boot Execution ...
随机推荐
- vue中的钩子函数
什么是vue的钩子函数? Vue 实例在被创建时,会经过一系列的初始化过程,初始化过程中会运行一些函数,叫做生命周期钩子函数,通过运用钩子函数,用户在可以在Vue实例初始化的不同阶段添加自己的代码,以 ...
- Linux源码编译安装php7.2
以下简单的介绍下如何源码安装PHP,对于版本不一定是7.2,也可以是7.3,当然方法都是换汤不换药的,核心东西不变. 一.下载PHP源码 需要到指定的路径下载源码,执行下面的命令 wget http: ...
- rsync 与 inotify 的使用 & 实现实时同步备份
今日内容 rsync 内容详细 上一篇内容问题 1.yum源问题 2.VPN链接正常,但是没办法通过172 3.VPN链接时,出现了DNS错误 4.掩码不对 5.openvpn开启错误 复制的命令 1 ...
- Lesson11——Pandas去重函数:drop_duplicates()
pandas目录 "去重"通过字面意思不难理解,就是删除重复的数据.在一个数据集中,找出重复的数据删并将其删除,最终只保存一个唯一存在的数据项,这就是数据去重的整个过程.删除重复数 ...
- 一位资深IT技术员的心声
引言 我对于本科时光的印象,还停留在那所普通 211 大学的建筑物之间,我坐在大学的时光长廊里,满眼望去,都是经历的过的故事.可毕业后回首,却很少有人能说,自己从来没有迷茫过.迷茫,仿佛就是一团乌云, ...
- Spring MVC 是什么? 核心总结
SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰 ...
- 使用Redis完成定时任务
应用场景:在订单业务中,有时候需要对订单设置有效期,有效期到了后如果还未支付,就需要修改订单状态; 与设备进行长链接,如果一段时间内没有收到设备发送的心跳,则修改状态 1.引入依赖 <depen ...
- MybatisPlus字段自动填充配置
实体类 @ApiModelProperty(value = "创建时间") @TableField(fill = FieldFill.INSERT) private Date gm ...
- .NET 6学习笔记(1)——通过FileStream实现不同进程对单一文件的同时读写
会写这篇纯属机缘巧合,虽然一直以来认为对单一文件的读.写操作是不冲突,可并行的,但实际并未实践过.正好有个UWP的程序要并行读取由Desktop Extension创建的文本,需要有个原型程序来验证, ...
- (二) operator、explicit与implicit 操作符重载
有的编程语言允许一个类型定义操作符应该如何操作类型的实例,比如string类型和int类型都重载了(==)和(+)等操作符,当编译器发现两个int类型的实例使用+操作符的时候,编译器会生成把两个整 ...