FAQ

Versione del 4 ago 2019 alle 12:33 di HAL 9000 (discussione | contributi) (revisione veloce, evidenziati i commenti nel sorgente (un po' troppi?))

Debian

Installazione

Dove è possibile scaricare Debian?

Debian è liberamente scaricabile.

Ecco come poterlo ottenere:

Queste immagini esistono per Debian stable, Debian testing e per versioni di Debian antecedenti la stable. Per queste ultime sono disponibili le immagini .iso per diverse architetture soltanto per l'ultima versione della oldstable, mentre per versioni ancora più datate non è possibile effettuare il download di una .iso ma solo ricorrere ad una installazione attraverso repository dedicati oppure crearsi l'immagine con Jigdo. Vedere a tal proposito:

  1. Archivi Debian
  2. http://cdimage.debian.org/cdimage/archive/

Per Debian unstable non esistono immagini .iso né è possibile la loro creazione con Jigdo. L'unica strada è un upgrade del sistema attraverso i repository a partire da una qualunque versione di Debian. Vedere:

  1. Installare Debian SID

Per una panoramica sui vari metodi di installazione vedere: Installare Debian.

Ho un processore a 64 bit, devo utilizzare l'immagine amd64 o ia64?

L'immagine ia64 è per macchine con processori Intel IA-64 "Itanium".
Per processori AMD o Intel a 64 bit, per processori AMD a 32 bit con tecnologia AMD64 e per processori Intel a 32 bit con tecnologia EM64T, l'immagine da utilizzare è la amd64.
Il nome, sebbene possa risultare fuorviante, viene mantenuto per motivi legati alla paternità della tecnologia originariamente introdotta da AMD.

Release

Quando viene rilasciata Debian 'stable'?

Ogni due anni.
La data precisa (giorno-mese), a differenza di altre distribuzioni, non è fissata in anticipo ma dipende dalla risoluzione di tutti i bug RC. Questo per avere una distribuzione quanto più sicura e stabile possibile.
Da qui la frase Release When Ready. Debian stable viene rilasciata quando è pronta.

A cosa servono le release successive di una versione Stable di Debian (ad esempio Lenny 5.0.3 o 5.0.4....)?

Le varie release successive di una Debian Stable sono dovute a degli aggiornamenti di sicurezza, bugfix, rimozione di pacchetti non più usabili, ecc.

Ecco alcuni esempi: Squeeze 6.0.1, Squeeze 6.0.2, Wheezy 7.3

Qual è la differenza tra stable e bookworm, oppure tra testing e trixie?

bookworm e trixie sono i codename con cui vengono individuate le attuali stable e testing. In pratica sono i nomi di due archivi che, in questo momento, sono le copie dei rispettivi archivi stable e testing. Al rilascio della nuova stable questa corrispondenza verrà modificata: "bookworm" sarà il codename per la oldstable, "trixie" sarà il codename per la stable mentre alla testing verrà assegnato un nuovo codename.

E quindi cosa devo utilizzare nel file sources.list?

Fino al rilascio della nuova stable, la scelta è indifferente.
Nel giorno del rilascio bisogna valutare:

  • Mantenere "bookworm" significherà passare alla oldstable (si avranno ancora aggiornamenti per un periodo di tempo abbastanza lungo)
  • Mantenere "trixie" significherà passare alla stable
  • Mantenere "stable" significherà continuare ad utilizzare la versione stabile di Debian (cambierà solo il codename da "bookworm" a "trixie")
  • Mantenere "testing" significherà continuare ad utilizzare la versione di testing di Debian (cambierà solo il codename da "trixie" ad un nuovo codename)

Come effettuo il passaggio da una versione all'altra?

Il passagio di versione (ad esempio oldstable->stable o stable->testing) avviene modificando il file /etc/apt/sources.list (leggere anche questo paragrafo) e poi, con i privilegi di amministrazione:

# apt update
# apt upgrade
# apt full-upgrade

È comunque consigliabile leggere le note di rilascio prima di procedere.

Repository

Cos'è un repository?

Un repository è un archivio di pacchetti .deb (quelli tipici Debian), che presenta una struttura ben definita, molto simile a quella che si trova all'interno di uno dei CD o dei DVD di installazione.

I pacchetti contenuti in un repository sono indicizzati in questi file:

  • Packages.gz (se sono pacchetti contenenti binari)
  • Sources.gz (se sono pacchetti contenenti codice sorgente)

Il comando

# apt update 

non fa altro che scaricare uno di questi file (a seconda che si sia scelto di avere la lista dei pacchetti binari o quella dei pacchetti sorgente) per ogni riga non commentata presente nel file /etc/apt/sources.list, così da avere disponibile sul proprio computer un elenco dei pacchetti contenuti nel repository indicato in quella riga.

Per approfondimenti vedere la sezione del Wiki: Gestione dei Pacchetti, ed in particolare la guida I repository ed il loro utilizzo.

Trovate i repository italiani ufficiali per le varie release di Debian qui. Invece in questa pagina trovate i repository non ufficiali di uso più comune. Una lista completa dei repository ufficiali (a livello mondiale) può essere trovata sul sito ufficiale Debian: http://www.debian.org/mirror/mirrors_full.

ftp.it.debian.org non raggiungibile

Nel caso comparisse questo messaggio nel momento in cui si cerca di aggiornare il sistema:

Impossibile iniziare la connessione a ftp.it.debian.org:80 (2001:1418:13:1::5). - connect (101: La rete non è raggiungibile) [IP: 2001:1418:13:1::5 80]
...
E: Impossibile scaricare alcuni file di indice: saranno ignorati o verranno usati quelli vecchi.

oppure:

W: Impossibile recuperare http://ftp.it.debian.org/debian/dists/codename/Release.gpg  Impossibile connettersi a ftp.it.debian.org:http:
W: Impossibile recuperare http://ftp.it.debian.org/debian/dists/codename/main/binary-i386/Packages  Impossibile connettersi a ftp.it.debian.org:http:
E: Impossibile scaricare alcuni file di indice: saranno ignorati o verranno usati quelli vecchi

è probabile che il mirror sia temporaneamente irraggiungibile. Si può risolvere aspettando che il problema venga risolto, oppure cambiando mirror. È anche possibile specificare più mirror della stessa suite in sources.list: in tal caso apt darà la priorità al mirror più in alto nella lista e, se questo fosse irraggiungibile, userà quello dopo.
Vedere anche questa pagina per controllare lo stato del proprio mirror.

A partire da Debian 10 (Buster) il mirror di default, a prescindere dalla propria zona geografica, è http://deb.debian.org/debian/, l'HTTP redirector. Utilizzarlo come proprio mirror risolverebbe buona parte di questi problemi.

Security

Come arrivano in testing gli aggiornamenti di sicurezza?

Gli aggiornamenti di sicurezza giungono nella distribuzione testing tramite unstable. Essi sono solitamente inviati con una priorità impostata ad high, il che ridurrà il loro tempo di quarantena a due giorni. Dopo questo periodo, i pacchetti migreranno in testing automaticamente, se compilati per tutte le architetture e con tutte le dipendenze soddisfatte in testing.

Come è gestita la sicurezza per contrib e non-free?

La risposta breve è: non lo è. Contrib e non-free non sono parti ufficiali della distribuzione Debian e per questo non sono supportate dal team sicurezza. Alcuni pacchetti non-free sono distribuiti senza sorgenti o senza una licenza che permetta la distribuzione di versioni modificate. E in quei casi sono completamente impossibili i fix di sicurezza. Se c'è la possibilità di risolvere il problema e il manutentore del pacchetto o qualcun altro fornisce un pacchetto correttamente aggiornato, allora di solito il team sicurezza lo processa e rilascia un advisory.

Per quanto tempo sono assicurati gli aggiornamenti di sicurezza?

Il team sicurezza cerca di supportare una distribuzione stable per circa un anno dal rilascio della successiva distribuzione stable, a meno che un'ulteriore distribuzione stable sia rilasciata nell'anno stesso. Non è possibile supportare tre distribuzioni; supportarne due contemporaneamente è già abbastanza difficile.

Java

Come posso installare Java su Debian, senza 'sporcare' il sistema?

Le soluzioni sono due:

  • scaricarlo da un repository non ufficiale che contenga pacchetti binari in formato .deb .
  • Crearsi da soli il pacchetto .deb seguendo questa guida

Come mai non è presente, in Debian, il Java di Oracle?

Debian, come spesso ricordato, fornisce una distribuzione libera al 100%. Quindi Java (quello di Oracle) non può venir incluso, visto che non è assolutamente considerabile FreeSoftware.
Nei repository vengono incluse delle alternative free, come ad esempio OpenJDK.

Come posso risolvere i problemi di dipendenze legati ai pacchetti dei programmi scritti in Java?

L'unico modo per risolvere questi 'fastidiosi' problemi è installare Java in formato .deb. Per fare questo ci sono due strade:

  • pacchettizzarlo da soli (tramite il comodo tool java-package, una guida è reperibile qui)
  • scaricandolo direttamente da un repository contenente Java.

Come posso abilitare il supporto a Java in Firefox?

Il plugin Java per il browser Firefox può essere installato a partire dai repository ufficiali di Debian, il suo nome è IcedTea.
Un'alternativa non-free, e utilizzabile nel caso si abbiano problemi con IcedTea, è il plugin proprietario scarivabile dal sito di Oracle. Leggere anche questa guida.

Kernel

Si può aggiornare il kernel a una versione successiva senza doverlo ricompilare?

Certamente! Con il comando

$ apt search linux-image

si ottiene una lista dei kernel precompilati disponibili per il download. Una volta individuata la versione voluta, è necessario scegliere quello adatto per il proprio processore (in caso di incertezze, scegliere quello generico i386) ed installarlo come se si trattasse di un normale pacchetto:

# apt install linux-image...

Dove posso reperire l'ultima versione disponibile del kernel?

L'ultima versione (kernel Vanilla) è prelevabile dal sito ufficiale in formato sorgente o, dopo poco tempo, in formato binario dal repository experimental di Debian.
Valutare con attenzione la necessità di installare un kernel recente (più nuovo non significa migliore) e, prima di prelevare il kernel da experimental, controllare che una versione più aggiornata non sia già presente nei backports.

Come installo il kernel da experimental?

Bisogna innanzitutto abilitare il repository experimental e aggiornare la lista dei pacchetti. Quindi è sufficiente un:

# apt -t experimental install linux-image[TAB]

questo esempio utilizza l'autocompletamento (tasto TAB).

Se utilizzate una stable, la procedura è fortemente sconsigliata in quanto il kernel di experimental potrebbe portare all'aggiornamento di numerosi pacchetti essenziali di sistema.

Si ricordi inoltre, essendo experimental un repository completamente disabilitato di default, che non si riceverà più alcun aggiornamento del kernel, nemmeno di sicurezza, se non eventualmente da altri repository (dovessero arrivarci in futuro versioni più recenti del kernel di quella installata). Perciò, quando su experimental arriverà una versione più recente, per installarla sarà necessario ripetere il comando precedente.

Mount/Filesystem

Ho problemi nel montare/smontare la mia pendrive USB, quale potrebbe essere la causa?

Prima di cercare soluzioni nel mare magnum di Internet, controllare che nel file /etc/fstab non sia presente una riga simile a questa:

/dev/sdb        /media/cdrom0   udf,iso9660 user,noauto     0       0

In questo caso basta commentarla (inserire un # all'inizio della riga) e riavviare il sistema.
Questo è il caso più comune se avete installato Debian partendo dal boot tramite pendrive; infatti il dispositivo USB potrebbe essere visto e trattato come un CD-ROM.

Come posso gestire automaticamente il mount di periferiche di mass storage USB?

I moderni DE quali GNOME e KDE gestiscono automaticamente le periferiche USB.


Come posso conoscere il numero di mount dopo cui viene effettuato il check del filesystem?

Supponendo di voler conoscere il valore relativo alla prima partizione del disco sda :

# dumpe2fs -h /dev/sda1
....
Maximum mount count: 30
....

Quindi il check da parte di fsck avverrà ogni trenta mount.

Come posso modificare questo valore?

Con il comando tune2fs :

# tune2fs -c 40 /dev/sda1

in questo modo il check avverrà ogni quaranta mount.

Come imposto il check per il prossimo avvio del sistema?

Facendo in modo che "Mount count" coincida con "Maximum mount count". Ad esempio:

# dumpe2fs -h /dev/sda1
...
Mount count: 18
Maximum mount count: 30
...

Quindi impostare il conteggio dei mount a "30":

# tune2fs -C 30 /dev/sda1

Al prossimo avvio del sistema avverrà il mount e il check per /dev/sda1

Posso riavviare subito e fare in modo che avvenga il check del filesystem?

Sì, con il comando:

# shutdown -F -r -h now

verrà immediatamente riavviato il sistema e fatto il check di tutte le partizioni con filesystem specificate in /etc/fstab .

Posso montare un disco interno senza usare /etc/fstab?

Certamente.
È sufficiente creare il file /etc/polkit-1/localauthority/50-local.d/99-mymountdisk.pkla contenente:

[Mount disco interno]
Identity=unix-user:pippo
Action=org.freedesktop.udisks2.filesystem-mount-system
ResultInactive=no
ResultActive=yes

con cui si concedono all'utente "pippo" i permessi di montare le periferiche "di sistema" (system devices) attraverso la regola "org.freedesktop.udisks2.filesystem-mount-system" specificata nel file /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy .
Per vedere quali sono queste periferiche, eseguire il comando:

$ udisksctl info --block-device /dev/sdb1 | grep HintSystem

con cui viene mostrato se il device "sdb1" è interessato dalla regola. In caso affermativo apparirà un:

    HintSystem:                 true

Shell

Perché, se aggiungo il mio utente ad un gruppo, le applicazioni non sembrano risentire della modifica?

Per 'applicare' il cambiamento effettuato alla lista dei gruppi in cui un utente è inserito è necessario effettuare una operazione di logout - login, per consentire il ricaricamento della lista.

Come posso modificare i 'locales'?

La localizzazione è modificabile col comando

# dpkg-reconfigure locales


Logging

Dove sono i file di log?

Nella directory /var/log/. Qui si trovano i file di log di sistema, del kernel, dei demoni, di dpkg, del sistema APT e, in generale di tutte le applicazioni che forniscono log sul loro funzionamento.

L'applicazione non fornisce log

Può essere dovuto a tre fattori:

  • L'applicazione non ha log da fornire
  • L'applicazione inserisce i suoi log in un'altra directory
  • L'applicazione ha un file di configurazione in cui esiste un'opzione per consentire un log completo

Leggere a tal proposito le manpage relative a ciascuna applicazione.

Come visualizzo i file di log?

Con un normale editor.
Questi file appartengono al gruppo adm per cui possono essere letti da root oppure da un normale utente ma solo se questo appartiene al gruppo 'adm'.

Come visualizzo i log di avvio del sistema?

Con il comando:

# dmesg

oppure leggendo il file /var/log/dmesg.
Per i log successivi a 'init' sarà necessario il pacchetto bootlogd . I suoi log saranno visualizzati nel file /var/log/boot .

Varie

Che cosa esprime il comando uptime?

Il comando Uptime, di cui viene riportato un classico output

$ uptime
 23:02:23 up 23 days, 23:25,  1 user,  load average: 0.57, 0.57, 0.83

rappresenta (nell'ordine):

  • Ora attuale (23:02:23)
  • Per quanto la macchina è stata accesa (up 23 days, 23:25); cioè il tempo passato dall'avvio o dall'ultimo reboot della macchina espresso in giorni, ore, minuti.
  • Il numero di utenti connessi (1 user)
  • Il carico della Macchina (load average: 0.57, 0.57, 0.83)

Il carico della macchina rappresenta i punti di carico degli ultimi 1, 5, 15 minuti.
Riporto una breve descrizione, tratta dal Corso di Linux di LOA Hacklab MI (reperibile nella sezione Docs del loro sito).

Un punto di carico equivale a dire che la CPU ha lavoro a sufficienza per riempire il suo naturale ciclo di calcolo della durata di un secondo. Per dirla in altro modo, nell’arco di un secondo la CPU non ha tempo di eseguire un NOP, ossia un’istruzione vuota, che non fa nulla, che viene abitualmente "eseguita” nelle pause di elaborazione.

Come posso cambiare l'editor testuale di default utilizzato in shell?

Il comando

# update-alternatives --config editor

consente di scegliere, da una lista di editor installati, quello che si vuole usare come default. Vedere anche questa guida.

Come posso cambiare il cursore di default?

# update-alternatives --config x-cursor-theme

consente di scegliere il cursore di default da utilizzare, ad esempio, nella finestra del desktop manager.

Come posso inserire caratteri con accenti particolari umlaut, angolare o tilde?

È possibile sfruttare alcune combinazioni di tasti nel seguente modo: digitare la sequenza illustrata, poi rilasciare i tasti (a video non apparirà niente) e poi digitare la lettere:

[AltGr + Shift + . ] + [aeiou] = äëïöü

[AltGr + Shift + ì ] + [aeiou] = âêîôû

[AltGr + Shift + 3 ] + [aioun] = ãĩõũñ

[AltGr + Shift + à] + [a] = å

Vale anche per le lettere maiuscole.

X

Schermo completamente nero: driver VESA

Nel caso la propria macchina mostri uno schermo nero all'avvio, al 99% questo è dovuto ad una mancanza dei driver video o ad un loro funzionamento errato (bug, mancanza di firmware, altro).
Qui verrà spiegato come impiegare un driver di base ("VESA" - funzionanti praticamente per ogni scheda video) per visualizzare correttamente l'ambiente grafico e poi, se non si ha particolare dimestichezza con il terminale, analizzare il proprio problema e trovare una soluzione per utilizzare i driver corretti.
Per caricare i driver "VESA", eseguire i seguenti passi:

  • Premere i tasti Ctrl+Alt+F1 per accedere a tty1
  • Eseguire il login come utente root
  • Creare il file /etc/X11/xorg.conf con:
    # touch /etc/X11/xorg.conf
  • Aprire il file appena creato con l'editor nano:
    # nano /etc/X11/xorg.conf
    e aggiungere le seguenti righe:
    Section "Device" 
     Identifier  "nomescheda" 
     Driver  "vesa" 
    EndSection
    Infine salvare il file premendo Ctrl+x . La parola "nomescheda" può essere scelta a proprio piacimento, purché contenuta tra virgolette.
  • Riavviare infine il server grafico o l'intera macchina con:
    # reboot

Come posso riavviare il server grafico?

Dipende dal Display Manager utilizzato. Per individuarlo:

$ cat /etc/X11/default-display-manager

quindi, in base a ciò che è stato visualizzato, eseguire come root:

# service kdm restart

oppure:

# service gdm3 restart

o:

# service xdm restart

o:

# service lightdm restart

o il comando equivalente per Display Manager non precedentemente elencati.

  Nota bene
Eseguire questi comandi solo da terminali diversi da tty7 (o tty8). Se ci si trova già in un ambiente grafico, utilizzare i comandi appositi che ogni Desktop Environment mette a disposizione.


Come posso modificare il login manager di default?

Per cambiare il proprio login manager di default, è necessario prima installare quello sostitutivo.

Facciamo un esempio con KDM (installato) e GDM (da installare).

1) Installiamo il nuovo Login Manager

# apt install gdm3

2) Durante l'installazione verrà chiesto quale Login Manager impostare come default. Scegliamo quello nuovo.

Nel caso si fosse già scaricato il login manager, è necessario eseguire:

# dpkg-reconfigure gdm3

(ovviamente sostituendo a GDM il nome del pacchetto del login manager). Questo comando farà apparire la stessa finestra apparsa durante l'installazione con apt-get. Da qui è possibile scegliere il login manager di default.


Come posso eseguire un programma a interfaccia grafica con i permessi di root?

Spesso si ha l'esigenza di eseguire un programma a interfaccia grafica con i permessi di root. Ad esempio eseguire un editor di testo per modificare un file di configurazione i cui permessi di scrittura sono riservati all'utente che amministra il sistema (root).
L'esecuzione del programma in questo modo:

$ sudo nomeprogramma

fallisce miseramente, purtroppo, con questo errore:

No protocol specified
nomeprogramma: cannot connect to X server :0

Questo errore è dovuto al fatto che il programma sta cercando di accedere al server grafico dell'utente ma non ha i necessari permessi per farlo. Infatti, senza adeguata configurazione, l'accesso al server X di un utente è negato a tutti gli altri utenti, compreso l'utente root. Il modo corretto per ottenere il risultato voluto è:

  • KDE

Da emulatore di terminale:

$ /usr/lib/kde4/libexec/kdesu nomeprogramma

O, più semplicemente, premere la combinazione di tasti Alt+F2 e inserire il comando:

kdesu nomeprogramma
  • GNOME
$ gksu nomeprogramma

KDE

Kmix mostra il volume azzerato al riavvio

È dovuto alla mancanza del pacchetto "alsa-utils":

# apt install alsa-utils

Come mai non riesco ad avviare kppp anche se è installato?

Kppp, accedendo ad una componente 'critica' come una porta seriale, per poter essere eseguito da un utente normale, richiede che questo utente appartenga a due gruppi: dialout e dip. Per fare ciò è sufficiente usare i seguenti comandi:

# adduser nomeutente dip
# adduser nomeutente dialout

ed effettuare un logout - login per l'aggiornamento dei permessi.

L'avvio di KDM risulta essere lento, come fare per sistemarlo?

Normalmente sembra essere un fatto legato alla cache dei font: con un:

# fc-cache

dovrebbe tornare tutto a posto.