Linux基礎(運維相關)

【Linux基礎篇】node

 

1.描述Linux運行級別0-6的各自含義

 

  0:關機模式mysql

  1:單用戶模式<==破解root密碼linux

  2:無網絡支持的多用戶模式ios

  3:有網絡支持的多用戶模式(文本模式,工做中最經常使用的模式)web

  4:保留,未使用sql

  5:有網絡支持的X‐windows支持多用戶模式(桌面)shell

  6:從新引導系統,即重啓數據庫

 

2.描述Linux系統從開機到登錄界面的啓動過程

 

  1. 開機BIOS自檢,加載硬盤。apache

  2. 讀取MBR,MBR引導。windows

  3. grub引導菜單(Boot Loader)。

  4. 加載內核kernel。

  5. 啓動init進程,依據inittab文件設定運行級別

  6. init進程,執行rc.sysinit文件。

  7. 啓動內核模塊,執行不一樣級別的腳本程序。

  8. 執行/etc/rc.d/rc.local

  9. 啓動mingetty,進入系統登錄界面。

 

3.描述Linux下軟連接和硬連接的區別

   在Linux系統中,連接分爲兩種,一種是硬連接(Hard link),另外一種稱爲符號連接或軟連接(Symbolic Link)。

 

  1. 默認不帶參數的狀況下,ln建立的是硬連接,帶‐s參數的ln命令建立的是軟連接

  2. 硬連接文件與源文件的inode節點號相同,而軟連接文件的inode節點號,與源文件不一樣,

  3. ln命令不能對目錄建立硬連接,但能夠建立軟連接。對目錄的軟連接會常用到。

  4. 刪除軟連接文件,對源文件和硬連接文件無任何影響。

  5. 刪除文件的硬連接文件,對源文件及軟連接文件無任何影響。

  6. 刪除連接文件的源文件,對硬連接文件無影響,會致使其軟連接失效(紅底白字閃爍狀)。

  7. 同時刪除源文件及其硬連接文件,整個文件纔會被真正的刪除。

  8. 不少硬件設備的快照功能,使用的就是相似硬連接的原理。

  9. 軟連接能夠跨文件系統,硬連接不能夠跨文件系統。

 

4.若是一臺辦公室內主機沒法上網(打不開網站),請給出你的排查步驟?

 

  1. 首先肯定物理鏈路是否聯通正常。

  2. 查看本機IP,路由,DNS的設置狀況是否達標。

  3. telnet檢查服務器的WEB有沒有開啓以及防火牆是否阻攔。

  4. ping一下網關,進行最基礎的檢查,通了,表示可以到達服務器。

  5. 測試到網關或路由器的一般狀況,先測網關,而後再測路由器一級一級的測試。

  6. 測試ping公網ip的一般狀況(記住幾個外部IP),

  7. 測試DNS的通暢。ping出對應IP。

  8. 經過以上檢查後,還在網管的路由器上進行檢查。

 

5.網站打開慢,請給出排查方法,如是數據庫慢致使,如何排查並解決,請分析並舉例?

 

  1. 可使用top free 等命令分析系統性能等方面的問題

  2. 如是由於數據庫的緣由形成的,就須要查看慢查詢日誌去查找並分析問題所在

 

6.如何選擇Linux操做系統版本?

 

通常來說,桌面用戶首選Ubuntu;服務器首選RHEL或CentOS,二者中首選CentOS。

根據具體要求:

  1. 安全性要求較高,則選擇Debian或者FreeBSD。

  2. 須要使用數據庫高級服務和電子郵件網絡應用的用戶能夠選擇SUSE。

  3. 想要新技術新功能功能能夠選擇Feddora,Feddora是RHEL和CentOS的一個測試版和預發佈版本。

  4. 根據現有情況,絕大多數互聯網公司選擇CentOS。如今比較經常使用的是6系列,如今市場佔有大概一半左右。另外的緣由是CentOS更側重服 務器領域,而且無版權約束。

 

7.生產場景如何對linux系統進行合理規劃分區?

 

