手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

Linux 目錄之 /etc/init.d/ 介紹

2023-12-21 15:10:09 4794

一、關(guān)于目錄 /etc/init.d/

/etc/init.d/ 這個目錄到底是干嘛的呢?

 

目錄 /etc/init.d/ 中包含許多系統(tǒng)服務(wù)的啟動和停止腳本。它控制著所有從 acpid 到 x11-common 的各種事務(wù)。當(dāng)然,/etc/init.d/ 遠遠沒有這么簡單。

(譯者注:acpid 是 Linux 操作系統(tǒng)新型電源管理標(biāo)準(zhǔn) ;X11 也叫做 X Window 系統(tǒng),X Window 系統(tǒng) (X11 或 X)是一種位圖顯示的視窗系統(tǒng)。它是在 Unix 和類 Unix 操作系統(tǒng)以及 OpenVMS 上建立圖形用戶界面的標(biāo)準(zhǔn)工具包和協(xié)議,并可用于幾乎已有的現(xiàn)代操作系統(tǒng))。

 

當(dāng)你查看 /etc 目錄時,你會發(fā)現(xiàn)許多 rc#.d 形式存在的目錄(這里#代表一個指定的初始化級別,范圍是0~6)。在這些目錄之下,包含了許多對進程進行控制的腳本。這些腳本要么以“K”開頭,要么以“S”開頭。以“K”開頭的腳本運行在以“S”開頭的腳本之前。這些腳本放置的地方,將決定這些腳本什么時候開始運行。有時候你希望能在不使用 kill 或 killall 命令的情況下,能干凈的啟動或殺死一個進程。這就是 /etc/init.d/ 能夠派上用場的地方了!

 

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

 

為了能夠使用init.d目錄下的腳本,你需要有 root 權(quán)限。每個腳本都將被作為一個命令運行,該命令的結(jié)構(gòu)大致如下所示:

/etc/init.d/command 選項


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

start
stop
reload
restart
force-reload


大多數(shù)的情況下,你會使用 start,stop,restart 選項。例如,如果你想關(guān)閉網(wǎng)絡(luò),你可以使用如下形式的命令:

/etc/init.d/networking stop


又比如,你改變了網(wǎng)絡(luò)設(shè)置,并且需要重啟網(wǎng)絡(luò)。你可以使用如下命令:

/etc/init.d/networking restart


目錄 /etc/init.d/ 下常用初始化腳本有:

networking
samba
apache2
ftpd
sshd
dovecot
mysql


當(dāng)然,你可能有更多常用的腳本,這個取決于你安裝了什么 Linux 操作系統(tǒng)。

其實目錄 /etc/init.d 是符號鏈接文件,實際上是鏈接到目錄 /etc/rc.d/init.d,你可以通過以下命令驗證:

[root@localhost ~]# ll /etc/init.d
lrwxrwxrwx. 1 root root 11 5月  11 2019 /etc/init.d -> rc.d/init.d

or

[root@localhost ~]# ls -ld /etc/init.d
lrwxrwxrwx. 1 root root 11 5月  11 2019 /etc/init.d -> rc.d/init.d


建立方法是:
[root@localhost ~]# ln -s /etc/rc.d/init.d /etc/init.d

二、關(guān)于目錄 /etc/rc.d/init.d/

大多數(shù)的 Linux 發(fā)行版本中,啟動的是目錄 /etc/rc.d/init.d/ 下的服務(wù),這個目錄下存放都是實際的服務(wù)腳本文件。

 

Linux 的每個運行級別,在 /etc/rc.d/ 下都有一個子目錄分別是 rc0.d,rc1.d …… rc6.d,其實這些 rcN.d/ 目錄下存放的都是鏈接到目錄 /etc/rc.d/init.d/ 下部分腳本鏈接文件。每個級別要執(zhí)行的服務(wù)就在相對應(yīng)的目錄下,比如級別 5 要啟動的服務(wù)就都放在 rc5.d/ 下,但是放在這個 rc5.d/ 下的都是一些鏈接文件,鏈接到 /etc/rc.d/init.d/ 中相對應(yīng)的實際腳本文件。

 

例如,目錄 /etc/rc.d/rc2.d/ 下的 S10network 鏈接文件,實際是鏈接到目錄 /etc/rc.d/init.d/ 下的腳本文件 network。

 

/etc/rc.d/rc2.d/ 下面的文件就是和運行級 2 有關(guān)的。文件開頭的 S 代表 start 就是啟動服務(wù)的意思,后面的數(shù)字 10 就是啟動的順序。例如,在同一個目錄下,你還可以看到 S80postfix 這個文件,80 就是順序在 10 以后,因為沒有啟動網(wǎng)絡(luò)的情況下,啟動 postfix 是沒有任何作用的。

  

三、關(guān)于文件 /etc/rc.local

/etc/rc.local 也是我經(jīng)常使用的一個腳本。該腳本是在系統(tǒng)初始化級別的腳本運行之后再執(zhí)行的,因此可以安全地在里面添加你想在系統(tǒng)啟動之后執(zhí)行的腳本。常見的情況是你可以在里面添加 NFS 掛載 /mount 腳本。此外,你也可以在里面添加一些調(diào)試用的腳本命令。例如,我就碰到過這種情況:samba 服務(wù)總是無法正常運行,而檢查發(fā)現(xiàn),samba 是在系統(tǒng)啟動過程中就該啟動執(zhí)行的,也就是說 samba守護程序配置保證了這種功能本應(yīng)該正確執(zhí)行。碰到這種類似情況,一般我也懶得花大量時間去查為什么,我只需要簡單的在 /etc/rc.local 腳本里加上這么一行:/etc/init.d/samba start,這樣就成功的解決了samba 服務(wù)異常的問題。

 

四、/etc/init.d/ 和 service 文件

service 文件是使用 systemd 作為初始化程序的 Linux 系統(tǒng)才有的服務(wù)文件,叫“服務(wù)配置單元文件”,用來取代舊初始化系統(tǒng)中的腳本文件,但是他們可能會同時存在系統(tǒng)中。

 

如果同時存在的話,在目錄 /etc/init.d/ 下的腳本文件的優(yōu)先級會高于目錄 /etc/systemd/system/ 下的 service 文件。

 

五、關(guān)于命令 service

service xxxx start|stop|restart 相當(dāng)于是對 /etc/init.d/ 下的 xxxx 的封裝,相當(dāng)于是一個管理命令,實際執(zhí)行的是 /etc/init.d/下的可執(zhí)行程序。如果 /etc/init.d/下沒有該服務(wù)的可執(zhí)行程序,則會查找對應(yīng)的 service 文件

 

六、關(guān)于文件 /etc/inittab

這是 init 程序的配置文件,系統(tǒng)的運行級別就是在 /etc/inittab 文件里指定,所謂“運行級”就是操作系統(tǒng)當(dāng)前正在運行的功能級別。這個級別從1 到6 ,具有不同的功能。

 

七、關(guān)于目錄 /etc/init/

/etc/init/ 包含的是 Upstart(SysV init的替代版本)的配置文件,和 /etc/init.d/ 的作用幾乎差不多。這樣似乎 /etc/init/ 可以看作 /etc/init.d/ 的演化版本。

提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: