SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Lezione Cinque: Advanced Using




                                      Lezione Cinque: Advanced Using


                                      Dario Mazza - Sebastiano Merlino

                                 Universit` degli Studi di Catania - Facolt` di Ingegneria
                                          a                                a


                                                  13 Maggio 2010

1 / 16
Lezione Cinque: Advanced Using
   Compilazione da Sorgenti




Compilazione da Sorgenti


         La compilazione ` il processo mediante il quale si trasforma un semplice
                          e
         file sorgente (non ` altro che un file di testo in un linguaggio di
                            e
         programmazione) nel cosiddetto linguaggio macchina, comprensibile alle
         macchine (composto esclusivamente da sequenze di 0 ed 1).
         Sebbene questa possa sembrare un’operazione complessa ed
         effettivamente lo sia nel caso in cui si richiedesse all’utente di utilizzare
         strumenti informatici come compilatori, linker, ecc..., risulta realmente
         semplice su Linux grazie all’utilizzo di uno speciale comando: make.
         Tale comando sfrutta l’utilizzo di un file chiamato Makefile che altro non
         contiene se non i passi necessari alla compilazione (ci` che in effetti
                                                                 o
         andrebbe fatto manualmente), eseguendoli per noi.



2 / 16
Lezione Cinque: Advanced Using
   Compilazione da Sorgenti




Compilazione da Sorgenti

         Sebbene ci si possa trovare in svariate situazioni, generalmente l’utilizzo
         di make comprende tre comandi consecutivi da effettuare dall’interno
         della cartella del sorgente:
           1    ./configure (permette la preconfigurazione del codice e verifica
                eventuali precondizioni; pu` essere spesso omesso anche se ` un
                                           o                               e
                passaggio caldamente consigliato).
           2    make (compila effettivamente i sorgenti).
           3    make install (trasferisce gli eseguibili ottenuti nelle cartelle di
                sistema al fine di poterli eseguire come software dello stesso)
         Spesso durante la compilazione ` possibile trovare errori a causa di una
                                          e
         libreria mancante. In questi casi il compilatore dar` un messaggio
                                                             a
         d’errore indicando quale file manca (in genere un file con estensione .h):
         per risolvere il problema basta usare il comando apt-file (visto nella
         precedente lezione) per trovare il pacchetto contenente quel determinato
         file e rilanciare il comando make per la compilazione.
3 / 16
Lezione Cinque: Advanced Using
   Creazione di un pacchetto DEB




Creazione di un pacchetto DEB
         `
         E l’operazione mediante la quale si ottengono pacchetti .deb a partire da
         sorgenti. Una tale operazione avviene mediante l’utilizzo del gi` a noi noto
                                                                         a
         strumento dpkg. Si utilizzer`, quindi il comando:
                                     a

                                     dpkg -b nomecartella

         La cartella indicata in nomecartella dovr`, a sua volta, contenere una cartella
                                                   a
         chiamata DEBIAN nella quale dovr` essere presente un file detto control
                                             a
         (indicante dipendenze, incompatibilit` e varie altre informazioni) ma che potr`
                                               a                                         a
         contenere anche altri file (script postinst, prerm e un eventuale conffile per le
         configurazioni).
         La cartella indicata in nomecartella dovr` inoltre presentare una struttura
                                                   a
         interna uguale a quella del sistema in cui si andr` ad installare il software,
                                                           a
         cosicch´ dpkg potr` sapere ove inserire i vari file.
                e            a




4 / 16
Lezione Cinque: Advanced Using
   Tecniche Avanzate




Tecniche Avanzate
         Risoluzione di problemi inerenti i gruppi di sistema
         Spesso risulter` necessaria la creazione di nuovi gruppi o l’aggiunta di utenti ad un
                        a
         gruppo. Tutti i dati inerenti i gruppi si trovano all’interno del file /etc/group.
         Comandi utili in tal senso saranno:
          addgroup opzioni utente gruppo : aggiunge un nuovo gruppo o un nuovo utente
         o entrambi al sistema in base alle opzioni specificate.
          groupdel group : cancella un gruppo.
          groupmod opzioni group : modifica le informazioni inerenti il gruppo group.

         Risoluzione di problemi inerenti il path di sistema e le variabili
         Risoluzione di problemi inerenti il path di sistema e le variabili Pu` spesso risultare
                                                                               o
         utile visualizzare o modificare il path di sistema e le sue variabili dette anche ”variabili
         d’ambiente“. I file in cui ` contenuto il path di sistema sono /etc/profile (path
                                    e
         generale) e ∼/.profile (path per l’utente). Comandi utili saranno:
         set : visualizza l’elenco delle variabili d’ambiente
         export nomevariabile = valore : imposta una variabile d’ambiente. Eventuali altre
         variabili (non d’ambiente ma solo per la shell in uso) possono essere definite mediante
         la notazione “nomevariabile = valore” e richiamate mediante $nomevariabile.

5 / 16
Lezione Cinque: Advanced Using
   Tecniche Avanzate




Tecniche Avanzate
         Risoluzione di problemi inerenti i dischi
         Nel caso di aggiunta o rimozione di partizioni del disco o dell’installazione di nuovi
         hard-disk sul sistema ` utile conoscere l’esistenza e la sintassi di due particolari file:
                               e
         /etc/fstab : contiene informazioni statiche sui dischi che vengono lette dai
         programmi al fine, ad esempio, di montare in automatico i dischi in esso contenuti
         (comando mount -a). La sintassi di tale file pu` essere facilmente compresa leggendo
                                                       o
         la descrizione dal man. /etc/mtab tiene nota dei filesystem attualmente montati.

                                                                   Note: dump ` un comando
                                                                                 e
                                                                  che determina di quali file sia
                                                                  necessario avere un backup;
                                                                  fsck controlla e ripara filesystem
                                                                  di tipo ext2 o ext3. Per montare
                                                                  automaticamente all’avvio
                                                                  partizioni windows inserire in
                                                                  fstab la riga:

                                                                    device mountpoint ntfs-3g
                                                                           default 0 0

6 / 16
Lezione Cinque: Advanced Using
   Tecniche Avanzate




Tecniche Avanzate
         Risoluzione di problemi inerenti i Moduli del Kernel
         Un modulo ` uno speciale insieme di funzionalit` di sistema operativo che possono
                       e                                   a
                                                                                       `
         essere inserite o rimosse cos` da potenziare o alleggerire il sistema stesso. E spesso
                                      ı
         necessario agire sui moduli nel kernel. Tali procedure possono essere svolte tramite
         l’utilizzo di specifici comandi:
                modprobe opzioni modulo : permette di aggiungere o rimuovere moduli del
                kernel.
                insmod nomefile : inserisce nel kernel il modulo identificato da nomefile (i
                moduli hanno in genere estensione .ko).
               rmmod nomemodulo : rimuove dal kernel il modulo identificato da nomemodulo.
         `
         E utile conoscere l’esistenza di:
         /etc/modules : qui vengono inseriti i moduli di cui si vuole forzare l’inserimento nel
         sistema all’avvio dello stesso.
         /etc/modprobe.d/blacklist : qui vengono inseriti i nomi dei moduli di cui si vuole
         evitare il caricamento all’avvio e che il sistema altrimenti caricherebbe in automatico.
         /etc/modprobe.d/ : ` una cartella nella quale ` possibile specificare le opzioni da
                                e                          e
         passare ai moduli; ci` pu` esser fatto inserendovi un file (con lo stesso nome del
                               o o
         modulo da gestire) contenente le opzioni da passare.
7 / 16
Lezione Cinque: Advanced Using
   Tecniche Avanzate




Tecniche Avanzate
         Risoluzione di problemi inerenti l’audio
         Nel caso di problemi con l’audio, ci vengono in aiuto vari comandi (supponendo di
         usare un motore alsa: Advanced Linux Sound Architecture), quali:
         alsamixer : permette di gestire l’equalizzatore di sistema (con aiuto semigrafico).
         amixer : permette di gestire l’equalizzatore di sistema (a meno di auto grafico).
         alsactl store : permette di salvare la configurazione corrente dell’equalizzatore.
         alsaconf : realizza una configurazione di base per il sistema audio.
         Tutte le configurazioni per alsa vengono salvate all’interno del file:
         /etc/modprobe.d/alsa-base che pu` essere modificato al fine di adattarlo al sistema
                                               o
         in uso.

         Risoluzione di problemi inerenti le schede Wireless
         Non sono spesso di semplice risoluzione e richiedono spesso l’inserimento di nuovi
         moduli nel kernel o lo scaricamento di driver dai siti dei produttori. Casi estremi
         richiedono l’utilizzo del software ndiswrapper che permette l’emulazione dei driver per
         le schede wireless usando i driver delle stesse realizzati per linux. L’utilizzo di
         ndiswrapper ` differente in base alla specifica scheda e viene, comunque, ampiamente
                      e
         spiegata nelle documentazioni allegate allo stesso.
8 / 16
Lezione Cinque: Advanced Using
   Tecniche Avanzate




Tecniche Avanzate
         Risoluzione di problemi inerenti le webcam
         Molte sono ormai supportate su linux. Possono spesso richiedere l’utilizzo di driver
         specifici; i pi` usati risultano essere i driver della linea gspca e quelli di tipo uvcvideo.
                       u

         Risoluzione di problemi inerenti le schede video
         Non comportano, generalmente, molti problemi essendo praticamente ormai realizzati
         da tutti i produttori i driver per Linux. In genere basta scaricare i driver dai siti dei
         produttori ed installarli seguendo le specifiche procedure.
         Utile ` in questi casi il file /etc/X11/xorg.conf nel quale ` possibile specificare
               e                                                      e
         opzione per la configurazione della scheda video (per il server X video) ma anche di
         dispositivi quali: tastiera, mouse, touchpad e monitor.

         Risoluzione di problemi inerenti la configurazione di modem o router
         Sono spesso abbastanza semplici da configurare. Si consiglia l’installazione dei
         pacchetti: ppp, pppconfig, pppoe, pppoeconf, pppstatus. Lanciando da shell il
         software pppoeconf esso configurer` in pochi passi qualunque modem collegato via
                                             a
         ethernet. Si sconsiglia l’uso di modem USB che risultano spesso mal supportati.
9 / 16
Lezione Cinque: Advanced Using
   HowTo
      Modificare le impostazioni di GRUB



HowTo: Modificare le impostazioni di GRUB

          Le impostazioni di GRUB sono contenute nel file /etc/default/grub. Per modificare
          tale file sono necessari i diritti da superutente. Le opzioni principali sono le seguenti:
                GRUB DEFAULT: indice della linea del grub in cui apparir` all’avvio il selezionatore
                                                                        a
                                   `
                (la barra bianca). E importante sottolineare che l’indice del primo elemento `  e
                zero.
                GRUB TIMEOUT: numero di secondi del conto alla rovescia al boot che viene
                annullato se si preme qualsiasi tasto.




          Una volta effettuate tutte le modifiche ` necessario salvare il file ed eseguire il
                                                e
          comando update-grub da superutente.
10 / 16
Lezione Cinque: Advanced Using
   HowTo
      Rimuovere vecchie versioni del Kernel



Rimuovere vecchie versioni del Kernel

          Spesso la lista del boot-loader diventa molto lunga a causa degli aggiornamenti di
                                      `
          versione del kernel Linux. E buona norma cancellare le versioni troppo vecchie in
          modo da tenere ordinato il men` del GRUB.
                                           u
          Rimuovere una versione del Kernel ` semplice: basta disinstallare il pacchetto
                                              e
          corrispondente. Il nome dei pacchetti contenenti i kernel su Ubuntu/Debian hanno un
          nome del tipo:

                                              linux-image-NUMERO VERSIONE-generic

          Ad esempio, un nome potrebbe essere linux-image-2.6.31-14-generic.
          `
          E importante non rimuovere il kernel attualmente in uso. Per scoprire la versione del
          kernel corrente basta usare il comando:

                                                           uname -r

          che dar` un output del tipo 2.6.31-20-generic.
                 a




11 / 16
Lezione Cinque: Advanced Using
   HowTo
      Installare Codec Non-Free



HowTo: Installare Codec Non-Free

          Aggiungete il repository Medibuntu:
          sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list
          http://www.medibuntu.org/sources.list.d/$(lsb release -cs).list && sudo
          apt-get --quiet update && sudo apt-get --yes --quiet
          --allow-unauthenticated install medibuntu-keyring && sudo apt-get
          --quiet update
          Aggiungete la chiave GPG per il repository:
          sudo apt-get update && sudo apt-get --yes -q --allow-unauthenticated
          install medibuntu-keyring && sudo apt-get update
          Installate i non-free codecs:
          sudo apt-get install non-free-codecs
          Nel caso in cui l’installazione fallisse scrivete (ed eseguite):

          sudo apt-get install libxine1-ffmpeg libarts1-mpeglib libarts1-xine
          libakode2-mpeg

12 / 16
Lezione Cinque: Advanced Using
   HowTo
      Reinstallare GRUB



HowTo: Reinstallare GRUB

          Avviare il PC con la live di Ubuntu. Dare un’occhiata alla tabella delle
          partizioni per trovare la root di Ubuntu sul proprio disco fisso (la partizione che
          di solito si monta nella cartella /). Se si ha solo una partizione a parte quella di
          Windows (come Ubuntu fa in automatico) ` sicuramente quella (si pu`
                                                        e                           o
          controllare tutto tramite GParted).
          1) Apri la shell
          2) Crea una cartella e chiamala come preferisci (ad esempio disk)
          mkdir disk
          3) Supponendo che la partizione di root di Ubuntu dia /dev/sda1 (la tua sar`
                                                                                     a
          quasi sicuramente diversa) scrivi:
          mount /dev/sda1 disk
          4) Adesso scrivi (serve a far vedere le periferiche al chroot):
          mount -o bind /dev disk/dev
          5) Fai diventare il disco linux la tua root:
          chroot disk
