Linux问题

1. 卡在开机Logo进不去

按键ESC可显示具体报错信息
按键Ctrl+Alt+F2可进入命令行模式
按键Ctrl+Alt+F7可回到可视化模式

2. 历史记录保存更长时间

1.访问环境变量配置文件
vi /etc/profile
2.配置显示历史记录显示

1
2
3
4
5
6
export HISTFILESIZE=10000
#保留一万条记录  
export HISTSIZE=10000
#输出倒数一万条记录  
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"
#历史记录显示命令执行时间

3.重新加载环境变量
source /etc/profile

3. 根目录扩容

创建大于2T的硬盘分区需要使用GPT格式
1.查看硬盘信息
lsblk
2.初始化磁盘/dev/sdb并创建一个新的GPT分区表
parted /dev/sdb --script mklabel gpt
3.创建新分区
parted /dev/sdb --script mkpart primary 0% 100%
4.格式化新分区
mkfs.ext4 /dev/sdb
5.为新分区创建物理卷
pvcreate /dev/sdb
6.查看根目录所在卷组
vgdisplay
7.将新物理卷增加到跟目录所在卷组(假设为klas)
vgextend klas /dev/sdb
8.查看根目录所在逻辑卷
lvdisplay
9.扩展根目录所在逻辑卷
lvextend -l +100%FREE /dev/mapper/klas-root
10.同步根目录逻辑卷文件系统
xfs_growfs /

4. 重置CentOS7系统root账号密码

1.开机后在系统选择界面,按提示按e进入grub编辑模式
2.找到linux16所在行,去掉rhgbquiet参数,在UTF-8之后添加init=/usr/bin/bash
3.按Ctrl+X重启系统,此时无需密码即可进入系统
4、以rw的方式重新挂载/,否则没有根目录的写权限
mount -o remount,rw /
5.输入passwd后出现提示,按提示输入新的root用户密码
6.输入完成后按照提示再次输入新的root用户密码进行确认(过于简单的密码会有风险提示,无视不影响修改)
7.执行命令touch / .autorelabel使SElinux生效,否则可能无法正常启动系统
8.执行命令exec /sbin/init重启系统即可完成修改

5. 移除grub密码

1.使用USB引导盘启动,在引导界面选择【Troubleshooting故障排除】
2.进入后选择【Rescue a CentOS Linux system】
3.短暂引导后,输入1回车以选择第一个选项
4.运行以下命令来创建必要的root环境以使用已安装的Linux系统
chroot /mnt/sysimage
5.在/etc/grub2-efi.cfg文件中找到grub的密码行注释掉

1
2
set superusers="root"
#password_pbkdf2 root grub.pbkdf2.sha512.10000.HASH

6.使用命令exit关闭临时root环境,重启系统

6. glibc升级失败紧急修复

glibc升级失败后,除了cd外的大部分命令就都不能用了,只能进【救援模式】
1.引导盘启动,【Troubleshooting】->【Rescue a CentOS system】
2.创建U盘挂载目录,不要直接挂载在/mnt
mkdir /mnt/cdrom
3.查看U盘的盘符
blkid
4.挂载U盘,我的U盘是/dev/sda1
mount /dev/sda1 /mnt/cdrom
5.安装glibc的RPM包(一定要指定root,因为目前的根目录是U盘)
rpm -ivh /mnt/cdrom/Packages/glibc* --nodeps --root /mnt/sysimage --force
6.第一次重启时间会比较久
reboot

7. CentOS无法进入系统,报错:Failed to mount /sysroot

1.首先根据屏幕上的提示,输入了命令journalctl查看系统日志。
2.按下End键跳到了最后一页后,屏幕上会出现红色的错误提示:Failed to mount /sysroot。
3.导致错误的原因大概率是SWAP分区异常,使用swapoff -a关闭SWAP。
4.使用rm -f /mnt/sysimage/dev/mapper/cl-swap删除SWAP。
5.使用xfs_repair -v -L /dev/dm-0修复分区。
6.使用reboot重启服务器即可正常进入操作系统。