FAQ: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (→‎Generale: aggiunta faq relativa alla rotella del mouse)
 
(102 versioni intermedie di 7 utenti non mostrate)
Riga 1: Riga 1:
La creazione di un repository Debian personale pu� essere utile nel caso si vogliano rendere disponibili per l' installazione tramite l' [[Introduzione all' Apt System|APT System]] i pacchetti *.deb creati da noi. Il repository cos� creato pu� essere utilizzato all' interno della nostra LAN, oppure reso accessibile a un gran numero di utenti tramite internet.
==Debian==
===Installazione===
==== Dove è possibile scaricare Debian? ====
Debian è liberamente scaricabile.


Esistono fondamentalmente due diversi approcci alla creazione di un repository:  
Ecco come poterlo ottenere:
* '''Repository Automatico''': ha una struttura complessa, gestisce un pool di pacchetti e supporta architetture (i386, sparc, ecc...) multiple. A fronte di un maggior lavoro lato server permette un uso altamente automatizzato lato client;
* '''Repository Semplice''': gestisce una sola architettura. E' il pi� indicato per i piccoli repository, specie quelli personali, perch� richiede un minor lavoro lato-server.


In questa guida vedremo come realizzare il secondo tipo di repository.
* [http://www.debian.org/distrib/cd Scaricando le ISO dei CD o dei DVD] attraverso HTTP, [[Jigdo]] o BitTorrent.<br/>
<blockquote>
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 [[architettura|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:
# [[Archivi Debian]]
# http://cdimage.debian.org/cdimage/archive/


=Repository semplice=
Per Debian [[unstable]], data la velocità con cui vengono aggiornati i pacchetti, non esistono immagini .iso complete né è possibile la loro creazione con Jigdo. Per installare Debian Sid sul proprio sistema è pertanto necessario effettuare un upgrade partendo da Debian ''stable'' o ''testing'' oppure utilizzare un'immagine ''mini.iso''. Vedere:
==La Struttura==
# [[Installare Debian SID]]
Per prima cosa dovremo scegliere dove risieder� fisicamente il nostro repository. Una buona scelta pu� essere una directory all' interno della nostra home, come anche una directory all' interno di /usr/share. In questa guida creeremo il repository nella nostra home, ma sentitevi liberi di posizionarlo dove pi� vi aggrada.
</blockquote>
 
* [http://www.debian.org/CD/vendors/index.it.html Acquistandole via Internet]
 
''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".<br/>
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''.<br/>
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.<br/>
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.<br/>
Da qui la frase ''[http://wiki.debian.org/ReleaseWhenReady 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 {{Codename|stable}}, oppure tra testing e {{Codename|testing}}? ====
[[{{Codename|Stable}}]] e [[{{Codename|Testing}}]] sono i [[codename]] con cui vengono individuate le <u>attuali</u> [[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: '''{{Codename|stable}}''' sarà il codename per la [[oldstable]], '''{{Codename|testing}}''' 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.<br/>
Nel giorno del rilascio bisogna valutare:
* Mantenere "{{Codename|stable}}" significherà passare alla ''oldstable'' (si avranno ancora aggiornamenti per un periodo di tempo abbastanza lungo)
* Mantenere "{{Codename|testing}}" significherà passare alla ''stable''
* Mantenere "stable" significherà continuare ad utilizzare la versione ''stable'' di Debian (cambierà solo il codename da "{{Codename|stable}}" a "{{Codename|testing}}")
* Mantenere "testing" significherà continuare ad utilizzare la versione di ''testing'' di Debian (cambierà solo il codename da "{{Codename|testing}}" ad un nuovo codename)
 
Per una ''stable'' è preferible utilizzare il ''codename'' (ossia '''{{Codename|stable}}''' attualmente), in modo che il successivo passaggio di versione avvenga solo quando si è pronti e non in automatico. E mentre si aspetta a effettuarlo, si potrà ancora godere di 1 anno di aggiornamenti di sicurezza.
 
==== Come effettuo il passaggio da una versione all'altra? ====
Il passagio di versione (ad esempio oldstable->stable o stable->testing) avviene modificando il file <code>/etc/apt/sources.list</code> (leggere anche [[I repository ed il loro utilizzo#Altre modifiche ai repository|questo paragrafo]]) e poi, con i [[privilegi di amministrazione]]:
<pre>
# apt update
# apt upgrade
# apt full-upgrade
</pre>
 
È comunque consigliabile leggere le [https://www.debian.org/releases/stable/amd64/release-notes/index.it.html 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
<pre>
# apt update
</pre>
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 <code>/etc/apt/sources.list</code>, 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: [[Indice_Guide#Gestione_dei_Pacchetti | 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 [[Repository ufficiali|qui]]. Invece in [[Repository non ufficiali|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:
<pre>
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.
</pre>
oppure:
<pre>
<pre>
$ mkdir ~/debian
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
</pre>
</pre>
Ora dobbiamo creare le due sottodirectory ''binary'' e ''source'' che conterranno rispettivamente le versioni binarie e sorgenti dei nostri pacchetti:
è 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 <code>sources.list</code>: in tal caso <code>apt</code> darà la priorità al mirror più in alto nella lista e, se questo fosse irraggiungibile, userà quello dopo.<br/>
Vedere anche [http://mirror.debian.org/status.html 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, è <code>{{APT-mirror|redirector}}</code>, 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 [[architettura|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 [[Make-jpkg: Pacchettizziamo Java | 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.<br/>
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 [[Make-jpkg: Pacchettizziamo Java | 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 è [http://packages.debian.org/stable/icedtea-plugin IcedTea].<br/>
Un'alternativa non-free, e utilizzabile nel caso si abbiano problemi con IcedTea, è il plugin proprietario scarivabile dal sito di Oracle. Leggere anche [[Oracle Java plugin | questa guida]].
 
== Kernel ==
=== Si può aggiornare il kernel a una versione successiva senza doverlo ricompilare? ===
Certamente!
Con il comando
<pre>
<pre>
$ mkdir ~/debian/binary
$ apt search linux-image
$ mkdir ~/debian/source
</pre>
</pre>
In questo modo avremo una struttura di questo tipo:
si ottiene una lista dei kernel precompilati disponibili per il download.
<pre>$ tree debian
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:
debian
<pre>
|-- binary
# apt install linux-image...
`-- sources
</pre>
</pre>


==I file di indice==
=== Dove posso reperire l'ultima versione disponibile del kernel? ===
Ultimata la creazione della struttura del repository e popolati binary e source (se abbiamo anche le versioni sorgenti) con i nostri pacchetti, dobbiamo creare i relativi file di indice. Questi file vengono scaricati da APT quando impartiamo il comando '''apt-get update''' e contengono la lista di tutti i pacchetti presenti in un repository. Quando effettuiamo la ricerca di un pacchetto o quando desideriamo installarlo, APT consulta questi file per stabilire in quale repository esso � contenuto.
L'ultima versione ([[kernel vanilla|kernel Vanilla]]) è prelevabile dal [http://www.kernel.org sito ufficiale] in formato sorgente o, dopo poco tempo, in formato binario dal [[repository]] experimental di Debian.<br/>
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 [[Il repository Backports|backports]].
 
=== Come installo il kernel da experimental? ===
Bisogna innanzitutto abilitare il [[repository]] experimental e aggiornare la lista dei pacchetti. Quindi è sufficiente un:
<pre># apt -t experimental install linux-image[TAB]</pre>
questo esempio utilizza l'[[Come_abilitare_il_completamento_automatico_'avanzato'|autocompletamento]] (tasto TAB).<br/>
 
Se utilizzate una [[stable]], la procedura è fortemente sconsigliata in quanto il kernel di experimental potrebbe portare all'aggiornamento di numerosi pacchetti essenziali di sistema.


La creazione dei file di indice � ottenuta tramite due utilities: '''dpkg-scanpackages''' e '''dpkg-scansources'''. Il funzionamento dei due programmi � identico, ma il primo esamina i file binari ed il secondo quelli sorgenti.
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.


Entrambi gli strumenti restituiscono i loro risultati sullo standard output (stdout): questo significa che di default vedremo l' output a schermo. Per questo motivo � necessario reindirizzare il risultato di scanpackages e scansources su file appositi. Per convenzione questi file sono compressi in formato gzip e chiamati '''Packages.gz''' all' interno di ''binary'' e '''Sources.gz''' all' interno di ''source''.
<!-- * PARTE COMMENTATA *


Nell' esempio di questa guida il nostro repository contiene due pacchetti di tipo binario (apt e apt-best) ed un pacchetto di tipo sorgente (apt). Vedremo ora come creare i relativi file Packages.gz e Sources.gz
== Audio ==
=== Il volume è al minimo a ogni riavvio. Come salvo le impostazioni? ===
{{Warningbox|<code>alsaconf</code> è stato rimosso da alsa-utils a partire dalla versione 1.0.17}}


La struttura del repository di esempio � questa:
Per configurare la scheda audio si usa il comando alsaconf:
<pre>
<pre>
$ tree debian
# alsaconf
debian
|-- binary
|  |-- apt-best-0.3.deb
|  |-- apt-doc_0.5.28.6_all.deb
|  |-- apt-utils_0.5.28.6_i386.deb
|  |-- apt_0.5.28.6_i386.deb
|  |-- libapt-pkg-dev_0.5.28.6_i386.deb
|  `-- libapt-pkg-doc_0.5.28.6_all.deb
`-- source
    |-- apt_0.5.28.6.dsc
    `-- apt_0.5.28.6.tar.gz
</pre>
</pre>
Procediamo con la creazione del file Packages.gz:
Se il comando non viene trovato, significa che dobbiamo installare le alsa-utils:
<pre>
<pre>
$ cd ~/debian
# apt install alsa-utils
$ dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
  apt apt-best apt-doc apt-utils libapt-pkg-dev libapt-pkg-doc
Wrote 6 entries to output Packages file.
$ ls ~/debian/binary/ |grep Packages
Packages.gz
</pre>
</pre>
e del file Sources.gz
Il tool alsaconf rileva automaticamente la scheda audio e imposta il sistema per il suo utilizzo. Se al riavvio le impostazioni del volume vengono sempre riportate al minimo, dobbiamo forzare il salvataggio delle impostazioni:
<pre>
<pre>
$ cd ~/debian
# alsaconf
$ dpkg-scansources source /dev/null | gzip -9c > source/Sources.gz
# alsamixer
$ ls ~/debian/source/ |grep Sources
# alsactl store
Sources.gz
</pre>
con alsamixer impostiamo i livelli del volume, con 'alsactl store' salviamo le impostazioni.
 
* FINE PARTE COMMENTATA * -->
== 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 <code>/etc/fstab</code> non sia presente una riga simile a questa:
<pre>/dev/sdb        /media/cdrom0  udf,iso9660 user,noauto    0      0</pre>
In questo caso basta commentarla (inserire un # all'inizio della riga) e riavviare il sistema.<br/>
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 [[Desktop Environment|DE]] quali GNOME e KDE gestiscono automaticamente le periferiche USB.
 
<!-- * PARTE COMMENTATA * Motivo: usbmount non più presente in stable (Debian 10)
 
Negli altri casi si può utilizzare UsbMount (http://usbmount.alioth.debian.org/) che gestisce in modo trasparente e userfriendly il mount di periferiche di storage USB.
 
(una guida è disponibile [[UsbMount: Gestione automatizzata delle periferiche USB di memorizzazione|qui]])
* FINE PARTE COMMENTATA * -->
 
=== 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 <code>sda</code> :
<pre># dumpe2fs -h /dev/sda1
....
Maximum mount count: 30
....
</pre>
</pre>
Quindi il check da parte di <code>fsck</code> avverrà ogni trenta mount.


==I file di Release==
=== Come posso modificare questo valore? ===
Se volete poter usare il pinning (''cfr.: [[APT uso avanzato: mixare releases diverse]]'') o permetterne l' uso agli utenti del vostro repository, una volta creati i file Packages.gz e Sources.gz, dovete necessariamente creare un file apposito in ciascuna directory del vostro repository.
Con il comando <code>tune2fs</code> :
<pre># tune2fs -c 40 /dev/sda1</pre>
in questo modo il check avverrà ogni quaranta mount.


Questi file sono chiamati file '''Release''', sono normali file di testo ed hanno una struttura del tipo:
=== Come imposto il check per il prossimo avvio del sistema? ===
Facendo in modo che "Mount count" coincida con "Maximum mount count". Ad esempio:
<pre>
# dumpe2fs -h /dev/sda1
...
Mount count: 18
Maximum mount count: 30
...
</pre>
Quindi impostare il conteggio dei mount a "30":
<pre>
<pre>
Archive: archivio
# tune2fs -C 30 /dev/sda1
Component: componente
Origin: origine
Label: etichetta
Architecture: architettura
</pre>
</pre>
dove:
Al prossimo avvio del sistema avverrà il mount e il check per <code>/dev/sda1</code>
* archivio = ''� l' archivio Debian a cui i pacchetti appartengono (ad es.: stable, testing. ecc...);
 
* componente = ''indica il tipo di componente (ad es.: main, contrib, non-free);
=== Posso riavviare subito e fare in modo che avvenga il check del filesystem? ===
* origine = ''specifica il proprietario del repository'';
Sì, con il comando:
* etichetta = ''identifica il repository: potete inserire descrizioni, ecc...;
<pre># shutdown -F -r -h now</pre>
* architettura = ''l' architettura dei pacchetti contenuti nel repository (ad es.: i386, sparc, source, ecc...).
verrà immediatamente riavviato il sistema e fatto il check di tutte le partizioni con filesystem specificate in <code>/etc/fstab</code> .
Vediamo i file Release per i repository di questa guida.


Per l' archivio ''binary'' abbiamo:
=== Posso montare un disco interno senza usare <code>/etc/fstab</code>? ===
Certamente.<br/>
È sufficiente creare il file <code>/etc/polkit-1/localauthority/50-local.d/99-mymountdisk.pkla</code> contenente:
<pre>
<pre>
$ cat ~/debian/binary/Release
[Mount disco interno]
Archive: unstable
Identity=unix-user:pippo
Component: main
Action=org.freedesktop.udisks2.filesystem-mount-system
Origin: keltik
ResultInactive=no
Label: Repository di esempio
ResultActive=yes
Architecture: i386
</pre>
</pre>
e per quello ''source'':
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 <code>/usr/share/polkit-1/actions/org.freedesktop.udisks2.policy</code> .<br/>
Per vedere quali sono queste periferiche, eseguire il comando:
<pre>
<pre>
$ cat ~/debian/source/Release
$ udisksctl info --block-device /dev/sdb1 | grep HintSystem
Archive: unstable
</pre>
Component: main
con cui viene mostrato se il device "sdb1" è interessato dalla regola. In caso affermativo apparirà un:
Origin: keltik
<pre>
Label: Repository di esempio
    HintSystem:                 true
Architecture: source
</pre>
</pre>


==Uso del repository==
== Shell ==
===Uso in locale===
=== Perché, se aggiungo il mio utente ad un gruppo, le applicazioni non sembrano risentire della modifica? ===
Finalmente � venuto il momento di mettere alla prova il nostro repository.
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.


Gi� fin d' ora possiamo utilizzarlo cos� com' � in locale sulla nostra macchina: tutto quello che dobbiamo fare consiste nell' aggiungere al nostro file /etc/apt/sources.list l' [[URI]] attraverso il quale reperire i pacchetti.
=== Come posso modificare i 'locales'? ===
La localizzazione è modificabile col comando
<pre>
# dpkg-reconfigure locales
</pre>


In questo esempio abbiamo creato il repository nella directory ~/debian e cio� nella directory ''debian'' all' interno della nostra home. Dovremo quindi aggiungere al file sources.list due linee cos� composte:  
<!-- * PARTE COMMENTATA *
Se si vogliono maggiori opzioni (ed una configurazione un po' più dettagliata) è possibile utilizzare ''localeconf'':
<pre>
<pre>
deb file:///home/utente/debian binary/
# apt install localeconf
deb-src file:///home/utente/debian source/
</pre>
</pre>
dove, alla parola ''utente'' dovete sostituire lo username dell' utente nella cui home risiede il repository.
-->
 
== Logging ==
=== Dove sono i file di log? ===
Nella directory <code>/var/log/</code>. Qui si trovano i file di log di sistema, del kernel, dei demoni, di <code>dpkg</code>, del sistema APT e, in generale di tutte le applicazioni che forniscono log sul loro funzionamento.<br/>
 
=== 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.<br/>
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'.


Una volta fatto questo lanciate '''apt-get update''' per rigenerare la lista degli indici di APT.
=== Come visualizzo i log di avvio del sistema? ===
Con il comando:
<pre># dmesg
</pre>
oppure leggendo il file <code>/var/log/dmesg</code>.<br/>
Per i log successivi a 'init' sarà necessario il pacchetto <code>bootlogd</code> . I suoi log saranno visualizzati nel file <code>/var/log/boot</code> .


Ora vediamo se il nostro repository funziona. Iniziamo con il cercare il pacchetto '''apt'''. Il comando da impartire �:
== Varie ==
=== Che cosa esprime il comando uptime? ===
Il comando Uptime, di cui viene riportato un classico output
<pre>
<pre>
$ apt-cache show apt
$ uptime
23:02:23 up 23 days, 23:25,  1 user,  load average: 0.57, 0.57, 0.83
</pre>
</pre>
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)


Se tutto ha funzionato dovremmo ottenere come risultato due diversi pacchetti: entrambi si chiamano apt, entrambi hanno numero di versione 0.5.28.6, ecc... Per capire se e quale proviene dal nostro repository dobbiamo andare a controllare la voce ''Filename:'''.
Il carico della macchina rappresenta i punti di carico degli ultimi 1, 5, 15 minuti.<br/>
Riporto una breve descrizione, tratta dal [http://autistici.org/loa/web/main.html Corso di Linux di LOA Hacklab MI ](reperibile nella sezione Docs del loro sito).


Nel caso del pacchetto proveniente dal repository ufficiale di Debian avremo:
<blockquote>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.</blockquote>
 
=== Come posso cambiare l'editor testuale di default utilizzato in shell? ===
Il comando
<pre>
<pre>
[ ... omissis ...]
# update-alternatives --config editor
Filename: pool/main/a/apt/apt_0.5.28.6_i386.deb
[ ... omissis ...]
</pre>
</pre>
mentre per il pacchetto proveniente dal nostro repository avremo:
consente di scegliere, da una lista di editor installati, quello che si vuole usare come default. Vedere anche [[Impostare l'editor predefinito della shell|questa]] guida.
 
=== Come posso cambiare il cursore di default? ===
<pre>
<pre>
[ ... omissis ...]
# update-alternatives --config x-cursor-theme
Filename: binary/apt_0.5.28.6_i386.deb
[ ... omissis ...]
</pre>
</pre>
consente di scegliere il cursore di default da utilizzare, ad esempio, nella finestra del desktop manager.


Per fare in modo che il nostro repository sia usato come preferenziale rispetto agli altri possiamo inserire nel sources.list le linee ad esso relativo all' inizio del file, prima di tutti gli altri repositories.
=== 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:


In questo modo, quando impartire il comando '''apt-get install nome_pacchetto''', APT provveder� ad installare quello fornito dal repository elencato per primo nel sources.list. Ecco l' esempio sempre relativo ad apt:
[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).<br/>
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.<br/>
Per caricare i driver "VESA", eseguire i seguenti passi:
* Premere i tasti Ctrl+Alt+F1 per accedere a <code>tty1</code>
* Eseguire il login come utente [[root]]
* Creare il file <code>/etc/X11/xorg.conf</code> con:<pre># touch /etc/X11/xorg.conf</pre>
* Aprire il file appena creato con l'editor [[nano]]:<pre># nano /etc/X11/xorg.conf</pre> e aggiungere le seguenti righe:<pre>Section "Device" &#10; Identifier  "nomescheda" &#10; Driver  "vesa" &#10;EndSection</pre>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:<pre># reboot</pre>
 
=== Come posso riavviare il server grafico? ===
Dipende dal Display Manager utilizzato. Per individuarlo:
<pre>
$ cat /etc/X11/default-display-manager
</pre>
quindi, in base a ciò che è stato visualizzato, eseguire come root:
<pre>
# service kdm restart
</pre>
oppure:
<pre>
# service gdm3 restart
</pre>
o:
<pre>
# service xdm restart
</pre>
o:
<pre>
# service lightdm restart
</pre>
o il comando equivalente per Display Manager non precedentemente elencati.
{{Box|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
<pre>
<pre>
# apt-get install apt -s
# apt install gdm3
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso... Fatto
Pacchetti suggeriti:
  aptitude apt-doc
I seguenti pacchetti saranno aggiornati:
  apt
1 aggiornati, 0 installati, 0 da rimuovere e 1 non aggiornati.
Inst apt [0.5.28.6] (0.5.28.6 Repository di esempio:unstable)
Conf apt (0.5.28.6 Repository di esempio:unstable)
</pre>
</pre>
Nelle ultime due linee possiamo notare come la provenienza del pacchetto sia '''Repository di esempio:unstable''' come indicato nel nostro file '''Release'''.


===Uso in rete (http)===
2) Durante l'installazione verrà chiesto quale Login Manager impostare come default. Scegliamo quello nuovo.
rendere disponibile in rete il repository che abbiamo appena creato � un' operazione estremamente semplice. Non dovremo fare altro che copiare la root del repository in una directory accessibile al nostro server web ed indicare l' [[URI]] corretto nei sources.list delle macchine che dovranno accedere ad esso.


Nel caso in cui stiamo usando Apache e la DocumentRoot sia /var/www sar� sufficiente impartire:
Nel caso si fosse già scaricato il login manager, è necessario eseguire:
<pre>
<pre>
# cp -R /home/utente/debian/ /var/www/
# dpkg-reconfigure gdm3
</pre>
</pre>
(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.


Ora dobbiamo modificare i sources.list in modo che puntino a questo repository.
<!-- * PARTE COMMENTATA *


Poniamo che il server che mette a disposizione il repositry abbia il [[FQDN]] debian.prova.net. La sintassi da utilizzare nel sources.list � la seguente:
* ATTENZIONE: Diverse sezioni riguardanti Xorg sono commentate *
 
==== Come posso riconfigurare il server X? ====
Debian offre un comodo comando per fare questo:
<pre>
<pre>
deb http://debian.prova.net/debian/ binary/
# dpkg-reconfigure xserver-xfree86
deb-src http://debian.prova.net/debian/ source/
</pre>
</pre>
Dobbiamo fare '''estrema''' attenzione ai slash ("/") perch� hanno un uso preciso all' interno di sources.list. Nel nostro caso � '''necessario''' che sia l' URL (http://debian.prova.net/debian) sia l' archivio (binary o source) sia terminato con un "/", altrimenti otterremo un errore di questo tipo:
Così facendo, si accederà alla stessa procedura guidata che viene mostrata durante l'installazione del pacchetto.
 
Altrimenti sono sempre disponibili i comandi standard:
<pre>
<pre>
# apt-get update
# xf86config
E: La linea x in /etc/apt/sources.list (dist parse) non � corretta
</pre>
</pre>
Se abbiamo invece scritto correttamente, quando lanceremo apt-get update, vedremo APT dialogare con il nostro web server e reperire l' elenco dei nostri pacchetti:
per una configurazione testuale
 
<pre>
<pre>
# apt-get update
# xf86cfg
Get:1 http://debian.prova.net binary/ Packages [1377B]
Get:2 http://debian.prova.net binary/ Release [97B]
Get:3 http://debian.prova.net source/ Sources [412B]
Get:4 http://debian.prova.net source/ Release [100B]
</pre>
</pre>
Per il test e l' ordine con cui i pacchetti vengono installati da APT, vi rimando alla lettura del [[#Uso_in_locale|paragrafo precedente]]
per una configurazione grafica con l'autorilevamento dell'hardware
 
''Vedere anche: [[Configurare il server X in Debian GNU/Linux]]''
 
====Aggiungere il supporto per la rotella del mouse====
Modificare il file <code>/etc/X11/XF86Config</code> (o <code>/etc/X11/XF86Config-4</code> o <code>/etc/X11/xorg.conf</code>), nella sezione riguardante il mouse.
 
Pre prima cosa bisogna modificare il driver del mouse, che deve diventare:<pre>
Option "Driver" "imPS/2"</pre>
questo permette di avere un driver supportante la rotella ;-)
 
Per attivarla, si aggiunga nella sezione del mouse la seguente riga:
<pre>
Option "ZAxisMapping" "4 5"</pre>
 
==== Migrazione Xorg6.9 -> Xorg 7: User is not authorized to start X server ====
 
Se avete questo messaggio di errore cercando di lanciare il server X da utente normale dopo l'aggiornamento a Xorg 7, basterà riconfigurare il pacchetto <code>x11-common</code> per risolvere:
 
# dpkg-reconfigure x11-common
 
Queste ed altri problemi legati alla migrazione sono discussi in dettaglio nel wiki di Debian:
 
* [http://wiki.debian.org/Xorg69To7 Debian Wiki: Xorg69To7]
 
* FINE PARTE COMMENTATA * -->
 
=== 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).<br/>
L'esecuzione del programma in questo modo:
<pre>
$ sudo nomeprogramma
</pre>
fallisce miseramente, purtroppo, con questo errore:
<pre>
No protocol specified
nomeprogramma: cannot connect to X server :0
</pre>
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
<blockquote>Da emulatore di terminale:
<pre>$ /usr/lib/kde4/libexec/kdesu nomeprogramma</pre>
 
O, più semplicemente, premere la combinazione di tasti Alt+F2 e inserire il comando:
<pre>kdesu nomeprogramma</pre>
</blockquote>
 
* GNOME
<blockquote><pre>$ gksu nomeprogramma</pre>
</blockquote>
 
== KDE ==
=== Kmix mostra il volume azzerato al riavvio ===
È dovuto alla mancanza del pacchetto "alsa-utils":
<pre>
# apt install alsa-utils
</pre>
 
=== 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:
<pre>
# adduser nomeutente dip
# adduser nomeutente dialout
</pre>
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:
<pre>
# fc-cache
</pre>
dovrebbe tornare tutto a posto.
 
<!-- * PARTE COMMENTATA *
 
==== Come posso avere più display utilizzabili contemporaneamente? ===
Per display si intendono le 'sessioni di X eseguite in contemporanea'!
In pratica, si può configurare KDM in modo da rendere possibile l'avvio di più sessioni grafiche (utili nel caso in cui più utenti lavorino sulla stessa macchina, ed uno di questi non possa chiudere la propria sessione).
 
È sufficiente modificare il file:
<code>'''/etc/kde3/kdm/Xservers'''</code>
Decommentando una (o più) delle righe:
 
<pre>
:1 local@tty2 reserve /usr/X11R6/bin/X -nolisten tcp :1
:2 local@tty3 reserve /usr/X11R6/bin/X -nolisten tcp :2
:3 local@tty4 reserve /usr/X11R6/bin/X -nolisten tcp :3
:4 local@tty5 reserve /usr/X11R6/bin/X -nolisten tcp :4
</pre>
 
Apparirà, dopo il riavvio di X, un pulsante che permette l'avvio di una nuova sessione grafica!


* FINE PARTE COMMENTATA * -->


----
[[Categoria:Wiki]]
--[[Utente:Keltik|Keltik]] 09:20, Giu 26, 2005 (EDT)

Versione attuale delle 18:21, 2 gen 2021

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, data la velocità con cui vengono aggiornati i pacchetti, non esistono immagini .iso complete né è possibile la loro creazione con Jigdo. Per installare Debian Sid sul proprio sistema è pertanto necessario effettuare un upgrade partendo da Debian stable o testing oppure utilizzare un'immagine mini.iso. 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 stable 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)

Per una stable è preferible utilizzare il codename (ossia bookworm attualmente), in modo che il successivo passaggio di versione avvenga solo quando si è pronti e non in automatico. E mentre si aspetta a effettuarlo, si potrà ancora godere di 1 anno di aggiornamenti di sicurezza.

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.

Info.png 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.