Installazione di &debian; da un sistema Unix/Linux esistente Questa sezione spiega 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 sia stato configurato a 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. Si tratta inoltre di 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, 150MB di spazio minimo per un ambiente puramente testuale, 300MB se si intende installare X. Un esempio di come creare i file system sulle proprie partizioni. In questo caso si tratta di un file system ext3 sulla partizione /dev/hda6 (negli esempi successivi si tratta della partizione root): # mke2fs -j /dev/hda6 Per creare un file system ext2, basta omettere -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 root file system (/) 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 abbiano 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 <command>debootstrap</command> Lo strumento che l'installatore Debian usa, considerato il mezzo ufficiale per installare un sistema Debian di base, è debootstrap. Utilizza wget e ar, ma a parte questo dipende solo da /bin/sh. Si installi wget e ar in caso non siano già presenti sul sistema in uso, quindi si scarichi e installi debootstrap. Su un sistema basato su rpm, si può utilizzare alien per convertire il pacchetto .deb in .rpm, o si può scaricarne una versione rpm presso Un'ulteriore possibilità è fare come segue per installarlo a mano. 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 secondo la 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 <command>debootstrap</command> 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 archivio mirror di Debian, meglio se prossimo in rete. 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/network/interfaces, /etc/resolv.conf e /etc/hostname. # 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 fuso orario, degli utenti e di APT Ora si può impostare il fuso orario, aggiungere un utente normale e scegliere le sorgenti apt con il comando # /usr/sbin/base-config new Configurazione di 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, ad esempio durante la fase base-config. Prima di utilizzare locales con set di caratteri diversi 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 kernel-image Si può quindi installare quello scelto usando il nome del pacchetto # apt-get install kernel-image-2.X.X-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 fatto, si invochi 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:.