Product SiteDocumentation Site

Debian 12

Il Manuale dell'Amministratore Debian

Debian Bookworm from Discovery to Mastery

Edizione 1

Raphaël Hertzog

Daniel Leidert

Nota Legale

ISBN: 979-10-91414-23-4 (English paperback)
ISBN: 979-10-91414-24-1 (English ebook)
Questo libro è disponibile sotto i termini di due licenze compatibili con le linee guida del software libero Debian.
Licenza d'uso Creative Commons:
Questo libro è rilasciato sotto la Licenza Creative Commons Attribution-ShareAlike 3.0 Unported.
Licenza d'uso GNU General Public License:
Questo libro è documentazione libera: è possibile ridistribuirlo e/o modificarlo secondo i termini della GNU General Public License come pubblicata dalla Free Software Foundation, sia la versione 2 della licenza o (a propria scelta) una versione successiva.
Questo libro è distribuito nella speranza che possa essere utile, ma SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita della COMMERCIABILITÀ o IDONEITÀ PER UNO SCOPO PARTICOLARE. Per ulteriori dettagli si veda la GNU General Public License.
Dovresti aver ricevuto una copia della GNU General Public License assieme a questo libro. Se così non è vedere https://www.gnu.org/licenses/.

Esprimi il tuo apprezzamento

Questo libro è pubblicato sotto una licenza libera perché vogliamo che chiunque ne benefici. Detto ciò, la sua manutenzione richiede tempo ed impegno e per questi motivi apprezzeremmo di essere ringraziati. Se ritenete che questo libro sia prezioso, vi invitiamo a contribuire al suo mantenimento acquistandone una copia cartacea o facendo una donazione attraverso il sito ufficiale:

Sommario

Un libro di riferimento sulla distribuzione Debian, dall'installazione iniziale alla configurazione dei servizi.
Prefazione
Introduzione
1. Perché questo libro?
2. A chi è rivolto questo libro?
3. Approccio Generale
4. Struttura del libro
5. Contribuire
6. Ringraziamenti
6.1. Un po' di storia
6.2. Un Ringraziamento Speciale ai Collaboratori
6.3. Ringraziamenti ai Traduttori
6.4. Ringraziamenti personali di Raphaël
6.5. Ringraziamenti personali di Roland
1. Il Progetto Debian
1.1. Cosa è Debian?
1.1.1. Un Sistema Operativo Multipiattaforma
1.1.2. La Qualità del Software Libero
1.1.3. Il Quadro Giuridico: Un'Organizzazione Senza Scopo di Lucro
1.2. I Documenti Fondanti
1.2.1. L'Impegno nei confronti degli Utenti
1.2.2. Le Linee Guida Debian per il Software Libero
1.3. Il funzionamento interno del Progetto Debian
1.3.1. Gli Sviluppatori Debian
1.3.2. Il ruolo attivo degli utenti
1.3.3. Team, Blend e sottoprogetti
1.4. Segui Debian
1.5. Il ruolo delle distribuzioni
1.5.1. L'installatore: debian-installer
1.5.2. La raccolta software
1.6. Ciclo di vita di un rilascio
1.6.1. Lo stato Experimental (sperimentale)
1.6.2. Lo stato Unstable (instabile)
1.6.3. Migrazione alla Testing (in prova)
1.6.4. La promozione da Testing a Stable
1.6.5. Stato di Oldstable e Oldoldstable
2. Presentazione del caso di studio
2.1. Necessità IT in veloce crescita
2.2. Strategia
2.3. Perché una distribuzione GNU/Linux?
2.4. Perché la distribuzione Debian?
2.4.1. Distribuzioni commerciali e guidate dalla comunità
2.5. Why Debian Bookworm?
3. Analisi delle impostazioni esistenti e migrazione
3.1. Coesistenza in ambienti eterogenei
3.1.1. Integrazione con macchine Windows
3.1.2. Integrazione con sistemi macOS
3.1.3. Integrazione con altre macchine Linux/Unix
3.2. Come migrare
3.2.1. Rilevamento e identificazione dei servizi
3.2.2. Fare il backup della configurazione
3.2.3. Prendere il controllo di un server Debian esistente
3.2.4. Installazione di Debian
3.2.5. Installazione e configurazione dei servizi scelti
4. Installazione
4.1. Modalità di installazione
4.1.1. Installazione da un CD-ROM/DVD-ROM
4.1.2. Avviare da una chiavetta USB
4.1.3. Installazione tramite l'avvio da rete
4.1.4. Altri metodi d'installazione
4.2. Installazione, passo passo
4.2.1. Avviare e eseguire il programma d'installazione
4.2.2. Selezione della lingua
4.2.3. Selezione della nazione
4.2.4. Selezione della mappatura della tastiera
4.2.5. Rilevamento hardware
4.2.6. Caricamento dei componenti
4.2.7. Rilevamento dell'hardware di rete
4.2.8. Configurazione della rete
4.2.9. Password dell'amministratore
4.2.10. Creazione del primo utente
4.2.11. Configurazione dell'orologio
4.2.12. Rilevamento dei dischi e degli altri dispositivi
4.2.13. Avviare lo strumento di partizionamento
4.2.14. Installazione del sistema di base
4.2.15. Configurazione del gestore dei pacchetti (apt)
4.2.16. Concorso Popolarità Pacchetti Debian
4.2.17. Scelta dei pacchetti per l'installazione
4.2.18. Installazione del bootloader GRUB
4.2.19. Terminare l'installazione e riavviare
4.3. Dopo il primo avvio
4.3.1. Installazione di software aggiuntivo
4.3.2. Aggiornamento del sistema
5. Sistema dei pacchetti: strumenti e principi fondamentali
5.1. Struttura di un pacchetto binario
5.2. Meta-informazioni sul pacchetto
5.2.1. Descrizione: il file control
5.2.2. Script di configurazione
5.2.3. Checksum, elenco dei file di configurazione, ecc.
5.3. Struttura di un pacchetto sorgente
5.3.1. Formato
5.3.2. Uso con Debian
5.4. Manipolazione dei pacchetti con dpkg
5.4.1. Installazione dei pacchetti
5.4.2. Rimozione di pacchetti
5.4.3. Interrogazione del Database di dpkg ed Ispezione dei File .deb
5.4.4. File di registro di dpkg
5.4.5. Supporto Multi-Arch
5.5. Coesistenza con Altri Sistemi di Pacchetti
6. Manutenzione ed aggiornamento: gli strumenti APT
6.1. Compilazione del file sources.list
6.1.1. Sintassi
6.1.2. Repository per gli utenti di Stable
6.1.3. Repository per gli utenti di Testing/Unstable
6.1.4. Utilizza mirror alternativi
6.1.5. Risorse Non Ufficiali: mentors.debian.net
6.1.6. Proxy con cache per i pacchetti Debian
6.2. I Comandi aptitude, apt-get, e apt
6.2.1. Inizializzazione
6.2.2. Installazione e rimozione
6.2.3. Aggiornamento del sistema
6.2.4. Opzioni di configurazione
6.2.5. Gestire le priorità dei pacchetti
6.2.6. Lavorare con più distribuzioni
6.2.7. Tenere traccia dei pacchetti installati automaticamente
6.2.8. APT Pattern
6.3. Il comando apt-cache
6.3.1. Il comando apt-cache policy
6.4. Il comando apt-file
6.5. Frontend: aptitude, synaptic
6.5.1. aptitude
6.5.2. synaptic
6.6. Controllare l'autenticità dei pacchetti
6.7. Aggiornare da una distribuzione stabile alla successiva
6.7.1. Procedura raccomandata
6.7.2. Gestire i problemi dopo un aggiornamento
6.7.3. Pulizia dopo un aggiornamento
6.8. Mantenere un sistema sempre aggiornato
6.9. Aggiornamenti automatici
6.9.1. Configurare dpkg
6.9.2. Configurare APT
6.9.3. Configurare debconf
6.9.4. Gestire interazioni a riga di comando
6.9.5. La combinazione miracolosa
6.10. Ricercare pacchetti
7. Risoluzione dei problemi e reperimento delle principali informazioni
7.1. Fonti documentali
7.1.1. Pagine di manuale
7.1.2. Documenti info
7.1.3. Documentazione specifica
7.1.4. Siti web
7.1.5. Esercitazioni (HOWTO)
7.2. Procedure comuni
7.2.1. Configurare un programma
7.2.2. Monitorare l'attività dei demoni
7.2.3. Chiedere aiuto su una lista di posta
7.2.4. Segnalare un bug quando un problema è troppo difficile
8. Configurazione di base: rete, account, stampa, ...
8.1. Configurare il sistema per un'altra lingua
8.1.1. Impostare la Lingua Predefinita
8.1.2. Configurare la tastiera
8.1.3. Migrare ad UTF-8
8.2. Configurazione della rete
8.2.1. Interfaccia Ethernet
8.2.2. Interfaccia wireless
8.2.3. Connettersi con PPP attraverso un modem PSTN
8.2.4. Connessione attraverso un modem ADSL
8.2.5. Automatizzare la configurazione della rete per gli utenti in roaming
8.3. Impostare il nome host e configurare il servizio dei nomi
8.3.1. Risoluzione dei nomi
8.4. Database di utenti e gruppi
8.4.1. Lista utenti: /etc/passwd
8.4.2. Il file delle password nascoste e cifrate: /etc/shadow
8.4.3. Modificare un account o password esistente
8.4.4. Disabilitare un account
8.4.5. Lista dei gruppi: /etc/group
8.5. Creare account
8.6. Ambiente shell
8.7. Configurazione della stampante
8.8. Configurare il bootloader
8.8.1. Identificare i dischi
8.8.2. Configurazione di GRUB 2
8.8.3. Utilizzare GRUB con EFI e Secure Boot
8.9. Altre configurazioni: Sincronizzare l'orario, log, condivisione dell'accesso…
8.9.1. Fuso orario
8.9.2. Sincronizzazione del tempo
8.9.3. Ruotare i file di log
8.9.4. Condivisione dei privilegi di amministrazione
8.9.5. Lista dei punti di mount
8.9.6. locate e updatedb
8.10. Compilare un kernel
8.10.1. Introduzione e prerequisiti
8.10.2. Ottenere i sorgenti
8.10.3. Configurare il kernel
8.10.4. Compilazione e creazione del pacchetto
8.10.5. Compilare moduli esterni
8.10.6. Applicare una patch al kernel
8.11. Installare un kernel
8.11.1. Funzionalità di pacchetto kernel Debian
8.11.2. Installare con dpkg
9. Servizi Unix
9.1. Avvio del sistema
9.1.1. Il sistema di init systemd
9.1.2. Il sistema di init System V
9.2. Accesso remoto
9.2.1. Accesso remoto sicuro: SSH
9.2.2. Utilizzo di desktop remoti grafici
9.3. Gestione dei permessi
9.3.1. Proprietari e Permessi
9.3.2. ACL - Access Control List (lista di controllo degli accessi)
9.4. Interfacce di amministrazione
9.4.1. Browser-based Administration: cockpit
9.4.2. Amministrare tramite un'interfaccia Web: webmin
9.4.3. Configurazione dei pacchetti: debconf
9.5. syslog, eventi di sistema
9.5.1. Principi e meccanismi
9.5.2. Il file di configurazione
9.6. Il super-server inetd
9.7. Pianificare attività con cron e atd
9.7.1. Formato del file crontab
9.7.2. Utilizzo del comando at
9.8. Pianificazione di attività asincrone: anacron
9.9. Quote
9.10. Backup
9.10.1. Backup con rsync
9.10.2. Ripristino di macchine senza backup
9.11. Collegamento a caldo: hotplug
9.11.1. Premessa
9.11.2. Il problema dei nomi
9.11.3. Come funziona udev
9.11.4. Un esempio concreto
9.12. Gestione dell'energia: Advanced Configuration and Power Interface (ACPI)
10. Infrastruttura di rete
10.1. Gateway
10.2. Certificati X.509
10.2.1. Creazione di certificati attendibili gratuiti
10.2.2. Infrastruttura a chiave pubblica: easy-rsa
10.3. Rete privata virtuale (VPN)
10.3.1. OpenVPN
10.3.2. Rete privata virtuale con SSH
10.3.3. IPSec
10.3.4. PPTP
10.4. Qualità del servizio (QoS)
10.4.1. Principi e meccanismi
10.4.2. Configurazione ed implementazione
10.5. Instradamento dinamico
10.6. IPv6
10.6.1. Tunneling
10.7. Server dei nomi di dominio (DNS)
10.7.1. software DNS
10.7.2. Configurazione di bind
10.8. DHCP
10.8.1. Configurazione
10.8.2. DHCP e DNS
10.9. Strumenti di diagnosi di rete
10.9.1. Diagnosi locale: netstat
10.9.2. Diagnosi da remoto: nmap
10.9.3. Sniffer: tcpdump e wireshark
11. Servizi di rete: Postfix, Apache, NFS, Samba, Squid, LDAP, SIP, XMPP, TURN
11.1. Server di posta
11.1.1. Installare Postfix
11.1.2. Configurare i domini virtuali
11.1.3. Restrizioni per ricezione ed invio
11.1.4. Impostare il greylisting
11.1.5. Personalizzare i filtri in base al destinatario
11.1.6. Integrazione di un filtro antivirus
11.1.7. Combattere lo spam con SPF, DKIM e DMARC
11.1.8. SMTP autenticato
11.2. Server web (HTTP)
11.2.1. Installare Apache
11.2.2. Aggiungere il supporto per SSL
11.2.3. Configurare gli host virtuali
11.2.4. Direttive comuni
11.2.5. Analizzatori di log
11.3. Server di file FTP
11.4. Server di file NFS
11.4.1. Mettere in sicurezza NFS
11.4.2. Server NFS
11.4.3. Client NFS
11.5. Configurare condivisioni Windows con Samba
11.5.1. Server Samba
11.5.2. Client Samba
11.6. Proxy HTTP/FTP
11.6.1. Installazione
11.6.2. Configurare una cache
11.6.3. Configurare un filtro
11.7. Directory LDAP
11.7.1. Installazione
11.7.2. Riempire la directory
11.7.3. Gestire gli account con LDAP
11.8. Servizi di Comunicazione Real-Time
11.8.1. Impostazioni DNS per i servizi RTC
11.8.2. Server TURN
11.8.3. Proxy Server SIP
11.8.4. Server XMPP
11.8.5. Servizi in esecuzione sulla porta 443
11.8.6. Aggiungere WebRTC
12. Amministrazione avanzata
12.1. RAID e LVM
12.1.1. RAID software
12.1.2. LVM
12.1.3. RAID o LVM?
12.2. Virtualizzazione
12.2.1. Xen
12.2.2. LXC
12.2.3. Virtualizzazione con KVM
12.3. Installazione automatica
12.3.1. Fully Automatic Installer (FAI)
12.3.2. Preimpostare Debian-Installer
12.3.3. Simple-CDD: la soluzione completa
12.4. Monitoraggio
12.4.1. Impostazione di Munin
12.4.2. Impostazione di Nagios
13. Postazione di lavoro
13.1. Configurazione del server X11
13.2. Personalizzazione dell'interfaccia grafica
13.2.1. Scelta di un display manager
13.2.2. Scelta di un window manager
13.2.3. Gestione dei menu
13.3. Desktop grafici
13.3.1. GNOME
13.3.2. KDE e Plasma
13.3.3. Xfce e altri
13.3.4. Altri ambienti desktop
13.4. Posta elettronica
13.4.1. Evolution
13.4.2. KMail
13.4.3. Thunderbird
13.5. Browser web
13.6. Sviluppo
13.6.1. Strumenti per GTK+ su GNOME
13.6.2. Strumenti per Qt
13.7. Suite per l'ufficio
13.8. Emulazione di Windows: Wine
13.9. Software Comunicazioni Real-Time
14. Sicurezza
14.1. Definire la politica di sicurezza
14.2. Firewall o filtraggio dei pacchetti
14.2.1. Comportamento di nftables
14.2.2. Passare da iptables a nftables
14.2.3. Sintassi di nft
14.2.4. Installare le regole ad ogni avvio
14.3. Supervisione: prevenire, rilevare, dissuadere
14.3.1. Monitorare i log con logcheck
14.3.2. Attività di monitoraggio
14.3.3. Evitare intrusioni
14.3.4. Rilevare le modifiche
14.3.5. Rilevare intrusioni (IDS/NIDS)
14.4. Introduzione a AppArmor
14.4.1. Princìpi
14.4.2. Abilitazione di AppArmor e gestione dei profili di AppArmor
14.4.3. Creare un nuovo profilo
14.5. Introduzione a SELinux
14.5.1. Princìpi
14.5.2. Impostare SELinux
14.5.3. Gestire un sistema SELinux
14.5.4. Adattare le regole
14.6. Altre considerazioni relative alla sicurezza
14.6.1. Rischi intrinseci delle applicazioni web
14.6.2. Sapere cosa aspettarsi
14.6.3. Scegliere saggiamente il software
14.6.4. Gestire una macchina nel suo complesso
14.6.5. Agli utenti piace giocare
14.6.6. Sicurezza fisica
14.6.7. Responsabilità legale
14.7. Gestire una macchina compromessa
14.7.1. Rilevare ed esaminare l'intrusione di un cracker
14.7.2. Mettere off-line il server
14.7.3. Mantenere tutto ciò che può essere usato come prova
14.7.4. Re-installare
14.7.5. Analisi forensi
14.7.6. Ricostruire lo scenario dell'intrusione
15. Creazione di un pacchetto Debian
15.1. Rigenerare un pacchetto dai suoi sorgenti
15.1.1. Ottenere i sorgenti
15.1.2. Apportare modifiche
15.1.3. Iniziare la rigenerazione del pacchetto
15.2. Creare il primo pacchetto
15.2.1. Meta-pacchetti o pacchetti finti
15.2.2. Semplice file di archivio
15.3. Creazione di un repository di pacchetti per APT
15.4. Diventare un maintainer di pacchetti
15.4.1. Imparare a creare pacchetti
15.4.2. Processo di accettazione
16. Conclusione: Il futuro di Debian
16.1. Sviluppi futuri
16.2. Futuro di Debian
16.3. Futuro di questo libro
A. Distribuzioni derivate
A.1. Censimento e cooperazione
A.2. Ubuntu
A.3. Linux Mint
A.4. Knoppix
A.5. Aptosid e Siduction
A.6. Grml
A.7. Tails
A.8. Kali Linux
A.9. Devuan
A.10. DoudouLinux
A.11. Raspbian
A.12. PureOS
A.13. SteamOS
A.14. E molte altre
B. Breve corso di recupero
B.1. Shell e comandi di base
B.1.1. Esplorazione della struttura delle directory e gestione dei file
B.1.2. Visualizzazione e modifica di file di testo
B.1.3. Ricerca di file ed all'interno di file
B.1.4. Gestione dei processi
B.1.5. Informazioni di sistema: memoria, spazio su disco, identità
B.2. Organizzazione della gerarchia del file system
B.2.1. La directory root
B.2.2. Directory home dell'utente
B.3. Funzionamento interno di un computer: i diversi livelli coinvolti
B.3.1. Lo strato più profondo: l'hardware
B.3.2. Avvio: BIOS o UEFI
B.3.3. Il kernel
B.3.4. Lo spazio utente
B.4. Alcuni compiti gestiti dal kernel
B.4.1. Gestire l'hardware
B.4.2. File system
B.4.3. Funzioni Condivise
B.4.4. Gestione dei processi
B.4.5. Gestione dei Diritti
B.5. Lo spazio utente
B.5.1. Processo
B.5.2. Demoni
B.5.3. Comunicazioni tra Processi
B.5.4. Librerie