Inhaltsverzeichnis

Etch from Scratch Howto

Version 2.0
Stand: 19.01.2009

Author: sledge0303 Anpassungen by F4RR3LL|sven
E-Mail: sven.richter@nixhelp.de

1. Grundsätzliches

Dieses Howto beschreibt die Installationen eines Debian 4.0 (Codename Etch) Betriebssystems auf einem OVH Server im Rescue Modus.
Beachtet bitte die oben beschriebenen Umstände betreffs der Servertypen sowie der Intel 1 Gbit Netzwerkkarten. Aufgrund eines Bugs muss ein gepatchter Kernel installiert werden, damit der Server nach dem hochfahren eine Netzwerkverbindung aufbauen.
Bevor ihr loslegt, beachtet bitte die folgenden Regeln:

  1. lest das Howto erstmal durch: 'lesen - verstehen - handeln'
  2. Abweichungen können individuell erfolgen, müssen in Folgeschritten beachtet werden
  3. in seltenen Ausnahmefällen kann es passieren, dass nach dem Schritt 'Kernel Installation' SATA/PATA Controller nicht unterstützt werden
  4. Eigenverantwortlichkeit

Der Server ist nach der Installation weder abgesichert noch dem 'Standard' von OVH entsprechend

Das bedeutet:


Ferner empfehle ich dringend die Authentifikation per SSH-Key.


DU alleine bist für die komplette Installation, Absicherung und Wartung des Servers verantwortlich!!!

2. Sicherung der Netzwerkdaten

Diese Daten sind zwingend erforderlich für die Fortführung der Installation. Am besten ist es, Ihr sichert die Daten im Notepad

2.1 Grundsicherung der Daten

Die Ausgaben folgender Befehle sichern, am besten im Notepad.

lspci 
lsmod  
cat /etc/resolv.conf 
hostname 
cat /etc/network/interfaces 

3. Rescuesystem

Kundenmenu aufrufen und rescue auswählen unter Netboot. Anschließend in der Konsole 'reboot' eintippen.
Es dauert ein paar Minuten bis das Passwort eintrifft und danach loggt ihr euch per Putty mit dem Passwort ein.

3.1 Festplatte(n) partitionieren

Partionsmanager aufgrufen

cfdisk

Gelöscht wird das komplette Partitionsschema der vorherigen Installation - nicht zwingend erforderlich!

Als Beispiel für diese Installation wählen wir dieses Schema, wobei SDA8 zum Beispiel als LVM Device oder als encrypted Partition genutzt werden könnte. Wer dies nicht möchte, sollte den verfügbaren Festplattenspeicher auf alle Partitionen verteilen.

Device MountpointsFilesystem
sda1 / ext3
sda2 swap swap
sda3 /home ext3
sda5 /var ext3
sda6 /usr ext3
sda7 /tmp ext3
sda8 LVM/Crypt


Wir formatieren die neuen Partitionen und mounten diese sofort. Auch hier muss beachtet werden: IDE oder SATA

mkfs.ext3 /dev/sda1 
mkfs.ext3 /dev/sda3 
mkfs.ext3 /dev/sda5
mkfs.ext3 /dev/sda6
mkfs.ext3 /dev/sda7
 
mkswap /dev/sda2
swapon /dev/sda2
 
mount /dev/sda1 /mnt 
mkdir -p /mnt/home 
mount /dev/sda3 /mnt/home
mkdir -p /mnt/var
mount /dev/sda5 /mnt/var &&
mkdir -p /mnt/usr &&
mount /dev/sda6 /mnt/usr
mkdir -p /mnt/tmp 
mount /dev/sda7 /mnt/tmp 
cd /tmp
 
wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.12_all.deb
ar -xf debootstrap_1.0.12_all.deb 
tar xzf data.tar.gz 
tar xzf control.tar.gz

Um jetzt per debootstrap installieren zu können, muss die Source von debootstrap etwas verändert werden

nano usr/sbin/debootstrap
|Die folgenden Zeilen entsprechend editieren
DEBOOTSTRAP_DIR=/tmp/usr/share/debootstrap

4. Etch from scratch installieren und einrichten

Wir installieren nun Etch per debootstrap und anschließend per chroot in das frisch installierte System

usr/sbin/debootstrap --arch i386 etch /mnt/ http://ftp2.de.debian.org/debian 
 
mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev
mount -t tmpfs none /mnt/tmp
chroot /mnt /bin/bash

Läuft alles ohne Fehlermeldung durch, befindet man sich anschließend in Etch.

4.1 Rootpasswort und User erstellen

Neben dem User erstellen wir noch das Verzeichnis GRUB

mkdir -p /boot/grub &&
passwd
 
adduser $USERNAME

5. System und Netzwerk konfigurieren

Als Platzhalter wurde „$hostname“ und „$123.123.123.123“ als IP Adresse eingetragen, d.h. diese jetzt sinngemäß ersetzen

cat > /etc/hostname << "EOF"
$hostname
EOF

cat > /etc/hosts << "EOF"
127.0.0.1          localhost  localhost.localdomain
123.123.123.123    $hostname
EOF

cat > /etc/resolv.conf << "EOF"
nameserver 127.0.0.1
nameserver $123.123.123.123
nameserver 213.186.33.99
EOF 

5.1 Netzwerk

Netzwerkkonfiguration, einmal mit nur einer IP und unter 5.1.2 mit einer FailoverIP. Die Adressen entsprechend anpassen

5.1.1 mit einer statischen IP

cat > /etc/network/interfaces << "EOF"
iface lo inet loopback
auto lo

auto eth0
iface eth0 inet static
	address 123.123.123.123
	netmask 255.255.255.0
	broadcast 123.123.123.255
	network 123.123.123.0
	gateway 123.123.123.254
EOF

5.1.2 mit mindestens einer FailOverIP Adresse

cat > /etc/network/interfaces << "EOF"
iface lo inet loopback
auto lo

auto eth0
iface eth0 inet static
	address 123.123.123.123
	netmask 255.255.255.0
	broadcast 123.123.123.255
	network 123.123.123.0
	gateway 123.123.123.254

auto eth0:0
iface eth0:0 inet static
        address 124.124.124.124
        netmask 255.255.255.255
EOF

5.2 Einrichtung /etc/fstab, aptitude und Kernel

cat > /etc/fstab << "EOF"
/dev/sda1 / ext3 errors=remount-ro 0 1 
/dev/sda2 swap swap defaults 0 0
/dev/sda3 /home ext3 defaults 1 2 
/dev/sda5 /var ext3 defaults 1 2
/dev/sda6 /usr ext3 defaults 1 2
/dev/sda7 /tmp ext3 noexec 1 2
proc /proc proc defaults 0 0
EOF
 
cat > /etc/apt/sources.list << "EOF"
deb http://ftp2.de.debian.org/debian etch main contrib non-free
deb-src http://ftp2.de.debian.org/debian etch main contrib non-free
deb http://ftp2.de.debian.org/debian-security etch/updates main contrib non-free
EOF
 
aptitude update && aptitude upgrade
 
aptitude install -y ssh grub pciutils make automake gcc psmisc

Wir installieren den Kernel

cd /usr/src/
wget http://download.nixhelp.de/OvH-Kernel/32Bit-Kernel/linux-image-2.6.28.1_incl.Modulsupport.by.F4RR3LL_i386.deb

dpkg -i linux-image-2.6.28.1_incl.Modulsupport.by.F4RR3LL_i386.deb

Erklären Etch, es möge deutsch mit uns reden

aptitude install locales && dpkg-reconfigure locales

mit de_DE@euro ISO-8859-15… bist du auf der sicheren Seite

SSHd Konfiguration

Sicherheitstechnisch sollte man den Port für den SSH Zugang ändern und Rootlogin nicht zulassen. Auf dieser Seite findest du ein entsprechendes Howto für SSH, deswegen gehen wir hier nicht genauer auf diesen Punkt ein.

nano /etc/ssh/sshd_config

Zeitzone auf Europa, Berlin einstellen

tzconfig

Damit die Zeit unseres Servers immer stimmt, wird diese stündlich aktualisiert:

crontab -e

0 1 * * * /usr/sbin/ntpdate-debian

6. Bootloader installieren

Wir brauchen im Gegensatz zum Vorgänger nicht mehr den Server per Netbootkernel hochzufahren, damit der Kernel installiert wird. Bitte die folgenden Schritte penibel einhalten und auf Errormeldungen achten. Ich gehe in diesem Tutorial von nur einer verfügbaren Festplatte aus. Solltest du mehrere in deinem Server haben, diese dann wiederum sinngemäß anpassen in den folgenden Schritten.
Beispiel: ein USB Stick wird mit „(hd1) /dev/sdb“ in der device.map eingetragen


cp /usr/lib/grub/i386-pc/* /boot/grub/

cat > /boot/grub/device.map << "EOF"
(hd0)  /dev/sda
EOF


grub --no-floppy
root (hd0,0)
setup (hd0)
quit

Der Kontext sieht so aus, wenn keine Fehlermeldung auftritt

|Kontext für Installation des Grub Bootloaders
    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)
 
       [ Minimal BASH-like line editing is supported.   For
         the   first   word,  TAB  lists  possible  command
         completions.  Anywhere else TAB lists the possible
         completions of a device/filename. ]
 
grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83
 
grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  15 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
 
grub> quit

7. menu.lst erstellen

Auch hier diesen Schritt penibel wie beschrieben ausführen. Bei unterschiedlich verwendeten Kernelversionen anpassen

cat > /boot/grub/menu.lst << "EOF"
timeout 5
default 0
 
title=Linux
  root (hd0,0)
  kernel /boot/vmlinuz-2.6.28.1 root=/dev/sda1 ro
EOF

anschließend verlassen wir das chroot.

8. Reboot mit eigenem Kernel

Wir gehen wieder zurück zum Kundenmanager, stellen unter Netboot Expert HDD/SDA1 ein.
Zum Abschluss

exit
reboot

Wenn nichts falsch gemacht wurde, fährt der Server anstandslos hoch.

zurück zum Seitenindex