• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

[Tutorial] Debian Squeeze from Scratch

DevFly

New Member
Debian Squeeze from Scratch

Vorwort:
Dieses Tutorial erklärt wie man ein Standard Debian Squeeze auf einen Server installiert.
Bitte lest das Tutorial erstmal durch und geht es in Kopf durch bevor ihr anfangt.
Jeden sollte es klar sein was er macht und das es auf eignen Risiko passiert.
Getestet wurde das ganze auf ein Dedizierter Server von OVH

Hinweis:
Nach der Installation habt ihr ein Standard Debian System drauf das nicht abgesichert ist.
Viele Provider leisten dann auch kein Support mehr wenn man nicht ihr fertiges Image verwendet.
Deswegen seit Ihr für euren Server selbstverantwortlich was den Punkt Sicherheit und Wartung angeht.

Dann wollen wir mal los legen.


1. Daten sichern
Da wir nach der Installation das System einstellen müssen damit wir ins Netzwerk/Internet usw. rein kommen müssen wir vorab einige Daten sichern.

Loggt euch mit euern SSH Programm z.B. Putty oder mRemoteNG auf euern Server ein.

Kleiner Tipp für Anfänger: Per Rechtsklick könnt ihr in Putty und mRemoteNG das Kopierte in der Konsole einfügen.

Danach die Ausgaben sichern in Notepad z.B.:

Code:
lspci
lsmod
cat /etc/resolv.conf
hostname
cat /etc/network/interfaces
cat /etc/hosts


2. Server in Rescuesystem booten

So alle Daten gesichert dann wird es Zeit los zulegen. Bootet euer System in Rescue Modus.
Dieses kann je nach Provider anders von statten gehen.
In mein Beispiel wird es erklärt wie das bei OVH funktioniert.

Geht auf www.ovh.de unter Manager (zu finden Oben Rechts) loggt euch nun dort ein!
Wählt da euer Server aus (Sofern ihr mehre habt) der neu gemacht werden soll. Vergleicht am besten die IP´s.
Geht dann ganz unten auf Dienstleistungen und dann wählt Netboot ganz unten von hd auf rescue-pro stellen und eure E-Mail Adresse eintragen.
Dann noch auf Bestätigen. Jetzt in der Konsole noch:

Code:
reboot

eingeben.

Jetzt heisst es warten bis ihr das Passwort per Mail bekommt.
Danach mit den neuen Passwort sich wieder neu verbinden.


3. Festplatte partitionieren

Gibt in der Konsole:

Code:
cfdisk

dort in der Oberfläche wird eure momentane Partitionierung angezeigt.
Ich empfehle diese einmal zu löschen. Mit den Steuerungstasten Hoch und Runter die
gewünschte auswählen und dann ein mal nach Rechts drücken (auf Delete) und Enter drücken.
Das mit allen Partitionen machen zum schluss wenn nur noch Free Space da steht. Geht ihr soweit nach Rechts bis ihr auf Write steht und drückt dann Enter und gibt yes ein und drückt nochmalig Enter.

Jetzt ist die Festplatte ohne Partitionen. Jetzt legen wir neue an.
Diesen Part könnt ihr nach euren Wünschen anpassen.

Geht auf New und wählt Primary aus gibt dann dort die Größe ein. In mein Beispiel nehme ich für die System Partition 20GB das könnt ihr auch direkt so eingeben und Enter drücken.

Da dieses unsere System Partition ist machen wir diese auch Bootbar. Dazu müsst Ihr nur nochmal Enter drücken.
Jetzt den Type noch festlegen. Geht dazu auf Type und drückt Enter. Gibt nun 83 ein und drückt erneut Enter.

Als nächstes legen wir uns jetzt eine Swap Partition an. Wählt oben den Free Space aus und geht auf New wählt Primary und drückt Enter danach wieder die Größe eingeben hier geht ihr an besten von euren RAM aus und gibt
den Wert dort ein. In mein Beispiel wären das 2GB und drückt Enter. Danach gleich nochmal Enter drücken.
Jetzt müssen wir nur noch den Type festlegen. Geht dazu auf Type und gibt 82 ein.

So dann haben wir nur noch den Rest übrig. Den nimm ich immer in einen Stück. Dazu wieder auf Free Space gehen.
New auswählen und Enter und dann wieder auf Primary und Enter. Bei der Größe jetzt nur nochmal Enter drücken.
Jetzt geht ihr wieder auf Type und gibt dort 83 ein und drückt Enter.
So dann nur noch auf Write und gib yes ein. Danach könnt ihr auf Quit gehen und seit wieder auf der Konsole.


4. Festplatte formatieren


So jetzt müssen die neu angelegten Partitionen Formatiert werden

Dazu gibt ihr folgendes ein:

Code:
mkfs.ext4 /dev/sda1

In mein Beispiel haben wir jetzt die System Partition formatiert.
Als zweites hatten wir die Swap Partition da funktioniert das etwas anders.

Gibt folgendes ein:

Code:
mkswap /dev/sda2
swapon /dev/sda2

So und nun noch die Dritte Partition:

