Я вже тиждень читаю про apport та його використання. Але не міг зрозуміти наведені нижче речі.
Сценарій:
Я розробив додаток і пакував його. І його назва MyApp.deb
. Назва двійкового пакету MyApp
:. Додаток встановлено на шляху /opt/myapplication/bin/MyApp
.
Вимога:
- Коли мій додаток виходить з ладу, я хочу мати змогу збирати основний дамп.
- При кожному наступному збої він повинен створювати новий збій, але не перезаписуючи існуючий. Щось на зразок автоматичного перейменування за допомогою поточної позначки часу тощо.
- Коли я встановлюю свою програму на машині клієнта, мій інсталятор не повинен змінювати параметри системи. Скажімо, наприклад, я не повинен змінювати схему генерації його основних файлів, тому що користувач / клієнт може ненавидіти мою програму, оскільки я міняв би його системні параметри без його згоди.
- Я все в порядку з шляхом створення основних файлів. Або поточний каталог, або
/var/crash
Те, що я досліджував досі:
Apport - це приємна утиліта, яка дозволяє створювати основні файли. За допомогою /proc/sys/kernel/core_pattern
я можу форматувати основні файли. Це забезпечує гнучкість для перенаправлення основних файлів у заздалегідь заданий каталог, назви основних файлів з pid, додавання до нього шаблону файлу або попереднього закінчення тощо. Для пакетів Ubuntu, які не входять, я повинен писати гачки для створення основних дампів (звітів) . Підпишіться після збору звіту, який він завантажить.
Речі, які я не розумію:
- Апорт, який я повинен дивитись ?? Я маю на увазі, чи вистачає мого призначення? Або я повинен дивитись на щось інше?
- Під який пакунок потрапляє моя заявка? Я називаю це не-ubuntu? 3-а частина? що це? Я бачу в документах різні термінології?
- Як я вже згадував,
MyApp
запускається з/opt/myapplication/bin/MyApp
, тож звідки будуть генеруватися основні файли? Поточний реж або/var/crash
? Виявляє, чи Apport виявляє збої, викликані/opt
? Чи трактує це? - Важливе питання: Якщо я розробив додаток і якщо Apport завантажує звіт у сховища Ubuntu, це не має сенсу. Тож як я можу сказати Apport, щоб він надіслав мені звіт.
- Я отримую цю помилку:
executable does not belong to a package, ignoring
. Так що я роблю неправильно? - Щоб apport розпізнавав мій пакунок, чи потрібно зробити його вихідним пакетом? Це обов’язково? Я просто хочу створити бінарний пакет?
- Я також десь бачив у документах, які Apport визнає:
- Пакети Ubuntu або
- Програми для запуску, але моя програма не є жодною з цих. Тож як Apport допомагає мені в поточному сценарії?
Одне з обмежень Apport прямо зараз - це повинен бути пакет у сховищі ubuntu або хоча б проект на Launchpad. Останнє для вас варіант?
—
jokerdino
Дякую за своєчасну відповідь та чітко відповіді на моє тривале запитання. До речі, я пропустив зазначити у своєму попередньому дописі, що моя заявка є власником. Ми плануємо розмістити наш додаток у сховищах ubuntu. Але це може пройти через кілька місяців. До цього часу я повинен керувати основними файлами вручну.
—
Сандіп,
На якій мові написана програма? Ознайомтесь також із класом, проведеним із написання гачків пакету Apport .
—
jokerdino
Додаток, написаний на C ++. Наступні рядки із посилання залишають мене розгубленим "<openweek4> ЗАПИТАННЯ: чи пристосують гачки працювати з сторонніми додатками? Openweek4: Я насправді не впевнений у цьому питанні. Якщо ви подивитесь на гачок ubuntuone-client - повідомлення про помилки на Launchpad, але про проект ubuntuone. Тому це може бути дуже можливим. Проте, apport повинен мати можливість спілкуватися з відповідною системою відстеження помилок. "
—
Сандіп,
Автор каже, що сторонні програми можуть використовувати аппорт для отримання звітів до тих пір, поки буде встановлено зв'язок між apport та системою відстеження помилок третьої програми. Як цього можна досягти? Якщо цього вдасться досягти, мені не потрібно чекати, коли моя заявка зареєструється в ubuntu repo або стартовій панелі.
—
Сандіп,