25.2. ABRT 설치 및 서비스 시작
ABRT 를 사용하려면 abrt-execution 또는 a brt-cli 패키지가 시스템에 설치되어 있는지 확인합니다. abrt- Hellman 패키지는 ABRT 를 위한 그래픽 사용자 인터페이스를 제공하며, abrt-cli 패키지에는 명령줄에서 ABRT 를 사용하는 도구가 포함되어 있습니다. 둘 다 설치할 수도 있습니다. ABRT GUI와 명령행 툴을 둘 다 사용하는 일반 워크플로는 동일한 패턴을 따라 유사하고 따릅니다.
ABRT 패키지를 설치하면 코어 덤프 파일의 이름을 지정하는 데 사용되는 템플릿이 포함될 수 있는 /proc/sys/kernel/core_ octets 파일을 덮어씁니다. 이 파일의 내용은 다음과 같이 덮어씁니다.
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
YUM 패키지 관리자를 사용하여 패키지를 설치하는 방법에 대한 일반적인 정보는 9.2.4절. “패키지 설치” 을 참조하십시오.
25.2.1. ABRT GUI 설치 링크 복사링크가 클립보드에 복사되었습니다!
ABRT 그래픽 사용자 인터페이스는 데스크탑 환경에서 사용하기 쉬운 프런트 엔드를 제공합니다. root 사용자로 다음 명령을 실행하여 필수 패키지를 설치할 수 있습니다.
~]# yum install abrt-desktop
설치 시, 그래픽 데스크탑 세션이 시작될 때 ABRT 알림 프로파일링이 자동으로 시작되도록 구성됩니다. 터미널에서 다음 명령을 실행하여 ABRT revision이 실행 중인지 확인할 수 있습니다.
~]$ ps -el | grep abrt-applet
0 S 500 2036 1824 0 80 0 - 61604 poll_s ? 00:00:00 abrt-applet
policies가 실행되고 있지 않은 경우 abrt-applet 프로그램을 실행하여 현재 데스크톱 세션에서 수동으로 시작할 수 있습니다.
~]$ abrt-applet &
[1] 2261
25.2.2. 명령줄을 위한 ABRT 설치 링크 복사링크가 클립보드에 복사되었습니다!
명령행 인터페이스는 헤드리스 시스템, 네트워크를 통해 연결된 원격 시스템 또는 스크립트에서 유용합니다. root 사용자로 다음 명령을 실행하여 필수 패키지를 설치할 수 있습니다.
~]# yum install abrt-cli
25.2.3. 추가 ABRT 툴 설치 링크 복사링크가 클립보드에 복사되었습니다!
ABRT 에서 감지된 크래시에 대한 이메일 알림을 받으려면 libreport-plugin-mailx 패키지를 설치해야 합니다. root 로 다음 명령을 실행하여 설치할 수 있습니다.
~]# yum install libreport-plugin-mailx
기본적으로 로컬 컴퓨터에서 root 사용자에게 알림을 보냅니다. 이메일 대상은 /etc/libreport/plugins/mailx.conf 파일에서 구성할 수 있습니다.
로그인 시 콘솔에 알림을 표시하려면 abrt-console-notification 패키지를 설치하십시오.
ABRT 는 다양한 유형의 소프트웨어 오류를 감지하고 분석하고 보고할 수 있습니다. 기본적으로 ABRT 는 C 및 C++ 애플리케이션의 충돌과 같은 가장 일반적인 유형의 오류를 지원하는 것과 함께 설치됩니다. 다른 유형의 오류에 대한 지원은 독립적인 패키지로 제공됩니다. 예를 들어 Java 언어를 사용하여 작성된 애플리케이션에서 예외 탐지에 대한 지원을 설치하려면 root 로 다음 명령을 실행합니다.
~]# yum install abrt-java-connector
ABRT 가 지원하는 언어 및 소프트웨어 프로젝트 목록은 25.4절. “소프트웨어 문제 탐지” 를 참조하십시오. 섹션에는 다양한 유형의 오류를 감지할 수 있는 모든 해당 패키지 목록도 포함되어 있습니다.
25.2.4. ABRT 서비스 시작 링크 복사링크가 클립보드에 복사되었습니다!
abrtd 데몬을 사용하려면 abrt 사용자가 /var/spool/abrt 디렉터리의 파일 시스템 작업을 위해 있어야 합니다. abrt 패키지가 설치되면 해당 사용자가 아직 존재하지 않는 경우 UID와 GID가 173인 abrt 사용자가 자동으로 생성됩니다. 그렇지 않으면 abrt 사용자를 수동으로 생성할 수 있습니다. 이 경우 abrtd 에는 특정 UID 및 GID가 필요하지 않으므로 모든 UID 및 GID를 선택할 수 있습니다.
abrtd 데몬은 부팅 시 시작되도록 구성되어 있습니다. 다음 명령을 사용하여 현재 상태를 확인할 수 있습니다.
~]$ systemctl is-active abrtd.service
active
systemctl 에서 비활성 또는 unknown 을 반환하는 경우 데몬이 실행되지 않습니다. 다음 명령을 root 로 입력하여 현재 세션에 대해 시작할 수 있습니다.
~]# systemctl start abrtd.service
동일한 명령을 사용하여 관련 오류 감지 서비스를 시작하거나 확인할 수 있습니다. 예를 들어 ABRT 가 C 또는 C++ 충돌을 감지하도록 하려면 abrt-ccpp 서비스가 실행되고 있는지 확인합니다. 사용 가능한 모든 ABRT 탐지 서비스 및 해당 패키지의 목록은 25.4절. “소프트웨어 문제 탐지” 을 참조하십시오.
커널 패닉 또는 커널 oops가 발생할 때만 시작되는 abrt-vmcore 및 abrt-pstoreoops 서비스를 제외하고 각 패키지를 설치할 때 모든 ABRT 서비스가 자동으로 활성화되고 시작됩니다. 10장. systemd를 사용하여 서비스 관리 에 설명된 systemctl 유틸리티를 사용하여 ABRT 서비스를 비활성화하거나 활성화할 수 있습니다.
25.2.5. ABRT Crash Detection 테스트 링크 복사링크가 클립보드에 복사되었습니다!
ABRT 가 제대로 작동하는지 테스트하려면 kill 명령을 사용하여 SEGV 신호를 전송하여 프로세스를 종료합니다. 예를 들어 절전 프로세스를 시작하고 다음과 같이 kill 명령으로 종료합니다.
~]$ sleep 100 &
[1] 2823
~]$ kill -s SIGSEGV 2823
ABRT 는 kill 명령을 실행한 직후 중단을 감지하고 그래픽 세션이 실행 중일 때 사용자에게 GUI 알림 메커니즘에 의해 감지된 문제에 대한 통지를 받습니다. 명령줄에서 abrt-cli list 명령을 실행하거나 /var/spool/abrt/ 디렉터리에 생성된 크래시 덤프를 검사하여 충돌이 탐지되었는지 확인할 수 있습니다. 감지된 충돌로 작업하는 방법에 대한 자세한 내용은 25.5절. “발견된 문제 처리” 을 참조하십시오.