启动和内核管理-面试题

1、linux系统查看当前加载的模块?查看⼀个模块信息和相关参数的⽅法?加载 ⼀个模块?

lsmod
modinfo
modprobe

2、linux系统中开机启动⽂件路径是

/etc/rc.d/

3、linux常⽤的引导加载程序是

LILO和GRUB

4、linux系统中,⼀般可⽤???实现⾃动编译

make

5、简述linux开机启动过程

CentOS6:
1、POST加电自检
2、BootSequence选择启动项
3、进入grub引导阶段,分stage1.0,stage1.5,stage2.0阶段,stage2.0阶段会加载grub配置文件,加载操作系统菜单,加载内核文件,加载ramfs虚拟文件系统,转交给内核
4、然后进入内核引导阶段,执行/sbin/init
5、

6、如何在linux系统上查看BIOS版本、机器型号、序列号?查看⽹卡驱动版本?

biosdecode  #看BIOS信息
服务器型号:dmidecode |grep Product
主板序列号:dmidecode  | grep 'Serial Number' | grep -v Not
网卡驱动版本:ethtool -i ens33

7、如何修改内核参数?

#显示当前所有ne内核参数
[root@localhost ~]# sysctl -a
#临时修改
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
#永久修改
[root@localhost ~]# echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/ip_forward.conf
[root@localhost ~]# sysctl -p /etc/sysctl.d/ip_forward.conf
net.ipv4.ip_forward = 1

8、linux系统有⼏个运⾏级别?单⽤户状态是哪个级别?图形化桌⾯是哪个级 别

7个级别(init是旧的方式,CentOS7建议采用systemctl切换管理)
0:关机
1:单用户模式
2:多用户模式,没有NFS网络支持
3:命令行模式,正常模式,
4:保留
5:图形化模式,正常模式
6:重启

9、描述/etc/rc.local和/var/log/message两⽂件内容是做什么的?

/etc/rc.local:描述/etc/rc.local和/var/log/message两⽂件内容是做什么的?
/var/log/message:存放CentOS的x系统日志信息

10、写出linux系统10分钟后进⾏关机和10分钟后进⾏重启的命令?

shutdown +10 -h   或者shutdown -h 10
shutdown +10 -r   或者shutdown -r 10

11、linux系统上查看载体为实体机(物理机)还是虚拟机?

dmidecode  | grep Product

PPT

1、怎么破解root口令

#CentOS6
单用户模式(开机按下e,kernel那行再按e,进去之后输个1,回车)直接passwd改
#CentOS7
单用户模式(开机按下e,linux16那一行加rw,init=/sysimage/bin/sh,回车,切根改密码,根下创建.autorelabel,exit退出重启)

2、破坏本机grub stage1,⽽后在救援模式下修复之

光盘救援模式
切根:
CentOS6用grub-install /dev/sda修复
CentOS7用grub-install /dev/sda修复

3、删除vmlinuz和initramfs⽂件后⽆法启动,两种⽅法恢复之

#方法一:光盘引导,切根后挂光盘,从光盘中复制两个文件到/boot目录
#方法二:光盘引导,切根后挂光盘,rpm从光盘装kernel-version.rpm,加--force选项

4、增加新硬盘,在其上制作能单独运⾏kernel和bash的系统

参考:https://blog.51cto.com/14012942/2434184

1、新硬盘分两个区
2、都格式化为ext4
3、分别挂两个目录,一个做boot分区,一个做根分区
4、使用grub-install生成stage1.0到stage2.0的grub文件到boot目录下,注意要用选项--root-directory=...选项,CentOS7是--boot-directory=...
5、cp当前操作系统的vmlinuz和initramfs到这个磁盘的boot分区下
6、手写grub.conf
7、另一分区下创建相关目录,使用copycmd脚本复制想要的命令

5、在U盘上定制linux和busybox,使其可启动系统,并具有⽹络功能

6、删除/etc/fstab和/boot⽬录的所有⽂件,并恢复之

参考:https://blog.51cto.com/11886307/2377515

如果系统装在逻辑卷上,救援模式下要先cgchange -ay激活逻辑卷,然后lvs看下逻辑卷的位置,就可以挂载了

#问题不大
第一次光盘救援,手动挂载硬盘手写fstab
第二次光盘救援,rpm重装内核,grub-install或grub2-install生成grub文件,最后如果是CentOS7直接grub2-mkconfig生成配置文件,CentOS6手写grub.conf

7、编译安装kernel,启⽤⽀持ntfs⽂件系统功能

参考:https://blog.51cto.com/14012942/2434398

1、为编译安装的httpd服务,实现service unit⽂件

等待补充

2、破解centos7 ⼝令

启动时任意键暂停启动 
按e键进入编辑模式 
将光标移动linux16开始的行,添加内核参数rd.break 
按ctrl-x启动  
mount –o remount,rw  /sysroot 
chroot /sysroot 
passwd root 
touch /.autorelabel 
exit 
reboot
启动时任意键暂停启动 
按e键进入编辑模式 
将光标移动linux16开始的行,改为rw init=/sysroot/bin/sh 
按ctrl-x启动  
chroot /sysroot 
passwd root 
touch /.autorelabel 
exit 
reboot

3、修改默认的启动内核为新编译内核

#查看下
[root@localhost ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.2.11-1.0-laowang_linux_x86_64) 7 (Core)
1 : CentOS Linux (4.4.190-1.el7.elrepo.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-dd6fe5c491024a9486fa9acf832f21a6) 7 (Core)
#设置5.2内核有限启动
[root@localhost ~]# grep -i default /etc/default/grub
GRUB_DEFAULT=0
#重新生成grub配置文件
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg  

4、启动时临时禁⽤SELinux

setenforce 0

5、启动时进⼊emergency模式

在开机界面按方向键,选择第一行,按“e(edit)”编辑它 把光标移动到Linux16开头的行,把光标移动到ro(只读)后面,把ro改成rw.  再按Ctrl+X,系统就会进入emergency模式。 

6、卸载编译安装的新内核

参考:https://blog.51cto.com/14012942/2434398

你可能感兴趣的:(启动和内核管理-面试题)