Linux常用故障修复
grub.cfg被删
指定/boot目录所在的分区
set root='hd0,msdos1'
加载内核文件,并以只读的方式加载根分区
linux /vmlinuz-4.18.0-80.e18.x86_64 ro root=/dev/mapper/rhel-root
指定initramfs文件
initfd /initramfs-4.18.0-80.e18.x86_64.img
启动
boot
进入系统后重新生成/boot/grub2/grub.cfg文件
grub2-mkconfig -o /boot/grub2/grub.cfg
grub加密
grub2-setpasswd
Boot Loader前446字节损坏
模拟损坏
dd if=/dev/zero of=/dev/nmve0n1 bs=446 count=1
打开电源时进入固件
把光盘启动改成第一项(shift +)F10保存
进入光盘救援模式
切换真正的根文件
chroot /mnt/sysimage
修复引导程序
grub2-install /dev/nmve0n1
exit退出2次
把光盘启动改成第一项(shift +)F10保存
Boot Loader前512字节损坏
打开电源时进入固件
把光盘启动改成第一项(shift +)F10保存
进光盘救援模式
ifup ens网卡(开启网络)
scp root
chroot /mnt/sysimage
把硬盘启动改成第一项(shift +)F10保存
(建议提前备份)
备份:dd if=/dev/nmve0n1 of=mbr.bak bs=512 count=1
内核boot被删
打开电源时进入固件
把光盘启动改成第一项(shift +)F10保存
进光盘救援模式
chroot /mnt/sysimage
vim /etc/yum.repos.d/配置yum红帽源
yum reinstall kernel-*
grub2-install /dev/nvme0n1
grub2-mkconfig -o /boot/grub2/grub.cfg
把硬盘启动改成第一项(shift +)F10保存
文件系统损坏
进入紧急模式输入root密码
挂载所有文件系统,发现是/etc/fstab问题
mount -a
确保当前根文件系统可读写rw
mount -o remount,rw /etc/fstab
修改成正确配置
reboot
重置root密码
reboot
按e编译条目
光标移到Linux开头的行
末尾添加rd.break
ctrl+x继续启动
重新以读写方式挂载sysroot
mount -o remount,rw /sysroot
切换成真正操作系统的根/sysroot
chroot /sysroot
重置密码
echo 123456|passwd --stdin root
打标签
touch /.autorelabel
exit退出两次
sysctl配置内核
当前生效的内核参数在/proc/sys下
内核参数配置文件/etc/syctl.conf和/etc/sysctl.d/*.conf系统启动自动读取
列出当前生效的所有的内核参数
sysctl -a
临时修改内核参数
sysctl -w net.ipv4.ip_forward=1
使配置文件生效
sysctl -p
系统调优
tuned在/usr/lib/tuned
查看所有调优的配置文件
tuned-adm list
查看推荐的调优配置文件
tuned-adm recommend
修改调优的配置文件
tuned-adm profile virtual-guest
格式化
1. EXT3
(1)最多只能支持32TB的文件系统和2TB的文件,实际只能容纳2TB的文件系统和16GB的文件
(2)Ext3目前只支持32000个子目录
(3)Ext3文件系统使用32位空间记录块数量和i-节点数量
(4)当数据写入到Ext3文件系统中时,Ext3的数据块分配器每次只能分配一个4KB的块
2. EXT4
EXT4是Linux系统下的日志文件系统,是EXT3文件系统的后继版本。
(1)Ext4的文件系统容量达到1EB,而文件容量则达到16TB
(2)理论上支持无限数量的子目录
(3)Ext4文件系统使用64位空间记录块数量和i-节点数量
(4)Ext4的多块分配器支持一次调用分配多个数据块
3. XFS
(1)根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
(2)采用优化算法,日志记录对整体文件操作影响非常小
(3) 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间
(4)能以接近裸设备I/O的性能存储数据
内核模块命令
查看系统已加载的内核模块
lsmod
查看内核模块的信息
modoinfo 模块名
加载内核模块
modprobe 模块名
卸载内核模块
modprobe -r 模块名
日志轮循
/var/log/dnf.librepo.log
{missingok在日志轮循期间,任何错误将被忽略,例如“文件无法找到之类的错误。
notifempty 如果日志文件为空,轮循不会进行
rotate 4 一次将存储4个归档日志,对于第5个归档,时间最久的归档将被删除
weekly 日志文件将按周轮循。其它可用值为'daily','weekly'或者'yearly
create 0600 root root 以指定的权限创建全新的日志文件,
同时logrotate也会重命名原始日志文件}
日志收集服务器
配置网络使两台互通
服务端:
打开服务监听端口
vim /etc/rsyslog.conf
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
重启服务
systemctl restart rsyslog.service
关闭防火墙
systemctl stop firewalld.service
客户端:
修改配置文件
vim /etc/rsyslog.conf
*.info @ip地址 (@表示通过udp转发,@@表示通过tcp转发)
重启服务
systemctl restart rsyslog.service
测试
logger "hello"
监听
tail -f /var/log/messages
修改引导名字和时间
修改引导名字
vim /boot/loader/entries/配置文件
title xxx(名字)
修改引导时间
vim /boot/grub2/grub.cfg
set timeout=xxx
本文作者:kongshuo
本文链接:https://www.cnblogs.com/kongshuo/p/15999990.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步