Debian Mini Guida

Una guida DebIan in italiano, alcuni appunti e suggerimenti che
possono tornare utili per chi è all'inizio. Puoi trovarne altri su
Gnu/Linux/MiniGuida.

Link interessanti

* http://qref.sourceforge.net/Debian/reference/reference.it.html

* http://www.debian-administration.org/

* http://deb.riseup.net

.. contents::

Gestione pacchetti / configurazione
-----------------------------------

Cercare il nome del pacchetto che contiene un determinato file
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

la via piu' semplice è utilizzare apt-file::

apt-get install apt-file

apt-file update

apt-file search nomefiledacercare

oppure::

dpkg -S nomefile

dlocate -S nomefile (dlocate è una variante veloce di dpkg, per quanto riguarda le ricerche)

apt-cache search file

/var/lib/dpkg/info/nomepacchetto.*

Fonte inesauribile di informazioni è http://packages.debian.org

Riconfigurare un pacchetto
^^^^^^^^^^^^^^^^^^^^^^^^^^
::

dpkg-reconfigure nomepacchetto
dpkg-reconfigure -plow pacchetto

se ci sono problemi negli script guardare in `/var/lib/dpkg/info/nomepacchetto.*`

Riconfigurare alcune impostazioni
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

configure-debian (si appoggia a debconf)

Reinstallare ex novo un pacchetto
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

apt-get --reinstall install nomepacchetto

Salvare/reimpostare l'elenco dei pacchetti installati
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

dpkg --get-selections > ''nomefile.txt''

dpkg --set-selections < ''nomefile.txt''

Allargare le colonne di dpkg -l
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

export COLUMNS=200; dpkg -l

Scompattare un deb senza installarlo
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

apt-get install --download-only your_pkg.deb
dpkg -x /var/cache/apt/archives/your_pkg.deb your_directory

oppure::

ar p file.deb data.tar.gz |tar -zx

Errore di status
^^^^^^^^^^^^^^^^

Ricevendo questo errore::

Reading Package Lists... Error!
E: Unable to parse package file /var/lib/dpkg/status (1)
E: The package lists or status file could not be parsed or opened.

si può ripristinare la versione precedente di status (status_old) che si trova nella stessa directory

Gestione dei pacchetti in GNOME/KDE
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* gnome : synaptic (in italiano!!) oppure stormkpg
* kde : kpackage

Aggiornare una distribuzione non connessa ad internet
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

DebIan offre uno strumento molto semplice apt-zip::

apt-zip-list -a dist-upgrade

che creerà due file, uno contenente le opzioni di apt-zip utilizzate ed uno script che si preoccupa di scaricare i pacchetti giusti, quest'ultimo eseguito su una macchina connessa alla rete, scarica i file e una volta trasferiti su un CD o una chiavetta usb, si può aggiornare la macchina non collegata con::

apt-zip-inst

Come posso ricompilare i sorgenti di un certo pacchetto, magari contenuto in unstable o testing e compilarlo per la stable?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Vanno installati innanzitutto i pacchetti debian per la generazione
dei .deb, ci sono varie utility::

apt-get install debhelper e/o
apt-get install debuild (questo molto semplice)

1. Inserisci in '/etc/apt/sources.list' un entry di tipo `deb-src` che
punti ai sorgenti di unstable::

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

2. Con `apt-get source nomepacchetto` prelevi i sorgenti (orig.tar.gz,
diff.gz e dsc) che vengono automaticamente scompattati in una
sottodirectory (quindi okkio allo spazio su disco :) )

3. Entri nella directory con i sorgenti e vai di::

dpkg-buildpackage -b -uc

come utente root oppure::

fakeroot dpkg-buildpackage -b -uc

da utente qualunque (consiglio il secondo, bellissimo aggeggio
``fakeroot``). Questo crea nella directory sovrastante i pacchetti
``.deb``.

4. Risali alla dir da cui sei partito ed installi il pacchetto o i
pacchetti generati con::

dpkg -i nomepacchetto.deb

Ci possono essere un sacco di varianti sul tema. Per esempio puoi
sostituire i punti 1. e 2. con un wget dei file orig.tar.gz, diff.gz e
dsc e un::

dpkg-source -x nomedelfile.dsc

che provvede a scompattare e a patchare adeguatamente il pacchetto con
le fix specifiche per Debian. Puoi automatizzare la risoluzione delle
dipendenze necessarie per il build (tutti qui pacchetti -dev che
altrimenti devi installare a mano) utilizzando::

apt-get build-dep nomepacchetto

che soddisfa automaticamente le dipendenze.

**NB: possono essere utili sbuild e pbuilder per la costruzione dei pacchetti partendo dai sorgenti**

Problemi di aggiornamento
^^^^^^^^^^^^^^^^^^^^^^^^^

Utilizzare una distribuzione "unstable" porta alle sue soddisfazioni ma si possono riscontrare dei problemi nella gestione dei pacchetti (l'appellativo unstable comunque dovrebbe già preparare l'utente psicologicamente;), un classico problema è quello che una nuova versione di un pacchetto tenti di sovrascrivere un file che è contenuto in un'altro pacchetto::

