alnao debian handbookdi unire sistema operativo e programmi `e stata molto rimarcata in questi anni,...

62
AlNao Debian HandBook Nao Alberto (www.alnao.it) December 28, 2019

Upload: others

Post on 18-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • AlNao Debian HandBook

    Nao Alberto (www.alnao.it)

    December 28, 2019

  • AlNao Debian 9 HandBookAutore Nao Alberto ([email protected])Disponibile su www.alnao.it

    Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Docu-mentation License, Version 1.2 or any later version published by the Free Software Foundation.È garantito il permesso di copiare, distribuire e/o modificare questo documento in base ai termini della GNU FreeDocumentation License, Versione 1.2 o ogni versione successiva pubblicata dalla Free Software Foundation.

    Scritto da Nao Alberto (www.alnao.it - [email protected]) con LATEX con l’editor Kile

    Forse un giorno riuscirò a finire questa maledetta cosa che chiamo manuale

    Prima edizione (solo appunti, versione Debian 3.1 Sarge): 2006Seconda edizione (versione Debian 4 Etch): 2008Terza edizione (in inglese, incompleta, Debian 5): 2011/2012Quarta edizione (versione Debian 8): 2015/2016Quinta edizione (versione Debian 9): 2018

  • Contents

    1 Introduzione 71.1 Perchè questo manuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Note e Convenzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Perchè Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4 Correttezza di questo manuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2 Installazione di Debian 9 102.1 Come e dove trovare Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.1.1 Attuale versione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Avvio dell’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3 Configurazioni del sistema (rete, partizioni ed utenti) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 Copia del sistema base e impostazioni finali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.5 Prima login e aggiornamento del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    3 Configurazioni base di GNU Linux e Debian 153.1 Gestione di cartelle e file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3.1.1 Caratteristiche e gestione dei diritti sui file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2 Montaggio delle partizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    3.2.1 Montaggi permanenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3 Il pannello di controllo WebMin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.4 Gestione dei pacchetti di Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.5 La shell e i desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.6 Login manager, processi e rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    4 Applicazioni per GNU Linux 234.1 File di testo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2 File explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3 Sistema di compressione dei file (Tar, Zip e Rar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.4 Programmi per l’ufficio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.5 Navigazione web e Mail Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.6 Multimedialità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.7 Visualizzatori ed editor di immagini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.8 Applicazioni varie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.9 Giochi per GNU Linux e Cedega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    5 Demoni 305.1 Sistema di stampa (demone CUPS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.2 Condivisione di rete (demone Samba) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.3 LAMP (demoni Apache e Mysql) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.4 Altri demoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.5 Systemd e i runlevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.6 Lo schedulazione crontab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    6 Programmazione 376.1 Programmazione della shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.2 C e C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386.3 Java e Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386.4 Didattica, scienza e calcolo numerico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.5 Programmazione WEB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    5

  • CONTENTS 6

    6.6 Macchine virtuali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    7 Configurazioni particolari e HowTo 437.1 Il BootLoader Grub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437.2 Configurazioni del demone grafico X e accelerazione grafica . . . . . . . . . . . . . . . . . . . . . . . . 437.3 Backup e restore dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447.4 Installazione di font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457.5 Il sistema sotto controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467.6 Il cestino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467.7 Configurazione del comando SUDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467.8 Configurazione base delle quote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477.9 Programmi di partizionamento dischi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487.10 Configurazioni veloci delle sorgenti di apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    8 Comandi della Shell di Gnu Linux 498.1 Tabella dei comandi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508.2 Editor di testo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578.3 Rinominare gruppi di files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578.4 Gestione processi e memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588.5 Gestione della rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588.6 Creazione di alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598.7 Comandi del demone MySql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598.8 Manipolazione immagini e video da riga di comando . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608.9 Configurazione del path base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618.10 Manipolazione PDF da riga di comando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618.11 Notifiche e finestre di dialogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

  • Chapter 1

    Introduzione

    1.1 Perchè questo manuale

    Questo “manuale” nasce dagli anni di utilizzo dei sistemi GNU Linux e dalla necessità di riordinare il contenutodi grossi blocchi di appunti sparsi in raccolte di pagine web o articoli di riviste, in particolare dal sistema Debiansu che uso da ormai più di dieci anni. Dopo aver sentito la necessità di dover mettere ordine in questi appunti, hodeciso di scrivere un documento che poi io chiamo “manuale” che, prima di tutto mi permetta di aver ordine neimiei appunto e che vuole essere una mia condivisione di esperienze e conoscenze, seguendo proprio lo spirito base delmondo GNU Linux: la condivisione delle proprie conoscenze in modo tale che tutti possano leggerle e migliorarle.

    L’opera è diretta principalmente all’utente semplice, che usa il computer per scrivere, giocare, navigare, che ha lapossibilità di approfondire alcune tematiche evolute di un sistema operativo, come l’installazione di alcuni server e leconfigurazioni base del sistema. Un programmatore, anche non alle prime armi, potrà trovare molti spunti da questomanuale, essendo presente un capitolo dedicato a questo argomento e riferimenti continui alla programmazione vistoche chi scrive è un sopratutto un programmatore.

    La dispersione delle informazioni e la troppa documentazione non adatta alle mie conoscenze, a volte troppoevoluta e a volte troppo semplice, sono stati i motivi che mi hanno spinto a scrivere un “opera” completa cercandodi realizzare una facile esposizione, facendo però l’importante assunzione che il lettore sia a conoscenza dei concettibase dell’informatica, come ad esempio quelli di hardware, periferica, software di sistema e software applicativo.

    Molti argomenti complessi, come la compilazione dei programmi dal codice sorgente, sono accennati a livellointroduttivo, in modo che il lettore li possa comunque sperimentare, apprezzare, per poi eventualmente approfondirliper proprio conto tali argomenti anche trattati in altri miei scritti. A volte si danno per scontate alcune nozioni, comeper esempio la conoscenza di alcuni linguaggi di programmazione (come C, HTML, PHP, Perl e SQL) che chi scrivequesto documento trova ovvie, mentre ad un lettore meno esperto potrebbero essere molto complicate ma questo nondeve spaventare in quanto questo documento non è un manuale sulla programmazione e le nozioni richieste non sonofondamentali al fine di capire gli argomenti e gli esempi proposti servono solo per verificare il corretto funzionamentodei demoni installati.

    Ho sempre cercato il tempo per scrivere e per correggere gli errori di grammatica e di battitura di cui questodocumento è pieno, cerco anche di essere chiaro e non ripetitivo ma non sempre trovo il tempo e le energie per faretutto e poi sistemare tutto, non avendo nessun scopo di guadagno mi auguro che il lettore comprenda che questa è un“amatoriale” e che non pretenda troppo da questo manuale, ovviamente le cose scritte sono (quasi) sempre correttee verificate.

    1.2 Note e Convenzioni

    Per chiarezza e per completezza in questo manuale saranno adottate queste convenzioni:

    - Viene usato # per indicare un comando eseguito da un utente con privilegi di amministratore di sistema (peresempio il superutente root).

    - Viene usato $ per indicare un comando eseguito da un utente non amministratore (cioè l’utente dell’utente).

    - Viene usato lo stile macchina di scrivere per indicare quanto mostrato a video dal sistema, tutti i caratteriinseriti da tastiera e i nomi dei file, facendo sempre attenzione alla distinzione fra lettere minuscole e maiuscole.

    - Viene usato lo stile Grassetto quando si indicano, per la prima volta, nomi di programmi o dei pacchetti diparticolare importanza.

    7

  • CHAPTER 1. INTRODUZIONE 8

    - Viene usato lo stile corsivetto quando si vogliono segnalare azioni che l’utente deve eseguire oppure commentipersonali.

    - Vengono usati dei riquadri quando si vogliono inserire delle note importanti che meritano maggiore attenzionedall’utente.

    - Viene usato lo stile Nao Alberto quando viene nominato, per la prima volta, il nome di una persona di particolareimportanza oppure quando viene segnalato una scritta di particolare importanza, come il testo di un bottoneo la scritta di un link.

    Dopo la scrittura di ogni comando è sottintesa la pressione del tasto invio (enter). Questi standard possono esserenon convenzionali ad un utente alle prime armi ma scopriremo subito che i caratteri # e $ vengono usati dal sistemaper fare distinzione tra utenti amministratori (root) e utenti normali.

    Si assume che il lettore abbia la possibilità di collegarsi a internet con una linea abbastanza veloce da poterscaricare i DVD di Debian e che possa scaricare aggiornamenti e pacchetti non compresi nei DVD (una linea ADSLanche base è perfetta e sufficiente per questo). Si assume anche che il lettore disponga di un masterizzatore DVDper masterizzare il DVD di installazione o che abbia già il DVD pronto. È fondamentale che, un utilizzatore diGNU Linux, impari fin dall’inizio l’importante distinzione tra maiuscole e minuscole, infatti tutti i sistemi basatisul Kernel GNU Linux fanno sempre distinzione fra minuscole e maiuscole nei nomi di file, cartelle, programmie comandi, durante la lettura di questo manuale bisogna sempre prestare attenzione alla differenza e fare sempreattenzione a cosa si digita con la tastiera.

    1.3 Perchè Linux

    Durante i miei anni di studi ho avuto la grande fortuna di essere costretto ad iniziare ad usare i sistemi GNULinux, all’inizio del millennio le cose non erano cos̀ı semplici: senza i motori di ricerca il metodo risolutivo deiproblemi era molto più arduo e non essendoci linee veloci non esistevano mirror da cui scaricare aggiornamenticontinui; informazioni e pacchetti si trovavano solo su riviste e libri ed è proprio stato questo che mi ha spinto ascrivere la prima versione di questo manuale, infatti le informazioni che avevo e che mi servivano erano sparse suvarie riviste e sui libri ma non avevano un punto centrale dove raccogliere tutte le informazioni che io avevo trovatoe che mi servivano.

    Non voglio eseguire confronti con altri sistemi e le aziende che producono altri sistemi operativi perchè non credosia questa l’occasione per farlo, la filosofia principale del mondo GNU Linux è la condivisione delle proprie idee edelle proprie conoscenze, questo documento è scritto proprio con questo spirito.

    Tecnicamente c’è molta di differenza tra un sistema operativo classico (come MS Windows e/o Apple Mac OS)e quello che viene comunemente chiamato Linux: siamo abituati a dire giustamente che MS Windows è un sistemaoperativo mentre il pacchetto MS Word compreso nel pacchetto MS Office è un programma, GNU Linux invececomprende entrambe le parti, esiste il cuore centrale di GNU Linux, chiamato KernelLinux che può essere definitocome il sistema operativo (l’insieme di tutti quei programmi essenziali al funzionamento del sistema base), poi sonocompresi anche tutti i programmi di uso più comune, come quelli per l’ufficio, la navigazione web, giochi, grafica,ecc..., al termine di una installare di un sistema GNU Linux l’utente si ritrova installati tutti i programmi base e, daiDVD o dai Mirror presenti su internet, può scaricare altri programmi senza dover cercare su altri siti, questa filosofiadi unire sistema operativo e programmi è stata molto rimarcata in questi anni, basti pensa che i Mirror Debiancontengono quasi 50.000 pacchetti e circa 10.000 programmi diversi, in un pc o in un notebook, è possibile installareGNU Linux anche se è già presente un sistema MS Windows senza creare grossi problemi e i due sistemi possonoessere installati in parallelo, alcune distribuzioni permettono persino di installare i due sistemi nella stessa partizionedi disco, ma io sconsiglio vivamente questo approccio nonostante la convivenza di più partizioni nello stesso sistemiè ormai una cosa stabile e ben funzionante.

    Le distribuzioni di GNU Linux sono community o aziende che preparano DVD o Mirror Web per installare e usareGNU Linux più velocemente, ogni distribuzione ha le proprie caratteristiche anche se il cuore del sistema operativo(il KernelLinux) è sempre lo stesso e i programmi preparati su una distribuzione possono essere installati anche su unaltra, l’elenco completo e la storia delle distribuzioni che si basano sul KernelLinux possono essere trovati su internetin qualsiasi sito specializzato. In questo documento si parla tipicamente solo di Debian, ma leggendo questa guidapotrete trovare spunti per qualsiasi distribuzione anche non derivata da Debian.

    1.4 Correttezza di questo manuale

    Essendo un opera amatoriale ed essendo un testo scritto nei miei ritagli di tempo libero, mi auguro che il lettorenon abbia la pretesa che questo manuale descriva con precisione il modo migliore per installare e configurare unsistema perfettamente funzionante, soprattutto la sezione riguardante la configurazione dei demoni e la configurazione

  • CHAPTER 1. INTRODUZIONE 9

    della rete sono sicuramente molto approssimative e spesso non viene approfondita la sezione sulla sicurezza. Questomanuale vuole essere una descrizione di passi per far funzionare il sistema base con alcune brevi spiegazioni sullecomponenti più usate o più importanti, i passi descritti sono sempre verificati e controllati dove possibile ma spessoalcuni dettagli vengono tralasciati per evitare un documento troppo lungo.

    Un ulteriore problema che è sorto in questi anni è che, col passare degli anni, il sistema GNU Linux e Debiansi evolvono molto velocemente, infatti molti pacchetti e programmi cambiano: ogni due anni circa esce una nuovaversione stabile e questo comporta dover riprendere il documento dall’inizio e analizzarlo per correggere le modifiche,per questo motivo sono già alla quinta edizione di questo documento e, in particolare con il salto dalla versione 8alla versione 9 di Debian sono stati modificati molti pacchetti per l’aggiornamento alle nuove versioni del sistema eho dovuto rivedere tutta la parte sui demoni Apache e MySql.

  • Chapter 2

    Installazione di Debian 9

    In questo capitolo è descritta la fase di installazione di una versione di GNU Linux, più in particolare andremoad installare la versione 9 di Debian chiamata Stretch. Il primo passo da eseguire sarà quello di scaricare il primoDVD del sistema dal sito ufficiale, per poi installare il sistema, seguendo passo per passo le fasi di installazione,troverete alcune descrizioni ai passi che sono più rilevanti. L’installazione di un sistema operativo è sicuramente unacosa complicata e molto delicata, infatti si possono settare molti parametri del sistema ma non bisogna pensare chesia una cosa impossibile anche per chi ha poca esperienza in materia, seguendo i passi descritti in questo articoloavremo un sistema funzionante e ben configurato per iniziare ad usare GNU Linux.

    Durante la fase di installazione, la fase più complicata sarà sicuramente il partizionamento del disco, in quantoc’è sempre il rischio di perdere tutti i dati già presenti in un disco, se possedete un computer nuovo (o uno vuoto)potete stare tranquilli, se invece è un sistema già usato in precedenza è sempre consigliabile eseguire un backup ditutti i dati prima di procedere con l’installazione di un nuovo sistema.

    Bisogna notare che tale guida è valida anche per le precedenti versioni di Debian e anche per le successivequando usciranno, infatti dalla mitica versione 3.1 di Debian, chiamata Sarge, il programma di installazione hasubito poche variazioni grafiche quindi risulta molto simile ai programmi di installazioni delle precedenti versioni:se qualcuno possiede una guida di installazione delle precedenti versioni o una vecchia versione di questo capitolotroverà pochissime di differenze; in realtà ogni nuova versione del programma di installazione viene aggiornato connuovi aggiornamenti per aumentare la compatibilità con le tanti componenti e i vari dispositivi di nuova generazionema l’utente finale non si accorge di questi cambiamenti.

    Una guida ufficiale per l’installazione può essere trovata nel sito ufficiale di Debian, alla paginawww.debian.org/releases/stable/i386/

    questo capitolo vuole esserne un riassunto semplice ma completo.

    2.1 Come e dove trovare Debian

    Molte distribuzioni di GNU Linux sono gratuite e possono essere scaricate direttamente da internet in manieraveloce, all’interno del sito ufficiale di Debianwww.debian.org potete trovare tutte le “immagini” del DVD di installazione e tutte le informazioni sul sistemaoperativo; è possibile trovare i DVD di Debian anche pubblicate su varie riviste o manuali, l’ovvio vantaggio di usareun sito web è il costante aggiornamento delle versioni dei pacchetti e il fatto che sarete sempre aggiornati all’ultimaversione del sistema. Per scaricare il DVD per l’installazione basta andare nel sito debian.org, entrare nella sezione”Getting Debian” (in italiano Ottenere debian) e cliccare su ”Download large installation images” (Scaricare un fileimmagine), scegliendo poi la versione di computer che possedete, se possedete un sistema recente scaricate la versioneamd64 anche se disponete di un processore intel perchè questa versione comprende tutti i processori a 64 bit, se inveceavete un sistema vecchio potete scaricare la versione a 32 bit chiamata i386. Scaricare un DVD attraverso un browserpuò essere una cosa non semplice perché la maggior parte dei browser non da la possibilità di farlo essendo file moltograndi e superiori ai 4Gb di dimensione, il mio consiglio è di usare un sistema peer-to-peer come BTorrent (oppureKTorrent per chi usa già GNU Linux), con esso può essere scaricato un file di grandi dimensioni senza problemianche in più giorni, dal sito ufficiale di Debian potete scaricare i parametri per il download dell’immagine ISO daisistemi torrent.

    IMPORTANTE: Scaricare l’immagine ISO di Debian da un sistema Torrent (o da qualsiasialtro sistema di peer-to-peer) non è illegale in quanto Debian è free e coperto da licenzaGNU che permette il download e l’uso delle immagini. Scaricare film, musica, software conpiattaforme peer-to-peer può essere illegale se questi sono coperti copyright e/o coperti dalicenza proprietaria.

    10

  • CHAPTER 2. INSTALLAZIONE DI DEBIAN 9 11

    Potete tranquillamente selezionare l’immagine da 4 Gb anche se potrete selezionare una versione più light delsistema (di circa 180 Mb) che poi provvederà a scaricare da internet i componenti mancanti, io sconsiglio la versionepiù piccola perché rende molto lenta la fase di installazione allungando i tempi, potete trovare anche analoghe versioniper MicroCD oppure per chiavette USB ma anche in questi casi io li sconsiglio.

    2.1.1 Attuale versione

    Le versioni di Debian sono divise in stable, testing e unstable che, come dice il nome stesso, sono le varie fasidei pacchetti, un pacchetto prima viene inserito nella versione chiamata unstable, poi passa nella testing e, quandoviene valutato abbastanza stabile e senza anomalie, viene inserita nel “ramo stabile” di Debian, solamente le versionistabili vengono numerate (cioè gli viene dato un numero di versione) mentre alla versione “testing” viene assegnatoil numero e il nome della successiva versione stabile, la versione “unstabile” non ha un numero di versione. Ad ogniversione viene assegnato anche un nume ispirato ai mitici personaggi del film Toys Story, la versione unstable portasempre il nome Sid (che era il nome del bambino che nel film Toys Story rompeva i giocatoli). L’elenco delle versionidi Debian disponibile quihttps://www.debian.org/releases/index.it.html

    è riassunto in questa tabella:

    unstable sid -testing buster previsto per il 20199.0 stretch 17 Giugno 20178.0 jessie 26 aprile 20157.0 wheezy 5 maggio 20136.0 squeeze 6 Febbraio 20115.0 lenny 14 Febbraio 20094.0 etch 8 Aprile 20073.1 sarge 6 Giugno 20053.0 woody 19 Luglio 20022.2 potato 15 Agosto 20002.1 slink 9 Marzo 19992.0 hamm 24 Luglio 19981.3 bo 5 Giugno 19971.2 rex 12 Dicembre 19961.1 buzz 17 Giugno 19961.0 — mai rilasciata

    2.2 Avvio dell’installazione

    Per far partire il programma di installazione bisogna avere un DVD auto-avviante, le immagini DVD scaricate dalsito sono sempre auto-avvianti, cioè basta inserire il DVD nel lettore e il programma di installazione viene avviatoautomaticamente all’avvio del sistema però i dischi auto-avvianti funzionano solamente se il sistema BIOS del PC èconfigurato correttamente: per questa configurazione bisogna entrare nella finestra di setup del BIOS, premendo untasto all’accensione del sistema indicato nella prima videata con una scritta del tipo “Press XX to enter in the setup”,all’interno del programma di setup del BIOS bisogna indicare il DVD come “main boot” (il termine da cercare èproprio il termine boot).

    Una volta avviato il sistema con il DVD, compare una schermata che chiede a quale tipo di installazione eseguire,muovendosi con le frecce della testiera si dovrebbe scegliere la voce Graphical installation, altrimenti verrebbe avviatoil programma di installazione da riga di comando senza nessun componente grafico, l’installatore Debian consistedi un numero di passi dedicati ad eseguire i passi dell’installazione, ogni componente esegue il proprio compito,ponendo domande all’utente per quanto necessario a svolgere il proprio lavoro, a queste domande sono date dellepriorità e la priorità delle domande da porre è impostata all’avvio dell’installatore, quando si esegue un’installazionepredefinita, solo le domande essenziali (ad alta priorità) saranno poste. Ne risulta un processo di installazionealtamente automatizzato e con poca interazione da parte dell’utente e i componenti sono eseguiti automaticamentein sequenza; quali componenti siano eseguiti dipende principalmente dal metodo di installazione usato e dall’hardwarema vengono calcolati automaticamente senza che l’utente si accorga di nulla.

    I primi passi che vi vengono proposti sono la scelta della lingua (dove inglese è sempre il valore di default) e il tipodi tastiera che avete (anche in questo caso la tastiera inglese è la scelta predefinita), ovviamente se disponete dellaclassica tastiera italiana (con le lettere accentate tra l’invio e le lettere) dovete selezionare la tastiera italiana, questescelte non sono vincolanti in quanto è possibile cambiare lingua e tastiera anche una volta terminata l’installazionema ovviamente è più semplice e pratico selezionare la lingua corretta. Se si sceglie la tastiera sbagliata alcuni tasti

  • CHAPTER 2. INSTALLAZIONE DI DEBIAN 9 12

    potrebbero non corrispondere con quanto compare a video come i tasti di punteggiatura la cui posizione dipendedalla nazione della tastiera. Un volta superati i primi due passi compare una barra di avanzamento con il messaggioCopia del sistema base in corso, non bisogna fermare il processo aspettando i successivi passi dell’installazione.

    2.3 Configurazioni del sistema (rete, partizioni ed utenti)

    Dopo aver selezionato la lingua nel primo step, il programma di installazione prevede gli step base per la configu-razione delle cose più importanti del sistema, i primi step importanti sono la configurazioni della rete, se disponete diuna rete minima e classica (per esempio un router modem ADSL e/o una Wifi) potete farvi guidare dal programmache vi presenta delle configurazioni base, altrimenti potete inserire a mano i dati del server di rete DHCP e l’indirizzodi rete del Gateway, per esempio una configurazione semplice può essere:

    Indirizzo IP 192.168.1.2SubnetMask 255.255.255.0Gateway 192.168.1.1

    Dopo la configurazione delle rete, è previsto un passo dove bisogna inserire un nome del sistema, questo nome èpuramente indicativo ed è usato solo nei servizi di rete ma comparirà spesso nelle videate quindi conviene mettereun nome parlante (il nome non deve avere spazi o caratteri di punteggiatura), se disponete di una rete domesticacon più nodi (più computer o dispositivi collegati) potete identificare nella rete la vostra Debian con questo nome.

    I passi successivi sono i passi più delicati di tutta la fase di installazione e prevedono la configurazione del discofisso HardDisk per la creazione delle partizioni, questo può causare la perdita di dati se viene modificata la strutturadelle partizioni e formattate le partizioni stesse, per il sistema bastano sono sufficienti 25 Gb per il sistema operativoe i programmi e poi serve anche una seconda partizione chiamata di SWAP, per questa partizione bastano 5Gb. Inquesto manuale viene spiegata la teoria dei FileSystem ma Linux prevede vari tipi di partizioni, è possibile utilizzaregli stessi tipi usati su Windows ed è indispensabile usare questo tipo se sul sistema ci sono più sistemi operativi, inquesto caso l’utente dovrà seleziona NTFS; se invece nel sistema c’è solo la nostra Debian conviene fare tutte partizionidi tipo Ext4 che è il sistema più moderno usato da Gnu Linux, la partizione SWAP ha il proprio tipo dedicato equello non potrà essere cambiato. Il programma di installazione vi presenta una proposta di partizionamento cheprevede solo le due partizioni necessarie e che si può confermare se nel sistema è presente solamente il sistema Debian,se volete modificare la struttura delle partizioni proposte, dovete farle indicando sempre il tipo e le dimensioni dellepartizioni che volete creare; da notare che la partizione principale viene sempre indicata con il simbolo “/” chiamataroot e indica la cartella madre di tutto il sistema. Per confermare le modifiche scelte basta selezionare la vocededicata, il programma di installazione provvederà a scrivere le modifiche sul disco, la fase di scrittura su disco puòdurare parecchi minuti nei quali non bisogna interferire con nessuna operazione.

    Attenzione: le operazione di creazione e modifica delle partizioni del vostro disco HardDiskpotrebbe causare la perdita dei dati all’interno del vostro sistema, è sempre raccomandatoeseguire una copia backup dei dati prima di eseguire l’installazione di Debian e la creazionedelle partizioni dedicate.

    Dopo aver creato e configurato le partizioni il sistema vi chiederà la password dell’utente principale che anchequesto viene chiamato root, questa password è la più importante visto che con questa utenza è possibile lanciarequalsiasi comando e modificare qualsiasi file, è importante non perderla e non darla a nessuno in modo da evitarebrutte sorprese. Dopo aver inserito la password di root due volte per conferma, il programma di installazione prevedela creazione di un utente, questo utente avrà una username e una password che sono le credenziali del primo utentenormale che userà il sistema, ovviamente in un secondo momento sarà possibile creare altri utenti o modificare quellocreato durante la fase di installazione.

    2.4 Copia del sistema base e impostazioni finali

    Dopo aver configurato le partizioni, le impostazioni di rete e gli utenti, il sistema comincia a scrivere sul disco fissonella partizione principale root, durante la copia del sistema base non bisogna intervenire in nessuna maniera e nonbisogna interrompere l’avanzamento della copia, il programma poi procede con le fasi di censimento degli altri DVD sedisponibili e dei mirror ufficiali: Debian infatti avrebbe più DVD di installazione ed è possibile configurarli in questafase, il programma di installazione cerca anche automaticamente di collegarsi ad internet grazie alle configurazionidi rete inserite negli step precedenti e di configurare fin dall’inizio il collegamento ai mirror ufficiali per lo scaricodegli aggiornamenti periodici, in fase di installazione verranno configurati solo i mirror ufficiali del ramo “stabile”,al termine del programma di installazione sarà possibile aggiungere mirror non ufficiali e anche di rami delle versioni“testing” di Debian. Se disponete solo del primo DVD non dovete inserire nulla e il sistema automaticamente cercherà

  • CHAPTER 2. INSTALLAZIONE DI DEBIAN 9 13

    i mirror in rete, se vi chiede il paese, potete scegliere quelli italiani ma la scelta comunque è indifferente visto che imirror sono sempre sincronizzati tra loro.

    Dopo la configurazione dei mirror il programma di installazione, il programma di installazione vi permette diaggiungere alcune parti aggiuntive, il mio consiglio è quello di non installare nessun server per una installazionepiù veloce ma l’unica cosa davvero indispensabile è il server grafico che prevede di default il sistema GNOME, maè già possibile installare anche altri desktop grafici come KDE, XFCE e LXTE, io mio consiglio è di installare tuttii desktop e di provarli tutti prima di decidere quale usare. Il passo successivo prevede l’adesione ad un programmaper il raccoglimento delle informazioni dell’utente con l’invio automatico al sito ufficiale Debian di alcune statistichedell’uso di Debian compresi bug ed errori dei programmi principali, se non volete aver problemi potete tranquillamentenon aderire al programma senza aver nessuno svantaggio, al massimo potete riconfigurare l’adesione dopo la finedell’installazione con il comando da riga di comando:# dpkg-reconfigure popularity-contest

    L’installazione prosegue con la copia dei pacchetti selezionati in precedenza e ovviamente questa fase non deve essereinterrotta per nessun motivo.

    L’ultima fase di installazione è la configurazione del programma di avviamento del sistema chiamato bootloader,nei sistemi Debian è prevista l’installazione di Grub, se disponete più sistemi operativi sul sistema questo programmavi permetterà di selezionare quale sistema operativo avviare quando accedente il PC mentre se avete installato solo delsistema Debian vi verrà solo visualizzata una schermata che vi avvisa del caricamento del sistema, in ogni caso GRUBè molto stabile e si auto-configura automaticamente, durante la fase di installazione l’utente deve solo selezionarel’opzione installare il bootloader nel MBR dell’hardDisk per installare GRUB nel proprio sistema.

    Il programma di installazione termina con l’installazione del bootloader e il riavvio del sistema, ora Debian èdisponibile per l’utilizzo.

    2.5 Prima login e aggiornamento del sistema

    Al primo avvio la prima schermata caricata è quella del bootloader GRUB che abbiamo installato poco primadel termine dell’installazione, se avete solo un sistema operativo comparirà solo l’opzione di Debian ma se avete piùsistemi operativi vi comparirà la lista con la possibilità di scegliere quale avviare muovendovi nel menù con le freccedella tastiera. Se avete più versioni del Kernel Linux installate sul sistema Debian, vi comparirà la lista delle versionicon la possibilità di scegliere quale versione caricare, questa opzione è molto utile se utilizzate la versione testingdove, ad ogni aggiornamento del Kernel, compare una nuova riga.

    Una volta scelta l’opzione sui GRUB, il sistema carica tutto il Kernel Linux e i programmi di avvio, in una videatada riga di comando che, se disponete di un sistema veloce, durerà pochi secondi, al termine compare la videata graficadi login, questa videata è il GDM (Gnome Desktop manager) che è il pacchetto che vi permette di fare la login su undesktop e carica il desktop selezionato. Nella Videata di login basta inserire l’username e password dell’utente creatodurante la fase di installazione e verrà caricato il desktop Gnome che di default viene installato e configurato, unutente alle prime armi deve avete la pazienza di aprire i menù di Gnome per famigliarizzare con il Desktop principaledi Debian.

    Una delle prime cose da fare quando si effettua il primo accesso è configurare Debian per gli aggiornamenti edeventualmente eseguire il primo aggiornamento, questo perché Debian prevede una continua serie di aggiornamentilegati alla sicurezza ma anche alla stabilità del sistema, attivando poi gli aggiornamenti automatici avrete semprel’ultima versione stabile del sistema, se invece usate la versione testing o sid di Debian, gli aggiornamenti sarannoquotidiani e consiglio la disattivazione degli aggiornamenti automatici per poter controllare cosa viene installato nelsistema. Il gestore dei pacchetti di Debian si chiama apt mentre nei desktop grafici è possibile usare il programmaSynaptic, maggiori dettagli su questi due programmi saranno esposti nei prossimi capitoli, se volete avere un sistemaaggiornato e completo dovete aggiungere alcuni mirror (siti) al vostro archivio in modo da avere anche repositorynon ufficiali ma indispensabili. Per aggiungere mirror potete farlo da Synaptic (usando i menù) oppure, aprendo unashell (il programma Terminale), digitando la serie di comandi:$ su

    inserire la password dell’utente root# gedit /etc/apt/sources.list &

    con questo comando avete aperto come utente root u n file di configurazione del sistema apt, in questo file potetemodificare e/o aggiungere mirror, ogni mirror è una riga del file, se non presenti dovete inserire queste righe:

    deb http://ftp.it.debian.org/debian/ stretch main

    deb-src http://ftp.it.debian.org/debian/ stretch main

    deb http://security.debian.org/debian-security stretch/updates main contrib

    deb-src http://security.debian.org/debian-security stretch/updates main contrib

    deb http://ftp.it.debian.org/debian/ stretch-updates main contrib

  • CHAPTER 2. INSTALLAZIONE DI DEBIAN 9 14

    deb-src http://ftp.it.debian.org/debian/ stretch-updates main contrib

    deb http://http.us.debian.org/debian/ jessie non-free contrib main

    deb http://http.us.debian.org/debian/ wheezy non-free contrib main

    deb http://http.us.debian.org/debian stable main contrib non-free

    deb http://ftp.debian.org/debian/ stretch main contrib

    deb http://www.deb-multimedia.org stretch main non-free

    deb http://deb.opera.com/opera/ stable non-free

    deb http://download.videolan.org/pub/debian/stable/ /

    una volta modificato il file vi basta salvarlo, riaprire Synaptic (se lo avete aperto meglio chiuderlo e riaprirlo) ecliccare sul tasto Aggiorna, dopo alcuni secondi avrete un sistema pronto per essere aggiornato, dovete solamentepremere sul tasto Marca tutti gli aggiornamenti e poi cliccare sul bottone Applica per avviare l’aggiornamento delsistema, durante la fase di aggiornamento compare una videata che mostra l’avanzamento delle operazioni compresala fase di scarico dei pacchetti dai siti web dei mirror inseriti poco fa. Ad ogni aggiornamento non è indispensabileriavviare il sistema, serve solamente per rendere effettive gli aggiornamenti del sistema base come il Kernel mentrebasta riavviare un determinato programma per rendere effettive le modifiche degli aggiornamenti su programmastesso. Nei prossimi capitoli vedremo come usare da riga di comando il programma apt e il programma Synaptic perinstallare nuovi programmi e demoni al vostro sistema.

    Terminata questa fase sarete pronti per usare GNU Linux e Debian.

  • Chapter 3

    Configurazioni base di GNU Linux eDebian

    Dopo l’installazione del sistema Debian, un utente si trova un sistema quasi completo, infatti all’interno dell’installazionebase è compreso almeno il Desktop GNOME che è l’ambiente grafico di default di Debian e una serie di applicativibase che possono essere trovati sul menù principale, in questo capitolo vedremo alcune nozioni base che un utentedeve avere per potere usare senza problemi una qualsiasi versione di GNU Linux, queste nozioni sono le più variema sono indispensabili: impossibile infatti usare bene GNU Linux senza avere qualche base sistemistica e un po’ dimanualità su file e cartelle del sistema compresi i diritti di lettura e scrittura su file. Inizialmente, un utente pocoesperto potrebbe spaventarsi e demoralizzarsi di fronte alle nozioni base che sono poco familiari ma, con il tempo,si prende confidenza con la shell e i file di sistema e tutte le configurazioni base risultano semplici e basilari. Laparte più importante di questo capitolo è sicuramente la sezione dedicata al “montaggio” delle partizioni, argomentofondamentale e centrale: questo argomento diventa semplice se spiegato bene passo per passo.

    La prima nozione fondamentale che un utente di GNU Linux deve avere sempre presente è che tutto è un file,il Kernel Linux infatti vede e gestisce tutto come un file: sui sistemi basti su Unix (e quindi tutti i sistemi basatisul Kernel Linux) i file sono tutto: file, directory, periferiche come stampanti, memorie fisse e persino i processi inesecuzione sono visti come file che il FileSystem gestisce e amministra. A differenza di altri FileSystem, in GNULinux le estensioni non sono rilevanti, spesso capiterà di trovare file con estensioni “strane” ad un utente non abituatoa tale libertà: abbiamo già visto il file sources.list, spesso infatti viene usata l’estensione per evidenziare cosacontiene un file, esistono però anche file senza estensione come il file fstab che vedremo in seguito, quindi l’estensionedel file è solo una parte del nome e certi programmi di file manager possono cercare di usare l’estensione per capireil tipo di contenuto ma non sempre è corretto questo ragionamento. I file il cui nome inizia per . (punto) sono filenascosti, cioè tipicamente i file manager non vedono questi file a meno di comandi specifici, questi nomi vengonousati dai programmi per creare cartelle e file di configurazioni ma di non dare la possibilità all’utente di modificarli“per sbaglio”.

    Altra nozione fondamentale è che in tutti i sistemi GNU Linux è molto importante la differenza tra maiuscole eminuscole, sia sui comandi sia sui file è fondamentale scrivere sempre con attenzione i nomi ed eventuali parametri,sulla stessa cartella possono persino esistere file con lo stesso nome ma scritto con maiuscole/minuscole diverse.

    3.1 Gestione di cartelle e file

    Lo standard per il file system usato in tutti i sistemi GNU Linux si chiama FSSTND, che tenta di impostare unostandard per l’organizzazione dell’albero delle directory nei sistemi: viene usato per la facilità del porting del softwareper GNU Linux e l’amministrare dei sistemi, dato che tutto si trova nel posto designato per qualsiasi distribuzioneche usa questo stardard. Per essere precisi, non c’è nessuna autorità che impone di uniformarsi allo standard, maquesto ha il supporto della maggior parte, se non di tutte, le distribuzioni GNU Linux, quindi non è una buona ideadiscostarsi da esso se non per ragioni molto particolari. Il FSSTND tenta di seguire la tradizione Unix e le tendenzepiù recenti, rendendo i sistemi Linux familiari per chi ha esperienza con altri sistemi Unix e viceversa. Lo scopo diquesto capitolo è quello di dare una visione del sistema dal punto di vista del filesystem. Ulteriori informazioni suisingoli file possono essere trovate in altre parti di questo libro o nelle pagine man.

    L’albero delle directory completo è concepito in modo che possa essere diviso in parti più piccole, ciascuna sullasua partizione o nel suo disco se necessario, per ottimizzare le cose in dipendenza dalla dimensione dei dischi stessie per rendere più semplice il backup e l’amministrazione. L’albero delle directory è stato strutturato in modo chefunzioni bene in una rete di macchine Linux che condividano delle parti del filesystem su un dispositivo a sola lettura(ad esempio un CD-ROM), o sulla rete con NFS. La struttura del filesystem si basa su una radice che viene chiamata

    15

  • CHAPTER 3. CONFIGURAZIONI BASE DI GNU LINUX E DEBIAN 16

    root e sempre indicata con il carattere/

    è specifica per ciascun sistema (generalmente rappresenta l’intero sistema e sempre viene salvata in una partizionedell’Hard-Disk), contiene i file necessari per avviare il sistema e per portarlo ad uno stato tale da poter montare glialtri filesystem. La root contiene tutte le altre cartelle e si fa sempre alla root come punto di partenza iniziale perogni file, come già detto ogni cosa in GNU Linux è un file quindi anche le periferiche e i processi sono contenuti nellaroot.

    Si può dire (anche se in maniera un po’ superficiale) che la root sostituisce quello che nei sistemi MS Windows èil ”Risorse del computer”, infatti in Linux non potete trovare i dischi (C,D,E, ecc..), le principali sottodirectory dellaroot sono:

    /bin: Contiene i programmi di sistema utilizzati sia dall’amministratore che dai normali utenti, come ad esempio:ls, cat, cp

    /boot: Contiene tutto quello che è necessario per eseguire il processo di boot del kernel, quindi l’immagine (vmlinux)e la initrd, ovviamente contiene GRUB

    /dev: Contiene i riferimenti a tutti i dispositivi e le periferiche (HarkDisk, CdRom, stampanti, periferiche di rete,ecc...)

    /etc: Contiene i files di configurazione degli applicativi e i server presenti nel sistema, compresi gli script diinizializzazione dell’ambiente (init script)

    /home: Contiene le home directory degli utenti, cioè le informazioni e i file di ogni utente

    /lib: Contiene le librerie necessarie al boot del sistema e all’esecuzione dei programmi

    /mnt: Inizialmente è vuota, come standard viene usato per effettuare il mount (cioè il collegamento) con tutte leunità di memoria presenti (HardDisk, cdrom, memorie usb, ecc.. ), potete trovare anche la cartella /media chetipicamente viene usata solo per i dispositivi rimovibili (CdRom, Floppy, USB Disk).

    /opt: Dovrebbe essere vuota perchè non più usata, in passato veniva usata per gli applicativi del sistema base

    /proc: Contiene i riferimenti ai programmi in esecuzione (come già detto anche i processi in esecuzione vengonotrattati come file)

    /root: La home directory dell’utente root

    /sbin: Contiene i programmi di sistema (system binaries) utilizzati dall’amministratore

    /srv: Contiene alcuni file di configurazione

    /sys: Contiene dei file di sistema

    /tmp: Cartella dei file temporanei (ogni volta che si spegne il pc questa cartella viene svuotata)

    /usr: Contiene le applicazioni (non di sistema) installate nel sistema

    /var: Contiene vari files di sistema come i log e le carelle della posta, nel tempo questi contenuti tendono a cambiaredi posizione e forma perchè dipendono dall’applicativo e dal demone che li gestisce.

    3.1.1 Caratteristiche e gestione dei diritti sui file

    Ogni file, quindi ogni cosa nel vostro sistema, appartiene ad un utente che ha sempre i tutti i diritti su quelfile, questo utente è di solito l’utente che ha creato il file. Esistono 3 tipi di diritti su un file: scrittura, lettura edesecuzione rispettivamente detti R, W, X. Per vedere i diritti su un file basta eseguire il comando sulla shell$ ls -la

    e questo comando restituirà una schermata simile a questa:drwxr-xr-x 2 alnao alnao 4096 2 feb 14:09 DIR1

    -rw------- 1 alnao alnao 2615 2 feb 16:28 file1

    -rw-r--r-- 1 alnao alnao 1162966 2 feb 19:50 file2

    -rwxr-xr-x 1 alnao alnao 1162966 2 feb 19:50 file3

    la prima riga descrive una directory, lo si può capire dal fatto che la prima lettera è una d, i successivi tre caratteriindicano i diritti sull’utente che ha creato quel file, i secondi tre su tutti gli utenti dello stesso gruppo dell’utentecreatore del file, gli ultimi tre sono i diritti di tutti gli altri utenti. Se è presente la lettera significa che il diritto èattivo se c’è il trattino vuol dire che non l’utente non ha il diritto. Da notare che l’utente root root ha sempre tutte

  • CHAPTER 3. CONFIGURAZIONI BASE DI GNU LINUX E DEBIAN 17

    le autorizzazioni quindi lui riuscirà sempre a leggere e a scrivere su tutti i file. Nell’appendice potrete trovare unaguida al comando chmod che serve per cambiare i diritti sui file.

    Altra cosa che un utente GNU Linux deve sapere è che le estensioni sono praticamente inutili o comunque nonhanno molto valore, cioè i famosi file .exe, .doc, .dll non hanno molto significato: i file eseguibili sono indicatiattraverso il permesso sul file (come appena è indicato dal permesso X) e non c’è distinzione tra gli altri file, perquesto motivo incontreremo file con estensioni molto bizzarre, altre invece renderanno bene l’idea di quale sia l’utilità,per esempio il file sources.list è, dome dice il nome, la lista delle sorgenti oppure il file apache2.conf è il filedi configurazione di apache2. Che sia ben chiaro che l’uso delle estensioni non è vietato l’uso, anzi è sempre buonanorma usarle, ma il sistema sarà del tutto indifferente a queste estensioni, faccio notare che in GNU Linux potremmotrovare file con più estensioni come i file di tipo esempio.tar.gz.

    Lo standard FSSTND impone due caratteristiche molto importanti ai file: la differenza tra maiuscole e minuscole:il famosoKeys-Sensitive, infatti dovrete sempre stare attenti a cosa scrivete e se scrivete in maiuscolo o in minuscolo,si deve sempre prestare molta attenzione a questi particolari a differenza di Windows che, nelle varie versioni, hamostrato un disordine in questo senso e spesso alcuni sistemi mostravano problemi in tal senso. Seconda cosaimportante che un utente Linux deve tenere a mente è che i file il cui nome inizi con il carattere punto è un filenascosto e normalmente tutte le applicazioni non mostrano tali file (ls, Konqueror, Gnome File Manager), ma se, inomi vengono inseriti a mano, tutti i programmi sono in grado di aprire e di gestire tali file. Il comando da riga dicomando per leggere tutti i file è ls -la.

    3.2 Montaggio delle partizioni

    Una delle esigenze maggiori di ogni utente è quello di poter accedere ai propri dati che sono salvati in varieposizioni, gli utenti di altri sistemi operativi sono abituati a identificare le memorie (anche chiavette USB) condelle lettere come C, D, E, ecc... mentre nei sistemi GNU Linux la gestione delle partizioni e delle periferiche dimemoria (come le chiavette USB, hardDisk esterni e lettori CDROM/DVD) sono completamente diverse: la fasedi configurazione delle memorie (di qualsiasi tipo) viene chiamata mounting (in Italiano spesso viene tradotto conmontaggio), nome che deriva dal comando mount che viene utilizzato per eseguire le configurazioni, infatti le memorievengono viste dal Kernel Linux come un normale file dentro alla cartella /dev/ e, attraverso il comando mount, sipossono collegare ad una cartella per permettere l’accesso al contenuto della memoria. I file che si trovano dentroalla cartella dev non rappresentano tutta la memoria fisica ma rappresentano una partizione, cioè se in una memoriaci sono più partizioni, sono presenti più file che devono essere montati, tipicamente questi file hanno il nome deltipo hda1, hda2, hdb1, hdc1, hdd1 oppure sda1, sda2, sdb1, dove la prima lettera del nome rappresenta se sonoh=EIDE s=SATA cioè rappresentano il tipo di memoria, la seconda lettera è sempre d che significa DISK, la terzalettera è un incrementale se ci sono più dispositivi dello stesso tipo (se ci sono due HardDisk il primo sarà “a” mentreil secondo sarà “b”), mentre il numero rappresenta la partizione all’interno della stessa memoria fisica.

    Per poter sapere l’elenco delle partizioni e la struttura delle memorie si può usare il programma gparted daldesktop oppure# fdisk -l

    da riga di comando. Questi programmi presentano l’elenco di tutte le partizioni e, se possibile, anche il tipo.Per poter eseguire il mount, bisogna avete una cartella vuota che sarà la destinazione dell’operazione, cioè la

    memoria sarà disponibile accedendo a quella cartelle, come default viene usato sempre (e solo) la cartella /mnt cheè vuota alla fine dell’installazione per poter essere usata a questo scopo. Per esempio si può creare una cartella amano da un file manager oppure da riga di comando con le istruzioni# mkdir /mnt/Dati

    # chmod 666 /mnt/Dati

    da notare il comando chmod assegna a tutti gli utenti la possibilità di accedere a tale cartella, questo è indispens-abile altrimenti solo l’utente root potrebbe accedere alla memoria montata. Ora siete pronti per lanciare il vostromontaggio, con il comando dalla shell:# mount -t auto /dev/sda2 /mnt/Dati

    con questa istruzione abbiamo montato la partizione /dev/hda2 sulla cartella Dati (bisogna sempre prestare at-tenzione alla differenza tra minuscole e maiuscole), come parametro mount ha bisogno anche di sapere il tipo diFilesystem della partizione (come ad esempio Fat32, Ext3, NTFS) ma esiste anche il parametro auto che ci sempli-fica la vita, lasciando al sistema il compito di selezionare quello corretto. Ora possiamo accedere alla memoria conun file manager in un desktop oppure con il comando da riga di comando:$ cd /mnt/Dati

    $ ls

    dove il comando ls visualizza semplicemente la lista dei file nella cartella.Il problema del comando mount è che, allo spegnimento o riavvio del sistema, il montaggio NON verrà rieseguito auto-maticamente, nella prossima sezione vedremo come eseguire i montaggi permanenti delle partizione e delle periferiche

  • CHAPTER 3. CONFIGURAZIONI BASE DI GNU LINUX E DEBIAN 18

    di memoria.

    3.2.1 Montaggi permanenti

    Eseguire manualmente il mount da riga di comando ogni volta che si avvia il sistema è palesemente una cosanoiosa e scomoda, esiste il modo per rendere queste operazioni automatiche: per rendere definitive queste impostazioniesistono vari modi ma tutti quanti modificano il file di configurazione/etc/fstab

    questo è un file storico dei sistemi GNU Linux e si trova sempre nello stesso posto da almeno 20 anni, da notare chequesto file di sistema è sprovvisto di estensione e si trova nella cartella /etc, noi andremo direttamente a modificarequesto file, per esempio da desktop si può avviare come utente root un editor con:# gedit /etc/fstab &

    a questo punto si apre un file che all’apparenza sembra strano ma basta notare che ad ogni riga corrisponde unamemoria “montata”, a noi basta aggiungere una riga per ogni partizione che vogliamo configurare, per esempio:/dev/sdb3 /mnt/Dati ext4 user,suid,dev,rw,exec 0 0

    questa riga indica il punto di mount (sorgente e destinazione), il tipo di partizione (mettere auto se non si conosceil tipo) e i vari parametri della partizione per esempio umask=000 oppure rw indicano che si può scrivere e leggerela partizione. Se volete inserire una partizione di tipo ext3 non serve indicare l’umask, se invece volete indicare giàsul file le chiavette USB potete indicare la riga:/dev/sdd1 /mnt/Usb auto user,suid,dev,exec,umask=000,rw,noauto 0 0

    dove il parametro noauto indica che il mount non deve essere eseguito automaticamente all’avvio del sistema madeve essere caricato manualmente. Per rendere effettive le modifiche del file fstab bisogna riavviare il sistema.

    Nelle ultime versioni di Debian questa operazione viene eseguita durante la fase di installazione e, una voltaterminata l’installazione del sistema base, dovreste trovarvi il file già ben configurato con tutti i parametri compresii parametri per le memorie USB quindi questo file non deve essere modificato se trovate già e vostre partizioni con-figurate correttamente. Da notare che i lettori DVD/CD oppure le memorie USB non vengono montate sulla cartella/mnt ma, tipicamente, vengono montate sulla cartella /media per separare le memorie fisse da quelle rimovibili.

    3.3 Il pannello di controllo WebMin

    Nei sistemi Debian è possibile trovare diversi programmi che vi permettano di configurare facilmente il sistema,nei vari menu dei desktop si possono trovare varie voci per le varie configurazioni o anche un panello di controllounico, per GNU Linux è stato sviluppato un potentissimo programma per il controllo del sistema, WebMin prevedetemoltissimi moduli al proprio interno e, ognuno dei quali, permette dall’utente di amministrare uno specifico compo-nente del sistema, l’applicazione è una applicazione web quindi per usarla basta un browser ed è usabile da qualsiasidistribuzione Linux, questo programma permette di amministrare praticamente tutto senza dover conoscere ogni filedi configurazione e ogni dettaglio ed è costantemente aggiornata con le ultime versioni dei componenti quindi risultasempre stabile e semplice da usare.

    WebMin non è più all’interno dei mirror ufficiali di Debian rispetto alle precedenti versioni e, anche quando erapresente nell’elenco ufficiale dei pacchetti, io consigliavo sempre di scaricare l’ultima versione del sito ufficiale, orainvece basta aggiungere un mirror particolare alla nostra lista delle sorgenti dei pacchetti per scaricare il pacchettoaggiornato, prima di tutto bisogna installare un paio di pacchetti propedeutici tramite e poi procediamo con tuttel’installazione del mirror e del pacchetto webmin, tramite i comandi# apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl

    apt-show-versions python apt-transport-https

    # echo "deb http://download.webmin.com/download/repository sarge contrib"∣∣ tutto in una riga

    ... tee /etc/apt/sources.list.d/webmin.list

    # wget http://www.webmin.com/jcameron-key.asc

    # apt-key add jcameron-key.asc

    # apt-get update

    # apt-get install webmin

    dopo averlo installato proviamo subito a vedere lo stato del programma demone con il comando# systemctl status webmin

    Se non dovesse avviarsi automaticamente all’avvio del sistema basta, per avviarlo basta lanciare il comando# systemctl start webmin

    Per poter accedere al pannello di controllo basta lanciare da un browser l’urlhttps://localhost:10000/

    se nell’accedere a questo indirizzo il firewall dovesse bloccarlo per qualche motivo basta lanciare i comandi si blocco# firewall-cmd --permanent --add-port=10000/tcp

    # firewall-cmd --reload

  • CHAPTER 3. CONFIGURAZIONI BASE DI GNU LINUX E DEBIAN 19

    # systemctl restart firewalld

    # ufw allow 10000/tcp

    # ufw reload

    da notare che dentro le ultime versioni di Webmin, c’è la possibilità di collegarsi alla console shell con l’icona>

    presente nel menù di sinistra al tab ”dashbord” questo permette di usare il terminale da remoto e da web.

    WebMin è uno strumento potente ma forse anche troppo potente... fate sempre attenzione aquello che fate e pensateci due volte prima di fare qualcosa di cui non siete veramente sicuriperché potreste rovinare le configurazioni del sistema.

    3.4 Gestione dei pacchetti di Debian

    E’ impossibile usare un sistema Debian senza conoscere almeno le basi della gestione dei pacchetti, infatti è unargomento fondamentale per chi vuole usare un sistema GNU Linux e in particolar modo un sistema Debian, compresele derivate anche Ubountu e Knoppix: i pacchetti sono un insieme di file organizzati e compressi in directory in modoche possano essere installati nel sistema velocemente senza problemi; esistono molti modi di compilare e prepararei pacchetti, Debian ha imposto da anni un suo standard che è facilmente riconoscibile per i file di estensione DEB(altre distribuzioni possono avere altri formati come RPM per RedHat).

    Debian è famosissima per la sua gestione eccellente dei pacchetti perché pur contando oltre 25.000 pacchetti riescea gestire le dipendenze in modo semplice e ordinato, in quanto ogni pacchetto ha una lista di dipendenze cioè ognipacchetto ha l’informazione di quali pacchetti sono necessari e con i quali entra in conflitto, per esempio il pacchettoapache2-mpm-prefork dipende dal pacchetto apache2.2-common e entra in conflitto con il pacchetto apache2-mpm,quindi non riuscirete ad installare il pacchetto mpm-prefork senza aver prima installato common e non riuscirete adinstallarlo se è già presente mpm, tutto questo dipende anche delle versioni, cioè ogni pacchetto è segnato anche da unaversione, per esempio nel mio sistema è installato il pacchetto apache2-mpm-prefork alla versione 2.2.8-3: questovuol dire che il pacchetto è alla versione 2.2.8 ma è la terza compilazione del pacchetto. Per fortuna i programmi cheandremo ad usare (APT e Synaptic) gestiscono automaticamente queste dipendenze e riescono a gestire i pacchetticon ordine e precisione quindi mai riuscirete ad installare un pacchetto se non sono rispettate le regole di dipendenzada altri pacchetti.

    La gestione di Debian si basa su DPKG (l’abbreviazione di Debian PacKaGe) ed è il componente principaledella distribuzione Debian: è usato per installare, disinstallare ed ottenere informazioni sul singolo pacchetto informato standard deb. Dpkg però è un tool di basso livello cioè riesce ad eseguire poche operazioni e sempresu un solo pacchetto mentre Advanced Packaging Tool, conosciuto come APT, è il gestore standard di pacchettisoftware della distribuzione Debian che viene utilizzato per installare, aggiornare, verificare e rimuovere software delsistema operativo in maniera intuitiva e aiuta a risolvere le dipendenze tra i pacchetti, ha la particolarità di sfruttarecontemporaneamente diverse sorgenti di pacchetti (sorgenti remote FTP e HTTP, cdrom, DVD e hard disk), digestire autonomamente diverse distribuzioni di pacchetti e di permettere velocemente l’aggiornamento del sistemaoperativo ad una particolare distribuzione.Tutti i comandi che vi serviranno per gestire i pacchetti da riga di comando sono:

    • # apt-get update aggiorna la lista dei pacchetti (da eseguire dopo aver modificato il file sources.list)

    • # apt-get install nomepacchetto installa il pacchetto nel sistema, scegliendo l’ultima versione disponibileed andando a risolvere eventuali dipendenze installando i pacchetti necessari e togliendo i file che entrerebberoin conflitto con il pacchetto

    • # apt-get remove nomepacchetto rimuove il pacchetto e tutti i pacchetti che dipendono da esso

    • # apt-get --purge remove nomepacchetto rimuove il pacchetto e tutti i pacchetti che dipendono da essocompresi anche tutti i file di configurazione eventualmente presenti

    • # apt-get upgrade aggiorna tutti i pacchetti se sono disponibili aggiornamenti e verifica tutte le dipendenzedelle nuove versioni

    • # apt-get moo regala all’utente un simpatico messaggio

    • # apt-get install -f verifica che tutti i pacchetti siano installati e configurati correttamente, da usare sequalche pacchetto non l’installazione non termina con successo

    • # apt-get clean cancella tuti i file temporanei di apt-get cioè i file deb scaricati e già installati

    • # dkpg --configure -a come il precedente ma funziona anche in casi estremi e risolve tutti i problemi diconflitto tra i pacchetti

  • CHAPTER 3. CONFIGURAZIONI BASE DI GNU LINUX E DEBIAN 20

    • # dpkg-reconfigure pacchetto riconfigura un pacchetto installato

    • # dpkg -i pacchetto installa un pacchetto da un file deb

    • # dpkg -r pacchetto rimuove un pacchetto

    • # dpkg --get-selections > nomefile.txt salva su un file l’elenco dei pacchetti installati

    • # dpkg --set-selections < nomefile.txt imposta (installandoli) i pacchetti presenti sul file (ovviamentenon installa pacchetti già presenti)

    Come abbiamo già visto in precedenza tutta la gestione dei mirror e delle sorgenti dei pacchetti dipende dal file/etc/apt/sources.list

    ovviamente essendo un file di sistema può essere modificato solo dall’utente root, poi esiste anche la cartella/etc/apt/sources.list.d dove si possono creare dei file con estensione list per aggiungere altri mirror specificicome abbiamo fatto poco fa con webmin e come andremo a fare in seguito per altri grandi programmi.

    Nei file list di apt, ad ogni riga, corrisponde una sorgente che può essere un DVD, un mirror in internet, unacartella del sistema locale oppure una cartella nella rete locale. Per modificare l’elenco delle sorgenti da cui APTandrà ad attingere le informazioni, è possibile modificare il file e ogni voce dell’elenco dovrà seguire uno di questiformati:deb http://host/debian distribuzione sezione1 sezione2 sezione3

    deb-src http://host/debian distribuzione sezione1 sezione2 sezione3

    La prima parola di ogni riga, deb o deb-src, indica il tipo di archivio: se contiene pacchetti binari (deb), che sonoi pacchetti già compilati che normalmente vengono usati; oppure indica se l’archivio contiene i pacchetti sorgente(deb-src), che sono il codice sorgente originale del programma; mentre la seconda parola indica l’indirizzo dellasorgente.

    Al posto di distribuzione deve essere indicata la distribuzione che si vuole gestire (di solito uno dei tre rami disviluppo stable, testing o unstable, oppure esplicitamente la versione, come etch, sid o sarge).Le sezioni indicheranno quali parti della distribuzione dovranno essere gestite, tipicamente si trova main (i pacchetticompletamente liberi, la maggioranza), non-free (i pacchetti rilasciati sotto una licenza non libera) e contrib(pacchetti liberi che però dipendono da altri non liberi). Al termine di ogni modifica del file è necessario lanciare ilcomando:# apt-get update

    oppure cliccare sul pulsante Aggiorna dei gestori grafici, perché i programmi di gestione dei pacchetti riconoscano lemodifiche e le applichino.

    APT e DPKG non sono stati studiati per essere interfacciati graficamente, quindi sono nati diversi strumentigrafici che permettono di gestire il contenuto del sistema attraverso una interfaccia grafica che può risultare piùintuitiva all’utente meno esperto: il più importante programma per desktop per la gestione dei pacchetti è Synapticche spesso si può trovare nei menù anche con il nome di ”Gestore pacchetti”, la potenza di questo programma è lasemplicità d’uso rispetto ad altri programmi simili come Aptitude e Adept che sono molto più poveri di funzioni,questo programma è possibile vedere la lista dei pacchetti divisi in sezione per argomento (sistema, grafici, editor,...),per stato (installati, aggiornabili, non installati, corrotti), per origine (DVD, debian.org, mfgames.com,...) e lapossibilità di cercare i pacchetti con una semplice ricerca testuale sui nomi e sulle descrizioni dei pacchetti stessi. Lacomodità principale di questo programma è la possibilità di gestire gli aggiornamenti del sistema con un sempliceclick su pulsante.

    3.5 La shell e i desktop

    In precedenza abbiamo avuto la necessità di aprire la riga di comando, questo è indispensabile almeno nellefasi di configurazione di un sistema GNU Linux, la riga di comando viene comunemente chiamata shell e più inparticolare noi abbiamo a disposizione il tipo chiamato bash, non bisogna fare confusione: con shell si intende unariga di comando mentre bash è l’interprete dei comandi, in questo manuale faremo sempre riferimento a bash e nonverranno introdotte altre tipi di shell anche se in altri manuali potete trovare guide più complete di bash e di altritipi di shell per GNU Linux. Tipicamente nelle architetture basate sul KernerLinux con la bash sono disponibili 8“canali” detti anche tty (abbreviazione di TeleTYpewriter), nei sistemi basati su GNU Linux il primo canale è usatodal KernelLinux e in questo canale compaiono i messaggi del sistema mentre il server grafico tipicamente si trova nelsettimo canale, nella nostra versione 9 di Debian il server grafico si trova al secondo canale mentre nel primo c’è unaseconda versione del server grafico se si vuole utilizzare la funzionalità multiutente; è possibile passare da un canalead un altro con la sequenza di tasti ALT + CTRL + F1 dove l’F1 è il numero del canale (ovviamente per il settimocanale si può usare F7). Un utente può abituarsi a navigare sui canali oppure rimanere sempre sul settimo che disolito viene attivato di default, utilizzare il programma grafico della riga di comando, ogni utente infatti si abitua inun modo ma poi può usarli entrambi come fa la persona che scrive questo testo.

  • CHAPTER 3. CONFIGURAZIONI BASE DI GNU LINUX E DEBIAN 21

    Nei successivi capitoli potete trovare una lista completa dei comandi riconosciuti e usabili nella bash, nel prosegui-mento di questo manuale introdurrò sempre più comandi cercando di descriverli, la bash mette anche a disposizioneun linguaggio di scripting (chiamato sh) e in questo documento useremo qualche script scritti in questo linguaggio ecercando sui motori di ricerca potete trovare script molto utili.

    Il server grafico viene chiamato X-WindowSystem o più semplicemente spesso indicato con X, gestisce l’interfacciautente e non esiste un unico desktop, infatti esistono più di un desktop che l’utente può installare ed usare ancheparallelamente, per passare da un desktop ad un altro basta selezionare il tipo nella schermata durante la fase dilogin all’avvio del sistema; tranne per qualche raro caso, tutte le applicazioni compilate per GNU Linux, possonoessere eseguite da qualsiasi tipo di desktop perché tutte le applicazioni si basano sulle librerie del server grafico X(librerie Xlib, GTK e Qt), nel prossimo capitolo vedremo i più importanti e utili programmi per GNU Linux.

    I principali desktop per GNU Linux basati sul server grafico X sono: GNOME, KDE e XFCE mentre quellileggeri e studiati per essere veloci sono MATE e LXDE, invito sempre tutti gli utenti ad installarli e provarli perun po’ di tempo per poi scegliere quello più comodo e che più piace, se si vuole provare le nuovissime componentigrafiche di Gnome 3D chiamate Gnome Shell dovete avviare Gnome e lanciare il comando$ gnome-shell --replace

    oppure attivarle nel pannello di controllo di Gnome stesso.

    3.6 Login manager, processi e rete

    Durante l’installazione è stato creato un primo utente che poi è utilizzato al primo accesso ma attraverso i vari tooldi controllo, come WebMin e il gestore degli utenti nel menù, è possibile creare e configurare nuovi utenti, gestendoanche diversi gruppi di utenti, per fare un accesso con questi utente potete utilizzare la login della shell (usando lasequenza di tasti CTRL+ALT+Fn) oppure usando la login grafica, chiamata GDM (Gnome Desktop Manager) checompare quando si accende un sistema: GDM è il gestore di default di Debian, esistono anche altri gestori della logingrafica ma ne sconsiglio l’utilizzo per gli utenti non esperti.

    La definizione base che un utente deve sempre aver a mente è che tutto è un file, sorprenderà molto gli utentimeno esperti ma anche i processi e i programmi in esecuzione sono visti come file, potete vederli e ”toccarli” accedendonella cartella /proc, da notare che il sistema di permessi del KernerLinux permette ad un utente di vedere solo iprocessi da lui lanciati mentre l’utente root può vedere tutti i processi in esecuzione. Ogni processo è rappresentatoda un file che contiene un numero identificativo (ID) che può essere usato dai vari comandi della shell per gestire ointerrompere il processo tramite i comandi term oppure kill, per chi usa un desktop è possibile terminare un singoloprogramma con i vari gestori dei processi presenti nei menù dei desktop con il nome di Monitor di sistema, se usate lashell vi consiglio anche di provare il comando top che di fatto è un piccolo task manager molto semplice ed efficiente.

    In GNU Linux tutte le interfacce di rete sono amministrate da due componenti del Kernel chiamate netfilter eiptables e possono configurate dalla shell oppure da programmi grafici compreso WebMin, dalla shell potete usarei comandi# ifconfig

    e# route

    per avere delle informazioni sulle configurazioni base però nei vari menù dei desktop potete trovare i programmi digestione come Net configuration. Per le reti wifi i componenti base si chiamano wireless-tools e wicd (comandoiwconfig), i due programmi sono incompatibili e bisogna decidere quale dei due usare, io consiglio il primo che vieneinstallato di default assieme ad iptables ma potete decidere per il secondo per installarlo vi basterà installare ipacchetti# apt-get install wireless-tools network-manager-gnome

    oppure per il secondo# apt-get install wicd

    e lanciando il comando# iwlist scan

    potete visualizzare tutte le reti wireless che il vostro dispositivo riesce a trovare. Dovete però prima ricordarvi diconfigurare correttamente la vostra interfaccia WiFi (scheda interna o penna USB), potete trovare l’elenco di tutti idispositivi compatibili e le guide per l’installazione all’indirizzo webhttps://wiki.debian.org/it/WiFi

    per esempio io ho lanciato il comando per la mia scheda e tutto si è configurato in un attimo però certe chiavetteUSB - WIFI hanno bisogno di un driver particolare e quindi bisogna andare ad installare i pacchetti che iniziano per“firmware” presenti su Synaptic. Alla fine dell’installazione del componente WiFi dovete manualmente configurarela rete WiFi e potete farlo attraverso il solito programma Net configuration (o in italiano Connessioni di rete). Permonitorare la rete potete usare il comodo “Monitor di Sistema” del desktop oppure usare il programma wavemon(da installare il pacchetto) oppure usare i comandi

  • CHAPTER 3. CONFIGURAZIONI BASE DI GNU LINUX E DEBIAN 22

    # iwconif wlan0

    oppure# watch -n 1 cat /proc/net/wireless

    Il firewall nativo di GNU Linux è proprio il componente iptables, se volete configurare il vostro firewall (che èsempre buona cosa fare) potete usare i programmi grafici Firestarter oppure GuardDog, se siete utenti un po’più esperti potete usare i comandi da riga di comando oppure modificando i vari file di configurazione, per esempioseguendo la guida che trovate all’indirizzo http://wiki.ubuntu-it.org/Sicurezza/Iptables.

  • Chapter 4

    Applicazioni per GNU Linux

    Uno degli errori più comuni degli utenti che non conoscono bene i sistemi GNU Linux è pensare che non dispongadelle più comuni applicazioni per il normale utilizzo, in realtà esistono migliaia di applicazioni che rendono i sistemicompleti e perfettamente utilizzabili senza problema e senza dover rinunciare a nulla, basta infatti aprire Synaptic eraggruppare i pacchetti per categoria per rendersi conto di quante applicazioni sono disponibili nei repository Debian:oltre alla numerosità delle applicazioni, grazie a Synaptic, è possibile sfruttare la gestione dei pacchetti di Debian perevitare il problema delle dipendenze tra le applicazioni quindi un utente non deve preoccuparsi di nulla, non devenemmeno preoccuparsi di quale desktop viene utilizzato: tutte le applicazioni “standard” sono compatibili con tuttii desktop disponibili (KDE, Gnome, Xfce, ecc. . . ) e sarà possibile passare da un desktop ad un altro utilizzando lestesse applicazioni senza notare differenze, tutto questo perchè le librerie grafiche si basano sul demone grafico X enon sul singolo desktop.

    Tutti i pacchetti disponibili sui server mirror di Debian, disponibili su Synaptic, sono totalmente gratuiti escaricabili dai mirror internet, su altri mirror non ufficiali Debian è possibile scaricare altri programmi gratuitamentecome per esempio il mirror di Google permette il download e l’installazione del browser Chrome, se un utente vuoleperò acquistare e installare un programma a pagamento deve acquistarlo per poi installarlo manualmente, spessoi produttori creano i pacchetti Debian cos̀ı basta installarlo con il gestore dei pacchetti con una semplice riga dicomando. Non esiste un elenco completo ed ufficiale di tutti i programmi disponibili, questo perché i programmivengono creati quotidianamente e certi progetti chiudono per l’insuccesso di una applicazione o la sua scarsa utilità,un elenco molto completo e mia personale fonte di ispirazione per questo capitolo è la pagina disponibile al sitohttp://guide.debianizzati.org/index.php/Tabella_Software con tutti i link alle varie pagine di dettaglio.

    4.1 File di testo

    Un utente che usa GNU Linux ha prima di tutto bisogno di usare e prendere confidenza con i file di testo permodificare i vari file di configurazione come abbiamo già fatto in alcuni punti precedenti di questa guida, anche sepuò sembrare “antiquato” agli utenti meno esperti, in realtà è molto più semplice e veloce di quanto possa sembrare.Sui sistemi basati su Debian possiamo trovare facilmente molti editor di testo più o meno complicati a secondadelle esigenze: sulla shell esistono i famosi (e storici) programmi vim e emacs ma questi programmi necessitano diconoscente avanzate per poter essere usati in quanto i comandi per l’editor sono diversi dai classici comandi che sitrovano in altri editor, il programma più semplice da usare è pico che può essere usato anche da utenti meno espertiin quanto basta usare il tasto CTRL per passare dalla modalità editor alla modalità menù.

    Chi invece usa un desktop manager, può usare i vari programmi grafici che sono messi a disposizione nei varimenù, tipicamente ogni desktop ha il proprio programma di default ma nessuno vieta di usare altri programmianche di altri desktop, per esempio il programma di default di KDE è kEdit ma è possibile usare anche i programmidi GNOME come gEdit oppure mousepad. Tuttavia il programma migliore di tutti è Kate che oltre ad essere unsemplice editor di testo, attraverso alcune componenti grafiche, può essere usato per programmare visto che possiedeun sistema di riconoscimento dei linguaggi di programmazione oppure per scrivere documenti, ovviamente l’utentenon deve aspettarsi le grandi potenzialità di un word-processor.

    Come già visto più volte, i file possono avere nomi ed estensioni ad apparenza “strani” e molti file di testo nonhanno estensione il classico “txt” che di solito si trova su altri sistemi operativi, dobbiamo sempre tenere a menteche sui sistemi basati su GNU Linux le estensioni non hanno molto valore se non per pura naming-convention oestetica: molti file hanno estensione “conf” e tipicamente si trovano nella cartella /etc o una sottodirectory maalcuni file hanno nomi non parlanti o senza estensione come il file fstab che abbiamo già visto in precedenza nellasezione dedicata al comando mount, nonostante i nome e le estensioni poco chiare, qualsiasi file può essere aperto emodificato con un qualsiasi file di editor ma bisogna sempre tenere a mente che i file non semplici come i file di un

    23

  • CHAPTER 4. APPLICAZIONI PER GNU LINUX 24

    word-processor o qualsiasi tipo di file non testuale non deve essere modificato per evitare di perdere informazioni orovinare il file in maniera definitiva.

    4.2 File explorer

    Per esplorare e navigare tra le varie cartelle del Sistema, oltre che alla riga di commando, è possibile utilizzare itanti file manager che si possono trovare nel sistema, tipicamente ogni Desktop ha il proprio file manager e spessoin un desktop è possibile trovarne anche più di uno, il programma predefinito sul Desktop KDE è Konqueror epuò essere usato anche in altri desktop, anche se è un vecchio browser web, è ancora usatissimo come file explopered è stato migliorato molto tanto da diventare uno dei miglioro programmi per muoversi tra le varie cartelle delsistema. Una delle potenzialità maggiori è quella di visualizzare l’albero delle cartelle cosa molto rara da trovarein altri programmi per la navigazione nei filesystem, inoltre nelle versioni più recenti sono stati integrati anche unvisualizzatore di immagini, un piccolo editor di test e il sistema veloce per gestire i file archivi (come zip e tar),un semplice visualizzatore di file PDF è stato integrato proprio di recente anche se non è molto pratico da usare,nelle impostazioni del programma (voce Configure Extensions nel menù Settings) è possibile trovare e gestire tutti ivari plug-in. Grazie a Konqueror è possibile anche gestire i più comuni protocolli di rete, per collegarsi ad un altrocomputer tramite il protocollo Samba basta inserire il comando:smb://nomeserversamba

    per collegarsi ad un altro computer di rete. Oppure si può usare il classico:ftp://ftp.debian.org

    per collegarsi ad un server attraverso il protocollo ftp, oppure:sftp://ssh.sito.org

    per collegarsi attraverso il protocollo ssh/stp ad un server.Altra applicazione da provare alternativa che io consiglio è dolphin che presenta una interfaccia molto semplice e

    veloce, pur non disponendo di plugin, rimane il più intuitivo programma per navigare tra files e directories, ovviamentequesto è compatibile con tutti i Desktop e permette anche di avere una shell in basso alla finestra che segue l’utentenella navigazione dell’utente nelle cartelle.

    Ovviamente un utente può benissimo usare un qualsiasi altro programma disponibile sui Desktop oppure bastaaprire Synaptic per installarne decine, lo storico commander può essere trovato con il nome di Midnight Commanderoppure Gnome Commander.

    4.3 Sistema di compressione dei file (Tar, Zip e Rar)

    Lo standard di compressione del mondo GNU Linux si chiama TAR che in realtà è un algoritmo di aggregazionee non di compressione, cioè questo tipo di standard non comprime ma li accorpa in un unico file contenitore, pereseguire una compressione si usano altri standard (cioè algoritmi di compressione) come gz oppure bz), ma possonoessere usati anche altri formati come i più famosi ZIP e RAR; per riconoscere in quale formato è compresso un filebasta guardare l’estensione del file, da notare che le estensioni possono essere composte: per esempio un file può avereestensione nomefile.tar.gz oppure il semplice nomefile.zip. Visto che rar è un algoritmo proprietario e non free,per poterlo usare è necessario installare i pacchetti rar, rar-2.80, unar e unace-nonfree che potete trovare neirepository ”non free” nel mirror. Se volete usare lo standard TAR da riga di comando, i principali comandi sono:$ tar -cf namefiletar.tar file1 file2 ... per creare un file non compresso nel formato tar$ tar -xf namefiletar.tar per estrarre un file non compresso nel formato tar$ tar -czf namefiletar.tar.gz file1 file2 ... per creare un file compresso nel formato tar e gzip$ tar -xzf namefiletar.tar.gz per estrarre un file compresso nel formato tar e gzipI principali parametri del comando tar sono:c per crearex per estrarrev per vedere la lista dei file contenuti in un TARz per creare/estrarre un file compresso con gzipj per creare/estrarre un file compresso con bzip2Z per creare/estrarre un file compresso con compressPer chi usa invece un desktop ci sono varie possibilità, il migliore programma che avete a disposizione è un programmachiamato Gestore di archivi che potete trovare sul menù Accessori di tutti i desktop (potete trovarlo anche con il nomefile-roller), con questo semplice programma potete creare, comprimere e decomprimere file compressi in tutti i formati.Se invece usate Konqueror o Dolphin, potete usare il sistema integrato per la gestione dei sistemi di compressionechiamato ark (deve essere installato da Synaptic) e vi permetterà di gestire tutti i formati con pochi click (bastacliccare con il tasto destro del mouse su file o directory per avere la funzionalità ”Comprimi” o su un singolo filecompresso per avere la funzionalità di decompressione.

  • CHAPTER 4. APPLICAZIONI PER GNU LINUX 25

    4.4 Programmi per l’ufficio

    Ci sono varie suite che si possono usare per avere i classici programmi per l’ufficio, il principale gruppo diapplicazioni per l’ufficio per il mondo GNU Linux è stato per tanti anni il famoso OpenOffice.org che potete trovaresui repository, di default non è installato subito ma potete invece trovare di default l’altra suite ufficiale: LibreOfficeche è una versione più leggera ma allo stesso tempo completa e funzionante, le due versioni differiscono di pocoper un utente poco esperto quindi consiglio di lasciare LibreOffice senza installare il gigante. Entrambi i pacchetticomprendono una serie di programmi per l’elaborazione di testi, fogli di calcolo, presentazioni, grafici e disegni,database e formule matematiche e sono compatibili anche con le altre suite per ufficio, tra cui Microsoft Office. Unadelle caratteristiche maggiori di questi programmi è che rispettano gli standard ISO e quindi è possibile salvare idocumenti nei formati standard tra cui ODP e PDF.

    Questi in realtà non sono le uniche suite per l’ufficio presente nella nostra distribuzione, per la gestione di progetti(project management) potete usare TaskJuggler con il quale potete creare documenti utilizzando un linguaggio diprogrammazione dichiarativo molto semplice (chiamato TJP). Per la contabilità potete provare GnuCash che registrai movimenti finanziari in modalità di libro giornale a partita doppia; altri programmi da segnalare e provare sonokMyMoney, Grisbi e MoneyDance (a pagamento).

    Esistono molti programmi per la gestione aziendale, nonostante siano liberi e nonostante siano poco famosi,possono diventare molto utili per qualsiasi tipo di azienda o ufficio, tra i tanti ci sono Promogest, Passpartout,Phasis (forse il migliore), Gazie-web, TeamMosaico (il più famoso e il più usato), Openbravo, il mio consiglio è diprovarli tutti se ne avete bisogno guardando le funzionalità disponibili e poi fare una scelta a seconda delle proprieesigenze.

    4.5 Navigazione web e Mail Client

    Nel mondo GNU Linux e Debian potete trovare moltissimi programmi per la navigazione internet e la gestionedelle mail, il browser più famoso in assoluto per GNU Linux è Firefox ma sui sistemi Debian, per questioni dipolicy sul software libero, lo trovate sotto il nome di IceWeasel e con un icona diversa rispetto alla volpe rossa. Viconsiglio subito di installare da Synaptic anche il pacchetto flashplayer-mozilla per installare il plugin per permetterel’esecuzione dei flash e di installare il pacchetto totem-mozilla per poter vedere video e filmati direttamente sulbrowser. Sui sistemi GNU Linux potete usare anche altri programmi come Amaya, Konqueror (anche se un po’vecchio) e Epiphany che risulta essere il più veloce programma per la navigazione web ed è il browser di default suldesktop GNOME.

    Per installare il browser Opera direttamente da Synaptic, deve essere presente la riga nel file sources.list:deb http://deb.opera.com/opera/ stable non-free

    Per installare il browser Google Chrome direttamente da Synaptic, deve essere presente la riga nel file sources.list:deb http://dl.google.com/linux/chrome/deb/ stable main

    oppure è possibile installare Chromium, un web browser open source da cui deriva Google Chrome, inizialmente l’ideadi Google era quella di mantenere un solo progetto ma alla fine si sono creati due progetti paralleli che hanno sviluppisimili ma non uguali tanto che i browser hanno comportamenti molto simili ma non uguali, le differenze maggiorisono l’assenza di un player flash, un visualizzatore interno di PDF e il sistema automatico degli aggiornamenti cheviene delegato al sistema operativo tramite il pacchetto ”chromium”, notare che in alcune sotto-distribuzioni minoriè persino il browser di default come nella Lubuntu e presto lo sarà anche di Debian.Per quanto riguarda i programmi per gestire le mail potete usare il programma di Firefox che potete trovare conil nome di Thunderbind Mail oppure con il nome IceDove, però potete usare anche altri programmi nativi comeEvolution, Balsa, Gnus e Pine (quest’ultimo è lo storico programma di UNIX/GNU Linux da riga di comando). Imigliori programmo per le chat e l’instant messaging per GNU Linux sono Pidgin (il programma una volta si chiamavaGaim), kMess e aMSN, mentre per installare Skype direttamente da Synaptic, deve essere presente la riga nel filesources.list:deb http://download.sky