Introduzione ai sistemi GNU/Linux - Davide Albanese

Pagina creata da Rebecca Mariotti
 
CONTINUA A LEGGERE
Introduzione ai sistemi GNU/Linux - Davide Albanese
Introduzione ai sistemi
                           GNU/Linux

                                    Davide Albanese
                               davide.albanese@gmail.com

Questa opera è pubblicata sotto una licenza Creative Commons         1
Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia
Introduzione ai sistemi GNU/Linux - Davide Albanese
Il Codice Sorgente

   Insieme di istruzioni scritte in
    un qualche linguaggio (di
    programmazione) human-
    readable
   Il codice sorgente che
    costituisce un programma è
    solitamente contenuto in uno
    o più file di testo
                                                            d Sorgente Python
                                            Esempio di Codice

   Il codice sorgente deve essere convertito in un file eseguibile
    da un compilatore o eseguito on the fly da un interprete
   La decompilazione (tecnica di reverse engineering) può essere
    usata per generare il codice sorgente dal file eseguibile
                                                                                2
Introduzione ai sistemi GNU/Linux - Davide Albanese
Il Codice Sorgente

                                         Compilatore
                      Codice
                                                                       Eseguibile
                     Sorgente
                                           Interprete
                                         (compila on the fly)

                                Decompilazione (reverse engineering)

Scopi:
   Input del processo che produce un programma eseguibile
   Studio
   Componente vitale nell'attività del porting
   Riusabilità delle porzioni di codice
                                                                                    3
Introduzione ai sistemi GNU/Linux - Davide Albanese
Architettura del sistema
              GNU/Linux
   Nasce come sistema:
      multitasking
      multiutente

   Significa che è stata pensata per l'uso
    contemporaneo da parte di più utenti (da diversi
    terminali)
   Questo comporta conseguenze non del tutto
    intuitive nel caso in cui, come sempre più
    spesso oggi accade, esso venga usato come
    stazione di lavoro da un utente singolo        4
Introduzione ai sistemi GNU/Linux - Davide Albanese
Architettura del sistema
                 GNU/Linux
   Rigida separazione tra:
       Kernel: è il nucleo del sistema. Gestisce le risorse
        hardware
       Processi: sono le unità di esecuzione dei programmi,
        vanno dai comandi base di sistema alle applicazioni
        con interfaccia grafica

        processo                                               CPU
                              system call

        processo
                                            Kernel            memoria
        processo

        processo                                               disco
                                                                        5
             user space                        kernel space
