laboratorio di reti informatiche -...
TRANSCRIPT
LaboratoriodiRetiInformatiche
CorsodiLaureaTriennaleinIngegneriaInformaticaA.A.2016/2017
Ing.Niccolò[email protected]
1©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Informazionigenerali
• Ricevimento• Suappuntamento,tramiteemail• Specificaresempre«RetiInformatiche»nell’oggetto
• PaginaWebdelcorso:http://www2.ing.unipi.it/~a008149/corsi/reti/
2©2016Niccolò IardellaLaboratorio diReti Informatiche – A.A.2016/2017
Informazionigenerali
• Esame:• Consegnaediscussionedelprogetto• Esameorale/praticorelativoalleesercitazioniinlaboratorio• Esameorale(teoria)• L’iscrizioneonlineèobbligatoria
3©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Programmadelleesercitazioni• IntroduzioneaisistemiUnix/Linux• IncomuneconSistemiOperativi
• Configurazionediinterfaccedirete,gatewayeDNS• ConfigurazioneclienteserverDHCP• Programmazionedistribuitaconisocket• ConfigurazionediunserverWeb(Apache)• ConfigurazionedelfirewalldiLinux
4©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Esercitazione1IntroduzioneaisistemiUnix/Linux
5©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Programmadioggi
• Breveintroduzione• Filesystem• Interpretedeicomandi(shell)• Comandidibase
6©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Unixederivati
UNIX(1969)
BSD(1977)
FreeBSD,NetBSDOpenBSD (90s)
Darwin(MacOS)(1999)
GNU(1984)
GNU/Linux(1994)
Solaris(1992)
• Debian• Ubuntu• ArchLinux• Gentoo• …
7©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
CaratteristichediUnix
• Componentiprincipali:• Ilkernel interagisceecontrollal’hardware• Leapplicazioni sfruttanoilkernel peroffrireserviziefunzionalità:• Interpretedeicomandi• Softwaredisistema(es.pannellidicontrollo)• Programmiutente
8©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
CaratteristichediUnix
• Multitasking:piùprocessieseguiti«contemporaneamente»• Multiutente:piùutentipossonointeragirecontemporaneamente,eventualmenteconprivilegidiversi• Portabile:grazieancheallinguaggioC,Unixèstatoprogettatofindall'inizioperavereelevataportabilità• Modulare:programmisemplici,componibilieriusabili
9©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
InstallazionediGNU/Linux
• LadistribuzionediriferimentoperilcorsoèDebian 8www.debian.org
• Installazionesumacchinafisica• TramiteCDochiavettaUSB• Utilizzodell’interodiscoosupartizioniseparate
• Installazionesumacchinavirtuale(es.VirtualBox)• Dazero,tramiteISO• Importandolamacchinacheviforniamo
• http://for.unipi.it/fabio_del_vigna/102-2/
10©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
InstallazionediGNU/Linux
• IlSOhabisognodialmenoduepartizionisuldisco:• Partizioneprincipale,oroot (/)• Partizionediswapperlamemoriavirtuale
• Sipossonousarealtrepartizioniseparateper:• Lacartella/home contenenteifiledegliutenti• Lacartella/etc perifilediconfigurazione• Lacartella/boot perifilediavvio• …
11©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Utenti
• Utenteroot• Amministratoredelsistema• Puòcompierequalsiasi tipodioperazione
• Utentinormali• Utilizzatoridelsistema• Hannoprivilegilimitati
• Solitamentesicreaalmenounaccountutentenormaleperl’utilizzoabitualeesiusal’accountroot solosenecessario.
12©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
FilesystemIntroduzioneaisistemiUnix/Linux
©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
13
Filesystem
• Tuttiidischivengonoresiaccessibili(montati)tramiteununicofilesystem virtuale:• / èladirectoryprincipale• /home contienelevariehomedirectorydegliutenti• /sbin contieneiprogrammidisistema• /etc contieneifilediconfigurazione• ...• /media rendeaccessibiliisupportirimovibili
• /media/cdrom• /media/kingston8gb• …
14©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Filesystem
/
bin
bash
grep
ping
dev
tty0
cdrom
etc
firefox
passwd
lib home
amy rory
todos.txt
Everything is a file: ogni documento, cartella, dispositivo I/O,interfaccia di rete, stream di byte, ecc., è accessibile dall’unicofilesystem.
15©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Filesystem
Comedescrivereunpercorso(path)delfilesystem:• Percorsoassoluto– siesprimel’interopercorsopartendodallaradice:/home/amy/Documents/todolists/groceries.txt
• Percorsorelativo– siesprimeilpercorsoapartiredalladirectoryincuimitrovo:Documents/todolists/groceries.txt
• Caratterispeciali:• ~ indicalanostra homedirectory• . indicaladirectorycorrente• .. indicaladirectorypadre
Unixècase-sensitive!
16©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
ShellIntroduzioneaisistemiUnix/Linux
©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
17
Shell
• Uninterpretedeicomandi,oshell,consenteall’utentedirichiedereinformazionieservizialSO:• Shellgrafica – GraphicalUserInterface(GUI)
• Piùfaciledausare• Shelltestuale – CommandLineInterface(CLI)
• Piùveloceepotente
18©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Shell
• Unashell testualeripetutamente:• Mostraunprompt• Leggeuncomandodigitatodall’utente,terminatoconinvio/enter/return• Esegueilcomando
• Senonèingradodicompletarlosegnalaunerrore• Seprevisto,stampal’outputdelcomando
• Esistonodiverseshell perUnix:• sh,csh,tcsh,bash,zsh,…• Differisconoperaspettodelprompt eperfunzioniavanzate,icomandidibasesonoglistessi.
19©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Bash
• Prompt:
amy@tardis:~/Documents$ █
username host directorycorrente
tipodiutente
cursore
$:utentenormale#:utenteroot
20©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Accessoalsistema
• Login• Siaccedeusandousernameepassword
• Comandologout• Perusciredallasessione• Scorciatoia:Ctrl+D
• Funzioniutili• Auto-completamentodicomandiedirectory:TAB• History deicomandirecenti:Freccesu/giù• Terminalivirtuali:Ctrl+Alt+F1,F2,…
• InDebian/Ubuntu F7èl’interfacciagrafica
21©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Arrestoeriavvio
• Comandoshutdown• Perarrestareoriavviareilsistema• Didefault,solol’utenteroot puòinvocarlo
• Arresto# shutdown -h now
• Riavvio# shutdown -r now
comando opzione argomentodell’opzione
22©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
ComandidibaseIntroduzioneaisistemiUnix/Linux
©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
23
Comandocd
• cd (change directory)consentedipassaredaunadirectoryall’altra• Semitrovoin/var,possodigitare:
$ cd /lib• Pathassoluto,vadoin/lib
$ cd lib• Pathrelativo,vadoin/var/lib
$ cd ..• Vadonelladirectorypadre,cioè/
$ cd ~ (oppuresolocd )• Vadonellamiahome,es./home/amy
/
lib var
lib
24©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Comandopwd
• pwd (print working directory)stampailpercorsoassoluto delladirectorycorrente:$ pwd/var (output)$ cd lib$ pwd/var/lib (output)$ cd ../.. (directorypadreduevolte)$ pwd/ (output)$
25©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Comandols
• ls (list)serveperelencareilcontenutodelladirectoryspecificata• Senonsispecificanulla,elencaladirectorycorrente
• Sipossonousarepercorsiassolutiorelativi• Sipossonospecificarepiùpercorsi• $ ls /etc /var
• Spessofileecartellesonodicoloridiversi
26©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Comandols
• Opzione-l (long)• Mostradettagli(permessi,proprietario,dimensioni,datadiultimamodifica)
$ ls -l
• Opzione-a (all)• Mostraancheifilenascosti(cioèilcuinomeiniziacon.)$ ls -a
• Leopzionisonocumulabili$ ls -a -l oppure $ ls -al
27©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Metacaratteri(wildcards)
• Siusanoperindicareinsiemidifileocartelle• * sostituiscezeroopiùcaratteri• ? sostituisceunsingolocarattere• [a,b,c] oppure [a-z] sostituisceuncaratterenell’insiemespecificato(ancheconcifre)
$ ls
aa.c abc.c a.c a.h axc.c
$ ls *.c
aa.c abc.c a.c axc.c
28©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Metacaratteri(wildcards)
$ ls a*.caa.c abc.c a.c axc.c$ ls ?.?a.c a.h$ ls a??.cabc.c axc.c$ ls a[b-t]c.cabc.c$ ls a[4,f,x]c.caxc.c
29©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Comandoman
• Nonsapetecosafauncomandoocomesiusa?$ man nome_comando
• Ilmanualecontieneladescrizioneesaustivadelcomando,lasintassi,leopzioni,imessaggidierrore
• Èdivisoinsezioni(provate$ man man)• Nonèsolopericomandi(sezione1)
• Funzionidelkernel (2)• FunzionidellelibrerieC(3)• Filediconfigurazione(5)• …
• Servespecificarelasezionesecisonoambiguità:$ man printf vaalcomando$ man 3 printf vaallafunzioneC
30©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Cercarenelmanuale
• Comando whatis• Servepervisualizzareladescrizionebrevediunapaginadelmanuale.Indicaancheleambiguitàelesezionigiuste.
• Comando apropos• Serveperricercareunaparolainnomiedescrizioni.
• whatis siusapersaperevelocementecosafauncomando, apropos persaperechecomandihoadisposizioneperfarequalcosa• Es. whatis unzip e apropos unzip
31©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Comandisufileedirectory
$ mkdir nome_dir• Creaunadirectory
$ rmdir nome_dir• Rimuoveunadirectory,solosevuota
$ cp src dst• Copiaunfileounadirectory
$ cp src1 src2 … dst_dir• Copiapiùfileodirectoryinun’unicadirectory
$ mv src dst• Rinomina unfileounadirectory
$ mv src1 src2 … dst_dir• Sposta piùfileodirectoryinun’unicadirectory
32©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Comandisufileedirectory
$ touch nome_file• Aggiornailtimestamp diaccessoemodificadiunfile• Seilfilenonesiste,vienecreato
$ cat file1 file2 …• Concatenailcontenutodiduefileelistampanellostandardoutput
• Puòessereutilepervisualizzarevelocementefilebrevi$ rm file1 file2 …
• Rimuovefileodirectory• Inmancanzadiopzioni,lecartellenonvengonorimosse• Perrimuovereunacartellaetuttoilsuocontenuto,usare-r
33©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Hardlinkesoftlink
Dati(inode)
myfile.txtmy-hard-link
my-soft-link
$ ln target nome_link• Creahardlinkafileodirectory• Percrearesymbolic link(osoftlink)siusa–r
34©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Letturadifile
• Comando less• Pervisualizzareunfile«unpo’allavolta»einterattivamente• Versionemiglioratadimore
• Comandi head/tail• Pervisualizzarelaprima/ultimapartediunoopiùfile• Sipuòspecificareilnumerodibytedamostrarecon-c oilnumerodirighecon–n• Didefault,10righe
35©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Redirezione I/O
• Disolitoicomandisfruttanotre«file»:• stdin – inputdatastiera• stdout – outputsuschermo• stderr – messaggidierroresuschermo
• Èpossibiledeviarel’outputdiuncomandoversounfileoppureacquisirel’inputdaunfile
comandostdin stdout
stderr
36©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Redirezione dell’output
• > invialostdout aunfile• Seilfilenonesistevienecreato• Seilfileesistevienesovrascritto$ ls -1 > filelist.txt
• 2> comesopra,perlostderr• &> comesopra,perentrambi• >>,2>> e&>> comesopra,mascrivonoinappendinvecedisovrascrivere• Sipossonoinviareidueoutputsufilediversi
• $ comando > out.txt 2> errors.txt
37©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Redirezione dell’input
• < recuperal’inputdaunfile$ sort < list.txt
• Sipuòusareincombinazionecon>$ sort < list.txt > sortedlist.txt
38©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
Pipeline
• | (pipe)collegal’outputdiuncomandoall’inputdelsuccessivo$ ls -l mydir | less
• Sipuòusarepiùvolteeincombinazioneconlealtreredirezioni$ cat *.txt | sort | uniq > result-file
39©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
su esudo
• su (switch user)serveperaccederealterminalediunaltroutente• Senonspecificato,siaccedealterminalediroot• Vienechiestalapassworddell’utenteconcuisivuoleaccedere
• sudo nome_comando serveperlanciareuncomandocomeunaltroutente• Senonspecificato,siusal’utenteroot• Vienechiestalapassworddell’utentecorrente• L’utentedevefarepartenelgrupposudoers
©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
40
EsercitazioneIntroduzioneaisistemiUnix/Linux
©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
41
Esercizio1
1. Apriteunterminalevirtualeedeseguitel’accesso• Poteteaprireancheunsecondoterminaledausareperman
2. CreateladirectoryEsercitazione13. Create,senzausareuneditor,unfile
esercitazione.txt all’internodiEsercitazione1 checontengalaparolaEsercizio• Perstampareparoleusateecho parola
4. Visualizzateilcontenutodelfileesercitazione.txtusandoilcomandoless (Passatealess primailpath relativoepoiilpath assolutodelfile)
5. SpostateviinEsercitazione1 esubitodopousateilcomandopertornarenellavostrahome
©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
42
Esercizio2
1. Visualizzateilpercorsodelladirectorycorrente2. SpostateviinEsercitazione1 ecreate3filef1.txt,f2.txt,f3.txt
contenentirispettivamenteleparoleUno,Due,eTre3. Conunsolocomandocreateilfilef_tot.txt partendodaf1.txt,
f2.txt,f3.txt fattocomesegue,evisualizzateneilcontenuto:• Uno(acapo)Due(acapo)Tre
4. Cancellateifilef_tot.txt,f1.txt,f2.txt,f3.txt5. Adessocreateilfilefcitta.txt fattocomesegue:
• Milano(acapo)Perugia(acapo)Asti6. Visualizzateilcontenutodifcitta.txt inordinealfabetico7. Salvateilcontenutodifcitta.txt ordinatoinunfilefcittaord.txt
©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
43
Esercizio3
1. Usandolafunzionediautocompletamento dellashellpassatefcittaord.txt alcomandoless.Finoachepuntoriesceadaiutarvi?
2. Createunfilefcitta.c eduecartelleTesti eSorgenti3. UsandoimetacarattericopiateinTesti tuttiifile.txt
edinSorgenti ifile.c4. Cancellatetuttiifileditestodelladirectory
Esercitazione5. Create3filechiamandolifa.txt,fb.txt,fc.txt6. Usateun’espressionechepermettadispostaresolo
fa.txt edfc.txt enonfb.txt nellacartellaTesti7. Eliminatefc.txt
©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
44
Esercizio4
1. CancellateifiledellacartellaSorgenti2. Usandormdir eliminatelecartelleTesti eSorgenti
1. Ciriuscite?3. Createunacartellasotto e,dentrosotto,unacartella
sotto1.Usateilmanualepertrovarel’opzionedirmdirchepermettedicancellareanchesotto secancellatesotto1
4. Createunacartellaorigine edentrooriginecreatelacartellasotto_origine edilfileqwerty.txt
5. Createladirectorydestinazione ecopiatealsuointernoilcontenutodiorigine.Seusatecp senzaopzionicosasuccede?Comedovetefare?
6. Adessocopiatenonsoloilcontenutomatuttalacartellaorigine indestinazione
©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
45
Esercizio5
1. Visualizzateilcontenutodidestinazione2. Adessousatel’opzionedils chevisualizzaanchei
permessi3. All’internodidestinazione createilfile.youcantseeme4. Visualizzateloconls5. Salvatel’outputdils /etc inunfilels_output.txt6. Visualizzate
• Sololaparteinizialedelfile• Sololapartefinale• Sololaprimariga• Sololeultime2righe
7. Conunsolocomandosalvatesulfileterza.txt sololaterzarigadelfile
©2016NiccolòIardellaLaboratoriodiRetiInformatiche– A.A.2016/2017
46