Il recupero dati dai file system di Linux

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il recupero dati dai file system di Linux"

Transcript

1 Il recupero dati dai file system di Linux Bartosz Przybylski Artykuł opublikowany w numerze 3/2005 magazynu hakin9. Zapraszamy do lektury całego magazynu. Wszystkie prawa zastrzeżone. Bezpłatne kopiowanie i rozpowszechnianie artykułu dozwolone pod warunkiem zachowania jego obecnej formy i treści. Magazyn hakin9, Software-Wydawnictwo, ul. Piaskowa 3, Warszawa,

2 Il recupero dati dai file system di Linux Bartosz Przybylski Quando, per esempio in seguito ad un attacco al sistema, ci capiterà di perdere in Linux file importanti, non dovremo disperare. Esistono molti metodi per recuperare i dati. Anche se spesso è un lavoro impegnativo, un buon assortimento di strumenti ci permetterà di recuperare anche contenuto completo di un file system danneggiato. Difesa Il nostro server è stato vittima di pirata informatico. L'intruso è stato così malvagio da cancellare dal nostro disco parecchi file importanti, tra questi il programma sul quale abbiamo lavorato un paio di mesi. Prima di fare una reinstallazione del sistema (per assicurarci che non rimanga in esso nessun codice maligno lasciato dall intruso) bisogna cercare di recuperare i dati. Per farlo, dobbiamo servirci di alcuni strumenti che ogni distribuzione di Linux contiene. Strumenti utili Il primo elemento indispensabile è un insieme di strumenti per poter operare sui file system ext2 e ext3 si tratta del pacchetto e2fsprogs. Per noi il più importante sarà debugfs che, come indica il nome, serve per fare il debug dei file system. Di default (per la piattaforma x86) tutto il pacchetto viene installato insieme al sistema. Il successivo strumento indispensabile è reiserfsck che fa parte del pacchetto reiserfsprogs e che serve per editare il file system ReiserFS. Anche questo pacchetto dovrebbe essere allegato al sistema. Invece il programma dd ci servirà per recuperare tutta la partizione con il file system ReiserFS e come alternativa per recuperare dati dai vari tipi dei file system. La preparazione di una partizione per recuperare dati Indipendentemente dal file system dal quale recupereremo i dati, la prima operazione da eseguire sarà quella di smontare la partizione sulla quale lavoreremo. Per avere almeno una parziale certezza che i nostri dati non sono stati in alcun modo danneggiati, dovremo fare questo passo al più presto dopo l'eliminazione dei file. Dall'articolo imparerai... come recuperare dati dai file system di tipo ext2 e ext3, in che modo salvare file dalla partizione Reiser- FS. Cosa dovresti sapere... dovresti saperti servire della linea di comando in Linux, dovresti conoscere le basi della struttura dei file system. 60

3 Il recupero dei dati I termini legati alla gestione dello spazio su disco Gli inode L'inode è una struttura di dati utilizzata nei file system di Linux per descrivere un file. Di essa fanno parte: il tipo di file file ordinario, directory o file di dispositivo, l'identificativo UID di un proprietario, la lista dei blocchi del disco e i loro frammenti che compongono un file. Possiamo considerare l'inode come un particolare identificatore di un file su disco, di cui il sistema si serve per trovare un file richiesto. Ogni file su una data partizione ha un solo inode subordinato. Il blocco del disco Il blocco del disco è una parte di spazio su una partizione, che conserva informazioni. La dimensione di un blocco è definita da un utente durante la divisione del disco in partizioni. Può però essere cambiata usando i programmi per la modifica di un dato file system. Contrariamente agli inode, molti blocchi possono appartenere ad un solo file. Il journaling Il journaling (ingl. journaling, registrazione dei cambiamenti) è uno dei metodi per conservare dati su disco. Il principio è semplice ma particolarmente efficace. Lo schema di funzionamento, un po' semplificato, è visibile nella Fig. 1. Come si vede, File1 dopo la modifica non cambierà i dati compresi nella sua vecchia posizione (contrariamente ai file system senza il journaling), ma i dati saranno registrati in una nuova posizione. Questa è una grande cosa, infatti quando giungeremo alla conclusione che la versione precedente era migliore, anche dopo notevoli modifiche, saremo in grado di recuperare la forma originale di un file. Per smontare una partizione basta umount /dev/hdax (dove X è il numero della partizione dalla quale sono stati cancellati i dati, nel nostro caso essa avrà il valore 10). Se però durante quest'operazione otterremo il messaggio: # umount /dev/hda10 umount: /tmp: device is busy questo significa che qualche processo utilizza questa partizione. Ci sono due le vie d'uscita da una tale situazione. Una di queste è uccidere il processo che utilizza una data partizione. Prima però bisogna controllare quali processi bloccano la partizione. Utilizzeremo il programma fuser, che serve per identificare utenti e processi che adoperano determinati file o socket: di ottenere in output dati più dettagliati, con ciò, invece dei soli numeri PID, vedremo anche gli argomenti null dei programmi. Se constateremo che i processi ci sono inutili, basterà eliminarli con il comando: # fuser -k -v -m /dev/hda10 Se invece preferiamo terminare i processi normalmente, dovremo eseguire: # fuser -TERM -v -m /dev/hda10 Un modo alternativo per smontare un file system è quello di metterlo in modalità RO (read only). In questo modo i nostri file non potranno essere sovrascritti. Per eseguire quest'azione, dovremo impartire il seguente comando: # mount -o ro, remount /dev/hda10 Attenzione: il comando non funzionerà, se la partizione è la root directory, ossia il file system principale. Se in effetti è così, dovremo informare di questo il programma mount, affinché non registri i cambiamenti nel file /etc/mtab. A questo scopo aggiungiamo il parametro -n. Il recupero dati in Ext2fs Il primo tipo di file system del quale ci occuperemo è ext2fs (per saperne di più su questo e su altri file system, conviene dare un'occhiata al Riquadro I file system di Linux). Cominciamo trovando gli inode cancellati. La ricerca degli inode cancellati Per fare questo passo utilizzeremo il programma debugfs dal pacchetto e2fsprogs. Avviamo l'applicazione aprendo la partizione richiesta: # debugfs /dev/hda10 Quando apparirà un messaggio di prompt, dovremo eseguire il comando lsdel, che ci farà vedere tutti i file cancellati dal momento della creazione di questa partizione (nel caso di sistemi pubblici questa lista può avere migliaia di righe e la sua compilazione esige a volte un po' di tempo). Adesso esclusivamente in base alla data della cancellazione, # fuser -v -m /dev/hda10 L'opzione -m /dev/hda10 imporrà al programma di verificare quali servizi utilizzano la partizione hda10. Invece l'opzione -v (verbose) ci permetterà Fig. 1: Lo schema di funzionamento del journaling 61

