Immagine
 Geosito Nardo di Pace (VV)... di DrCrocco
 
"
Se tu pagare come dire io allora io lavorare come dire tu. Se tu pagare come dire tu allora io lavorare come dire io.

antico proverbio giapponese
"
 
  Home| Chi Sono| Contatti| |La Ricetta
 
Di seguito tutti gli interventi pubblicati sul sito, in ordine cronologico.

Di vittorio (del 17/09/2008 @ 22:49:50, in Sistemi, linkato 369 volte)

Non so per quale motivo, in alcune installazioni di Windows manca l'icona "Mostra Desktop" all'interno della toolbar "Quick Launch".

Comunque sia è facile crearne una, basta utilizzare un comune editor di testo come ad esempio notepad.
E' sufficiente inserire il seguente testo in un file:

[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

Nel salvare il file non bisogna specificare alcuna estensione, altrimenti il file verrà trattato dal sistema operativo come un comune file di testo.

Nel caso in cui Windows si ostini a specificare una estensione per il file editato è necessario intervenire sui parametri di "Esplora Risorse" ("Risorse del Computer"). Le estensioni comunemente utilizzate infatti vengono omesse dal sistema operativo al fine di agevolare (io dico: confondere) l'utente nella gestione dei files.

Per visualizzare le estensioni di tutti i files è sufficiente togliere la spunta alla voce "Nascondi l'estensione dei file conosciuti" raggiungibile da Esplora risorse al seguente percorso:

Strumenti -> Opzioni Cartella -> Visualizzazione

Chi non volesse agire tramite questo menù può usare il buon vecchio "command" (cmd). E' infatti disponibile un editor di testo (EDIT.COM). Dal prompt dei comandi possiamo ad esempio impartire il seguente comando:

c:\windows\system32\edit.com MostraDesktop

ed il gioco è fatto.

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di vittorio (del 11/09/2008 @ 19:36:14, in Sistemi, linkato 1388 volte)

Quanto può essere fastidioso accendere il PC ed ogni volta vedere una notifica di Windows che recita:"Ci sono icone inutilizzate sul desktop...".
Ho cercato invano l'opzione "Fatti gli affari tuoi" purtroppo senza il risultato sperato; così mi sono adoperato al fine di far tacere "per sempre" questo messaggio.

Chi soffre dello stesso problema può procedere editando le "Group Policy". Per farlo è necessario impartire il comando gpedit.msc dal prompt dei comandi avendo cura di farlo con privilegi amministrativi.

A questo punto il percorso della proprietà da modificare si trova nel seguente percorso:

Criteri Computer locale -> Configurazione utente -> Modelli amministrativi -> Menu di avvio...

Per chi avesse una versione di Windows XP o Vista in lingua inglese il percorso sarebbe invece:

Local Computer Policy -> User Configuration -> Administrative Templates -> Start Menu... 

La voce da disabilitare è:
Disattiva i suggerimenti sulle voci del menù di avvio (Turn off balloon notifications)

Possiamo disabilitare questa voce selezianandola con il pulsante destro del mouse.

In realtà ci sono anche altre voci che possono essere modificate:

Disattiva i suggerimenti sulle voci del menù di avvio (Remove Balloon Tips..): consente di rimuovere le finestrelle gialle che compaiono al passaggio del puntatore su una voce del menu;

Impedisci il raggruppamento degli elementi... (Prevent grouping of taskbar items): se si vuole avere una barra delle applicazioni dove ogni finestra viene indicata in un riquadro separato (come avviene in Windows 2000);

Cancella cronologia dei documenti aperti... (Cleare history of recentry...): chi vuole avere un po' di privacy spesso rimuove gli elemnti della cronologia manualemte. Con questa opzione il sistema operativo svuota l'elenco dei documenti aperti prima di spegnere il computer.

Insomma, tra le voci dei "Criteri di Gruppo" ci sono una grande quantità di parametri su cui è possibile intervenire (e di conseguenza fare danno). Il mio consiglio è quello di leggere attentamente la descrizione di ogni singola voce riportata a fianco perchè spesso la traduzione in lingua italiana può trarre in inganno.

Spero di esservi stato di aiuto, alla prossima.

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di vittorio (del 09/09/2008 @ 22:55:59, in SGCop, linkato 163 volte)

Nuova versione di SGCop disponibile sul sito.

Anche questa volta non ci sono sostanziali differenze con la relativa versione di originale. L'unica modifica apportata riguarda l'upload degli aggiornamenti.
Da questa versione infatti il firewall punterà ad una cartella di questo sito per fare gli aggiornamenti e non più sul server di IPCop. Resta comunque possibile caricare i files di IPCop perchè il relativo certificato GPG è ancora presente.
Da notare che l'indice dei nuovi upgrade è ancora prelevato dal sito di IPCop; questo per consentire all'amministratore di sapere se ci sono nuovi aggiornamenti per la piattaforma (Io purtroppo non sono molto veloce a mantenere il codice sorgente).

Per qualunque informazione lasciate un post.

Alla prox.

Articolo (p)Link Commenti Commenti (2)  Storico Storico  Stampa Stampa
 
Di vittorio (del 09/09/2008 @ 22:18:27, in SGCop, linkato 894 volte)
SGCop - Release 1.4.21
sources 1.4.21 - sgcop-src-1.4.21.tar.gz
update from 1.4.18 to 1.4.19 - sgcop-1.4.19-update.i686.tgz
update from 1.4.19 to 1.4.20 - sgcop-1.4.20-update.i686.tgz
avmdrv - 2.4.36-1 - sgcop-avmdrv-2.4.36-1.i686.tgz
install iso image 1.4.21 - sgcop-1.4.21-install-cd.i686.zip
install pxe image 1.4.21 - sgcop-1.4.21-install-pxe.i686.tgz
install usb fdd image - 1.4.21 - sgcop-1.4.21-install-usb-fdd.i686.img.gz
install usb hdd image - 1.4.21 - sgcop-1.4.21-install-usb-hdd.i686.img.gz
install usb zip image - 1.4.21 - sgcop-1.4.21-install-usb-zip.i686.img.gz
update from 1.4.20 to 1.4.21 - sgcop-1.4.21-update.i686.tgz

SGCop - Release 1.4.18
sources 1.4.18 - sgcop-src-1.4.18.tar.gz
update from 1.4.16 to 1.4.17 - sgcop-1.4.17-update.i686.tgz
avmdrv - 2.4.34-1 - sgcop-avmdrv-2.4.34-1.i686.tgz
install iso image 1.4.18 - sgcop-1.4.18-install-cd.i686.zip
install pxe image 1.4.18 - sgcop-1.4.18-install-pxe.i686.tgz
install usb fdd image - 1.4.18 - sgcop-1.4.18-install-usb-fdd.i686.img.gz
install usb hdd image - 1.4.18 - sgcop-1.4.18-install-usb-hdd.i686.img.gz
install usb zip image - 1.4.18 - sgcop-1.4.18-install-usb-zip.i686.img.gz
update from 1.4.17 to 1.4.18 - sgcop-1.4.18-update.i686.tgz

SGCop - Release 1.4.16
GnuPG Patch for SGCop 1.4.16 - sgcop-1.4.16-gnupg-patch.tar.gz
update from 1.4.15 to 1.4.16 - sgcop-1.4.16-update.i686.tgz
install usb zip image - 1.4.16 - sgcop-1.4.16-install-usb-zip.i686.img.gz
install usb hdd image - 1.4.16 - sgcop-1.4.16-install-usb-hdd.i686.img.gz
install usb fdd image - 1.4.16 - sgcop-1.4.16-install-usb-fdd.i686.img.gz
install pxe image - 1.4.16 - sgcop-1.4.16-install-pxe.i686.tgz
install iso image - 1.4.16 - sgcop-1.4.16-install-cd.i686.iso.zip
fcdsl drivers - 1.4.16 - sgcop-1.4.16-fcdsl.i686.tgz
Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di vittorio (del 23/07/2008 @ 08:24:21, in Blog, linkato 449 volte)
"'u morzeddu cu' frittuli, suffrittu,
fresulimiti o trippa a lu ragù
è sciccheria si unu ava pitittu,
ma sulu a chissu pattu e nenta chiù.
'U diuneddu, 'mbecia, è raffinatu
unu s'u po' mangiara a tutti l'uri
anzi è na cosa bbona ppo malatu
specia doppu provati tutti i curi"

tratto da "u morzeddu figlio nobile della trippa" di Achille Curcio.

Concordo con Achille quando dice che il morzello non si prepara al ristorante e neanche in casa.
Il vero morzello lo si trova(va) nelle putiche nascoste tra i vicoli della città.
Ricordo quando ero molto piccolo, che proprio sotto casa mia, sulla soglia di un vecchio portoncino c'era 'a tijana 'e Concettina, una anziana donna vera maestra del morzello. L'odore si espandeva per tutta via Mario Greco facendo venire fame a tutte le ore.

Tornando alla ricetta originale, ogniuno la fa un po' a modo suo. Io personalmente preferisco le interiora dei lattanti perchè sono più tenere e facili da trattare.

Un altro elemento importantissimo è il pomodoro che deve rigorosamente essere quello "della mamma" o fatto secondo la tradizione calabrese.

Detto questo il mio consiglio è quello di lasciar perdere la ricetta e di andare a mangiare il vero morzello a Catanzaro magari proprio nei vicoli del centro storico.

"Minchia guagliò, chi fama chi mi vinna."
Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di vittorio (del 22/07/2008 @ 23:06:58, in Network, linkato 124 volte)

A pensarci bene, ci sono alcuni servizi di rete che sono da ritenersi "indispensabili". Per servizi di questa tipologia è necessario poter disporre della massima sicurezza possibile.

A mio parere, sotto questo punto di vista, OpenBSD è sicuramente il sistema operativo adatto per eccellenza.

Ma qual'è, secondo voi, il servizio che più in assoluto è da ritenere critico?

Ovviamente il servizio di "download torrent" :)

Per un servizio come questo quindi è assolutamente d'obbligo utilizzare OpenBSD.

Basta scherzare, facciamo le persone serie.

Per chi non conoscesse torrentflux
Torrentflux è un frontend web per BitTornado scritto in php e come tutti i frontend che eseguono script per la scrittura di files su disco, sono spesso soggetti a pesanti vulnerabilità.

Perchè OpenBSD
Una caratteristica di questo SO è che Apache, il demone http, viene originariamente installato in una gabbia (jail) mediante la nota tecnica di chrooting, cioè di cambio della directory principale.

Questa tecnica di installazione non mira a rendere il server web più sicuro ma solamente a limitare i danni qualora ci fossero delle falle, questo perchè il servizio non è in grado di "vedere" l'intero disco ma solo una piccola parte.

Nello specifico, in OpenBSD, il servizio httpd è installato nella directory "/var/www". Questa directory, grazie al chrooting diviene per il servizio la directory principale "/". Poichè non è possibile risalire oltre la root di un filesystem ne consegue che il server web non è in grado di accedere ai file contenuti ad esempio in "/var".

Installare torrentflux con queste restrizioni non è semplice perchè la gabbia inibisce l'uso di alcuni componenti essenziali come ad esempio python, necessario per eseguire il client BitTornado.

