Rocky9 system initialization configuration after installation

Rocky initialization

1. Network initialization configuration

# 查看设备信息
[root@localhost ~]# nmcli device
DEVICE  TYPE      STATE                                  CONNECTION 
ens18   ethernet  connecting (getting IP configuration)  ens18      
lo      loopback  unmanaged                              --        
# 配置 IPv4 地址
[root@localhost ~]# nmcli connection modify ens18 ipv4.addresses 192.168.11.144/24
# 配置 IPv4网关
[root@localhost ~]# nmcli connection modify ens18 ipv4.gateway 192.168.11.254
# 配置 IPv4 DNS,多个 DNS IP 之间使用双引号 + 空格
[root@localhost ~]# nmcli connection modify ens18 ipv4.dns "114.114.114.114 223.6.6.6"
# 设置 DNS 基础搜索,多个域名之间使用双引号 + 空格
[root@localhost ~]# nmcli connection modify ens18 ipv4.dns-search "rockylinux.cn rockylinux.org"
# 重新加载网络配置
[root@localhost ~]# nmcli connection down ens18; nmcli connection up ens18
# 查看接口配置信息
[root@localhost ~]# nmcli device show ens18
# 查看IP
[root@localhost ~]# ip addr
# 配置DHCP[auto]
[root@localhost ~]# nmcli connection modify enp1s0 ipv4.method manual
# 查看配置文件,如果需要配置多IP,可以修改此配置文件。
[root@localhost ~]# cat /etc/NetworkManager/system-connections/ens18.nmconnection
# 查看网络连接
[root@localhost ~]# nmcli connection
# 重启网络
[root@localhost ~]# systemctl restart NetworkManager
[root@localhost ~]# systemctl status NetworkManager

#禁用ipv6
# 因为我们用不到IPv6,所以禁用IPv6
[root@localhost ~]# grubby --update-kernel ALL --args ipv6.disable=1
# 回滚内核层禁用操作
[root@localhost ~]# grubby --update-kernel ALL --remove-args ipv6.disable
# 验证内核参数是否禁用IPv6
[root@localhost ~]# grubby --info DEFAULT
index=0
kernel="/boot/vmlinuz-5.14.0-70.13.1.el9_0.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-5.14.0-70.13.1.el9_0.x86_64.img"
title="Rocky Linux (5.14.0-70.13.1.el9_0.x86_64) 9.0 (Blue Onyx)"
id="0af0a3c0bc4946a6bb4cc8daa8c8a1f7-5.14.0-70.13.1.el9_0.x86_64"
# 重启,生效配置
[root@localhost ~]# reboot

2. Turn off the firewall

systemctl disable --now firewalld

3. Close selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

4. Modify the host name

hostnamectl set-hostname pony

5. Time synchronization

#设置时区
timedatectl set-timezone Asia/Shanghai
#配置时间同步
vi /etc/chrony.conf
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
#allow 192.168.0.0/16
allow 0.0.0.0/0 #加此行,指定允许同步的网段
# Serve time even if not synchronized to a time source.
local stratum 10 #删除此行注释,当互联网无法连接,仍然可以为客户端提供时间同步服务

systemctl restart chronyd
#启用Chrony服务
#运行以下命令启动chronyd服务并设置开机自启动。
systemctl start chronyd.service
systemctl enable chronyd.service
#运行以下命令查看本机时间同步状态,用于验证服务是否已启动
chronyc tracking
#运行以下命令查看时间同步服务器列表。
chronyc -n sources -v

6. Configure the mirror source

basic source
#上海交通大学
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.sjtug.sjtu.edu.cn/rocky|g' \
    -i.bak \
    /etc/yum.repos.d/[Rr]ocky*.repo

#阿里云
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
    -i.bak \
    /etc/yum.repos.d/[Rr]ocky*.repo
Install epel source
#epel源
dnf config-manager --set-enabled crb
dnf install epel-release -y
# 安装 EPEL Repo
#dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
# 安装 EPEL Next Repo
#dnf install -y  https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
sed -e 's|^metalink=|#metalink=|g' \
    -e 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|g' \
    -i.bak \
    /etc/yum.repos.d/epel*.repo