4 Difesa Listing 1. L'effetto del comando lsdel del programma debugfs debugfs: lsdel Inode Owner Mode Size Blocks Time deleted /14 Tue Feb 15 19:13: /5 Tue Feb 15 19:13: deleted inodes found. debugfs: Listing 2. Il riversamento dei dati recuperati su di un file debugfs: dump <24> /home/aqu3l/recovered.000 debugfs: quit # cat /home/aqu3l/recovered.000 all'uid dell'utente e alla dimensione possiamo dedurre quali file appartenevano a noi e quali vogliamo recuperare. Una buona idea è scrivere o stampare i numeri degli inode. Guardiamo da vicino l'esito del comando lsdel (vedere Listing 1). Le colonne nei risultati del comando lsdel si presentano in questo ordine: il numero dell'inode (inode), il proprietario (owner), le opzioni d'accesso (mode), la dimensione in byte (size), il numero di blocchi occupati (blocks), il tempo di cancellazione (time deleted). Come si vede, i file cancellati hanno i numeri degli inode pari a 20 e 24. Cercheremo di recuperare proprio questi dati. Il recupero dei dati Adesso possiamo provare a recuperare l'inode 24 tramite il riversamento (ingl. dump) dei dati su un altro file. Come si vede nel Listing 1, occupa 5 blocchi. È un'informazione abbastanza importante questo metodo non sempre può essere efficace con file che occupano più di 12 blocchi. L'esempio di tale recupero si trova nel Listing 2. Tra le parentesi angolari indichiamo il nome del file o il numero dell'inode. Il secondo parametro è il nome del file di destinazione bisogna indicarlo con il percorso I file system di Linux d'accesso completo, quindi l'abbreviazione ~/ non avrà effetto. Una volta eseguito il comando digitiamo quit ed andiamo a leggere il contenuto del file recuperato. Spesso alla fine del file recuperato possono apparire diversi caratterispazzatura; sono i resti di altri file sovrascritti. Si possono eliminare con l'uso di un qualsiasi editor di testo. Questo metodo è ovviamente efficace soltanto nel caso di file di testo. C'è rimasto da recuperare un file dall'inode 20 (vedere Listing 1). Occupa 14 blocchi e, come abbiamo menzionato, il metodo del trasferimento dei dati da un inode che conta più di 12 blocchi non termina con successo (vedere Riquadro I blocchi e la loro gerarchia in ext2fs). Perciò per recuperare il 20º inode useremo il programma dd. Prima di recuperare il file verifichiamo i dati principali, cioè i numeri dei blocchi e la dimensione del blocco sulla partizione. Per verificare la dimensione del blocco utilizzeremo il comando: # dumpe2fs /dev/hda10 \ grep "Block size" Ext2fs Il file system, il cui principale creatore è Theodore Ts'o. Non ha il journaling. È stato progettato in modo tale che sia possibile recuperare dati da una partizione. È uno dei più popolari (proprio a causa della facilità di recupero) file system di UNIX. Ext3fs In teoria è la versione successiva di ext2. Nonostante non sia stato progettato così bene come il suo predecessore, offre la possibilità del journaling. Uno dei principali difetti è che gli sviluppatori non vi hanno previsto in ext3 la possibilità di recuperare un file cancellato. Questo succede perché il sistema dopo aver segnato il file come cancellato ne libera anche l'inode relativo, in questo modo rendendo impossibile leggere gli inode eliminati. ReiserFS Il file system creato dalla NameSys, più precisamente da Hans Reiser (da qui il nome). Fornisce anche il journaling; è stato sviluppato in base all'algoritmo dell'albero bilanciato (ingl. balanced tree). Maggiori informazioni sulla struttura specifica di reiserfs si trovano sul sito Web degli sviluppatori (vedere Riquadro In Rete). Jfs Jfs (IBM's Journaled File System for Linux) è il file system scritto dalla IBM per la piattaforma Linux. Ha lo scopo di rendere più efficiente la comunicazione con i prodotti IBM. È basato su un principio del journaling, similmente al resto dei sistemi che lo adoperano. Questo significa che i nuovi dati memorizzati vengono posti all'inizio del disco, invece le informazioni nel blocco principale, vengono aggiornate. Xfs Extended filesystem è stato progettato per i computer che hanno la necessità di conservare un grande numero di file in una sola directory e che devono averne un accesso immediato. Progettato principalmente per Irix, ha trovato anche impiego nei supercomputer funzionanti con il sistema GNU/Linux. Una curiosità è il fatto che il sistema è capace di mantenere in una sola directory persino 32 milioni di file. 62

5 Il recupero dei dati I blocchi e la loro gerarchia in ext2fs I blocchi sul disco non sono una sola sequenza attribuita ad un file (inode). In certe parti (dipendenti dal file system, non dall'utente) sono presenti i cosidetti blocchi indiretti, di tre tipi: il blocco indiretto (ingl. indirect block) IND, il blocco doppiamente indiretto (ingl. double indirect block) DIND, il blocco triplamente indiretto (ingl. triple indirect block) TIND. Ogni blocco successivamente numerato dipende dal precedente, però anche ogni successivo può conservare un maggiore numero di blocchi: i numeri dei primi 12 blocchi sono conservati direttamente in un inode (proprio essi sono spesso chiamati blocchi indiretti), un inode contiene il numero di un blocco indiretto; il blocco indiretto contiene i numeri dei successivi 256 blocchi con dati, un inode contiene il numero di un blocco doppiamente indiretto. Il blocco doppiamente indiretto contiene i numeri dei 256 blocchi indiretti supplementari, un inode contiene il numero di un blocco triplamente indiretto; il blocco triplamente indiretto contiene i numeri dei 256 blocchi doppiamente indiretti supplementari. La struttura è presentata nella Fig. 2. Listing 3. La verifica dei blocchi da recuperare # debugfs /dev/hda10 debugfs: stat <20> Inode: 20 Type: regular Mode: 0644 Flags: 0x0 Generation: User: 0 Group: 0 Size: BLOCKS: (0-11): , (IND): 22027, (12):22028 TOTAL: 14 Listing 4. Il recupero dei file tramite la modifica diretta di un inode da recuperare. Quest'operazione, la vediamo nel Listing 3 prestiamo attenzione al fatto che il blocco è un blocco indiretto (IND). Ci interessa la penultima riga, proprio in essa sono indicati i blocchi che appartengono al dato inode. Utilizziamo il programma dd per recuperare i blocchi da 0 (bisogna cominciare sempre da questo numero a contare i blocchi) a 11: # dd bs=4k if=/dev/hda10 \ skip=22015 count=12 \ > ~/recovered.001 # dd bs=4k if=/dev/hda10 \ skip=22028 count=1 \ >> ~/recovered.001 Alcune spiegazioni: bs indica la dimensione del blocco (fornito in kilobyte), che avevamo prima, if indica il file di input (ingl. input file), skip impone al programma di saltare blocchi della dimensione bs data, count indica il numero dei blocchi da aggregare. Il blocco è doppiamente indiretto, ecco perché l'abbiamo omesso ed abbiamo subito aggregato il blocco # debugfs -w /dev/hda10 debugfs: mi <24> Mode [ ] User ID [0] Group ID [0] Deletion time [ ] 0 Link count [0] 1 debugfs: quit # e2fsck -f /dev/hda10 e2fsck 1.35 (28-Feb-2004) Unattached inode 14 Connect to /lost+found<y>? yes In risposta dovremmo ottenere: dumpe2fs 1.35 (28-Feb-2004) Block size: 4096 Proprio quest'ultimo numero (4096) è la dimensione del blocco. Adesso, quando abbiamo già la dimensione del blocco, verifichiamo i blocchi La modifica degli inode Adesso ci occuperemo di un altro modo per recuperare dati della modifica diretta degli inode. Essa consiste nel cambiamento di un inode, in modo tale che il file system tratti rispettivi dati come mai cancellati, e in occasione della prossima verifica del disco sposti il file cancellato nella cartella lost+found su una data partizione. Anche per la modifica utilizzeremo il programma debugfs. L'intera procedura è riportata nel Listing 4. Come si vede, sono state modificate soltanto due stringhe: il tempo di cancellazione (deletion time non è però del tutto vero, perché il sistema non è in grado di determinare la data di cancellazione di un file) e il numero dei collegamenti al file 63

6 (link count). Adesso, dopo avere terminato il lavoro da debugfs, basta eseguire il comando: # e2fsck -f /dev/hda10 Il programma, dopo aver incontrato l'inode modificato, riconoscerà che esso non ha nessun allegato (ingl. unattached) e chiederà se i dati descritti in questo inode sono da allegare alla cartella lost+found. Se ci teniamo al file ovviamente premiamo il tasto y. Però non c'è rosa senza spine avendo dato un'occhiata nella cartella non vedremo i nomi eleganti dei file, ma esclusivamente i nomi degli inode ricostruiti (p.es. 24). Bisogna allora esplorare il file e dal contenuto riconoscere il suo nome originale. Ext3fs Il recupero dati in questo file system è specifico, a volte persino molto impegnativo (vedi anche Riquadro I file system di Linux). In verità non c'è nessun modo di recupero consolidato per questo tipo di partizione. Esistono però metodi non ufficiali per salvare dati. Difesa Figura 2. La struttura dei blocchi nel file system ext2 Listing 5. La ricerca degli inode cancellati in ext3fs # debugfs /dev/hda10 debugfs: lsdel Inode Owner Mode Size Blocks Time deleted 0 deleted inodes found. debugfs: q Listing 6. Il recupero dati dalla partizione ext3 montata come ext2 debugfs: lsdel Inode Owner Mode Size Blocks Time deleted /14 Tue Feb 14 19:20: /5 Tue Feb 15 19:13: deleted inodes found. debugfs: È ext3 o ext2? Ext3 e ext2 sono file system molto simili (ad eccezione del journaling e del modo di cancellare file) utilizziamo allora questo fatto per recuperare i nostri dati. Cercheremo di usare debugfs; questo processo è stato presentato nel Listing 5. Guardiamo il Listing 5. I nostri inode sono stati cancellati dal file system. La via che abbiamo scelto sembra non condurre in nessun luogo. Possiamo però provare un trucco fare in modo che il sistema tratti il file system come ext2. Questa soluzione si suddivide in tre tappe: smontare il file system, montarlo nuovamente, però questa volta come ext2, recuperare i file. Smontiamo allora la partizione: # umount /dev/hda10 64

7 Il recupero dei dati In seguito dobbiamo montarla di nuovo come ext2, per maggior sicurezza in modalità read only: # mount -o ro -t ext2 \ /dev/hda10 /tmp Adesso cerchiamo di lavorare con debugfs nel modo, che abbiamo presentato parlando del sistema ext2. Come trovare gli inode cancellati dalla partizione ext3 è illustrato nel Listing 6. L'inode 20 ha una falsa data di cancellazione. Succede così perché dopo la liberazione dell'inode da ext3, il sistema ext2 può avere dei problemi sulla lettura di dati corretti sui file. Dopo un'attenta analisi dell'intera lista dei file eliminati possiamo iniziare ad occuparci del recupero dei file di cui abbiamo bisogno. Il metodo è lo stesso come nel caso di ext2, però con ext3 si può incontrare qualche problema dopo la modifica diretta dell'inode. In alcuni casi può persino causare l'illeggibilità dell'intera partizione per il sistema. Il lavoro duro rende Il secondo metodo per recuperare dei file da ext2 è molto più difficile, però rende possibile recuperare un numero molto più grande di file di testo cancellati. Anche questo metodo, purtroppo, ha un serio difetto richiede l'esplorazione manuale del contenuto dei dischi, allora il salvataggio dei file binari è molto difficile. Una buona idea è quella di fare prima una copia di backup dell'intero disco. Facciamolo con il comando: $ dd if=/dev/hda10 \ >~/hda10.backup.img In Rete Listing 7. dsksplitter.pl un semplice script per dividere dischi #!/usr/bin/perl if ($ARGV[3] eq "") { print "Usage:\ndsksplitter.pl <dsk_parts> <part_size in Kb> <partition_to_split> <target_dir>"; } else { $parts = $ARGV[0]; $size = $ARGV[1]; $partition = $ARGV[2]; $tardir = $ARGV[3]; for ($i = 1; $i <= $parts; $i++) { system "dd bs=1k if=$partition of=$tardir/dks.$i count=$size skip=$ix$size"; } } Per facilitarci un po' il lavoro, possiamo suddividere la nostra partizione in parti più piccole. Se la partizione ha la capacità di 1 GB, sarà prudente dividerla in 10 parti da 100 MB. Un semplice script destinato a questo scopo è stato presentato nel Listing 7 il disco lo possiamo suddividere con il comando: $ dsksplitter.pl \ /dev/hda10 ~/dsk.split Utilizziamo ora il comando di sistema grep per trovare le sequenze di caratteri che ci interessano (per questa attività possiamo ovviamente usare il comando strings): $ grep -n -a -1 \ "int main" ~/dsk.split/* la pagina del pacchetto e2fsprogs, la homepage di ext2fs, la homepage degli sviluppatori di ReiserFS, il sito del file system jfs, la pagina del progetto xfs, il pacchetto unrm. Il parametro -n ci indicherà il numero della linea del file in cui si trova la sequenza. Il parametro -a impone di trattare i file binari come i file di testo, invece -1 visualizzerà una linea prima ed una linea dopo la sequenza trovata. Ovviamente possiamo cambiare la sequenza int main in una qualsiasi. Ecco i risultati ottenuti: ~/dsk.split/dsk.1:40210: #include <sys/socket.h> ~/dsk.split/dsk.1:40211: int main (int argc, char *argv[]) ~/dsk.split/dsk.1:40212: { Ext3 registra i nuovi file all'inizio del disco, possiamo allora supporre che la linea da noi trovata è proprio quella che cerchiamo. Proviamo, allora, ancora una volta, a dividere il file in parti più piccole e lì cercare i dati: $ mkdir ~/dsk1.split $ dsksplitter.pl \ ~/dsk.split/dsk.1 ~/dsk1.split Eseguiamo adesso il comando grep sul file dsk.1 diviso: $ grep -n -a -1 \ "int main" ~/dsk1.split/* Otterremo: ~/dsk1.split/dsk.3:143: #include <sys/socket.h> ~/dsk1.split/dsk.3:144: int main (int argc, char *argv[]) ~/dsk1.split/dsk.3:145: { Adesso abbiamo il file con il programma cancellato dall'intruso. In verità il file, in cui l'abbiamo trovato è di 10 MB, però, ad ogni modo, 65

8 Difesa è una prospettiva molto migliore che dover esplorare 1 GB di dati. Se però questa precisione non ci soddisfa, possiamo tentare di dividere il file di frammento di disco esaminato in parti ancora più piccole. Se la dimensione del file verrà diminuita abbastanza, non ci rimane che avviare un editor di testo ed occuparci della penosa eliminazione delle righe superflue. Questa tecnica è impegnativa, però efficace. È stata sottoposta ad un test con alcune distribuzioni di Linux, però non possiamo garantire che il metodo funzionerà su tutti i sistemi Linux. Il recupero in ReiserFS Per recuperare i file ci serviremo dei programmi standard di Linux. Cominciamo da dd lo useremo per creare l'immagine della partizione. È indispensabile, perché le azioni che eseguiremo potrebbero causare dei danni irreversibili. Eseguiamo allora il comando: $ dd bs=4k if=/dev/hda10 \ conv=noerror \ > ~/recovery/hda10.img dove /dev/hda10 è la partizione da recuperare, e bs (block size) lo abbiamo determinato con il comando: $ echo "Yes" reiserfstune \ -f /dev/hda10 grep "Blocksize" Il parametro conv=noerror causerà la conversione al file senza trasmettere errori, vuol dire che, anche se il programma incontrerà errori sul disco, continuerà a convertire dati al file. Dopo aver immesso il comando saremo costretti ad aspettare un determinato lasso di tempo, dipendente dalla dimensione della partizione. Adesso bisogna spostare il contenuto della nostra immagine della partizione sul dispositivo di loopback loop0, assicurandoci prima che sia libero: # losetup -d /dev/loop0 # losetup /dev/loop0 \ /home/aqu3l/recovery/hda10.img In seguito bisogna ricostruire l'albero l'intera partizione verrà verificata, invece qualsiasi resto dopo gli inode verrà aggiustato e ripristinato. Per fare ciò useremo il comando: # reiserfsck rebuild-tree -S \ -l /home/aqu3l/recovery/log /dev/loop0 Il parametro supplementare -S farà sì che venga verificato l'intero disco, e non soltanto la sua parte occupata. Il parametro -l con il parametro /home/user/recovery/log registra un file di log nella directory indicata. Adesso creiamo la directory per la nostra partizione e la montiamo: # mkdir /mnt/recover; \ mount /dev/loop0 /mnt/recover I file recuperati si possono trovare in uno dei seguenti tre luoghi. Il primo è la directory originale del file (trattiamo /mnt/recover/ come root directory). Il secondo è la directory lost+found nella nostra directory temporale principale (/mnt/recover). Il terzo è semplicemente la directory principale della partizione. Il file cercato quasi per certo si troverà in una di tre luoghi elencati. Se non lo troviamo lì, due possono essere le spiegazioni: o era il primo file sulla partizione ed è stato sovrascritto, oppure è stato erroneamente spostato in un'altra directory. Nel primo caso dovremo rinunciare ai nostri dati, invece nel secondo possiamo trovarlo in un altro luogo, utilizzando lo strumento find: $ find /mnt/recover \ -name nostri_dati Il recupero di un file recentemente modificato Concentriamoci adesso sul recupero di un solo file, recentemente modificato. Questo metodo si può adattare anche per i file più vecchi, però tale recupero dovrà essere basato su faticosi calcoli uniti ad un'ottima conoscenza del proprio file system e non ultimo ad una buona dose di fortuna. Come si vede nella Fig. 1, nei file system con journaling i nuovi file vengono registrati all'inizio stesso del disco. In teoria il nostro file si trova subito dietro al cosiddetto blocco principale (ingl. root block), ossia il blocco del disco che determina il luogo da dove cominciano i dati. Per localizzare il nostro root block bisogna eseguire il comando: # debugreiserfs /dev/hda10 \ grep "Root block" Otterremo qualcosa simile a: debugreiserfs (2003 Root block: 8221 Come è facile indovinare, 8221 è il numero del nostro blocco principale. Dobbiamo anche, almeno approssimativamente, stabilire la dimensione del nostro file diciamo che esso aveva 10 kb, quindi il triplo della dimensione dei blocchi dovrebbe essere sufficiente. A questo punto possiamo allora eseguire il comando: # dd bs=4k if=/dev/hda10 \ skip=8221 count=3 \ > ~/recovered.003 Dopo il recupero dei dati bisogna verificare la loro concordanza con il file cercato: # cat ~/recovered.003 Come nel caso di ext2fs alla fine del file possiamo incontrare spazzatura di ogni genere con facilità l'elimineremo. Facilitarsi la vita Esistono dei programmi, che automatizzano i modi presentati di recupero dati. Il maggior numero degli strumenti di questo tipo funziona con il file system ext2. Raccomandabile è il pacchetto unrm e la libreria e2undel scritta da Olivier Diedrich, funzionante con il pacchetto e2fsprogs. Ovviamente non dovremo sempre aspettarci di riuscire a recuperare il 100 per cento dei file cancellati (a volte è possibile) se riusciremo a salvare circa l'80 per cento di un file di grandi dimensioni, potremo considerarlo un successo. 66

Installazione LINUX 10.0

Installazione LINUX 10.0 Installazione LINUX 10.0 1 Principali passi Prima di iniziare con l'installazione è necessario entrare nel menu di configurazione del PC (F2 durante lo start-up) e selezionare nel menu di set-up il boot

Dettagli

Analisi di sistemi compromessi (ricerca di rootkit, backdoor,...)

Analisi di sistemi compromessi (ricerca di rootkit, backdoor,...) Analisi di sistemi compromessi (ricerca di rootkit, backdoor,...) Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161

Dettagli

Virtualizzazione e installazione Linux

Virtualizzazione e installazione Linux Virtualizzazione e installazione Linux Federico De Meo, Davide Quaglia, Simone Bronuzzi Lo scopo di questa esercitazione è quello di introdurre il concetto di virtualizzazione, di creare un ambiente virtuale

Dettagli

Lezione 15 File System

Lezione 15 File System Lezione 15 File System Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2014/2015 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

RSYNC e la sincronizzazione dei dati

RSYNC e la sincronizzazione dei dati RSYNC e la sincronizzazione dei dati Introduzione Questo breve documento intende spiegare come effettuare la sincronizzazione dei dati tra due sistemi, supponendo un sistema in produzione (master) ed uno

Dettagli

CRYPTSETUP RAPIDO. man cryptsetup

CRYPTSETUP RAPIDO. man cryptsetup CRYPTSETUP RAPIDO La presente guida non vuole essere completa, si tratta solo della somma degli appunti utilizzati per creare e gestire una zona cifrata ove salvare i documenti. La distribuzione di riferimento

Dettagli

Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk. by Gassi Vito info@gassielettronica.com

Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk. by Gassi Vito info@gassielettronica.com Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk by Gassi Vito info@gassielettronica.com Questa breve guida pratica ci consentirà installare Zeroshell su pen drive o schede

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Integrated Development Environment (IDE) DevC++ 4.9.9.2

Integrated Development Environment (IDE) DevC++ 4.9.9.2 Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente Data ultima revisione: 22/10/2008 Fondamenti di informatica Università Facoltà Corso di laurea Politecnico di Bari 1 a Facoltà di

Dettagli

Zeroshell su vmware ESXi 4.1

Zeroshell su vmware ESXi 4.1 Zeroshell su vmware ESXi 4.1 Introduzione Vediamo come installare Zeroshell su Vmware ESXi 4.1 usando come immagine quella per IDE,SATA e USB da 1GB. Cosa ci serve prima di iniziare: Una distro Live io

Dettagli

1.1.1 ATLAS Postazione Studente : CONFIGURAZIONE DI ATLAS CON CLIENT LINUX

1.1.1 ATLAS Postazione Studente : CONFIGURAZIONE DI ATLAS CON CLIENT LINUX 1.1.1 ATLAS Postazione Studente : CONFIGURAZIONE DI ATLAS CON CLIENT LINUX Configurazione di Atlas con client Linux DESCRIZIONE Di seguito sono descritte le operazioni da effettuare per configurare correttamente

Dettagli

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

APRS su Linux con Xastir, installazione dai sorgenti

APRS su Linux con Xastir, installazione dai sorgenti APRS su Linux con Xastir Installazione dai sorgenti L installazione di Xastir Per installare Xastir non è richiesto essere un guru di Linux, anche se una conoscenza minima della piattaforma è necessaria.

Dettagli

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it Introduzione ai Device Drivers in Linux E.Mumolo, DEEI mumolo@units.it 1 Device Drivers Moduli software che gestiscono le periferiche attraverso il file system Tutte le periferiche sono viste come file

Dettagli

L'ambiente UNIX: primi passi

L'ambiente UNIX: primi passi L'ambiente UNIX: primi passi Sistemi UNIX multiutente necessità di autenticarsi al sistema procedura di login Login: immissione di credenziali username: nome identificante l'utente in maniera univoca password:

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012 Marco Giorgi Palazzo di Giustizia di Torino 30 marzo 2012 Post mortem (Dopo lo spegnimento del sistema) Si smonta il dispositivo e lo si collega ad un PC dedicato all'acquisizione Live forensics (Direttamente

Dettagli

Gestione di File e Directory

Gestione di File e Directory Gestione di File e Directory Duplicazione di file descriptor Un file descriptor puo' essere duplicato utilizzando: int dup (int filedes); int dup2(int filedes, int filedes2); dup restituisce un file descriptor

Dettagli

Il Sistema Operativo: il File System

Il Sistema Operativo: il File System Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono

Dettagli

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT Introduzione Un file batch è un file di testo di tipo ASCII che contiene una sequenza di comandi DOS. I file batch devono avere estensione.bat I comandi DOS all interno dei programmi batch sono eseguiti

Dettagli

File e Directory. M. Guarracino - File e Directory 1

File e Directory. M. Guarracino - File e Directory 1 File e Directory M. Guarracino - File e Directory 1 File e Directory Abbiamo visto come si possono utilizzare funzioni di I/O per i file: open, read, write, lseek e close Vogliamo ora analizzare ulteriori

Dettagli

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED SED è un programma in grado di eseguire delle trasformazioni elementari in un flusso di dati di ingresso,

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

sed: editor non interattivo di file di testo (1974 nei Bell Labs come evoluzione di grep, Lee E. McMahon)

sed: editor non interattivo di file di testo (1974 nei Bell Labs come evoluzione di grep, Lee E. McMahon) Sed & Awk Sed e Awk sed: editor non interattivo di file di testo (1974 nei Bell Labs come evoluzione di grep, Lee E. McMahon) awk: linguaggio per l'elaborazione di modelli orientato ai campi (1977, Bell

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Hard Disk Upgrade Mini How-To

Hard Disk Upgrade Mini How-To Yves Bellefeuille yan@storm.ca Konrad Hinsen hinsen@cnrs-orleans.fr v2.11, 13 Aprile 2000 Come copiare un sistema Linux da un disco fisso ad un altro. Traduzione in italiano a cura di Nicola Girardi (girardi(at)keycomm.it)

Dettagli

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore Cicli in Visual Basic for Application Le strutture del programma che ripetono l'esecuzione di una o più istruzioni sono chiamate Cicli. Alcune strutture per i cicli sono costruite in modo da venire eseguite

Dettagli

NetMonitor. Micro guida all uso per la versione 1.2.0 di NetMonitor

NetMonitor. Micro guida all uso per la versione 1.2.0 di NetMonitor NetMonitor Micro guida all uso per la versione 1.2.0 di NetMonitor Cos è NetMonitor? NetMonitor è un piccolo software per il monitoraggio dei dispositivi in rete. Permette di avere una panoramica sui dispositivi

Dettagli

GARR WS9. OpenSource per l erogazione di servizi in alta disponibilità. Roma 17 giugno 2009

GARR WS9. OpenSource per l erogazione di servizi in alta disponibilità. Roma 17 giugno 2009 GARR WS9 OpenSource per l erogazione di servizi in alta disponibilità Roma 17 giugno 2009 Mario Di Ture Università degli Studi di Cassino Centro di Ateneo per i Servizi Informatici Programma Cluster Linux

Dettagli

Boot Camp Guida di installazione e configurazione

Boot Camp Guida di installazione e configurazione Boot Camp Guida di installazione e configurazione Indice 3 Introduzione 4 Panoramica dell'installazione 4 Passo 1: Verificare la presenza di aggiornamenti 4 Passo 2: Per preparare il Mac per Windows 4

Dettagli

Installare e configurare Easy Peasy (Ubuntu Eee) su Asus Eee PC mini howto

Installare e configurare Easy Peasy (Ubuntu Eee) su Asus Eee PC mini howto Installare e configurare Easy Peasy (Ubuntu Eee) su Asus Eee PC mini howto Augusto Scatolini (webmaster@comunecampagnano.it) Ver. 1.0 (marzo 2009) ultimo aggiornamento aprile 2009 Easy Peasy è una distribuzione

Dettagli

Creare e ripristinare immagine di sistema con Windows 8

Creare e ripristinare immagine di sistema con Windows 8 Creare e ripristinare immagine di con Windows 8 La versione Pro di Windows 8 offre un interessante strumento per il backup del computer: la possibilità di creare un immagine completa del, ovvero la copia

Dettagli

Modulo 2 - Appendice 3 L'editor vi e cenni su sed

Modulo 2 - Appendice 3 L'editor vi e cenni su sed 1 Modulo 2 - Appendice 3 L'editor vi e cenni su sed Laboratorio di Sistemi Operativi I Anno Accademico 2008-2009 Copyright 2005-2007 Francesco Pedullà, Massimo Verola Copyright 2001-2005 Renzo Davoli,

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

FUNZIONI AVANZATE DI EXCEL

FUNZIONI AVANZATE DI EXCEL FUNZIONI AVANZATE DI EXCEL Inserire una funzione dalla barra dei menu Clicca sulla scheda "Formule" e clicca su "Fx" (Inserisci Funzione). Dalla finestra di dialogo "Inserisci Funzione" clicca sulla categoria

Dettagli

Laboratorio di Sistemi Operativi

Laboratorio di Sistemi Operativi II Semestre - Marzo/Giugno 2008 Matricole congr. 0 mod 3 File & Directory #include #include stat,fstat e lstat int stat (const char *pathname, struct stat *buf); int fstat (int

Dettagli

I Metacaratteri della Shell Unix

I Metacaratteri della Shell Unix I Metacaratteri della Shell Unix La shell Unix riconosce alcuni caratteri speciali, chiamati metacaratteri, che possono comparire nei comandi. Quando l utente invia un comando, la shell lo scandisce alla

Dettagli

Lezione su Informatica di Base

Lezione su Informatica di Base Lezione su Informatica di Base Esplora Risorse, Gestione Cartelle, Alcuni tasti di scelta Rapida Domenico Capano D.C. Viterbo: Lunedì 21 Novembre 2005 Indice Una nota su questa lezione...4 Introduzione:

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

ACCESSO AL PORTALE INTERNET GSE

ACCESSO AL PORTALE INTERNET GSE ACCESSO AL PORTALE INTERNET GSE Guida d uso per la registrazione e l accesso Ver 3.0 del 22/11/2013 Pag. 1 di 16 Sommario 1. Registrazione sul portale GSE... 3 2. Accesso al Portale... 8 2.1 Accesso alle

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio:

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio: Flops FLOPS e' un'abbreviazione di Floating Point Operations Per Second e indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU. (Top500 e il BlueGene) Ad esempio nel caso del

Dettagli

GUIDA DELL UTENTE IN RETE

GUIDA DELL UTENTE IN RETE GUIDA DELL UTENTE IN RETE Memorizza registro di stampa in rete Versione 0 ITA Definizione delle note Nella presente Guida dell'utente viene utilizzata la seguente icona: Le note spiegano come intervenire

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

OS X come piattaforma di analisi : Diskarbitrationd

OS X come piattaforma di analisi : Diskarbitrationd Maurizio Anconelli OS X come piattaforma di analisi : Diskarbitrationd Con la crescente diffusione sui desktop di giovani e professionisti, il sistema operativo della mela morsicata inizia a rivestire

Dettagli

Guida al ripristino e alla risoluzione dei problemi. Creare i dischi di ripristino subito dopo l'impostazione.

Guida al ripristino e alla risoluzione dei problemi. Creare i dischi di ripristino subito dopo l'impostazione. Guida al ripristino e alla risoluzione dei problemi Creare i dischi di ripristino subito dopo l'impostazione. Indice Trovare le informazioni necessarie... 3 Ripristino e backup... 4 Cos'è il ripristino

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

SCUOLA PRIMARIA DI MONTE VIDON COMBATTE CLASSE V INS. VIRGILI MARIA LETIZIA

SCUOLA PRIMARIA DI MONTE VIDON COMBATTE CLASSE V INS. VIRGILI MARIA LETIZIA SCUOLA PRIMARIA DI MONTE VIDON COMBATTE CLASSE V INS. VIRGILI MARIA LETIZIA Regoli di Nepero Moltiplicazioni In tabella Moltiplicazione a gelosia Moltiplicazioni Con i numeri arabi Regoli di Genaille Moltiplicazione

Dettagli

DEFT Zero Guida Rapida

DEFT Zero Guida Rapida DEFT Zero Guida Rapida Indice Indice... 1 Premessa... 1 Modalità di avvio... 1 1) GUI mode, RAM preload... 2 2) GUI mode... 2 3) Text mode... 2 Modalità di mount dei dispositivi... 3 Mount di dispositivi

Dettagli

DNS (Domain Name System) Gruppo Linux

DNS (Domain Name System) Gruppo Linux DNS (Domain Name System) Gruppo Linux Luca Sozio Matteo Giordano Vincenzo Sgaramella Enrico Palmerini DNS (Domain Name System) Ci sono due modi per identificare un host nella rete: - Attraverso un hostname

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Test installazione XEN su black

Test installazione XEN su black Test installazione XEN su black andrea 10 giu 2010 v.1.2 Installare un sistema minimale con le seguenti partizioni /boot 256Mb ext2 (boot macchina host) / 10GB ext3 (/ macchina host) swap 2 GB (macchina

Dettagli

Guida all utilizzo del dispositivo USB

Guida all utilizzo del dispositivo USB Guida all utilizzo del dispositivo USB 30/04/2013 Sommario - Limitazioni di responsabilità e uso del manuale... 3 1. Glossario... 3 2. Guida all utilizzo del dispositivo USB... 4 2.1 Funzionamento del

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

Editor vi. Editor vi

Editor vi. Editor vi Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta

Dettagli

IL LINGUAGGIO C++ Configurazione di Dev-C++

IL LINGUAGGIO C++ Configurazione di Dev-C++ IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:

Dettagli

1) Le Espressioni regolari

1) Le Espressioni regolari ESPRESSIONI REGOLARI e FILTRI SED, GREP e AWK 1) Le Espressioni regolari Un'espressione regolare è un modello che descrive un insieme di stringhe. Le espressioni regolari sono costruite, in maniera analoga

