Я новичок в Linux и изучаю сервисы, в частности, abrt-ccpp.service для этого вопроса.

Меня заставили понять, что если abrt-ccpp.service установлен на ПК с Linux, он заменяет / перезаписывает (я прочитал оба, не уверен, что это правда) файл /proc/sys/kernel/core_pattern , который в противном случае указывает расположение и шаблон имени файла ядра.

Вопрос:

Когда я исполняю systemctl почему отчет Abrt-ccpp.service exited в колонке SUB Я не понимаю, сочетание active и exited: демон "жив" или нет?

> systemctl
UNIT                 LOAD   ACTIVE SUB
abrt-ccpp.service    loaded active exited ...

Вопрос:

Где создаются основные файлы? Я написал эту программу для генерации SIGSEGV:

#include <iostream>

int main(int argc, char* argv[], char* envz[])
{
  int* pInt = NULL;
  std::cout << *pInt << std::endl;
  return 0;
}

Компиляция и исполнение следующим образом:

> g++ main.cpp
> ./a.out
Segmentation fault (core dumped)

Но я не понимаю, где генерируется основной файл. Он не находится в той же папке, что и мой main.cpp . Некоторое чтение привело меня к /etc/abrt/abrt.conf , в котором есть следующий текст в моем файле:

# Specify where you want to store coredumps and all files which are needed for
# reporting. (default:/var/tmp/abrt)
#
# Changing dump location could cause problems with SELinux. See man_abrt_selinux(8).
#
#DumpLocation = /var/tmp/abrt

Поэтому я попытался посмотреть в /var/tmp/abrt , но ничего не было связано с моим a.out .

Содержимое моего /proc/sys/kernel/core_pattern видимому, было перезаписано чем-то связанным с abrt-ccpp:

> cat /proc/sys/kernel/core_pattern
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e

Но я не знаю, как это интерпретировать.

Может ли кто-нибудь помочь мне понять эту услугу? Спасибо.

1 ответ1

0

Благодаря https://unix.stackexchange.com/users/119298/meuh, решение состоит в том, чтобы отредактировать /etc/abrt/abrt-action-save-package-data.conf чтобы добавить эту строку:

ProcessUnpackaged = yes

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .