Rocky の初期化
1. ネットワークの初期化設定
# 查看设备信息
[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. ファイアウォールをオフにする
systemctl disable --now firewalld
3. selinuxを閉じる
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
4. ホスト名を変更する
hostnamectl set-hostname pony
5. 時刻同期
#设置时区
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. ミラーソースを構成する
基本的なソース
#上海交通大学
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
epel ソースをインストールする
#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
remei ソースのインストール (オプション)
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
RPM Fusion リポジトリを追加する
# 免费仓库
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
パッケージ情報キャッシュを消去して再生成します。
yum clean all
yum autoremove
rm -rf /var/cache/yum
yum makecache
#更新系统
dnf update -y
dnf upgrade --refresh -y
7. 共通の依存関係をインストールする
[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.Docker CEのインストール
インストール
# 添加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
ドッカー情報の表示
[root@localhost ~]# docker info
[root@localhost ~]#
関連するパラメーター構成には、Docker ファイル システムを overlay2 ドライバーに変更することと、Docker ダウンロード アクセラレータ アドレスを構成することが含まれます。国内の Docker アクセラレータの多くは認定を必要とするため、中国科学技術大学は認定を必要としないため、中国大学の Docker アクセラレータは認定を必要としません。ここには中国の科学技術が生かされています。
[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. カーネルをアップグレードする
# 查看当前内核版本
[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!
カーネルの起動シーケンスを設定し、デフォルトの起動シーケンスを設定し、grubby --info=ALL
コマンドを使用して現在のすべての起動項目を取得し、grub2-set-default
コマンドを使用してそれらを設定するか、grubby --set-default
対応する起動項目を設定します。
# 查看所有内核启动项
[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
古いカーネルの削除
ここでは、システムにインストールされている最後の 2 つのカーネルを保持し、冗長な古いカーネルを削除します。Muzi は installonly_limit=2 を明確に定義し、-setopt を使用して /etc/dnf/dnf.conf のデフォルト設定をオーバーライドします。installonly_limit パラメーターを指定しない場合、dnf delete コマンドはデフォルトで /etc/dnf/dnf.conf の installonly_limit 値を使用します。
# 对应的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
現在使用されているカーネルのみを保持します。
通常の状況では、installonly_limit パラメータを値 1 に設定することはできません。では、現在使用されているカーネルのみを保持し、他のすべての冗長カーネルを削除したい場合はどうすればよいでしょうか?
# 如果您只想保留当前活动内核,这样是不允许的。
[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"