Dettagli

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

Dettagli

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. 1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. (a) Da quanti bit è costituito l indirizzo logico? (b) Da quanti bit

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

OPERAZIONI SUL FILE SYSTEM OPERAZIONI SUL FILE SYSTEM

OPERAZIONI SUL FILE SYSTEM OPERAZIONI SUL FILE SYSTEM SPOSTARE un file o una sottodirectory da una directory ad un altra COPIARE un file o una directory da una directory all altra RINOMINARE un file o una directory CANCELLARE un file o una directory CREARE

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

Che Cos'e'? Introduzione

Che Cos'e'? Introduzione Level 3 Che Cos'e'? Introduzione Un oggetto casuale e' disegnato sulla lavagna in modo distorto. Devi indovinare che cos'e' facendo click sull'immagine corretta sotto la lavagna. Piu' veloce sarai piu'

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Manuale dell'utente di Symantec Backup Exec System Recovery Granular Restore Option

Manuale dell'utente di Symantec Backup Exec System Recovery Granular Restore Option Manuale dell'utente di Symantec Backup Exec System Recovery Granular Restore Option Manuale dell'utente di Symantec Backup Exec System Recovery Granular Restore Option Il software descritto nel presente

Dettagli

Chiamate di sistema per la Inter Process Communication (IPC) in POSIX. E.Mumolo, DEEI mumolo@units.it

