PUIAS(RedHat)6.4からの起動中にデーモンは起動しません。

PUIAS(RedHat)6.4からの起動中にデーモンは起動しません。

私は多数のPUIAS(RedHat)6.4サーバーとデスクトップを持っています。コンピューティングノードを再起動した後(単にテスト目的で)、初期インストール後に手動で起動された多くのデーモン(ipmi、mcelog、fall2ban)が実行されず、手動で再起動する必要があることがわかりました。サーバーはランレベル3(GUIなし)で実行されていると想定されます。デスクトップの同じOSバージョン(ランレベル5)で同様の操作を実行すると、まったく異なる結果が得られます。つまり、すべてのデーモンが正しく起動します。

これは例外ですか? /etc/init.dスクリプトを編集する必要がありますか、サービスを開始するためにスクリプトを作成する必要がありますか?他に「正しい」方法がありますか?

私は/etc/rc.conf.localを編集するとビルドされたデーモンが起動し、/etc/rc.localを編集すると他のすべてのデーモンが起動するOpenBSDの世界から来ました。

ベストアンサー1

(私は賢明なことを言うのではありません。あなたがどれだけ知っているかわからないので、基本的にここでは脳死の状態です。)

まず、Red Hatは基本的にインストールして有効にするためにいくつかの奇妙な項目を選択することに注意してください。たとえば、RHEL5またはRHEL6がインストールされます。あふれ起動時に起動するようにしてください。どちらのバージョンでも選択できるほぼすべてのインストールプロファイルに対してカップをインストールしてアクティブにすると思います。 RHEL6はデフォルトではインストールされていませんman

RHELでは、次の3つの方法でサービスを管理できます。

  • 以下のシンボリックリンクを手動で変更する/etc/rc.dか、/etc/rcX.d
  • 使用chkconfig(同じ名前のIRIXツールをモデル化)
  • setupパッケージが提供するコマンドを使用しますsetuptool(初期インストール中に選択した設定ファイルによってはインストールまたはインストールされない場合があります)。

それぞれの詳細:

手動管理:

RHEL / System Vの起動順序は次のとおりです。

  1. /etc/rc.sysinit実行すると、オペレーティングシステムの重要な部分の大部分(重要なファイルシステムなど)が所定の位置に配置されます。

  2. initそれでは見てください/etc/rcX.d(どこ?

    • 名前がandで始まる場合は/でSスクリプトします。startargv[1]$1

    • 名前がaで始まると、サービスKは停止します(またはkills)。

    • K慣例的に、依存関係は、または後に続く数字を変更することによって処理されます。Sこれは、アルファベット位置のみを変更する効果のみです。

  3. 内部のすべてを実行します。/etc/rc.local


実際のサービススクリプトが配置されます/etc/rc.d/init.d(onにもシンボリックリンクされています/etc/init.d)。サービスをランレベル3(ネットワークはありますがGUIはありません)で開始するには、次のようにします。

# cd /etc/rc3.d
# ln -s /etc/init.d/myService S99myService

chkconfigの使用

デフォルトでは、目的chkconfigは上記のプロセスを自動化することです。 initscriptを使用する前に特定のヘッダーを持たなければならないという欠点がありますchkconfig。たとえば、以下はネットワークサービスの開始です。

#! /bin/bash
#
# network       Bring up/down networking
#
# chkconfig: 2345 10 90
# description: Activates/Deactivates all network interfaces configured to \
#              start at boot time.
#
### BEGIN INIT INFO
# Provides: $network
### END INIT INFO

これにより、chkconfig依存関係が正しく機能するためにどの番号を設定/変更する必要があるかを判断できます。順序を変更する機能は失われますが、上記の理由により実際には重要ではありません。

chkconfigより簡単で正直なところ、私はほとんどの時間を使うことです。

次の機能により、どのサービスがどのランレベルで構成されているかを確認できますchkconfig --list

[root@ditirlns01 ~]# chkconfig --list | head
NetworkManager  0:off 1:off 2:off  3:off  4:off 5:off  6:off
acpid           0:off 1:off 2:on 3:on   4:on   5:on 6:off
anacron         0:off 1:off 2:on 3:on   4:on   5:on 6:off
arptables_jf    0:off 1:off 2:on 3:on   4:on   5:on 6:off
atd             0:off 1:off 2:off  3:off  4:on 5:on 6:off
auditd          0:off 1:off 2:off  3:off  4:off 5:off  6:off
autofs          0:off 1:off 2:off  3:off  4:on 5:on 6:off
avahi-daemon    0:off 1:off 2:off  3:off  4:on 5:on 6:off
avahi-dnsconfd  0:off 1:off 2:off  3:off  4:off 5:off  6:off
capi            0:off 1:off 2:off  3:off  4:off 5:off  6:off

または、特定のサービスのステータスを確認してください。

[root@ditirlns01 ~]# chkconfig --list auditd
auditd          0:off 1:off 2:off  3:off  4:off 5:off  6:off

chkconfig <serviceName> on上記の例に進むと、サービスを有効にできます。

[root@ditirlns01 ~]# chkconfig auditd on
[root@ditirlns01 ~]# chkconfig --list auditd
auditd          0:off 1:off 2:on 3:on   4:on   5:on 6:off

見て、再びレベル3〜5を実行するサービスchkconfigが有効になります。auditd

これを望まない場合は、この--levelsオプションを使用してアクティブにする特定のランレベルを設定できます。

[root@ditirlns01 ~]# chkconfig auditd off
[root@ditirlns01 ~]# chkconfig auditd on --levels=3
[root@ditirlns01 ~]# chkconfig --list auditd
auditd          0:off 1:off 2:off  3:on 4:off  5:off   6:off

インストールツールの使用

setup一般的な管理作業を容易にするために設計された最新バージョンのシステム管理です。 Red Hatがこれを実現するために必要なものをすべてインストールできる場合は、そのように機能します。しかし、RHEL6からsetuptool機能を複数のパッケージに分けました(より包括的にしてメニューを邪魔しないように)。

chkconfigこれは、特定のランレベルを選択できないことを除いて、非常に説明が必要なncursesベースのラッパーです。

初期画面

実際の管理画面

それ以外にはあまり言うことはありません。

あなたの質問に答えがあれば教えてください。

おすすめ記事