Come posso vedere dove un programma scrive sul mio disco?

4

Se voglio disinstallare un programma e rimuovere tutta la traccia di dati che è stata memorizzata sul mio computer, c'è uno strumento per vedere dove un programma ha dati scritti? Mi aspetto che non sarà possibile dopo il fatto, ma forse c'è qualcosa che può essere eseguito quando viene lanciato per la prima volta un programma per monitorare tutte le posizioni in cui scrive?

Penso che sto cercando qualcosa che faccia per l'archiviazione locale cosa Little Snitch fa per Internet.

    
posta Daniel 22.12.2011 - 00:44
fonte

4 risposte

11

Se ho capito bene, vuoi monitorare tutte le operazioni del file system della tua app quando la lanci e quando è in esecuzione?
Piuttosto che trovare tutti i byte che questo programma ha mai scritto sul tuo disco rigido.

Per il primo caso ho due raccomandazioni:

  • Instruments.appda/Developer/Applicazioni/(ènecessario Xcode per quello)
    • Scegliere "Attività file" dai modelli

Supplemento2011-12-22

  • Eperlarigadicomando,copiatada qui

    sudo opensnoop -p PID

Mostra tutti i file a cui accedi nel tuo sistema da un particolare processo (passando il suo PID)

    
risposta data 22.12.2011 - 01:33
fonte
1

Il metodo non è automatico come le altre opzioni, ma ha il vantaggio di trovare i file associati a un'app anche se non vengono utilizzati durante la sessione di monitoraggio.

Uso un'app chiamata Trova qualsiasi file , che consente di cercare facilmente l'intero disco rigido utilizzando alcune query complesse.

Questo metodo si basa sul presupposto che tutti i file di app abbiano il nome dell'app nel nome del file o che siano memorizzati da qualche parte con il nome dell'app nel nome di una cartella in allegato. Questo è quasi sempre vero; Supporto per le applicazioni, elementi di login / launchagents / launchdaemons, cache, l'app bundle stesso, ecc. Tutto segue.
Devo ancora trovare un'app con file in luoghi non ovvi che non rispettano questa regola .

Ecco come formulare la mia domanda per l'app Balsamiq Mockups , che ho installato alcuni giorni fa:

Ilmotivopercuihoseparatoleduepartidelnomeèdicoprireicasiincuic'èunospaziotraledueparole(comeilpacchettodiapp)edovenonc'è(comeunfilecom.developer.AppName).

IlcomponenteModificationDateiswithinthepast...èfacoltativoeutilesoloquandol'appèstatainstallatarelativamentedirecente.Ingenerale,soloilnomedell'appdovrebbeessereperfetto.

Irisultatimostranotuttiifilecreatidall'app:

Ho la vista in modalità gerarchica per mostrare la posizione dei file, ma entrambe le modalità di visualizzazione vanno bene.

Se si desidera eliminare i file, passare alla visualizzazione elenco, selezionarli tutti, fare clic con il tasto destro e scegliere Sposta nel cestino.

Bonus: se l'app ha un'estensione di file personalizzata, puoi facilmente arrotondare anche tutti questi file: Name ends in .ext

    
risposta data 22.12.2011 - 01:11
fonte
0

Questo non è l'ideale, ma ecco un'altra idea:

  • Crea un nuovo account utente.
  • Nel terminale:
    • touch ~/Desktop/first_dir
    • touch ~/Desktop/second_dir
    • ls -laR ~ > ~/Desktop/first_dir
  • Installa il programma in questione
  • eseguilo
  • Nel terminale:
    • ls -laR ~ > ~/Desktop/second_dir
    • diff ~/Desktop/first_dir ~/Desktop/second_dir
risposta data 22.12.2011 - 07:04
fonte
0

La riga di comando è l'opzione più efficiente qui, basta usare il comando lsof (elenca i file aperti) con le relative opzioni, puoi limitare i risultati a file aperti tutti, per utente, per genitore processo, per gruppo ID, ecc.

Digita man lsof sul terminale per tutte le opzioni.

Un'altra opzione è utilizzare l'app Monitoraggio attività, individuare l'app in esecuzione nell'elenco, fare doppio clic su di essa, quindi selezionare "Apri file e porte".

    
risposta data 28.12.2011 - 13:31
fonte

Leggi altre domande sui tag