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에서는 다음 세 가지 방법으로 서비스를 관리할 수 있습니다.

  • 아래 심볼릭 링크를 수동으로 수정 /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 기반 래퍼입니다 .

초기화면

실제 관리 화면

그 외에는 별로 할 말이 없습니다.

귀하의 질문에 대한 답변이 있으면 알려 주시기 바랍니다.

관련 정보