国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

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

2023-12-21 15:10:09 320

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

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

 

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

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

 

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

 

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

 

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

/etc/init.d/command 選項


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

start
stop
reload
restart
force-reload


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

/etc/init.d/networking stop


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

/etc/init.d/networking restart


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

networking
samba
apache2
ftpd
sshd
dovecot
mysql


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

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

[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/

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

 

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

 

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

 

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

  

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

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

 

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

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

 

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

 

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

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

 

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

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

 

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

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

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

這條文檔是否有幫助解決問(wèn)題?

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

在文檔使用中是否遇到以下問(wèn)題:
-->