Castelli Flavio - 2012. Panoramica su Linux



Похожие документы
Il Sistema Operativo Linux

Corso base GNU/Linux Latina Linux Group. Sito web: Mailing list:

Corso ForTIC C2 LEZIONE n. 1

Prima Esercitazione. Unix e GNU/Linux. GNU/Linux e linguaggio C. Stefano Monti smonti@deis.unibo.it

LPIC-1 Junior Level Linux Certification

POLINUX. Linux for Polimi people

Linux e Open Source: Libero! Non "gratis"...

Guida di Installazione GCC

GNU/Linux Concetti di base

Terza lezione: Directory e File system di Linux

Shell di Linux e Comandi Utente


L i n u B e s t a Mario Di Raimondo

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Il software del PC. Il BIOS

MODEM USB MDC525UP Guida Rapida LINUX

La Filosofia ''Open Source'' ed il Sistema Operativo ''Linux''. Gabriele Turco e Tudor Trani.

Usare Python in Linux

Installare software Linux. Gruppo Linux Macerata - Corso Linux Lez. 5: Installazione dei software Linux

Il computer: primi elementi

Application Server per sviluppare applicazioni Java Enterprise

Introduzione alla. Alessandra Giordani Lunedì 27 febbraio

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Alma Mater Studiorum Università di Bologna. Controllo di versione. S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE / 18

Utilizzo Base del Sistema Operativo Ubuntu GNU/Linux

Applicazioni di Ubuntu

PROGRAMMAZIONE CONSUNTIVA Codice Mod. RQ 23.2 Pag 1/5. Sistemi e Reti (articolazione Telecomunicazione) Classe

Setup e installazione

MODULO 02. Iniziamo a usare il computer

Getting Started. Walter Cazzola. Dipartimento di Informatica e Comunicazione Università degli Studi di Milano

Il web server Apache Lezione n. 3. Introduzione

Corso di Informatica

Laboratorio di Programmazione

Registratori di Cassa

Linux. Linux. Paolo Zatelli. Dipartimento di Ingegneria Civile ed Ambientale Università di Trento. Paolo Zatelli Università di Trento 1 / 24

Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Domenico De Guglielmo Vanessa Gardellin & Sara Lioba Volpi

Il sistema operativo Linux installato sul vostro computer non è un unico, grande

Corso sul pacchetto R

Indice. Indice V. Introduzione... XI

VPN RETI PRIVATE VIRTUALI: ACCESSO REMOTO

Introduzione al Software Libero

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Ubuntu e la sua Installazione

Guida alla documentazione italiana di Solaris Server per sistemi SPARC SMCC

Il kernel. Tra le distro più usate c è Ubuntu LINUX WINDOWS

Linux?!? A cura di: Carmine Stolfi Roberto Lacava

Corso di Alfabetizzazione Informatica

Manuale di KSig. Richard A. Johnson Traduzione del documento: Daniele Micci

Ingegneria del Software 1: Eclipse

L ACQUISIZIONE E LA GESTIONE DEI DOCUMENTI ELETTRONICI

PAD: istruzioni di laboratorio

Gestione del software

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Breve guida a Linux Mint

Introduzione a Dev-C++

Introduzione a Linux. Storia di UNIX

Manuale utente Volta Control

Introduzione al sistema operativo GNU/Linux. Ordine degli Ingegneri della Provincia di Bari UgoLopez.it Ing. Francesco Cellamare

Corso Amministratore di Sistema Linux Programma

Guida di Pro Spam Remove

NOZIONI BASE PER ESERCITAZIONI

Corso di PHP. Prerequisiti. 1 - Introduzione

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11

GCompris. Questo software è rilasciato sotto licenza GPL ed è un pacchetto ufficiale GNU, gira su diversi sistemi operativi Linux e sotto Windows.

ISIS C.Facchinetti Sede: via Azimonti, Castellanza Modulo Gestione Qualità UNI EN ISO 9001 : 2008

Panoramica: che cosa è necessario

Informatica Generale 1 - Esercitazioni Introduzione all uso della command-line shell

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso amministratore di sistema Linux. Corso amministratore di sistema Linux Programma

Corso Linux Corso Online Amministratore di Sistemi Linux

NOZIONI BASE SHELL E SCRIPT LINUX

LE POSSIBILITA' DI ACCESSO DA REMOTO ALLE RETI DI CALCOLATORI

Puppy Linux (Precise) Live da CD o da USB (Si può usare su PC con 256 MB di RAM)

Installazione di Sophos Antivirus 5.1 su piattaforma Windows XP

Studi di Settore. Nota Operativa 22/4/2013

Транскрипт:

@

Un po' di storia Castelli Flavio - 2012 Linus Torvalds

Un po' di storia D: Chi è Richard Stallman? R: Uno degli hacker più talentuosi del MIT D: Qual'era il suo problema? R: la progressiva chiusura del codice sorgente nel 1983 annuncia l'intenzione di creare il SO GNU nel 1985 rilascia il manifesto del progetto GNU nel 1985 crea la Free Software Foundation nel 1989 prima versione della licenza GPL

Un po' di storia Cosa garantisce una licenza open source come la GPL: Libertà di eseguire il programma, come desideri. Libertà di studiarne il codice sorgente e modificarlo. Libertà di fare copie e distribuirle agli altri. Libertà di pubblicare versioni modificate.

Un po' di storia D: Chi è Linus Torvalds? R: Uno studente universitario Finlandese D: Cosa voleva fare? R: Accedere al suo account universitario da casa D: Qual'era il suo problema? R: Minix non funzionava bene sul suo 386 Scrivere un terminale indipendente da Minix

1991: la nascita Un po' di storia From: torvalds@klaava.helsinki.fi (Linus Benedict Torvalds) [...] Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. [...]

Un po' di storia Caratteristiche di Linux agli albori: il codice sorgente era completamente disponibile era possibile modificarne il codice la sua licenza non imponeva limitazioni d'uso Problema: mancavano tutti i tool di contorno Progetto GNU

Un po' di storia Progetto GNU: nato nel 1983 per mano di Richard Stallman scopo: avere un sistema unix like rilasciato con licenza aperta Cosa aveva: compilatori, debugger, editor, coreutils... Cosa mancava: un kernel: Hurd non era ancora completato

Un po' di storia GNU Linux Gnu/Linux

Un po' di storia Espressione sociale: creazione dei Linux User Groups (LUG): punto di aggregazione per utenti Linux punto di aiuto per i nuovi utenti eventi: Installation party Linux Day

Cosa è Linux? l'insieme del kernel (Linux) ed una serie di programmi distribuzione Linux ( distro )

Distribuzioni Linux principali distribuzioni Linux Debian Gentoo Fedora Mandriva Slackware SUSE Ubuntu centinaia di altre distribuzioni

Distribuzioni Linux Cosa distingue le varie distribuzioni: 1) tool di configurazione 2) gestione del software 3) modalità di rilascio 4) posizionamento dei file di configurazione

Distribuzioni Linux tool di configurazione tutto in unix è configurabile tramite appositi file configurazione periferiche (mouse, scanner, stampanti,...) configurazione programmi (web server, db,...) avvio automatico servizi, programmi... editing a manuale tool guidati

Distribuzioni Linux gestione del software Come installare programmi sotto Linux: compilare i programmi partendo dal codice sorgente installare i programmi usando le versioni pacchettizzate risoluzione automatica delle dipendenze aggiornamento automatico alle nuove versioni

Distribuzioni Linux gestione del software Cosa contiene un pacchetto: script pre e post installazione file forniti dal programma: eseguibili librerie man pages file di configurazione...

Distribuzioni Linux gestione del software Principali metodi di pacchettizazione Formato rpm deb Distribuzione Fedora Mandriva, Mageia SUSE Debian Ubuntu Gestore Alto livello Basso livello yum urpmi rpm zypper apt-get / aptitude dpkg NOTA: è sconsigliato installare sw pacchettizzato per altre distro

Distribuzioni Linux gestione del software GUI per gestione pacchetti

Distribuzioni Linux gestione del software Vantaggi legati alla pacchettizazione: installazione facilissima (meglio che windows [1] ) risoluzione automatica delle dipenze aggiornamenti automatici di tutto il sistema [1] http://tinyurl.com/qsmzph

Distribuzioni Linux gestione del software Operazione aggiornamento lista programmi aggiornamento sistema ricerca software installare software Debian-like apt-get update apt-get upgrade apt-cache search XYZ apt-get install XYZ SUSE zypper refresh zypper update zypper search XYZ zypper install XYZ

Distribuzioni Linux modalità di rilascio Due filosofie : rolling release: Debian Gentoo versions release: Fedora Mandriva Slackware SUSE Ubuntu OpenSUSE 12.1 November 2011 opensuse 12.2: July 2012 opensuse 12.3: March 2013 opensuse 13.1: November 2013 opensuse 13.2: July 2014

Distribuzioni Linux Posizionamento dei file E' possibile che alcuni file/directory siano in posti diversi MA Il contenuto e l'organizzazione dei file raramente cambia

Distribuzioni Linux Brain dump

Interagire con Linux Due strade GUI Terminale NB: l'interfaccia grafica è un componente aggiuntivo ed opzionale del sistema

Interagire con Linux - GUI Window manager: semplice gestione delle finestre blackbox, fluxbox,... icewm twm afterstep enlightenment Desktop environment: window manager + programmi integrati GNOME KDE XFCE4

