在這篇文章中,我們將討論的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 服務器的平均負載。