Navigando su Internet ho notato che non ci sono guide che spiegano come rendere possibile l'esecuzione di torrentflux all'interno della gabbia, così ho deciso di scrivere questo breve articolo.

Da Torrentflux a Torrentflux-b4rt
Una versione più avanzata di questo frontend si chiama torrentflux-b4rt. Questa guida può essere applicata tranquillamente a questa versione.

Cosa c'è da fare
La prima cosa che voglio mettere in chiaro è che è necessario dare ad Apache la possibilità di eseguire la shell. Questa è una cosa orrenda dal punto di vista della sicurezza ma non sono riuscito a trovare altre alternative. La spiegazione risiede nel fatto che torrentflux fa uso della funzione execute() di php per la quale pare che la shell sia indispensabile.

Detto questo, tutto quello che dobbiamo fare è rendere disponilibi i file necessari a torrentflux per poter eseguire correttamente il frontend.

Dando uno sguardo alla documentazione rilasciata insieme al software ed al codice sorgente, sono giunto alla conclusione che sono necessari i seguenti eseguibili:

sh;
awk;
du;
grep;
nice;
tar;
zip;
nohup;
python;
php (cli);

Per poter utilizzare questi eseguibili all'interno della gabbia però non è sufficiente copiarli nella cartella /var/www ma è necessario creare alcune directory e copiare alcune librerie.

Procediamo dunque con la creazione delle directory necessarie:


mkdir -p /var/www/bin
mkdir -p /var/www/usr/bin
mkdir -p /var/www/usr/lib
mkdir -p /var/www/usr/local/bin
mkdir -p /var/www/usr/local/lib
mkdir -p /var/www/usr/libexec
mkdir -p /var/www/etc
mkdir -p /var/www/tmp
chmod 777 /var/www/tmp


Le cartelle create possono tranquillamente appartenere al gruppo daemon con utente root, l'importante è che siano accessibili all'utente www (Apache).

A questo punto iniziamo a copiare i files necessari:


cp /bin/sh /var/www/bin/sh
cp /usr/bin/awk /var/www/bin/awk
cp /usr/bin/du /var/www/bin/du
cp /usr/bin/grep /var/www/bin/grep
cp /usr/bin/nice /var/www/bin/nice
cp /usr/bin/tar /var/www/bin/tar
cp /usr/bin/nohup /var/www/bin/nohup


Per capire se ci sono delle dipendenze per gli eseguibili che abbiamo appena copiato è possibile utilizzare il comando ldd aggiungendo come parametro l'eseguibile da verificare. Nel nostro caso grep ha bisogno di portare con se alcune librerie:


ldd /usr/bin/grep

/usr/bin/grep:
Start End Type Open Ref GrpRef Name
00000000 00000000 exe 1 0 0 /usr/bin/grep
073e9000 273f1000 rlib 0 1 0 /usr/lib/libz.so.4.1
0530f000 25343000 rlib 0 1 0 /usr/lib/libc.so.43.0
0da9b000 0da9b000 rtld 0 1 0 /usr/libexec/ld.so


Le librerie potrebbero avere nomi leggermente diversi, questo perchè le prove fatte per la scrittura di questo articolo prevedono l'uso di OpenBSD ver 4.3.
Dopo aver fatto questa verifica possiamo copiare le libreire nelle apposite locazioni:


cp /usr/bin/grep /var/www/usr/bin/grep
cp /usr/lib/libz.so.4.1 /var/www/usr/lib/libz.so.4.1
cp /usr/lib/libc.so.43.0 /var/www/usr/lib/libc.so.43.0
cp /usr/libexec/ld.so /var/www/usr/libexec/ld.so


Proseguiamo con la copia degli altri eseguibili necessari e delle relative librerie (ormai sapete come si fa):


cp /usr/local/bin/idle2.5 /var/www/usr/local/bin/idle2.5
cp /usr/local/bin/php /var/www/usr/local/bin/php
cp /usr/local/bin/zip /var/www/usr/local/bin/zip
cp /usr/local/bin/pydoc2.5 /var/www/usr/local/bin/pydoc2.5
cp /usr/local/bin/python2.5 /var/www/usr/local/bin/python2.5


Adesso creiamo un link simbolico all'eseguibile python2.5 tenendo a mente che il link dovrà essere dinamico altrimenti non funzionerà all'interno della nostra gabbia:


