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、修改主机名+更新machine-id

修改主机名

hostnamectl set-hostname oracle
#配置hosts
echo '192.168.242.135 oracle' >>/etc/hosts

如果是克隆的虚拟机,请注意更新machine-id

sudo cp /etc/machine-id /etc/machine-id.backup
sudo rm /etc/machine-id
sudo systemd-machine-id-setup
cat /etc/machine-id

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
​

添加中文man

alias cman=‘man -M /usr/share/man/zh_CN’

优化终端字体颜色

vim .bashrc
​
PS1='\[\e[1;35m\]\u@\h:\[\e[0m\]\[\e[1;33m\]\w\[\e[1;35m\]\[\e[0m\]\[\e[1;34m\]\$ \[\e[0m\]'
​
source .bashrc

vim 设置行号

echo "set nu" /etc/vimrc
或者 sed -i '$a set nu' /etc/vimrc

history 设置时间和日期

echo 'HISTTIMEFORMAT="%F %T "' >> /etc/profile

输入生效

source ~/.bash_profile

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
​

查看docker信息

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

相关参数配置,从修改 Docker文件系统为 ovelay2 驱动,并配置 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": "3"
  },    #max-size=100m,意味着一个容器日志大小上限是100M,max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json
  "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,注意daemon.json文件按需填写,环境不一样都写上容易出错。
[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
​

删除旧内核 在这里我们保留系统上安装的最后两个内核并删除多余的旧内核。木子已经明确定义了installonly\_limit=2使用–setopt来覆盖/etc/dnf/dnf.conf中的默认配置。如果您不指定installonly\_limit参数,那么默认情况下dnf remove命令将采用/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"
​
​

10、安装配置zabbix客户端

rpm -Uvh https://repo.zabbix.com/zabbix/6.5/rocky/9/x86_64/zabbix-release-6.5-2.el9.noarch.rpm
rm -rf /var/cache/yum
yum clean all
yum makecache fast
rpm -e zabbix-agent
yum install -y zabbix-agent2 zabbix-agent2-plugin-* --enablerepo=zabbix
​
sed -i "s/^Server=127.0.0.1/Server=zabbix.ponytest.com/g" /etc/zabbix/zabbix_agent2.conf
sed -i "s/^ServerActive=127.0.0.1/ServerActive=zabbix.ponytest.com/g" /etc/zabbix/zabbix_agent2.conf
sed -i "s/Hostname=Zabbix server/Hostname=`cat /etc/hostname`/g" /etc/zabbix/zabbix_agent2.conf
sed -i '/Timeout=3$/a\Timeout=30' /etc/zabbix/zabbix_agent2.conf
grep -v '^#' /etc/zabbix/zabbix_agent2.conf |grep -v '^$'
​
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
systemctl enable zabbix-agent2
​
最后修改:2024 年 03 月 22 日
如果觉得我的文章对你有用,请随意赞赏