Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "andreas-xavier/Prova6"
Differenze tra le versioni 1 e 97 (in 96 versioni)
Versione 1 del 16/02/2016 12.55.18
Dimensione: 12301
Commento:
Versione 97 del 26/09/2021 18.56.39
Dimensione: 8994
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 5: Linea 5:
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=592585"; rilasci="15.10 14.04 12.04")>>  <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=647231"; rilasci="21.04 20.04 18.04";)>>
Linea 7: Linea 7:
= Introduzione =
La seguente guida contiene le istruzioni utili all'installazione di '''Ubuntu''' tramite il CD '''minimale'''.<<BR>>
= Introduzione =
Linea 10: Linea 9:
Quest'ultimo è una particolare immagine `.iso` di dimensioni molto ridotte (circa 30 MiB, a seconda del rilascio) che ha la particolarità di installare solo i pacchetti desiderati, selezionandoli e scaricandoli direttamente dalla rete. '''Foremost''' è uno strumento da riga di comando per il recupero dei file. La tecnica utilizzata è il ''[[https://en.wikipedia.org/wiki/File_carving|data carving]]'', che utilizza le tracce degli header, dei footers e della struttura interna dei dati stessi, senza considerare i metadati del filesystem<<BR>>
Foremost può operare sia su file immagine, sia su supporti fisici quali unità flash, hard disk, schede di memoria ecc. Supporta diversi tipi di filesystem (Fat16/32, Ext3/4, NTFS ecc.) e moltissimi formati di file (`.jpg`, `.png`, `.zip`, `.avi`, `.pdf`, `.doc`, `.exe`, ecc.).
Linea 12: Linea 12:
Analogamente al '''[[Installazione/Alternate|CD Alternate]]''', non è dotato di '''sessione live''' e presenta al posto dell'installer '''[[https://it.wikipedia.org/wiki/Ubiquity|Ubiquity]]''' un'interfaccia semplificata di tipo testuale. Sviluppato originariamente da enti governativi statunitensi quali l'Ufficio Investigazioni speciali della United States Air Force e il CISR (Center for Information Systems Security Studies and Research), è stato successivamente reso di pubblico dominio.
Linea 14: Linea 14:
Questa modalità di installazione si rivela un'ottima soluzione nei seguenti casi:
 * '''Per computer datati:''' Il CD minimale è avviabile su macchine con RAM inferiore ai 700 MB. Risulta inoltre essere un'alternativa al '''[[Installazione/Alternate|CD Alternate]]''', disponibile solo per '''Lubuntu''' dalla versione 12.10.
 * '''Per installazioni personalizzate:''' Con il CD minimale si può ottenere un sistema privo dei pacchetti preinstallati nelle `.iso` ufficiali di Ubuntu e derivate. È dunque possibile creare un sistema altamente customizzato secondo le proprie esigenze (ad esempio fornito esclusivamente di [[AmbienteGrafico/AmbientiDesktop|ambiente DE]] non presente nelle derivate ufficiali, oppure un ambiente grafico minimale senza programmi preinstallati, o anche dotato di sola [[AmministrazioneSistema/RigaDiComando|shell]] ecc.).

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Se si desidera procedere con l'installazione della versione minimale, è necessario disporre di una connessione a Internet correttamente configurata e funzionante''. ||

= Preparativi =

Scaricare l'immagine `.iso` adatta alla propria architettura, quindi [[Hardware/DispositiviPartizioni/MasterizzareIso|masterizzarla]] su un CD/DVD vuoto oppure creare un [[Installazione/Unetbootin|pendrive USB avviabile]]:

 * architetture a '''32 bit''':

  * [[http://archive.ubuntu.com/ubuntu/dists/wily/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 15.10]]
  * [[http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 14.04]]
  * [[http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 12.04]]
## * [[http://archive.ubuntu.com/ubuntu/dists/vivid/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 15.04]]
## * [[http://archive.ubuntu.com/ubuntu/dists/utopic/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 14.10]]
## * [[http://archive.ubuntu.com/ubuntu/dists/saucy/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 13.10]]
## * [[http://archive.ubuntu.com/ubuntu/dists/quantal/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 12.10]]
## * [[http://archive.ubuntu.com/ubuntu/dists/raring/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 13.04]]
## * [[http://archive.ubuntu.com/ubuntu/dists/oneiric/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 11.10]];
## * [[http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 10.04]];
## * [[http://archive.ubuntu.com/ubuntu/dists/natty/main/installer-i386/current/images/netboot/mini.iso|CD minimale di Ubuntu 11.04]];
## * [[http://archive.ubuntu.com/ubuntu/dists/maverick/main/installer-i386/current/images/netboot/mini.iso|CD minimale di ##Ubuntu 10.10]];
## * [[http://archive.ubuntu.com/ubuntu/dists/karmic/main/installer-i386/current/images/netboot/mini.iso|CD minimale di ##Ubuntu 9.10]];
## * [[http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-i386/current/images/netboot/mini.iso|CD minimale di ##Ubuntu 8.04]].

 * architetture a '''64 bit''':

  * [[http://archive.ubuntu.com/ubuntu/dists/wily/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 15.10]]
  * [[http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 14.04]]
  * [[http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 12.04]]
## * [[http://archive.ubuntu.com/ubuntu/dists/vivid/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 15.04]]
## * [[http://archive.ubuntu.com/ubuntu/dists/utopic/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 14.10]]
## * [[http://archive.ubuntu.com/ubuntu/dists/saucy/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 13.10]]
##[[http://archive.ubuntu.com/ubuntu/dists/quantal/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 12.10]]
## * [[http://archive.ubuntu.com/ubuntu/dists/raring/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 13.04]]
## * [[http://archive.ubuntu.com/ubuntu/dists/oneiric/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 11.10]];
## * [[http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 10.04]];
## * [[http://archive.ubuntu.com/ubuntu/dists/natty/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di Ubuntu 11.04]];
## * [[http://archive.ubuntu.com/ubuntu/dists/maverick/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di ##Ubuntu 10.10]];
## * [[http://archive.ubuntu.com/ubuntu/dists/karmic/main/installer-amd64/current/images/netboot/mini.iso|CD minimale ##di Ubuntu 9.10]];
## * [[http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-amd64/current/images/netboot/mini.iso|CD minimale di ##Ubuntu 8.04]].
 

= Avvio e installazione =

 0. [[Installazione/AvvioDaCd|Configurare il BIOS]] affinchè diventi possibile avviare il sistema da lettore CD o pendrive USB. Terminata la configurazione, inserire il dispositivo d'installazione e riavviare il computer.

 0. Qualora al riavvio compaia una riga di comando simile alla seguente: {{{
boot:
}}}
 premere '''Invio''' per proseguire.
 0. Una volta presente la seguente schermata
 <<Immagine(./avvio1404.png,600,center)>>
 selezionare una fra le seguenti opzioni utilizzando i tasti freccia:
  * '''Install''': avvia il processo di installazione
  * '''Command-line install''': avvia il processo di installazione di un sistema minimale a riga di comando
  * '''Advanced options''': mostra le seguenti opzioni:
   * '''Expert install''': avvia il processo di installazione per esperti
   * '''Command-line expert install''': avvia il processo di installazione per esperti di un sistema minimale a riga di comando
   * '''Rescue mode''': avvia la modalità di ripristino
  * '''Help''': mostra l'aiuto in linea
 0. Continuare seguendo le istruzioni a schermo (comprenderanno, fra le altre cose, scelta di lingua e tastiera, configurazione della rete del server da cui scaricare i pacchetti, partizionamento e scelta della partizione, creazione di utente e password) e attendere che si concludano le varie procedure di installazione e configurazione.
 0. Dopo l'installazione del sistema di base comparirà la seguente schermata:
 <<Immagine(./componenti1404.png,600,center)>>
 Selezionare quindi i componenti che si desidera installare e premere '''Invio''' (la selezione va effettuata tramite la barra spaziatrice; utilizzare il tasto '''TAB''' per spostarsi su '''Continuare''').
 ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Non selezionare alcuna voce nel caso si preferisca procedere in seguito con l'installazione dei componenti desiderati, compreso l'ambiente desktop''. ||
 0. Attendere l'installazione degli eventuali elementi selezionati e seguire le restanti istruzioni a schermo (comprendenti l'installazione del bootloader [[AmministrazioneSistema/Grub|GRUB]] e l'orologio di sistema).
 0. Ad installazione terminata, come da istruzioni, rimuovere i supporti removibili e riavviare.

Se la procedura si è conclusa senza errori, al riavvio sarà disponibile a seconda dei casi:
 * Il sistema Ubuntu completo dell'ambiente grafico precedentemente selezionato.
 * Un sistema minimale Ubuntu, dotato di sola [[AmministrazioneSistema/RigaDiComando|shell]] testuale a riga di comando, utilizzabile esclusivamente tramite tastiera.

<<Anchor(desktop)>>
= Esempi di installazione di un ambiente grafico minimale =

Se durante la procedura precedente non si è selezionato nessun ambiente desktop, qualora lo si desideri, è possibile installare un ambiente grafico tramite [[AmministrazioneSistema/RigaDiComando|riga di comando]].<<BR>>
Di seguito sono riportati alcuni esempi di installazione di un ambiente grafico minimale. <<BR>>

Per ulteriori informazioni relative agli ambienti grafici disponibili per '''Ubuntu''' (requisiti di sistema, installazione, configurazione ecc.) visitare [[AmbienteGrafico|questa pagina]]. <<BR>>

Le istruzioni includono anche l'installazione di un [[https://en.wikipedia.org/wiki/X_display_manager_%28program_type%29|display manager]] per effettuare il login dell'utente e selezionare la sessione desktop. Ove possibile viene installato il display manager nativo per l'ambiente grafico selezionato (''gdm'' per '''GNOME''', ''kdm'' per '''KDE''', ''lxdm'' per '''LXDE''' ecc.). Per l'installazione di altri display manager e per la loro configurazione consultare [[AmbienteGrafico/DisplayManager|questa pagina]].<<BR>>
Se non si desidera installare alcun display manager, è comunque possibile accedere all'ambiente grafico dopo aver effettuato il login testuale tramite [[AmministrazioneSistema/RigaDiComando|shell]], avviando il '''[[https://it.wikipedia.org/wiki/X_Window_System|server X]]''' con il comando:{{{
startx
{{{#!wiki important
Per evitare sovrascritture accidentali di dati, si raccomanda di eseguire il programma su un file immagine di backup a basso livello (a tal fine è possibile usare lo strumento [[AmministrazioneSistema/BackupDelSistema#Backup_con_dd|dd]]), anziché operare direttamente sul supporto di memoria dal quale si vogliono recuperare i file.
Linea 102: Linea 18:
<<Anchor(gnome)>>
=
= Installazione di GNOME ==
= Installazione =
Linea 105: Linea 20:
Digitare il seguente comando: {{{
sudo apt-get install gdm gnome-core xorg
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://foremost|foremost]].

= Utilizzo =

Durante l'estrazione dei dati, il programma esegue di default le seguenti azioni:
 * crea una cartella chiamata `output` nella stessa posizione dal quale viene lanciato il comando (ad esempio la '''Home''' dell'utente, se il terminale è su `~`).
 * crea all'interno di questa directory delle sottocartelle corrispondenti al formato dei file che vengono recuperati (ad esempio `jpg`, `txt`, `zip` ecc.). Per consultare tutti i formati di file riconosciuti consultare la [[#ulteriori_risorse|pagina man]] del programma.
 * al termine della procedura elimina eventuali sottocartelle vuote, per le quali non sono stati trovati file corrispondenti.
 * crea all'interno della cartella di salvataggio il file `audit.txt`, contenente un report delle azioni svolte dal programma.
 * attribuisce ai file eventualmente trovati un nome ricavato dall'indirizzo del settore sul quale sono allocati (non considera perciò il nome originario, in quanto il programma non tiene conto dei metadati del filesystem).

== Utilizzo di base ==

Supponendo di voler cercare dei file eliminati in una partizione `/dev/sdb1`, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo foremost -i /dev/sdb1
Linea 109: Linea 37:
Per l'installazione dell'ambiente '''GNOME Shell''' attraverso repository esterni, consultare la [[Installazione/CdMinimale/GnomeShell|relativa guida]]. == Ricerca da file immagine ==
Linea 111: Linea 39:
<<Anchor(kde)>>
== Installazione di KDE ==
Per il recupero da file di immagine è sufficiente sostituire nel comando il nome del disco o partizione (ad esempio `/dev/sda`) con il nome stesso del file (ad esempio `backup.dd`).
Linea 114: Linea 41:
Per un ambiente '''desktop''' di base digitare il comando:{{{
sudo apt-get install kdm kde-plasma-desktop xorg}}}
== Ricerca di file specifici ==
Linea 117: Linea 43:
Per un ambiente grafico di base specifico per '''netbook''' digitare il comando:{{{
sudo apt-get install kdm kde-plasma-netbook xorg
Per cercare soltanto determinati tipi di file è inoltre possibile usare l'opzione `-t`, con i formati di file separati da una virgola. Ad esempio per cercare in una partizione `/dev/sdb1` soltanto file `.doc` e `.pdf`, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo foremost -t doc,pdf -i /dev/sdb1
}}}
È possibile inoltre usare l'opzione `-t all` per il recupero di tutti i tipi di file conosciuti.

== Scelta della cartella di salvataggio ==

{{{#!wiki important
Per evitare sovrascritture accidentali, con consequente impossibilità di recupero dei file, si raccomanda di __non__ impostare la destinazione di salvataggio nello stesso disco e/o partizione in cui sono presenti i file da recuperare.
Linea 121: Linea 54:
<<Anchor(xfce)>>
== Installazione di Xfce ==

Digitare il seguente comando: {{{
sudo apt-get install xfce4 xorg xinit lightdm
Per specificare una determinata cartella di salvataggio (diversa da `output`, ad esempio denominata `dati`) è possibile usare l'opzione `-o`, come nel seguente esempio:{{{
sudo foremost -i /dev/sdb1 -o /home/utente/dati
Linea 128: Linea 58:
<<Anchor(lxde)>>
== Installazione di LXDE ==

Digitare il seguente comando:{{{
sudo apt-get install lxde xinit lxdm xorg
Qualora la cartella di destinazione non esistesse il programma provvederà a crearla.<<BR>>
Nel caso in cui, invece, fosse già presente apparirà un messaggio simile al seguente:{{{
ERROR: /home/utente/dati is not empty
  Please specify another directory or run with -T.
Linea 135: Linea 64:
##=== Installazione su Ubuntu 8.04 === Come suggerito dall'output, sarà possibile a propria scelta:
 * usare una destinazione differente
 * usare l'opzione `-T`. Quest'ultima provvede a creare una nuova cartella con lo stesso nome, ma inoltre contrassegnata con ora e data (prendendo ancora in esame l'esempio precedente, verrà nominata `/home/utente/dati_Sat_Sep_25_16_32_38_2021`).
 {{{#!wiki tip
In questo modo sarà possibile ripetere più volte la ricerca di file, salvando i dati estratti in diverse cartelle, senza coinvolgere i risultati delle precedenti operazioni di recovery.
}}}
Linea 137: Linea 71:
##Aprire il file `/etc/apt/sources.list` con un [[Ufficio/EditorDiTesto|editor di testo]] con i ##[[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e aggiungere in fondo al file le seguenti righe:{{{
##deb http://ppa.launchpad.net/lxde/ubuntu hardy main
##deb-src http://ppa.launchpad.net/lxde/ubuntu hardy main
##}}}
= File di configurazione =
Linea 142: Linea 73:
##Per aggiornare la lista dei [[Repository|repository]] e installare '''LXDE''' è sufficiente digitare i seguenti ##comandi in una finestra di terminale: {{{
##sudo apt-get update
##sudo apt-get install lxde xinit lxdm xorg
##}}}
Il file di configurazione di '''Foremost''' è `/etc/foremost.conf`.
Linea 147: Linea 75:
== Installazione di Unity == All'interno del file stesso è possibile consultare le istruzioni (in inglese) utili per aggiungere alla ricerca altri formati di file.<<BR>>
A tale scopo sono infatti presenti diversi esempi commentati che mostrano la sintassi da utilizzare.
Basterà quindi aprire il file, con [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]], per decommentare le righe relative ai formati di proprio interesse, aggiungendoli alla ricerca.
Linea 149: Linea 79:
Per installare una versione minimale dell'interfaccia grafica [[AmbienteGrafico/Unity|Unity]], consultare la [[Installazione/CdMinimale/Unity|relativa guida]]. Di seguito viene riportato un esempio relativo ai file `.tif`:{{{
# TIF
# tif y 200000000 \x49\x49\x2a\x00
}}}
Linea 151: Linea 84:
La sintassi della seconda riga nell'esempio contiene i seguenti campi (separati da '''TAB'''), da sinistra verso destra:
 * estensione
 * [[https://it.wikipedia.org/wiki/Sensibile_alle_maiuscole|case sensitive]] ('''y''' in caso positivo e '''n''' in caso negativo)
 * dimensione massima del file (espressa in byte)
 * [[https://it.wikipedia.org/wiki/Header_file|header]]
 * footer (opzionale, può essere omesso)

{{{#!wiki note
Diversi formati di file presenti in `/etc/foremost.conf` sono già supportati nativamente. È infatti presente in corrispondenza la dicitura: «(NOTE THESE FORMATS HAVE BUILTIN EXTRACTION FUNCTION)».
}}}

== Aggiungere supporto a nuovi formati di file ==

Basandosi sull'esempio precedente, è quindi possibile aggiungere alla ricerca ulteriori formati, non presenti nel file di configurazione.

Di seguito viene riportato l'esempio di aggiunta dei file in formato ''[[https://it.wikipedia.org/wiki/Free_Lossless_Audio_Codec|flac]]'':{{{
flac y 30000000 \x66\x4c\x61\x43\x00\x00\x00\x22
}}}

{{{#!wiki tip
Per conoscere o controllare l'header di un tipo di file, può talvolta tornare utile il comando: `hd -c nome_file.estensione.file|head` (sostituire `nome_file` e `estensione.file` con le relative voci).
}}}

= Esempio concreto di utilizzo =

Di seguito sono illustrati tutti i passaggi necessari per estrarre dei file inavvertitamente cancellati su un ipotetico disco `/dev/sda`.<<BR>>
Si ipotizza, inoltre, che i file da recuperare vengano salvati su un secondo disco `/dev/sdb`. Si dovrà quindi montare su quest'ultimo una cartella appositamente creata per salvare i file recuperati (ad esempio `/recovery/foremost`), modificando infine i permessi di quest'ultimi.
 
 0. Se necessario, [[Hardware/DispositiviPartizioni/IndividuarePartizioni|individuare]] le partizioni presenti.
 0. [[AmministrazioneSistema/ComandiBase#mkdir|Creare]] sul disco `/dev/sda` la cartella `/recovery/foremost`:{{{
sudo mkdir -p /recovery/foremost
}}}
 0. [[AmministrazioneSistema/ComandiBase#mount|Montare]] il disco `/dev/sdb` nella cartella `/recovery`:{{{
sudo mount /dev/sdb /recovery
}}}
 0. Avviare '''foremost''' digitando il comando:{{{
sudo foremost -i /dev/sda -o /recovery/foremost
}}}
 0. I file recuperati saranno di proprietà dell'utente '''root'''. Per cambiare i [[AmministrazioneSistema/PermessiFile|permessi]] digitare il seguente comando:{{{
sudo chown -R nomeutente:nomegruppo /recovery/foremost
}}}
 sostituendo «`nomeutente:nomegruppo`» (rappresentano rispettivamente il nome dell'utente e il nome del gruppo di appartenenza; generalmente utente e gruppo hanno lo stesso identificativo).
 0. Terminato il recupero, sarà possibile [[AmministrazioneSistema/ComandiBase#umount|smontare]] il disco esterno con il comando:{{{
sudo umount /dev/sdb
}}}

<<Anchor(ulteriori_risorse)>>
Linea 153: Linea 133:
 * [[https://help.ubuntu.com/community/Installation/MinimalCD|Documento originale]]
 * [[Hardware/DispositiviPartizioni/MasterizzareIso|Come masterizzare un'immagine ISO]]
 * [[AmbienteGrafico|Ambienti grafici disponibili per Ubuntu]]
 * [[http://foremost.sourceforge.net/|Pagina ufficiale del progetto]]
 * [[https://en.wikipedia.org/wiki/Foremost_(software)|Voce enciclopedica]] (in inglese)
 * [[http://manpages.ubuntu.com/manpages/focal/en/man8/foremost.8.html|Pagina man]]
 * [[https://linuxconfig.org/how-to-recover-deleted-files-with-foremost-on-linux | Guida originae]] (in inglese)
 * [[AmministrazioneSistema/RecuperoDati|Portale recupero dati]]
Linea 158: Linea 140:
CategoryInstallazioneSistema CategoryHomepage
##CategoryAmministrazione


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Foremost è uno strumento da riga di comando per il recupero dei file. La tecnica utilizzata è il data carving, che utilizza le tracce degli header, dei footers e della struttura interna dei dati stessi, senza considerare i metadati del filesystem
Foremost può operare sia su file immagine, sia su supporti fisici quali unità flash, hard disk, schede di memoria ecc. Supporta diversi tipi di filesystem (Fat16/32, Ext3/4, NTFS ecc.) e moltissimi formati di file (.jpg, .png, .zip, .avi, .pdf, .doc, .exe, ecc.).

Sviluppato originariamente da enti governativi statunitensi quali l'Ufficio Investigazioni speciali della United States Air Force e il CISR (Center for Information Systems Security Studies and Research), è stato successivamente reso di pubblico dominio.

Per evitare sovrascritture accidentali di dati, si raccomanda di eseguire il programma su un file immagine di backup a basso livello (a tal fine è possibile usare lo strumento dd), anziché operare direttamente sul supporto di memoria dal quale si vogliono recuperare i file.

Installazione

Installare il pacchetto foremost.

Utilizzo

Durante l'estrazione dei dati, il programma esegue di default le seguenti azioni:

  • crea una cartella chiamata output nella stessa posizione dal quale viene lanciato il comando (ad esempio la Home dell'utente, se il terminale è su ~).

  • crea all'interno di questa directory delle sottocartelle corrispondenti al formato dei file che vengono recuperati (ad esempio jpg, txt, zip ecc.). Per consultare tutti i formati di file riconosciuti consultare la pagina man del programma.

  • al termine della procedura elimina eventuali sottocartelle vuote, per le quali non sono stati trovati file corrispondenti.
  • crea all'interno della cartella di salvataggio il file audit.txt, contenente un report delle azioni svolte dal programma.

  • attribuisce ai file eventualmente trovati un nome ricavato dall'indirizzo del settore sul quale sono allocati (non considera perciò il nome originario, in quanto il programma non tiene conto dei metadati del filesystem).

Utilizzo di base

Supponendo di voler cercare dei file eliminati in una partizione /dev/sdb1, digitare nel terminale il seguente comando:

sudo foremost -i /dev/sdb1

Ricerca da file immagine

Per il recupero da file di immagine è sufficiente sostituire nel comando il nome del disco o partizione (ad esempio /dev/sda) con il nome stesso del file (ad esempio backup.dd).

Ricerca di file specifici

Per cercare soltanto determinati tipi di file è inoltre possibile usare l'opzione -t, con i formati di file separati da una virgola. Ad esempio per cercare in una partizione /dev/sdb1 soltanto file .doc e .pdf, digitare nel terminale il seguente comando:

sudo foremost -t doc,pdf -i /dev/sdb1

È possibile inoltre usare l'opzione -t all per il recupero di tutti i tipi di file conosciuti.

Scelta della cartella di salvataggio

Per evitare sovrascritture accidentali, con consequente impossibilità di recupero dei file, si raccomanda di non impostare la destinazione di salvataggio nello stesso disco e/o partizione in cui sono presenti i file da recuperare.

Per specificare una determinata cartella di salvataggio (diversa da output, ad esempio denominata dati) è possibile usare l'opzione -o, come nel seguente esempio:

sudo foremost -i /dev/sdb1 -o /home/utente/dati

Qualora la cartella di destinazione non esistesse il programma provvederà a crearla.
Nel caso in cui, invece, fosse già presente apparirà un messaggio simile al seguente:

ERROR: /home/utente/dati is not empty
        Please specify another directory or run with -T.

Come suggerito dall'output, sarà possibile a propria scelta:

  • usare una destinazione differente
  • usare l'opzione -T. Quest'ultima provvede a creare una nuova cartella con lo stesso nome, ma inoltre contrassegnata con ora e data (prendendo ancora in esame l'esempio precedente, verrà nominata /home/utente/dati_Sat_Sep_25_16_32_38_2021).

    In questo modo sarà possibile ripetere più volte la ricerca di file, salvando i dati estratti in diverse cartelle, senza coinvolgere i risultati delle precedenti operazioni di recovery.

File di configurazione

Il file di configurazione di Foremost è /etc/foremost.conf.

All'interno del file stesso è possibile consultare le istruzioni (in inglese) utili per aggiungere alla ricerca altri formati di file.
A tale scopo sono infatti presenti diversi esempi commentati che mostrano la sintassi da utilizzare. Basterà quindi aprire il file, con privilegi di amministrazione e con un editor di testo, per decommentare le righe relative ai formati di proprio interesse, aggiungendoli alla ricerca.

Di seguito viene riportato un esempio relativo ai file .tif:

# TIF
#       tif     y       200000000       \x49\x49\x2a\x00

La sintassi della seconda riga nell'esempio contiene i seguenti campi (separati da TAB), da sinistra verso destra:

  • estensione
  • case sensitive (y in caso positivo e n in caso negativo)

  • dimensione massima del file (espressa in byte)
  • header

  • footer (opzionale, può essere omesso)

Diversi formati di file presenti in /etc/foremost.conf sono già supportati nativamente. È infatti presente in corrispondenza la dicitura: «(NOTE THESE FORMATS HAVE BUILTIN EXTRACTION FUNCTION)».

Aggiungere supporto a nuovi formati di file

Basandosi sull'esempio precedente, è quindi possibile aggiungere alla ricerca ulteriori formati, non presenti nel file di configurazione.

Di seguito viene riportato l'esempio di aggiunta dei file in formato flac:

flac    y       30000000    \x66\x4c\x61\x43\x00\x00\x00\x22

Per conoscere o controllare l'header di un tipo di file, può talvolta tornare utile il comando: hd -c nome_file.estensione.file|head (sostituire nome_file e estensione.file con le relative voci).

Esempio concreto di utilizzo

Di seguito sono illustrati tutti i passaggi necessari per estrarre dei file inavvertitamente cancellati su un ipotetico disco /dev/sda.
Si ipotizza, inoltre, che i file da recuperare vengano salvati su un secondo disco /dev/sdb. Si dovrà quindi montare su quest'ultimo una cartella appositamente creata per salvare i file recuperati (ad esempio /recovery/foremost), modificando infine i permessi di quest'ultimi.

  1. Se necessario, individuare le partizioni presenti.

  2. Creare sul disco /dev/sda la cartella /recovery/foremost:

    sudo mkdir -p /recovery/foremost
  3. Montare il disco /dev/sdb nella cartella /recovery:

    sudo mount /dev/sdb /recovery
  4. Avviare foremost digitando il comando:

    sudo foremost -i /dev/sda -o /recovery/foremost
  5. I file recuperati saranno di proprietà dell'utente root. Per cambiare i permessi digitare il seguente comando:

    sudo chown -R nomeutente:nomegruppo /recovery/foremost

    sostituendo «nomeutente:nomegruppo» (rappresentano rispettivamente il nome dell'utente e il nome del gruppo di appartenenza; generalmente utente e gruppo hanno lo stesso identificativo).

  6. Terminato il recupero, sarà possibile smontare il disco esterno con il comando:

    sudo umount /dev/sdb

Ulteriori risorse


CategoryHomepage