镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
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.241
ping一下,如果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