Linux & Open Source : Lezione Cinque

  • 437 views
Uploaded on

Linux & Open Source : Lezione Cinque

Linux & Open Source : Lezione Cinque

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
437
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 20101 / 16
  • 2. Lezione Cinque: Advanced Using Compilazione da SorgentiCompilazione 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 SorgentiCompilazione 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 DEBCreazione 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 a4 / 16
  • 5. Lezione Cinque: Advanced Using Tecniche AvanzateTecniche 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 AvanzateTecniche 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 06 / 16
  • 7. Lezione Cinque: Advanced Using Tecniche AvanzateTecniche 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 AvanzateTecniche 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 AvanzateTecniche 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 GRUBHowTo: 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 KernelRimuovere 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. a11 / 16
  • 12. Lezione Cinque: Advanced Using HowTo Installare Codec Non-FreeHowTo: 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-mpeg12 / 16
  • 13. Lezione Cinque: Advanced Using HowTo Reinstallare GRUBHowTo: 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 disk13 / 16
  • 14. Lezione Cinque: Advanced Using HowTo Reinstallare GRUBHowTo: 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 VirtualBoxHowTo: 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. e15 / 16
  • 16. Lezione Cinque: Advanced Using HelpHelp 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