Laboratorio di Calcolo (A-C, D'Agostini)
Istruzioni di base per l'uso delle 'macchine' di laboratorio.
Note preliminari:
- Al Laboratorio di Calcolo del Fermi è possibile lavorare soltanto
su Scientific Linux.
- Ai Laboratori di Via Tiburtina invece, oltre che Scientific
Linux, è a disposizione anche Debian (una delle più famose
distribuzioni di Linux sulla quale sono basate altre, come
ad esempio Ubuntu) e Windows 10.
Ma, mentre le prime settimane era consentito/raccomandato
usare anche Windows 10, per imparare R in una ambiente simile
a quello a disposizione a casa o sui laptop, da fine ottobre
in laboratorio si usa solo Linux sulle macchina
di laboratorio, mentre a casa ognuno
è ovviamente libero di usare quello che ha o che ritiene più opportuno.
Avvio
- Lab. Fermi: accendere il pc e attendere pazientemente
che compaia la schermata iniziale che richiede username e password
(entrambe lcgdxx),
diverse per ogni postazione (→ xx).
- Tiburtina: accendere il pc e attendere pazientemente
la schermata iniziale finché non compare una finestrella
con 'tiburpc'.
Compare quindi la finestra di Oracle VM VirtualBox, mediante
la quale è possibile accedere a diverse macchine virtuali.
Quelle di nostro interesse sono
- Windows-10, per la quale vale quanto detto sopra;
- LabCalc, su cui si lavora come al Fermi;
- Debian-9: attendere pazientemente finché non compare
la finestrella per inserimento di username/password, uguali
per tutti (studente/informatica) —
ma se si aspetta
qualche decina di secondi si ha un login automatico senza dover
far niente.
Inizio di una sessione di lavoro
(Informazioni solo per Linux, come tutto quel che segue)
- Apertura di un terminale:
- su Scientific Linux c'è una apposita icona sul Desktop;
- su Debian esso va fatto partire tenendo premuto il mouse
sulla prima icona (quella che ricorda
una rondine) a sinistra
della taskbar,
→ quindi si clicchi su
LXTerminal nel sottomenù Strumenti di sistema.
Eventualmente si può aprire
un secondo terminale su una seconda 'finestra' (ripetere quanto
fatto sopra), o come seconda 'tab' della finestra già aperta,
con la sequenza 'Ctrl-T', ove 'T', maiuscola, indica che il tasto 't'
va premuto insieme al tasto per le maiuscole (la seconda opzione evita
l'affollamento di finestre, mentre la prima
è conveniente quando si vuol lavorare
su un terminale avendo sott'occhio cosa c'è nell'altro).
Regola di massima:
- per una sessione di lavoro in R servono due terminali
(o due tab);
- per una sessione di lavoro in C ne serve
uno solo, se si ha l'accortezza di lanciare l'editor
'in background' (vedi sotto.)
- Apertura di un browser (Firefox): anche in questo caso
sotto Scientific Linux c'è un'icona sul Desktop, mentre sotto Debian
bisogna far partire Firefox ESR dal sottomenù Internet
della 'rondine'.
Comunque, in entrambi i casi, la prima cosa da fare è togliere
la modalità full screen del browser,
in modo che non invada l'intero
schermo (tanto non ci dobbiamo vedere film!).
- Creazione di una directory personale (temporanea! nel senso che
che finita la sessione di laboratorio andrà eliminata),
che per l'ipotetico studente Guglielmo Marconi potrebbe
essere MarconiGuglielmo (niente spazi nei nomi di file e directory!):
- pwd
- ls -la
- mkdir MarconiGuglielmo
- cd MarconiGuglielmo
- pwd
- ls -la
Note:
- è implicito che tutti i comandi sono seguiti da Enter ('Invio');
- i vari 'pwd' e 'ls -la' non sono necessari,
ma aiutano ad avere consapevolezza di "dove si sta"
e "cosa c'è"
- se "ci si perde", nel senso che si è
finiti in qualche sotto-directory e si vuole ritornare
al punto di partenza, si dia un 'cd' senza alcun nome.
Nota: Tutto quel che segue assume che si sia già
nella propria directory personale.
- Editor di file emacs (ma chi è esperto può usare
il suo preferito, se disponibile).
l'editor va fato partire
con il suo nome seguito dal nome del file che si vuole editare
(anche se non esisteva precedentemente), ad esempio
Nota 1: i nomi dei file devono essere SENZA SPAZI!
Nota 2: il simbolo '&' in fondo al
comando serve a lanciare emacs in background lasciando
libero il terminale per eseguire nuovi comandi.
Nota 3: è possibile cambiare tab usando Alt+n
dove 'n' è il numero d'ordine del tab.
Nota 4: di default il file editato (“programma.c”)
verrà salvato nella directory dalla quale emacs è stato lanciato.
Nota 5: può capitare che la metà inferiore di emacs sia occupata
da informazioni su emacs stesso, permettendo di lavorare solo
nella metà superiore: per ottenere l'intera finestra dare il comando
'Ctrl-x 1', che equivale a 'Ctrl-x' seguito da '1';
Altri utili shortcut
(ce ne sono
tanti altri!):
- 'Ctrl-x Ctrl-s': salva il file che si sta editando, se già
esisteva (altrimenti si usi “Save as” dal menu);
- 'Ctrl-x Ctrl-c': per uscire da emacs (come 'Quit' dal menu);
- 'Ctrl-a': per posizionare il cursore all'inizio della riga;
- 'Ctrl-e': per posizionare il cursore alla fine della riga;
- 'Ctrl-k': per cancellare tutti i caratteri da dove si trova il
cursore fino alla fine della riga corrente.
- Sessione di lavoro:
- R: si esegue il comando 'R' da un terminale (o tab),
avendone un'altro disimpegnato per comandi di sistema.
Il resto è essenzialmente indipendenti dal sistema operativo.
(Nel caso si faccia uso di script si abbia solo l'accortezza
di lanciare R dalla stessa directory dove risiede il file dello script.)
- C: per compilare/linkare un programma,
ad es. 'programma.c' (e NON 'programma.C',
che il compilatore interpreterà come scritto in C++!)
dare il comando
- gcc -o programma programma.c
(Nel caso si faccia uso della libreria matematica si aggiunga in
fondo al comando l'opzione '-lm')
Per eseguire l'eseguibile il comando è il
nome stesso preceduto (senza spazi!) da './',
ad indicare che il comando sta nella directory
dove si sta lavorando, ad esempio
Alla fine della sessione
- Se si sta lavorando in R
- uscire
salvando la sessione con q()
(rispondere 'y' alla domanda "Save workspace image? [y/n/c]" —
'c' serve a cancellare la richiesta di uscire);
- Rimuovere il file .RData, il quale può
essere ricreato dalla storia e dagli script usati:
(Il problema è che questo file può diventare ENORME,
se sono stati definiti vettori molto lunghi e poi salvati
nella sessione di lavoro senza prima cancellarli.
Il comando 'ls -la' è per controllare i file
presenti nella directory, compresi quelli 'nascosti'.)
- Uscire da emacs, ovviamente avendo salvato i file.
- Zippare la directory su cui si è lavorato per
mandarsela per mail (o su dropbox/googledrive) facendo
- cd ..
- pwd
- ls -ltr
- zip -r MarconiGuglielmo.zip MarconiGuglielmo
- ls -ltrh
ove 'pwd' e 'ls' servono a controllare che si sia nel posto giusto
e che ci siano i file e la directory
(in particolare 'MarconiGuglielmo.zip'). In particolare
il parametro 'h' di 'ls' rende le dimensioni di file e directory
più intellegibili agli 'umani' (human). Se il .zip
è troppo grande (oltre qualche decina kB) c'è qualcosa che non va.
- Inviarsi il file zippato ('MarconiGuglielmo.zip')
come allegato a una mail (e magari, in c/c ad altra persona,
tanto per essere sicuri)
- infine, per privacy, dopo che si è SICURI
che il .zip sia stato inviato correttamente,
si può cancellare la directory su cui
si è lavorato e il file zippato con i comandi, ad esempio,
- rm -rf MarconiGuglielmo
- rm -f MarconiGuglielmo.zip
(Attenzione: i file cancellati
non sono recuperabili!)
Sessione di Esame in Via Tiburtina
- La directory con i file riguardante l'esame
(istruzioni, promemoria, identificazione, etc.) si trovano nella
directory esame posta sul Desktop ('Scrivania').
Per accedervi:
- dalla 'home', ovvero dalla directory in cui ci si trova
all'inizio (e dove si torna dando il comando 'cd'
senza argomenti):
- ls
- cd Scrivania
- cd esame
- ls
nella directory esame si troverà una nuova directory
individuale, ad esempio compito1,
compitoA o qualcosa del genere.
- Accedere alla cartella specifica e listarne il contenuto,
ad esempio
- aprire con emacs il file con le informazioni sullo studente:
inserire i propri dati (il numero di postazione
può essere messo anche in seguito, seguendo
le istruzioni che saranno date al momento)
e richiuderlo subito.
- Seguire le istruzioni (→ Istruzioni.txt),
tenendo conto che
- i file .pdf si aprono con evince,
ad esempio
evince FileQualsiasi.pdf;
- i file .html si aprono con firefox,
ad esempio
firefox keywords_e_funzioni_C.html &;
- i file .txt, .c e .R si aprono con emacs,
anche se per dare un' occhiata rapida a file corti
convine usare cat, more o less.
- Si ricorda di aprire sempre emacs in
background, ovvero facendo seguire il comando
da '&' per mantenere il terminale disimpegnato.
- nel caso si voglia iniziare a lavorare su un
nuovo file mettere dare il comando con già
il presunto nome che si vuole assegnare al file,
ad esempio
emacs programma.c &
ricordando che il comando per cambiare il nome del file
è mv, come ad esempio
mv vecchioNome.c nuovoNome.c
- Si ricorda infine che la corretta estensione
dei sorgenti C è .c e non .C
La consegna consiste nel lasciare i file nella cartella
di lavoro, usando i nomi che saranno eventualmente
suggeriti nelle tracce e cancellando
eventuali file di prove.
Torna alla pagina del corso