分區的根本原則是簡單、易用、方便批量管理。根據服務器角色定位建議以下:

  1. 單機服務器:如8G內存,300G硬盤

    分區:/boot 100‐200M,swap 16G,內存大小8G*2,/ 80G,/var 20G(也可不分),/data 180G(存放web及db數據)

    優勢:數據盤和系統盤分開,有利於出問題時維護。

    RAID方案:視數據及性能要求,通常可採用raid5折中。

     

  2. 負載均衡器(如LVS等)

    分區:/boot 100‐200M,swap 內存的1‐2倍,/ ,

    優勢:簡單方便,只作轉發數據量不多。

    RAID方案:數據量小,重要性高,可採用RAID1

     

  3. 負載均衡下的RS server

    分區:/boot 100‐200M,swap 內存的1‐2倍,/

    優勢:簡單方便,由於有多機,對數據要求低。

    RAID方案:數據量大,重要性不高,有性能要求,數據要求低,可採用RAID0

     

  4. 數據庫服務器mysql及oracle如16/32G內存

    分區:/boot 100‐200M,swap 16G,內存的1倍,/ 100G,/data 剩餘(存放db數據)

    優勢:數據盤和系統盤分開,有利於出問題時維護,及保持數據完整。

    RAID方案:視數據及性能要求主庫可採起raid10/raid5,從庫可採用raid0提升性能(讀寫分離的狀況下。)

     

  5. 存儲服務器

    分區:/boot 100‐200M,swap 內存的1‐2倍,/ 100G,/data(存放數據)

    優勢:此服務器不要分區太多。只作備份,性能要求低。容量要大。

    RAID方案:可採起sata盤,raid5

     

  6. 共享存儲服務器(如NFS)

    分區:/boot 100‐200M,swap 內存的1‐2倍,/ 100G,/data(存放數據)

    優勢:此服務器不要分區太多。NFS共享比存儲多的要求就是性能要求。

    RAID方案:視性能及訪問要求能夠raid5,raid10,甚至raid0(要有高可用或雙寫方案)

     

  7. 監控服務器cacti,nagios

    分區:/boot 100‐200M,swap 內存的1‐2倍,/

    優勢:重要性通常,數據要求也通常。

    RAID方案:單盤或雙盤raid1便可。三盤就RAID5,看容量要求加盤便可。

 

8.如何查看當前的Linux服務器的運行級別?

 

‘who ‐r’ 和 ‘runlevel’命令能夠用來查看當前的Linux服務器的運行級別。

 

9.請簡述如何查看Linux的系統版本

 

uname ‐a

 

10.查看Linux運行多少時間

 

uptime

 

11.某系統管理員需天天作必定的重複工做,請按照下列要求,編制一個解決方案:

 

  1. 在下午4:50刪除/abc目錄下的所有子目錄和所有文件;

  2. 從早8:00~下午6:00每小時讀取/xyz目錄下x1文件中每行第一個域的所有數據加入到/backup目錄下的bak01.txt文件內;

  3. 每逢星期一下午5:50將/data目錄下的全部目錄和文件歸檔並壓縮爲文件:backup.tar.gz;

 

crontab ‐e   50 16 * * * rm ‐rf /abc/
* 8‐18/1 * * *  awk '{print $1 > "/backup/bak01.txt"}' /xyz/x1
50 17 * * 1 tar ‐czf backup.tar.gz /data

 

12.請在3月23號21點18分的時候,重啓服務器

crontab ‐e 18 21 23 3 * init 6

 

13.如何查看Linux的默認網關?

 

用 「route ‐n」 和 「netstat ‐nr」 命令,咱們能夠查看默認網關。

除了默認的網關信息,這兩個命令還能夠顯示當前的路由表。

 

14.如何查看一個文件夾inode節點數有多少?

find / ‐xdev ‐printf '%h\n' | sort | uniq ‐c | sort ‐k 1 ‐n

 

15.寫一個腳本查找最後建立時間是3天前,後綴是*.log的文件並刪除

find / ‐name 「*.log」 ‐ctime +3 ‐exec rm ‐f {} \;

 

16.若是某文件夾下文件太多沒法ls該如何解決?

ls ‐f

 

17.如何用tcpdump嗅探80端口的訪問看看誰最高?

tcpdump ‐i eth0 ‐tnn dst port 80 ‐c 1000 | awk ‐F」.」 ‘{print $1″.」$2″.」$3″.」$4″.」}’ | sort |uniq ‐c | sort ‐nr | head‐5

 

18.如何查看/var/log目錄下的文件數?

ls /var/log/ ‐1R | grep 「‐」 | wc ‐l

 

19.如何查看Linux系統每一個ip的鏈接數?

netstat ‐n | awk ‘/^tcp/ {print $5}’ | awk ‐F: ‘{print $1}’ | sort | uniq ‐c | sort ‐rn

 

20.shell下生成32位隨機密碼

cat /dev/urandom | head ‐1 | md5sum | head ‐c 32 >> /pass

 

21.統計出apache的access.log中訪問量最多的5個ip

cat access.log | awk ‘{print $1}’ | sort | uniq ‐c | sort ‐n ‐r | head ‐5

 

22.請用多種方式在linux系統中設置環境變量,並指出各類方式的區別。

 

  1. 控制檯中設置,不同意這種方式,由於他只對當前的shell 起做用,換一個shell設置就無效了:

    PATH="PATH":/NEW_PATH (關閉shell Path會還原爲原來的path)

  2. 修改 /etc/profile 文件,若是你的計算機僅僅做爲開發使用時推存使用這種方法,由於全部用戶的shell都有權使用這個環境變量,可能會給系統帶來安全性問題。這裏是針對全部的用戶的,全部的shell 在/etc/profile的最下面添加: export PATH="$PATH:/NEW_PATH"

  3. 修改bashrc文件,這種方法更爲安全,它能夠把使用這些環境變量的權限控制到用戶級別,這裏是針對某一特定的用戶,若是你須要給某個用戶權限使用這些環境變量,你只須要修改其我的用戶主目錄下的 .bashrc文件就能夠了。 在下面添加: Export PATH="$PATH:/NEW_PATH"

相關文章
相關標籤/搜索