Ormai leggo di apport e del suo utilizzo da una settimana. Ma non riuscivo a capire le cose di seguito.
Scenario:
Ho sviluppato un'applicazione e l'ha impacchettata. E il suo nome è MyApp.deb
. Il nome del pacchetto binario è MyApp
. L'applicazione è installata nel percorso /opt/myapplication/bin/MyApp
.
Requisiti:
- Quando la mia applicazione si arresta in modo anomalo, voglio essere in grado di raccogliere core dump.
- Ad ogni arresto successivo, deve creare un nuovo arresto, ma non sovrascrivere quello esistente. Qualcosa come rinominare automaticamente il timestamp corrente, ecc. Mi aiuterebbe.
- Quando installo la mia applicazione su una macchina del cliente, il mio installatore non deve modificare i suoi parametri di sistema. Ad esempio, non devo cambiare il modello della sua generazione di file core, perché l'utente / cliente potrebbe odiare la mia applicazione in quanto cambierei i suoi parametri di sistema senza il suo consenso.
- Sono d'accordo con il percorso della generazione di file core. Directory corrente o
/var/crash
Cose che ho esplorato fino ad ora:
Apport è una bella utility che consente generazioni di file core. Usando /proc/sys/kernel/core_pattern
posso formattare file core. Ciò fornisce flessibilità per reindirizzare i file core a una directory predefinita, denominare i file core con pid, modello di percorso file aggiunto o pre-finito ad esso, ecc. Per i pacchetti non Ubuntu, devo scrivere hook per generare dump core (report) . Apporta dopo aver raccolto il rapporto che verrà caricato.
Cose che non capisco:
- Apport è quello che devo guardare ?? Voglio dire, è sufficiente il mio scopo? O dovrei guardare qualcos'altro?
- In quale tipo di pacchetto rientra la mia domanda? Lo chiamo non Ubuntu? 3a parte? che cos'è? Vedo terminologie diverse nei documenti?
- Come ho già detto,
MyApp
viene eseguito/opt/myapplication/bin/MyApp
, quindi dove verranno generati i file core? Dir corrente o/var/crash
? Apport rileva gli arresti anomali causati da trigerrate/opt
? Lo interpreta? - Domanda importante: se ho sviluppato l'applicazione e se Apport carica il report nei repository Ubuntu, non ha senso. Quindi, come posso dire ad Apport di inviarmi il rapporto.
- Ottengo questo errore:
executable does not belong to a package, ignoring
. Quindi cosa sto sbagliando? - Per apport per riconoscere il mio pacchetto, devo renderlo un pacchetto sorgente? È obbligatorio? Voglio solo creare un pacchetto binario?
- Ho anche visto da qualche parte nei documenti che Apport riconosce:
- Pacchetti Ubuntu o
- Applicazioni Launchpad ma la mia applicazione non è nessuna di queste. In che modo Apport mi aiuta nello scenario attuale?