Chiamate di sistema per la Inter Process Communication (IPC) in POSIX. E.Mumolo, DEEI mumolo@units.it Chiamate di sistema per la Inter Process Communication (IPC) in POSIX E.Mumolo, DEEI mumolo@units.it Pipe Cos'è un pipe? E' un canale di comunicazione che unisce due processi Caratteristiche: La più vecchia

Dettagli

Acronis Compute with Confidence, Acronis Startup Recovery Manager, Acronis Active Restore ed il logo Acronis sono marchi di proprietà di Acronis, Inc.

Acronis Compute with Confidence, Acronis Startup Recovery Manager, Acronis Active Restore ed il logo Acronis sono marchi di proprietà di Acronis, Inc. Copyright Acronis, Inc., 2000-2011.Tutti i diritti riservati. Acronis e Acronis Secure Zone sono marchi registrati di Acronis, Inc. Acronis Compute with Confidence, Acronis Startup Recovery Manager, Acronis

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero ---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi

Dettagli

I.Stat Guida utente Versione 1.7 Dicembre 2010

I.Stat Guida utente Versione 1.7 Dicembre 2010 I.Stat Guida utente Versione 1.7 Dicembre 2010 1 Sommario INTRODUZIONE 3 I concetti principali di I.Stat 4 Organizzazione dei dati 4 Ricerca 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della lingua 7 Individuazione

Dettagli

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa di Ilaria Lorenzo e Alessandra Palma Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa Code::Blocks

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers

PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers La procedura di installazione è divisa in tre parti : Installazione dell archivio MySql, sul quale vengono salvati

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

RAID, LVM, LUKS: Play with disks.

RAID, LVM, LUKS: Play with disks. RAID, LVM, LUKS: Play with disks. Mario Polino Corsi Avanzati Linux - 2014 RAID POuL M. Polino RAID, LVM, LUKS 2 RAID What? POuL M. Polino RAID, LVM, LUKS 3 RAID What? POuL M. Polino RAID, LVM, LUKS 3

Dettagli

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.

Dettagli

Guida dell'utente di Norton Save and Restore

Guida dell'utente di Norton Save and Restore Guida dell'utente Guida dell'utente di Norton Save and Restore Il software descritto in questo manuale viene fornito con contratto di licenza e può essere utilizzato solo in conformità con i termini del

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

MANUALE DOS INTRODUZIONE

MANUALE DOS INTRODUZIONE MANUALE DOS INTRODUZIONE Il DOS è il vecchio sistema operativo, che fino a qualche anno fa era il più diffuso sui PC, prima dell avvento di Windows 95 e successori. Le caratteristiche principali di questo

Dettagli

MANUALE Gest-L VERSIONE 3.2.3

