在这篇文章中,我们将讨论的Linux 系统管理员面试的最常见30个问题以及有经验的专业人士的回答。下面提及的问题可以帮助读者明确 Linux 的面试。如果你喜欢这些问题,请不要犹豫,把它们分享到微博、人人网、 Facebook、 Google+ 以及 Twitter。
1. 为什么 LVM 是必需的?
LVM 的意思是逻辑卷管理器,它可以帮助我们根据文件系统的大小重新在线调整 Linux 中的 LVM 分区的大小。我们可以分别使用 lvextend 和 lvreduce 命令来增加或减小 LVM 分区的大小。
2. 如何内存和 CPU 的统计数据?
我们可以分别使用 ‘free’ 和 ‘vmstat’ 命令来查看物理内存和虚拟内存的统计数据。使用 ‘sar’ 命令,我们可以看到 CPU 使用率以及其他资料。
3. Sar 提供了什么?Sar日志的存储位置在哪里?
Sar 收集,报告,保存系统的活动信息。Sar 命令的默认版本(CPU 使用率报告)可能是用户执行系统活动调查时第一个用到的,因为它监控着大部分系统资源。当 CPU 利用率接近100%时,采样的工作负载时 CPU 密集型的。
Sar 命令的默认日志文件位于 /var/log/sa/sadd 文件,其中 dd 代表着当前日期。
4. 如何增加 LVM 分区的大小?
下面是逻辑步骤:
-使用 lvextend 命令(lvextend -L +100M/dev/<Name of the LVM Partition>, 在这里,我们给指定分区增加了100MB 的大小)
–resize2fs /dev/<Name of the LVM Partition>
-使用’df -h’命令检查分区的大小
5. 如何缩小 LVM 分区的大小?
下面是缩小 LVM 分区大小的逻辑步骤:
-使用 umount 命令卸载文件系统
-使用 resize2fs 命令,例如:resiz2fs /dev/mapper/myvg-mylv 10G
-然后使用 lvreduce 命令,例如:lvreduce -L 10G /dev/mapper/myvg-mylv
以上的命令会缩小文件系统10GB的大小。
6. 如何从原始磁盘创建分区?
使用 fdisk,我们可以从原始磁盘创建分区。下面是具体步骤:
–fdisk /dev/hd* (IDE) 或者 /dev/sd* (SCSI)
-输入n来创建一个新分区
-创建分区之后,输入w命令来保存磁盘分区信息。
7. 内核模块的位置在哪里?
在‘/lib/modules/kernel-version/’目录下存储着 Linux 操作系统中所有内核模块以及编译的驱动程序。我们也可以使用 ‘lsmod’ 命令查看所有安装的内核模块。
8. 什么是umask?
umask 意思是“用户文件创建掩码”,这决定了一个掩码控制哪些文件的权限在文件和目录被创建的时候。
9. 如何永久为用户设置 umask?
为了永久的给用户设置 umask 值,这个值必需存储在由用户默认的 shell 所确定的合适的配置文件中。
10. 如何改变Linux中默认的运行级别?
为了改变运行级别,我们必须编辑“/etc/inittab”文件,并且改变默认的运行等级(id:5:initdefault:),使用‘init’命令,我们改变当前的运行级别。例如:‘init 3’,这个命令将会把系统的运行级别改为第三级。
11. 如何使用 nfs 共享目录?
使用 nfs 分享目录,我们首先要编辑‘/etc/exportfs’文件,加上一个入口,例如:‘/<directory-name> <ip or Network>(Options)’,然后重新启动 nfs 服务。
12. 如何检查并挂载 nfs 共享?
使用 ‘showmount’ 命令,我们可以看到有哪些目录通过 nfs 被共享了,例如:‘showmount -e <ip address of nfs server>’。使用 mount 命令,我们能够在 Linux 上挂载 nfs 共享。
13. SMTP, DNS, FTP, DHCP, SSH 和 squid 使用的默认端口号是哪些?
服务 端口号
SMTP 25
DNS 53
FTP 20(数据传输),21(建立连接)
DHCP 67/UDP(dhcp 服务端),68/UDP(dhcp 客户端)
SSH 22
Squid 3128
14. 什么是网络绑定?
网络绑定是将多个 LAN 卡聚合在一起形成一个单一的绑定接口,来提供容错性和高性能。网络绑定也被叫做NIC Teaming。
15. Linux中不同的网络绑定模式有哪些?
下面是网络绑定中被使用的模式:
balance-rr or 0 – 循环模式来提高容错性和负载平衡。
active-backup or 1 – 设置主动备份模式来提高容错性。
balance-xor or 2 – 设置XOR(异或)模式来提高容错性和负载平衡。
broadcast or 3 – 设置广播模式来提高容错能力,所有信息都会复制从所有的接口发出去。
802.3ad or 4 – 设置IEEE 802.3ad动态链接聚合模式。创建一个共享相同速度和双工设置的聚焦组。
balance-tlb or 5 – 设置传输负载平衡(TLB)模式提高容错性和负载平衡
balance-alb or 6 – 设置有源负载平衡(ALB)模式提高容错性和负载平衡
16. 如何检查和验证bond界面的状态?
使用‘cat /proc/net/bonding/bond0’命令,我们能够检查哪种模式被激活,什么 LAN 卡被使用。在这个例子中,我们只有一个 bond 接口,但是我们可以有多个 bond 接口,例如 bond1,bond2 等等。
17. 如何检查默认路由以及路由表?
使用 ‘netstat -nr’ 和 ‘route -n’ 命令我们可以查看默认路由以及路由表。
18. 如何检查哪些端口正在监听我的 Linux 服务器?
使用 ‘netstat -l’ 和 ‘lsof -i’ 命令
19. 列出在一个特定的运行级别上,Linux 服务器所启动的服务。
使用‘chkconfig –list | grep 5:on’命令,我们可以列出在运行级别5上启动的服务。查看其他运行级别是,只要将5换成对应的级别。
20. 如何在一个特定的运行级别上启动服务?
我们可以使用类似 ‘chkconfig <Service-Name> on –level 3’ 的命令。
21. 如何升级 Linux 的内核?
我们不应该升级 Linux 内核,而是始终使用 rpm 命令来安装新的内核,因为升级内核会让你的 Linux 机器处于一个无法启动的状态。
22. 如何扫描在 Linux 中新分配的 luns,而不需要重新启动?
有两种方法可以查看新分配的 luns:
方法1: 如果安装了 sg3 rpm,那么运行命令‘rescan-scsi-bus.sh’
方法2:运行命令 echo ” – – – ” > /sys/class/scsi_host/hostX/scan
23. 如何找到 HBA 卡在 Linux 服务器上的 WWN 号码?
使用命令 ‘systool -c fc_host -v | grep port_name’
24. 如何添加和修改内核参数?
要设置 Linux 中的内核参数,首先编辑 ‘/etc/sysctl.conf’ 文件,修改之后保存文件,运行命令 ‘sysctl -p’,这个命令可以永久保持修改而无需重新启动机器。
25. 什么是Puppet 服务器?
Puppet 是一个开源和企业软件,用来配置管理 UNIX 中的 toll 如操作系统。Puppet是一个自动化软件,使用代码推送配置到他的客户端(puppet 代理)。Puppet 代码可以完了各种任务,从安装新软件到检查文件权限,或者更新用户账户以及很多其他任务。
26. Puppet 中的 manifests 是什么?
Puppet 中的 mainfests 是指定客户端配置的文件。
27. 在 Puppet 服务器中哪一个命令用于给请求的证书签名?
在2.x中使用 ‘puppetca –sign hostname-of-agent’
在3.x中使用 ‘puppet ca sign hostname-of-agent’
28. Puppet Master 在哪里存储证书?
/var/lib/puppet/ssl/ca/signed
29. 如何在目录中找到所有的常规文件?
使用命令 ‘find /<directory -type f’。
30. 在 Linux 中什么是平均负载?
平均负载被定义为在1分钟,5分钟和15分钟内等待在运行队列中的进程数目和当前正在执行的进程数目之和的平均值。使用 ‘top’ 和 ‘uptime’ 命令我们可以查询一个 Linux 服务器的平均负载。