# 注意:
# Rocky Linux 中 #baseurl=https://download.example/pub
# 与 CentOS 相同,而 Alma Linux #baseurl=https://download.fedoraproject.org/pub
Install remei source (optional)
dnf install https://rpms.Remirepo.net/enterprise/Remi-release-9.rpm
#查看仓库源
dnf repolist

#使用方法
# 列出 Remi 仓库下所有可供安装的包
dnf --disablerepo="*" --enablerepo="Remi" list available
dnf --disablerepo="*" --enablerepo="Remi-safe" list available 
# 这里以安装 php 包为例,使用 Remi 仓库安装包,列出所有 php 包
dnf module list php
# 该命令安装 PHP 8.1 及其所有依赖项
dnf module install php:Remi-8.1
# 通过 Remi 仓库启用或禁用包
# 启用 php Remi-8.1
dnf module enable php:Remi-8.1 -y
# 禁用 php Remi-8.1
dnf module disable php:Remi-8.1 -y
Add RPM Fusion repository
# 免费仓库
dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm -y
# 非免费仓库:
dnf install --nogpgcheck https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm -y
# 验证是否安装成功
[root@localhost ~]# dnf repolist | grep rpmfusion
rpmfusion-free-updates    RPM Fusion for EL 9 - Free - Updates
rpmfusion-nonfree-updates RPM Fusion for EL 9 - Nonfree - Updates

# 免费包列出可用的包
dnf repository-packages rpmfusion-free-updates list
# 非免费包列出可用的包
dnf repository-packages rpmfusion-nonfree-updates list

#搜索包
# 搜索 VirtualBox 相关软件包
[root@localhost ~]# dnf repository-packages rpmfusion-free-updates list | grep -i virtualbox
VirtualBox.x86_64                                     6.1.40-1.el9                        rpmfusion-free-updates
VirtualBox-devel.x86_64                               6.1.40-1.el9                        rpmfusion-free-updates
VirtualBox-kmodsrc.noarch                             6.1.40-1.el9                        rpmfusion-free-updates
VirtualBox-server.x86_64                              6.1.40-1.el9                        rpmfusion-free-updates
VirtualBox-webservice.x86_64                          6.1.40-1.el9                        rpmfusion-free-updates
akmod-VirtualBox.x86_64                               6.1.40-1.el9                        rpmfusion-free-updates
kmod-VirtualBox.x86_64                                6.1.40-1.el9                        rpmfusion-free-updates
kmod-VirtualBox-5.14.0-70.el9_0.x86_64                6.1.40-1.el9                        rpmfusion-free-updates
python3-VirtualBox.x86_64                             6.1.40-1.el9                        rpmfusion-free-updates

# 安装 VirtualBox-server
dnf install VirtualBox-server

Clean and regenerate the package information cache:

yum clean all
yum autoremove
rm -rf /var/cache/yum
yum makecache

#更新系统
dnf update -y
dnf upgrade --refresh -y

7. Install common dependencies

[root@localhost ~]# dnf install -y vim curl tree wget net-tools lrzsz bash-completion iotop bc gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel zip unzip zlib-devel net-tools tree telnet lsof tcpdump libevent libevent-devel

8. Install Docker CE

Install

# 添加Docker Repo
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
# 更新源
dnf update
# 安装Docker
dnf install -y docker-ce
# 启动Docker服务
sudo systemctl start docker && sudo systemctl status docker
# 设置开机自启动
sudo systemctl enable docker
# 建议添加普通用户至Docker组,并以普通用户运行Docker。
sudo usermod -aG docker $USER
# 生效组用户变更配置
newgrp docker

#安装Docker-compose
curl -L "https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

View docker information

[root@localhost ~]# docker info
[root@localhost ~]# 

Relevant parameter configurations include modifying the Docker file system to the ovelay2 driver and configuring the Docker download accelerator address. Because many domestic Docker accelerators require certification, the University of Science and Technology of China does not require certification, so the Docker accelerator of the University of Science and Technology of China is used here.

[root@localhost ~]# mkdir /etc/docker
[root@localhost ~]# cat > /etc/docker/daemon.json << EOF
{
    
    
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"], # 一般用于配置国内 DockerHub 镜像加速仓库
  "insecure-registries":["https://dockerhub.rockylinux.cn"], # 一般用于配置私有仓库
  "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"], # Docker远程管理,可以结合portainer WEB管理工具一起使用
  "exec-opts": ["native.cgroupdriver=systemd"], # 官方推荐使用systemd,非常不建议使用cgroupfs
  "log-driver": "json-file",
  "log-opts": {
    
    
     "max-size": "100m",
     "max-file": "10"
  },
  "storage-driver": "overlay2",
  "storage-opts":["overlay2.override_kernel_check=true"],
  "live-restore": true, # docker daemon进程重启,而容器不重启,一直在线。
  "default-shm-size": "128M", # 设置/dev/shm的大小,默认值是64M
  "max-concurrent-downloads": 10, # pull镜像的最大并行数,默认为3个
  "max-concurrent-uploads": 10, # push镜像的最大并行数,默认为5个
  "oom-score-adjust": -1000,
  "debug": false # 关闭debug日志
}
EOF
 
# 重启Docker
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker

9. Upgrade the kernel

# 查看当前内核版本
[root@localhost ~]# uname -r
5.14.0-162.6.1.el9_1.x86_64
 
# 载入公钥
[root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
 
# 安装ELRepo
[root@localhost ~]# dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
Last metadata expiration check: 2:15:48 ago on Tue Nov 29 16:11:08 2022.
elrepo-release-9.el9.elrepo.noarch.rpm                                                                                                       13 kB/s |  12 kB     00:00    
Dependencies resolved.
============================================================================================================================================================================
 Package                                    Architecture                       Version                                       Repository                                Size
============================================================================================================================================================================
Installing:
 elrepo-release                             noarch                             9.1-1.el9.elrepo                              @commandline                              12 k
 
Transaction Summary
============================================================================================================================================================================
Install  1 Package
 
Total size: 12 k
Installed size: 5.0 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                    1/1 
  Installing       : elrepo-release-9.1-1.el9.elrepo.noarch                                                                                                             1/1 
  Verifying        : elrepo-release-9.1-1.el9.elrepo.noarch                                                                                                             1/1 
 
Installed:
  elrepo-release-9.1-1.el9.elrepo.noarch                                                                                                                                    
 
Complete!
 
# 载入elrepo-kernel元数据
[root@localhost ~]# dnf --disablerepo=\* --enablerepo=elrepo-kernel repolist
repo id                                                       repo name
elrepo-kernel                                                 ELRepo.org Community Enterprise Linux Kernel Repository - el9
 
# 查看可用内核包
[root@localhost ~]# dnf --disablerepo=\* --enablerepo=elrepo-kernel list kernel*
ELRepo.org Community Enterprise Linux Kernel Repository - el9                                                                               354 kB/s | 1.0 MB     00:02    
Last metadata expiration check: 0:00:01 ago on Tue Nov 29 18:28:07 2022.
Installed Packages
kernel.x86_64                                                                         5.14.0-70.30.1.el9_0                                                     @baseos      
kernel.x86_64                                                                         5.14.0-162.6.1.el9_1                                                     @baseos      
kernel-core.x86_64                                                                    5.14.0-70.30.1.el9_0                                                     @baseos      
kernel-core.x86_64                                                                    5.14.0-162.6.1.el9_1                                                     @baseos      
kernel-modules.x86_64                                                                 5.14.0-70.30.1.el9_0                                                     @baseos      
kernel-modules.x86_64                                                                 5.14.0-162.6.1.el9_1                                                     @baseos      
kernel-tools.x86_64                                                                   5.14.0-162.6.1.el9_1                                                     @baseos      
kernel-tools-libs.x86_64                                                              5.14.0-162.6.1.el9_1                                                     @baseos      
Available Packages
kernel-ml.x86_64                                                                      6.0.10-1.el9.elrepo                                                      elrepo-kernel
kernel-ml-core.x86_64                                                                 6.0.10-1.el9.elrepo                                                      elrepo-kernel
kernel-ml-devel.x86_64                                                                6.0.10-1.el9.elrepo                                                      elrepo-kernel
kernel-ml-devel-matched.x86_64                                                        6.0.10-1.el9.elrepo                                                      elrepo-kernel
kernel-ml-doc.noarch                                                                  6.0.10-1.el9.elrepo                                                      elrepo-kernel
kernel-ml-headers.x86_64                                                              6.0.10-1.el9.elrepo                                                      elrepo-kernel
kernel-ml-modules.x86_64                                                              6.0.10-1.el9.elrepo                                                      elrepo-kernel
kernel-ml-modules-extra.x86_64                                                        6.0.10-1.el9.elrepo                                                      elrepo-kernel
kernel-ml-tools.x86_64                                                                6.0.10-1.el9.elrepo                                                      elrepo-kernel
kernel-ml-tools-libs.x86_64                                                           6.0.10-1.el9.elrepo                                                      elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                                     6.0.10-1.el9.elrepo                                                      elrepo-kernel
 
# 安装最新版本的kernel
[root@localhost ~]# dnf --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml.x86_64
Last metadata expiration check: 0:00:36 ago on Tue Nov 29 18:28:07 2022.
Dependencies resolved.
============================================================================================================================================================================
 Package                                     Architecture                     Version                                         Repository                               Size
============================================================================================================================================================================
Installing:
 kernel-ml                                   x86_64                           6.0.10-1.el9.elrepo                             elrepo-kernel                            12 k
Installing dependencies:
 kernel-ml-core                              x86_64                           6.0.10-1.el9.elrepo                             elrepo-kernel                            56 M
 kernel-ml-modules                           x86_64                           6.0.10-1.el9.elrepo                             elrepo-kernel                            51 M
 
Transaction Summary
============================================================================================================================================================================
Install  3 Packages
 
Total download size: 107 M
Installed size: 148 M
Downloading Packages:
(1/3): kernel-ml-6.0.10-1.el9.elrepo.x86_64.rpm                                                                                              22 kB/s |  12 kB     00:00    
(2/3): kernel-ml-core-6.0.10-1.el9.elrepo.x86_64.rpm                                                                                        407 kB/s |  56 MB     02:21    
(3/3): kernel-ml-modules-6.0.10-1.el9.elrepo.x86_64.rpm                                                                                     161 kB/s |  51 MB     05:24    
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                       338 kB/s | 107 MB     05:25     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                    1/1 
  Installing       : kernel-ml-core-6.0.10-1.el9.elrepo.x86_64                                                                                                          1/3 
  Running scriptlet: kernel-ml-core-6.0.10-1.el9.elrepo.x86_64                                                                                                          1/3 
  Installing       : kernel-ml-modules-6.0.10-1.el9.elrepo.x86_64                                                                                                       2/3 
  Running scriptlet: kernel-ml-modules-6.0.10-1.el9.elrepo.x86_64                                                                                                       2/3 
  Installing       : kernel-ml-6.0.10-1.el9.elrepo.x86_64                                                                                                               3/3 
  Running scriptlet: kernel-ml-core-6.0.10-1.el9.elrepo.x86_64                                                                                                          3/3 
  Running scriptlet: kernel-ml-6.0.10-1.el9.elrepo.x86_64                                                                                                               3/3 
  Verifying        : kernel-ml-6.0.10-1.el9.elrepo.x86_64                                                                                                               1/3 
  Verifying        : kernel-ml-core-6.0.10-1.el9.elrepo.x86_64                                                                                                          2/3 
  Verifying        : kernel-ml-modules-6.0.10-1.el9.elrepo.x86_64                                                                                                       3/3 
 
Installed:
  kernel-ml-6.0.10-1.el9.elrepo.x86_64                kernel-ml-core-6.0.10-1.el9.elrepo.x86_64                kernel-ml-modules-6.0.10-1.el9.elrepo.x86_64               
 
Complete!
 
# 删除旧版本工具包
[root@localhost ~]# dnf remove kernel-tools-libs.x86_64 kernel-tools.x86_64
Dependencies resolved.
============================================================================================================================================================================
 Package                                      Architecture                      Version                                           Repository                           Size
============================================================================================================================================================================
Removing:
 kernel-tools                                 x86_64                            5.14.0-162.6.1.el9_1                              @baseos                             769 k
 kernel-tools-libs                            x86_64                            5.14.0-162.6.1.el9_1                              @baseos                              30 k
Removing unused dependencies:
 pciutils-libs                                x86_64                            3.7.0-5.el9                                       @minimal                             79 k
 
Transaction Summary
============================================================================================================================================================================
Remove  3 Packages
 
Freed space: 878 k
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                    1/1 
  Erasing          : kernel-tools-5.14.0-162.6.1.el9_1.x86_64                                                                                                           1/3 
  Erasing          : kernel-tools-libs-5.14.0-162.6.1.el9_1.x86_64                                                                                                      2/3 
  Running scriptlet: kernel-tools-libs-5.14.0-162.6.1.el9_1.x86_64                                                                                                      2/3 
  Erasing          : pciutils-libs-3.7.0-5.el9.x86_64                                                                                                                   3/3 
  Running scriptlet: pciutils-libs-3.7.0-5.el9.x86_64                                                                                                                   3/3 
  Verifying        : kernel-tools-5.14.0-162.6.1.el9_1.x86_64                                                                                                           1/3 
  Verifying        : kernel-tools-libs-5.14.0-162.6.1.el9_1.x86_64                                                                                                      2/3 
  Verifying        : pciutils-libs-3.7.0-5.el9.x86_64                                                                                                                   3/3 
 
Removed:
  kernel-tools-5.14.0-162.6.1.el9_1.x86_64                  kernel-tools-libs-5.14.0-162.6.1.el9_1.x86_64                  pciutils-libs-3.7.0-5.el9.x86_64                 
 
Complete!
 
# 安装新版本内核工具包
[root@localhost ~]# dnf --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml-tools.x86_64
Last metadata expiration check: 0:08:00 ago on Tue Nov 29 18:28:07 2022.
Error: 
 Problem: cannot install the best candidate for the job
  - nothing provides libpci.so.3()(64bit) needed by kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64
  - nothing provides libpci.so.3(LIBPCI_3.0)(64bit) needed by kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64
  - nothing provides libpci.so.3(LIBPCI_3.3)(64bit) needed by kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64
  - nothing provides libpci.so.3(LIBPCI_3.5)(64bit) needed by kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
 
# 因为在卸载旧版本的内核工具包的时候,删除了pciutils-libs,造成安装新版本的内核工具包时报错,所以我们需要先安装pciutils-libs,再安装新版本的内核工具包。
[root@localhost ~]# dnf install pciutils-libs
ELRepo.org Community Enterprise Linux Repository - el9                                                                                       51 kB/s | 117 kB     00:02    
Dependencies resolved.
============================================================================================================================================================================
 Package                                      Architecture                          Version                                     Repository                             Size
============================================================================================================================================================================
Installing:
 pciutils-libs                                x86_64                                3.7.0-5.el9                                 baseos                                 41 k
 
Transaction Summary
============================================================================================================================================================================
Install  1 Package
 
Total download size: 41 k
Installed size: 79 k
Is this ok [y/N]: y
Downloading Packages:
pciutils-libs-3.7.0-5.el9.x86_64.rpm                                                                                                        120 kB/s |  41 kB     00:00    
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                       117 kB/s |  41 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                    1/1 
  Installing       : pciutils-libs-3.7.0-5.el9.x86_64                                                                                                                   1/1 
  Running scriptlet: pciutils-libs-3.7.0-5.el9.x86_64                                                                                                                   1/1 
  Verifying        : pciutils-libs-3.7.0-5.el9.x86_64                                                                                                                   1/1 
 
Installed:
  pciutils-libs-3.7.0-5.el9.x86_64                                                                                                                                          
 
Complete!
 
# 再安装新版本的内核工具包
[root@localhost ~]# dnf --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml-tools.x86_64
Last metadata expiration check: 0:09:51 ago on Tue Nov 29 18:28:07 2022.
Dependencies resolved.
============================================================================================================================================================================
 Package                                       Architecture                    Version                                         Repository                              Size
============================================================================================================================================================================
Installing:
 kernel-ml-tools                               x86_64                          6.0.10-1.el9.elrepo                             elrepo-kernel                          248 k
Installing dependencies:
 kernel-ml-tools-libs                          x86_64                          6.0.10-1.el9.elrepo                             elrepo-kernel                           22 k
 
Transaction Summary
============================================================================================================================================================================
Install  2 Packages
 
Total download size: 270 k
Installed size: 956 k
Downloading Packages:
(1/2): kernel-ml-tools-libs-6.0.10-1.el9.elrepo.x86_64.rpm                                                                                   28 kB/s |  22 kB     00:00    
(2/2): kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64.rpm                                                                                        30 kB/s | 248 kB     00:08    
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                        31 kB/s | 270 kB     00:08     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                    1/1 
  Installing       : kernel-ml-tools-libs-6.0.10-1.el9.elrepo.x86_64                                                                                                    1/2 
  Running scriptlet: kernel-ml-tools-libs-6.0.10-1.el9.elrepo.x86_64                                                                                                    1/2 
  Installing       : kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64                                                                                                         2/2 
  Running scriptlet: kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64                                                                                                         2/2 
  Verifying        : kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64                                                                                                         1/2 
  Verifying        : kernel-ml-tools-libs-6.0.10-1.el9.elrepo.x86_64                                                                                                    2/2 
 
Installed:
  kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64                                         kernel-ml-tools-libs-6.0.10-1.el9.elrepo.x86_64                                        
 
Complete!

Set the kernel startup sequence, set the default startup sequence, grubby --info=ALLobtain all current startup items through commands, and then grub2-set-defaultset them through commands or grubby --set-defaultset the corresponding startup items.

# 查看所有内核启动项
[root@localhost ~]# grubby --info=ALL
index=0
kernel="/boot/vmlinuz-5.14.0-70.30.1.el9_0.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1 selinux=0"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-5.14.0-70.30.1.el9_0.x86_64.img"
title="Rocky Linux (5.14.0-70.30.1.el9_0.x86_64) 9.0 (Blue Onyx)"
id="0af0a3c0bc4946a6bb4cc8daa8c8a1f7-5.14.0-70.30.1.el9_0.x86_64"
index=1
kernel="/boot/vmlinuz-0-rescue-0af0a3c0bc4946a6bb4cc8daa8c8a1f7"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1 selinux=0"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-0-rescue-0af0a3c0bc4946a6bb4cc8daa8c8a1f7.img"
title="Rocky Linux (0-rescue-0af0a3c0bc4946a6bb4cc8daa8c8a1f7) 9.0 (Blue Onyx)"
id="0af0a3c0bc4946a6bb4cc8daa8c8a1f7-0-rescue"
index=2
kernel="/boot/vmlinuz-6.0.10-1.el9.elrepo.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1 selinux=0"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-6.0.10-1.el9.elrepo.x86_64.img"
title="Rocky Linux (6.0.10-1.el9.elrepo.x86_64) 9.1 (Blue Onyx)"
id="bae8b9faf30f473196d3a871e300f4dc-6.0.10-1.el9.elrepo.x86_64"
index=3
kernel="/boot/vmlinuz-5.14.0-162.6.1.el9_1.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1 selinux=0"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-5.14.0-162.6.1.el9_1.x86_64.img"
title="Rocky Linux (5.14.0-162.6.1.el9_1.x86_64) 9.1 (Blue Onyx)"
 
# 这里看到内核 6.0 索引为2,所以这里设置默认内核为2
[root@localhost ~]# grubby --set-default 2
The default is /boot/loader/entries/bae8b9faf30f473196d3a871e300f4dc-6.0.10-1.el9.elrepo.x86_64.conf with index 2 and kernel /boot/vmlinuz-6.0.10-1.el9.elrepo.x86_64
 
# 查看默认内核
[root@localhost ~]# grubby --default-kernel
/boot/vmlinuz-6.0.10-1.el9.elrepo.x86_64
 
# 重启服务器
[root@localhost ~]# reboot
 
# 查看启动内核为6.0
[root@localhost ~]# uname -r
6.0.10-1.el9.elrepo.x86_64

Removing Old Kernels
Here we keep the last two kernels installed on the system and remove the redundant old kernels. Muzi has clearly defined installonly_limit=2 and uses –setopt to override the default configuration in /etc/dnf/dnf.conf. If you do not specify the installonly_limit parameter, the dnf remove command will use the installonly_limit value in /etc/dnf/dnf.conf by default.

# 对应的limit值,可以修改配置文件
[root@localhost ~]# grep limit /etc/dnf/dnf.conf
installonly_limit=3
 
# 删除多余内核,只保留最后两个
[root@localhost ~]# dnf remove --oldinstallonly --setopt installonly_limit=2 kernel
Dependencies resolved.
============================================================================================================================================================================
 Package                                    Architecture                       Version                                            Repository                           Size
============================================================================================================================================================================
Removing:
 kernel                                     x86_64                             5.14.0-70.30.1.el9_0                               @baseos                               0  
 kernel-core                                x86_64                             5.14.0-70.30.1.el9_0                               @baseos                              73 M
 kernel-modules                             x86_64                             5.14.0-70.30.1.el9_0                               @baseos                              20 M
 
Transaction Summary
============================================================================================================================================================================
Remove  3 Packages
 
Freed space: 93 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                    1/1 
  Erasing          : kernel-5.14.0-70.30.1.el9_0.x86_64                                                                                                                 1/3 
  Running scriptlet: kernel-5.14.0-70.30.1.el9_0.x86_64                                                                                                                 1/3 
  Erasing          : kernel-modules-5.14.0-70.30.1.el9_0.x86_64                                                                                                         2/3 
  Running scriptlet: kernel-modules-5.14.0-70.30.1.el9_0.x86_64                                                                                                         2/3 
  Running scriptlet: kernel-core-5.14.0-70.30.1.el9_0.x86_64                                                                                                            3/3 
  Erasing          : kernel-core-5.14.0-70.30.1.el9_0.x86_64                                                                                                            3/3 
  Running scriptlet: kernel-core-5.14.0-70.30.1.el9_0.x86_64                                                                                                            3/3 
  Verifying        : kernel-5.14.0-70.30.1.el9_0.x86_64                                                                                                                 1/3 
  Verifying        : kernel-core-5.14.0-70.30.1.el9_0.x86_64                                                                                                            2/3 
  Verifying        : kernel-modules-5.14.0-70.30.1.el9_0.x86_64                                                                                                         3/3 
 
Removed:
  kernel-5.14.0-70.30.1.el9_0.x86_64                  kernel-core-5.14.0-70.30.1.el9_0.x86_64                  kernel-modules-5.14.0-70.30.1.el9_0.x86_64                 
 
Complete!
 
# 这里我们看到还有两个内核,其中6.0是现在在用的,5.14.0-162是之前使用的
[root@localhost ~]# rpm -qa | grep kernel
kernel-core-5.14.0-162.6.1.el9_1.x86_64
kernel-modules-5.14.0-162.6.1.el9_1.x86_64
kernel-5.14.0-162.6.1.el9_1.x86_64
kernel-ml-core-6.0.10-1.el9.elrepo.x86_64
kernel-ml-modules-6.0.10-1.el9.elrepo.x86_64
kernel-ml-6.0.10-1.el9.elrepo.x86_64
kernel-ml-tools-libs-6.0.10-1.el9.elrepo.x86_64
kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64

Only retain the currently used kernel.
Under normal circumstances, the installonly_limit parameter is not allowed to be set to a value of 1. So what if we only want to retain the currently used kernel and delete all other redundant kernels?

# 如果您只想保留当前活动内核,这样是不允许的。
[root@localhost ~]# dnf -y remove --oldinstallonly --setopt installonly_limit=1 kernel
Config error: Error parsing --setopt with key 'installonly_limit', value '1': value 1 is not allowed
 
# 删除内核5.14.0-162
[root@localhost ~]# dnf remove kernel-5.14.0-162.6.1.el9_1.x86_64 kernel-core-5.14.0-162.6.1.el9_1.x86_64 kernel-modules-5.14.0-162.6.1.el9_1.x86_64 
Dependencies resolved.
============================================================================================================================================================================
 Package                                    Architecture                       Version                                            Repository                           Size
============================================================================================================================================================================
Removing:
 kernel                                     x86_64                             5.14.0-162.6.1.el9_1                               @baseos                               0  
 kernel-core                                x86_64                             5.14.0-162.6.1.el9_1                               @baseos                              84 M
 kernel-modules                             x86_64                             5.14.0-162.6.1.el9_1                               @baseos                              31 M
 
Transaction Summary
============================================================================================================================================================================
Remove  3 Packages
 
Freed space: 114 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                    1/1 
  Erasing          : kernel-5.14.0-162.6.1.el9_1.x86_64                                                                                                                 1/3 
  Running scriptlet: kernel-5.14.0-162.6.1.el9_1.x86_64                                                                                                                 1/3 
  Erasing          : kernel-modules-5.14.0-162.6.1.el9_1.x86_64                                                                                                         2/3 
  Running scriptlet: kernel-modules-5.14.0-162.6.1.el9_1.x86_64                                                                                                         2/3 
  Running scriptlet: kernel-core-5.14.0-162.6.1.el9_1.x86_64                                                                                                            3/3 
  Erasing          : kernel-core-5.14.0-162.6.1.el9_1.x86_64                                                                                                            3/3 
  Running scriptlet: kernel-core-5.14.0-162.6.1.el9_1.x86_64                                                                                                            3/3 
  Verifying        : kernel-5.14.0-162.6.1.el9_1.x86_64                                                                                                                 1/3 
  Verifying        : kernel-core-5.14.0-162.6.1.el9_1.x86_64                                                                                                            2/3 
  Verifying        : kernel-modules-5.14.0-162.6.1.el9_1.x86_64                                                                                                         3/3 
 
Removed:
  kernel-5.14.0-162.6.1.el9_1.x86_64                  kernel-core-5.14.0-162.6.1.el9_1.x86_64                  kernel-modules-5.14.0-162.6.1.el9_1.x86_64                 
 
Complete!
 
# 查看目前所有启动配置
[root@localhost ~]# grubby --info=ALL
index=0
kernel="/boot/vmlinuz-5.14.0-70.30.1.el9_0.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1 selinux=0"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-5.14.0-70.30.1.el9_0.x86_64.img"
title="Rocky Linux (5.14.0-70.30.1.el9_0.x86_64) 9.0 (Blue Onyx)"
id="0af0a3c0bc4946a6bb4cc8daa8c8a1f7-5.14.0-70.30.1.el9_0.x86_64"
index=1
kernel="/boot/vmlinuz-0-rescue-0af0a3c0bc4946a6bb4cc8daa8c8a1f7"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1 selinux=0"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-0-rescue-0af0a3c0bc4946a6bb4cc8daa8c8a1f7.img"
title="Rocky Linux (0-rescue-0af0a3c0bc4946a6bb4cc8daa8c8a1f7) 9.0 (Blue Onyx)"
id="0af0a3c0bc4946a6bb4cc8daa8c8a1f7-0-rescue"
index=2
kernel="/boot/vmlinuz-6.0.10-1.el9.elrepo.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1 selinux=0"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-6.0.10-1.el9.elrepo.x86_64.img"
title="Rocky Linux (6.0.10-1.el9.elrepo.x86_64) 9.1 (Blue Onyx)"
id="bae8b9faf30f473196d3a871e300f4dc-6.0.10-1.el9.elrepo.x86_64"
index=3
kernel="/boot/vmlinuz-0-rescue-bae8b9faf30f473196d3a871e300f4dc"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1 selinux=0"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-0-rescue-bae8b9faf30f473196d3a871e300f4dc.img"
title="Rocky Linux (0-rescue-bae8b9faf30f473196d3a871e300f4dc) 9.1 (Blue Onyx)"
id="bae8b9faf30f473196d3a871e300f4dc-0-rescue"
 
# 删除不需要的内核启动项
[root@localhost ~]# grubby --remove-kernel=/boot/vmlinuz-5.14.0-70.30.1.el9_0.x86_64
[root@localhost ~]# grubby --remove-kernel=/boot/vmlinuz-0-rescue-0af0a3c0bc4946a6bb4cc8daa8c8a1f7
 
# 这时候我们看到只保留了 6.0 相关内核启动项了
[root@localhost ~]# grubby --info=ALL
index=0
kernel="/boot/vmlinuz-6.0.10-1.el9.elrepo.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1 selinux=0"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-6.0.10-1.el9.elrepo.x86_64.img"
title="Rocky Linux (6.0.10-1.el9.elrepo.x86_64) 9.1 (Blue Onyx)"
id="bae8b9faf30f473196d3a871e300f4dc-6.0.10-1.el9.elrepo.x86_64"
index=1
kernel="/boot/vmlinuz-0-rescue-bae8b9faf30f473196d3a871e300f4dc"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1 selinux=0"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-0-rescue-bae8b9faf30f473196d3a871e300f4dc.img"
title="Rocky Linux (0-rescue-bae8b9faf30f473196d3a871e300f4dc) 9.1 (Blue Onyx)"
id="bae8b9faf30f473196d3a871e300f4dc-0-rescue"

Guess you like

Origin blog.csdn.net/qq_23435961/article/details/131911888