Bootstrap

运维工程师大厂Linux系统面试题(二)

今天给伙伴们分享一下Linux 系统基础面试题,希望看了有所收获。

我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!

如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。

1、linux系统启动流程

  • 第一步:开机自检,加载BIOS
  • 第二步:读取MBR
  • 第三步:Boot Loader grub引导菜单
  • 第四步:加载kernel内核
  • 第五步:init进程依据inittab文件夹来设定运行级别
  • 第六步:init进程执行rc.sysinit
  • 第七步:启动内核模块
  • 第八步:执行不同运行级别的脚本程序
  • 第九步:执行/etc/rc.d/rc.lo

2、linux文件类型

文件属性 文件类型
- 常规文件,即file
d 目录文件
b block device 即块设备文件,如硬盘;支持以block为单位进行随机访问
c character device 即字符设备文件,如键盘支持以character为单位进行线性访问
l symbolic link 即符号链接文件,又称软链接文件
p pipe 即命名管道文件
s socket 即套接字文件,用于实现两个进程进行通信

3、centos6和7怎么将源码安装的程序添加到开机自启动?

  • 通用方法:编辑/etc/rc.d/rc.local文件,在文件末尾添加启动服务命令
  • centos6
    ①进入到/etc/rc.d/init.d目录下;
    ②新建一个服务启动脚本,脚本中指定chkconfig参数;
    ③添加执行权限;
    ④执行chkconfig --add 添加服务自启动;
  • centos7
    ①进入到/usr/lib/systemd/system目录下;
    ②新建自定义服务文件,文件中包含[Unit] [Service] [Install]相关配置,然后添加下执行权限;
    ③执行systemctl enable 服务名称;

4、简述lvm,如何给使用lvm的/分区扩容?

  • 功能:可以对磁盘进行动态管理。动态按需调整大小
  • 概念:

①PV - 物理卷:物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
②VG - 卷组:卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
③LV - 逻辑卷:逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

img

  • 给/分区扩容步骤:

①添加磁盘
②使用fdisk命令对新增加的磁盘进行分区
③分区完成后修改分区类型为lvm
④使用pvcreate创建物理卷
⑤使用vgextend命令将新增加的分区加入到根目录分区中
⑥使用lvextend命令进行扩容
⑦使用xfs_growfs调整卷分区大小

5、为何du和df统计结果不一致?

  • 用户删除了大量的文件被删除后,在文件系统目录中已经不可见了,所以du就不会再统计它。
  • 然而如果此时还有运行的进程持有这个已经被删除的文件句柄,那么这个文件就不会真正在磁盘中被删除,分区超级块中的信息也就不会更改,df仍会统计这个被删除的文件。
  • 可通过 lsof命令查询处于deleted状态的文件,被删除的文件在系统中被标记为deleted。如果系统有大量deleted状态的文件,会导致du和df统计结果不一致。

6、如何升级内核?

  • 方法一
# 添加第三方yum源进行下载安装。
Centos 6 YUM源:http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
Centos 7 YUM源:
;