越來越多的Linux發行版切換爲了systemd啓動方式,使用systemd可以做到服務的並行啓動和自動管理。但是使用systemd之後,系統不會再在開機時運行/etc/rc.local等腳本,而是運行/etc/systemd/system/下面的服務。如果想要手動添加一個開機自運行的腳本,就必須手動寫一個服務並使用systemd啓用它。
Tips:
即使你的發行版使用了 systemd 啓動方式,通常還有很多地方可以加入啓動命令,例如用戶終端的配置文件 .bash_profile 或者 .bashrc,再像圖形界面啓動時會讀取的 .xinitrc,OpenBox 啓動時的 autostart 腳本等等,本文只是提供一個通用且規範的解決方案。
準備開機自運行腳本
首先需要一個準備開機自運行的腳本,可以放在任何地方,例如 /root/.autostart.sh 它在開機時自動掛載了一個設備:
寫服務文件
在 /etc/systemd/system 下面創建 autostart.service 文件,當然名稱是可以任意起的。然後在這個文件中添加下面的內容:
service 文件的格式和 windows 下面的 .ini 文件很類似,各個選項的用法和含義可以在 wiki 找到詳細的解釋,僅僅實現一個開機自動運行的腳本這樣寫就ok啦。
完成後,還要使用 systemctl 命令來啓用這個項目:
現在 reboot 後執行 lsblk 就可以看到,剛剛的 /dev/sdc1 已經被自動掛載了!