# Diese Dokument unterliegt der GPL und darf frei kopiert 
# und verwendet werden.
# 
# ALLE ANGABEN SIND SELBSTVERSTÄNDLICH OHNE GARANTIE ODER GEWÄHR
# Ich versuche alles bestmöglichst zu testen, Fehler sind
# aber nicht ausgeschlossen.
#
# Es basiert auf einer Idee von t.nix@paupau.de
# URL: http://www.lordy.de/debian/install.html
# Last Update: 05.12.2002

# Bugs, Kommentare, Flames an -> debian@lordy.de

# ChangeLog:
# 23.08.2002 - parted zu debian-start.tar.gz hinzugefügt
#              Damit kann die Platte neu partitioniert werden
# 23.08.2002 - reiserfsprogs (www.reiserfs.org) hinzugefügt
#              Dies ermöglicht die Verwendung von reiserfs
#              Bei Verwendung /etc/fstab anpassen !
# 25.08.2002 - Anmerkungen zu ReiserFS
# 27.08.2002 - Neue Paket-Quelle: update.pureserver.de
#              Traffic zu diesem Server ist im Gegensatz
#              zu anderen Debian-Mirrors gratis !
# 28.08.2002 - Hinweise zu /boot und ReiserFS
# 01.09.2002 - Korrektur beim Setzen des Hostnames und dem
#              abschließenden Unmount
# 24.09.2002 - Anmerkung zur Installation des Kernels
# 25.11.2002 - update-rc.d zum Aufraeumen der Runlevels
# 26.11.2002 - update-rc.d korrigiert
# 05.12.2002 - Einiges überflüssiges entfernt :-)
# 28.03.2003 - via-rhine Treiber fuer neue Root-Server hinzugefuegt
               Danke an Tobias Schlitt fuer den Hinweis
# 18.06.2003 - debianstart.tar.gz direkt entpacken (wget | tar)

# Einloggen unter https://config.puretec.de/
# Root-Server auswählen
# Menü Serververwaltung
# alles unter "Serverdaten" notieren

# Recovery-Tool:
# Rescue-System + Reset -> Weiter

# Das System wird nun im Rescue-Modus gestartet
# und sollte nach ca. 3 Minuten wieder per ssh
# erreichbar sein

# Nach dem einloggen sollte es so aussehen:
# -----------------------------------------
# Welcome to rescue system
# root@rescue:~# 

# Das Debian Start Paket holen:
# -----------------------------
cd /
wget -qO - http://www.lordy.de/debian/debian-start.tar.gz | tar xzvf -

# Dateisysteme anlagen (ext3):
# ----------------------------
mke2fs -j /dev/hda1
mke2fs -j /dev/hda3
mkswap /dev/hda2
# (man kann natürlich auch anders formatieren...)
# möchte man ReiserFS benutzen ist hier mkreiserfs /dev/hda? nötig
# ACHTUNG: ReiserFS sollte nicht für die /boot Partition verwendet
#          werden, da dies zu Problem mit LILO führt

# Dateisysteme mounten:
# ---------------------
cd /mnt
mkdir debian
mount /dev/hda3 debian
mkdir debian/boot
mount /dev/hda1 debian/boot
# (für weitere Dateisysteme ebenfalls...)

# debootstrap starten:
# --------------------
/usr/sbin/debootstrap woody /mnt/debian http://update.pureserver.de/debian
# (endet mit -> I: Base system installed successfully.)

# Im chroot geht's weiter:
# ------------------------
chroot /mnt/debian

# Jetzt sollte der Prompt nur noch so aussehen:
# rescue:/#

# Apt-Setup starten:
# ------------------
apt-setup

# Als Qulle "ftp" wählen :-)
# non-US software: yes
# non-free software: no
# Land auswählen -> Germany :-)
# ftp aussuchen (z.B. ftp.de.debian.org)
# Add another apt source: no
# Security updates: yes

# /etc/apt/sources.list ändern:
# -----------------------------
rm /etc/apt/sources.list
touch /etc/apt/sources.list

echo "deb     http://update.pureserver.de/debian woody main" >> /etc/apt/sources.list
echo "deb-src http://update.pureserver.de/debian woody main" >> /etc/apt/sources.list
echo "deb     http://update.pureserver.de/debian-non-US woody/non-US main" >> /etc/apt/sources.list
echo "deb-src http://update.pureserver.de/debian-non-US woody/non-US main" >> /etc/apt/sources.list
echo "deb     http://update.pureserver.de/debian/ woody-proposed-updates main" >> /etc/apt/sources.list
echo "deb-src http://update.pureserver.de/debian/ woody-proposed-updates main" >> /etc/apt/sources.list
echo "deb     http://security.debian.org/ stable/updates main" >> /etc/apt/sources.list
echo "deb-src http://security.debian.org/ stable/updates main" >> /etc/apt/sources.list

# apt aktualisieren:
# ------------------
apt-get update

# Kernel 2.4.18 installieren:
# ---------------------------
apt-get install kernel-image-2.4.18-bf2.4
# (Link zu vmlinuz anlegen: yes)
# Sollte die Fehlermeldung "Could not find where the current root file system is mounted!"
# auftauchen, kann man diese ignorieren.

# Lilo konfigurieren:
# -------------------
touch /etc/lilo.conf
echo "boot=/dev/hda" >> /etc/lilo.conf
echo "root=/dev/hda3" >> /etc/lilo.conf
echo "install=/boot/boot-menu.b" >> /etc/lilo.conf
echo "lba32" >> /etc/lilo.conf
echo "image=/vmlinuz" >> /etc/lilo.conf
echo "label=debian" >> /etc/lilo.conf
/sbin/lilo
# (meldet: Added debian *)

# Hostnamen setzen:
# -----------------
# (entsprechend anpassen)
export HOSTNAME=p15104950
touch /etc/hostname
echo $HOSTNAME >> /etc/hostname
hostname -F /etc/hostname

# Basis-System installieren:
# --------------------------
base-config

# GMT: yes
# Area: Europe/Berlin
# MD5: yes
# Shadow: yes
# Altes oder eigenes root-Passwort setzen
# Create user: yes
# ppp: no
# Quelle: ftp
# non-free software: no
# Country: Germany :-)
# Mirror: ftp.de.debian.org (o.a.)
# Add apt source: no

# Run tasksel: yes
# ----------------
# Hier sollte man zumindest "conventional unix server" auswählen
# der Rest (web server, etc.) nach belieben :-)

# Run dselect: no

# Jetzt werden die ausgewählten Pakete installiert -> mit Y bestätigen

# Kernel link failure: Ok
# Configure less: no
# Configure locales: de_DE (wer's braucht ;-))
# Set system environment: leave alone
# Allow SSH2 only: yes
# Install ssh-keysign SUID: yes
# (man kann auch no sagen, wenn man keine Host-Auth benutzt)
# Run sshd server: yes
# (Was auch sonst ? :-))

# ispell: american oder british, ganz nach belieben
# Erase downloaded .deb files: yes (spart Platz)
# Evtl. Fehlermeldungen erstmal ignorieren

# /etc/fstab anpassen:
# --------------------
rm /etc/fstab
echo "#UNCONFIGURED FSTAB FOR BASE SYSTEM" >> /etc/fstab 
echo "/dev/hda2       none    swap    sw                          0  0" >> /etc/fstab
echo "/dev/hda3       /       ext3    defaults                    0  1" >> /etc/fstab
echo "/dev/hda1       /boot   ext3    defaults                    1  2" >> /etc/fstab
echo "proc            /proc   proc    defaults                    0  0" >> /etc/fstab
# (falls vorhanden, andere Dateisysteme nicht vergessen !)
# bei einem ReiserFS System muß ext3 vorher entsprechend durch reiserfs
# ersetzt werden, sonst kann das System die Partitionen später nicht mounten !
# ACHTUNG: /boot sollte nicht ReiserFS sondern ext3 sein !

# Kernel Module eintragen:
# ------------------------
echo "echo unix" >> /etc/modules
echo "af_packet" >> /etc/modules
echo "rtl8139" >> /etc/modules
echo "via-rhine" >> /etc/modules

# Netzwerk konfigurieren:
# -----------------------
# (Alle Angaben doppelt prüfen !)
export IP=217.160.131.57
export NETMASK=255.255.255.0
export NETWORK=217.160.131.0
export BROADCAST=217.160.131.255
export GATEWAY=217.160.131.1

echo "127.0.0.1      localhost" >> /etc/hosts
echo $IP" "$HOSTNAME".pureserver.info "$HOSTNAME >> /etc/hosts

echo "auto lo" >> /etc/network/interfaces
echo "iface lo inet loopback" >> /etc/network/interfaces
echo "" >> /etc/network/interfaces
echo "auto eth0" >> /etc/network/interfaces
echo "iface eth0 inet static" >> /etc/network/interfaces
echo "        address   "$IP >> /etc/network/interfaces
echo "        netmask   "$NETMASK >> /etc/network/interfaces
echo "        network   "$NETWORK >> /etc/network/interfaces
echo "        broadcast "$BROADCAST >> /etc/network/interfaces
echo "        gateway   "$GATEWAY >> /etc/network/interfaces

# Boot-Modus im Recovery-Tool auf "Normales System" zurückstellen
# aber _KEIN_ Reset ausführen

# Installation beenden und neu booten:
# ------------------------------------
exit
umount /mnt/debian/boot
umount /mnt/debian
# (für weitere Dateisysteme ebenfalls ...)
shutdown -rn now

# Jetzt Daumen drücken und 3 Minuten warten  :-)
# Dann sollte man sich wieder per ssh einloggen können

# Nach erfolgreicher Installation:
# --------------------------------
# in /etc/ssh/sshd_config:
# PermitRootLogin no

apt-get dist-upgrade

# Runlevel aufräumen:
# -------------------
update-rc.d -f ppp remove
update-rc.d -f nfs-common remove
update-rc.d -f lpd remove
update-rc.d -f pcmcia remove
update-rc.d -f portmap remove

# inetd aufräumen:
# ----------------
# Eigentlich sollte man inetd ganz entfernen und
# durch tcpserver ersetzen :-)
# http://cr.yp.to/ucspi-tcp.html
update-inetd --remove discard
update-inetd --remove daytime
update-inetd --remove telnet
update-inetd --remove time
update-inetd --remove finger
update-inetd --remove talk
update-inetd --remove ntalk
/etc/init.d/inetd reload

# HAVE FUN ! :-)