Cygwin è una completa collezione di strumenti Open Source, molti dei quali creati da GNU, che si trovano comunemente nelle distribuzioni Linux, in grado di funzionare sotto Windows, grazie anche ad una particolare libreria (cygwin1.dll) che si occupa di fornire un'interfaccia per tradurre le chiamate di sistema POSIX (standard tipico dei sistemi operativi Unix) in qualcosa di comprensibile per Windows.
Di base si presenta come una shell testuale (Bash di default) e questo, per qualche utente Windows di vecchia data, che ha iniziato con il DOS, può sembrare anacronistico, un ritorno al passato inaccettabile ma non è così. Per capirlo dobbiamo conoscere la filosofia che sta dietro allo sviluppo e all'utilizzo di una shell testuale e per questo non c'è niente di meglio dell'articolo di Arnold Robbins, presente anche nelle pagina info delle GNU coreutils. In questo articolo si paragona la shell ad una cassetta per gli attrezzi di un professionista e la si confronta con un coltellino svizzero. L'utilità del coltellino è indiscutibile: in un solo oggetto sono presenti un sacco di attrezzi (forbici, coltello, cavatappi, cacciavite, ...) ma sono tutti attrezzi che un professionista non potrà mai usare per il suo lavoro (pensate ad un carpentiere che deve costruire una casa... ). Bene, la "cassetta degli attrezzi-shell" è stata, negli anni, riempita di attrezzi essenziali e specifici, atti a fare una sola cosa ma a farla al meglio, costruiti da professionisti per professionisti. Ma la shell non è solo un contenitore, fa molto di più: offre la possibilità di costruire una specie di "catena di montaggio" dove il lavoro svolto da uno specifico attrezzo viene passato ad un altro attrezzo per essere ulteriormente elaborato, creando un vero e proprio linguaggio di programmazione chiamato Shell Scripting (con il quale è possibile, per esempio, creare e programmare un "videoregistratore"!!!).
Questo è il programma perfetto per i fan di Linux che si trovano a lavorare con Windows ma anche per gli utenti Windows che, anche per semplice curiosità, vogliono fare un primo passo alla scoperta del mondo Linux!!
Installazione
Scarichiamo il file setup dal sito ufficiale: https://cygwin.com/setup-x86.exe (è disponibile anche una versione per sistemi a 64bit: https://cygwin.com/setup-x86_64.exe). È buona regola tenere questo file sempre a portata di mano perché è il metodo più semplice per aggiornare Cygwin: trattasi, infatti, di un online installer che necessita di una connessione ad internet per scaricare le ultime versione dei pacchetti da installare.
Avviamo il processo di installazione
Confermiamo la scelta (attiva di default) di scaricare e installare subito i pacchetti dei programmi che andremo successivamente a scegliere
Selezioniamo adesso la cartella di installazione (che sarà l'equivalente della "root" di un sistema Linux). Per impostazione predefinita è attiva la cartella C:\cygwin64 (o C:\cygwin); potete sceglierne un'altra a vostro piacere ma è sconsigliato scegliere C:\ perché vengono create alcune cartelle che potrebbero essere comuni ad altri programmi e questo potrebbe compromettere il funzionamento di Cygwin. In genere è buona regola lasciare la scelta predefinita
Adesso dovremo scegliere un'altra cartella che funzionerà da deposito per i pacchetti dei programmi (scaricati in formato compresso)
Scegliamo il tipo di connessione ad internet che intendiamo utilizzare
Ora dobbiamo selezionare una fonte da cui prelevare i pacchetti; generalmente una fonte più vicina a noi (per esempio con suffisso .it) dovrebbe essere più veloce ma non sempre è vero
Ci verranno mostrati tutti i pacchetti disponibili per il download, divisi per sezioni. L'installazione di default installa solo una piccola parte di questi pacchetti che comprende le core utilitis di GNU (ideali, per esempio, per la manipolazione dei testi) e occupa generalmente 100 MB di spazio su disco. Installare tutto è sconsigliabile perché richiede più di 10 GB di spazio!! Se volete installare qualche altro programma specifico potete facilmente trovarlo grazie alla suddivisione per categorie oppure utilizzando il comodo campo di ricerca "Search"; l'installer poi vi suggerirà le opportune dipendenze mancanti richieste dai pacchetti che avete selezionato (e che, ovviamente, saranno da installare!).
Attendete pazientemente la fine dei download e dell'installazione dei pacchetti che avete selezionato
Terminate l'installazione scegliendo dove preferite avere i collegamenti per lanciare la shell
Alla fine dell'installazione potete vedere l'albero delle directory costruito dentro la cartella C:\cygwin64 che sarà molto simile a quello previsto dallo Standard di Gerarchia del Filesystem di Linux
Adesso possiamo lanciare la nostra shell unix e iniziare ad utilizzare i programmi di Linux di cui sentivamo tanto la mancanza oppure iniziare ad esplorare le potenzialità di questo grande strumento.
ALCUNE DA SAPERE
- Se il vostro nome utente su Windows contiene degli spazi potreste avere qualche problema con Cygwin; la soluzione più semplice è rinominare il vostro utente eliminando gli spazi, prima dell'installazione di Cygwin.
- La shell, come detto, è Bash e può quindi essere personalizzata editando il file .bashrc nella Home dell'utente.
- Quello che in Windows è chiamato disco C:, si può trovare "montato" nel path /cygdrive/c (ogni altro disco sarà sempre montato nel path /cygdrive/ e sarà identificato dalla lettera dell'unità assegnata da Windows.
- È possibile cambiare la cartella HOME con una a vostra scelta; io per esempio ho impostato la mia cartella HOME sul Desktop: per fare ciò è sufficiente, su Windows andare su "Pannello di controllo", "Impostazione di sistema avanzate", scheda "Avanzate", "Variabili di ambiente...". Nella nuova finestra aperta, clicchiamo su "Nuova..." sotto a "Variabili di sistema", come "Nome variabile" inserire "HOME" e come "Valore variabile" selezionare "Sfoglia directory" e cercare la cartella desiderata.
- È anche possibile aggiungere una ulteriore variabile di ambiente "PATH" e inserire come valore il percorso completo alle cartele "/bin" e "/sbin" che si trovano all'interno della cartella di installazione di Cygwin (di default, saranno quindi "C:\cygwin64\bin" e "C:\cygwin64\sbin") separate da ; . In questo modo gli eseguibili di Cygwin saranno disponibili direttamente dal Prompt dei comandi di Windows!
- La documentazione riguardante Cygwin è molto completa e ben fatta.
- È possibile installare anche un ambiente grafico (grazie a X.Org e diversi Desktop Environment).
- Qui trovate una tabella comparativa dei comandi di base di DOS e l'equivalenti su Linux.
- Ricordatevi che per ogni "attrezzo" c'è un manuale che si può leggere semplicemente digitando: man nome_programma (ad esempio: man find ).