Code:
mkfs.ext4 /dev/sda3


5. Festplatten mounten

So jetzt müssen die neu angelegten Festplatten gemountet werden.

ausgehend von mein Beispiel gibt ihr folgendes ein:

Code:
mount /dev/sda1 /mnt
mkdir -p /mnt/home
mount /dev/sda3 /mnt/home

Passt es euch an wenn ihr eine andere Partitionierung gewählt habt.


6. Debootstrap runterladen und Anpassen

So jetzt laden wir Debootstrap runter geht dazu auf folgender Seite:

http://ftp.de.debian.org/debian/pool/main/d/debootstrap/

Sucht euch da die Aktuelle raus (An besten nach aktuellen Datum schauen) wir benötigen eine die auf all.deb endet.
In mein Fall wäre es die: debootstrap_1.0.32_all.deb

Kopiert euch den Downloadlink per Rechtsklick auf der Datei und Link Adresse kopieren

geht jetzt auf die Konsole und gibt folgendes ein:

Code:
cd /tmp
wget (Rechtsklick mit der Maus)

so jetzt muss das ganze noch entpackt werden:

Code:
ar -xf deboot(Tab Taste drücken)
tar xzf data.tar.gz
tar xzf control.tar.gz

Damit Debootstrap auf der Rescue auch funktioniert muss der Source angepasst werden.

Gibt folgendes ein:

Code:
nano usr/sbin/debootstrap

und jetzt sucht ihr folgende stelle steht weit oben ansonsten mit STRG+W suchen:

Code:
DEBOOTSTRAP_DIR=/usr/share/debootstrap

und ersetzt es mit:

Code:
DEBOOTSTRAP_DIR=/tmp/usr/share/debootstrap

Nach der Anpassung STRG+X drücken und Y eingeben und Enter drücken jetzt seit Ihr wieder auf der Konsole.


7. System installieren

So jetzt kommen wir zur Installation.

Für 32-Bit Systeme gibt ihr folgendes ein:

Code:
usr/sbin/debootstrap --arch i386 squeeze /mnt/ http://ftp2.de.debian.org/debian

und für 64-Bit folgenden:

Code:
usr/sbin/debootstrap --arch amd64 squeeze /mnt/ http://ftp2.de.debian.org/debian

Solltet ihr wie ich dort folgenden Fehler erhalten:

Code:
E: Release signed by unknown key (key id AED4B06F473041FA)

müsst ihr den Source nochmalig anpassen:

Code:
nano usr/sbin/debootstrap

Dort sucht ihr nach:

Code:
DISABLE_KEYRING=""

und ersetzt es mit:

Code:
DISABLE_KEYRING="1"

Danach wieder STRG+X und Y und Enter.

Jetzt nur 2 mal nach oben drücken und Enter. Dann sollte die installation beginnen.

Wenn die Meldung kommt:

Code:
I: Base system installed successfully.

Habt ihr es geschafft. Und jetzt müssen wir nur noch ein paar Anpassungen vornehmen.


8. System einrichten

Als erstes Mounten wir die die wichtigen System Pfade:

Code:
mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev
mount -t tmpfs none /mnt/tmp
mount -o bind /sys /mnt/sys

Keine Fehlermeldung? Dann gehts jetzt ins neue System mit:

Code:
chroot /mnt /bin/bash

Als erstes sollten wir nun das Root Passwort ändern:

Code:
passwd

und ein neuen Benutzer anlegen (Bitte benutzer ändern in was anderes):

Code:
adduser benutzer

Passwort 2x eingeben und den Rest beantworten.


9. Netzwerk konfigurieren

Ich hoffe ihr habt am Anfang die gesicherten Daten noch da? Die werden jetzt gebraucht.

Gibt folgendes ein:
Code:
nano /etc/hostname

nimmt den inhalt mit der ENTF raus und fügt den Inhalt von eure sicherung (hostname) ein per Rechtsklick.
Dann STRG+X und Y und enter

Dann gehts weiter:
Code:
nano /etc/hosts

wieder den inhalt raus nehmen und die sicherung einfügen. Dann STRG+X y und Enter.

das selbe machen wir jetzt noch mit folgenden Dateien der reihe nach durch:
Code:
nano /etc/resolv.conf
nano /etc/network/interfaces

Zu guter Letzt noch:
Code:
echo 'BOOTLOGD_ENABLE=Yes' > /etc/default/bootlogd


10. Die /etc/fstab einrichten und Sprache einstellen

Als erstes gibt ihr folgendes ein:
Code:
nano /etc/fstab

Diese kann je nach Partitionierung anders ausfallen solltet ihr mein Beispiel genommen haben könnt ihr diese kopieren
anderfalls bitte diese anpassen:

Code:
/dev/sda1 / ext4 errors=remount-ro 0 1
/dev/sda2 swap swap defaults 0 0
/dev/sda3 /home ext4 defaults 1 2
proc /proc proc defaults 0 0

STRG+X y und Enter.

So dann bearbeiten wir jetzt noch die Sourcelist.

