Università degli Studi di Modena e Reggio Emilia
Facoltà di Scienze della Comunicazione e dell’Economia
Corso di Laurea On Line in Economia e Informatica per la Gestione delle Imprese
Anno Accademico 2006/07 – Secondo semestre
Laboratorio di Informatica I
L’installazione di Cygwin:
un tutorial per immagini
A cura di Fabio Ruini (fabio.ruini@unimore.it)
Marzo 2007
Cygwin: what is this?
La più concisa (ed al tempo stesso esauriente) spiegazione di cosa sia Cygwin la si trova sul sito Internet dove esso viene distribuito (http://www.cygwin.com):
“Cygwin
is a Linux-like environment for Windows. It consists of two parts:
Cygwin permette di sfruttare, anche su una macchina Windows, la potenza e la flessibilità di una shell *NIX Like. All’interno della shell emulata è possibile utilizzare molti dei software tipici del mondo Linux, tra cui il compilatore GCC. Il vantaggio di utilizzare un ambiente emulato invece di uno “nativo” consiste nel non dover installare sulla propria macchina un nuovo sistema operativo, con tutte le problematiche che questa operazione solitamente comporta. Il fatto che si tratti di un ambiente emulato ha chiaramente delle ripercussioni a livello di performance. Sostanzialmente, questo può utilizzare soltanto una piccola percentuale delle risorse (memoria, spazio su disco, ecc…) presenti sulla macchina in uso, dato che la maggior parte di esse è occupata dal sistema operativo “principale”. Tale discorso, che vale in generale per qualsiasi tipo di emulazione, è tanto più vero per gli OS della famiglia Windows, storicamente “avidi” di risorse. Tuttavia, i programmi che verranno scritti durante il corso di Laboratorio di Informatica I saranno, computazionalmente parlando, molto “leggeri”. Il loro linkaggio/compilazione/esecuzione potrà dunque avvenire molto agevolmente anche all’interno di ambienti emulati.
Installare Cygwin*
Per installare Cygwin è necessario utilizzare un computer connesso ad Internet. Collegandosi al sito Internet http://www.cygwin.com, si può trovare, nell’angolo superiore destro dell’home page, il link all’installer di cygwin (http://www.cygwin.com/setup.exe, contraddistinto dall’etichetta “Install Cygwin now”).
Facendo click con il pulsante sinistro del mouse su questo collegamento, il browser in uso chiederà che cosa si desidera fare con il file “setup.exe” cui si sta cercando di accedere. Internet Explorer (nelle versioni 6 o superiori), ad esempio, mostrerà il seguente avviso:
Scegliamo di salvare il file (sono circa 250kb) e posizioniamolo sul Desktop.
Una volta ultimato il download, possiamo lanciare l’installer, facendo un doppio click sul file scaricato. Quella che segue è la schermata introduttiva che, a questo punto, dovremmo trovarci davanti.
Facciamo click sul pulsante “Avanti” per procedere.
L’installer ci chiede cosa
vogliamo fare. Scegliamo la prima opzione (“Install from Internet”) e clicchiamo il pulsante “Avanti” per continuare.
A questo punto dobbiamo decidere
in quale directory installare Cygwin. Occorre prestare molta attenzione a
scegliere una cartella che sia facilmente “rintracciabile”, poiché essa
coinciderà anche con la “root” dell’ambiente *NIX emulato e sarà pertanto necessario
farvi ripetutamente accesso. Il mio consiglio è quello di installare Cygwin
all’interno di una directory raggiungibile direttamente dalla root: ad esempio,
se il disco fisso del PC che si sta utilizzando è identificato dalla lettera C,
una comoda directory d’installazione potrebbe essere “C:\cygwin” (da scriversi senza i doppi apici).
Lasciamo i valori di default per
le altre impostazioni (“Install For -> All Users” e “Default Text File Type ->
Unix/binary” e facciamo click sul pulsante
“Avanti”.
L’installer di Cygwin, a questo punto, ci chiede dove vogliamo installare la documentazione. Per mantenere il più possibile “pulita” l’installazione, il mio consiglio è quello di scegliere una sotto-directory di quella scelta nel passo precedente. Così, nel caso in cui abbiate deciso di installare Cygwin nella directory “C:\cygwin”, la documentazione può essere copiata, ad esempio, all’interno di “C:\cygwin\docs” (sempre da scriversi senza i doppi apici).
La domanda successiva riguarda il
tipo di connessione ad Internet da utilizzarsi per il download dei vari
pacchetti necessari a Cygwin per funzionare. Per le connessioni “tradizionali”
(via modem oppure via Ethernet/Wi-Fi), è in genere sufficiente selezionare la
prima opzione “Direct connection” e
quindi scegliere “Avanti”.
Ora dobbiamo selezionare, tra
quelli proposti, il mirror dal quale prelevare i files. Per esperienza
personale (priva di una qualsivoglia valenza scientifica) consiglio l’utilizzo
dell’italico server FTP del GARR (“ftp://bo.mirror.garr.it”). Una volta selezionato il mirror di proprio
gradimento, fare clic sul pulsante “Avanti”.
A questo punto occorre scegliere
i pacchetti da installare. Per utilizzare il compilatore GCC è necessario
modificare le impostazioni di default ed includere il “kit” per developers. Per
farlo è necessario cliccare (una sola volta!) sulla scritta “Default” situata accanto a “Devel”. Nel giro di un paio di secondi, la scritta “Default” dovrebbe lasciare il posto a “Install”. Se ciò non dovesse avvenire, ripetere il
procedimento alcune volte, fino a raggiungere il risultato desiderato.
Una volta impostato il tutto come
nell’immagine riportata qui sotto, fare clic sul pulsante “Avanti” per iniziare il download/installazione di Cygwin.
Questa è la schermata che vi
terrà compagnia per un po’ di tempo…
Quanto tempo? Giusto per avere
un’idea, si consideri che sulla vetusta macchina Windows di mia sorella (Athlon
XP 2500+, 512 MB di RAM, Windows XP SP2, connessione Internet ADSL a 4 Mbps
nominali), da me utilizzata per fare queste prove, sono stati necessari circa
40 minuti prima che l’intero processo giungesse al termine.
Comunque sia, una volta che
l’installazione di Cygwin sarà ultimata, verrete accolti da questa nuova
schermata, che vi chiede dove posizionare i collegamenti per lanciare
l’applicazione. Personalmente, consiglio senza indugio di creare i link
all’interno del menu Start (“Add icon to Start Menu”). Per quanto riguarda l’altra opzione, “Create
icon on Desktop”, sta a voi decidere cosa
fare, a seconda dei vostri gusti e del livello di affollamento raggiunto dal
vostro desktop. Una volta presa la vostra decisione, fate clic sul pulsante “Fine”.
Ora, come testimonia l’immagine
che segue, è veramente finita.
Hello world
Adesso che Cygwin è stato
installato, non ci resta che provarlo per verificare che il tutto funzioni
correttamente.
In estrema sintesi, l’obiettivo
del corso di Laboratorio di Informatica I è quello di scrivere dei programmi
per computer in linguaggio C. Scrivere, abbiamo detto. Dunque, ci serve
innanzitutto un editor di testo. Windows, bontà sua, nella sua dotazione
standard ci mette a disposizione uno strumento più che sufficiente per
perseguire i nostri scopi: il “Blocco Note”
(o “Notepad”, nelle versioni
anglofone dell’OS di casa Microsoft). Lanciate questo software, tendendo
presente che, in Windows XP, il Blocco Note è solitamente raggiungibile
navigando nei meandri del menu Start (Start à
Tutti i Programmi à Accessori à
Blocco Note).
Blocco Note si aprirà creando un
nuovo documento, assolutamente vuoto. E’ qui che potrete scrivere il vostro
codice C. Ed è proprio qui che, in onore di una lunga tradizione[1],
scriveremo il nostro primo programma: “Hello world”. Trascriviamo dunque il codice che segue
all’interno del documento vuoto creato da Blocco Note (ribadisco:
“trascriviamo” e non “copia-incolliamo”!):
#include <stdio.h>
int main(void) {
printf("Hello World!\n");
return 0;
}
Ora, prima di salvare il file,
diamo un’occhiata a Cygwin, che facciamo partire attraverso il collegamento
presente nel menu Start (o quello collocato sul Desktop, nel caso abbiate
precedentemente scelto di crearlo). Dopo qualche secondo di attesa, ci
troveremo dinnanzi ad una tetra shell pronta ad obbedire ai nostri comandi.
In questo momento, chi non ha mai
utilizzato un sistema *NIX potrebbe legittimamente sentirsi un po’ spiazzato.
Per fortuna, il Web viene in nostro soccorso. In giro per la Rete esistono
infatti centinaia di tutorial che spiegano come districarsi nei meandri della
shell Linux[2].
Per ora ci limitiamo innanzitutto
ad utilizzare il comando cd per
spostarci all’interno della nostra home directory, utilizzando la seguente
sintassi:
cd /home/nome_utente
dove nome_utente è il nome (assegnato in Windows) dell’utente
che ha installato Cygwin.
Una volta digitato il comando, lo
facciamo eseguire premendo sulla tastiera il pulsante INVIO. Dopodichè,
scriviamo:
ls
e premiamo nuovamente il tasto
INVIO per osservare il contenuto della directory, che dovrebbe risultare del
tutto vuota.
Torniamo per un istante al Blocco
Note e, dal menu “File”, scegliamo la
voce “Salva con nome”. Attraverso
la finestra che compare sullo schermo, ci spostiamo all’interno della cartella
dove abbiamo installato Cygwin (ad esempio: “C:\cygwin”) e da qui ci spingiamo ulteriormente in profondità,
aprendo anche la sotto-directory “home” e quindi quella corrispondente al nostro nome utente. Salviamo qui
dentro il nostro file, chiamandolo “main.c” (naturalmente, senza i doppi apici) ed usciamo da Blocco Note.
Riprendiamo in mano Cygwin e
diamo nuovamente il comando ls,
che ora dovrebbe restituirci un file: esattamente il file “main.c” che abbiamo appena salvato. Procediamo dunque a
compilare questo file sorgente utilizzando GCC con la seguente sintassi[3]:
gcc main.c –o hello
Eseguendo nuovamente il comando ls, scopriremo che è stato creato un
nuovo file, chiamato “hello.exe”. Si
tratta di un file (Windows) eseguibile, la versione compilata del nostro
programma.
Per eseguirlo, utilizziamo il
comando:
./hello.exe
Ciò che otterremo in output è
mostrato nella figura qui sotto:
Complimenti. Avete appena
realizzato il vostro primo programma in C!
* NB: Nel momento in cui scrivo questo tutorial, la versione di Cygwin più recente è quella comprendente la DLL in versione 1.5.24-2. Le istruzioni che seguono faranno dunque riferimento all’installazione di questa specifica versione.
[2] Tra tutti, consiglio gli appunti curati da Massimo Santini e reperibili all’indirizzo: http://santini.dsi.unimi.it/dida/2002_linux/ (si veda in particolare il capitolo: “L’interprete dei comandi”, http://santini.dsi.unimi.it/dida/2002_linux/ms-2.php).
[3] GCC è un tool ricco di opzioni. Il manuale ufficiale
lo si può trovare all’indirizzo: http://gcc.gnu.org/onlinedocs/.
E’ possibile utlizzare il comando gcc –-ver per conoscere la versione di GCC che si sta
utilizzando.