mainSlogopaceclick Blog  · informatica · elettronica · astronomia..

Creare sparse files, con lunghezza a piacere in Windows e Linux

Un file sparso (dall'inglese sparse file), è un tipo di file per cui si cerca di occupare in maniera più efficiente lo spazio del file system nei casi in cui il file sia prevalentemente vuoto.

Il vantaggio dei file sparsi consiste nel fatto che lo spazio fisico nel file system viene allocato solo quando è effettivamente necessario: si risparmia spazio e si possono creare file di grandi dimensioni anche se lo spazio libero nel file system è insufficiente.

undefined

Tra gli svantaggi dell'uso di file sparsi:

Essi possono diventare frammentati, in quanto lo spazio nel file system viene allocato a mano a mano che le aree vuote sono riempite, e quindi non è necessariamente contiguo. Le informazioni sullo spazio libero nel file system possono essere fuorvianti se si considera la dimensione apparente dei file sparsi.

Uso

Un uso tipico dei file sparsi è per il testing delle connessioni di rete o per i benchmark degli hard disk: si creano file di grandi dimensioni con un semplice comando, che poi saranno utilizzati per capire la velocità di copia/trasferimento dei vari dispositivi.

Creazione su Windows

Da prompt dei comandi, dirigersi in una cartella

cd C:

eseguire il comando

fsutil file createnew <filename> <length>

la lunghezza deve essere inserita in Byte, esempio

fsutil file createnew myfile.txt 1000000000
(=1GB)

fsutil file createnew myfile.txt 2500000000
(=2.5 GB)

undefined

Creazione su Linux

dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS

Dove:

  $INPUT-FILE deve sempre essere /dev/zero per file di grandi dimensioni (vuoti).
  La dimensione totale del file sparso sarà $BLOCK-SIZE * $NUM-BLOCKS.
  Il nuovo file sarà chiamato come $OUTPUT-FILE.

Esempio:

dd if=/dev/zero of=file_sparso bs=1024 count=1

bs è la dimensione di uscita in Byte.

Come verificare se un indirizzo email esiste ed è raggiungibile

A quasi tutti sarà capitato di ricevere almeno una volta una email di rifiuto dal Message Delivery Status (o Subsystem), a seguito di un invio verso un indirizzo con problemi o non esistente.
 

Quindi per verificare se effettivamente un indirizzo 'riceve' si potrebbe semplicemente inviargli una email (con attivo il flag 'notifica di recapito') ed aspettare la consegna.

Tuttavia come fare per verificarlo SENZA inviare alcuna mail?

 undefined

Ci viene in aiuto il client Telnet di Windows, vediamo come fare:

Passo 1

Innanzitutto abilitiamo Telnet (di default disattivato), andando su pannello di controllo, programmi e funzionalità, Attivazione o disattivazione delle funzionalità di Windows (in alto a sinistra).

Nella finestra che apparirà dovremo semplicemente abilitare la spunta su 'Client Telnet' e confermare con ok.

Passo 2

Apriamo un prompt dei comandi (su Windows 8.1 e 10, cliccando con il tasto destro sul logo del menu start).

Digitiamo nel prompt il comando

nslookup -q=mx <dominio da testare>

esempio, per verificare un indirizzo @gmail:

nslookup -q=mx gmail.com

premiamo Invio

In questo modo otterremo una lista dei server MX (Mail eXchanger) per tale dominio.
Questi dati vengono forniti da sistema DNS (vedere il post dedicato per capire come funziona) e rappresentano le macchine addette allo scambio e gestione della posta. 

undefined

Copiare in un file esterno di appoggio il vero nome del server MX,
che potrete trovare dopo la dicitura 'mail exchanger' (ad es: mx.gmail.com).

Passo 3

Sempre sul prompt digitare SENZA fare errori (perchè usando Telnet non si può cancellare!) il comando:

telnet <dominio salvato> 25

esempio:

telnet mx.google.com 25

 premere invio per avviare la sessione Telnet.

Passo 4

Adesso siamo 'connessi con il server' e possiamo interagirci tramite Telnet.

Diamo il comando 

helo hi

(helo è giusto con una 'elle' sola) 

In seguito

mail from: <qualcosa@qualcosa.com>

e

rcpt to: <indirizzodatestare@providerchestiamotestando.com>

seguiti da invio.

Ad esempio, coerentemente con i precedenti:

mail from: fittizio@testando.com
rcpt to: aldorossi@gmail.com

Passo 5

Il server risponderà a quest'ultima nostra richiesta dicendoci se l'indirizzo esiste o meno.

Se il server MX risponderà con "OK" o "Recipient OK", significa che la verifica dell'email è andata a buon fine e che quindi l'indirizzo indicato esiste.
Altrimenti verrà restituito un messaggio d'errore (ad esempio "sorry, no mailbox").

 

Riepilogo

Tutti i passi in un terminale (esatto, anche da terminale di linux o mac è possibile eseguire gli stessi steps):

undefined

Ripristinare Windows in seguito ad un errore driver o ad un update fallito

Una breve guida per aiutare a resuscitare il PC in caso non si riesca più ad avviare a seguito di aggiornamenti driver dannosi.

NOTA:

questa guida si applica anche nel caso di errore dovuto a installazione driver non compatibili con il sistema.

Errore Blue Bcreen: CRITICAL_SERVICE_FAILED.

 

undefined

 

Se siete nella condizione di non poter usare il desktop a causa della schermata blu, quello che dovete fare è accedere alla console di ripristino, possono presentarsi tre casi:

  • L'avvio risulta bloccato o su schermata blu, inserite il disco di installazione di Windows e riavviate il computer (in caso forzate lo spegnimento tenendo premuto il pulsante di accensione). Proseguire poi con le procedure sotto.
  • All'avvio del sistema si presenterà automaticamente la schermata di recovery, in tal caso proseguire direttamente con le procedure sotto.
    undefined
  • Il sistema parte solo in modalità provvisoria. In realtà siete già a buon punto perché avete comunque accesso a tutte le impostazioni. Potete avviare il prompt da lì. Se volete comunque aprire la console di ripristino, andate sul menu charm e su 'Riavvia il sistema' tenendo premuto il tasto 'Shift'.

 NOTA:

 è possibile riavviare anche il computer in modalità di 'avvio avanzato' con il comando (tramite prompt dei comandi cmd.exe)

 shutdown.exe /r /o /f /t 0

 

Una volta in modalità ripristino avrete questa schermata, andate su risoluzione dei problemi

undefined

Andate su opzioni avanzate

undefined

Il menu sarà questo

undefined

 Adesso possiamo passare al ripristino vero e proprio, da questa fase è possibile:

  • Avviare un ripristino configurazione di sistema, utilizzando un punto di ripristino precedente, nel caso questo non risolvesse il vostro problema passate al punto successivo
  • Ripristinare un immagine di sistema (che dovete aver precedentemente salvato da qualche parte), nel caso non l'abbiate fatta passate al punto successivo
  • Tentare un ripristino automatico per l'avvio di Windows. Questo non sempre funziona, soprattutto con problemi driver.
  • Usare il prompt dei comandi.

 

Usare il prompt per ripristinare

NOTA: è possibile dare questi comandi, oltre che da console di ripristino, anche da prompt a Windows avviato o da prompt in modalità provvisoria.

Una volta aperto il prompt di ripristino, noterete che state agendo sulla lettera di unità X:

Dobbiamo passare alla vera unità dove risiede il sistema operativo (X: è il montaggio della console di ripristino), ecco una sequenza di comandi per passare alla lettera corretta

X:\windows\system32>
X:\windows\system32>cd..
X:\windows>cd..
X:\>D:
D:\>

siamo passati a D: perché molte volte il sistema viene montato lì. Ma potrebbe essere anche C: o E:, per verificare di essere veramente nella partizione di sistema basta dare il comando dir

D:\>dir

apparirà una lista di cartelle, se corrispondono a quelle della radice Windows (program files, program files (x86), Windows, ecc..) allora siamo nella lettera corretta.

Adesso dobbiamo riportarci dentro a system32

D:\>cd Windows\system32
D:\windows\system32>

In questo modo possiamo accedere ai file di sistema.

Per disinstallare un update manualmente, dobbiamo conoscerne il codice (KBxxxyyy), possiamo elencare gli update installati con

wmic qfe list brief

nota: possiamo anche salvare una copia su file con i comandi

wmic qfe list brief /format:htable > "%USERPROFILE%\hotfix.html"
wmic qfe list brief /format:texttablewsys > "%USERPROFILE%\hotfix.txt"

che produrranno rispettivamente un file html o un file txt e lo salveranno nella cartella dell'utente.

In ogni caso la lista completa dei comandi WMIC è reperibile qui.

 

L'output a video sarà simile al seguente:

 undefined


Adesso possiamo procedere alla disinstallazione selettiva degli ultimi update. Scorrere l'elenco e segnarsi i codici dei KB per i quali il sistema sembra essere andato in crash.

Procedere alla rimozione selettiva (ROLLBACK):

wusa /uninstall /kb:{update ID}
esempio: wusa /uninstall /kb:980311

L'update sarà disinstallato (è possibile rimuovere tutti quelli che vogliamo).

Adesso provare a riavviare il PC e vedere se l'errore è stato corretto. (chiudere il prompt)


Alternative

Nel caso venisse ancora la schermata blu all'avvio, tornare sul prompt di ripristino, e provare ad eseguire uno scannow:

D:\windows\system32>sfc /scannow

per fare eseguire un check totale di file danneggiati/di dati corrotti o che impediscono il corretto funzionamento del sistema.

 

Se neanche questo funziona è possibile provare ad affidarsi ad uno scandisk completo (stavolta da X:)

X:\windows\system32>chkdsk D: /f /r /x

scandisk con opzione di ripristino settori danneggiati, e con forzato smontaggio dell'unità.

NOTA: inserire la lettera di unità in cui è realmente il sistema operativo, seguendo le prime fasi di questa guida.

 

Se il sistema non parte neanche dopo queste ultime procedure, credo che rimanga solamente l'opzione della formattazione e installazione pulita dell'intero sistema. Dopo ovviamente aver fatto un backup dei propri dati (seguire le guide apposite).

Home