Installazione di &debian; da un sistema Unix/Linux esistente
In questa sezione è spiegato come installare &debian; a partire da un sistema
Unix o Linux esistente, senza utilizzare l'installatore a menu come illustrato
nel resto del manuale. Questo HOWTO sul cross-install
è stato
richiesto da utenti di altre distribuzioni, Red Hat, Mandrake e SUSE, che
vogliono passare a &debian;. Viene data per acquisita una minima familiarità
con i comandi *nix e con la navigazione del file system. In questa sezione,
$ indica un comando da inserire nel sistema attualmente in
uso all'utente, mentre # si riferisce a un comando da
inserire nell'ambiente chroot di Debian.
Una volta che il nuovo sistema Debian è stato configurato a proprio
piacimento, si può procedere alla migrazione dei dati esistenti e
proseguire normalmente. Si tratta perciò di un'installazione che non
blocca, nemmeno momentaneamente, l'uso del sistema, inoltre è un modo
ingegnoso per lavorare con hardware che potrebbe creare problemi con i
normali dispositivi di avvio o installazione.
Primi passi
Si ripartizioni secondo le proprie necessità il disco fisso con i tool
di partizionamento *nix disponibili. Come minimo servono un file system
e una partizione di swap. Per un ambiente puramente testuale è necessario
150 MB di spazio minimo, 300 MB se si intende installare X.
Si creino dei file system sulle partizioni appena create. In questo esempio
si crea un file system ext3 sulla partizione /dev/hda6
(in seguito questa partizione è usata come root):
# mke2fs -j /dev/hda6
Per creare un file system ext2, basta omettere l'opzione
-j.
Si inizializzi e attivi lo swap (si sostituisca il numero della
partizione con quello della partizione destinata allo swap per Debian):
# mkswap /dev/hda5
# sync; sync; sync
# swapon /dev/hda5
Si monti una partizione come /mnt/debinst (il punto
di installazione, che sarà il file system di root (/)
del nuovo sistema). Il nome del mount point è arbitrario, quello scelto
verrà utilizzato da qui in avanti.
# mkdir /mnt/debinst
# mount /dev/hda6 /mnt/debinst
Nel caso si voglia avere delle parti del filesystem (p.e. /usr) montate da
delle partizioni separate è necessario creare e montare manualmente queste
directory prima di procedere con la prossima fase.
Installazione di debootstrap
Lo strumento che l'installatore Debian usa, e che è considerato il
mezzo ufficiale per installare un sistema Debian di base, è
debootstrap. Utilizza wget e
ar, ma a parte questi dipende solo da
/bin/sh e dagli strumenti Unix/Linux di
base
Questi includono le principali utility GNU e comandi come
sed, grep, tar e
gzip.
. Si installi
wget e ar in caso non siano già
presenti sul sistema in uso, quindi si scarichi e installi
debootstrap.
Un'ulteriore possibilità è installarlo manualmente seguendo questa
procedura. Si crei una cartella di lavoro in cui estrarre il .deb:
# mkdir work
# cd work
Il binario di debootstrap si trova nell'archivio
Debian (si faccia attenzione a scegliere il file adatto alla propria
architettura). Si scarichi il pacchetto .deb di
debootstrap da pool,
lo si copi nella cartella di lavoro e si estraggano da esso i file
binari. Servono i privilegi di root per installarli.
# ar -xf debootstrap_0.X.X_arch.deb
# cd /
# zcat < /full-path-to-work/work/data.tar.gz | tar xv
Notare che l'esecuzione di debootstrap potrebbe
richiedere l'installazione di una versione minimale della
glibc (al momento GLIBC_2.3).
debootstrap è semplicemente uno script di shell ma
richiama diverse utilità che richiedono la glibc.
Esecuzione di debootstrap
Quando viene lanciato, debootstrap è in grado
di scaricare i file necessari direttamente dall'archivio. Si può
sostituire a http.us.debian.org/debian,
utilizzato nell'esempio sottostante, un qualsiasi mirror dell'archivio
Debian, meglio se geograficamente vicino. Un elenco dei mirror è
reperibile presso: .
In caso si abbia un CD &debian; &releasename; montato su
/cdrom, si può sostituire all'URL http
l'URL file:/cdrom/debian/.
Al posto di ARCH, nel comando
debootstrap si sostituisca uno dei seguenti:
alpha, arm,
hppa, i386,
ia64, m68k,
mips, mipsel,
powerpc, s390 o
sparc.
# /usr/sbin/debootstrap --arch ARCH sarge \
/mnt/debinst http://http.us.debian.org/debian
Configurazione del sistema di base
Ora sul disco c'è un vero sistema Debian, seppur minimale. Ci si faccia
chroot:
# LANG= chroot /mnt/debinst /bin/bash
Montare le partizioni
Bisogna creare /etc/fstab.
# editor /etc/fstab
Segue un esempio che si può adattare secondo le proprie necessità:
# /etc/fstab: static file system information.
#
# file system mount point type options dump pass
/dev/XXX / ext3 defaults 0 1
/dev/XXX /boot ext3 ro,nosuid,nodev 0 2
/dev/XXX none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /mnt/floppy auto noauto,rw,sync,user,exec 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0
/dev/XXX /tmp ext3 rw,nosuid,nodev 0 2
/dev/XXX /var ext3 rw,nosuid,nodev 0 2
/dev/XXX /usr ext3 rw,nodev 0 2
/dev/XXX /home ext3 rw,nosuid,nodev 0 2
Per montare tutti i file system specificati nel proprio
/etc/fstab, si esegua mount -a,
mentre per montarli singolarmente si usi:
# mount /path # ad esempio: mount /usr
È possibile montare il file system proc più volte e in posizioni
arbitrarie, ma è consuetudine farlo su /proc. In caso
non si esegua mount -a, ci si assicuri di montare
proc prima di continuare:
# mount -t proc proc /proc
Adesso il comando ls /proc dovrebbe mostrare una
directory con dei file. Se non funziona, si dovrebbe essere in grado di
montare proc da fuori della chroot:
# mount -t proc proc /mnt/debinst/proc
Configurazione della tastiera
Per configurare la propria tastiera:
# dpkg-reconfigure console-data
Notare che la tastiera non può essere impostata quando si è all'interno
della chroot, sarà possibile configurarla al riavvio successivo.
Configurazione della rete
Per configurare la rete, si editino /etc/resolv.conf,
/etc/hostname e /etc/hosts.
# editor /etc/network/interfaces
Alcuni esempi banali da
/usr/share/doc/ifupdown/examples:
######################################################################
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# See the interfaces(5) manpage for information on what options are
# available.
######################################################################
# We always want the loopback interface.
#
auto lo
iface lo inet loopback
# To use dhcp:
#
# auto eth0
# iface eth0 inet dhcp
# An example static IP setup: (broadcast and gateway are optional)
#
# auto eth0
# iface eth0 inet static
# address 192.168.0.42
# network 192.168.0.0
# netmask 255.255.255.0
# broadcast 192.168.0.255
# gateway 192.168.0.1
Gli indirizzi dei name server e le direttive search vanno immesse in
/etc/resolv.conf:
# editor /etc/resolv.conf
Un semplice /etc/resolv.conf:
search hqdom.local\000
nameserver 10.1.1.36
nameserver 192.168.9.100
Si immetta l'hostname del proprio sistema (da 2 a 63 caratteri):
# echo DebianHostName > /etc/hostname
In presenza di più schede di rete, si dovrebbero disporre i nomi dei driver
nel file /etc/modules nell'ordine desiderato. In tal
modo, durante l'avvio ad ogni scheda verrà associato il nome di interfaccia
che ci si aspetta (eth0, eth1, etc.).
Configurazione del pacchetto locales
Per utilizzare una localizzazione diversa da quella inglese, si installi
il pacchetto locales e lo si configuri.
# apt-get install locales
# dpkg-reconfigure locales
NOTA: Apt dev'essere già stato configurato in precedenza con la creazione
di source.list e l'esecuzione di apt-get update.
Prima di utilizzare locales con un set di caratteri diverso da
ASCII o latin1, si consulti l'HOWTO di localizzazione appropriato.
Installazione di un kernel
In caso si intenda fare il boot nel nuovo sistema, servono un kernel
Linux e
un boot loader. I kernel pacchettizzati disponibili si trovano con
# apt-cache search kernellinux-image
Si può quindi installare quello scelto usando il nome del pacchetto.
# apt-get install kernellinux-image-&kernelversion;-arch-etc
Configurazione del boot loader
Per rendere avviabile il sistema &debian;, si configuri il boot loader
affinché carichi il kernel installato con la nuova partizione di root. Si
noti che debootstrap non installa di suo un boot loader, lo si può fare
tramite apt-get dall'interno della chroot Debian.
Si provi info grub o man
lilo.conf per ottenere istruzioni sulla configurazione del
boot loader. Nel caso si desideri mantenere attivo il sistema da cui si
è installato Debian, è sufficiente aggiungere una voce per Debian al file
di grub (menu.lst) o di lilo
(lilo.conf) esistente. Se si tratta di
lilo.conf, è anche possibile copiarlo sul nuovo
sistema e lì modificarlo opportunamente. Dopo averlo modificato eseguire
lilo (ricordandosi che usa il lilo.conf relativo al
sistema su cui viene lanciato).
Di seguito un /etc/lilo.conf di base come esempio:
boot=/dev/hda6
root=/dev/hda6
install=menu
delay=20
lba32
image=/vmlinuz
label=Debian
Si provi man yaboot.conf per ottenere istruzioni
sulla configurazione del boot loader. Nel caso si intenda mantenere
attivo il sistema da cui si è installato Debian, è sufficiente
aggiungere una voce per Debian al file yaboot.conf
esistente. È anche possibile copiarlo sul nuovo sistema e lì
modificarlo opportunamente. Dopo averlo fatto, si invochi ybin
(ricordandosi che usa il yaboot.conf relativo al
sistema su cui viene lanciato).
Di seguito un /etc/yaboot.conf di base come esempio:
boot=/dev/hda2
device=hd:
partition=6
root=/dev/hda6
magicboot=/usr/lib/yaboot/ofboot
timeout=50
image=/vmlinux
label=Debian
Su alcune macchine potrebbe essere necessario usare
ide0: al posto di hd:.