Gibt folgendes ein:
Code:
nano /etc/apt/sources.list

nimmt den Inhalt wieder raus und fügt folgenden ein:

Code:
deb http://ftp2.de.debian.org/debian squeeze main contrib non-free
deb-src http://ftp2.de.debian.org/debian squeeze main contrib non-free
deb http://ftp2.de.debian.org/debian-security squeeze/updates main contrib non-free

STRG+x y Enter.

Jetzt noch die listen laden mit:

Code:
aptitude update && aptitude upgrade

So da noch einige Pakets fehlen wollen wir die jetzt installieren:
Code:
aptitude install -y ssh grub ntpdate dns-browse pciutils make automake gcc psmisc libglib2.0-0 ngrep nmap lsof subversion

Sollte bei euch ein Configuring grub-pc aufgehen einfach mit Enter bestätigen und den nächsten Dialog das selbe.

Eine ganze weile Später kommt nochmalig ein Configuring grub-pc hoch dort mit der Leertaste das erste aktiv schalten sowie
den Zweiten auswählen indem ihr einmal runter drückt und wieder die Leertaste drückt. Danach einmal die Tab taste und Enter.

Jetzt bringen wir Squeeze die Deutsche Sprache bei. Gibt folgendes ein:

Code:
aptitude install locales && dpkg-reconfigure locales

Wählt da folgende Sprache aus: de_DE.UTF-8 UTF-8 und de_DE@euro ISO-8859-15

in nächsten Dialog wählt ihr de_DE@euro aus.

jetzt noch die Zeitzone einstellen mit:

Code:
dpkg-reconfigure tzdata

Dort wählt ihr Europe aus und in nächsten Dialog Berlin

11. Kernel installieren
Um diese zu installieren braucht ihr für den aktuellen nur folgendes eingeben:
Für 32-Bit
Code:
aptitude install linux-image-2.6-686
Für 64-Bit
Code:
aptitude install linux-image-2.6-686-amd64

Mit Enter bestätigen und dann wird er schon installiert.

Dann noch ein:

Code:
update-grub

12. Neues System starten.
Als erstes müsst ihr in Kundenmenü das ganze umstellen von rescue auf Normal. Siehe in mein Beispiel Punkt 2
nur von resuce-pro jetzt auf hd umstellen.

Danach nur noch:

Code:
exit
reboot

Ist das neue System gestartet solltet ihr euern SSH umstellen damit dieser auf ein anderen Port lauft und das Root login verbieten.

Das wars auch schon gewesen. Viel Spass mit den neuen System.
 
Last edited by a moderator:
Hat das jemand schon einmal erfolgreich getestet? Würde mich echt mal interessieren was ihr für Erfahrungen damit habt.
 
Ich vermisse in der Anleitung das Aushängen der Partitionen nach dem die Chroot-Umgebung verlassen wird. Wahrscheinlich hängen die meisten Rescue-Systeme dieses beim Neustart zwar selbst aus, aber wenn z.B. mdadm über die Chroot-Umgebung installiert wird schreibt und liest dieses ( sofern ein Software Raid vorhanden ist ) munter weiter und die Platten können nicht ausgehängt werden. Anstatt die benötigten Pakete via Chroot zu installieren, kann man diese direkt über debootstrap installieren lassen.

Für 32 Bit z.B:

Code:
debootstrap --arch i386 [U]--inclue=linux-image-2.6-686,ssh,grub,ntpdate,dns-browse,pciutils,make,automake,gcc,psmisc,libglib2.0-0,ngrep,nmap,lsof,subversion[/U] squeeze /mnt/ http://ftp2.de.debian.org/debian

Die Partitionen sollte man nach der weiteren Einrichtung jedoch trotzdem aushängen um sicher zu gehen, dass das Dateisystem konsistent bleibt. Schritt 12 sieht bei mir so aus:

Code:
exit
umount /mnt/proc
umount /mnt/dev
umount /mnt/tmp
umount /mnt/sys
umount /mnt/home
umount /mnt
reboot
 
Last edited by a moderator:
Im Prinzip hast Du vollkommen recht. Laut dem Paradigma "know your tools" auf Deiner Website, sollte man wissen, dass Befehl reboot (oder halt oder poweroff) alle mounts tatsächlich selbstständig aus hängt.
Abgesehen davon sind proc und tmp nur virtuell und dev und sys nur binded. D.h. bei denen ist es eh egal ob die ausgehängt sind oder nicht.

huschi.
 
Auch für Debian Wheezy geeignet

Das in der Anleitung beschriebene Vorgehen funktioniert prinzipiell auch für Debian Wheezy (hab'ss aber nicht im Detail getestet).

Auf virtuellen Servern gibt's allerdings einen kleinen Fallstrick: Die von den Hostern eingesetzten Kernel sind typischerweise relative alt. Die glibc in Wheezy funktioniert jedoch nur mit Kernel 2.6.26 und aufwärts. Bei älteren Kernel muss man in den glibc-Sourcen an zwei Stellen die Minimalversion von 2.6.26 anpassen und das Paket selbst übersetzen.
 
Back
Top