Linux 基础学习训练教材 - RockyLinux 9.x

课程/课后例题参考解答

单纯提供一个相对的解答,并不是标准答案!

最近更新时间: 2023/05/01

单纯就是个解答的参考,写完之后再来这边查查看答案跟你想的一样不一样!?

第 12 堂课 (2023/05/08)

  • 例题 12.1.1-1:
    1. 主流的软件管理机制,大致为 Red Hat 系统的 rpm 机制,以及 Debian 系统的 dpkg 两大类。
    2. Red Hat 使用的在线升级机制为 yum,目前已经使用 dnf 机制,不过仍保留 yum 兼容模式喔。
    3. 例如,安装 chrony 软件时,因为 chrony 主要是由 systemd 这个服务管理机制所驱动,因此安装 chrony 之前, systemd 软件必需要事先安装, 否则就无法安装 chrony 了!这就是所谓的软件相依。
  • 例题 12.1.2-1:
    # A. 确认一下,是否已经安装了 logrotate 软件?
    [root@station111 ~]# rpm -qa | grep logrotate
    logrotate-3.18.0-7.el9.x86_64
    rsyslog-logrotate-8.2102.0-105.el9.x86_64
    
    [root@station111 ~]# rpm -q logrotate
    logrotate-3.18.0-7.el9.x86_64
    # 可以使用抓关键字的方法处理,如果确定软件名称无误,也能直接查找!
    
    # B. 找出 logrotate 这个软件内含的文件文件名
    [root@station111 ~]# rpm -ql logrotate
    /etc/logrotate.conf
    /etc/logrotate.d
    /etc/logrotate.d/btmp
    /etc/logrotate.d/wtmp
    ......
    
    # C. 找出这个 logrotate 的软件功能说明 information
    [root@station111 ~]# rpm -qi logrotate
    Name        : logrotate
    Version     : 3.18.0
    Release     : 7.el9
    Architecture: x86_64
    Install Date: Thu 16 Feb 2023 11:44:15 AM CST
    Group       : Unspecified
    Size        : 157349
    License     : GPLv2+
    Signature   : RSA/SHA256, Mon 31 Oct 2022 06:04:22 AM CST, Key ID 702d426d350d275d
    Source RPM  : logrotate-3.18.0-7.el9.src.rpm
    Build Date  : Mon 31 Oct 2022 05:59:09 AM CST
    Build Host  : pb-feb99270-ff6c-4b73-b179-ad21d679f096-b-x86-64
    Packager    : Rocky Linux Build System (Peridot) <releng@rockylinux.org>
    Vendor      : Rocky Enterprise Software Foundation
    URL         : https://github.com/logrotate/logrotate
    Summary     : Rotates, compresses, removes and mails system log files
    Description :
    The logrotate utility is designed to simplify the administration of
    log files on a system which generates a lot of log files.  Logrotate
    allows for the automatic rotation compression, removal and mailing of
    log files.  Logrotate can be set to handle a log file daily, weekly,
    monthly or when the log file gets to a certain size.
    
    Install the logrotate package if you need a utility to deal with the
    log files on your system.
    
    # D. 从既有的文件去找出该文件所属的软件为何
    [root@station111 ~]# rpm -qf /bin/sh
    bash-5.1.8-6.el9_1.x86_64
    
    # E. 其实没关系,因为文件名纪录是在数据库,与文件本身有没有存在无关!所以还是可以查出来:
    [root@station111 ~]# rpm -qf /etc/crontab
    crontabs-1.11-27.20190603git.el9.noarch
    # 之后主要重新安装一次 (或强制安装) crontabs 软件,该文件就会回复到源有的状态。
    
    # F. 怎么知道 chrony 这个软件的相依软件与文件有哪些?可以简单这样做:
    [root@station111 ~]# rpm -qR chrony
    /bin/sh
    /bin/sh
    .......
    shadow-utils
    systemd
    systemd
    
  • 例题 12.1.2-2:
    # A. 查找 logrotate 是否被更动过?
    [root@station111 ~]# rpm -V logrotate
    # 若不曾被更动过,就不会有任何消息显示
    
    # B. 那么 /etc/crontab 呢?
    [root@station111 ~]# rpm -qf /etc/crontab
    crontabs-1.11-27.20190603git.el9.noarch
    # 先从文件找到软件名称
    
    [root@station111 ~]# rpm -V crontabs
    S.5....T.  c /etc/crontab
    再从软件名称去检查有没有更动过文件的信息
    
    # C. 星期天 2:00 进行一次全系统验证,并保存
    [root@station111 ~]# vim /etc/crontab
    0    2  *  *  0 root       rpm -Va &> /root/rpmv.txt
    
  • 例题 12.2.1-1:
    # A. 找出 ifconfig 这个『指令』的所属软件
    [root@station111 ~]# yum provides "*bin/ifconfig"
    net-tools-2.0-0.62.20160912git.el9.x86_64 : Basic networking tools
    Repo        : @System
    Matched from:
    Other       : *bin/ifconfig
    
    # B. 尝试了解该软件的功能
    [root@station111 ~]# yum info net-tools
    Installed Packages
    Name         : net-tools
    Version      : 2.0
    Release      : 0.62.20160912git.el9
    Architecture : x86_64
    Size         : 912 k
    Source       : net-tools-2.0-0.62.20160912git.el9.src.rpm
    Repository   : @System
    From repo    : anaconda
    Summary      : Basic networking tools
    URL          : http://sourceforge.net/projects/net-tools/
    License      : GPLv2+
    Description  : The net-tools package contains basic networking tools,
                 : including ifconfig, netstat, route, and others.
                 : Most of them are obsolete. For replacement check iproute package.
    
    # C. 列出以 qemu 为开头的软件名称
    [root@station111 ~]# yum search qemu
    ============================= Name & Summary Matched: qemu ==============================
    ipxe-roms-qemu.noarch : Network boot loader roms supported by QEMU, .rom format
    libvirt-daemon-driver-qemu.x86_64 : QEMU driver plugin for the libvirtd daemon
    qemu-ga-win.noarch : Qemus Guest agent for Windows
    qemu-guest-agent.x86_64 : QEMU guest agent
    qemu-img.x86_64 : QEMU command line tool for manipulating disk images
    qemu-kvm.x86_64 : QEMU is a machine emulator and virtualizer
    ....
    
    # D. 找出 qemu-kvm 这个软件的功能
    [root@station111 ~]# yum info qemu-kvm
    Available Packages
    Name         : qemu-kvm
    Epoch        : 17
    Version      : 7.0.0
    Release      : 13.el9_1.2
    Architecture : x86_64
    Size         : 55 k
    Source       : qemu-kvm-7.0.0-13.el9_1.2.src.rpm
    Repository   : appstream
    Summary      : QEMU is a machine emulator and virtualizer
    URL          : http://www.qemu.org/
    License      : GPLv2 and GPLv2+ and CC-BY
    Description  : qemu-kvm is an open source virtualizer that provides hardware
                 : emulation for the KVM hypervisor. qemu-kvm acts as a virtual
                 : machine monitor together with the KVM kernel modules, and emulates the
                 : hardware for a full system such as a PC and its associated peripherals.
    # 所以,就是虚拟化功能的软件喔!
    
    # E. 查出到目前为止, yum 进行过什么行为?
    [root@station111 ~]# yum history
    ID     | Command line                 | Date and time    | Action(s)      | Altered
    -----------------------------------------------------------------------------------
         3 | install tcsh                 | 2023-02-26 14:46 | Install        |    1  <
         2 |                              | 2023-02-20 14:20 | I, U           |   91 >
         1 |                              | 2023-02-16 11:43 | Install        | 1190 EE
    
  • 例题 12.2.1-2:
    1. 先处理基本的查找与安装任务
      # a. 用 rpm 查找 pam-devel 安装了没?
      [root@station111 ~]# rpm -qa | grep pam-devel
      
      # b. 用 yum 查找是否有 pam-devel 软件?
      [root@station111 ~]# yum search pam-devel
      ============================ Name Exactly Matched: pam-devel ============================
      pam-devel.x86_64 : Files needed for developing PAM-aware applications and modules for PAM
      pam-devel.i686 : Files needed for developing PAM-aware applications and modules for PAM
      
      # c. 在线直接安装喔!
      [root@station111 ~]# yum install pam-devel
      
      # d. 使用 rpm 查找该软件所属文件
      [root@station111 ~]# rpm -ql pam-devel
      /usr/include/security
      /usr/include/security/_pam_compat.h
      /usr/include/security/_pam_macros.h
      .......
      
    2. 继续处理升级的任务,在线升级喔!
      # a. 先使用 yum check-update 尝试分析目前服务器上有比本机 Linux 还要新的软件群
      [root@station111 ~]# yum check-update
      NetworkManager.x86_64                         1:1.40.0-2.el9_1                  baseos
      NetworkManager-adsl.x86_64                    1:1.40.0-2.el9_1                  baseos
      .......
      tar.x86_64                                    2:1.34-6.el9_1                    baseos
      .......
      
      # b. 随意选择一个软件 (例如 tar) 来进行单一软件的升级
      [root@station111 ~]# yum update tar
      
      # c. 进行一次全系统升级
      [root@station111 ~]# yum update
      
      # d. 如果需要每天凌晨 3 点自动背景进行全系统升级,该如何处理?
      [root@station111 ~]# vim /etc/crontab
      0 3 * * * root /bin/yum -y update
      # 上面的这个 -y 是重点!这样系统才会自动的输入 yes 通过!
      
    3. 开始进行移除任务看看
      # a. 将刚刚安装的 pam-devel 移除掉
      [root@station111 ~]# yum remove pam-devel
      
      # b. 刚刚已经全系统安装完毕,请问是否需要重新开机?为什么?
      # 答案是『不一定!』如果是一般服务的升级,那只要将服务关闭再启动,就可以使用最新程序!
      # 但是,如果是内核,或者是一些基础函数库的更新,则最好重新开机!
      # 尤其是 kernel 的升级,一定要重新开机才能生效!这个可以由 4 个同心圆去理解!
      [root@station111 ~]# reboot
      
      # c. 不知道怎么办时,可以通过 needs-restarting -r 来评估看看
      [root@station111 ~]# yum install yum-utils
      [root@station111 ~]# needs-restarting -r
      No core libraries or services have been updated since boot-up.
      Reboot should not be necessary.
      
      # 有时候,可能会出现如下的数据,那就得要重新开机比较妥当!
      [root@station111 ~]# needs-restarting -r
      Core libraries or services have been updated since boot-up:
        * kernel
        * linux-firmware
      
      Reboot is required to fully utilize these updates.
      More information: https://access.redhat.com/solutions/27942
      
  • 例题 12.2.2-1:
    # A. 从 http://ftp.ksu.edu.tw 去找到三个 URL,然后修改底下的数据,共分三个文件喔!
    [root@station111 ~]# vim /etc/yum.repos.d/rocky.repo
    [baseos]
    name=Rocky Linux $releasever - BaseOS
    #mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever$rltype
    baseurl=http://ftp.ksu.edu.tw/FTP/Linux/rocky/9/BaseOS/x86_64/os/
    gpgcheck=1
    enabled=1
    countme=1
    metadata_expire=6h
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
    [appstream]
    name=Rocky Linux $releasever - AppStream
    #mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever$rltype
    baseurl=http://ftp.ksu.edu.tw/FTP/Linux/rocky/9/AppStream/x86_64/os/
    gpgcheck=1
    enabled=1
    countme=1
    metadata_expire=6h
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
    [root@station111 ~]# vim /etc/yum.repos.d/rocky-extras.repo
    [extras]
    name=Rocky Linux $releasever - Extras
    #mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=extras-$releasever$rltype
    baseurl=http://ftp.ksu.edu.tw/FTP/Linux/rocky/9/extras/x86_64/os/
    gpgcheck=1
    enabled=1
    countme=1
    metadata_expire=6h
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
    # B. 清除缓存!
    [root@station111 ~]# yum clean all
    
    # C. 查看一下 baseos 的仓储信息
    [root@station111 ~]# yum repoinfo baseos
    Rocky Linux 9 - BaseOS                                   2.1 MB/s | 1.8 MB     00:00
    Rocky Linux 9 - AppStream                                6.9 MB/s | 6.8 MB     00:00
    Rocky Linux 9 - Extras                                    10 kB/s | 8.7 kB     00:00
    Repo-id            : baseos
    Repo-name          : Rocky Linux 9 - BaseOS
    Repo-status        : enabled
    Repo-revision      : 1683217074
    Repo-updated       : Fri 05 May 2023 12:17:54 AM CST
    Repo-pkgs          : 1,138
    Repo-available-pkgs: 1,138
    Repo-size          : 982 M
    Repo-baseurl       : http://ftp.ksu.edu.tw/FTP/Linux/rocky/9/BaseOS/x86_64/os/
    Repo-expire        : 21,600 second(s) (last: Sun 07 May 2023 06:06:37 PM CST)
    Repo-filename      : /etc/yum.repos.d/rocky.repo
    Total packages: 1,138
    
    # D. 进行 yum update 看看
    [root@station111 ~]# yum update
    
  • 例题 12.2.2-2:
    # A. 先列出本机上面所有的软件仓储
    [root@station111 ~]# yum repolist all
    repo id                 repo name                                       status
    appstream               Rocky Linux 9 - AppStream                       enabled
    appstream-debug         Rocky Linux 9 - AppStream - Debug               disabled
    appstream-source        Rocky Linux 9 - AppStream - Source              disabled
    baseos                  Rocky Linux 9 - BaseOS                          enabled
    ....
    
    # B. 将 extras 这个软件仓储设置成为缺省关闭
    [root@station111 ~]# yum config-manager --disable extras
    [root@station111 ~]# yum repoinfo extras
    Repo-id            : extras
    Repo-name          : Rocky Linux 9 - Extras
    Repo-status        : disabled
    Repo-baseurl       : http://ftp.ksu.edu.tw/FTP/Linux/rocky/9/extras/x86_64/os/
    Repo-expire        : 21,600 second(s) (last: unknown)
    Repo-filename      : /etc/yum.repos.d/rocky-extras.repo
    Total packages: 0
    
    # C. 找到并安装 epel 软件
    [root@station111 ~]# yum --enablerepo=extras search epel
    ================================== Name Matched: epel ===================================
    epel-release.noarch : Extra Packages for Enterprise Linux repository configuration
    
    [root@station111 ~]# yum --enablerepo=extras install epel-release
    
    # D. 让 epel 软件仓储变成缺省是不激活的
    [root@station111 ~]# yum repolist
    repo id                   repo name
    appstream                 Rocky Linux 9 - AppStream
    baseos                    Rocky Linux 9 - BaseOS
    epel                      Extra Packages for Enterprise Linux 9 - x86_64
    
    [root@station111 ~]# yum config-manager --disable epel
    
    # E. 缺省的软件仓储是否有 netcdf 软件查找
    [root@station111 ~]# yum search netcdf
    
    # F. 使用 yum --enablerepo=epel 之后,再次查找有没有 netcdf?若有,请安装
    [root@station111 ~]# yum --enablerepo=epel search netcdf
    ============================= Name Exactly Matched: netcdf ==============================
    netcdf.x86_64 : Libraries for the Unidata network Common Data Form
    ============================ Name & Summary Matched: netcdf =============================
    netcdf-cxx.x86_64 : Legacy netCDF C++ library
    netcdf-cxx-devel.x86_64 : Development files legacy netCDF C++ library
    netcdf-cxx-static.x86_64 : Static libraries for legacy netCDF C++ library
    .....
    
    [root@station111 ~]# yum --enablerepo=epel install netcdf
    
    [root@station111 ~]# rpm -ql netcdf | grep bin
    /usr/bin/nc4print
    /usr/bin/nccopy
    /usr/bin/ncdump
    /usr/bin/ncgen
    /usr/bin/ncgen3
    /usr/bin/ocprint
    
  • 例题 12.3.1-1:
    # A. 检查一下上述的三个数据中,哪几个是服务?哪几个是运行档?
    [root@station111 ~]# systemctl status systemd-journald
    ● systemd-journald.service - Journal Service
         Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static)
         Active: active (running) since Sun 2023-05-07 16:41:16 CST; 3h 48min ago
    TriggeredBy: ● systemd-journald-dev-log.socket
                 ● systemd-journald.socket
           Docs: man:systemd-journald.service(8)
                 man:journald.conf(5)
       Main PID: 28341 (systemd-journal)
         Status: "Processing requests..."
          Tasks: 1 (limit: 10940)
         Memory: 1.6M
            CPU: 67ms
         CGroup: /system.slice/systemd-journald.service
                 └─28341 /usr/lib/systemd/systemd-journald
    
    [root@station111 ~]# systemctl status rsyslog
    ● rsyslog.service - System Logging Service
         Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: en
         Active: active (running) since Sun 2023-05-07 22:59:42 CST; 2h 29min left
           Docs: man:rsyslogd(8)
                 https://www.rsyslog.com/doc/
       Main PID: 747 (rsyslogd)
          Tasks: 3 (limit: 10940)
         Memory: 2.8M
            CPU: 931ms
         CGroup: /system.slice/rsyslog.service
                 └─747 /usr/sbin/rsyslogd -n
    
    [root@station111 ~]# systemctl status logrotate
    ○ logrotate.service - Rotate log files
         Loaded: loaded (/usr/lib/systemd/system/logrotate.service; static)
         Active: inactive (dead) since Sun 2023-05-07 22:59:42 CST; 2h 26min left
    TriggeredBy: ● logrotate.timer
           Docs: man:logrotate(8)
                 man:logrotate.conf(5)
       Main PID: 761 (code=exited, status=0/SUCCESS)
            CPU: 46ms
    
    [root@station111 ~]# cat /usr/lib/systemd/system/logrotate.service
    .....
    [Service]
    Type=oneshot
    ExecStart=/usr/sbin/logrotate /etc/logrotate.conf
    .....
    
    [root@station111 ~]# which logrotate
    /usr/sbin/logrotate
    # 所以前面两个是系统服务,后面一个不是。logrotate 应该是指令而已非服务。
    
    # B. 并检查服务项目有没有启动?而运行档又是如何运行的?
    # 如上所示,前面两个不但开机自动启动,而且目前是启动的状态。
    [root@station111 ~]# rpm -qf /usr/sbin/logrotate
    logrotate-3.18.0-7.el9.x86_64
    [root@station111 ~]# rpm -ql logrotate
    .....
    /usr/lib/systemd/system/logrotate.service
    /usr/lib/systemd/system/logrotate.timer
    /usr/sbin/logrotate
    /usr/share/doc/logrotate
    .....
    # 所以 logrotate 是使用 timer 来启动的指令!
    
    [root@station111 ~]# cat /usr/lib/systemd/system/logrotate.timer
    [Unit]
    Description=Daily rotation of log files
    Documentation=man:logrotate(8) man:logrotate.conf(5)
    
    [Timer]
    OnCalendar=daily
    AccuracySec=1h
    Persistent=true
    
    [Install]
    WantedBy=timers.target
    
  • 例题 12.3.2-1:
    # 1. 先设置 rsyslogd 的设置档:
    #    从 /etc/rsyslog.conf 当中,我们知道 /etc/rsyslog.d/*.conf 可用!
    [root@station111 ~]# vim /etc/rsyslog.d/admin.conf
    *.*   /var/log/admin.log
    
    # 2. 要重新启动 rsyslog 才行!
    [root@station111 ~]# systemctl restart rsyslog.service
    [root@station111 ~]# ll /var/log/admin.log
    -rw-------. 1 root root 990  5月  7 20:51 /var/log/admin.log
    # 这个文件就会被自动生成了!
    
  • 例题 12.3.3-1:
    # A. 不加任何参数与选项,列出所有的日志数据
    [root@station111 ~]# journalctl
    
    # B. (1)先用 date 找出日期格式 YYYY-MM-DD 的日期,并以该日期的信息显示 log,
    #    以及(2)仅今天及(3)仅昨天的日志数据内容
    [root@station111 ~]# date +%Y-%m-%d
    2023-05-07
    
    [root@station111 ~]# journalctl --since $( date +%Y-%m-%d ) <==当日消息
    -- Logs begin at Mon 2020-05-25 21:33:59 CST, end at Tue 2020-05-26 13:22:42 CST. --
     5月 26 00:00:13 station111.centos systemd[1]: Starting update of the root trust anchor>
     5月 26 00:00:13 station111.centos systemd[1]: Started update of the root trust anchor >
    .....
    
    [root@station111 ~]# journalctl --since today  <==当日消息
    
    [root@station111 ~]# journalctl -S yesterday -U today <==昨日消息
    
    # C. 只找出 crond.service 的数据,同时只列出最新的 10 笔即可
    [root@station111 ~]# journalctl -u crond -n 10
    
    # D. 找出 su, sudo 运行的注册表,同时只列出最新的 10 笔即可
    [root@station111 ~]# journalctl _COMM=su _COMM=sudo -n 10
    
  • 例题 12.3.4-1:
    1. 查找并安装好 logwatch 软件:
      [root@station111 ~]# rpm -q logwatch
      软件包 logwatch 尚未安装
      [root@station111 ~]# yum install logwatch
      
    2. 使用 rpm -ql 的方式,查找 logwatch 的所有文件,并找出与 cron 有关的设置文件名
      [root@station111 ~]# rpm -ql logwatch | grep etc
      /etc/cron.daily/0logwatch  <==这里!
      /etc/logwatch
      /etc/logwatch/conf
      ......
      
    3. 承上,找到上述文件后观察内容,并将运行的方法『立刻』运行一遍
      [root@station111 ~]# grep -v '#' /etc/cron.daily/0logwatch | grep -v '^$'
      LOGWATCH_SCRIPT="/usr/sbin/logwatch"
      OPTIONS="--output mail"
      $LOGWATCH_SCRIPT $OPTIONS
      exit 0
      
      [root@station111 ~]# /usr/sbin/logwatch --range today
       ################### Logwatch 7.5.5 (01/22/21) ####################
              Processing Initiated: Sun May  7 21:11:32 2023
              Date Range Processed: today
                                    ( 2023-May-07 )
                                    Period is day.
              Detail Level of Output: 0
              Type of Output/Format: stdout / text
              Logfiles for Host: station200.rockylinux
       ##################################################################
      ....
      # 缺省追踪的 log 是『昨天 (yesterday) 的项目,但是我们的系统刚刚开机,所以使用 today。
      # 另外,如果信息量太大,我们只需要 sshd 的时候,也可以这样做:
      
      [root@station111 ~]# logwatch --range today --service=sshd --service=cron --service=sudo
      
  • 例题 12.4 课后练习
    1. 尝试从无到有的创建起 netcdf-c 软件
      # a.1. 从 github 底下去下载最新的 netcdf-c 软件
      [root@station111 ~]# git clone https://github.com/Unidata/netcdf-c.git
      [root@station111 ~]# cd netcdf-c/
      [root@station111 netcdf-c]# 
      
      # a.2. 由 https://github.com/Unidata/netcdf-c 的 installation 找到 Building NetCDF
      # 再由该链接最终找到 cmake . 这个准备创建 Makefile 的指令:
      [root@station111 netcdf-c]# cmake -DCMAKE_PREFIX_PATH=/usr/local
      [root@station111 netcdf-c]# ll Makefile
      -rw-r--r--. 1 root root 155083  5月  7 22:44 Makefile
      
      # a.3. 开始编译与安装
      [root@station111 netcdf-c]# make -j
      [root@station111 netcdf-c]# make install
      
      # b. 使用 ncdump -h 确认软件是否可用即可。
      [root@station111 netcdf-c]# type -a ncdump
      ncdump 是 /usr/local/bin/ncdump
      ncdump 是 /usr/bin/ncdump
      
      [root@station111 netcdf-c]# /usr/local/bin/ncdump -h
      # 有说明文档就是对了!
      
      # c. 理解安装后,将该软件移除
      [root@station111 netcdf-c]# pwd
      /usr/local/src/netcdf-c-4.7.4
      
      [root@station111 netcdf-c]# make uninstall
      # 必需要在原本的编译原代码的目录底下,才可以进行软件移除的行为喔!
      [root@station111 netcdf-c]# type -a ncdump
      ncdump 是 /usr/bin/ncdump
      
    2. 尝试设置 elrepo 的 EL9 的版本,并且尝试安装最新的 kernel-ml 内核,看看系统能不能稳定运作
      # a.1. 安装数字签章,并且安装软件仓储设置档
      [root@station111 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
      [root@station111 ~]# yum install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
      
      # a.2. 查找刚刚装好的软件仓储,并且依据之前的建议,将非正规需要的仓储关闭
      [root@station111 ~]# yum repolist
      体库 ID         软件库名称
      appstream         Rocky Linux 9 - AppStream
      baseos            Rocky Linux 9 - BaseOS
      elrepo            ELRepo.org Community Enterprise Linux Repository - el9
      
      [root@station111 ~]# yum config-manager --disable elrepo
      
      # b. 搜索并安装 kernel-ml
      [root@station111 ~]# yum --enablerepo=elrepo-kernel search kernel-ml
      =========================== 名称 精确符合:kernel-ml ===========================
      kernel-ml.x86_64 : The Linux kernel. (The core of any Linux kernel based
                       : operating system.)
      ....
      
      [root@station111 ~]# yum --enablerepo=elrepo-kernel install kernel-ml
      
      # c.1. 查找是否有新的内核安装了?
      [root@station111 ~]# ll /lib/modules
      drwxr-xr-x. 7 root root 4096  2月 20 14:22 5.14.0-162.12.1.el9_1.0.2.x86_64
      drwxr-xr-x. 7 root root 4096  5月  7 16:40 5.14.0-162.23.1.el9_1.x86_64
      drwxr-xr-x. 8 root root 4096  2月 16 11:51 5.14.0-162.6.1.el9_1.x86_64
      drwxr-xr-x. 7 root root 4096  5月  7 23:51 6.3.1-1.el9.elrepo.x86_64
      [root@station111 ~]# uname -r
      5.14.0-162.12.1.el9_1.0.2.x86_64
      # 最新为 6.3.1 版本,目前则是 5.14.0 版本
      
      # c.2. 进行 reboot!记得开机过程中一定要盯着屏幕!开机时 5 秒选择 6.3.1 版本内核开机!
      [root@station111 ~]# reboot
      [root@station111 ~]# uname -r
      6.3.1-1.el9.elrepo.x86_64
      # 确定是新版喔!
      
      # d. 毕竟是测试,请重新开机,然后挑选原本的旧的内核后,再移除刚刚的内核!
      [root@station111 ~]# reboot
      [root@station111 ~]# uname -r
      5.14.0-162.23.1.el9_1.x86_64
      [root@station111 ~]# rpm -qa | grep kernel-ml
      kernel-ml-core-6.3.1-1.el9.elrepo.x86_64
      kernel-ml-modules-6.3.1-1.el9.elrepo.x86_64
      kernel-ml-6.3.1-1.el9.elrepo.x86_64
      [root@station111 ~]# yum remove kernel-ml
      
修改历史:
  • 2023/02/17:RHEL 改版到 EL9 了,只好再度改版!否则教学上面挺困扰!
2023/02/17 以来统计人数
计数器
其他链接
环境工程模式篇
鸟园讨论区
鸟哥旧站

今日 人数统计
昨日 人数统计
本月 人数统计
上月 人数统计