GNU/Linux >> Linux の 問題 >  >> Linux

Linux サービスの起動/起動順序を変更するには?

解決策 1:

他の回答で示唆されているように、手動で行う代わりに、init スクリプトを変更することもできます。そのような行をヘッダーに追加するだけです:

# chkconfig: 35 90 10

これは chkconfig を指示します サービスをランレベル 3 と 5 に追加します。開始位置は 90、停止位置は 10 です。

解決策 2:

/etc/rcX.d/ の下のシンボリックリンクの名前を変更することで順序を変更できます。x は実行レベルになります。

Sxx または Kxx で始まる一連のファイルが表示されます。 S リンクは起動時にトレースされ、K リンクはシャットダウンのために解析されます。ここの xx は順序を表します。

ただし、この順序には理由がありますので、変更するときは注意してください。 ntpd は、ネットワーク サブシステムが初期化された後にのみ開始する必要があります。

解決策 3:

ランレベルと rc.d ディレクトリについて少し読みたいとします。 rc.d ディレクトリ内には、S20apache K10apache のような S リンクと K リンクがあります。これは、基本的にスクリプトの起動/シャットダウンを指示するものです。

このアーキテクチャにはいくつかの変更が加えられていますが、ほとんどの Linux ではまだ使用されています。

解決策 4:

ここにたどり着いた場合は、一方が他方に依存している 2 つのサービスがある可能性がありますが、それらが間違った順序で開始されているため、依存関係のあるサービスが開始されていません。シンボリック リンクの編集に関する提案は、スタートアップ シーケンスがどのように実行されるかを示すという点で有益であり、シンボリック リンクが元のように再作成される時点で、誰かがサービスで "chkconfig on" を実行するまで問題なく機能します。実際には、init スクリプト レベルで問題に対処する必要があります。また、異なるランレベル間で一貫性があります。回答 4 で提案されているように、「# chkconfig」行を追加する必要はおそらくないでしょう。同様の行が既に存在する可能性が高いからです。

MySQL データベース バックエンド (mysqld) で Openldap (slapd) を実行しているサーバーの例を使用します。そのペアを構成することと、なぜそうしたいのかは、まったく別の話です。

Openldap は MySQL に依存しており、起動シーケンスでそれより前に起動しようとするため、起動時に Openldap の起動に失敗します - slapd の位置は 27 で、mysqld の位置は 64 です

/etc/rc3.d/ 内の関連するシンボリック リンクは

S27slapd -> ../init.d/slapd 
and
S64mysqld -> ../init.d/mysqld

2 つの init スクリプトで設定された値を探します:

[root ~]# grep chkconfig /etc/rc.d/init.d/mysqld
# chkconfig: - 64 36

[root ~]# grep chkconfig /etc/rc.d/init.d/slapd
# chkconfig: - 27 73 

/etc/rc.d/init.d/slapd の chkconfig 行を編集して、開始位置を /etc/rc.d/init.d/mysqld の開始位置よりも高くします (85 を選択しました)。

[root ~]# grep chkconfig /etc/rc.d/init.d/slapd
# chkconfig: - 85 73

「chkconfig slapd on」を実行し、シンボリック リンクを再チェックします

[root ~]# chkconfig slapd on
[root ~]# ls -l /etc/rc3.d/ | grep mysqld
lrwxrwxrwx  1 root root 16 Dec 10 13:45 S64mysqld -> ../init.d/mysqld
[root ~]# ls -l /etc/rc3.d/ | grep slapd
lrwxrwxrwx  1 root root 15 Apr 28 14:18 S85slapd -> ../init.d/slapd

これで、このサーバーが起動すると、slapd の前に mysqld が起動し、問題なく動作します。


Linux
  1. Linuxでユーザー名を変更する方法

  2. Linuxでホスト名を変更する方法

  3. Linux –忘れたルートパスワードを変更する方法は?

  1. LinuxでSSHポートを変更する方法

  2. Linuxでシェルを変更する方法

  3. Linux でスワップ パーティションを変更するにはどうすればよいですか?

  1. Linuxでホスト名を変更する方法

  2. Redhat7Linuxでホスト名を変更する方法

  3. Linuxでユーザーパスワードを変更する方法