MANUALE Gest-L VERSIONE 3.2.3 MANUALE Gest-L VERSIONE 3.2.3 Installazione GEST-L 4 Versione per Mac - Download da www.system-i.it 4 Versione per Mac - Download da Mac App Store 4 Versione per Windows 4 Prima apertura del programma

Dettagli

Encrypted Root Filesystem HOWTO

Encrypted Root Filesystem HOWTO Encrypted Root Filesystem HOWTO Christophe Devine Revision History Revision v1.2 2004 08 01 Revised by: cd Updated the packages version. Revision v1.1 2003 12 01 Revised by: cd Added support for GRUB.

Dettagli

Lab. 1 - Introduzione a Matlab

Lab. 1 - Introduzione a Matlab Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla calcolatrice tascabile, alla simulazione ed analisi di sistemi

Dettagli

Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11

Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11 Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11 Museo & Web CMS v1.5.0 beta (build 260) Sommario Museo&Web CMS... 1 SOMMARIO... 2 PREMESSE... 3 I PASSI PER INSTALLARE MUSEO&WEB

Dettagli

Guida all'uso di StarOffice 5.2

Guida all'uso di StarOffice 5.2 Eraldo Bonavitacola Guida all'uso di StarOffice 5.2 Introduzione Dicembre 2001 Copyright 2001 Eraldo Bonavitacola-CODINF CODINF COordinamento Docenti INFormati(ci) Introduzione Pag. 1 INTRODUZIONE COS'È

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Linguaggio di bash per esempi. Tre modi per quotare. Esempio. quotare: significa trattare caratteri speciali come normali caratteri

Linguaggio di bash per esempi. Tre modi per quotare. Esempio. quotare: significa trattare caratteri speciali come normali caratteri Linguaggio di bash per esempi Tre modi per quotare quotare: signica trattare caratteri speciali come normali caratteri es. di aratteri speciali: $, blank, apici, 1. backslash: per quotare un solo carattere

Dettagli

Manipolazione di testi: espressioni regolari

Manipolazione di testi: espressioni regolari Manipolazione di testi: espressioni regolari Un meccanismo per specificare un pattern, che, di fatto, è la rappresentazione sintetica di un insieme (eventualmente infinito) di stringhe: il pattern viene

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16 Un ripasso di aritmetica: Conversione dalla base 1 alla base 16 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base sedici sarà del tipo: c m c m-1... c 1 c (le c i sono cifre

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Simplex Gestione Hotel

Simplex Gestione Hotel Simplex Gestione Hotel Revisione documento 01-2012 Questo documento contiene le istruzioni per l'utilizzo del software Simplex Gestione Hotel. E' consentita la riproduzione e la distribuzione da parte

Dettagli