今天给伙伴们分享一下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 - 逻辑卷:逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
- 给/分区扩容步骤:
①添加磁盘
②使用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源: