Я читал об apport и его использовании уже неделю. Но не мог понять нижеприведенные вещи.
Сценарий:
Я разработал приложение и упаковал его. И его зовут MyApp.deb
. Имя двоичного пакета MyApp
. Приложение установлено в пути /opt/myapplication/bin/MyApp
.
Требование:
- Когда мое приложение падает, я хочу иметь возможность собирать дамп ядра.
- При каждом последующем сбое он должен создавать новый сбой, но не перезаписывать существующий. Мне может помочь что-то вроде автоматического переименования с отметкой текущего времени и т. Д.
- Когда я устанавливаю свое приложение на клиентском компьютере, мой установщик не должен изменять общесистемные параметры. Скажем, к примеру, я не должен изменять шаблон генерации его основного файла, потому что пользователь / клиент может ненавидеть мое приложение, поскольку я изменил бы его системные параметры без его согласия.
- Я в порядке с путем генерации файла ядра. Либо текущий каталог или
/var/crash
Вещи, которые я исследовал до сих пор:
Apport - хорошая утилита, которая позволяет генерировать основные файлы. Используя /proc/sys/kernel/core_pattern
я могу отформатировать основные файлы. Это обеспечивает гибкость для перенаправления файлов ядра в предопределенный каталог, именования файлов ядра с помощью pid, шаблона пути к файлу, добавленного или подготовленного к нему, и т. Д. Для пакетов, отличных от Ubuntu, я должен написать хуки для создания дампов ядра (отчетов) , Apport после сбора отчета будет загружен.
Вещи, которые я не понимаю
- Я должен смотреть на Apport ?? Я имею в виду, достаточно ли моей цели? Или я должен смотреть на что-то еще?
- К какой упаковке относится мое приложение? Я называю это не Ubuntu? 3-я часть? что это? Я вижу разные термины в документах?
- Как я уже говорил,
MyApp
запускается/opt/myapplication/bin/MyApp
, так где будут генерироваться файлы ядра? Текущий реж или/var/crash
? Обнаруживает ли Apport сбои, вызванные/opt
? Это интерпретирует это? - Важный вопрос: если я разработал приложение и если Apport загрузит отчет в репозитории Ubuntu, это не имеет смысла. Так как я могу сказать Apport, чтобы отправить мне отчет.
- Я получаю эту ошибку:
executable does not belong to a package, ignoring
. Так что я делаю не так? - Чтобы приложение распознало мой пакет, нужно ли мне сделать его исходным пакетом? Это обязательно? Я просто хочу создать бинарный пакет?
- Я также видел где-то в документах, которые распознает Apport:
- Пакеты Ubuntu или
- Приложения панели запуска, но мое приложение не относится ни к одному из них. Так как же Apport помогает мне в текущем сценарии?
Ответы:
источник