centos8下啟用rc-local服務


一,centos8不建議寫rc.local,默認啟動時執行的命令放到何處?

以前我們會把linux開機執行的命令寫入到/etc/rc.local

在centos8上系統不再建議我們寫入到rc.local

[root@yjweb log]# more /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.

rc.local里面的comment說了,建議創建systemd service

說明:劉宏締的架構森林是一個專注架構的博客,地址:https://www.cnblogs.com/architectforest

         對應的源碼可以訪問這里獲取: https://github.com/liuhongdi/

 說明:作者:劉宏締 郵箱: 371125307@qq.com

 

二,看一下系統默認/etc/rc.local的情況

[root@yjweb log]# ll /etc/rc.local
lrwxrwxrwx 1 root root 13 Jul  1  2019 /etc/rc.local -> rc.d/rc.local
[root@yjweb log]# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 474 Jul  1  2019 /etc/rc.d/rc.local

 

說明:可以看到:當前的/etc/rc.local是 /etc/rc.d/rc.local文件的一個符號鏈接

 

三,配置rc-local服務

我們在這里配置一個例子:開機后自動關閉透明大頁內存:transparent_hugepage

1,編輯/etc/rc.d/rc.local文件

[root@yjweb log]# vi /etc/rc.d/rc.local

 

增加一行:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

 

2,加入可執行屬性

[root@yjweb log]# chmod +x /etc/rc.d/rc.local
[root@yjweb log]# ll /etc/rc.d/rc.local
-rwxr-xr-x 1 root root 530 Mar 11 14:44 /etc/rc.d/rc.local

 

3,配置rc.local服務

[root@yjweb  log]# vi /usr/lib/systemd/system/rc-local.service

 

內容如下:

[Unit]
Description=/etc/rc.d/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

[Install]
WantedBy=multi-user.target 

 

說明:最后的install一段不可少,

         如果當前的service文件中沒有這段,需手動添加

         否則服務啟動時會報錯

 

3,啟動

[root@yjweb log]# systemctl daemon-reload
[root@yjweb log]# systemctl start rc-local

 

4,使開機能自動啟動:

[root@yjweb log]# systemctl enable rc-local
Created symlink /etc/systemd/system/multi-user.target.wants/rc-local.service → /usr/lib/systemd/system/rc-local.service.

 

四,測試:換一台機器測試重啟后是否可自動生效

先查看未配置前的系統默認設置

[root@localhost ~]# more /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

 

做完對rc.local的配置后重啟機器

 

[root@localhost ~]# reboot

 

機器啟動后查看,說明rc-local服務起作用了

[root@localhost liuhongdi]# more /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

 

五,查看本地centos的版本

[root@yjweb ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core) 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM