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

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

2023-12-21 15:10:09 5737

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

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

 

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

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

 

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

 

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

/etc/init.d/command 選項(xiàng)


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

start
stop
reload
restart
force-reload


大多數(shù)的情況下,你會(huì)使用 start,stop,restart 選項(xiàng)。例如,如果你想關(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)然,你可能有更多常用的腳本,這個(gè)取決于你安裝了什么 Linux 操作系統(tǒng)。

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

[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ā)行版本中,啟動(dòng)的是目錄 /etc/rc.d/init.d/ 下的服務(wù),這個(gè)目錄下存放都是實(shí)際的服務(wù)腳本文件。

 

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

 

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

 

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

  

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

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

 

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

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

 

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

 

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

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

 

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

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

 

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

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

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

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

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

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