Ciao a tutti,
Vi descrivo come fare l'installazione di Debian Etch utilizzando il debootstrap da rescue.
-- Note legali --
Autore e detentore del CopyRight - Massimiliano Cianelli
Ogni forma di distribuzione GRATUITA è ben accetta, purchè riporti l'intero documento, senza modifiche ed inclusivo di questo disclaimer.
Per quanto l'autore abbia fatto del suo meglio nel curare la forma di questo howto, non si ritiene responsabile per i danni derivanti dalla messa in pratica delle informazioni contenute in questo documento. È impossibile verificare che le cose funzionino con ogni configurazione, per cui è probabile che alcuni dei suggerimenti dati in questo documento possano essere non corretti o possano non funzionare su un determinato sistema.
Questo documento è fornito "così com'è''. L'autore ha posto il massimo impegno nella sua stesura, ma l'uso delle informazioni che vi sono contenute è a proprio rischio e pericolo. In nessun caso l'autore potrà essere ritenuto responsabile per danni derivanti dall'uso del suo lavoro.
----
Il seguente howto è stato testato su di un server Kimsufi XL con motherboard Intel D945GCNL (importante per il file di configurazione del kernel allegato).
----
Fase 1 - Avvio in modalità rescue
Dal VS pannello, riavviate il server in modalità rescue.
Fase 2 - Partizionamento del disco
Prenderemo in esempio che il disco sia su /dev/sda e che sia di 250GB di cui 2048MB vorremmo utilizzarli per la swap.
Di conseguenza creeremo la partizione sda1 da 248GB di tipo Linux (83) e sda2 da 2GB di tipo Linux Swap (82).
Per l'operazione consiglio l'utilizzo di cfdisk ai non esperti (cfdisk /dev/sda).
** RICORDATEVI DI SETTARE SU SDA1 LA FLAG BOOT **
Una volta scritte le partizioni sul disco, dando il comando
fdisk -l /dev/sda dovreste avere un output come segue:
Codice:
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 30152 242195908+ 83 Linux
/dev/sda2 30153 30401 2000092+ 82 Linux swap / Solaris
Fase 3 - Formattazione del disco
Adesso daremo il comando
mkfs.ext3 /dev/sda1 per formattare la partizione in EXT3, se non ci sono errori.. vi ritroverete con un output come questo:
Codice:
rescue:~# mkfs.ext3 /dev/sda1
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
30277632 inodes, 60548977 blocks
3027448 blocks (5.00%) reserved for the super user
First data block=0
1848 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
rescue:~#
Inizializiamo la partizione di swap con il comando:
mkswap /dev/sda2
Codice:
rescue:~# mkswap /dev/sda2
Setting up swapspace version 1, size = 2048090 kB
no label, UUID=7ff7b6e4-30cb-472b-bc2f-7d018c6c683f
rescue:~#
Fase 4 - Scarichiamo e prepariamo per l'utilizzo il pacchetto debootstrap aggiornato per etch.
Scarichiamo da
http://ftp.fr.debian.org/debian/pool...2etch1_all.deb il pacchetto aggiornato per etch con wget.
Codice:
rescue:~# wget http://ftp.fr.debian.org/debian/pool/main/d/debootstrap/debootstrap_0.3.3.2etch1_all.deb
--00:53:49-- http://ftp.fr.debian.org/debian/pool/main/d/debootstrap/debootstrap_0.3.3.2etch1_all.deb
=> `debootstrap_0.3.3.2etch1_all.deb'
Resolving ftp.fr.debian.org... 212.27.32.66
Connecting to ftp.fr.debian.org[212.27.32.66]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 45,556 [application/x-debian-package]
100%[=============================================>] 45,556 --.--K/s
00:53:49 (2.37 MB/s) - `debootstrap_0.3.3.2etch1_all.deb' saved [45556/45556]
Decomprimiamolo (visto che non possiamo aggiornarlo sul sistema rescue che è montata in Read Only) con:
dpkg -x debootstrap_0.3.3.2etch1_all.deb ./
Dichiariamo la variabile DEBOOTSTRAP_DIR e PKGDETAILS richiesti dallo script, in modo da puntare verso le destinazioni corrette con:
declare -x DEBOOTSTRAP_DIR=/root/usr/lib/debootstrap
declare -x PKGDETAILS=/usr/lib/debootstrap
Montiamo /dev/sda1 in /mnt con il comando:
mount /dev/sda1 /mnt
Fase 5 - Avviamo debootstrap.. per la prima fase d'installazione!
Entriamo in /root/usr/sbin/ con:
cd usr/sbin/ (non manca lo slash iniziale, è così che deve essere.. assumendo che già stiamo in /root)
ed avviamo debootstrap con il seguente comando:
./debootstrap --arch amd64 etch /mnt http://ftp.fr.debian.org/debian
Codice:
rescue:~/usr/sbin# ./debootstrap --arch amd64 etch /mnt http://ftp.fr.debian.org/debian
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Checking component main on http://ftp.fr.debian.org/debian...
[... Tagliato ...]
I: Base system installed successfully.
rescue:~/usr/sbin#
Dovremmo avere un output finale con "Base system installed successfully" come mostrato.. sennò qualcosa è andato storto, allora postate e vediamo insieme cosa è andato storto!
Fase 6 - Iniziamo con la configurazione del nostro server :-)
Per prima cosa chrottiamoci all'interno del nostro server con:
chroot /mnt
6.1 - Configurazione di FSTAB
Supponendo che le nostre partizioni sono sempre sda1 con il sistema e sda2 con la swap, con questo semplice echo.. potremmo configurare l'fstab:
Codice:
echo "proc /proc proc defaults 0 0
> none /dev/pts devpts gid=5,mode=620 0 0
> /dev/sda2 none swap sw 0 0
> /dev/sda1 / ext3 defaults 0 0" > /etc/fstab
6.2 - Configurazione della RETE
La sintassi per la configurazione di if-up è molto semplice, il file di configurazione contiene i seguenti parametri:
address <- che è il vostro IP.. eg: 91.121.90.1
broadcast <- il broadcast address.. eg. 91.121.90.255
netmask <- la subnet.. eg. 255.255.255.0
gateway <- bhe! il vostro gateway!.. eg. 91.121.90.254
Anche questa volta un semplice echo basta per la configurazione, ma vi riporto per facilità di editing.. il file di configurazione da modificare conmpilato con degli esempi, le cose non descritto su.. come auto lo, auto eth0 etc.. lasciatele come sono:
File /etc/network/interfaces:
Codice:
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto eth0
iface eth0 inet static
address 91.121.90.1
broadcast 91.121.90.255
netmask 255.255.255.0
gateway 91.121.90.254
Configuriamo pure i DNS in /etc/resolv.conf con un bel echo:
echo "nameserver 213.186.33.99" > /etc/resolv.conf
6.3 - Configurazione base del sistema
Montiamo l'FS virtuale PROC con:
mount -t proc proc /proc
Configuriamo il fuso orario con il comando:
tzconfig
Selezioando Europe/Rome come fuso orario :-) [sarebbe 8 e poi scrivete Rome]
Dovreste ricevere alla fine un output come questo:
Codice:
Your default time zone is set to 'Europe/Rome'.
Local time is now: Mon Nov 24 01:02:53 CET 2008.
Universal Time is now: Mon Nov 24 00:02:53 UTC 2008.
Adesso configuriamo il nome del nostro server.. chiamiamolo ad esempio "debian" (che fantasia eh? :P)...
echo "debian" > /etc/hostname e rendiamo effettivo il cambiamento con
hostname -F /etc/hostname. (Non vi preoccupate se non cambia il nome nella shell.. sarà operativo al reboot )
Adesso configuriamo anche il file /etc/hosts che contiene gli "host forzati".. eg. localhost.:
Codice:
echo "127.0.0.1 localhost localhost.localdomain
>
> # The following lines are desirable for IPv6 capable hosts
> ::1 ip6-localhost ip6-loopback
> fe00::0 ip6-localnet
> ff00::0 ip6-mcastprefix
> ff02::1 ip6-allnodes
> ff02::2 ip6-allrouters
> ff02::3 ip6-allhosts" > /etc/hosts