Od tygodnia czytam o apport i jego użyciu. Ale nie mogłem zrozumieć poniższych rzeczy.
Scenariusz:
Opracowałem aplikację i spakowałem ją. I nazywa się MyApp.deb
. Nazwa pakietu binarnego to MyApp
. Aplikacja jest instalowana na ścieżce /opt/myapplication/bin/MyApp
.
Wymaganie:
- Kiedy moja aplikacja ulega awarii, chcę mieć możliwość zebrania zrzutu pamięci.
- Przy każdej kolejnej awarii musi utworzyć nową, ale nie zastępować istniejącej. Pomogłoby mi coś takiego jak automatyczna zmiana nazwy z aktualnym znacznikiem czasu itp.
- Kiedy instaluję aplikację na komputerze klienta, mój instalator nie może modyfikować parametrów całego systemu. Powiedzmy na przykład, że nie wolno mi zmieniać schematu generowania jego podstawowego pliku, ponieważ użytkownik / klient może nienawidzić mojej aplikacji, ponieważ zmieniłbym jego parametry systemowe bez jego zgody.
- Nie mam nic przeciwko ścieżce generowania plików rdzenia. Bieżący katalog lub
/var/crash
Rzeczy, które do tej pory odkrywałem:
Apport to ładne narzędzie, które umożliwia generowanie podstawowych plików. Za pomocą /proc/sys/kernel/core_pattern
mogę sformatować podstawowe pliki. Zapewnia to elastyczność przekierowywania plików podstawowych do wstępnie zdefiniowanego katalogu, nadawania nazw plikom podstawowym z pid, dołączania lub dołączania wzorca ścieżki pliku itp. W przypadku pakietów innych niż Ubuntu muszę pisać haki, aby wygenerować zrzuty pamięci (raporty) . Apport po zebraniu raportu zostanie przesłany.
Rzeczy, których nie rozumiem:
- Czy to Apport, na który muszę patrzeć? Mam na myśli, czy to wystarczy mojemu celowi? A może powinienem patrzeć na coś innego?
- Jakiego rodzaju pakiet obejmuje moja aplikacja? Czy nazywam to non-ubuntu? Trzecia część? co to jest? Widzę różne terminologie w dokumentach?
- Jak wspomniałem,
MyApp
działa z/opt/myapplication/bin/MyApp
, więc gdzie będą generowane pliki podstawowe? Aktualny reż czy/var/crash
? Czy Apport wykrywa awarie wyzwolone/opt
? Czy to interpretuje? - Ważne pytanie: jeśli opracowałem aplikację i jeśli Apport prześle raport do repozytoriów Ubuntu, nie ma to sensu. Jak więc mogę powiedzieć Apportowi, żeby przysłał mi raport?
- Otrzymuję ten błąd:
executable does not belong to a package, ignoring
. Więc co robię źle? - Aby program apport mógł rozpoznać mój pakiet, czy muszę go uczynić pakietem źródłowym? Czy to jest obowiązkowe? Chcę tylko utworzyć pakiet binarny?
- Widziałem także gdzieś w dokumentach, które rozpoznaje Apport:
- Pakiety Ubuntu lub
- Aplikacje uruchamiające, ale moja aplikacja nie jest żadna z nich. Więc w jaki sposób Apport pomaga mi w bieżącym scenariuszu?
Odpowiedzi:
źródło