Introduzione ai sistemi GNU/Linux - Davide Albanese
Gerarchia delle Directory

   / : directory root, alla base della gerarchia
   /bin : comandi/strumenti essenziali
   /lib : librerie essenziali di sistema
   /usr : tutte le altre applicazioni/librerie
   /sbin : strumenti essenziali per l'amministrazione di
    sistema
   /etc : contiene file di configurazione del sistema
   /dev : contiene file che rappresentano le varie periferiche
    hardware
   /tmp : file temporanei (il contenuto viene cancellato
                                                                  6
    all'avvio)
Gerarchia delle Directory

   /var : file variabili (dove i programmi registrano
    informazioni)
   /proc : file che forniscono informazioni sui processi
    correnti
   /home : contiene le directory personali per gli utenti
   /root : directory home del superutente
   /mnt : contiene i punti di mount per i filesystem
    temporanei ad uso dell'amministratore
   /media : contiene i punti di mount per i media rimovibili
    (CD-ROMS, DVD's, Drive USB)
                                                                7
Il File System e il montaggio del
                  disco
   Un filesystem è, informalmente, un meccanismo con il
    quale i file sono immagazzinati e organizzati su un
    dispositivo di archiviazione
   Nei sistemi GNU/Linux non esiste il concetto di volume
    o disco come entità separata
   I nuovi dispositivi di archiviazione che contengono un
    filesystem devono essere inseriti in maniera opportuna
    all'interno dell'albero delle directory (per esempio
    in /media)
   Questa operazione si chiama montaggio del disco,
    che generalmente avviene in modo automatico
                                                           8
Utenti e Gruppi

GNU/Linux è un sistema multiutente:
   fornisce dei meccanismi di identificazione dei
    vari utenti sulla base dei quali possa venire
    imposto un adeguato controllo degli accessi e
    delle operazioni che si possono fare
   gli utenti possono venire raggruppati in gruppi.
    Ogni utente è sempre associato almeno un
    gruppo (di default)

                                                       9
File e Directory

Esistono 3 livelli di privilegi:
   privilegi dell'utente (u)
   privilegi del gruppo (g)
   privilegi di tutti gli altri (o)
e 3 permessi di base:
   permesso di lettura (r)
   permesso di scrittura (w)
   permesso di esecuzione (x)

                                        10
I Permessi dei File

   A ogni file è associato un utente (proprietario) e ad un
    gruppo
   Per ciascuno dei 3 livelli di privilegi è possibile
    specificare i permessi

      -       r     w       x          r     -      x   -     -     -

    tipo di       utente                   gruppo           altri
      file

                  - : file regolare
                  d : directory
                  l : link simbolico                                    11
Il superutente (root)

   La maggior parte delle mansioni amministrative sul
    sistema operativo, come l'aggiunta degli utenti o
    l'installazione di software, richiede i privilegi di
    accesso del superutente (amministratore di sistema,
    root)
   Se così non fosse gli utenti normali potrebbero
    compromettere, danneggiare intenzionalmente o
    casualmente il sistema
   Il superutente è un utente speciale che ha accesso
    illimitato al sistema
   In Ubuntu il primo account utente che viene creato
    durante l'installazione è in grado, in modo predefinito, 12
    di eseguire compiti amministrativi
L'ambiente grafico

   Il desktop è ciò che si vede dopo l'accesso al computer ed è ciò
    che si utilizza per la gestione e l'avvio delle applicazioni
   L'ambiente grafico predefinito di Ubuntu è GNOME
   Altri ambienti grafici popolari sono KDE e Xfce con il loro
    aspetto particolare

                                                                   13
Ubuntu e GNOME

   Un pannello è un'area del Desktop GNOME dove si ha accesso ad
    azioni e informazioni
   Pannello superiore:
        Barra dei menù: Applicazioni, Risorse, Sistema
        Icone varie e Applet (piccole applicazioni la cui interfaccia utente risiede in un
         pannello)
        Area di notifica visualizza le icone di diverse applicazioni per indicare la loro
         attività
        Volume
        Orologio
                                            Pannello inferiore:
                                               Mostra scrivania
                                               Icone varie
                                               Elenco finestre
                                               Selettore area di lavoro

                                                                                              14
Il File Manager Nautilus

   Il file manager Nautilus offre un modo semplice e integrato
    di gestione dei propri file
   Anche la scrivania viene gestita da Nautilus. La scrivania è
    posta al di sotto di tutti gli altri elementi visibili sullo
    schermo
   La scrivania a sua volta è una cartella all'interno della
    propria home (/home/utente/Scrivania)
   Per aprire una nuova finestra di Nautilus, fare doppio clic
    su un'icona opportuna sulla scrivainia, come ad esempio
    Home o Computer, oppure scegliere una voce dal menù
    Risorse sul pannello superiore

                                                                  15
Utility di base

   Gedit: Applicazioni -> Accessori -> Editor di testo
   Monitor di sistema: Sistema -> Amministrazione ->
    Monitor di Sistema
   Aspetto: Sistema -> Preferenze -> Aspetto

                                                          16
Installare e Rimuovere il Software

   Le distribuzioni GNU/Linux vengono fornite un'ampia
    selezione delle applicazioni più utilizzate, installate in
    modo predefinito
   Tuttavia, c'è il bisogno di installare/aggiornare il
    software per soddisfare le proprie esigenze
   Un gestore di pacchetti è un programma che installa e
    rimuove il software, tenendo traccia di tutti i
    componenti di cui necessitano i singoli programmi
   In Ubuntu i pacchetti software hanno estensione .deb
    dovuta alla sua relazione con la distribuzione
    GNU/Linux Debian
                                                                 17
Installare e Rimuovere il Software

   Con Ubuntu è possibile utilizzare tre gestori di
    pacchetti differenti:
       Aggiungi/Rimuovi applicazioni: il metodo più
        semplice per installare e rimuovere programmi.
       Synaptic: controllo avanzato del software e di altri
        componenti del sistema.
       Apt: se si preferisce usare il terminale.
   Per utilizzare questi programmi sono necessari
    privilegi di amministratore

                                                               18
Repository Software di Ubuntu

   Un repository software è un archivio da cui è possibile
    scaricare e installare software
   Per organizzare il software, i repository di Ubuntu sono
    suddivisi in quattro componenti:
        main: contiene applicazioni libere che sono supportate
         pienamente dal team di Ubuntu
        restricted: software comuni mantenuti dal team di Ubuntu
         che non sono disponibili con una licenza pienamente libera
        universe : insieme di software del mondo libero non
         supportato dal team di Ubuntu
        multiverse: contiene software non libero non supportato dal
         team di Ubuntu
                                                                       19
Esempio: installare Inkscape dal
    repository di Ubuntu
Inkscape è un editor di grafica vettoriale open
         source, simile ad Adobe Illustrator,
         Corel Draw, Freehand. E' presente nel
         repository di Ubuntu

1. Applicazioni → Aggiungi/Rimuovi applicazioni →
 Grafica
2. Selezionare inkscape
3. Applica modifiche
                                                    20
Esempio: aggiungere il repository
           Medibuntu
E' un repository di pacchetti che non possono essere inclusi
  nella distribuzione di Ubuntu per ragioni legali (copyright,
  licenze, ecc...)
  https://help.ubuntu.com/community/Medibuntu

1. Sistema → Amministrazione → Sorgenti software e quindi
   Software di terze parti
2. Inserire la riga APT per il repository
   •   deb http://packages.medibuntu.org/ hardy
       free non­free
3. Firma digitale dei file forniti, rendendo facile la verifica
   dell'originalità e dell'integrità dei file
   •   Sistema → Amministrazione → Synaptic → Ricarica →
       Cerca → medibuntu-keyring → Applica                        21
Puoi anche leggere