問:ubuntu沒有rc.local了么?
是的,從 Ubuntu 18.04 版本開始,不再默認(rèn)提供rc.local服務(wù)。這是因?yàn)?Ubuntu 18.04 之后的版本使用 Systemd 作為初始化系統(tǒng),而rc.local是一個(gè)傳統(tǒng)的 SysV 初始化腳本,與 Systemd 不兼容。
然而,你仍然可以手動(dòng)創(chuàng)建和啟用rc.local功能,以在 Ubuntu 中實(shí)現(xiàn)類似的功能。以下是一種方法:
創(chuàng)建rc.local文件:
sudo vim /etc/rc.local
在編輯器中,輸入你想要執(zhí)行的命令或腳本。請確保在exit 0行之前的命令都正確設(shè)置并以適當(dāng)?shù)母袷骄帉?/b>。例如:
#!/bin/bash
# 這是一個(gè)示例,你可以在此處編寫你想要運(yùn)行的命令或腳本
echo "Hello, World!" >> /tmp/local.logexit 0
保存文件并退出編輯器。
接下來,設(shè)置文件和服務(wù)的權(quán)限:
sudo chmod +x /etc/rc.local
再創(chuàng)建一個(gè)自定義的rc-local.service,來實(shí)現(xiàn)自啟動(dòng):
創(chuàng)建一個(gè)新的rc-local.service文件并編輯它:
sudo vim /etc/systemd/system/rc-local.service
在編輯器中,輸入以下內(nèi)容:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no[Install]
WantedBy=multi-user.target
保存文件并退出編輯器。
sudo chmod 755 /etc/systemd/system/rc-local.service
重新加載 systemd 并啟用rc-local.service:
sudo systemctl daemon-reload
sudo systemctl enable rc-local.service
sudo systemctl start rc-local.service
現(xiàn)在,rc-local.service服務(wù)應(yīng)該已經(jīng)啟動(dòng),并且在系統(tǒng)引導(dǎo)時(shí)會(huì)自動(dòng)執(zhí)行/etc/rc.local文件中的命令或腳本。