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.

[1] http://it.wikipedia.org/wiki/Hello_world.

[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.