13 / 16
Lezione Cinque: Advanced Using
   HowTo
      Reinstallare GRUB



HowTo: Reinstallare GRUB
          6) Entra nella cartella del grub:
          cd /boot/grub
          7) Entriamo nella grub-shell:
          grub
          8) Indichiamo dove sta il disco al grub (nel mio caso sda1 si tradurrebbe in (hd0,0) in
          pratica traduci come a=0, b=1 ed inoltre siccome grub conta le partizioni a partire da
          zero ed io sono nella prima partizione (inquanto sda1) dopo la virgola metto uno 0;
          se fosse stato sda2 avrei scritto (hd0,1) e se fosse stato sdb1 avrei scritto (hd1,0);
          in breve do il comando:
          root (hd0,0)
          9) Con la stessa logica di scrittura di prima:
          setup (hd0)
          10) quit
          A questo punto esci dalla shell di linux e riavvia.
          `
          E importante prestare attenzione utilizzare versioni live a numero di bit uguale a quello
          della versione installata. Rimane consigliabile usare una live della versione stessa
          installata sul sistema.
14 / 16
Lezione Cinque: Advanced Using
   HowTo
      USB e VirtualBox



HowTo: USB e VirtualBox


          Accade spesso che VirtualBox non riesca automaticamente a fornire al
          sistema Host un accesso diretto (in lettura e scrittura) alle periferiche
          USB.
          Tutto ci` ` dovuto al fatto che l’utente che installa il software non
                  oe
          appartiene al gruppo degli utilizzatori di VirtualBox autorizzati.
          Al fine di concedere l’accesso alla macchina bisogna quindi eseguire:
          sudo add group user vboxusers
          Avere accesso diretto alle periferiche USB pu` essere molto utile nel caso
                                                          o
          in cui non si riesca a trovare alcun driver in grado di gestire la specifica
          preferisca e si sappia che il sistema host invece ` dotata di driver.
                                                            e



15 / 16
Lezione Cinque: Advanced Using
   Help




Help
          Nel momento in cui ci si trovi ad effettuare operazioni di configurazione o di
          compilazione da sorgenti, saranno quasi sempre presenti file di nome readMe oppure
          install che forniranno le istruzioni su come procedere. Un modo semplice per risolvere
          qualsivoglia problema ` chiedere aiuto alla rete tramite l’utilizzo di forum specializzati,
                                  e
          blog o tutorial. Consigliamo qui solo un certo numero di siti di interesse; ognuno, in
          seguito, con la sua personale esperienza potr` scegliere quelli che gli sembrano i
                                                         a
          migliori.
                   http://forum.ubuntu-it.org: forum ufficiale di supporto al progetto

                   http://ubuntuforums.org: portale contenente i riferimenti a tutti i siti a supporto del progetto

                   http://www.ubuntu-it.org: versione italiana del sito ufficiale di Ubuntu

                   http://www.linuxfoundation.org: sito ufficiale della fondazione linux

                   http://www.linux.com:sito di supporto alla comunity linux versione italiana ` http://www.linux.it
                                                                                               e

                   http://www.debianizzati.org: sito di supporto alla comunity debian - molto utile anche per utenti ubuntu

                   http://www.debianitalia: come sopra, anch’esso molto importante

                   http://www.ziobudda.net: importante portale di informazione diretta agli utenti linux

                   http://linuxos.pensieroartificiale.com: forum di riferimento per questo corso ma che rimarr` attivo anche in seguito
                                                                                                              a


          Nota: quantunque si richieda aiuto su un forum specializzato si consiglia il rispetto della Netiquette (buona educazione), basta salutare e

          presentarsi se si ` nuovi del forum e comunque non offendere altri utenti; si consiglia inoltre di postare l’output del comando dmesg
                            e

          possibilmente evidenziando le righe di interesse o selezionando queste tramite la combinazione di dmesg e grep attraverso pipe.

16 / 16

Weitere ähnliche Inhalte

Was ist angesagt?

Giochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsGiochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsalberto fiaschi
 
Moduli del kernel - Boot del sistema
 Moduli del kernel - Boot del sistema Moduli del kernel - Boot del sistema
Moduli del kernel - Boot del sistemaFulvio Corno
 
Introduzione User Mode Linux
Introduzione User Mode LinuxIntroduzione User Mode Linux
Introduzione User Mode LinuxMajong DevJfu
 
Elementidi informatica
Elementidi informaticaElementidi informatica
Elementidi informaticagiu89
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxMarco Ferrigno
 

Was ist angesagt? (8)

Giochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsGiochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfs
 
JavaComm
JavaCommJavaComm
JavaComm
 
APT per RPM
APT per RPMAPT per RPM
APT per RPM
 
Moduli del kernel - Boot del sistema
 Moduli del kernel - Boot del sistema Moduli del kernel - Boot del sistema
Moduli del kernel - Boot del sistema
 
Introduzione User Mode Linux
Introduzione User Mode LinuxIntroduzione User Mode Linux
Introduzione User Mode Linux
 
Cpu
CpuCpu
Cpu
 
Elementidi informatica
Elementidi informaticaElementidi informatica
Elementidi informatica
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
 

Andere mochten auch

OWL-S Restricted
OWL-S RestrictedOWL-S Restricted
OWL-S RestrictedDario Mazza
 
Linux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreLinux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreDario Mazza
 
SAWSDL Restriced
SAWSDL RestricedSAWSDL Restriced
SAWSDL RestricedDario Mazza
 
Presentazione Progetto cRio
Presentazione Progetto cRioPresentazione Progetto cRio
Presentazione Progetto cRioDario Mazza
 

Andere mochten auch (7)

OWL-S Restricted
OWL-S RestrictedOWL-S Restricted
OWL-S Restricted
 
澳洲說明會
澳洲說明會澳洲說明會
澳洲說明會
 
WSMO Restricted
WSMO RestrictedWSMO Restricted
WSMO Restricted
 
Algoritmi E P2P
Algoritmi E P2PAlgoritmi E P2P
Algoritmi E P2P
 
Linux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreLinux & Open Source : Lezione Tre
Linux & Open Source : Lezione Tre
 
SAWSDL Restriced
SAWSDL RestricedSAWSDL Restriced
SAWSDL Restriced
 
Presentazione Progetto cRio
Presentazione Progetto cRioPresentazione Progetto cRio
Presentazione Progetto cRio
 

Ähnlich wie Linux & Open Source : Lezione 1

Linux & Open Source : Lezione Quattro
Linux & Open Source : Lezione QuattroLinux & Open Source : Lezione Quattro
Linux & Open Source : Lezione QuattroDario Mazza
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationTiziano Serritella
 
Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziareSalvatore Paone
 
Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Marcello Missiroli
 
Linux Device Drivers
Linux Device DriversLinux Device Drivers
Linux Device DriversFabio Nisci
 
Installazione di koha_su_debian_v2_0_20_12_2014
Installazione di koha_su_debian_v2_0_20_12_2014Installazione di koha_su_debian_v2_0_20_12_2014
Installazione di koha_su_debian_v2_0_20_12_2014Joaquim Hangalo
 
TYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le NovitàTYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le NovitàRoberto Torresani
 
Understanding Linux
Understanding LinuxUnderstanding Linux
Understanding LinuxNaLUG
 
Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2Andrea Pisa
 
Lezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxLezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxAlex Palesandro
 
Pacchi e pacchetti
Pacchi e pacchettiPacchi e pacchetti
Pacchi e pacchettigiallu
 
Sistemi di Build Alternativi
Sistemi di Build AlternativiSistemi di Build Alternativi
Sistemi di Build AlternativiDario Bertini
 
Guida al computer - Lezione 72 - Il Sistema Operativo: La disinstallazione de...
Guida al computer - Lezione 72 - Il Sistema Operativo: La disinstallazione de...Guida al computer - Lezione 72 - Il Sistema Operativo: La disinstallazione de...
Guida al computer - Lezione 72 - Il Sistema Operativo: La disinstallazione de...caioturtle
 
8 Linux Comandi Di Sistema
8 Linux Comandi Di Sistema8 Linux Comandi Di Sistema
8 Linux Comandi Di SistemaMauro Ferrigno
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumateMarco Buttolo
 
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Linux  Security Hardening - panoramica sui principi generali per la riduzione...Linux  Security Hardening - panoramica sui principi generali per la riduzione...
Linux Security Hardening - panoramica sui principi generali per la riduzione...Marco Ferrigno
 

Ähnlich wie Linux & Open Source : Lezione 1 (20)

Linux & Open Source : Lezione Quattro
Linux & Open Source : Lezione QuattroLinux & Open Source : Lezione Quattro
Linux & Open Source : Lezione Quattro
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automation
 
Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziare
 
Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)
 
Linux Device Drivers
Linux Device DriversLinux Device Drivers
Linux Device Drivers
 
Installazione di koha_su_debian_v2_0_20_12_2014
Installazione di koha_su_debian_v2_0_20_12_2014Installazione di koha_su_debian_v2_0_20_12_2014
Installazione di koha_su_debian_v2_0_20_12_2014
 
TYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le NovitàTYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le Novità
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
 
Understanding Linux
Understanding LinuxUnderstanding Linux
Understanding Linux
 
Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
 
Lezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxLezione corso Base GNU/Linux
Lezione corso Base GNU/Linux
 
TYPO3 CMS 8.1 - Le novità
TYPO3 CMS 8.1 - Le novitàTYPO3 CMS 8.1 - Le novità
TYPO3 CMS 8.1 - Le novità
 
Pacchi e pacchetti
Pacchi e pacchettiPacchi e pacchetti
Pacchi e pacchetti
 
Battaglia Navale
Battaglia NavaleBattaglia Navale
Battaglia Navale
 
Sistemi di Build Alternativi
Sistemi di Build AlternativiSistemi di Build Alternativi
Sistemi di Build Alternativi
 
Guida al computer - Lezione 72 - Il Sistema Operativo: La disinstallazione de...
Guida al computer - Lezione 72 - Il Sistema Operativo: La disinstallazione de...Guida al computer - Lezione 72 - Il Sistema Operativo: La disinstallazione de...
Guida al computer - Lezione 72 - Il Sistema Operativo: La disinstallazione de...
 
8 Linux Comandi Di Sistema
8 Linux Comandi Di Sistema8 Linux Comandi Di Sistema
8 Linux Comandi Di Sistema
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumate
 
LUG - Ricompilazione kernel
LUG - Ricompilazione kernelLUG - Ricompilazione kernel
LUG - Ricompilazione kernel
 
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Linux  Security Hardening - panoramica sui principi generali per la riduzione...Linux  Security Hardening - panoramica sui principi generali per la riduzione...
Linux Security Hardening - panoramica sui principi generali per la riduzione...
 

Mehr von Dario Mazza

Linux & Open Source : Lezione Cinque
Linux & Open Source : Lezione CinqueLinux & Open Source : Lezione Cinque
Linux & Open Source : Lezione CinqueDario Mazza
 
Linux & Open Source : Lezione Tre Pratica
Linux & Open Source : Lezione Tre PraticaLinux & Open Source : Lezione Tre Pratica
Linux & Open Source : Lezione Tre PraticaDario Mazza
 
Linux & Open Source : Lezione Due Pratica
Linux & Open Source : Lezione Due PraticaLinux & Open Source : Lezione Due Pratica
Linux & Open Source : Lezione Due PraticaDario Mazza
 
Linux & Open Source : Lezione Due
Linux & Open Source : Lezione DueLinux & Open Source : Lezione Due
Linux & Open Source : Lezione DueDario Mazza
 
Linux & Open Source : Lezione 1 Pratica
Linux & Open Source : Lezione 1 PraticaLinux & Open Source : Lezione 1 Pratica
Linux & Open Source : Lezione 1 PraticaDario Mazza
 
Relazione Progetto cRio
Relazione Progetto cRioRelazione Progetto cRio
Relazione Progetto cRioDario Mazza
 
OWL Guide Resticted
OWL Guide RestictedOWL Guide Resticted
OWL Guide RestictedDario Mazza
 

Mehr von Dario Mazza (7)

Linux & Open Source : Lezione Cinque
Linux & Open Source : Lezione CinqueLinux & Open Source : Lezione Cinque
Linux & Open Source : Lezione Cinque
 
Linux & Open Source : Lezione Tre Pratica
Linux & Open Source : Lezione Tre PraticaLinux & Open Source : Lezione Tre Pratica
Linux & Open Source : Lezione Tre Pratica
 
Linux & Open Source : Lezione Due Pratica
Linux & Open Source : Lezione Due PraticaLinux & Open Source : Lezione Due Pratica
Linux & Open Source : Lezione Due Pratica
 
Linux & Open Source : Lezione Due
Linux & Open Source : Lezione DueLinux & Open Source : Lezione Due
Linux & Open Source : Lezione Due
 
Linux & Open Source : Lezione 1 Pratica
Linux & Open Source : Lezione 1 PraticaLinux & Open Source : Lezione 1 Pratica
Linux & Open Source : Lezione 1 Pratica
 
Relazione Progetto cRio
Relazione Progetto cRioRelazione Progetto cRio
Relazione Progetto cRio
 
OWL Guide Resticted
OWL Guide RestictedOWL Guide Resticted
OWL Guide Resticted
 

Linux & Open Source : Lezione 1

  • 1. Lezione Cinque: Advanced Using Lezione Cinque: Advanced Using Dario Mazza - Sebastiano Merlino Universit` degli Studi di Catania - Facolt` di Ingegneria a a 13 Maggio 2010 1 / 16
  • 2. Lezione Cinque: Advanced Using Compilazione da Sorgenti Compilazione da Sorgenti La compilazione ` il processo mediante il quale si trasforma un semplice e file sorgente (non ` altro che un file di testo in un linguaggio di e programmazione) nel cosiddetto linguaggio macchina, comprensibile alle macchine (composto esclusivamente da sequenze di 0 ed 1). Sebbene questa possa sembrare un’operazione complessa ed effettivamente lo sia nel caso in cui si richiedesse all’utente di utilizzare strumenti informatici come compilatori, linker, ecc..., risulta realmente semplice su Linux grazie all’utilizzo di uno speciale comando: make. Tale comando sfrutta l’utilizzo di un file chiamato Makefile che altro non contiene se non i passi necessari alla compilazione (ci` che in effetti o andrebbe fatto manualmente), eseguendoli per noi. 2 / 16
  • 3. Lezione Cinque: Advanced Using Compilazione da Sorgenti Compilazione da Sorgenti Sebbene ci si possa trovare in svariate situazioni, generalmente l’utilizzo di make comprende tre comandi consecutivi da effettuare dall’interno della cartella del sorgente: 1 ./configure (permette la preconfigurazione del codice e verifica eventuali precondizioni; pu` essere spesso omesso anche se ` un o e passaggio caldamente consigliato). 2 make (compila effettivamente i sorgenti). 3 make install (trasferisce gli eseguibili ottenuti nelle cartelle di sistema al fine di poterli eseguire come software dello stesso) Spesso durante la compilazione ` possibile trovare errori a causa di una e libreria mancante. In questi casi il compilatore dar` un messaggio a d’errore indicando quale file manca (in genere un file con estensione .h): per risolvere il problema basta usare il comando apt-file (visto nella precedente lezione) per trovare il pacchetto contenente quel determinato file e rilanciare il comando make per la compilazione. 3 / 16
  • 4. Lezione Cinque: Advanced Using Creazione di un pacchetto DEB Creazione di un pacchetto DEB ` E l’operazione mediante la quale si ottengono pacchetti .deb a partire da sorgenti. Una tale operazione avviene mediante l’utilizzo del gi` a noi noto a strumento dpkg. Si utilizzer`, quindi il comando: a dpkg -b nomecartella La cartella indicata in nomecartella dovr`, a sua volta, contenere una cartella a chiamata DEBIAN nella quale dovr` essere presente un file detto control a (indicante dipendenze, incompatibilit` e varie altre informazioni) ma che potr` a a contenere anche altri file (script postinst, prerm e un eventuale conffile per le configurazioni). La cartella indicata in nomecartella dovr` inoltre presentare una struttura a interna uguale a quella del sistema in cui si andr` ad installare il software, a cosicch´ dpkg potr` sapere ove inserire i vari file. e a 4 / 16
  • 5. Lezione Cinque: Advanced Using Tecniche Avanzate Tecniche Avanzate Risoluzione di problemi inerenti i gruppi di sistema Spesso risulter` necessaria la creazione di nuovi gruppi o l’aggiunta di utenti ad un a gruppo. Tutti i dati inerenti i gruppi si trovano all’interno del file /etc/group. Comandi utili in tal senso saranno: addgroup opzioni utente gruppo : aggiunge un nuovo gruppo o un nuovo utente o entrambi al sistema in base alle opzioni specificate. groupdel group : cancella un gruppo. groupmod opzioni group : modifica le informazioni inerenti il gruppo group. Risoluzione di problemi inerenti il path di sistema e le variabili Risoluzione di problemi inerenti il path di sistema e le variabili Pu` spesso risultare o utile visualizzare o modificare il path di sistema e le sue variabili dette anche ”variabili d’ambiente“. I file in cui ` contenuto il path di sistema sono /etc/profile (path e generale) e ∼/.profile (path per l’utente). Comandi utili saranno: set : visualizza l’elenco delle variabili d’ambiente export nomevariabile = valore : imposta una variabile d’ambiente. Eventuali altre variabili (non d’ambiente ma solo per la shell in uso) possono essere definite mediante la notazione “nomevariabile = valore” e richiamate mediante $nomevariabile. 5 / 16
  • 6. Lezione Cinque: Advanced Using Tecniche Avanzate Tecniche Avanzate Risoluzione di problemi inerenti i dischi Nel caso di aggiunta o rimozione di partizioni del disco o dell’installazione di nuovi hard-disk sul sistema ` utile conoscere l’esistenza e la sintassi di due particolari file: e /etc/fstab : contiene informazioni statiche sui dischi che vengono lette dai programmi al fine, ad esempio, di montare in automatico i dischi in esso contenuti (comando mount -a). La sintassi di tale file pu` essere facilmente compresa leggendo o la descrizione dal man. /etc/mtab tiene nota dei filesystem attualmente montati. Note: dump ` un comando e che determina di quali file sia necessario avere un backup; fsck controlla e ripara filesystem di tipo ext2 o ext3. Per montare automaticamente all’avvio partizioni windows inserire in fstab la riga: device mountpoint ntfs-3g default 0 0 6 / 16
  • 7. Lezione Cinque: Advanced Using Tecniche Avanzate Tecniche Avanzate Risoluzione di problemi inerenti i Moduli del Kernel Un modulo ` uno speciale insieme di funzionalit` di sistema operativo che possono e a ` essere inserite o rimosse cos` da potenziare o alleggerire il sistema stesso. E spesso ı necessario agire sui moduli nel kernel. Tali procedure possono essere svolte tramite l’utilizzo di specifici comandi: modprobe opzioni modulo : permette di aggiungere o rimuovere moduli del kernel. insmod nomefile : inserisce nel kernel il modulo identificato da nomefile (i moduli hanno in genere estensione .ko). rmmod nomemodulo : rimuove dal kernel il modulo identificato da nomemodulo. ` E utile conoscere l’esistenza di: /etc/modules : qui vengono inseriti i moduli di cui si vuole forzare l’inserimento nel sistema all’avvio dello stesso. /etc/modprobe.d/blacklist : qui vengono inseriti i nomi dei moduli di cui si vuole evitare il caricamento all’avvio e che il sistema altrimenti caricherebbe in automatico. /etc/modprobe.d/ : ` una cartella nella quale ` possibile specificare le opzioni da e e passare ai moduli; ci` pu` esser fatto inserendovi un file (con lo stesso nome del o o modulo da gestire) contenente le opzioni da passare. 7 / 16
  • 8. Lezione Cinque: Advanced Using Tecniche Avanzate Tecniche Avanzate Risoluzione di problemi inerenti l’audio Nel caso di problemi con l’audio, ci vengono in aiuto vari comandi (supponendo di usare un motore alsa: Advanced Linux Sound Architecture), quali: alsamixer : permette di gestire l’equalizzatore di sistema (con aiuto semigrafico). amixer : permette di gestire l’equalizzatore di sistema (a meno di auto grafico). alsactl store : permette di salvare la configurazione corrente dell’equalizzatore. alsaconf : realizza una configurazione di base per il sistema audio. Tutte le configurazioni per alsa vengono salvate all’interno del file: /etc/modprobe.d/alsa-base che pu` essere modificato al fine di adattarlo al sistema o in uso. Risoluzione di problemi inerenti le schede Wireless Non sono spesso di semplice risoluzione e richiedono spesso l’inserimento di nuovi moduli nel kernel o lo scaricamento di driver dai siti dei produttori. Casi estremi richiedono l’utilizzo del software ndiswrapper che permette l’emulazione dei driver per le schede wireless usando i driver delle stesse realizzati per linux. L’utilizzo di ndiswrapper ` differente in base alla specifica scheda e viene, comunque, ampiamente e spiegata nelle documentazioni allegate allo stesso. 8 / 16
  • 9. Lezione Cinque: Advanced Using Tecniche Avanzate Tecniche Avanzate Risoluzione di problemi inerenti le webcam Molte sono ormai supportate su linux. Possono spesso richiedere l’utilizzo di driver specifici; i pi` usati risultano essere i driver della linea gspca e quelli di tipo uvcvideo. u Risoluzione di problemi inerenti le schede video Non comportano, generalmente, molti problemi essendo praticamente ormai realizzati da tutti i produttori i driver per Linux. In genere basta scaricare i driver dai siti dei produttori ed installarli seguendo le specifiche procedure. Utile ` in questi casi il file /etc/X11/xorg.conf nel quale ` possibile specificare e e opzione per la configurazione della scheda video (per il server X video) ma anche di dispositivi quali: tastiera, mouse, touchpad e monitor. Risoluzione di problemi inerenti la configurazione di modem o router Sono spesso abbastanza semplici da configurare. Si consiglia l’installazione dei pacchetti: ppp, pppconfig, pppoe, pppoeconf, pppstatus. Lanciando da shell il software pppoeconf esso configurer` in pochi passi qualunque modem collegato via a ethernet. Si sconsiglia l’uso di modem USB che risultano spesso mal supportati. 9 / 16
  • 10. Lezione Cinque: Advanced Using HowTo Modificare le impostazioni di GRUB HowTo: Modificare le impostazioni di GRUB Le impostazioni di GRUB sono contenute nel file /etc/default/grub. Per modificare tale file sono necessari i diritti da superutente. Le opzioni principali sono le seguenti: GRUB DEFAULT: indice della linea del grub in cui apparir` all’avvio il selezionatore a ` (la barra bianca). E importante sottolineare che l’indice del primo elemento ` e zero. GRUB TIMEOUT: numero di secondi del conto alla rovescia al boot che viene annullato se si preme qualsiasi tasto. Una volta effettuate tutte le modifiche ` necessario salvare il file ed eseguire il e comando update-grub da superutente. 10 / 16
  • 11. Lezione Cinque: Advanced Using HowTo Rimuovere vecchie versioni del Kernel Rimuovere vecchie versioni del Kernel Spesso la lista del boot-loader diventa molto lunga a causa degli aggiornamenti di ` versione del kernel Linux. E buona norma cancellare le versioni troppo vecchie in modo da tenere ordinato il men` del GRUB. u Rimuovere una versione del Kernel ` semplice: basta disinstallare il pacchetto e corrispondente. Il nome dei pacchetti contenenti i kernel su Ubuntu/Debian hanno un nome del tipo: linux-image-NUMERO VERSIONE-generic Ad esempio, un nome potrebbe essere linux-image-2.6.31-14-generic. ` E importante non rimuovere il kernel attualmente in uso. Per scoprire la versione del kernel corrente basta usare il comando: uname -r che dar` un output del tipo 2.6.31-20-generic. a 11 / 16
  • 12. Lezione Cinque: Advanced Using HowTo Installare Codec Non-Free HowTo: Installare Codec Non-Free Aggiungete il repository Medibuntu: sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update Aggiungete la chiave GPG per il repository: sudo apt-get update && sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring && sudo apt-get update Installate i non-free codecs: sudo apt-get install non-free-codecs Nel caso in cui l’installazione fallisse scrivete (ed eseguite): sudo apt-get install libxine1-ffmpeg libarts1-mpeglib libarts1-xine libakode2-mpeg 12 / 16
  • 13. Lezione Cinque: Advanced Using HowTo Reinstallare GRUB HowTo: Reinstallare GRUB Avviare il PC con la live di Ubuntu. Dare un’occhiata alla tabella delle partizioni per trovare la root di Ubuntu sul proprio disco fisso (la partizione che di solito si monta nella cartella /). Se si ha solo una partizione a parte quella di Windows (come Ubuntu fa in automatico) ` sicuramente quella (si pu` e o controllare tutto tramite GParted). 1) Apri la shell 2) Crea una cartella e chiamala come preferisci (ad esempio disk) mkdir disk 3) Supponendo che la partizione di root di Ubuntu dia /dev/sda1 (la tua sar` a quasi sicuramente diversa) scrivi: mount /dev/sda1 disk 4) Adesso scrivi (serve a far vedere le periferiche al chroot): mount -o bind /dev disk/dev 5) Fai diventare il disco linux la tua root: chroot disk 13 / 16
  • 14. Lezione Cinque: Advanced Using HowTo Reinstallare GRUB HowTo: Reinstallare GRUB 6) Entra nella cartella del grub: cd /boot/grub 7) Entriamo nella grub-shell: grub 8) Indichiamo dove sta il disco al grub (nel mio caso sda1 si tradurrebbe in (hd0,0) in pratica traduci come a=0, b=1 ed inoltre siccome grub conta le partizioni a partire da zero ed io sono nella prima partizione (inquanto sda1) dopo la virgola metto uno 0; se fosse stato sda2 avrei scritto (hd0,1) e se fosse stato sdb1 avrei scritto (hd1,0); in breve do il comando: root (hd0,0) 9) Con la stessa logica di scrittura di prima: setup (hd0) 10) quit A questo punto esci dalla shell di linux e riavvia. ` E importante prestare attenzione utilizzare versioni live a numero di bit uguale a quello della versione installata. Rimane consigliabile usare una live della versione stessa installata sul sistema. 14 / 16
  • 15. Lezione Cinque: Advanced Using HowTo USB e VirtualBox HowTo: USB e VirtualBox Accade spesso che VirtualBox non riesca automaticamente a fornire al sistema Host un accesso diretto (in lettura e scrittura) alle periferiche USB. Tutto ci` ` dovuto al fatto che l’utente che installa il software non oe appartiene al gruppo degli utilizzatori di VirtualBox autorizzati. Al fine di concedere l’accesso alla macchina bisogna quindi eseguire: sudo add group user vboxusers Avere accesso diretto alle periferiche USB pu` essere molto utile nel caso o in cui non si riesca a trovare alcun driver in grado di gestire la specifica preferisca e si sappia che il sistema host invece ` dotata di driver. e 15 / 16
  • 16. Lezione Cinque: Advanced Using Help Help Nel momento in cui ci si trovi ad effettuare operazioni di configurazione o di compilazione da sorgenti, saranno quasi sempre presenti file di nome readMe oppure install che forniranno le istruzioni su come procedere. Un modo semplice per risolvere qualsivoglia problema ` chiedere aiuto alla rete tramite l’utilizzo di forum specializzati, e blog o tutorial. Consigliamo qui solo un certo numero di siti di interesse; ognuno, in seguito, con la sua personale esperienza potr` scegliere quelli che gli sembrano i a migliori. http://forum.ubuntu-it.org: forum ufficiale di supporto al progetto http://ubuntuforums.org: portale contenente i riferimenti a tutti i siti a supporto del progetto http://www.ubuntu-it.org: versione italiana del sito ufficiale di Ubuntu http://www.linuxfoundation.org: sito ufficiale della fondazione linux http://www.linux.com:sito di supporto alla comunity linux versione italiana ` http://www.linux.it e http://www.debianizzati.org: sito di supporto alla comunity debian - molto utile anche per utenti ubuntu http://www.debianitalia: come sopra, anch’esso molto importante http://www.ziobudda.net: importante portale di informazione diretta agli utenti linux http://linuxos.pensieroartificiale.com: forum di riferimento per questo corso ma che rimarr` attivo anche in seguito a Nota: quantunque si richieda aiuto su un forum specializzato si consiglia il rispetto della Netiquette (buona educazione), basta salutare e presentarsi se si ` nuovi del forum e comunque non offendere altri utenti; si consiglia inoltre di postare l’output del comando dmesg e possibilmente evidenziando le righe di interesse o selezionando queste tramite la combinazione di dmesg e grep attraverso pipe. 16 / 16