Einzelnen Beitrag anzeigen
 
Alt 19.02.2006, 14:58
DanielD DanielD ist offline
Registered User
 
Registriert seit: 02.2006
Beiträge: 71
Idee HOWTO Debian auf vServer installieren

Hallo!

Dass hier soll eine kleine Anleitung sein, wie man Debian auf einem vServer installiert. Konkret erkläre ich, was ich auf meinem v-PowerServer A von Strato gemacht habe, um das Suse gegen Debian zu tauschen.

Voraussetzungen:
  • Einen virtuellen Server, der unter Virtuozzo o.ä. läuft. (UserModeLinux funktioniert anders!)
  • Zugang zu dem Dateisystem des vServers über eine Rettungskonsole.
  • Eine Möglichkeit, das System neuzubooten und neuzuinstallieren, falls etwas sehr schief geht
  • Linuxkenntnisse ...
  • Zeit, den Server komplett neu einzurichten (und zu migrieren)
  • Tiefe Abneigung gegenüber Plesk

Was man am Ende hat (wenn alles klappt)
  • Ein minimales Debian-System, ohne Apache/MySQL/..
  • Kein Plesk, und man wird es vermutlich auch nicht nachinstallieren können.
  • Ein System, das möglicherweise nicht mehr bootet, wenn der physikalische Host verändert wird oder einen neuen Kernel bekommt.

So. Ich hoffe, das hat alle abgeschreckt.

Als erstes sollte man wissen, was die Idee dieser Installation ist. Der Kernel des physikalischen Hosts verwaltet die gesamten Ressourcen und Geräte. Die einzelnen vServer kommunizieren auch immer mit dem physikalischen Host, wenn sie Speicher anfordern etc. Die Geräte/Treiber/modules, die der vServer verwenden darf, sind bereits geladen, wenn er gestartet wird. Sachen, auf die man als vServer-Admin Einfluss hat, beginnen erst mit /sbin/init . (Darin liegt auch der Unterschied zum UML, bei dem tatsächlich ein zweiter vollständiger Kernel gestartet wird.)

Die Installation wird in folgenden Schritten passieren:
  1. Notwendige Konfiguration aus dem bestehenden System auslesen
  2. Das bestehende System aus dem Weg räumen
  3. Debian Installation
  4. Kleine Korrekturen, Netzwerk einrichten, sshd installieren
  5. Neustart
  6. Offene Punkte

1.

Informationen sammeln geht am besten, wenn man sich die paar Zeilen Output am besten auf den lokalen Desktop-Rechner kopiert, finde ich.

Als kleiner Test kann man mal in /boot/ reinschauen, ob da ein Kernel ist. Falls ja: Dieses Howto ist das falsche.

Dann ist wohl ein uname -a an der Reihe.
Code:
# uname -a
Linux zuzeigen.de 2.4.20-021stab028.19.777 #1 Wed Oct 19 13:37:24 MSD 2005 i686 GNU/Linux
Wichtig ist die Hardware-Architektur i686 (oder vielleicht ia64?*). Eventuell ist noch ein cat /proc/cpuinfo interessant -- aber eigentlich soll sich der Kernel darum kümmern, wie viele CPUs es gibt.

* In einem anderen Thread steht, dass ein vServer auf einem 64-Bit-System trotzdem nur 32-Bit-Software verwenden kann. Falls das so ist, sollte man wohl nie ia64 verwenden! (Wäre aber schön, wenn das nochmal jemand bestätigen könnte.)

