Benvenuto su OSFMI.MI.INFN.IT.
Questo calcolatore ha, per ora, due finalita':
1) permettere a qualunque ricercatore della Sezione di Milano di
familiarizzare con una versione del sistema operativo Unix. In questo caso la
versione di Unix elaborata dalla Digital (Digital Unix, gia' OSF/1). E'
importante sottolineare subito che vi e' comunque differenza non piccola fra
le varie implementazioni di Unix, a livello utente e soprattutto a livello di
gestione del sistema;
2) fornire agli altri calcolatori della Sezione dei servizi di vari tipo,
quali la condivione via NFS di dischi contenenti le principali utilita' Unix,
le librerie CERN, il TeX; il servizio di naming TCP/IP, un server WWW e
le Usenet News.
In questo senso OSFMI non deve essere considerata una macchina di
produzione su cui fare girare montecarli o fare analisi, ma solo una
macchina di sviluppo e test: ogni utilizzo per finalita' diverse verra'
scoraggiato.
Inizialmente ad ogni utente vengono assegnati 10000 blocchi (5 MBytes) di
spazio su disco (il comando per controllare la quota personale e' 'vquota');
gli utenti sono naturalmente divisi in gruppi e le protezioni di default dei
files sono tali da permettere la lettura solo al proprietario ed agli
appartenenti al suo stesso gruppo.
Di seguito troverete una breve descrizione della macchina oltre a note e
cautele essenziali sul suo utilizzo CHE SI PREGA DI LEGGERE CON ATTENZIONE. Per
una descrizione piu' approfondita si rimanda alla documentazione citata.
Suggerimenti, osservazioni e segnalazioni su software di interesse generale
sono benvenuti; inviare a questo proposito, oltre che per qualsiasi problema,
un mail all'indirizzo: unix@mi.infn.it.
Buon lavoro
Il servizio calcolo
Sezione INFN di Milano
Mauro Campanella, Luca Carbone
OSFMI.MI.INFN.IT e' un Alpha server 1000 5/400 della DIGITAL (cpu alpha a
400 MHz) con sistema operativo Digital Unix (precedentemente denominato
OSF/1). Per controllare la versione del sistema operativo attualmente
installata si puo' dare il comando 'uname -sr' (qui e in seguito gli apici
non fanno parte del comando ma servono solo per evidenziarlo).
Su OSFMI e' funzionante solo TCP/IP per i collegamenti in rete, DECnet non e'
installato. Ci si puo' collegare interattivamente a OSFMI da altre macchine o
da siti remoti solo con TELNET ('telnet osfmi.mi.infn.it'); localmente la
macchina e' anche accessibile via LAT ('connect OSFMI' dai Terminal Server
oppure 'SET HOST/LAT OSFMI' dalle macchine VMS).
UNIX e' molto differente dal sistema operativo VMS ed in particolare
l'interfaccia comandi per l'utente (o SHELL nel linguaggio UNIX) e'
completamente diversa. Una introduzione essenziale all'utilizzo di UNIX si
puo' trovare nei documenti:
unix.introduction.ps (molto breve)
unix.user.guide.ps (un po' piu' approfondita)
provenienti dal CERN e da DESY: ne raccomandiamo caldamente la lettura.
Il documento:
vms-to-unix-interoperability.ps
inoltre e' un'altra lettura indispensabile per avvicinare gli utenti VMS al
sistema operativo Unix e contiene, tra l'altro, utili tabelle di
corrispondenza fra comandi VMS e Unix.
*** NOTE ESSENZIALI a DIGITAL UNIX ed alle UTILITIES disponibili su OSFMI ***
IMPORTANTE: Unix, a differenza del VMS, non accetta comandi abbreviati e
distingue fra caratteri maiuscoli e minuscoli. I comandi descritti nel seguito
vanno quindi digitati per intero ed esattamente come sono riportati perche'
sortiscano l'effetto voluto.
0) I NOMI DEI FILES SOTTO UNIX
Il formato generico del nome di un file in UNIX e':
/dir1/dir2/dir3/nome
(N.B: a differenza del VMS, NON E' POSSIBILE AVERE VERSIONI
DISTINTE DELLO STESSO FILE CON LO STESSO NOME)
in `nome` sono permessi i normali caratteri. Per semplicita' e trasportabilita'
del file su altre piattaforme si suggerisce di usare i caratteri standard ed un
formato del tipo NOME.ESTENSIONE (un solo punto, niente spazi bianchi $, &, * o
caratteri strani). Il comando che lista i files e' 'ls -l'.
Per copiare i files tra OSFMI.MI.INFN.IT ed altri calcolatori e' disponibile
l'utilita' 'ftp', che collega due macchine col protocollo TCP/IP.
1) COME CAMBIARE PASSWORD
Per cambiare password si utilizza il comando 'passwd'; perche' una
password venga accettata deve avere una lunghezza compresa tra 8 e 20
caratteri. Il sistema e' configurato in modo da costringere ogni utente a
cambiare password ogni 26 settimane; alla scadenza della password si hanno
due settimane di tempo per cambiarla, trascorse le quali l'account viene
disabilitato e puo' essere riabilitato solo dai sistemisti.
2) COME SCOLLEGARSI DALLA MACCHINA
Per terminare una sessione di lavoro si usano i comandi 'logout' o 'exit';
e' disabilitata per default la possibilita' di scollegarsi mediante la
combinazione di tasti [Ctrl]-D (che rappresenta il codice di End-of-File in
Unix). Sulla macchina e' attivo un programma killer (analogo a quello presente
su VAXMI e su AXPMI) che disconnette automaticamente un utente inattivo per
piu' di 20 minuti. Il logout oltre a terminare il processo principale utente,
termina anche ogni sottoprocesso che fosse ancora attivo.
3) COME INTERROMPERE UN PROGRAMMA - CONTROLLO DEI PROCESSI
La combinazione di tasti da utilizzare per interrompere l'esecuzione di un
programma e' [Ctrl]-C. La momentanea sospensione di un programma in esecuzione
si ottiene viceversa con la combinazione [Ctrl]-Z (che ha quindi un significato
COMPLETAMENTE diverso dal VMS). Quando si sospende un processo in esecuzione
il controllo del terminale viene restituito all'utente, il quale riceve un
messaggio del tipo:
....: <PID> suspended <comando digitato>
ove PID (Process ID) e' l'identificatore UNICO del processo assegnato allo
stesso dal sistema operativo (un intero compreso tra 0 e 65535).
Un job sospeso puo' essere interrotto con il comando 'kill <PID>' (simile
allo STOP/ID=... del VMS); va detto che un programma sospeso rimane in questo
stato sino a che l'utente non decida di continuarne l'esecuzione con 'fg' (o
con 'bg', che fa continuare il programma in background - piu' o meno
equivalente ad un sottoprocesso in VMS), o lo interrompa con un 'kill'. Se si
desidera controllare di non avere programmi sospesi (o in esecuzione in
background) quando ci si scollega dalla macchina (e' consigliabile farlo
sempre) si puo' utilizzare il comando 'jobs', che restituisce una lista dei
processi (attivi o sospesi) in background.
Un processo puo' essere lanciato direttamente in background terminando il
comando con una '&' (esempio: <nome-comando> & [Return]) - in questo modo il
controllo del terminale durante l'esecuzione del programma rimane all'utente e
la priorita' del processo viene automaticamente abbassata rispetto
all'interattivo.
Raccomandiamo di seguire tale procedura nel caso si debbano eseguire comandi
lunghi e bisognosi di molte risorse (compilazioni, preparazione di documenti
TeX e via dicendo).
4) COME OTTENERE L'HELP SUI COMANDI
L'help in linea su tutti i comandi disponibili e' accessibile tramite uno
dei comandi:
'man <comando>'
'apropos <parola chiave>'
Per ulteriori informazioni consultare le pagine di help relative a 'man'
stesso ('man man', 'man apropos' etc.). E' inoltre disponibile una specie di
corso di autoapprendimento che si richiama con il comando 'learn'.
5) L'INTERPRETE DEI COMANDI (shell).
In Unix l'interprete di comandi che funge da interfaccia tra l'utente ed il
sistema operativo si chiama SHELL e, diversamente dal VMS (per il quale e'
disponibile per default la sola DCL), ve ne sono molti tipi. La shell di
default per tutte le utenze su OSFMI e' la Z shell (zsh): e' una shell molto
potente, sia per l'utilizzo interattivo (editing della linea di comando,
possibilita' di richiamare i comandi precedenti) che per la creazione di
procedure (shell scripts, analoghi ai command files del VMS).
Oltre alla pagina di help in linea ('man zsh') e' possibile consultare
i files zsh-intro.ps e zsh-man.ps nella directory /usr/local/doc per avere un
quadro completo delle caratteristiche di questa shell.
Su OSFMI sono disponibili anche la altre shell standard di Unix [Bourne shell
(sh), Korn shell (ksh), C shell (chs)] e un ulteriore shell di pubblico
dominio, la Turbo C shell (tcsh).
La shell tcsh e la Z shell sono le uniche due shell di pubblico dominio che
verranno aggiornate in futuro e su cui si dara' consulenza per ad
essere ufficialmente supportate dal servizio calcolo di Milano. A meno che non
sussistano particolari esigenze consigliamo caldamente di NON CAMBIARE LA SHELL
DI DEFAULT.
6) EDITOR.
Accanto agli editor standard di Unix (ed, ex, vi) e' disponibile (e ne
consigliamo l'utilizzo) l'editor del VMS che si richiama con il comando 'edt';
il programma mette a disposizione praticamente tutte le funzionalita' del suo
omologo VMS, tra cui la creazione di copie di backup dei files, il recupero dei
files e via dicendo.
Altri editor disponibili sono 'emacs' (GNU Emacs versione 18.59.1), 'pico' e,
in ambiente grafico X/Motif, 'xedit', 'dxnotepad' e 'nedit'; per quest'ultimo
consultare il documento 'nedit.doc' nella directory /usr/local/doc.
7) MAIL
La politica generale dell'INFN riguardo agli indirizzi di posta elettronica
prevede che ogni utente della sezione di Milano abbia il seguente indirizzo
'logico':
nome.cognome@mi.infn.it;
su VAXMI e' attivo un processo (il Message Router) che si occupa di tradurre
tale indirizzo in un indirizzo 'fisico' vero e proprio, del tipo cioe'
utenza@macchina.mi.infn.it, e di spedire quindi i messaggi in arrivo alla
macchina sulla quale l'utente ha scelto di ricevere la posta. In mancanza di
richieste esplicite tale macchina e' VAXMI; chi desiderasse ricevere e spedire
tutta la posta su una macchina diversa da VAXMI deve comunicarlo a
VAXMI::SYSTEM.
Il programma per la gestione della posta di cui raccomandiamo l'utilizzo su
OSFMI e' Pine, un sistema sviluppato dalla Universita' di Washington e gia'
adottato dal CERN. Il comando per richiamarlo e' 'pine' e tutte le
informazioni per il suo utilizzo sono disponibili tramite l'help in linea; nel
complesso il programma e' potente, comodo da utilizzare ed ha alcune
caratteristiche interessanti, tra cui il supporto MIME (Multipurpose Internet
Mail Extensions) per spedire e ricevere oggetti non testuali (file binari,
immagini, documenti postcript), la gestione automatica di una agenda di
indirizzi etc. etc.
E' comunque possibile utilizzare al posto di Pine i tool standard Unix
(mail, mh, mailx); va pero' detto che ognuno di questi programmi struttura in
modo differente l'archivio dei mail letti e salvati: e' fondamentale quindi
che vengano utilizzati in maniera coerente, cioe' bisogna usare sempre lo
stesso, pena la 'perdita' di messaggi o la loro collocazione in varie
directories e l'impossibilita' di vedere da un programma i mail ricevuti e
letti con un altro.
Un'ultima considerazione: OSFMI e' in grado di ricevere e spedire SOLO mail
SMTP (nativi IP), con indirizzi cioe' della forma:
utente@macchina.dominio;
per spedire da OSFMI un mail a un indirizzo decnet (NODO::UTENTE), tale
indirizzo va specificato nel campo 'To:' del mail in partenza in questo modo:
To: "NODO::UTENTE"@vaxmi.mi.infn.it
(Esempio: "AXPMI::CARBONE"@vaxmi.mi.infn.it)
VAXMI si fara' carico di tradurre correttamente l'indirizzo che OSFMI non
resce a trattare ed inviera' il messaggio.
8) STAMPE
Su OSFMI sono definite tutte le code di stampa presenti su VAXMI con lo
stesso nome (per ottenere una lista delle stampanti disponibili utilizzare il
comando 'lpstat -p'). L'interfaccia al sistema di stampa e' costituita dal
comando 'psprint' (a giorni ne sara' disponibile una versione X11/Motif per
terminali grafici X, si chiamera' 'xpsprint'): entrambi implementano le stesse
funzionalita' del comando PSPRINT disponibile sotto VMS e, a meno di esigenze
particolari, non dovrebbe essere necessario per stampare ricorrere ai comandi
standard Unix (lpr, lp).
9) COMPILATORI e LIBRERIE CERN
Sono disponibili il compilatore C ('cc') e il compilatore fortran ('f77')
Digital; entrambi sono compatibili al 99% con gli analoghi compilatori che
girano sotto VMS, consultare a questo proposito la manual pages ('man cc', 'man
f77'). Sono anche installati i compilatori C e C++ della GNU ('gcc', 'g++') e
le LIBRERIE CERN versione 95A (nella directory: /usr/local/cernlib/cern/95a/ e
successive); gli eseguibili inclusi nella distribuzione sono richiamabili
direttamente da ogni utenza (paw, zftp etc.) e i manuali sono disponibili in
formato PostScript nella directory: /usr/info/cerndoc.
NOTA
E' stato segnalato un bug nella versione del compilatore fortran
attualmente installata sulla macchina (v3.8): consultare il
documento f77v3-8.bug.txt.
10) UTILITIES e PROGRAMMI DI PUBBLICO DOMINIO
Tutte le utilities di pubblico dominio si trovano nella directory
/usr/local/bin, la documentazione ad esse relativa (ove disponibile) e'
reperibile nella directory /usr/local/info. Quella che segue e' una breve
lista di queste utilities; la lista aggiornata e' disponibile nel file
/usr/local/info/ReadMe).
TOOL VERSIONE DESCRIZIONE COMANDO
--------------- --------------- ----------------------- -----------------------
emacs 19.14 Text Editor (X,line) emacs, xemacs
ghostscript 3.12 PS previewer gs
ghostview 1.5 PS previewer gv
gzip 1.2.4 compress/expand files gzip, gunzip
gcc, g++ 2.7.2 GNU c & c++ compilers gcc, g++
lynx 2.4.2 WWW browser (line) lynx, www
mosaic 2.6 WWW Browser (X) Mosaic, mosaic, xmosaic
netscape 2.02 WWW Browser (X) netscape
nedit 4.0 Text Editor (X) nedit
pine 3.95 E-MAIL program pine
tcl 7.4 Tool Command Lang. tclsh
tk 4.0 X ToolKit for Tcl wish
xv 3.0 GIF previewer xv
tcsh 6.05 turbo C shell tcsh
zsh 2.5.03 Z shell zsh
cernlib 95a Librerie CERN ...
TeX & C. TeX package dotex
tel ... Elenco Telefonico Mi. tel
11) PICCOLA BIBLIOGRAFIA DISPONIBILE IN LINEA
Nella directory /usr/local/doc sono disponibili i seguenti documenti:
- unix.intro.ps Ointroduzione a Unix, molto breve
- unix.user.guide.ps introduzione a Unix, piu'estesa
- vms2unix.refcard.ps tabella conversione comandi VMS/Unix
- vms-to-unix-interoperability.ps guida alla migrazione VMS -> Unix
- compilers.refcard.ps FORTRAN & C compilers quick ref. card
- vi.refcard.ps vi quick reference card
- xdvi.gv.refcard.ps XDVI & GhostView quick reference card
- mosaic.refcard.ps Mosaic quick reference card
- lynx.refcard.ps LYNX quick reference ard
- shells.intro.ps introduzione a zsh e tcsh
- zsh.intro.ps introduzione alla zsh
- zsh.manpage.ps man page della zsh in formato PostScript
- gcc.ps guida gcc, g++ (compilatori c e c++ della GNU)
- libg++.ps guida alla libreria del g++