[Linuxtrent] cygwin condiviso - usare i tool unix su windows senza installare (quasi) nulla.

  • From: Roberto Resoli <roberto@xxxxxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Thu, 11 Sep 2014 14:43:57 +0200

Ciao a tutti;

Vorrei condividere con voi una scoperta recente, che permette di
distribuire ed utilizzare in maniera molto semplice cygwin su postazioni
windows collegate in rete.

Come saprete, cygwin è un porting dei tool unix su piattaforma
Microsoft, portata avanti da RedHat.

"
Cygwin is:
    a large collection of GNU and Open Source tools which provide
functionality similar to a Linux distribution on Windows.

    a DLL (cygwin1.dll) which provides substantial POSIX API
functionality. "

Mi dilungo un pochino, giusto per farvi capire la situazione:

Qui da noi si utilizza cygwin da qualche anno sui server virtuali, per
far girare l'infrastruttura di backup che utilizza ssh, script bash e
diversi comandi standard unix, come grep, awk e iconv. Grazie a cygwin
gli stessi script funzionano sia su server Linux che su server Windows.

Di recente ho sviluppato un applicativo web per distribuire a tutto
l'ente funzioni autonome di firma digitale e verifica. L'applicativo si
chiama, con poca fantasia, "firma-digitale", ed è rilasciato[2] da poco
nell'ambito del progetto j4sign.

L'idea è di evitare l'installazione di applicativi standalone e far
utilizzare l'applicativo web.

Un problema è una certa perdita di immediatezza nella gestione dei file
firmati. Al posto del doppio click, occorre aprire il browser,
collegarsi all'applicativo web e caricare il file cercandolo sul
filesystem. Molto spesso poi i file si scaricano dal web, e l'apertura e
verifica immediata sarebbe una bella comodità.
Dato che i file firmati stanno diventando una parte importante del
lavoro quotidiano, ho pensato ad un modo per collegare l'esperienza
desktop all'applicativo web.

Parlando con i colleghi, è emersa la possibilità di usare curl per
automatizzare l'upload del file e il download del contenuto, ottenendo
anche l'html con i dettagli della verifica. Dopo un po'di lavoro sulla
mia postazione linux, ho realizzato uno script bash che richiamando
curl, sed e poco altro riusciva a fare il lavoro.

Al momento di portare il tutto su piattaforma Windows, mi sono chiesto
se fosse fattibile sfruttare un'installazione condivisa su share di
rete. Con mia grande sorpresa, non solo la cosa è fattibile, ma con
qualche chiave di registry e un piccolo wrapper .cmd si riesce a
ripristinare la funzionalità del doppio click automatizzando l'upload
del file.

Sostanzialmente l'unica cosa che serve è aggiungere al path la directory
(remota) dei binari di cygwin, e richiamare l'eseguibile della bash;
l'importante è che sia raggiungibile la dll cuore di cygwin,
(cygwin1.dll) che provvede a fare un mount della root dell'ambiente e ad
impostare tutto il necessario automaticamente.

I due script (.cmd e .sh) possono anch'essi essere remotizzati, e quindi
l'installazione della funzionalità si limita all'unione di un file di
registry sulla postazione. La chiave prevede anche la personalizzazione
dell'icona dei file ".p7m" .

Credo possa trattarsi di un'importante possibilità di collegare il mondo
desktop a quello degli applicativi web, sfruttando tutte le potenzialità
della toolchain unix. La cosa può poi tornare utile anche in tantissimi
altri casi (script di logon ...).

ciao,
rob

PS: A breve pubblicherò il materiale sul sito di j4sign, completo di
documentazione per l'utilizzo.

[1] http://www.cygwin.com/
[2] http://sourceforge.net/p/j4sign/mailman/message/32808891
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: