Cronaca di un'installazione di Debian

Indice:

  1. La mission
  2. Le modalità
  3. Installazione
  4. Configurazione - atto primo
  5. Ricompilare il kernel
  6. Configurazione - atto secondo
  7. Vedere le partizioni Windows sulla stessa macchina
  8. Usare l'accelerazione hardware della Nvidia
  9. Vedere anche in rete locale con Samba
  10. Mostrare il log in una virtual console inutilizzata
  11. Cambio bootloader: da Lilo a Grub
  12. Masterizzare: K3B
  13. Stampare: Cups
  14. Centralizzare i download di apt-get
  15. Installare Apache2

La mission

Lo scenario che si presenta è questo: voglio installare Debian sul mio PC fisso. La scelta di Debian è dovuta al fatto che la sto usando felicemente da tempo sul portatile. Questa pagina vuole dare qualche spunto e qualche dritta per l'installazione di questa distribuzione, non mi addentrerò molto in spiegazioni dettagliate.
Magari in futuro approfondirò meglio questo e quell'argomento, per ora no.
Resto cmq a disposizione per email se volete contattarmi... (per i distratti: c'è "contattami" nel menu a sinistra)

Le modalità

Avevo già 3 cd di Debian Woody (l'ex ramo stabile di Debian) nella versione 3.0 e userò quelli per installare, volendo però smacchinare con pacchetti più recenti e non essendo in un ambiente di produzione asettico, migrerò via rete (tramite adsl) al ramo instabile di Debian "Sid" che contiene pacchetti più aggiornati (anche se meno testati). Inoltre preferisco (e suggerisco) installare un kernel vanilla, scaricato da www.kernel.org all'ultima versione stabile disponibile è del 2.6... La configurazione del kernel è comunque un'operazione un po' delicata e necessita di una lunga configurazione, ne vale sicuramente la pena a mio avviso! (ma magari fatevi qualche mese di esperienza con Linux prima).

L'installazione

La prima installazione passa in modo indolore, si seguono i vari passi in modo lineare e ci si ritrova con il sistema pronto. L'unica parte critica riguarda la creazione delle partizioni, io avevo già il disco partizionato con una partizione per Windows (con il quale Debian dovrà convivere), una partizione di poco più di 6Gb che conterrà Debian (tengo assieme root, /home, /usr eccetera) e 256Mb di swap (ho 512 di ram)... In realtà non mi interessa riporre troppa attenzione sulle dimensioni delle partizioni in quanto ho intenzione di migrare a una gestione dinamica delle partizioni (LVM2) presto (e per quello ho scritto questa guida). Al termine dell'installazione ho installato LILO in hda1 in modo che gestisca il multiboot tra windows e linux all'avvio.

Configurazione e installazione pacchetti 1

Al primo avvio Lilo mi mostra la lista dei sistemi operativi avviabili: Linux in hda3, Windows in hda1... Windows in hda5 !?! mmm, ne ha visto uno di troppo... scelgo linux e vediamo cosa succede...
parte il framebuffer, trova la rete... funziona tutto molto meglio di come funzionerà alla fine :) !
Parte la configurazione dei vari pacchetti: debconf. Andiamo a "incasinare" un po' le cose! Per modificare queste opzioni, in un qualsiasi momento, fare:
/usr/bin/base-config

  1. L'orologio non è impostato sul GMT (Greenwich mean time) che windows non gestisce, ma è impostato sull'ora legale italiana.
  2. Imposto il mio fuso orario, abilito MD5, shadowpassword, imposto la password di root (sufficientemente complessa), creo un utente normale (per dovere di cronaca: l'utente root non va utilizzato se non quando necessario), e non imposto PCMCIA e PPP...
  3. Per continuare l'installazione ho bisogno di un tot, di pacchetti... un po' li prenderò da Internet, un po' dai cd (spero). Solo che per ora non so a che device corrisponde il lettore dove ho messo il cd (ho 3 lettori). Vado allora in console (CTRL+ALT+F2) entro come root e con un
    dmesg | grep hd
    (ovvero: "dmesg" restituisce la lista dei messaggi all'avvio, "grep hd" fa filtrare le sole righe che contengono la parola hd) vedo che il lettore che voglio usare è in /dev/hdb, volendo posso già modificare l'fstab:
    creo la cartella /mnt/dvdrw e imposto fstab così (vi /etc/fstab) :
    /dev/hdb /mnt/dvdrw auto ro,user,noauto 0 0
    creo allora l'indice dei 3 cd, aggiungo un paio di fonti HTTP italiane (alcune non mi rispondevano) cercando di sceglierne di veloci e comincio.
    Siccome non ho interesse a installare molta roba del ramo stabile non scelgo nessun pacchetto con tasksel e non avvio nemmeno dselect... verranno scaricati 22Mb di pacchetti base (dovrebbe bastare il primo cd).
  4. Procedo con le scelte predefinite, scelgo it_IT@EURO come locale standard non faccio avviare il demone sshd all'avvio (non voglio permettere una gestione remota, almeno per ora).
  5. Quando exim (un server di posta) mi chiede di scegliere un tipo di connessione (sono tutti ben descritti) scelgo "Local delivery only". Questa impostazione può essere cambiata con /usr/sbin/eximconfig
    Scelgo anche di recapitare i messaggi di root all'utente che preferisco (root non andrebbe mai usato)
Finite queste brevi impostazioni siamo scaraventati al login! Yuppie...
Cominciamo ora a fare qualche settaggio più fino.
Loggiamoci come root e cominciamo a fare le nostre modifiche, per ora come editor usiamo vi presto installeremo qualcosa di meglio (intendo vim):
  1. Cominciamo subito passando a Debian unstable:
    Per farlo bisogna cambiare nel file /etc/apt/sources.list tutte le "stable" con "unstable"
    Se volete farlo velocemente fate questo [tutto in una linea] dalla cartella /etc/apt/:
    sed -e "s/stable/unstable/" sources.list > sources.unstable

    -e serve per eseguire un comando da riga di comando: il comando s, dentro le virgolette serve per sostituire "stable" con "unstable"... dopo aver controllato che tutto sia a posto copiate il nuovo file nel vecchio:
    mv sources.unstable sources.list
    potete anche togliere, se l'avevate messa, la fonte security.debian.org, per unstable i pacchetti critici non vengono rilasciati da una fonte separata... a questo punto aggiornate la lista dei pacchetti:
    apt-get update
    se avete scelto server lenti a questo punto potete anche eliminarli dalla lista delle vostre fonti... dopo vedremo di mettere nel vostro sources.list solo fonti veloci, grazie ad apt-spy...
    Il mio sources.list per esempio ora è così:
    deb http://ftp2.it.debian.org/debian/ unstable main
    deb-src http://ftp2.it.debian.org/debian/ unstable main
    deb http://non-us.debian.org/debian-non-US/ unstable/non-US main
    deb-src http://non-us.debian.org/debian-non-US/ unstable/non-US main
    Già ora siamo pronti a passare a Sid, per farlo ora che sappiamo (con apt-get update) quali sono i pacchetti nuovi, possiamo scaricarli con:
    apt-get dist-upgrade
    nessuna impostazione da segnalare se non, in debconf, ho scelto la modalità Dialog (testuale come basata sulle curses) per non avere problemi al di fuori di X.
  2. Quando mi viene chiesto, nella configurazione di adduser, imposto di NON avere le "system wide readable home directorys" per non lasciare a tutti gli utenti la possibilità di vedere la lista dei file nella home di altri.
  3. Rispondo YES per effettuare l'aggiornamento di FLEX e proseguire con le impostazioni di default
  4. Installiamo vim e aptitude con questo
    apt-get install vim aptitude
  5. Uno degli ultimi passaggi è stato la configurazione di LILO, già che ci siamo continuamo da li: una volta al prompt andiamo a modificare il file di impostazioni di LILO:
    vim /etc/lilo.conf
    Qui nel marasma di impostazioni (tutte ben commentate peraltro) tolgo il # per non commentare la riga COMPACT (che rende il boot un po' più veloce). Tolgo il commento dalla riga "password = " e inserisco una password che sarà necessaria per avviare il sistema con parametri personalizzati. Per lo stesso motivo tolgo il commento da tutte le righe "restricted" (una per ogni voce del menu di boot). E finalmente posso togliere le 2 righe della voce di avvio di Windows in hda5 (che in realtà non c'è). Se volete potete impostare in timeout= il ritardo in decimi di secondi, dopo di che verrà scelta la voce di default. Aggiungo anche in un punto qualsiasi la voce:
    menu-title= "Titolo del menu"
    appunto per inserire un titolo al menù di boot.
    Finite le modifiche, visto che abbiamo inserito una password nel file dobbiamo rendere il file leggibile solo da root:
    chmod ag-r /etc/lilo.conf
    Dove il - serve per togliere i permessi di lettura (r) a tutti (a) e al gruppo (g).
    Diamo lilo per rendere effettive le modifiche.
    Riavviamo e vediamo se tutto è a posto.
  6. Io a questo punto mi ritrovo la tastiera inglese impostata, la sistemo con il comando kbdconfig impostando una querty italiana.
  7. Un'altra cosa che trovo comodo abilitare è la bash completition seria: attivandola, il completamento automatico (premendo TAB) completerà intelligentemente anche i parametri dei vari programmi... per esempio il comando tar: se date tar xzf [TAB]completerà solo tra file .gz
    con tar xjf [TAB] completerà con .bz2
    insomma una bellezza... per attivarlo modificate il file /etc/bash.bashrc
    e togliete i commenti alle 3 righe sotto "enable bash completition..." al prossimo login sarà attivo
  8. Ora qualche aggiustatina a VIM (se lo usate): modifichiamo il file /etc/vim/vim.rc:
    in questo file le righe che cominciano con il doppio apice (") sono commenti: dovete togliere il commento a "syntax on" per abilitare l'evidenziazione della sintassi.
    Inserite anche la linea "set mouse=a" per abilitare il supporto del mouse (al momento il mio mouse usb non funziona, ma non è un problema tanto dobbiamo ricompilare il kernel)
  9. Ora impostiamo i colori per il comando ls (che per la cronaca serve per vedere la lista di file nella directory corrente) e impostiamo qualche alias, per entrambe le cose dobbiamo modificare il file /etc/profile:
    vim /etc/profile e aggiungiamo le seguenti righe:
    export LS_OPTIONS='--color=auto' per creare la variabile LS_OPTIONS che conterrà tutte le opzioni che vorremo passare a LS...
    alias ls='ls $LS_OPTIONS' per far si che quando diamo 'ls' in realtà gli passiamo anche le opzioni che abbiamo appena scelto.
    alias ll='ls $LS_OPTIONS -l' per far si che premendo 'll' possiamo avere la lista dettagliata dei file...
  10. Già che stiamo modificando /etc/profile aggiungiamo anche:
    alias cls='clear' per far si che appunto con il comando cls venga cancellato lo schermo (in UNIX si fa con 'clear')
    E inoltre inseriamo la riga trap clear 0:
    il comando trap serve per eseguire qualcosa al verificarsi di un evento, in questo caso, esegue clear quando avviene il segnale 0 (che è il segnale di uscita) in questo modo quando vi scollegherete (con exit) lo schermo verrà cancellato. Comodo!
  11. Un'altra cosa comoda è cambiare il prompt del terminale:
    per cambiarlo impostiamo la variabile d'ambiente $PS1 (sempre in /etc/profile):
    $PS1='\u@\w'
    if [ "`id -u`" -eq 0 ]; then
       PS1=$PS1'# '
    else
       PS1=$PS1'$ '
    fi
    Questo imposta prima il prompt a qualcosa tipo <nomeutente>@<percorso> poi controlla se l'utente è root, se lo è imposta il carattere finale al cancelletto, altrimenti al dollaro! Così per convenzione. Poi dovremmo togliere eventuali personalizzazioni del singolo utente che possono essere nelle home in .bashrc o .profile.
Prima di continuare con ulteriori settaggi (mi rendo conto che sono davvero tanti) installiamo tutto quello che ci serve con aptitude (non si sa mai che qualcuno poi voglia scrivere nuovi file di configurazione)... andiamo allora in aptitude aspettiamo che ci mostri la lista dei pacchetti disponibili e scorriamola, i tasti importanti da sapere sono
+ Installa il pacchetto selezionato
- Disinstalla
M Tieni il pacchetto solo finché serve a qualcun'altro. Io in genere, imposto così tutte le librerie.
g Effettua le modifiche
u Scarica la lista aggiornata dei pacchetti
/ Per cercare e "\" per cercare ancora
r Pacchetti che dipendono dal selezionato
d Pacchetti dai quali dipende il selezionato
q Per uscire (al solito)
cambiamo prima due impostazioni da "Option - UI Options" togliamo la spunta da "Pause after downloading" mentre da "Option - Misc" mettiamo la spunta su "Automatically upgrade installed packages"
In "Option - UI Options" cambiamo la stringa in "display format for package view" per poter vedere quanto occupano i pacchetti e quanto deve scaricarne, scriviamo questa:
%c%a%M %p %D %I %Z #%v
%V dove appunto %D è quanto dovrò scaricare e %I è quanto occuperà su disco il pacchetto installato.
Premiamo "u" per aggiornare la lista dei pacchetti e installiamo i seguenti pacchetti: (qui andrebbe aperta una parentesi infinitamente lunga... molte sono le scelte da fare per installare i pacchetti: che editor di testo? nella grafica che gestore di finestre, desktop enviroment e librerie? sono davvero una valanga... io vi do le mie scelte attuali (non definitive ne altro) come indicazione, sapendo che potrebbero cambiare (e forse col tempo le cambierò anche su questa pagina).
	alsa-utils (nel kernel 2.6 per i suoni si usa ALSA)
	alsamixergui
	apmd	(per il risparmio energetico)
	apt-spy (ne parlavamo prima)
	bluefish (un bellissimo editor)
	bzip2 (scompattatore)
	fbset (non si sa mai che andremo ad usare frambuffer)
	gpm (per poter usare il mouse in modalità testo)
	gqview (programmino per vedere le immagini -GTK-)
	hdparm
	hotplug
	initrd-tools
	isapnptool
	libncurses5 (per avere l'interfaccia testuale curses)
	libncurses5-dev
	kernel-package (compilare il kernel nella "Debian way")
	lvm2 (per le partizioni dinamiche)
	mc
	module-init-tools (necessario per i kernel 2.6)
	openoffice.org (suite office corposa, circa 200Mb)
	openoffice.org-l10n-it
	parted (per ridimensionare le partizioni)
	powertweak
	sleepd
	udev
	unrar
	unzip
	x-window-system-core (il server grafico)
con le numerosissime dipendenze, per un download di circa 200Mb
PS. Se siete in rete locale e prevedete di fare altre installazioni di Debian: o vi scaricate dei cd aggiornati di Sid, oppure, meglio, potete usare uno dei computer come proxy per apt... tutti i pacchetti installati passeranno da lui che realizzerà una cache per le successive installazioni (lo faremo nelle prossime puntate).
altri pacchetti che possono essere interessanti sono:
	sitecopy (sync di una pagina web con la copia locale)
	xsitecopy
	mozilla-firefox-locale-it
	gimp (per il fotoritocco)
	gimp-python
	gimp-svg
	python-psyco
	kpdf
	john
	cdcd (un player cd da linea di comando molto comodo)
	ettercap-gtk (sniffer per la rete italiano)
	wxvlc (è un player per filmati di ogni razza)
	gaim (un bel client ICQ, MSN e altri)
Per la configurazione di X, cercate il driver piu' adatto alla vostra scheda video, se un driver è esattamente per la vostra scheda video ne sfrutterà più funzionalità, viceversa se ricadete per esempio, su un driver vesa generico, la scheda video funzionerà, ma senza ottimizzazioni...
Nel mio caso ho una Geforce, quindi installo il driver nv, e in seguito scaricherò i driver binari dal sito della NVidia.
Scegliete il tipo di tastiera (pc105 per quelle con i tasti windows) e la lingua.
Se X non dovesse andare, per smanettamenti vari il file con le impostazioni è /etc/X11/XF86Config-4 (man XF86Config-4) per avere un aiuto sulla sintassi.
Per fare le prove avviate X e per uscire premete CTRL+ALT+BACKSPACE.
A me ora non vede il mouse USB (che in X è impostato come "core pointer" quindi non posso ancora andare in X senza mouse). E' giunto il momento di installare il kernel così avremo alsa, usb, e cosuzze varie funzionanti... (o forse l'intera macchina sarà non funzionante, lo avete un dischetto con una distribuzione live eventualmente?).

Ricompilare il kernel

Scarichiamo il kernel e scegliamo cosa includervi e cosa no, e ricompiliamolo alla "Debian way".
Io sono a riga di comando quindi per scaricarlo uso lynx, un comodo browser testuale... digitate lynx www.kernel.org per andare alla pagina con i sorgenti del kernel, nella riga "latest stable version" cliccate sulla F (che sta per full source: tutti i sorgenti completi, visto che al momento non ne abbiamo) (vi muovete con le frecce e premete INVIO per cliccare). Scaricherà il file compresso in bzip2, scegliamo "D"ownload e scarichiamo i 34Mb di sorgenti compressi (nella cartella in cui eravate).
Prima di scompattare il file spostiamolo nella cartella /usr/src dove normalmente andrebbero i sorgenti:
mv linux-2.6.xx.tar.bz2 /usr/src
[dove xx è la sottoversione del kernel] andiamo alla cartella
cd /usr/src
e scomprimiamo il file:
tar xjvf linux-2.6.xx.tar.bz2
(l'opzione 'x' sta per "estrai", 'j' per "il file è in bunzip2, 'v' per "mostrami i nomi dei file che stai scompattando", e dopo la 'f' va indicato il nome del file da scompattare). Verrà creata una cartella 'linux-2.6.xx' che conterrà i sorgenti...
E' prassi creare un collegamento /usr/src/linux che punta ai sorgenti del kernel installato, creiamolo subito: ln -s linux-2.6.xx linux. Entriamo allora nella cartella linux e cominciamo la compilazione:
Lo strumento che Debian mette a disposizione si chiama make-kpkg (kernel package), il kernel verrà compilato e messo in un pacchetto debian (.deb) pronto per essere installato con gli strumenti consueti per i deb: dpkg...
I passi da seguire sono questi:
  1. Se necessario cancellare i vecchi file temporanei creati da make-kpkg con make-kpkg clean
  2. Quindi configurare il kernel con i metodi classici (questi non sono prettamente debianistici), io uso il menu testuale quindi make menuconfig
    Qui si apre un mondo di possibilità, e ci perderete davvero molto tempo a vedere le descrizione di tutte le opzioni, a scegliere quali vi sono utili e quali no (che non vorrete installare)... Mano quindi al manuale delle vostre periferiche per sapere come è fatta la vostra macchina, sfruttate anche il comando lspci che vi indica i nomi dei vari aggeggi nel vostro PC, cat /proc/cpuinfo per la CPU.
    Ovviamente questa operazione è diversa da macchina a macchina, nelle distribuzioni Linux solitamente vengono inclusi moduli per tutte le esigenze, in modo che tutto funzioni bene, ma che risulti tutto anche un po' più pesante... Per questo stiamo ricompilando il kernel, per fare in modo che Linux giri bene sulla nostra macchina e non carichi cose di cui non avremo mai bisogno...
    Una buona base per cominciare a fare le proprie modifiche, è quella con tutte le scelte di default... Per passare alla configurazione (tutte le scelte sono impostate nel file .config) di default digitare
    make defconfig
    da qui si procederà con
    make menuconfig
    Queste sono le opzioni che ho dovuto cambiare io:
    • Loadable module support
      • Module unloading = Y
    • Processor type and features
      • Processor family = Athlon (ho un Athlon XP)
      • Symmetric multi-processing support = N (ho un solo processore)
      • Local APIC support on uniprocessors = Y
      • IO-APIC support on uniprocessors = Y
      • check for P4 thermal throttling interrupt = N
    • Executable file formats
      • Kernel support for a.out = M (li si usa di rado)
      • Kernel support for MISC = M (idem con patate)
    • Device Drivers
      • Parallel port support
        • Use FIFO/DMA if available = Y
      • Plug and Play support
        • ISA Plug and Play support = Y
      • Block devices
        • Loopback device support = M
          • Cryptoloop support = M
      • ATA/ATAPI/MFM/RLL support
        • CMD640 chipset bugfix/support = N
        • RZ1000 chipset bugfix/support = N
        • Intel PIIXn chipsets support = N
        • PROMISE PDC202{68|69|70|71|75|76|77} support = Y (ho una PDC20271)
        • VIA82CXXX chipset support = Y
      • Multi-device support (RAID and LVM)
        • Multiple devices driver support = Y
        • Device mapper support = Y (metteremo LVM2 presto)
      • Networking support
        • Ethernet (10 or 100Mbit)
          • RealTek RTL-8139 ... = N
          • VIA Rhine support = Y (la mia scheda di rete)
        • Ethernet (10000Mbit)
          • S2IO 10Gbe XFrame NIC = N
      • Character devices
        • Intel 440LX... = N
        • Intel i865 ... = N
        • VIA chipset support = Y
      • Graphics support
        • Support for frame buffer devices = Y
          • Enable DDC support
        • Console display driver support
          • Video mode selection support = Y
          • Framebuffer console support = M
        • Logo Configuration
          • Bootup logo = Y
      • Sound
        • Advanced Linux Sound Architecture
          • PCI device
            • EMU10K1 ... = Y (ho una SBLive)
            • Intel i8x0 ... = N
      • File systems
        • Network file system
          • SMB file system ... = M
        • DOS/FAT/NT Filesystems
          • NTFS Filesystem support = M
    • Kernel Hacking
      • Sleep inside... = N
      • Use 4kb for kernel stacks =N
    Quando avete finito... fate Exit, e consentite di salvare uscendo (mi raccomando o avete fatto tutta questa scelta per nulla). Ora che avete il vostro bel file .config con tutte le vostre scelte (saranno giuste? lo scopriremo al prossimo riavvio) dovete compilare.
  3. Fate make-kpkg kernel_image modules_image per compilare il kernel in un .deb (questa è la famosa Debian way) e aspettate che tutto sia compilato (potrebbe metterci anche ore la prima volta, con computer lenti).
  4. Il pacchetto con il kernel compilato lo troverete nella cartella superiore (in /usr/src se avete fatto tutto a dovere) con nome kernel-image-2.6.xx eccetera. Installatelo digitando
    dpkg -i kernel-image 2.6.xx_blabla.deb
    vi verrà chiesto se creare un floppy di avvio e se installare il nuovo kernel come indicato nel lilo.conf, detto fatto il kernel è installato...
    Riavviate per vedere se tutto funziona per il verso giusto, e nel caso cambiate qualcosa ripartendo dalla configurazione del kernel...
  5. Per la cronaca, quello sopra dicevamo è il metodo Debian, il metodo classico invece oltre alla configurazione con
    make menuconfig
    vuole un
    make
    (per compilare tutto)
    make modules_install
    (per installare in moduli in /lib/modules)
    make install
    (per installare il kernel in /boot)
  6. A me sembra sia andato tutto bene, il sistema si riavvia senza errori, ma ci vorrà un po' per controllare che ogni cosa funzioni...

Continuiamo la configurazione

Ora il mouse mi funziona, X funziona, ma mi accorgo che la frequenza di aggiornamento dello schermo è 75Hz, quando potrebbe arrivare a 100, torno allora in /etc/X11/XF86Config-4 e nella Section "Monitor" cambio la VertRefresh da 50-75 a 50-160 già che siamo qui commentiamo la riga in Section "Files" con FontPath "unix/:7100" che tanto non installerò alcun fontserver...

I piu' attenti si saranno accorti che ancora non ho installato alcun desktop enviroment, lo installo ora... la mia scelta ricade su KDE, riapro aptitude e installo i pacchetti "kde-core" e "kde-i18n-it" (il secondo è la localizzazione in italiano. i18n sta per internationalization: i seguito da 18 caratteri e poi una n, sono proprio dei burloni!). Non installo quindi i singoli programmi che aggiungerò solo quando necessari (se volete tutto installatevi quindi il pacchetto "kde" e vi passa la paura!).
Dopo un lungo download, proviamo a dare startx e andiamo in KDE (da utente normale, non da root).
All'avvio parte un wizard (Kandalf) che ci guida attraverso alcune scelte, tra cui la lingua... Poi, da me, appare un messaggio di errore: "Error while initializing the sound driver device /dev/dsp can't be opened". Chiarissimo no? :-) Beh, semplicemente il mio utente normale non puo' accedere a /dev/dsp... risolviamo andando a vedere i permessi di questo device
ls -l /dev/dsp
crw-rw---- root audio
vediamo che può scriverci l'utente root e gli utenti del gruppo audio. Aggiungiamo allora l'utente al gruppo audio:
addgroup utente audio
('utente' è l'utente da abilitare). Rientriamo in KDE (ora va tutto bene), e vediamo un po' di mie preferenze sparse:
La prima cosa che faccio è ridurre a 2 il numero dei desktop e nascondere l'applet "pager" che non mi serve. Normalmente uso WIN+TAB per scorrere tra i desktop, ora però non mi funziona, vado allora in Control Center - Regionali ecc - Scorciatoie della tastiera e ci metto tutte le scorciatoie che mi passano per la mente. Tra questi i miei preferiti: ALT + F2, F3 ( per massimizzare o mandare a tutto schermo la finestra); Win+D per "Mostra desktop"; Win+R per "Esegui comando". Nelle opzioni di Konqueror in "Aspetto" tolgo la sottolineatura ai nomi dei file. E abilito le anteprime per i protocolli locali.

Solitamente uso aptitude per gestire i pacchetti, mi piacerebbe che il mio utente avesse accesso ad apt senza dover diventare root ogni volta... questo è un lavoro per SUDO (da usare con cautela):
da console, come root, diamo visudo e aggiungiamo la linea (in user privilege per la precisione)
utente ALL=(root) NOPASSWD: /sbin/halt,/sbin/shutdown
e [in una riga]
utente ALL=(root) NOPASSWD: /usr/bin/apt-get,/usr/bin/aptitude
in questo modo quando l'utente farà sudo apt-get o sudo aptitude, sarà come se fosse stato root in persona ad eseguirlo, lo stesso per lo spegnimento con shutdown o halt... E' una seccatura però dover ricordarsi quel "sudo", la sudorazione dovrebbe essere un processo naturale e quindi definiamo un alias per dire "quando io scrivo aptitude, tu sii abbastanza sveglio da capire: "sudo aptitude".
Per far questo modifichiamo nella nostra home il file .bashrc (con vim ~/.bashrc per esempio). Il file .bashrc viene chiamato ogni volta che chiamiamo una "non-login shell" come un terminale in X, mentre le "login shell" chiamano il file ".bash_profile". Aggiungiamo queste dure righe a .bashrc:
alias aptitude='sudo aptitude'
alias apt-get='sudo apt-get'
Dovremmo però aggiungerle anche a .bash_profile, ma è scomodo avere Ora tutto va bene, magnifico!

Ci sarà anche da modificare il file /etc/motd per cambiare il "messaggio del giorno" mostrato all'avvio da console... e il file /etc/issue, per una questione puramente estetica, e scrivere anche li che ora la nostra Debian è SID ...

Vedere le partizioni Windows sulla stessa macchina

La strada al completamento di queste impostazioni è lunga e tortuosa... ma ora veniamo finalmente a cose un po' piu' interessanti, i cui effetti sono un po' piu' che dettagli (ehm... ma FONDAMENTALI dettagli!). In particolare, come intuirete dal titolo, a questo punto vorrei poter accedere alle partizioni Windows che sono nei dischi fissi di questa macchinuzza... Se prima avevate smacchinato con l'fstab, dovreste già sapere a che device (in /dev/ ) corrispondono le partizioni che vi interessano, altrimenti andate in cerca con un bel fdisk -l che magicamente vi mostra tutte le partizioni locali e pure il loro tipo.
Nel mio caso ho 3 partizioni(cosa cavolo ci faccio con tre partizioni? Mah!) su 2 dischi che vorrei vedere, tutte e tre le partizioni sono in NTFS. In Linux il supporto per NTFS è in sola lettura, quindi, ci leggete ma NON CI DOVETE scrivere (se mi seguite, monteremo le partizioni in sola lettura).
Cominciamo con la prima /dev/hda1, per le altre si farà allo stesso modo. Prima di tutto creiamo in Linux una cartella dentro la quale comparirà il contenuto della partizione Windows (questa cartella si chiama "mountpoint"). Io la creo in /mnt/hda1 perché è tardi e la mia fantasia è impegnata altrove :-). mkdir -p /mnt/hda1 (il parametro -p serve per creare anche tutte le cartelle padri se dovesse servire: in questo caso, se non ci fosse la cartella /mnt).
A questo punto per montarla (se si hanno i permessi sufficenti) si usa il comando mount <device> <mountpoint> ovvero: mount /dev/hda1 /mnt/hda1 (è qui che serve il modulo del kernel che legge la ntfs).
Se tutto è andato bene noi possiamo accedere al disco NTFS appena montato, ma se vogliamo che questo punto di mount sia ricordato al successivo riavvio dobbiamo cambiare l'fstab.
Aggiungiamo questa riga a /etc/fstab:
/dev/hda1 /mnt/hda1 ro,users,auto,umask=0 0 0
dove nella terza colonna abbiamo scelto "users" per consentire a tutti gli utenti di montare questa partizione, "ro" (che sta per read-only) per montare la partizione in sola lettura, e "auto" per far si che si monti automaticamente all'avvio, "umask=0" infine imposta la bitmask dei permessi visto che in NTFS non sono presenti.
Se volete provare se tutto funziona, smontate la partizione (se è ancora montata da prima) con umount <mountpoint>, e date mount <mountpoint> (non serve piu' specificare il device: mount gentilmente va a vederselo in fstab).

Usare l'accelerazione hardware della Nvidia

Il prossimo passo è utilizzare al meglio la scheda video (la mia è una Nvidia Geforce4 T4200): essendo una Nvidia, scarico i driver aggiornati dal sito www.nvidia.com (per la cronaca in Download Drivers - Graphic Drivers - Geforce - Linux IA32 (processori a 32bit) ).
Scarichiamo il file .run e, come facciamo come indicato dal sito nel file readme (ora sarò + sbrigativo):

Vedere anche in rete locale con Samba

Ora che vediamo le partizioni Windows sulla stessa macchina abbiamo fatto un passo in avanti, ma già ci siamo perché non andare oltre e vedere le unità condivise su altre macchine (Windows o Linux che siano) in rete locale? In Debian per poter usare la cosiddetta "condivisione file e stampanti" si usa il pacchetto samba. Volendo, se dovete condividere cartelle con solo altri sistemi Linux potreste usare altri protocolli nativi, come nfs, ma Samba è abbastanza potente e soprattutto, come l'erba cattiva i sistemi Windows sono un po' in ogni rete (vedi xbill)!!
Installiamo quindi il pacchetto "samba" (ormai sapete come) ci viene chiesto il gruppo di lavoro, per il resto teniamo le impostazioni di default.
Installiamo anche il pacchetto cupsys che serve per gestire le stampe in modo molto comodo... Beh, non resisto, quello che dovete fare è
apt-get install cupsys samba

Il file responsabile di tutti i settaggi di samba è /etc/samba/smb.conf ("man smb.conf" per i dettagli). Andiamo subito a modificarlo per mettere in condivisione qualcosa:

Mostrare il log in una virtual console inutilizzata

Una comodità che mi piace avere è poter vedere il log di sistema in una console inutilizzata... per esempio l'ottava: Modifichiamo il file /etc/syslog.conf e togliamo i commenti alle righe:
daemon,mail.*;\
  news.=crit;news.=err;\
  *.=debug;*.=info;\
  *.=notice;*.=warn /dev/tty8
Dove /dev/tty8 è proprio la console che mostrerà il log... Per la cronaca, ci si arriva con CTRL+ALT+F8...
Per applicare le modifiche, riavviamo il servizio syslog con
/etc/init.d/syslogd restart

Cambio bootloader: da Lilo a Grub

Il bootloader è un programma, generalmente di pochi kb, che viene richiamato dal bios all'avvio del sistema: il suo compito è principalmente quello di passare il testimone (dell'avvio della macchina) al sistema operativo.
In fase di installazione avevo scelto il collaudatissimo e vecchissimo LILO , ora però mi garbava di installare GRUB che dalla sua ha una comodissima console che ci permette di avviare da dove vogliamo se qualcosa non dovesse andare per il verso giusto.
Vediamo come installarlo: A differenza di LILO, una volta modificato il file di configurazione non dobbiamo fare nient'altro per rendere attive le modifiche.
Buon Riavvio :-)

Masterizzare: K3B

Giungerà il momento di voler masterizzare (e di stampare, scandire, ... ok, ok! Una una cosa x volta!), proviamoci con K3B: installiamo il pacchetto "k3b" (ma anche "sox" è utile) ed è quasi fatta! Ehm, quasi perchè l'utente normale non ha accesso al device del masterizzatore. Gentilmente Debian, ci fa il piacere di identificare quali tra i device sono lettori o masterizzatori di CD (o DVD) e fa si che il loro gruppo proprietario sia "cdrom".
Identifichiamoli quindi con ls -l /dev/hd* e vediamo quali hanno cdrom come gruppo.
Abbiamo ora due possibilità A questo punto manca un piccolo dettaglio:
Per la masterizzazione è consigliato eseguire cdrdao e cdrecord da utente root... Si puo' attivare velocemente il bit suid ai due comandi con k3bsetup, mettendo la spunta su "Use burning group: cdrom" (per il motivo visto prima) e dando ok.
Altra piccola nota: attenzione al kernel 2.6.8.x perché non riconosce bene alcuni masterizzatori CD... per esempio il mio masterizzatore DVD avrebbe potuto masterizzare DVD ma non CD! Curioso... cmq, un upgrade a kernel piu' recenti ha risolto il problema.

Stampare: Cups

Per far funzionare la nostra stampante useremo, come detto prima, CUPS ("Common UNIX printing system") che ormai viene addottato da tutte le distribuzioni.
Per la configurazione possiamo usare il nostro browser preferito, andando all'indirizzo "http://localhost:631" (nel caso cups stia girando sulla stessa macchina). Cups infatti si mette in ascolto sulla porta 631.
Dobbiamo ora aggiungere la stampante: andiamo in "Do Administration tasks" - "Add printer", diamo un nome (senza spazi) e una descrizione eventualmente della stampante, scegliamo la porta alla quale è connessa la stampante, e infine il driver e il modello da usare (se ci fossero problemi potete cercare su linuxprinting.org.
Quando avete finito, stampate una pagina di test incrociando le dita.
Se doveste condividere la stampante in rete, alla fine del file /etc/cups/cupsd.conf troverete gli host a cui è consentito l'accesso.
Infine, per abilitare la stampa da KDE e le sue applicazioni (Konqueror, Kuickshow e quant'altri) dovete semplicemente andare nel centro di controllo di KDE, andare su periferiche - stampanti, e scegliere (in basso a destra) CUPS come "sistema di stampa".
Un'altra piccola nota: per stampare da riga di comando, potete usare il comando lpr, per esempio per stampare un'immagine:
lpr -o scale=100 nomeimmagine.jpg
stamperà l'immagine in modo che stia nel foglio manentendone le proporzioni.
Che l'inchiostro sia con voi!

Centralizzare i download di apt-get

Se avete una rete locale con piu' sistemi Debian che aggiornate spesso (in questa guida abbiamo installato SID) puo' essere una seccatura ogni volta scaricarsi i nuovi pacchetti, specie se avete una connessione lenta!
Beh questo punto permette proprio di risolvere questa situazione.
Installeremo in uno dei computer, che farà da server, il pacchetto apt-proxy che permetterà di condividere i pacchetti scaricati con gli altri computer. Poi in tutti i computer (compreso il server) cambieremo la lista di fonti (sources.list) in modo da puntare al server. Cominciamo:

Installare Apache2

Installiamo ora un webserver locale, utile per provare le pagine web che create, se le create, altrimenti saltate pure :-)
Installiamo il pacchetto apache2 e il pacchetto libapache2-mod-php4...
Questo già ci crea un webserver funzionante e andando all'indirizzo http://localhost/ ci verrà mostrato il contenuto della cartella /var/www.
Creiamo ora un nuovo sito, in modo che digitando sul browser "http://prova.rete.locale" possiamo accedere alla cartella in /prova, così possiamo avere tanti siti virtuali sulla nostra macchina: Creiamo un file in /etc/apache2/sites-available (siti disponibili), lo chiamiamo prova e ci scriviamo:
<VirtualHost *>
 Servername prova.rete.locale
 DocumentRoot /prova
 <Directory />
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  allow from all
 </Directory>
</VirtualHost>
Dove appunto in DocumentRoot abbiamo scelto la cartella che conterrà la root del sito, e in Servername abbiamo messo il nome del server virtuale.
Abilitiamo il sito inserendo un link simbolico nella cartella sites-enabled (siti abilitati) con
cd /etc/apache2/sites-available
ln -s /etc/apache2/sites-available/prova ../sites-enabled/
Riavviamo apache con
apache2ctl restart
Ecco ora apache è pronto, ma se proviamo ad accedere http://prova.rete.locale non riuscirà trovare alcun indirizzo con questo nome. Dobbiamo allora andare a modificare il file /etc/hosts e dirgli che prova.rete.locale lui ci deve mandare al computer locale (localhost)... Nella prima riga che corrisponde a localhost, inseriamo alla fine "prova.rete.locale", così
127.0.0.1 localhost.localdomain localhost prova.rete.locale
Come ultima cosa, cambiamo nel file "apache2.conf"
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
in
DirectoryIndex index.html index.htm index.cgi index.pl index.php index.xhtml
in modo che legga automaticamente anche le pagine index.htm (e riavviamo apache)

Probabilmente vorrete anche installare il pacchetto php4-gd, presente in molti webserver in giro, che fornisce una libreria molto comoda per manipolare le immagini da php. Una volta installato, modificate il file /etc/php4/apache2/php.ini e togliete il commento alla riga:
extension=gd.so
Piccola nota per Ubuntu:
Il pacchetto apache2 di Ubuntu, ha un'impostazione che non mi spiego di default: apache imposta automaticamente la codifica delle pagine a UTF8 ignorando la codifica che impostate nell'html... comporamento assurdo, per tornare alla norma (di Debian) modificate il file /etc/apache2/conf.d/charset e commentate con un # la riga:
# AddDefaultCharset UTF-8
Ultima modifica: 21/03/10 15:09
dariosky's home