1. 镜像基础版本 腾讯云轻量服务器 CentOS7.6镜像
2. 镜像制作过程
2.1 初始安装镜像为CentOS7.6 64位版本
代码语言:shell复制## 001、查看当前版本信息 基础版本为CentOS7.6 64位版本
uname -r
# 3.10.0-1160.71.1.el7.x86_64
uname -a
# Linux VM-4-3-centos 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
cat /proc/version
# Linux version 3.10.0-1160.71.1.el7.x86_64 (<mockbuild@kbuilder.bsys.centos.org>) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Jun 28 15:37:28 UTC 2022
2.2 安装epel仓库
代码语言:shell复制#wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.tar
# 安装epel仓库
yum -y install epel-release
#Installed:
# epel-release.noarch 0:7-14
#
#Complete!
2.3 修改shell界面终端语言为中文简体
代码语言:shell复制locale -a
yum groupinstall "fonts"
localectl set-locale LANG=zh_CN.UTF-8
# 此时退出终端,然后重新进入终端界面语言才为中文
2.4 升级到CentOS最新版本,然后重启服务器
代码语言:shell复制#升级到CentOS最新版本
yum -y update
# 升级成功后重启服务器
reboot
# 重启成功后版本应该就升级到CentOS7.9了
2.5 安装一些依赖项目
代码语言:shell复制## 安装rpmconf和yum-utils
yum -y install rpmconf yum-utils
## 执行rpmconf ,如果出现一些提示,请输入Y和回车继续,如果没提示继续第四步操作
rpmconf -a
## 安装dnf
yum -y install dnf
## 移除yum和yum-metadata-parser
dnf -y remove yum yum-metadata-parser
2.6 安装RockyLinux8.7的源和升级epel源
代码语言:shell复制# 删除CentOS7的源
rpm -e --nodeps `rpm -qa|grep centos-`
# 安装RockyLinux8.8的源
rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/Packages/r/rocky-release-8.8-1.8.el8.noarch.rpm
rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/Packages/r/rocky-repos-8.8-1.8.el8.noarch.rpm
rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/Packages/r/rocky-gpg-keys-8.8-1.8.el8.noarch.rpm
#rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/Packages/r/rocky-release-8.7-1.2.el8.noarch.rpm
#rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/Packages/r/rocky-repos-8.7-1.2.el8.noarch.rpm
#rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/Packages/r/rocky-gpg-keys-8.7-1.2.el8.noarch.rpm
# 升级epel源
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf clean all
2.7 卸载centos7的内核及修改python编码
代码语言:shell复制## 卸载centos7的内核及修改python编码
rpm -e --nodeps `rpm -qa|grep -i kernel`
修改python2编码
代码语言:shell复制## 修改python2编码
vi /usr/lib/python2.7/site-packages/sitecustomize.py
把下面这段代码加入文件里面
代码语言:shell复制# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')
2.8 升级到RockyLinux8,这一步一般会报错,如果没有报错请进行继续执行2.9步操作
2.8.1 第1次尝试升级RockyLinux8报错解决方法
代码语言:shell复制## 第一次执行下面的语句:
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
## 最后出现如下错误提示:
.............................
# 运行事务检查
# 错误:事务检查与依赖解决错误:
# (gcc >= 8 with gcc < 9) 被 annobin-10.67-3.el8.x86_64 需要
# rpmlib(RichDependencies) <= 4.12.0-1 被 annobin-10.67-3.el8.x86_64 需要
# (NetworkManager >= 1.20 or dhclient) 被 dracut-network-049-218.git20221019.el8_7.x86_64 需要
# rpmlib(RichDependencies) <= 4.12.0-1 被 dracut-network-049-218.git20221019.el8_7.x86_64 需要
# (annobin if gcc) 被 redhat-rpm-config-130-1.el8.noarch 需要
# (gcc-plugin-annobin if gcc) 被 redhat-rpm-config-130-1.el8.noarch 需要
# rpmlib(RichDependencies) <= 4.12.0-1 被 redhat-rpm-config-130-1.el8.noarch 需要
# 要诊断问题,尝试运行:'rpm -Va --nofiles --nodigest' 。
# RPM 数据库可能出错,请尝试运行'rpm --rebuilddb'进行恢复。
# 下载的软件包保存在缓存中,直到下次成功执行事务。
# 您可以通过执行 'dnf clean packages' 删除软件包缓存。
##解决办法
#首先执行下面的语句模糊查询缓存包存放路径
find /var/cache/dnf/ -name *annobin-10.67-3.el8.x86_64*
# /var/cache/dnf/appstream-62ae9a0bbea44fbe/packages/annobin-10.67-3.el8.x86_64.rpm
find /var/cache/dnf/ -name *dracut-network-049-218.git20221019.el8_7.x86_64*
# /var/cache/dnf/baseos-3e608afeebc9a90b/packages/dracut-network-049-218.git20221019.el8_7.x86_64.rpm
find /var/cache/dnf/ -name *redhat-rpm-config-130-1.el8.noarch*
# /var/cache/dnf/appstream-62ae9a0bbea44fbe/packages/redhat-rpm-config-130-1.el8.noarch.rpm
#然后rpm -ivh --nodeps --force 后面跟刚刚查询到的rpm文件完整路径卸载掉冲突的包
rpm -ivh --nodeps --force /var/cache/dnf/appstream-62ae9a0bbea44fbe/packages/annobin-10.67-3.el8.x86_64.rpm
rpm -ivh --nodeps --force /var/cache/dnf/baseos-3e608afeebc9a90b/packages/dracut-network-049-218.git20221019.el8_7.x86_64.rpm
rpm -ivh --nodeps --force /var/cache/dnf/appstream-62ae9a0bbea44fbe/packages/redhat-rpm-config-130-1.el8.noarch.rpm
2.8.2 第2次尝试升级RockyLinux8报错解决方法
代码语言:shell复制## 第二次尝试升级
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
# 报出如下错误
# 运行事务测试
# 下载的软件包保存在缓存中,直到下次成功执行事务。
# 您可以通过执行 'dnf clean packages' 删除软件包缓存。
# 错误:事务检查错误:
# file /usr/sbin/pidof from install of procps-ng-3.3.15-9.el8.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
# file /usr/bin/last from install of util-linux-2.32.1-39.el8_7.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
# file /usr/bin/mesg from install of util-linux-2.32.1-39.el8_7.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
# file /usr/bin/wall from install of util-linux-2.32.1-39.el8_7.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
# file /usr/share/man/man1/last.1.gz from install of util-linux-2.32.1-39.el8_7.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
# file /usr/share/man/man1/mesg.1.gz from install of util-linux-2.32.1-39.el8_7.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
# file /usr/share/man/man1/wall.1.gz from install of util-linux-2.32.1-39.el8_7.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
# 错误汇总
# -------------
## 解决方法 删除掉rpm -e --nodeps sysvinit-tools-2.88-14.dsf.el7.x86_64包
rpm -e --nodeps sysvinit-tools-2.88-14.dsf.el7.x86_64
2.8.3 第3次尝试升级RockyLinux8报错解决方法
代码语言:shell复制## 013、第三次尝试升级
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
## 此次升级成功无报错信息
2.9 卸载重新安装epel仓库和rpmconf并删除冲突软件包
卸载旧的epel仓库,重新安装epel仓库,删除冲突软件包,重装rpmconf并执行rpmconf,在交互界面一直输入Y和回车即可
代码语言:shell复制## 014、卸载旧的epel仓库,重新安装epel仓库,删除冲突软件包,重装rpmconf并执行rpmconf,在交互界面一直输入Y和回车即可
## 卸载epel仓库文件
cd /etc/yum.repos.d
rm -rf /etc/yum.repos.d/CentOS-Base.repo.rpmsave /etc/yum.repos.d/CentOS-Epel.repo /etc/yum.repos.d/epel-modular.repo /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing-modular.repo /etc/yum.repos.d/epel-testing.repo
## 重新安装epel仓库
dnf -y reinstall epel-release
## 删除冲突的软件包
rpm -e --nodeps python36-rpmconf-1.1.7-1.el7.1.noarch
## 重装rpmconf
dnf -y install rpmconf yum-utils
##执行rpmconf,会出现如下界面,一直输入Y和回车即可
rpmconf -a
2.10 安装RockyLinux-8内核
安装内核(防止有些时候没安装内核开机失败,开机失败的可以用RockyLinux-8 ISO镜像救援模式安装内核)
代码语言:shell复制## 014、安装内核(防止有些时候没安装内核开机失败,开机失败的可以用RockyLinux-8 ISO镜像救援模式安装内核)
dnf -y install kernel kernel-core
dnf -y install shim grub2-tools-extra grubby grub2-common grub2-pc
dnf -y install grub2-tools-efi grub2-tools-minimal grub2-efi grub2-pc-modules grub2-tools
2.11 修复引导并安装Rocky8.7的Minimal Install环境
执行下面的命令,防止迁移完成后找不到引导,重启开不了机,根据以下命令选择分区表类型,根据分区表类型执行相关命令
代码语言:shell复制## 015、执行下面的命令,防止迁移完成后找不到引导,重启开不了机,根据以下命令选择分区表类型,根据分区表类型执行相关命令
# 查看分区表类型
fdisk -l
# MBR分区(传统的BIOS、dos、msdos)(注意/dev/vda需根据实际情况自行选择磁盘路径,具体参考fdisk -l返回的磁盘卷标信息)
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/vda
2.12 安装Rocky8.7的"Minimal Install"环境
代码语言:shell复制## 016、这一步选择性执行,执行这一步能解决安装yum报错。
rm -rf /etc/yum
## 017、安装基础环境
dnf -y groupinstall "Minimal Install"
## 018、重启机器
reboot
这样就将CentOS7 升级到了rockyLinux8.7
2.13 下面尝试将RockyLinux8.7升级到9.1
2.13 安装epel源并升级系统到rocky8最新版,重启服务器创建一个快照备份
代码语言:shell复制#安装epel源
dnf -y install epel-release
#更新系统至最新版
dnf -y update
#重启服务器
reboot
2.14 升级Rocky8.7到Rocky9.1
代码语言:shell复制# 安装rpmconf和yum-utils
dnf -y install rpmconf yum-utils
# 执行rpmconf ,如果出现一些提示,请输入Y和回车继续,如果没提示继续第四步操作
rpmconf -a
# 安装rocky-release包
rpm -e --nodeps `rpm -qa|grep rocky-release`
rpm -e --nodeps `rpm -qa|grep rocky-gpg-keys`
rpm -e --nodeps `rpm -qa|grep rocky-repos`
# 9.2版本
# rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/9/BaseOS/x86_64/os/Packages/r/rocky-gpg-keys-9.2-1.4.el9.noarch.rpm
# rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/9/BaseOS/x86_64/os/Packages/r/rocky-release-9.2-1.4.el9.noarch.rpm
# rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/9/BaseOS/x86_64/os/Packages/r/rocky-repos-9.2-1.4.el9.noarch.rpm
# dnf clean all
# 9.1版本
rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/9/BaseOS/x86_64/os/Packages/r/rocky-gpg-keys-9.1-1.11.el9.noarch.rpm
rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/9/BaseOS/x86_64/os/Packages/r/rocky-release-9.1-1.11.el9.noarch.rpm
rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/9/BaseOS/x86_64/os/Packages/r/rocky-repos-9.1-1.11.el9.noarch.rpm
dnf clean all
# 停用冲突的包
dnf module disable gimp:2.8 mariadb:10.3 perl-IO-Socket-SSL:2.066 perl-libwww-perl:6.34 python27:2.7 python36:3.6 virt:rhel
2.14.1 第1次尝试升级RockyLinux-9
代码语言:shell复制# 第一次尝试升级RockyLinux-9
dnf -y --releasever=9 --allowerasing --setopt=deltarpm=false distro-sync
## 报错如下
# 模块依赖问题:需要停用
# 问题 1: 冲突的请求
# - 没有提供模块 module(platform:el8) 所需要的 gimp:2.8:8030020210427153901:c307c522.x86_64
# 问题 2: 冲突的请求
# - 没有提供模块 module(platform:el8) 所需要的 mariadb:10.3:8060020220913075833:d63f516d.x86_64
# 问题 3: 冲突的请求
# - 没有提供模块 module(platform:el8) 所需要的 perl-IO-Socket-SSL:2.066:8060020220513050719:bc93984d.x86_64
# - 没有提供模块 module(perl:5.26) 所需要的 perl-IO-Socket-SSL:2.066:8060020220513050719:bc93984d.x86_64
# 问题 4: 冲突的请求
# - 没有提供模块 module(platform:el8) 所需要的 perl-libwww-perl:6.34:8060020220513153220:9168a43d.x86_64
# - 没有提供模块 module(perl:5.26) 所需要的 perl-libwww-perl:6.34:8060020220513153220:9168a43d.x86_64
# 问题 5: 冲突的请求
# - 没有提供模块 module(platform:el8) 所需要的 python27:2.7:8070020221108111144:056aacbc.x86_64
# 问题 6: 冲突的请求
# - 没有提供模块 module(platform:el8) 所需要的 python36:3.6:8050020211109130820:982725ab.x86_64
# 问题 7: 冲突的请求
# - 没有提供模块 module(platform:el8) 所需要的 virt:rhel:8070020230404171803:3b9f49c4.x86_64
# 解决方法 需要在升级前停用如下冲突包
# 停用冲突的包
dnf module disable gimp:2.8 mariadb:10.3 perl-IO-Socket-SSL:2.066 perl-libwww-perl:6.34 python27:2.7 python36:3.6 virt:rhel
2.14.2 第二次升级
代码语言:shell复制dnf -y --releasever=9 --allowerasing --setopt=deltarpm=false distro-sync
# 升级成功无报错
2.15 安装rocky9内核与minimal-environment基础环境
代码语言:shell复制# 重建rpm数据库
rpm --rebuilddb
# 查看已安装的内核
rpm -qa|grep -i kernel
# 卸载RockyLinux-8的内核(可选操作,防止操作不当无法开机,可以在所有步骤操作完成,重启操作系统之后,再进行,卸载完成之后用第10步重新安装内核)
rpm -e --nodeps `rpm -qa|grep -i kernel`
# 安装RockyLinux-9内核(防止有些时候没安装内核开机失败,开机失败的可以用RockyLinux-9 ISO镜像救援模式安装内核)
dnf -y install kernel
dnf -y install kernel-core
dnf -y install shim
# 安装基础环境
dnf group install minimal-environment -y
# 安装rpmconf和yum-utils
dnf -y install rpmconf yum-utils
# 执行rpmconf,会出现如下界面,一直输入Y和回车即可
rpmconf -a
# d第二次停用冲突的包
dnf module disable gimp:2.8 mariadb:10.3 perl-IO-Socket-SSL:2.066 perl-libwww-perl:6.34 python27:2.7 python36:3.6 virt:rhel
# 更新系统
dnf -y update
2.16 修复引导 并设置允许root远程登录
代码语言:shell复制# 执行下面的命令,防止迁移完成后找不到引导,重启开不了机,根据以下命令选择分区表类型,根据分区表类型执行相关命令
# 查看分区表类型
fdisk -l
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/vda
# 允许ssh使用root用户远程登录
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
# 重启系统
reboot
2.17 开启网卡
升级到RockyLinux9.1
成功,但是此时默认关闭了网卡,无法使用ssh
远程登录
Rocky9默认禁止root登录,在升级完毕重启前首先需要运行echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
,修改ssh
设置允许root
账号登录
重启后
进入使用root
账号/密码登录VNC
界面,
Rocky9
默认网卡禁用自启动,需要调整为自启动网卡
# 查看DNS服务器配置信息
cat /etc/resolv.conf
# 查看网关信息
route -n
# 显示网卡信息
ip a
# 查看fstab信息
cat /etc/fstab
# eth0网卡为关闭状态 需要开启 运行下面4句才开启成功
ifup eth0
nmcli connection reload
systemctl restart NetworkManager
nmcli connection reload
# 重启成功后查看网卡信息
ip a
# 测试是否能ping通
ping qq.com
此时可以使用ssh客户端密钥对登录rocky9服务器了
2.18 安装lnmp环境一键安装包
代码语言:shell复制# 查看screen是否安装
screen ls
# 创建lnmp会话
screen -S lnmp
# 查看swap文件列表 此时为空
cat /proc/swaps
# 创建4Gswap 交换空间
sudo swapon -s
sudo dd if=/dev/zero of=/var/swapfile bs=1M count=4096
sudo chmod 0600 /var/swapfile
sudo mkswap /var/swapfile
sudo swapon /var/swapfile
sudo swapon -s
cat /proc/swaps
# 查看gcc版本是否大于10
rpm -qa|grep gcc
# 安装lnmp
wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz && tar zxf lnmp1.9.tar.gz && cd lnmp1.9 && LNMP_Auto="y" DBSelect="5" Bin="n" DB_Root_Password="yourpassworkd" InstallInnodb="y" PHPSelect="11" SelectMalloc="2" ./install.sh lnmp