GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS/RHEL 7 で /etc/rc.d/rc.local を使用してスクリプト/コマンドを実行する方法

問題

構成ファイル /etc/rc.d/rc.local のスクリプト/コマンド CentOS/RHEL 7 システムでは起動時に機能しませんでした。以前の CentOS/RHEL バージョンで動作していたものと同じです。廃止されましたか、それともこのメソッドを引き続き使用するための回避策はありますか?

答え

rc.local このサービスは、CentOS/RHEL 7 ではデフォルトで停止しています。etc/rc.d/rc.local 構成ファイルを確認すると、これに関するヒントがあります。

# cat /etc/rc.d/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.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local

回避策

1. systemd を使用 、initスクリプトはもうありません。その結果、起動時のタスクの実行を変更する必要がありました。 CentOS/RHEL 7 では、/etc/rc.d/rc.local ファイルは rc-local サービスによって制御されます。

...
[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target

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

2. デフォルトでは、ファイル /etc/rc.d/rc.local には実行権限がありません。このファイルに実行権限を追加してください。

# ls -l /etc/rc.d/rc.local
-rw-r--r--. 1 root root 473 Nov  8 00:20 /etc/rc.d/rc.local
# chmod +x /etc/rc.d/rc.local
# ls -l /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 473 Nov  8 00:20 /etc/rc.d/rc.local

3. rc.local サービスを有効にして、再起動後に毎回開始されるようにします。

# systemctl enable rc-local

サービスが有効になっているかどうかを確認します:

# systemctl status rc-local.service

3. 次に、rc-local を起動してください サービス。

# systemctl start rc-local


Cent OS
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. CentOS / RHEL 7 :chrony をローカル クロックに同期する方法

  3. CentOS/RHEL 4,5 で再起動を引き起こす「alt+ctrl+Del」キーの組み合わせを無効にする方法

  1. CentOS/RHEL 6 でシステムの再起動を引き起こす Ctrl+Alt+Del を無効にする方法

  2. CentOS/RHEL 6,7 で監査ログをリモート Rsyslog サーバーに送信する方法

  3. CentOS/RHEL 7 で破損または空の /etc/mtab ファイルから回復する方法

  1. DVDを使用してCentOS7/RHEL7でローカルYUMリポジトリを作成する方法

  2. / etc / motdはどのように更新されますか?

  3. CentOS/RHEL 6 で「find_multipaths」ディレクティブを使用してローカル ディスクをブラックリストに登録する方法