Підтвердьте підтримку пакетів, що не містять ubuntu


13

Я вже тиждень читаю про apport та його використання. Але не міг зрозуміти наведені нижче речі.

Сценарій:

Я розробив додаток і пакував його. І його назва MyApp.deb. Назва двійкового пакету MyApp:. Додаток встановлено на шляху /opt/myapplication/bin/MyApp.

Вимога:

  1. Коли мій додаток виходить з ладу, я хочу мати змогу збирати основний дамп.
  2. При кожному наступному збої він повинен створювати новий збій, але не перезаписуючи існуючий. Щось на зразок автоматичного перейменування за допомогою поточної позначки часу тощо.
  3. Коли я встановлюю свою програму на машині клієнта, мій інсталятор не повинен змінювати параметри системи. Скажімо, наприклад, я не повинен змінювати схему генерації його основних файлів, тому що користувач / клієнт може ненавидіти мою програму, оскільки я міняв би його системні параметри без його згоди.
  4. Я все в порядку з шляхом створення основних файлів. Або поточний каталог, або/var/crash

Те, що я досліджував досі:

Apport - це приємна утиліта, яка дозволяє створювати основні файли. За допомогою /proc/sys/kernel/core_patternя можу форматувати основні файли. Це забезпечує гнучкість для перенаправлення основних файлів у заздалегідь заданий каталог, назви основних файлів з pid, додавання до нього шаблону файлу або попереднього закінчення тощо. Для пакетів Ubuntu, які не входять, я повинен писати гачки для створення основних дампів (звітів) . Підпишіться після збору звіту, який він завантажить.

Речі, які я не розумію:

  1. Апорт, який я повинен дивитись ?? Я маю на увазі, чи вистачає мого призначення? Або я повинен дивитись на щось інше?
  2. Під який пакунок потрапляє моя заявка? Я називаю це не-ubuntu? 3-а частина? що це? Я бачу в документах різні термінології?
  3. Як я вже згадував, MyAppзапускається з /opt/myapplication/bin/MyApp, тож звідки будуть генеруватися основні файли? Поточний реж або /var/crash? Виявляє, чи Apport виявляє збої, викликані /opt? Чи трактує це?
  4. Важливе питання: Якщо я розробив додаток і якщо Apport завантажує звіт у сховища Ubuntu, це не має сенсу. Тож як я можу сказати Apport, щоб він надіслав мені звіт.
  5. Я отримую цю помилку: executable does not belong to a package, ignoring. Так що я роблю неправильно?
  6. Щоб apport розпізнавав мій пакунок, чи потрібно зробити його вихідним пакетом? Це обов’язково? Я просто хочу створити бінарний пакет?
  7. Я також десь бачив у документах, які Apport визнає:
    1. Пакети Ubuntu або
    2. Програми для запуску, але моя програма не є жодною з цих. Тож як Apport допомагає мені в поточному сценарії?

Одне з обмежень Apport прямо зараз - це повинен бути пакет у сховищі ubuntu або хоча б проект на Launchpad. Останнє для вас варіант?
jokerdino

Дякую за своєчасну відповідь та чітко відповіді на моє тривале запитання. До речі, я пропустив зазначити у своєму попередньому дописі, що моя заявка є власником. Ми плануємо розмістити наш додаток у сховищах ubuntu. Але це може пройти через кілька місяців. До цього часу я повинен керувати основними файлами вручну.
Сандіп,


Додаток, написаний на C ++. Наступні рядки із посилання залишають мене розгубленим "<openweek4> ЗАПИТАННЯ: чи пристосують гачки працювати з сторонніми додатками? Openweek4: Я насправді не впевнений у цьому питанні. Якщо ви подивитесь на гачок ubuntuone-client - повідомлення про помилки на Launchpad, але про проект ubuntuone. Тому це може бути дуже можливим. Проте, apport повинен мати можливість спілкуватися з відповідною системою відстеження помилок. "
Сандіп,

Автор каже, що сторонні програми можуть використовувати аппорт для отримання звітів до тих пір, поки буде встановлено зв'язок між apport та системою відстеження помилок третьої програми. Як цього можна досягти? Якщо цього вдасться досягти, мені не потрібно чекати, коли моя заявка зареєструється в ubuntu repo або стартовій панелі.
Сандіп,

Відповіді:


2
  1. Це виглядає близько, але може бути не тим, що вам потрібно. Додаток автоматично змінює / proc / sys / kernel / core_pattern. Тож якщо це неможливо змінити, то вам майже не пощастило. З іншого боку, apport знаходиться в установці Ubuntu за замовчуванням зараз, тому практично кожен, хто використовує Ubuntu, вже змінив цей параметр. Я також не знаю жодного способу сказати apport, щоб зберегти більше ніж останній збій у певному додатку, але поки кожен завантажений збій, це не проблема.
  2. Я б назвав це стороннім.
  3. Apport підтримує виконувані файли, встановлені в / opt. Вам потрібно буде ввести гачок у / opt / path / to / your / app / share / apport / pack-hooks.
  4. Ви можете встановити користувальницьку базу даних про аварійне завершення в пакеті для вашого пакета. Але якщо ваша база збоїв не працює як налагодження чи запуск, вам також знадобиться створити користувальницьку реалізацію роз'єму бази даних аварій, що не схоже, що це можна зробити без встановлення файлу python поза / opt.
  5. Виконаний файл повинен бути встановлений dpkg, а значить, вам потрібно упакувати його у файл .deb.
  6. Ви повинні створити вихідний пакет, щоб створити двійковий пакет, оскільки двійкові пакунки створюються з вихідних пакетів. Не потрібно розповсюджувати вихідний пакет.
  7. Apport працює з усім, що упаковано у вигляді .deb-файлу.

Це виглядає так, що це може бути дуже корисною відповіддю, але це залишає кілька прогалин у поясненні: Що означає «гачок»? Що саме означає "дію, як дебюги чи стартові панелі"? Покажчики на відповідь, будь ласка?
BobDoolittle
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.