cd /var/www/usr/local/bin
ln -s python2.5 python


Un discorso ancora diverso deve essere fatto per le librerie di python. Usare semplicemente la tecnica descritta in precedenza non è sufficiente. Facendo una ricerca su Internet ho trovato un ineressante articolo che mi ha dato una mano in questo senso. Quando capitano problemi di questo tipo il mio consiglio è quello di verificare la gabbia per vedere se tutto funziona correttamente:


# chroot -u www /var/www /bin/sh
/bin/sh: No controlling tty (open /dev/tty: No such file or directory)
/bin/sh: warning: won't have full job control


Tralasciate pure l'errore dovuto alla mancanza della cartella /dev.
Comunque sia, dopo alcuni tentativi che vi risparmio sono riuscito ad individuare le libreirie necessarie per l'esecuzione di python:


cp /usr/local/lib/libiconv.so.4.0 /var/www/usr/local/lib/libiconv.so.4.0
cp /usr/local/lib/libintl.so.4.0 /var/www/usr/local/lib/libintl.so.4.0
cp /usr/local/lib/libpython2.5.so.0.0 /var/www/usr/local/lib/libpython2.5.so.0.0
cp /usr/local/lib/libxml2.so.9.7 /var/www/usr/local/lib/libxml2.so.9.7
cp /usr/local/lib/python2.5 /var/www/usr/local/lib/python2.5
cp /usr/lib/libcrypto.so.13.0 /var/www/usr/lib/libcrypto.so.13.0
cp /usr/lib/libm.so.2.3 /var/www/usr/lib/libm.so.2.3
cp /usr/lib/libncurses.so.10.0 /var/www/usr/lib/libncurses.so.10.0
cp /usr/lib/libpanel.so.3.0 /var/www/usr/lib/libpanel.so.3.0
cp /usr/lib/libpthread.so.9.0 /var/www/usr/lib/libpthread.so.9.0
cp /usr/lib/libpython2.5.so.0.0 /var/www/usr/lib/libpython2.5.so.0.0
cp /usr/lib/libssl.so.11.0 /var/www/usr/lib/libssl.so.11.0
cp /usr/lib/libstdc++.so.44.0 /var/www/usr/lib/libstdc++.so.44.0
cp /usr/lib/libutil.so.11.0 /var/www/usr/lib/libutil.so.11.0


Spero di non aver dimenticato dipendenze ma in questo periodo non ho tanto tempo da dedicare al blog, se doveste trovare inesattezze provate a scrivere due righe, io provvederò a correggere il testo.

Rimane ancora una cosa da fare: copiare il file resolv.conf altrimenti BitTornado non sarà in grado di risolvere gli indirizzi IP:


cp /etc/resolv.conf /var/www/etc/resolv.conf


Prima di concludere volevo dire che nel presente documento non sono stati considerati tutti i comandi necessari a torrentflux, alcuni li ho volutamente lasciati fuori perchè li reputo pericolosi e di poca utilità (vedi ps usato per mostrare i processi in esecuzione sul server).

Per saperne di più
Chroot (wikipedia)
OpenBSD (FAQ)

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di vittorio (del 22/04/2008 @ 01:45:01, in Network, linkato 301 volte)
Addirittura una Certification Authority? Ma cosa te ne fai?

In tanti mi hanno fatto questa domanda. Il fatto è che una CA è sempre utile al giorno d'oggi.
Pensiamo per un attimo ai siti web che gestiscono dati sensibili tramite SSL (https); fareste una transazione bancaria senza vedere il piccolo luccetto chiuso all'interno del vostro browser?

E' vero, è possibile acquistare certificati dagli enti preposti come ad esempio Verisign ed è vero che ci sono enti no profit che rilasciano certificati senza spendere una lira (anzi un centesimo). Ma volete mettere...
...Avere la propria CA è tutta un'altra cosa.

Scherzi a parte, secondo me, utilizzare una CA creata in casa ha senso specie se si tratta di piccole e medie imprese.

La crittografia oggi viene impiegata praticamente dappertutto:
  • accesso a siti web (HTTPS);
  • autenticazione utente LDAP, RADIUS, connettività WI-FI;
  • trasferimento di domini DNS;
  • reti private virtuali (VPN);
  • transazioni su database;
  • accesso remoto.

Cos'è un Self Signed Certificate?
Partendo dal presupposto che i certificati vengono creati per provare l'identità di qualcuno, si parla di certificati self-signed se questi sono destinati a provare l'identità di chi li ha creati.
In parole povere...

...Tu te la canti e tu te la suoni.

Detto questo, se ci fidiamo di chi ha creato la CA, allora possiamo fidarci di tutti i certificati da essa digitalmente firmati (Signed).

Self-Signed Certificate senza CA
Sarà capitato a tutti di imbattersi in un sito che espone un certificato non verificato:



In genere questo non è un problema, la comunicazione https è criptata ed i dati da e verso il sito non transiteranno in chiaro sulla rete. Bisogna però ricordare tutta la chiave pubblica (fingerprint) a memoria, altrimenti non vi è la certezza di comunicare effettivamente con il sito desiderato. In realtà, possono sorgere problemi di tipo man in the middle (uomo nel mezzo). Nella pratica qualcuno potrebbe interporsi tra client e server e mettersi in ascolto scambiando con il client un certificato finto.