Weiter mit dem Netzwerk:
Code:
# ifconfig -a
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1008 (1008.0 b)  TX bytes:1008 (1008.0 b)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:284 errors:0 dropped:0 overruns:0 frame:0
          TX packets:349 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:26293 (25.6 KiB)  TX bytes:26059 (25.4 KiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:85.214.43.177  P-t-P:85.214.43.177  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
Das loopback-Device ist wie immer, aber man sollte wissen, dass das Netzwerkgerät venet0 (alias venet0:0) heißt und nicht eth0.
Außerdem sind hier noch IP und Netzmaske interessant.

Und noch
Code:
# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
191.255.255.0   *               255.255.255.0   U     0      0        0 venet0
default         191.255.255.1   0.0.0.0         UG    0      0        0 venet0
Ich bin also nicht direkt ans Internet angeschlossen, sondern muss später ein entsprechendes Gateway wieder angeben. Am höflichsten ist es wohl, exakt diese Routen wieder zu erzeugen.

Schließlich noch die DNS-Server:
Code:
# cat /etc/resolv.conf
nameserver 81.169.163.104
nameserver 81.169.163.106
Ebenfalls ist
Code:
 # mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw)
tmpfs on /dev/shm type tmpfs (rw)
und
Code:
# more /etc/fstab
proc  /proc       proc    defaults    0       0
none  /dev/pts    devpts  rw          0       0
angebracht, aber vermutlich genauso langweilig wie bei mir.

Das sollte eigentlich schon alles gewesen sein, was für die Installation benötigt wird. Vermutlich hat der durchschnittliche Leser aber noch viel mehr, was er an Einstellungen retten möchte! Also, mal tief in sich gehen. Und falls der Server schon läuft und Seiten ausliefert, dann steht eine Migration bevor!

2.

Ab jetzt wird in der Rettungskonsole gearbeitet. Bei mir finde ich dort das Dateisystem des Servers unter /repair.

Das alte (Suse-)System muss erstmal aus dem Weg. Falls man das nicht macht, scheitert die Installation mit merkwürdigen Fehlermeldungen! Natürlich kann man das alte System einfach löschen, aber ich würde es eher backuppen, wie im folgenden beschrieben, auch um notfalls noch auf alte (und funktionierende) Konfigurationsdateien zugreifen zu können.

Ich habe dafür zwei Methoden genommen (hab ja viel freien Platz auf dem Server). Einmal einen kompletten Tar-Ball (für später) und einmal das ganze System erstmal nur verschoben (für jetzt). Übrigens: Um das alte System doch wieder herzustellen eignet sich ein cp -r nicht! Dabei gehen die Rechte und Eigentümer der Dateien verloren und Symlinks werden aufgelöst. Stattdessen lieber cp -r -p -d nehmen. (Oder aus dem Tarball extrahieren mit entsprechenden Optionen.)

Code:
rescue:/ # cd repair
rescue:/repair # tar czf Suse93.tar.gz bin/ ........ $alles OS-mäßige aus /repair$
rescue:/repair # mkdir Suse93
rescue:/repair # mv Suse93.tar.gz Suse93
rescue:/repair # mv bin/ .... $alles OS-mäßige aus /repair$ Suse93/
Mein spezielles Backup-Verzeichnis /private-backup/ (bei Strato) habe ich übrigens nicht verschoben. Warum auch, das kommt keiner Distribution in die Quere. Aber bin/ etc/ usr/ lib/ und ähnliches müssen natürlich weg. home/ kann man theoretisch beibehalten, aber es könnte etwas Probleme mit den Dateiberechtigungen geben (darauf achten, dass die neuen Benutzer und Gruppen wieder die gleichen internen Nummern haben!) Evtl ist es einfacher, später als Benutzer sein Homeverzeichnis wieder selbst zu entpacken.

Ab jetzt geht es in etwa laut http://www.debian.org/releases/stabl.../index.html.en , Anhang C, weiter. Aber so viel mehr als hier steht da nicht (bzw. vieles trifft nicht wirklich zu).

3.

Das Paket debootstrap besorgt die Basispakete. Eine passende Version kann man auf http://ftp.debian.org/debian/pool/main/d/debootstrap/ aussuchen und auf den Server herunterladen. Die .udeb- und .deb-Pakete enthalten die gleichen Programme, .udeb enthält aber weniger Dokumentation.
http://ftp.debian.org/debian/pool/ma..._0.3.3_all.deb
sollte aktuell das richtige für jeden sein.

Danach muss debootstrap "installiert" werden. Es erwartet leider seine Dateien an ganz normalen Plätzen wie /usr/lib. Man muss also Sachen in das Rescue-System hineininstallieren. Vermutlich wird das Rescue-System beim nächsten Starten alle Änderungen wieder vergessen haben, so dass das nicht weiter stört. Sicher bin ich mir jedoch nicht, und sowieso kann das bei jedem anders sein.

Also,
Code:
rescue:/tmp# ar -x path_to/debootstrap_0.3.3_all.deb
rescue:/tmp# cd /
rescue:/# tar xzf /tmp/data.tar.gz
rescue:/# tar xzf /tmp/control.tar.gz
So, jetzt die Debian-Frage: Was soll es denn sein? sarge (=stable), etch (=testing) oder etwa sid (=unstable)? Um ganz ehrlich zu sein, sid hat wohl auf einem Server nichts verloren. Testing wäre okay, aber ich persönlich habe sarge bevorzugt. Siehe http://www.debian.org/releases/

Dann debootstrap aufrufen:
Code:
rescue:/# /usr/sbin/debootstrap --arch i386 sarge /repair/ http://ftp.de.debian.org/debian
Die Architektur ist vermutlich bei allen i386 (spezieller, also i686, geht nicht, und ia64 gibt wohl Probleme auf einem vServer). Das sarge muss entsprechend angepasst werden, wenn man nicht stable will. Den Mirror darf man natürlich frei wählen.

Wenn alles gut geht, lädt er die folgenden Pakete in das System:

Code:
# dpkg --list
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                           Version                        Description
+++-==============================-==============================-============================================================================
ii  adduser                        3.63                           Add and remove users and groups
ii  apt                            0.5.28.6                       Advanced front-end for dpkg
ii  apt-utils                      0.5.28.6                       APT utility programs
ii  aptitude                       0.2.15.9-2                     terminal-based apt frontend
ii  at                             3.1.8-11                       Delayed job execution and batch processing
ii  base-config                    2.53.10                        Debian base system configurator
ii  base-files                     3.1.2                          Debian base system miscellaneous files
ii  base-passwd                    3.5.9                          Debian base system master password and group files
ii  bash                           2.05b-26                       The GNU Bourne Again SHell
ii  bsdmainutils                   6.0.17                         collection of more utilities from FreeBSD
ii  bsdutils                       2.12p-4sarge1                  Basic utilities from 4.4BSD-Lite
ii  console-common                 0.7.49                         Basic infrastructure for text console configuration
ii  console-data                   2002.12.04dbs-49               Keymaps, fonts, charset maps, fallback tables for console-tools
ii  console-tools                  0.2.3dbs-56                    Linux console and font utilities
ii  coreutils                      5.2.1-2                        The GNU core utilities
ii  cpio                           2.5-1.3                        GNU cpio -- a program to manage archives of files.
ii  cron                           3.0pl1-86                      management of regular background processing
ii  debconf                        1.4.30.13                      Debian configuration management system
ii  debconf-i18n                   1.4.30.13                      full internationalization support for debconf
ii  debianutils                    2.8.4                          Miscellaneous utilities specific to Debian
ii  dhcp-client                    2.0pl5-19.1                    DHCP Client
ii  diff                           2.8.1-11                       File comparison utilities
ii  dpkg                           1.10.28                        Package maintenance system for Debian
ii  dselect                        1.10.28                        a user tool to manage Debian packages
ii  e2fslibs                       1.37-2sarge1                   ext2 filesystem libraries
ii  e2fsprogs                      1.37-2sarge1                   ext2 file system utilities and libraries
ii  ed                             0.2-20                         The classic unix line editor
ii  exim4                          4.50-8                         metapackage to ease exim MTA (v4) installation
ii  exim4-base                     4.50-8                         support files for all exim MTA (v4) packages
ii  exim4-config                   4.50-8                         configuration for the exim MTA (v4)
ii  exim4-daemon-light             4.50-8                         lightweight exim MTA (v4) daemon
ii  fdutils                        5.4-20040228-1                 Linux floppy utilities
ii  findutils                      4.1.20-6                       utilities for finding files--find, xargs, and locate
ii  gcc-3.3-base                   3.3.5-13                       The GNU Compiler Collection (base package)
ii  gettext-base                   0.14.4-2                       GNU Internationalization utilities for the base system
ii  grep                           2.5.1.ds1-4                    GNU grep, egrep and fgrep
ii  groff-base                     1.18.1.1-7                     GNU troff text-formatting system (base system components)
ii  gzip                           1.3.5-10sarge1                 The GNU compression utility
ii  host                           20000331-9                     utility for querying DNS servers
ii  hostname                       2.13                           A utility to set/show the host name or domain name
ii  ifupdown                       0.6.7                          high level tools to configure network interfaces
ii  info                           4.7-2.2                        Standalone GNU Info documentation browser
ii  initscripts                    2.86.ds1-1                     Standard scripts needed for booting and shutting down
ii  ipchains                       1.3.10-15                      Network firewalling for Linux 2.2.x
ii  iptables                       1.2.11-10                      Linux kernel 2.4+ iptables administration tools
ii  iputils-ping                   20020927-2                     Tools to test the reachability of network hosts
ii  klogd                          1.4.1-17                       Kernel Logging Daemon
ii  less                           382-1                          Pager program similar to more
ii  libacl1                        2.2.23-1                       Access control list shared library
ii  libattr1                       2.4.16-1                       Extended attribute shared library
ii  libblkid1                      1.37-2sarge1                   block device id library
ii  libc6                          2.3.2.ds1-22                   GNU C Library: Shared libraries and Timezone data
ii  libcap1                        1.10-14                        support for getting/setting POSIX.1e capabilities
ii  libcomerr2                     1.37-2sarge1                   common error description library
ii  libconsole                     0.2.3dbs-56                    Shared libraries for Linux console and font manipulation
ii  libdb1-compat                  2.1.3-7                        The Berkeley database routines [glibc 2.0/2.1 compatibility]
ii  libdb3                         3.2.9-22                       Berkeley v3 Database Libraries [runtime]
ii  libdb4.2                       4.2.52-18                      Berkeley v4.2 Database Libraries [runtime]
ii  libgcc1                        3.4.3-13                       GCC support library
ii  libgcrypt11                    1.2.0-11.1                     LGPL Crypto library - runtime library
ii  libgdbm3                       1.8.3-2                        GNU dbm database routines (runtime version)
ii  libgnutls11                    1.0.16-13.1                    GNU TLS library - runtime library
ii  libgpg-error0                  1.0-1                          library for common error values and messages in GnuPG components
ii  libgpmg1                       1.19.6-19sarge1                General Purpose Mouse - shared library
ii  liblocale-gettext-perl         1.01-17                        Using libc functions for internationalization in Perl
ii  liblockfile1                   1.06                           NFS-safe locking library, includes dotlockfile program
ii  liblzo1                        1.08-1.2                       A real-time data compression library
ii  libncurses5                    5.4-4                          Shared libraries for terminal handling
ii  libnewt0.51                    0.51.6-20                      Not Erik's Windowing Toolkit - text mode windowing with slang
ii  libopencdk8                    0.5.5-10                       Open Crypto Development Kit (OpenCDK) (runtime)
ii  libpam-modules                 0.76-22                        Pluggable Authentication Modules for PAM
ii  libpam-runtime                 0.76-22                        Runtime support for the PAM library
ii  libpam0g                       0.76-22                        Pluggable Authentication Modules library
ii  libpcap0.7                     0.7.2-7                        System interface for user-level packet capture
ii  libpcre3                       4.5-1.2sarge1                  Perl 5 Compatible Regular Expression Library - runtime files
ii  libpopt0                       1.7-5                          lib for parsing cmdline parameters
ii  libsigc++-1.2-5c102            1.2.5-4                        type-safe Signal Framework for C++ - runtime
ii  libss2                         1.37-2sarge1                   command-line interface parsing library
ii  libssl0.9.7                    0.9.7e-3sarge1                 SSL shared libraries
ii  libstdc++5                     3.3.5-13                       The GNU Standard C++ Library v3
ii  libtasn1-2                     0.2.10-3                       Manage ASN.1 structures (runtime)
ii  libtext-charwidth-perl         0.04-1                         get display widths of characters on the terminal
ii  libtext-iconv-perl             1.2-3                          Convert between character sets in Perl
ii  libtext-wrapi18n-perl          0.06-1                         internationalized substitute of Text::Wrap
ii  libtextwrap1                   0.1-1                          text-wrapping library with i18n - runtime
ii  libuuid1                       1.37-2sarge1                   universally unique id library
ii  libwrap0                       7.6.dbs-8                      Wietse Venema's TCP wrappers library
ii  login                          4.0.3-31sarge5                 system login tools
ii  logrotate                      3.7-5                          Log rotation utility
ii  mailx                          8.1.2-0.20040524cvs-4          A simple mail user agent
ii  makedev                        2.3.1-77                       creates device files in /dev
ii  man-db                         2.4.2-21                       The on-line manual pager
ii  manpages                       1.70-1                         Manual pages about using a GNU/Linux system
ii  mawk                           1.3.3-11                       a pattern scanning and text processing language
ii  modutils                       2.4.26-1.2                     Linux module utilities
ii  mount                          2.12p-4sarge1                  Tools for mounting and manipulating filesystems
ii  nano                           1.2.4-5                        free Pico clone with some new features
ii  ncurses-base                   5.4-4                          Descriptions of common terminal types
ii  ncurses-bin                    5.4-4                          Terminal-related programs and man pages
ii  net-tools                      1.60-10                        The NET-3 networking toolkit
ii  netbase                        4.21                           Basic TCP/IP networking system
ii  netkit-inetd                   0.10-10                        The Internet Superserver
ii  nvi                            1.79-22                        4.4BSD re-implementation of vi
ii  passwd                         4.0.3-31sarge5                 change and administer password and group data
ii  pciutils                       2.1.11-15                      Linux PCI Utilities
ii  perl-base                      5.8.4-8                        The Pathologically Eclectic Rubbish Lister
ii  ppp                            2.4.3-20050321+2               Point-to-Point Protocol (PPP) daemon
ii  pppconfig                      2.3.11                         A text menu based utility for configuring ppp
ii  pppoe                          3.5-4                          PPP over Ethernet driver
ii  pppoeconf                      1.7                            configures PPPoE/ADSL connections
ii  procps                         3.2.1-2                        The /proc file system utilities
ii  psmisc                         21.5-1                         Utilities that use the proc filesystem
ii  sed                            4.1.2-8                        The GNU sed stream editor
ii  slang1a-utf8                   1.4.9dbs-8                     The S-Lang programming library with utf8 support
ii  sysklogd                       1.4.1-17                       System Logging Daemon
ii  sysv-rc                        2.86.ds1-1                     Standard boot mechanism using symlinks in /etc/rc?.d
ii  sysvinit                       2.86.ds1-1                     System-V like init
ii  tar                            1.14-2                         GNU tar
ii  tasksel                        2.24                           Tool for selecting tasks for installation on Debian system
ii  tcpd                           7.6.dbs-8                      Wietse Venema's TCP wrapper utilities
ii  telnet                         0.17-29                        The telnet client
ii  util-linux                     2.12p-4sarge1                  Miscellaneous system utilities
ii  wget                           1.9.1-12                       retrieves files from the web
ii  whiptail                       0.51.6-20                      Displays user-friendly dialog boxes from shell scripts
ii  zlib1g                         1.2.2-4.sarge.2                compression library - runtime
(Okay, das war jetzt wenig spannend.)

Nun hat man aber bereits ein kleines Debian installiert. Ein Kernel ist übrigens nicht dabei, aber wer braucht den schon.

4.

Nun begeben wir uns in das neue System hinein. (Noch kein Neustart!)
Code:
chroot /repair /bin/bash
Das erste Problem ist, dass bei mir die /etc/apt/sources.list nicht stimmte. Aus irgendeinem Grund war da Testing eingestellt. Also mal rein (Editor nano) und aus testing sarge machen. Außerdem kann man dort noch die Security-Updates einstellen. Bei mir sieht das dann am Schluss so aus:
Code:
deb http://ftp.de.debian.org/debian sarge main
deb http://ftp.de.debian.org/debian-security sarge/updates main
# Source, wer will
#deb-src http://ftp.de.debian.org/debian/ sarge main
Man kann natürlich auch noch die contrib und non-free Repositories verwenden, dann sollte man diese Zeilen hier verwenden:
Code:
deb ftp://ftp.de.debian.org/debian sarge main contrib non-free
deb ftp://ftp.de.debian.org/debian-security sarge/updates main contrib non-free
So, damit man auch weiß, ob alles funktioniert:
Code:
chroot:/# apt-get update
Wer will kann bereits jetzt mit apt-get bzw aptitude Sachen installieren. So ist zum Beispiel als Editor bis jetzt nur nano installiert. Ich mache allerdings erstmal mit dem Basis-Setup weiter, weil so richtig läuft der Server noch nicht.

Die /etc/fstab kann einfach aus dem alten OS übernommen werden.
Code:
chroot:/# cp Suse93/etc/fstab /etc/fstab
Als nächstes soll man laut dem Installation Guide das Verzeichnis /proc mounten. Das habe ich aber vergessen und es tat trotzdem. Schaden würde es aber nicht. Außerdem mal alle Einträge aus der fstab laden (vor allem dev/pts wird wohl benötigt).
Code:
chroot:/# mount -t proc proc /proc
chroot:/# mount -a
Mittels
Code:
/usr/sbin/base-config new
kann man nun bequem das System etwas einrichten. Wir beschränken uns aber auf die elementaren Sachen: Keyboard (fast sinnfrei für einen vServer, ich hab die Kernel-interne Keymap genommen), Zeitzone und vor allem: Root Passwort setzen und einen "normalen" Nutzer anlegen.

Jetzt noch das Netzwerk. Bei Suse findet man die Einstellungen unter /etc/sysconfig/network/ , wenn man nochmal etwas nachgucken will. Unter debian kann alles über /etc/network/interfaces eingestellt werden.

Meine interfaces sieht so aus:
Code:
auto lo
iface lo inet loopback

auto venet0
iface venet0 inet static
     address 127.0.0.1
     netmask 255.255.255.255
     broadcast 0.0.0.0

auto venet0:0
iface venet0:0 inet static
     address 85.214.43.177
     netmask 255.255.255.255
     broadcast 0.0.0.0
up route add -net 191.255.255.0 netmask 255.255.255.0 venet0
up route add default gw 191.255.255.1 venet0
down route del default
down route del -net 191.255.255.0
Damit habe ich die vorgebene Netzwerkkonfiguration nachgebaut. Achtung, Routen müssen in einer "sinnvollen" Reihenweise angegeben werden. Also erst, wie man zum Gateway kommt, und dann, wie man zum Rest der Welt mittels des Gateways verbindet.

Schließlich sollte man noch seinen Servernamen in /etc/hostname eintragen (oder aus dem alten OS kopieren).

Damit der Server auch nutzbar ist, sollte man nun den SSH-Chlient und -Server installieren:
Code:
chroot:/# apt-get install ssh

5.

Nun sollte eigentlich alles soweit sein, dass man auch vom Server aus weiterarbeiten kann. Also macht man nun einen Neustart. Ein ping auf den Server sollte zeigen, ob das Netzwerk funktioniert. Falls ja, sollte man sich auch per ssh einloggen können. Falls nein, wird es etwas komplizierter. Aus einem nicht erreichbaren System Informationen herauszukriegen, ist nicht sehr einfach. Von der Rettungskonsole aus sollte man nochmal alle Einstellungen überprüfen. Außerdem bietet /repair/var/log/messages vielleicht Hinweise darauf, wieweit das System gekommen ist. Ich habe die Einstellungen des Servers mit einem S99Test-Skript in /etc/rcS.d/ in Dateien ausgeben lassen. (Und auch da Ping-Versuche von dem Server aus probiert.)

Aber eigentlich tat bei mir alles, nur hatte ich das Netzwerk falsch eingerichtet ;)

