1. RHCSA基础配置实战指南
作为红帽认证系统管理员(RHCSA)认证的核心技能,Linux系统的基础配置操作是每位运维人员必须掌握的看家本领。今天我将结合多年一线运维经验,详细拆解RHCSA考试和日常工作中最常用的三大基础操作模块:SSH远程连接、文件管理命令和vim编辑器使用。这些技能看似简单,但其中暗藏的技巧和踩坑点往往决定了工作效率的高低。
提示:本文所有操作均基于RHEL 8/CentOS 8环境,不同Linux发行版可能存在细微差异。建议读者在虚拟机或测试环境中跟随操作。
1.1 环境准备要点
在开始实操前,我们需要确保:
- 已安装最小化版本的RHEL/CentOS系统
- 拥有root权限或sudo权限的普通用户
- 网络连接正常(用于SSH测试)
- 系统已安装vim-enhanced包(提供完整vim功能)
检查vim是否安装完整:
bash复制rpm -qa | grep vim-enhanced
若未安装,执行:
bash复制dnf install vim-enhanced -y
2. SSH远程连接深度解析
2.1 SSH连接原理与基础命令
SSH(Secure Shell)是Linux系统远程管理的黄金标准,其加密通信机制可有效防止中间人攻击。基本连接语法为:
bash复制ssh username@hostname -p port
实际案例:连接192.168.1.100服务器的root用户(默认22端口)
bash复制ssh root@192.168.1.100
首次连接时会提示确认主机指纹,这是SSH的安全特性之一。输入yes后,系统会将主机密钥保存到~/.ssh/known_hosts文件中。
2.2 SSH安全加固实践
2.2.1 密钥对认证配置
密码认证存在暴力破解风险,推荐使用更安全的密钥对认证:
- 本地生成密钥对(默认保存在~/.ssh/)
bash复制ssh-keygen -t rsa -b 4096
- 将公钥上传到服务器
bash复制ssh-copy-id root@192.168.1.100
- 禁用密码认证(修改服务器端配置)
bash复制vim /etc/ssh/sshd_config
找到并修改:
code复制PasswordAuthentication no
重启服务:
bash复制systemctl restart sshd
2.2.2 连接优化参数
在~/.ssh/config中添加以下配置可显著提升使用体验:
code复制Host *
ServerAliveInterval 60
TCPKeepAlive yes
Compression yes
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
ControlPersist 4h
3. 文件管理命令实战精要
3.1 目录操作进阶技巧
创建目录时建议使用-p参数自动创建父目录:
bash复制mkdir -p /opt/project/{src,log,conf}
这行命令会同时创建:
- /opt/project/
- /opt/project/src/
- /opt/project/log/
- /opt/project/conf/
查看目录结构时,tree命令比ls更直观:
bash复制tree -L 2 /opt # 显示两级目录结构
若未安装tree,可通过以下命令安装:
bash复制dnf install tree -y
3.2 文件操作高阶应用
3.2.1 批量文件创建
使用花括号扩展创建序列文件:
bash复制touch file{1..10}.txt
创建带日期戳的文件:
bash复制touch report_$(date +%Y%m%d).log
3.2.2 文件内容操作
快速清空文件内容(比删除重建更高效):
bash复制: > filename
查看文件前/后n行:
bash复制head -n 5 /var/log/messages
tail -n 10 /var/log/secure
实时监控日志文件变化:
bash复制tail -f /var/log/nginx/access.log
4. Vim编辑器大师级使用指南
4.1 Vim三大模式精解
- 普通模式:执行命令和导航(启动后的默认模式)
- 插入模式:编辑文本(按i进入)
- 命令行模式:保存、退出等操作(按:进入)
重要:90%的Vim初学者问题都源于模式混淆。注意屏幕左下角会显示当前模式。
4.2 高效编辑技巧
4.2.1 快速导航
- 行首:0
- 行尾:$
- 文件开头:gg
- 文件结尾:G
- 跳转到第50行:50G
4.2.2 文本操作
- 复制当前行:yy
- 粘贴:p
- 删除当前行:dd
- 撤销:u
- 重做:Ctrl+r
4.2.3 高级功能
- 多文件编辑:
bash复制vim -o file1 file2 # 水平分割
vim -O file1 file2 # 垂直分割
窗口间切换:Ctrl+w+w
- 宏录制:
- 开始录制:qa(录制到寄存器a)
- 结束录制:q
- 执行宏:@a
4.3 Vim配置优化
创建~/.vimrc配置文件:
bash复制" 显示行号
set number
" 语法高亮
syntax on
" 自动缩进
set autoindent
" 显示光标位置
set ruler
" 搜索高亮
set hlsearch
" Tab转换为4个空格
set tabstop=4
set shiftwidth=4
set expandtab
5. 实战问题排查手册
5.1 SSH连接常见故障
问题1:Connection refused
- 检查sshd服务状态:
bash复制systemctl status sshd
- 检查防火墙规则:
bash复制firewall-cmd --list-all
- 检查SELinux状态:
bash复制getenforce
问题2:Host key verification failed
解决方法:
bash复制ssh-keygen -R hostname # 删除旧密钥
5.2 文件权限问题
问题:Permission denied
查看文件权限:
bash复制ls -l filename
修改权限:
bash复制chmod 755 filename # rwxr-xr-x
chown user:group filename
5.3 Vim异常处理
问题:Swap file exists
解决方法:
- 查看交换文件:
code复制vim -r filename
- 恢复或删除:
code复制rm .filename.swp
6. 效率提升技巧
6.1 SSH快捷登录
在~/.bashrc中添加别名:
bash复制alias prod='ssh user@prod-server -p 2222'
alias dev='ssh user@dev-server -i ~/.ssh/dev_key'
使配置生效:
bash复制source ~/.bashrc
6.2 批量文件操作
使用find配合xargs:
bash复制find . -name "*.log" -type f -mtime +30 | xargs rm
6.3 Vim插件推荐
- Vundle(插件管理):
bash复制git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- NERDTree(文件树):
在.vimrc中添加:
code复制Plugin 'preservim/nerdtree'
安装:
code复制:PluginInstall
7. 安全加固建议
7.1 SSH安全
- 修改默认端口:
bash复制vim /etc/ssh/sshd_config
修改:
code复制Port 2222
- 禁止root登录:
code复制PermitRootLogin no
7.2 文件系统安全
- 重要目录权限设置:
bash复制chmod 750 /etc/sudoers.d
chmod 700 /root/.ssh
- 查找SUID/SGID文件:
bash复制find / -perm /6000 -type f -exec ls -ld {} \;
8. 监控与维护
8.1 系统资源监控
- 实时监控:
bash复制top
htop
- 磁盘空间:
bash复制df -h
du -sh /*
8.2 日志分析
- 查看系统日志:
bash复制journalctl -xe
- 分析登录记录:
bash复制last
grep "Failed password" /var/log/secure
9. 备份策略
9.1 关键目录备份
- 创建备份脚本:
bash复制vim /usr/local/bin/backup_system.sh
内容:
bash复制#!/bin/bash
tar -czvf /backup/system_$(date +%Y%m%d).tar.gz \
/etc /var/spool/cron /root /home
- 设置定时任务:
bash复制crontab -e
添加:
code复制0 2 * * * /usr/local/bin/backup_system.sh
10. 性能调优
10.1 内核参数优化
修改/etc/sysctl.conf:
code复制vm.swappiness = 10
net.ipv4.tcp_fin_timeout = 30
fs.file-max = 65535
应用配置:
bash复制sysctl -p
10.2 服务优化
禁用不必要的服务:
bash复制systemctl list-unit-files | grep enabled
systemctl disable bluetooth.service
11. 实用脚本集锦
11.1 系统信息脚本
bash复制#!/bin/bash
echo "===== System Info ====="
echo "Hostname: $(hostname)"
echo "Uptime: $(uptime)"
echo "Load: $(cat /proc/loadavg)"
echo "Memory: $(free -h)"
echo "Disk: $(df -h /)"
11.2 用户管理脚本
bash复制#!/bin/bash
# 批量创建用户
for user in user{1..5}; do
useradd -m -s /bin/bash $user
echo "$user:Passw0rd" | chpasswd
passwd -e $user
done
12. 终端技巧
12.1 快捷键大全
- 清屏:Ctrl+l
- 终止命令:Ctrl+c
- 挂起命令:Ctrl+z
- 搜索历史:Ctrl+r
- 行首/尾:Ctrl+a/e
12.2 命令组合
- 统计当前目录文件数:
bash复制ls -l | grep "^-" | wc -l
- 查找大文件:
bash复制find / -type f -size +100M -exec ls -lh {} \;
13. 版本控制集成
13.1 Git基础配置
- 安装Git:
bash复制dnf install git -y
- 全局配置:
bash复制git config --global user.name "Your Name"
git config --global user.email "your@email.com"
git config --global core.editor vim
13.2 常用Git操作
- 初始化仓库:
bash复制mkdir project && cd project
git init
- 提交更改:
bash复制git add .
git commit -m "Initial commit"
14. 网络配置
14.1 静态IP配置
修改网络配置文件:
bash复制vim /etc/sysconfig/network-scripts/ifcfg-ens192
关键参数:
code复制BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
重启网络:
bash复制systemctl restart network
14.2 网络诊断工具
- 连通性测试:
bash复制ping -c 4 google.com
- 路由追踪:
bash复制traceroute google.com
- 端口检测:
bash复制telnet google.com 80
nc -zv google.com 443
15. 软件包管理
15.1 DNF/YUM使用
- 搜索软件包:
bash复制dnf search nginx
- 查看信息:
bash复制dnf info nginx
- 安装:
bash复制dnf install nginx -y
- 更新:
bash复制dnf update
15.2 RPM操作
- 查询已安装:
bash复制rpm -qa | grep httpd
- 查看文件归属:
bash复制rpm -qf /etc/nginx/nginx.conf
- 验证包完整性:
bash复制rpm -V nginx
16. 进程管理
16.1 进程监控
- 查看所有进程:
bash复制ps aux
- 动态监控:
bash复制top
- 按内存排序:
bash复制ps aux --sort=-%mem | head
16.2 进程控制
- 终止进程:
bash复制kill -9 PID
- 批量终止:
bash复制pkill -f "pattern"
- 后台运行:
bash复制nohup command &
17. 磁盘管理
17.1 分区与格式化
- 查看磁盘:
bash复制fdisk -l
lsblk
- 创建分区:
bash复制fdisk /dev/sdb
- 格式化:
bash复制mkfs.xfs /dev/sdb1
17.2 挂载配置
- 临时挂载:
bash复制mount /dev/sdb1 /mnt/data
- 永久挂载:
bash复制vim /etc/fstab
添加:
code复制/dev/sdb1 /mnt/data xfs defaults 0 0
18. 计划任务
18.1 Crontab使用
- 编辑任务:
bash复制crontab -e
- 示例:
code复制# 每天凌晨备份
0 0 * * * /path/to/backup.sh
# 每5分钟检查服务
*/5 * * * * systemctl is-active httpd || systemctl restart httpd
18.2 系统级任务
编辑/etc/crontab:
bash复制vim /etc/crontab
格式:
code复制* * * * * username command
19. 系统服务
19.1 服务管理
- 查看服务状态:
bash复制systemctl list-unit-files
systemctl status sshd
- 启停服务:
bash复制systemctl start nginx
systemctl stop firewalld
systemctl restart sshd
19.2 服务自启
- 启用自启:
bash复制systemctl enable nginx
- 禁用自启:
bash复制systemctl disable bluetooth
20. 内核与模块
20.1 内核信息
- 查看内核版本:
bash复制uname -r
cat /proc/version
- 查看加载模块:
bash复制lsmod
20.2 模块操作
- 加载模块:
bash复制modprobe module_name
- 移除模块:
bash复制modprobe -r module_name
- 查看模块信息:
bash复制modinfo module_name
21. 用户与组管理
21.1 用户操作
- 创建用户:
bash复制useradd -m -s /bin/bash username
- 设置密码:
bash复制passwd username
- 删除用户:
bash复制userdel -r username
21.2 组管理
- 创建组:
bash复制groupadd groupname
- 添加用户到组:
bash复制usermod -aG groupname username
- 查看组成员:
bash复制getent group groupname
22. 权限管理
22.1 基本权限
- 修改权限:
bash复制chmod 755 file
chmod u+x,g-w,o=r file
- 修改所有者:
bash复制chown user:group file
22.2 特殊权限
- SUID:
bash复制chmod u+s file
- SGID:
bash复制chmod g+s directory
- Sticky Bit:
bash复制chmod +t /tmp
23. 环境变量
23.1 变量设置
- 临时设置:
bash复制export PATH=$PATH:/new/path
- 永久设置:
bash复制echo 'export PATH=$PATH:/new/path' >> ~/.bashrc
source ~/.bashrc
23.2 常用变量
- 查看所有变量:
bash复制env
- 重要变量:
- PATH:可执行文件搜索路径
- HOME:用户主目录
- USER:当前用户名
- SHELL:当前shell
24. Shell脚本基础
24.1 脚本创建
- 创建脚本:
bash复制vim hello.sh
内容:
bash复制#!/bin/bash
echo "Hello, World!"
- 添加执行权限:
bash复制chmod +x hello.sh
- 执行:
bash复制./hello.sh
24.2 脚本调试
- 语法检查:
bash复制bash -n script.sh
- 跟踪执行:
bash复制bash -x script.sh
25. 文本处理三剑客
25.1 grep使用
- 基本搜索:
bash复制grep "pattern" file
- 递归搜索:
bash复制grep -r "pattern" /path
- 显示行号:
bash复制grep -n "pattern" file
25.2 sed使用
- 替换文本:
bash复制sed 's/old/new/g' file
- 删除行:
bash复制sed '/pattern/d' file
- 原地修改:
bash复制sed -i 's/old/new/g' file
25.3 awk使用
- 打印列:
bash复制awk '{print $1}' file
- 条件过滤:
bash复制awk '$3 > 100 {print $0}' file
- 计算统计:
bash复制awk '{sum+=$1} END {print sum}' file
26. 压缩与归档
26.1 常用命令
- gzip:
bash复制gzip file
gunzip file.gz
- tar:
bash复制tar -czvf archive.tar.gz /path
tar -xzvf archive.tar.gz
- zip:
bash复制zip -r archive.zip /path
unzip archive.zip
26.2 性能对比
| 格式 | 压缩率 | 速度 | 特点 |
|---|---|---|---|
| gzip | 中等 | 快 | 通用 |
| bzip2 | 高 | 慢 | 高压缩率 |
| xz | 最高 | 最慢 | 极高压缩率 |
| zip | 中等 | 中等 | Windows兼容 |
27. 系统启动流程
27.1 启动阶段
- BIOS/UEFI
- Bootloader (GRUB2)
- Kernel初始化
- systemd进程
- 目标(target)启动
27.2 故障修复
-
进入救援模式:
- 在GRUB菜单选择"Rescue mode"
- 挂载根目录:
chroot /mnt/sysimage
-
修复GRUB:
bash复制grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
28. 性能分析工具
28.1 系统监控
- vmstat:
bash复制vmstat 1 # 每秒刷新
- iostat:
bash复制iostat -x 1
- sar:
bash复制sar -u 1 3 # CPU使用率
sar -r 1 3 # 内存使用
28.2 进程分析
- strace:
bash复制strace -p PID
- lsof:
bash复制lsof -i :80 # 查看80端口进程
lsof /var/log/messages # 查看文件打开者
29. 安全扫描工具
29.1 漏洞扫描
- OpenVAS
- Nessus
- Lynis
29.2 配置审计
- 检查密码策略:
bash复制grep "^PASS" /etc/login.defs
- 检查sudo权限:
bash复制visudo -c
- 检查空密码账户:
bash复制awk -F: '($2 == "") {print}' /etc/shadow
30. 容器基础
30.1 Podman使用
- 安装:
bash复制dnf install podman -y
- 运行容器:
bash复制podman run -d --name nginx -p 8080:80 nginx
- 查看容器:
bash复制podman ps
30.2 镜像管理
- 拉取镜像:
bash复制podman pull alpine
- 列出镜像:
bash复制podman images
- 删除镜像:
bash复制podman rmi IMAGE_ID
31. 日志管理
31.1 系统日志
- 查看全部日志:
bash复制journalctl
- 按时间筛选:
bash复制journalctl --since "2023-01-01" --until "2023-01-02"
- 按服务筛选:
bash复制journalctl -u nginx
31.2 日志轮转
配置/etc/logrotate.conf:
code复制/var/log/nginx/*.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
/bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
endscript
}
32. 时间同步
32.1 Chrony配置
- 安装:
bash复制dnf install chrony -y
- 配置:
bash复制vim /etc/chrony.conf
添加:
code复制server ntp.aliyun.com iburst
- 启停服务:
bash复制systemctl enable --now chronyd
chronyc sources -v
32.2 时间操作
- 查看时间:
bash复制date
timedatectl
- 设置时区:
bash复制timedatectl set-timezone Asia/Shanghai
- 手动设置时间:
bash复制timedatectl set-time "2023-01-01 12:00:00"
33. 防火墙配置
33.1 firewalld基础
- 查看状态:
bash复制firewall-cmd --state
- 查看规则:
bash复制firewall-cmd --list-all
- 开放端口:
bash复制firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
33.2 高级配置
- 限制IP访问:
bash复制firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
- 创建服务定义:
bash复制vim /etc/firewalld/services/myapp.xml
内容:
xml复制<?xml version="1.0" encoding="utf-8"?>
<service>
<short>MyApp</short>
<description>My custom application</description>
<port protocol="tcp" port="8080"/>
</service>
加载:
bash复制firewall-cmd --reload
34. SELinux管理
34.1 基本概念
- 查看状态:
bash复制sestatus
getenforce
- 临时修改:
bash复制setenforce 0 # Permissive
setenforce 1 # Enforcing
- 永久修改:
bash复制vim /etc/selinux/config
修改:
code复制SELINUX=enforcing
34.2 问题排查
- 查看拒绝日志:
bash复制ausearch -m avc -ts recent
- 生成SELinux策略模块:
bash复制audit2allow -a -M mypolicy
semodule -i mypolicy.pp
- 修改文件上下文:
bash复制chcon -t httpd_sys_content_t /var/www/html/index.html
35. 内核调优
35.1 参数调整
- 查看当前值:
bash复制sysctl -a | grep tcp_keepalive
- 临时修改:
bash复制sysctl -w net.ipv4.tcp_keepalive_time=300
- 永久修改:
bash复制vim /etc/sysctl.conf
添加:
code复制net.ipv4.tcp_keepalive_time = 300
应用:
bash复制sysctl -p
35.2 内存优化
- 调整swappiness:
bash复制echo 'vm.swappiness=10' >> /etc/sysctl.conf
- 调整脏页比例:
bash复制echo 'vm.dirty_ratio=10' >> /etc/sysctl.conf
echo 'vm.dirty_background_ratio=5' >> /etc/sysctl.conf
36. 系统备份
36.1 完整系统备份
- 使用tar:
bash复制tar --exclude=/backup --exclude=/proc --exclude=/sys --exclude=/dev \
-czvf /backup/full_system_$(date +%Y%m%d).tar.gz /
- 使用dd:
bash复制dd if=/dev/sda of=/backup/sda.img bs=4M status=progress
36.2 增量备份
- 创建快照:
bash复制rsync -a --delete --link-dest=/backup/full/ / /backup/inc_$(date +%Y%m%d)/
- 恢复:
bash复制rsync -a /backup/inc_20230101/ /
37. 网络监控
37.1 实时监控
- iftop:
bash复制iftop -i eth0
- nload:
bash复制nload eth0
- bmon:
bash复制bmon
37.2 流量分析
- tcpdump:
bash复制tcpdump -i eth0 -n port 80
- tshark:
bash复制tshark -i eth0 -f "port 53" -Y "dns"
- nethogs:
bash复制nethogs eth0
38. 系统审计
38.1 auditd配置
- 安装:
bash复制dnf install audit -y
- 查看规则:
bash复制auditctl -l
- 添加规则:
bash复制auditctl -w /etc/passwd -p wa -k passwd_changes
38.2 日志分析
- 搜索特定事件:
bash复制ausearch -k passwd_changes
- 生成报告:
bash复制aureport -u
- 查看登录记录:
bash复制aureport -l
39. 性能基准测试
39.1 CPU测试
- 使用sysbench:
bash复制sysbench cpu --cpu-max-prime=20000 run
- 使用stress:
bash复制stress --cpu 4 --timeout 60s
39.2 磁盘测试
- 使用dd:
bash复制dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
- 使用fio:
bash复制fio --name=randread --ioengine=libaio --rw=randread --bs=4k \
--numjobs=4 --size=1G --runtime=60 --time_based --group_reporting
40. 自动化运维
40.1 Ansible基础
- 安装:
bash复制dnf install ansible -y
- 创建清单:
bash复制vim /etc/ansible/hosts
添加:
code复制[webservers]
web1 ansible_host=192.168.1.101
web2 ansible_host=192.168.1.102
- 测试连接:
bash复制ansible all -m ping -u root
40.2 常用模块
- 执行命令:
bash复制ansible webservers -m command -a "uptime"
- 安装软件:
bash复制ansible webservers -m yum -a "name=nginx state=present"
- 文件分发:
bash复制ansible webservers -m copy -a "src=/local/path dest=/remote/path"
41. 系统救援
41.1 单用户模式
- 在GRUB界面按e编辑
- 找到linux16行,末尾添加:
code复制rd.break
或
code复制single
- Ctrl+x启动
41.2 密码重置
- 进入单用户模式
- 重新挂载根目录:
bash复制mount -o remount,rw /sysroot
chroot /sysroot
- 修改密码:
bash复制passwd root
- 更新SELinux:
bash复制touch /.autorelabel
42. 硬件信息
42.1 CPU信息
- 查看详情:
bash复制lscpu
cat /proc/cpuinfo
- 查看频率:
bash复制cpupower frequency-info
42.2 内存信息
- 查看详情:
bash复制free -h
vmstat -s
- 查看硬件:
bash复制dmidecode -t memory
42.3 设备信息
- 查看PCI设备:
bash复制lspci
- 查看USB设备:
bash复制lsusb
43. 终端复用器
43.1 tmux基础
- 安装:
bash复制dnf install tmux -y
- 常用命令:
- 新建会话:
tmux new -s session_name - 分离会话:
Ctrl+b d - 列出会话:
tmux ls - 附加会话:
tmux a -t session_name
43.2 高级功能
- 分屏:
- 水平分屏:
Ctrl+b " - 垂直分屏:
Ctrl+b % - 切换窗格:
Ctrl+b 方向键
- 复制模式:
- 进入:
Ctrl+b [ - 选择:空格开始,回车复制
- 粘贴:
Ctrl+b ]
44. 远程桌面
44.1 VNC配置
- 安装:
bash复制dnf install tigervnc-server -y
- 配置:
bash复制vim /etc/systemd/system/vncserver@.service
内容:
code复制[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=username
WorkingDirectory=/home/username
PIDFile=/home/username/.vnc/%H:%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x720 -depth 24
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
- 启动:
bash复制systemctl daemon-reload
systemctl enable --now vncserver@:1
44.2 XRDP配置
- 安装:
bash复制dnf install xrdp -y
- 配置:
bash复制vim /etc/xrdp/xrdp.ini
- 启动:
bash复制systemctl enable --now xrdp
firewall-cmd --permanent --add-port=3389/tcp
firewall-cmd --reload
45. 系统升级
45.1 小版本升级
- 更新所有包:
bash复制dnf update -y
- 仅安全更新:
bash复制dnf update --security -y
45.2 大版本升级
- 安装升级工具:
bash复制dnf install dnf-plugin-system-upgrade -y
- 下载升级包:
bash复制dnf system-upgrade download --releasever=9
- 执行升级:
bash复制dnf system-upgrade reboot
46. 内核管理
46.1 查看内核
- 已安装内核:
bash复制rpm -q kernel
- 当前内核:
bash复制uname -r
46.2 内核升级
- 启用ELRepo:
bash复制rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
- 安装最新内核:
bash复制dnf --enablerepo=elrepo-kernel install kernel-ml -y
- 设置默认内核:
bash复制grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg
47. 电源管理
47.1 基本命令
- 关机:
bash复制shutdown -h now
- 重启:
bash复制reboot
- 休眠:
bash复制systemctl hibernate
47.2 高级管理
- 查看电源状态:
bash复制upower -i /org/freedesktop/UPower/devices/battery_BAT0
- 调整CPU频率:
bash复制cpupower frequency-set -g performance
- 禁用唤醒事件:
bash复制cat /proc/acpi/wakeup
echo "XHC" >