Man in the middle (MITM)
Con l'acronimo di MITM si intende la volontà di un soggetto di interporsi in una comunicazione tra due punti (tipicamente un client ed un server).
L'intromissione può avvenire a diversi livelli:
  • strato fisico (es doppino telefonico);
  • strato logico (es. arp poisoning);
  • strato applicativo (es comunicazioni criptate SSL);
Le persone spesso non riescono a spiegarsi come sia possibile per qualcuno introdursi illecitamente in una comunicazione criptata tra client e server.
Basti pensare che le informazioni vengono trattate da diversi sistemi informativi prima di raggiungere il server di destinazione, Vi sono casi in cui è possibile carpire le informazioni dirottando in uno o più punti il traffico della rete (vedi arp poisoning).
Il problema è stato parzialmente risolto mediante l'impiego di algoritmi come ad esempio il One time Passcode, con il quale le passord scambiate tra client e server cambiano ad ogni connessione.
Nelle comunicazioni criptate tra client e server vengono scambiate le chiavi pubbliche ed altre informazioni che cambiano ad ogni connessione (handshaking); di conseguenza, senza le chiavi private, sarebbe impossibile per qualcuno sniffare la comunicazione tra client e server (vedi figura in basso).


In un attacco MITM però, sia il Client (A) che il Server (B) scambiano le chiavi pubbliche con il MITM (C) che a questo punto può interpretare tutto il traffico. Le informazioni di A vengono Inviate da C a B e viceversa. A e B non sanno di comunicare entrambi con C.


Per arginare questo problema, prima di iniziare una comunicazione privata è necessario controllare il fingerprint del server per essere sicuri che si stia effettivamente comunicando con B e non con C.
Di seguito viene riportata una chiave pubblica (RSA1024) di esempio:

40 81 8F 02 81 81 00 B8 08 84 E0 E2 27 47 BB 8B
4F D1 42 1F 66 88 86 42 DE D7 82 F4 B8 DD DB D8
B6 D2 B2 87 DF 47 18 BB F8 8D E8 4F 81 D4 41 7D
D8 D6 8E 24 E2 74 D2 D4 18 DF 18 6F B1 42 28 74
6B 27 72 1F 2E 8D 44 D4 47 EB 02 21 88 28 DD 72
E2 2F BB 06 4E DD 04 BD 8E BD 4F B6 81 B7 F8 BD
24 D4 BB 01 78 D1 DE F0 6D 14 61 12 88 8D 41 B8
24 B8 22 44 FB 88 80 44 BF 48 DD 4D ED 24 B2 80
64 01 D6 B2 D4 62 DF 02 04 01 00 01

Sfido chiunque ad imparare questa chiave a memoria. Bisogna inoltre ricordare che non è sufficiente imparare la parte iniziale o finale della chiave perchè esistono programmi in circolazione in grado di creare chiavi pubbliche del tutto simili ad altre, proprio con lo scopo di trarre in inganno gli utenti (fuzzy fingerprint).
Per evitare attacchi MITM sarebbe opportuno dotarsi di una CA in grado di stabilire se il certificato del Server è stato emesso o meno tramite la CA stessa.

Per il momento è tutto, nel prossimo articolo vedremo come creare una CA per i propri scopi mediante OpenSSL e Fedora.
Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di vittorio (del 02/04/2008 @ 14:28:02, in Sistemi, linkato 1257 volte)
Ieri sera un nodo appartenente ad un cluster destinato al backup dei consulenti è andato giù. In pratica non finiva il bootstrap e si piantava con un inquietante messaggio:

System Halted!

La cosa demoralizzante non è tanto il messaggio in se (per altro senza un codice di errore o qualcosa di esplicativo per cui fosse possibile fare una ricerca su Internet) ma il punto esclamativo finale. Sono sicuro che chi ha programmato il BIOS, con questo punto esclamativo ha voluto esplicitamente indendere: "Non c'è niente da fare!!!".

Facendo una ricerca sui forum Dell prima e su Google poi ho effettivamente verificato che un errore di tipo "System Halted!" compare quando ci sono problemi hardware sulla scheda madre.

In effetti il BIOS sembrava essere passato a miglior vita dato che premendo il tasto F2 non era possibile interrogare il setup.

Comunque sia stiamo parlando di un Power Vault 775N che non ha mai dato problemi in vita sua; così ho deciso di sporcarmi un po' le mani e di smontarlo tutto per resettare la CMOS (Complementary metal–oxide–semiconductor) che tiene in piedi il BIOS.

Fortunatamente questo è bastato per far partire la macchina (ovviamente ho dovuto impostare l'ora).

Ho voluto scrivere queste poche righe perchè potrebbe tornare utile a chi, di fronte a questo inquietante messaggio pensi di dover cambiare la scheda madre.

Per morire c'è sempre tempo.
Alla prossima.
Articolo (p)Link Commenti Commenti (2)  Storico Storico  Stampa Stampa
 
Di vittorio (del 10/03/2008 @ 10:20:21, in Office Automation, linkato 533 volte)
La scorsa settimana sono stato coinvolto in un progetto molto impegnativo legato al costo del prodotto di Fiat Group Automobiles (FGA), nell'ambito del quale era necessario simulare la chiusura di fine mese di alcuni stabilimenti.

Come sempre accade in questi casi, Excel viene impiegato sopratutto per lo scambio di informazioni e per la generazione di report.

Poiché gli stabilimenti del gruppo Fiat sono veramente tanti e per ognuno di essi è stato necessario produrre un numero consistente di documenti, mi sono reso conto subito che una cospicua parte del tempo era destinata alla formattazione dei fogli lasciando poco tempo alle attività di controllo.

In particolare un mio collega mi ha chiesto se fosse possibile mettere in grassetto le righe dei totali in modo facile e veloce.
Ho pensato subito alla formattazione condizionale ma c'era un limite da superare; le condizioni di formattazione per una cella vengono calcolate sul valore della cella stessa.

La formattazione condizionale
Per mezzo della formattazione condizionale è possibile personalizzare lo stile di una cella in base al valore che contiene. Ad esempio è possibile visualizzare un numero in rosso quando è negativo ovvero in verde se positivo.
Nella figura riportata in basso è possibile vedere un esempio:



Nell'esempio riportato in precedenza, il carattere della cella diventa verde se il valore contenuto è maggiore di 0 altrimenti resta del valore impostato nella formattazione originaria.
E' possibile specificare più condizioni contemporaneamente è precisamente un massimo di tre.
Formattare le celle in questo modo è utile quando i dati sono calcolati, perchè non c'è bisogno di modificare a mano il formato. Purtroppo però, alla base della condizione è possibile specificare solo il valore ovvero la formula contenuta nella cella.

Il Conto Economico
Nel mio caso, il report del conto economico era simile a quello indicato nella figura in basso. Ovviamente i valori inseriti sono fittizi ma il layout si avvicina molto all'originale.



L'idea è quella di copiare in tutte le celle del foglio, una formattazione condizionale che imposti il formato grassetto in base alla seguente regola:

La cella è da riportare in grassetto se sulla stessa riga, in corrispondenza della colonna D, il valore inizia per 'TOT'

Testare condizioni su celle diverse
Come dicevo prima però, la condizione può essere testata solo sul contenuto della cella stessa, di conseguenza è necessario implementare una formula che restituisca il valore della cella testata in caso di esito negativo. Se ad esempio la cella da testare è A1, allora la formula potrebbe essere:

=A1+SE(SINISTRA($D1;3)="TOT";0;1)


Se i primi tre caratteri della cella D1 contengono TOT, allora la formula restituirà A1 altrimenti restituirà A1+1. In questo modo posso utilizzare la formattazione condizionale impostando il parametro "uguale a".
E' possibile trascinare la formattazione della cella A1 in qualunque cella (notare il dollaro che precede la lettera D).
Esiste però un problema con le celle che non contengono un valore numerico poichè in questo caso non è possibile fare una somma.

In effetti per i valori testuali dovrei modificare la formula nel modo seguente:

=A1 & SE(SINISTRA($D1;3)="TOT";"";"1")


Al posto di una somma verrebbe fatta una concatenazione ottenendo lo stesso risultato.
Non è però conveniente utilizzare due formattazioni condizionali differenti perchè bisognerebbe sempre controllare il valore contenuto nelle celle. Per questo motivo, la formula definitiva controlla il tipo di dati contenuti nella cella ed applica la somma o la concatenazione di conseguenza:

=SE(TIPO(A1)=2;A1 & SE(SINISTRA($D1;3)="TOT";"";"1");A1 + SE(SINISTRA($D1;3)="TOT";0;1))


Ora è sufficiente selezionare l'intero foglio e copiare la fomattazione della cella A1.

Automatizzare il tutto
Per automatizzare il tutto creiamo una piccola macro in Visual Basic:

Sub TotaliGrassetto()
    Application.ScreenUpdating = False
    Cells.Select
    Selection.FormatConditions.Delete
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
        Formula1:="= SE (TIPO(A1) = 2; A1 & SE(SINISTRA($D1;3) = ""TOT""; """"; ""1"");A1 + SE(SINISTRA($D1;3) = ""TOT""; 0 ; 1 ))"
    With Selection.FormatConditions(1).Font
        .Bold = True
        .Italic = False
    End With
    Range("A1").Select
    Application.ScreenUpdating = True
End Sub


Creazione di una add-in MS-Excel
Per rendere le operazioni più veloci è possibile includere la procedure appena descritta in file di tipo xla pronta per essere importata mediante i componenti aggiuntivi di Excel.
Utilizzare una add-in è comodo altrimenti bisognerebbe incollare tutto nello stesso file.

Conclusioni
Al fondo di questo articolo ho inserito il link ai sorgenti.
Nel sorgente trovate anche una procedura che crea un menù per richiamare la macro (avevamo detto che bisogna essere veloci e così ho inserito anche una shortcut da tastiera [CTRL-ALT-T]).

Sorgenti
totali_grassetto.zip
Articolo (p)Link Commenti Commenti (2)  Storico Storico  Stampa Stampa
 
Di vittorio (del 18/01/2008 @ 15:38:02, in Sistemi, linkato 601 volte)
La volta scorsa abbiamo parlato della teoria che sta alla base del backup.
In questo articolo invece vedremo come automatizzare il processo di backup per mezzo della utility NT Backup di Windows.

Eseguire NT Backup
Il programma per eseguire i backup in ambiente visuale si chiama ntbackup.exe e si trova nella cartella di sistema %windir%\system32\

Per eseguire l'applicativo è sufficiente sfogliare il menù seguendo il percorso:

Start -> Programmi -> Accessori -> Utilità di sistema

Qualora l'utility non fosse presente nel sistema è possibile installarla per mezzo del "Pannello di Controllo", cliccando l'icona "Installazione Applicazioni", quindi su "Installazione componenti di Windows" e selezionando la voce "Accessori ed Utilità" dall'elenco.

Prepariamoci ad un test
Prima di conoscere più da vicino l'utility di backup, prepariamoci a fare un test creando sul disco rigido una cartella nel percorso "c:\TestBackup". Entrando nella cartella creeremo un file di testo (anche vuoto va bene) che chiameremo semplicemente "file.txt".
A questo punto cliccando con il tasto destro sulle poprietà del file e successivamente sul bottone "Avanzate..." dovremmo vedere una finestra simile a quella riportata in basso.



Come è possibile notare, il file appena creato ha un flag archivio impostato, cioè è pronto per essere incluso nel backup.

Procedura guidata di un backup completo
Nel primo esempio provvederemo a fare un backup completo schedulato una volta a settimana della cartella TestBackup.
Avviando NT Backup per la prima volta, verrà proposta una procedura guidata (wizard) che seguiremo fino al momento in cui ci verrà chiesto di selezionare i files da includere nel backup.

Avanti -> (Backup dei file e delle impostazioni) Avanti -> (Scelta elementi di cui eseguire il backup) -> Avanti




Selezionando la cartella TestBackup, il programma includerà automaticamente nella selezione anche i files e le sottocartelle in essa contenute. Questa funzionalità è utile quando ad esempio, verranno creati nuovi file all'interno della cartella, perchè non sarà necessario modificare la procedura di backup per consentirne il backup.

A questo punto dovremo indicare la locazione in cui salvare il risultato. Cliccando "Avanti >" comparirà una finestra in cui verrà chiesto un percorso ed un nome da dare al backup.
E' importante soffermarsi un attimo su questo punto per chiarire bene le idee su cosa si intende per destinazione del backup.
Chi ha letto l'articolo precedente avrà appreso che in genere il backup viene eseguito su nastri.
NT Backup raggiona in questa ottica ed infatti supporta alcuni dispositivi a nastro. Non tutti gli utenti però dispongono di hardware dedicato, di conseguenza quello che viene creato alla fine del processo di backup è un file rappresentazione di un nastro.
Questo può sembrare curioso, ma facendo il backup ci si accorgerà che nel percorso indicato come destinazione non vi sarà nient'altro che un file con estensione bkf (BacKup File).
L'utente ora sa che i file con questa estensione sono come nastri in cui è possibile aggiungere e sovrascrivere backup, un po' come avviene con le cartelle compresse di Windows che altro non sono che files compressi con estensione zip.

Torniamo al nostro programma di backup cliccando ancora sul bottone "Avanti..."

A questo punto, cliccando su "Fine" verrà effettuato il backup ma quello che noi vogliamo è una schedulazione settimanale, per questo motivo cliccheremo su "Avanzate..."

Selezioneremo un backup normale che è un sinonimo di completo e richiederemo la sostituzione dei file esistenti sul volume (file bkf) perchè abbiamo optato per un solo backup completo. Questo vuol dire che sul nostro nastro virtuale vogliamo avere un solo backup che ogni settimana deve essere sovrascritto.

Di seguito viene indicato il percorso da seguire:

(Normale) Avanti -> (Verifica i dati dopo il backup) Avanti -> (Sostituisci i backup esistenti ) Avanti

Fino ad arrivare alla finestra indicata di seguito:



Giunti a questo punto, compiliamo il form come indicato nella figura e premiamo il tasto "Imposta pianificazione...".

Lasciamo un attimo da parte NT Backup per parlare di un'altra funzionalità di Windows chiamata "Operazioni Pianificate"

Questa utilità serve ad automatizzare/schedulare i processi di Windows senza dover necessariamente richiedere l'intervento dell'utente.
Per chi ha dimestichezza con i sistemi Unix like, essa ricopre le stesse funzionalità del demone Crond.

Anche questo programma può essere raggiunto tramite il menù di Windows nella locazione in cui si trova NT Backup. Anche il percorso su disco fisso è il medesimo ed il nome dell'eseguibile è at.exe.
Lo scopo di questo articolo non è quello di mostrare tutte le peculiarità del comando at ma per restare in tema, faremo in modo che il processo di backup appena definito venga eseguito dal sistema operativo ogni settimana senza dover richiedere alcun itervento da parte dell'utente. Ciò vuol dire che questo processo partirà anche se sulla macchina non vi è autenticato nessuno.

Alla luce di quanto detto in precedenza, prendiamo spunto dall'immagine riportata in basso per compilare i campi della finestra.



Lasciamo da parte tutte le altre opzioni della finestra e clicchiamo su "Ok" tornando alla finestra di NT Backup. Anche qui non vi è nulla da specificare, quindi concludiamo cliccando su "Avanti >".

In base al sistema operativo in uso, potrebbe comparire una finestra in cui viene richiesto di specificare le credenziali (login e password) dell'utente.
La spiegazione risiede nel fatto che la schedulazione deve essere libera di entrare in esecuzione anche se l'utente che l'ha creata non è attualemnte autenticato sulla macchina. Se vi è necessità, è possibile specificare un utente diverso dal nostro o addirittura l'utente NT Authority\System un utente "invisibile" con cui Windows gestisce il sistema operativo.

Conclusa la procedura guidata controlleremo la nuova schedulazione seguendo il percorso del menù:

Start -> Programmi -> Accessori -> Utilità di sistema -> Operazioni Pianificate

Se tutto è andato per il verso giusto, selezionando la voce "Backup Completo" e cliccando con il tasto destro su "Esegui" è possibile vedere l'esecuzione del nostro backup.

Cosa è cambiato nel frattempo
Controllando adesso il flag archivio del file contenuto nella cartella TestBackup noteremo che non è impostato. Eseguendo un backup completo, il programma ha provveduto a rimuovere correttamente i flag.

Procedura guidata di un backup incrementale
Adesso che abbiamo un backup completo da eseguire al lunedì, passiamo alla creazione di un backup incrementale da eseguire in tutti gli altri giorni della settimana.

Il procedimento è in tutto e per tutto simile a quello utilizzato per la creazione del Completo. Le uniche differenze sono le seguenti:
  • File bkf - Poichè si tratta di un backup incrementale, è meglio utilizzare un altro nastro per contenenre i backup, potremmo chiamare il file bkp con un nome diverso senza alterare la locazione di destinazione.
  • Tipo di backup - Questa volta specificheremo un backup Incrementale invece che normale
  • Aggiunta/Sostituzione dei backup sul supporto - Mentre nel caso del Completo volevamo sovrascrivere il backup, in questo caso è fondamentale accodare i backup nel supporto, altrimenti non saremmo in grado di procedere ad un corretto ripristino. Attenzione! Quanto specificato in questo esempio è solo un modo semplice di procedere. In un mondo ideale bisognerebbe avere un pool di backup, questo vuol dire che di norma sono necessari almeno due backup completi (con i relativi incrementali) altrimenti un errore durante la creazione del backup comprometterebbe anche il precedente.
  • Pianificazione del processo - Creeremo una schedulazione con gli stessi paramentri specificati per il Completo ma provvederemo a selezionare tutti i giorni della settimana escluso il lunedì.

A questo punto nell'elenco delle operazioni pianificate dovremmo trovare due task, uno per il backup completo ed uno per il backup incrementale.

Prima di provare l'esecuzione del secondo task, torniamo nella cartella TestBackup e creiamo un secondo file di testo con il nome file2.txt. Fatto questo possiamo procedere con l'esecuzione del task incrementale ed anche in questo caso, se tutto è ok, dovremmo vedere l'esecuzione del backup.

Il ripristino dei dati
E' inutile dire che il test non finisce qui. Non bisogna mai commettere l'errore di pensare che un backup sia corretto finchè non sia stato tentato il ripristino almeno una volta.
Pertanto adesso provvederemo a ripristinare i files della cartella TestBackup nella stessa o in un'altra locazione.

Probabilmente il metodo più veloce per fare il ripristino di un file bkf è quello di cliccare due volte sul file.

Così facendo torneremo nel wizard di NTBackup ma questa volta selezioneremo l'opzione "Ripristino dei file e delle impostazioni".

Muovendoci attraverso i bottoni, ci soffermeremo sulla finestra riportata di seguito.



Come è possibile vedere nell'elenco ci sono diversi supporti tra cui scelgiere. Selezioniamo il supporto usato per il Completo e spuntiamo l'intero contenuto del backup.
Cliccando su "Avanti >" e quindi su "Avanzate" è possibile decidere le modalità di rispistino. Nel nostro caso è possibile selezionare una qualunque opzione.

Sfolgiando invece il contenuto del file bkf utilizzato per l'incrementale, l'utente noterà che solo il file file2.txt è stato incluso. Questo a conferma di quanto imparato dalla teoria.

Conclusioni
Questo articolo finisce qui. Il mio consiglio è quello di sperimentare le altre opzioni a disposizione per trovare una soluzione ottimale alle proprie necessità.
Spero di non avervi annoiato troppo.

Alla prossima.

Per saperne di più
Backup In Windows (Parte I - La Teoria)
Articolo (p)Link Commenti Commenti (2)  Storico Storico  Stampa Stampa
 
Pagine: 1 2 3 4 5 6
Ci sono 4 persone collegate


Cerca per parola chiave





< settembre 2010 >
L
M
M
G
V
S
D
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
             


Titolo
Calabria (29)
Italia (1)
Sistemi (2)

Le fotografie più cliccate

Titolo
Quale tra questi termini associ alla "Sicurezza Informatica"?

 Firewall
 AntiVirus
 Antispam
 Password

Titolo

Human Calendar

Fedora Project:

Questo sito è segnalato da:
BlogItalia.it - La directory italiana dei blog

Add to Technorati Favorites

Internet Map

Play chess online

Play chess online



09/09/2010 @ 9.46.16
script eseguito in 406 ms