6.

Was bleibt noch zu tun? Zum einen produziert init.d noch Fehlermeldungen, weil es die in /etc/inittab konfigurierten Gettys nicht laden kann. Einfach die folgenden Zeilen auskommentieren:
Code:
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
Nebenbei: Der Server startet ins Runlevel 2.

Das Setzen der Hardware-Uhr (was der physikalische Host nicht zulässt), kann man getrost ausschalten:
Code:
rm /etc/rcS.d/S18hwclockfirst.sh /etc/rcS.d/S50hwclock.sh
Außerdem versucht sich wohl noch ein Modul zu laden, was nicht klappen kann, ich weiß aber nicht, welches. Vermutlich kann man /etc/rcS.d/ und /etc/rc2.d/ noch gründlich aufräumen, um solche unnötigen Aktionen ganz zu vermeiden. Wer hier Fortschritte macht, kann sie gerne melden!

Weiter geht es dann mit der "normalen" Serverkonfiguration. Benutzer einrichten, SSH absichern, Mailserver korrekt einrichten (exim4 ist bereits geladen) usw usf.

Empfehlenswert ist es, möglichst früh und oft ein komplettes Backup des Systems zu machen, schließlich bietet der Hoster kein Debian-Image an. Bei mir war der Tarball des rudimentären Debians 50 MB groß (mit gzip), so viel Platz sollte sein.

Viel Erfolg! Wer Fehler findet oder Ergänzungen hat, soll sich hier melden, ich arbeite die Korrekturen dann ein. Auch freu ich mich über ein "Danke, hat geklappt, musste nur noch ... " :)

Mit freundlichen Grüßen,
Daniel D

Update 1: Hinweis eingebaut, dass 64-Bit-Software vermutlich nicht funktioniert.
Update 2: Debootstrap sollte wohl immer mit der i386-Architektur aufgerufen werden. i686 akzeptiert er da nicht.
Update 3: Angemerkt, dass das alte System erst weg muss.
Update 4: Hinweise von Benutzer "1337_" eingebaut und (hoffentlich) besser auf base-config eingegangen.

Geändert von DanielD (09.04.2006 um 12:24 Uhr)
Mit Zitat antworten