Spacchettamento di pacchetto (da .../pacchettox.y.z.deb) ...

dpkg: errore processando /var/cache/apt/archives/pacchettox.y.z.deb (--unpack):

tentata sovrascrittura di `/un/file/qualsiasi', che si trova anche nel pacchetto altropacchetto

in genere non è una cosa grave e si può risolvere brutalmente::

dpkg -i --force-overwrite /var/cache/apt/archives/pacchettox.y.z.deb

Problemi di dipendenze
^^^^^^^^^^^^^^^^^^^^^^

A volte capita che i pacchetti deb non ufficiali siano fatti un po alla carlona e che quindi non si riescano ad installare per problemi di dipendenze..per esempio ci sono stati dei problemi a installare skype su ubuntu breezy, ci sono due modi per risolvere il problema.. o modificare a mano il pacchetto::

cp skype_1.2.0.17-1_i386.deb skype_1.2.0.17-1_i386.deb.orig

mkdir skype.tmp

dpkg-deb --extract skype_1.2.0.17-1_i386.deb skype.tmp

dpkg-deb --control skype_1.2.0.17-1_i386.deb skype.tmp/DEBIAN

quindi editare il file skype.tmp/DEBIAN/control per sistemare le dipendenze (in questo caso aggiungendo un | libqt3-mt che era il problema di dipendenza, su ubuntu breezy non esiste il pacchetto libqt3c102-mt::

Depends: libc6 (>= 2.3.2.ds1-4), libgcc1 (>= 1:3.4.1-3), libqt3c102-mt (>= 3:3.3.3.2) | libqt3-mt, libstdc++5 (>= 1:3.3.4-1), libx11-6 | xlibs (>> 4.1.0), libxext6 | xlibs (>> 4.1.0)

e quindi ricostruire il pacchetto::

dpkg --build skype.tmp

oppure forzare l'installazione creando però un broken package::

dpkg --ignore-depends libqt3c102-mt -i skype_1.2.0.17-1_i386.deb

Installare pacchetti compilati a mano dai sorgenti non debian
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Per tenere sotto controllo i file installati utilizzare checkinstall::

apt-get install checkinstall

una volta configurato il pacchetto, invece di lanciare il classico make install eseguire::

checkinstall

verrà creato ed installato automaticamente un .deb

Riconfigurare X
^^^^^^^^^^^^^^^

utilizzando un file di configurazione preesistente::

dpkg-reconfigure xserver-xfree86

se è stato modificato a mano non è sufficiente il comando precedente ma prima occorre lanciare il comando::

dexconf

se invece è andato perso::

dpkg --force-depends -P xserver-xfree86 ; apt-get install xserver-xfree86

per risistemare anche i font::

dpkg-reconfigure fontconfig

font piccoli nelle applicazioni
--------------------------------

soluzione rapida:)::

apt-get install xfonts-75dpi-transcoded xfonts-100dpi-transcoded

Creazione CD Debian extra
--------------------------

Seguire DebIanExtraCD per crearsi un comodo CD di pacchetti e utility che non si trovano nei CD ufficiali, oppure se si possiede una ubuntu possono risultare utili le istruzioni per crearsi un disco UbuntuPiu ad hoc.

Openoffice in gnome e kde
--------------------------

Debian offre due pacchetti molto utili::

apt-get install openoffice.org-kde openoffice.org-gtk-gnome

che permettono di utilizzare il selettore di file rispettivamente di kde e di gnome, questa opzione solitamente è disabilitata e va abilitata in open office::

strumenti->opzioni->generale e disabilitare la voce "usa dialoghi openoffice.org"

eventualmente sotto "programmi ausiliari" selezionare il file picker voluto::

per kde -> /usr/lib/openoffice/program/kdefilepicker

per gnome -> ?? (alla prossima release:)

apt-get install openoffice.

Dos2unix e unix2dos
-------------------

Questi due paccheti permettono di formattare correttamente i file
di testo, togliendo quei fastidiosissimi ^M

::

apt-get install sysutils

Cosa faccio se perdo la partizione /var?
----------------------------------------

http://www.linuxworld.com/2003/0113.petreley-p1.html è un interessante
articolo, in inglese, che cerca di rispondere a questa domanda.

Comandi di configurazione
-------------------------

Configurazione connessione via modem
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

pppconfig

Gestione moduli del kernel
^^^^^^^^^^^^^^^^^^^^^^^^^^

Per caricare i moduli precompilati::

modconf

Per compilare moduli non contenuti nei sorgenti del kernel::

module-assistant

Compilare il kernel
-------------------

::

make-kpkg --revision=numero_di_revisione kernel_image

**Nota**: se si installa un kernel con la stessa versione di quello di
default è meglio mettere un numero di revisione maggiore di quello
fornito con quel kernel. Esempio::

make-kpkg --revision=3:mauro.1.0 kernel_image

ricordandosi di cancellare stamp-debian e stamp-configure con::

make-kpkg clean

da ricordarsi che con gli ultimi kernel è necessario l'utilizzo di initrd, un esempio di utilizzo classico::

make-kpkg --revision=$(date +'%Y%m%d') --append-to-version=-$(hostname) --rootcmd fakeroot --initrd kernel_image modules_image

oppure creare l'initrd manualmente::

mkinitrd -o /boot/initrd.img-xxxxx

quindi modificare /etc/grub/menu.lst::

title Debian GNU/Linux, kernel 2.6.18-rc3
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-rc3 root=/dev/hda1 ro vga=771
initrd /boot/initrd.img-2.6.18-rc3
savedefault
boot

se state compilando un kernel vanilla per ubuntu ci sono un paio di accorgimenti per avere il supporto al ussplash (il boot grafico), in /etc/mkinitramfs/modules aggiungere questi moduli ::

capability
vesafb
fbcon
unix

e poi per ricostruire l'immagine initrd::

dpkg-reconfigure

Script di inizializzazione dei servizi
--------------------------------------

Gli script che vengono lanciati al boot sono in `/etc/init.d`, vengono
eseguiti seguendo le specifiche del runlevel che sono sotto
`/etc/rc.n`. `S` sta per start `K` sta per `kill`.

Aggiornamento
^^^^^^^^^^^^^

Per aggiornare questi link c'è il comando `update-rc.d`, ad esempio:

1. per rimuovere tutti i link in /etc/rc* ma lasciare quello in /etc/init.d::

update-rc.d -f apache remove

2. per ripristinare i valori di default::

update-rc.d apache defaults

oppure installare rcconf (apt-get install rcconf)

Start & Stop
^^^^^^^^^^^^

Si possono terminare e far ripartire i servizi usando::

/etc/init.d/nome servizio start|stop|restart

Diagnostica e boot
------------------

Configurazione hardware della macchina
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

dmidecode

Utilizzo di dmesg
^^^^^^^^^^^^^^^^^

dmesg è usato per esaminare o controllare il ring buffer del
kernel. Il programma aiuta gli utenti a stampare i messaggi di
avvio. Anziché copiare i messaggi manualmente, l'utente ha solo
bisogno di::

dmesg > boot.messages

e quindi di spedire per posta il file boot.messages a chiunque possa
diagnosticare il suo problema.

Utilizzo di bootlogd
^^^^^^^^^^^^^^^^^^^^^

"Purtroppo" dmesg ha il "difetto" di non catturare lo stderr [1]_ del
processo di boot del sistema, o meglio, non sempre :) Ad esempio, su
Debian, gli initscripts installano /etc/init.d/bootlogd, che se
opportunamente configurato in::

/etc/default/bootlogd

(che di default è disattivato) ti salva nel file /var/log/boot una
copia integrale sia dello stdout che del stderr del processo.

.. [1] Su Unix ogni processo ha a disposizione almeno tre "canali",
uno di entrata, o stdin, gli altri due di uscita, uno "normale"
stdout, l'altro per gli errori, stderr appunto.

Permessi utente
---------------

Collegamento Internet
^^^^^^^^^^^^^^^^^^^^^

Inserire l'utente nel gruppo "dip"::

adduser utente dip

per permettergli di collegarsi ad internet

Utilizzo scheda sonora
^^^^^^^^^^^^^^^^^^^^^^

Necessita appartenere al gruppo "audio"

Dispositivi rimovibili
^^^^^^^^^^^^^^^^^^^^^^

gruppo "cdrom" e "floppy" per poter montare e smontare quei dispositivi.

Raccolta di informazioni utili per l'utilizzo dei DispositiviRimovibiliSuDebian

Variabili d'ambiente anche in X
-------------------------------

Non in /etc/profile ma in /etc/environment (credo sia solo per
debian?) Tecnicamente /etc/environment non è specifico per X, ma
viene letto e eseguito da quasi tutti gli script di sistema, inclusi
gli `/etc/init.d/*`, quindi gran parte delle applicazioni che girano
ereditano le impostazioni messe là

Come fare
----------

Raid software
^^^^^^^^^^^^^^

È stato scritto un documento su come realizzare il RaidSoftwareSuDebian

Server IMAP con Exim, Courier e Maildir
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Nella sezione WoodyEximCourier

Server proxy con NTLM
^^^^^^^^^^^^^^^^^^^^^^

Nella sezione http://www.sistemistiindipendenti.org/modules/news/article.php?storyid=148

Installare un PDC samba con LDAP su Debian Sarge
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Nella sezione SambaLDAPcomePDCsuDebianSarge

Aggiungere la macchina ad un dominio NT
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Nella sezione DebianDominioNT

Apache 2 e ssl
^^^^^^^^^^^^^^

Nella sezione `Apache2SSL `_

Apache 2 e webdav
^^^^^^^^^^^^^^^^^

Nella sezione ApacheWebDav

Gestione Interfaccie di rete
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

per gestire le interfaccie di rete sui portatili::

apt-get install ifplugd

Gestione bottoni temperatura
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Per gestire ventoline, temperatura e bottoni di spegnimento::

apt-get install acpid