Breve introduzione alla console ne esistono diverse: bash (più diffusa), ksh, csh,... comandi base: creazione directory: mkdir spostare/rinominare file/dir: mv navigare nelle dir: cd rimuovere file/directory: rm elencare i file: ls è possibile combinare più programmi insieme tramite pipe è possibile ridirigere l'output dei programmi

Breve introduzione alla console Combinare più programmi insieme tramite pipe: ps aux grep firefox Redirigere l'output di un comando: grep users /etc/group > members_of_users_group Redirigere stderr sullo stdout: rm /tmp/* 2>&1 Redirigere stderr e stdout su file: rm /tmp/* >& everything

Breve introduzione alla console Gestione dei permessi: chmod +x script.sh # man chmod Processi in esecuzione: ps aux Gestione dei processi: kill <signal> pid # TERM se <signal> e' omesso killall <signal> program_name kill -HUP pid kill -9 pid

Breve introduzione alla console Ricerca all'interno di file di testo: grep <pattern> <file_name pattern> grep -i -r <pattern> <file_name pattern> File globbing: *.jpg?.jpg [A-Z]*.jpg *.{h,cpp,c} Altri esempi: http://goo.gl/tcfu

Breve introduzione alla console Trovare file: find <path> -iname <pattern> Cancellare tutti i file trovati: find./ -iname *.svn xargs rm -rf

Breve introduzione alla console $ cat values a;12 c;1 b;500 Sort usando la seconda colonna: $ sort -n -k2 -t ';' values Sort usando la prima colonna: $ sort -k1 -t ';' values Sort ordine descrescente: $ sort -n -r -k2 -t ';' values Castelli Flavio - 2012

Breve introduzione alla console $ cat values a;12 c;1 b;500 Sostituire un carattere: $ sed -e 's/;/ - /g' values a - 12 c - 1 b - 500

$ cat values foo foo bar foo bar Breve introduzione alla console Rimuovere duplicati: $ uniq values Meglio usare: $ sort values uniq Castelli Flavio - 2012

Breve introduzione alla console $ cut -d ':' -f1 /etc/passwd \ sort \ xargs -n1 -i echo "hello user '{}'" Output: hello user 'at' hello user 'avahi' [...] hello user 'uucp' hello user 'wwwrun' Castelli Flavio - 2012

Demo Scompattare l'archivio demo.tar.bz2 usando tar e bz2

Demo Gestione del file system Interprete di comandi (bash, ruby) Gestione dei permessi Esecuzione programmi

Demo std_out_err.rb: Redirigere stderr sullo stdout Redirigere stdout su file Redirigere stdout su file in modalita' append Redirigere stderr su file Redirigere stderr su file in modalita' append Redirigere stdout e stderr su file Redirigere stdout e stderr su file in modalita' append

Demo Gestione processi: bunnies.rb: Individuare i processi in esecuzione tramite uso combinato di ps e grep Terminare i processi usando kill e kill -9 fibonacci.rb: Individuare i processi in esecuzione tramite uso combinato di ps e grep Inviare il segnale HUP al processo fibonacci

Demo power-shell file utilizzati: events_stats.rb: concerti in una citta' [last.fm] country_stats.rb: top 50 artists in una nazione [last.fm] eu_stats: stats paesi europei (21 Aprile 2010) world_stats: stats tutto il mondo (21 Aprile 2010) european_countries: lista paesi unione europea world_countries: lista nazioni artists_overall: playcount globale per tutti gli artisti presenti in world_stats commands: soluzione degli esercizi della demo artist_total_playcount.sh: script shell calcola totale playcount per un artista usando world_stats Castelli Flavio - 2012

Demo power-shell esempi: Classifica delle nazioni che ascoltano un certo artista. Classifica delle nazioni che ascoltano un certo artista e numero totale degli ascolti. Calcolare gli ascolti totali per tutti gli artisti riportati nel file world_stats

Demo - conclusa

Breve introduzione alla console Tenendo conto che: coreutils forniscono dei programmi per diverse esigenze bash permette lo scripting Domanda: perchè non programmare in bash usando coreutils? Risposta: dipende, rischiate di farvi del male!!

Considerazioni è possibile utilizzare Linux in tutti gli esami/progetti universitari conoscere Linux vi arricchirà personalmente e professionalmente

Domande?

Riferimenti Siti consigliati: bglug: http://bglug.it/ pluto project: http://www.pluto.it/ildp/howto.html appunti Linux: http://a2.pluto.it/ Advanced bash scripting guide: http://tldp.org/ldp/abs/html/ The Linux documentation project: http://tldp.org/ Libri: Linus Torvalds, David Diamonds Rivoluzionario per caso Garzanti Glyn Moody Codice ribelle - HOPS