GNU/Linux Concetti di base
Sommario GNU/Linux Open Source e GPL Login/Logout Shell e comandi Files Stdin, stdout Redirezione e pipe Filesystem 2
Cos'è Linux Linux è basato su UNIX (filosofia, comandi, convenzioni) Linux Kernel (by Linus Torvalds) + GNU utilities Distribuzioni Linux (RedHat, NethService, Ubuntu, Fedora, Slackware,...) 3
Architettura UNIX 4
OpenSource e GPL Concetto di Software Open Source Licenze Open (GPL, MIT, BSD, ) GitHub 5
Login e Logout Login Login grafico (X) Shell Logout exit Ctrl+D 6
Shell Strumento veloce, flessibile e potente bash readline, history, scripting, wildcards manuale comandi (man) 7
Comandi Sono dei file eseguibili Possono accettare argomenti (es. echo Hello friend!) Case sensitive! 8
Alcuni comandi utili Cambiare la password ad un utente: passwd Diventare root: su - Chi sono? Whoami, id Chi c'è? w, who, last 9
Tutto è un file In Linux è tutto un file (dispositivi, stdin, stdout, ) Possono contenere dati (testo, binari, ) Ogni file ha un nome ([A-z0-9-._]) Alcuni comandi sui file: ls, ln, cp, mv 10
Stdin/out stdin < stdout > stderr 2> 11
Redirezione e pipe cat > lista_nomi cat lista_nomi > /dev/null ridirigere lo stdout sullo stdin: pipe cat lista_nomi grep giovanni 12
Filesystem ext2, ext3, ext4, directory, file e link device files (/dev) special files (/proc) Journaling (ext3, ext4, NTFS, reiserfs, jfs,...) 13
Comandi utili (filesystem) fdisk -l /dev/sda pwd, cd, ls, mkdir, rmdir, rm Mount/unmount mkfs, fsck du, dh 14
/ Radice (root) /root Home dell'utente root /boot immagini del kernel e file indispensabili al bootstrap /etc file di configurazione del sistema e dei programmi installati /home home degli utenti tranne root /usr binari, documentazione, librerie e sorgenti della maggior parte dei programmi /var informazioni dinamiche come log, pid file, directory di spool /proc File system virtuale contiene dati dinamici sul sistema e sui processi /dev file per la gestione dei device Struttura filesystem /sbincomandi e programmi riservati a root (anche /usr/sbin/ ) /bin comandi e programmi base per tutti gli utenti (/usr/bin/ ) 15
Sommario Intoduzione Comandi e concetti di base Editing Processi, servizi e demoni Rete Distribuzione software Troubleshooting 16
Utenti e permessi Sistema multiutente UGO RWX Comandi: chown, chgrp, chmod ls -l 17
nano Editor di testo: vi, nano 18
Processi Comando = processo PID PPID Stati (RSZ) e priorità (da -20 a +19) ps e top kill, killall e segnali nice 19
Schedulatore cron /etc/crontab cron.d Cron.daily... Cron.monthly 55 3 * * * root squid -k rotate 20
Servizi e demoni Servizi demoni tipici Cron Httpd Asterisk Dovecot Ardad 21
Rete Nomi: ethx (es. eth0, eth1) pppx, brx, ethx:y Manipolazione interfacce: File di configurazione ifconfig Rotte: route 22
Rete - Troubleshooting Raggiungibilità ping tracepath / traceroute arp -an Risoluzione nomi host dig 23
Rete - Troubleshooting Pacchetti TCP/IP tcpdump Connessioni e porte aperte netstat nc 24
Archivi di file Formati zip tar tar.gz (tgz), tar.bz2 (tbz2) Comandi tar cvzf file.tgz file1 file2 gzip file 25
Distribuzione software 1/2 Windows: exe msi nessuna gestione delle dipendenze insicuri (nessuna firma digitale) compatibili fra varie versioni 26
Distribuzione software 2/2 Pacchetti Linux: RPM (Red Hat / CentOS) DEB (Debain / Ubuntu) Firmati digitalmente Risoluzione dipendenze Repository apt (Debian / Ubuntu) yum (Red Hat / CentOS) 27
Log /var/log/messages dmesg Manipolazione file di testo cat grep less tail cut sort wc 28
Riferimenti Google TLDP - http://www.tldp.org/ ILS - http://www.linux.it/ Appunti di informatica libera - http://a2.swlibero.org/ 29