1. 程式人生 > >理解Linux系統/etc/init.d目錄和/etc/rc.local指令碼

理解Linux系統/etc/init.d目錄和/etc/rc.local指令碼

     以下內容是作者自己的翻譯版本,如需轉載到CSDN外其他網站,請註明本文連結。

 一、關於/etc/init.d

     如果你使用過linux系統,那麼你一定聽說過init.d目錄。這個目錄到底是幹嘛的呢?它歸根結底只做了一件事情,但這件事情非同小可,是為整個系統做的,因此它非常重要。init.d目錄包含許多系統各種服務的啟動和停止指令碼。它控制著所有從acpid到x11-common的各種事務。當然,init.d遠遠沒有這麼簡單。(譯者注:acpid 是linux作業系統新型電源管理標準 ;X11也叫做X Window系統,X Window系統 (X11或X)是一種點陣圖顯示的 視窗系統 。它是在 Unix 和 類Unix

作業系統 ,以及 OpenVMS 上建立圖形使用者介面 的標準工具包和協議,並可用於幾乎已有的現代作業系統)。

    當你檢視/etc目錄時,你會發現許多rc#.d 形式存在的目錄(這裡#代表一個指定的初始化級別,範圍是0~6)。在這些目錄之下,包含了許多對程序進行控制的指令碼。這些指令碼要麼以"K"開頭,要麼以"S"開頭。以K開頭的指令碼執行在以S開頭的指令碼之前。這些指令碼放置的地方,將決定這些指令碼什麼時候開始執行。在這些目錄之間,系統服務一起合作,就像執行狀況良好的機器一樣。然而,有時候你希望能在不使用kill 或killall 命令的情況下,能幹淨的啟動或殺死一個程序。這就是/etc/init.d能夠派上用場的地方了!

    如果你在使用Fedora系統,你可以找到這個目錄:/etc/rc.d/init.d。實際上無論init.d放在什麼地方,它都發揮著相同的作用。

     為了能夠使用init.d目錄下的指令碼,你需要有root許可權或sudo許可權。每個指令碼都將被作為一個命令執行,該命令的結構大致如下所示:

     /etc/init.d/command 選項

     comand是實際執行的命令,選項可以有如下幾種:

  • start
  • stop
  • reload
  • restart
  • force-reload

       大多數的情況下,你會使用start,stop,restart選項。例如,如果你想關閉網路,你可以使用如下形式的命令:

         /etc/init.d/networking stop

        又比如,你改變了網路設定,並且需要重啟網路。你可以使用如下命令:

        /etc/init.d/networking restart

        init.d目錄下常用初始化指令碼有:

  • networking
  • samba
  • apache2
  • ftpd
  • sshd
  • dovecot
  • mysql

         當然,你可能有其他更多常用的指令碼,這個取決於你安裝了什麼linux作業系統。

 二、關於/etc/rc.local

      rc.local也是我經常使用的一個指令碼。該指令碼是在系統初始化級別指令碼執行之後再執行的,因此可以安全地在裡面新增你想在系統啟動之後執行的指令碼。常見的情況是你可以再裡面新增nfs掛載/mount指令碼。此外,你也可以在裡面新增一些除錯用的指令碼命令。例如,我就碰到過這種情況:samba服務總是無法正常執行,而檢查發現,samba是在系統啟動過程中就該啟動執行的,也就是說,samba守護程式配置保證了這種功能本應該正確執行。碰到這種類似情況,一般我也懶得花大量時間去查為什麼,我只需要簡單的在/etc/rc.local腳本里加上這麼一行:

          /etc/init.d/samba start

     這樣就成功的解決了samba服務異常的問題。

 三、總結

     Linux是靈活的。正因為它的靈活性,我們總是可以找到許多不同的辦法來解決同一個問題。啟動系統服務的例子就是一個很好的佐證。有了/etc/init.d目錄下的指令碼,再加上/etc/rc.local這個利器,你可以放心的確保你的服務可以完美的啟動和執行。

相關推薦

理解Linux系統/etc/init.d目錄/etc/rc.local指令碼

     以下內容是作者自己的翻譯版本,如需轉載到CSDN外其他網站,請註明本文連結。  一、關於/etc/init.d      如果你使用過linux系統,那麼你一定聽說過init.d目錄。這個目錄到底是幹嘛的呢?它歸根結底只做了一件事情,但這件事情非同小可,是為整個

理解Linux系統/etc/init.d目錄/etc/rc.local指令碼(轉)

原連結;http://blog.csdn.net/acs713/article/details/7322082  一、關於/etc/init.d      如果你使用過linux系統,那麼你一定聽說過init.d目錄。這個目錄到底是幹嘛的呢?它歸根結底只做了一件事情,但這

/etc/inittab,/etc/init.d/rcS/etc/profile分析

參考部落格https://blog.csdn.net/qiuoooooo/article/details/79300739 在kernel掛載根檔案系統後,執行的第一個程式是根目錄下的linuxrc,實際是一個指向/bin/busybox的連結, 也就是說系統起來後執行的第一個程式是busybo

linux 執行級別,linux執行流程 /etc/rc.d/init.d目錄理解

一、Linux的引導過程  系統啟動之後,在進入init.d之前,我們先來看看系統都做了什麼工作。系統加電之後,首先進行的硬體自檢,然後是bootload對系統的初始化,載入核心。核心被載入到記憶體之後,就開始執行了。一旦核心啟動執行,對硬體的檢測就會決定需要對哪些裝置驅動進

