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

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 <name of your kernel>

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

Note Sparse

nautilus-cd-burner non vede il masterizzatore

Assicurarsi di avere i permessi e di aver caricato il modulo sr_mod.

From unknown Wed Mar 31 11:19:54 +0200 2004 From: Date: Wed, 31 Mar 2004 11:19:54 +0200 Subject: Download Message-ID: <20040331111954+0200@www.linuxtrent.it>

Si potrebbe fare un download delle vostre mini guide? Sarebbe comodo per poi consultarle in altri momenti, cosa ne pensate?

From gypsymauro Fri Apr 2 09:58:33 +0200 2004 From: gypsymauro Date: Fri, 02 Apr 2004 09:58:33 +0200 Subject: Menu Message-ID: <20040402095833+0200@www.linuxtrent.it>

File - Salva pagina con nome :) , a parte gli scherzi per il momento non è prevista un esportazione in altri formati rispetto al pdf, anche perchè sono in continua evoluzione, comunque iscrivendoti al sito puoi accedere al file scritto in Restructured Text e da quello esportare in pdf

From unknown Mon Aug 22 11:26:42 +0200 2005 From: Date: Mon, 22 Aug 2005 11:26:42 +0200 Subject: Message-ID: <20050822112642+0200@www.linuxtrent.it>

From unknown Wed Sep 21 12:32:26 +0200 2005 From: Date: Wed, 21 Sep 2005 12:32:26 +0200 Subject: Visualizzazione per PALMARI Message-ID: <20050921123226+0200@www.linuxtrent.it>

ovvero: esiste la possibilità di vedere la pagina in aspetto "print friendly"? Almeno si prendono due piccioni: è più agevole la stampa e la pagina risulta più leggibile con un browser per palmari, nonchè trasformabile in formato eBook Grazie!