Linux根文件皇冠體育平臺開發系統:/etc/init.d/rcS文件分析

mnt 單純 應用程序 類型 hostname con rc.d 節點 fst rcS文件的作用皇冠體育平臺開發論壇:haozbbs.com Q1446595067 rcS是一個腳本文件,在inittab文件中本解析調用,用於配置Linux系統。2.rcS文件分析 #!

/etc/rc.d/init.d 目錄的一點理解

一、Linux的引導過程   系統啟動之後,在進入init.d之前,我們先來看看系統都做了什麼工作。系統加電之後,首先進行的硬體

如何將Linux系統的多個目錄及文件備份並壓縮到一個文件,以方面保持傳遞?

如何將linux系統的多個目錄及文件備份並壓縮到一個文件 以方面保持和傳遞? 1.備份Linux系統  window系統在運行狀態下,我們是無法將文件拷貝出來的,那麽在Linux下呢?她的文件結構式一種樹型結構。而且在系統運行的時候我們可以進行打包所有系統文件。特別要說的在Linux的root賬戶具備

/etc/rc.local 與 /etc/init.d Linux 開機自動執行程式

轉載地址:https://www.cnblogs.com/fatt/p/4790561.html 1. /etc/rc.local 這是使用者自訂開機啟動程式,把需要開機自動執行的程式寫在這個腳本里 --------引用---------------------- 在完成 run

RedHat Enterprise Linux 7關閉防火牆方法 在之前的版本中關閉防火牆等服務的命令是 service iptables stop /etc/init.d/iptables st

RedHat Enterprise Linux 7關閉防火牆方法 在之前的版本中關閉防火牆等服務的命令是 service iptables stop /etc/init.d/iptables stop 在RHEL7中,其實沒有這個服務 [[email

Linux系列:Linux下/etc/rc.local與/etc/init.d的區別與聯絡

1. /etc/rc.local 這是使用者自定義開機啟動程式,把需要開機自動執行的程式寫在這個腳本里再完成 run level 3 的服務啟動後, 如果我還有其他的動作想要完成時,舉例來說, 我還想要寄一封 mail 給某個系統管理帳號,通知他,系統剛剛重新開機完畢,那

Linux下virtualbox 升級後1908錯誤,sudo: /etc/init.d/vboxdrv:找不到命令

系統Ubuntu14.04 執行 sudo modprobe vboxdrv sudo service virtualbox start //啟動服務 //下面的可以不執行 sudo

深入探究Linux下ARM啟動指令碼(/etc/init.d/rcS)在什麼位置被呼叫

每次啟動板子都要重新設定IP地址,很麻煩,就從網上搜搜怎麼設定成開機自動修改IP地址。搜的過程中,想著Linux裡面的啟動指令碼是在哪個地方被呼叫?想想還是自己理一遍。(自己理解的啟動指令碼就是在開機過程中固定呼叫某幾個指令碼,但這樣感覺會不會有點寫死了,Linux可能有更好

深入理解計算機系統 第三章大略第五章大略

$0 一個 編譯 存儲器 系統 32位 做了 ++i 擴展 這2章總結的很少,主要是覺得沒那麽重要。 1.2個操作數的指令,第二個操作數通常是目的操作數:movb a b,move a to b,而add a b,b+=a,指令分為指令類,如mov類:movb,movw,m

Linux系統之守護進程計劃任務

linux進程和計劃任務 程序和進程的關系*程序·保存在硬盤、光盤等介質中可執行代碼和數據·靜態保存的代碼*進程·在cpu及內存中運行的程序代碼·動態執行的代碼·父、子進程>每個進程可創建以個或者多個進程*PID號·每個進程的唯一標識,通常作為結束進程時使用*進程查詢·ps

Linux系統中有關/dev/null/dev/zero文件說明及實踐

linux /dev/null 特殊文件 /dev/zero Linux系統中有關/dev/null和/dev/zero文件說明提示:這個題目完全可以作為一個面試題考考運維的應聘者:面試題:請解釋Linux中/dev/null和/dev/zero兩個文件的作用和區別。在類Unix操作系統中,

《深入理解計算機系統》關於csapp.hcsapp.c的編譯問題(轉)

系統 文件中 class net 工作 inux 而且 pan div 編譯步驟如下: 1.我的當前工作目錄為/home/sxh2/clinux,目錄下有3個文件inet_aton.c csapp.h csapp.c。 2.編譯csapp.c文件,命令為gcc -c csa

/etc/init.d/iptables stop

init.d con nta alt init containe stop lin num /etc/init.d/iptables stop /etc/init.d/iptables stop

linux系統安全-弱口令檢測端口掃描

弱口令檢測 端口掃描 john NMAP 一、linux系統安全概要二、詳細說明1)用戶方面清除一些不必要的系統用戶,可以減少黑客攻擊我們linux的入口;鎖定賬號適用於員工在一段時間不適用賬號的場景(usermod -L);而鎖定/etc下的passwd和shadow文件可以避免非法用戶建立

linux系統下安裝配置javatomcat

align wrap 拷貝 ase 運行 禁用 remove classpath 啟動 個人習慣將源碼包放到opt下 1.安裝jdk jdk是java的運行環境,整個jenkins就是一個var包,是java寫的程序。 1.1.通過yum安裝

基於Linux系統的網絡配置yum命令及軟件的安裝

network mar 上網 sat ping通 自動 接收 2.4 res 1、相關概念 1.1面向連接的TCP協議(Transmission Control Protocol,傳輸控制協議) ??TCP(Transmission Control Protocol,傳輸控