Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Haftungsausschluss / Disclaimer

Basissystem – Installation – 3/6

Hier wird es spannend! Wir klonen unser Linux in den gerade erstellten, verschlüsseltn Container…

## 3 ## System in Container umziehen

Nun stellen wir eine Verbindung zwischen den Partitionen im Container und unserem System her. „Mounten“ heißt das unter Linux. Mit dem Mount-Befehl hängen wir ein Gerät (Laufwerk / USB-Stick / CD-ROM / ISO-Datei / etc…) an einen bestimmten Punkt des Verzeichnisbaums von Linux ein. Damit machen wir es für Anwendungen zugänglich.
Im System gibt es dafür den (Quasi-Standard) Punkt „/mnt“. Hier werden normalerweise auch USB-Sticks oder Wechselfestplatten angedockt. Nun stöpseln wir dort unseren Container ein…

mount /dev/mapper/vg-root /mnt/
Als erstes wird die root-Partition vom Container direkt an /mnt angehängt.

mkdir /mnt/tmp /mnt/var
Wir erstellen für die beiden Partitionen „tmp“ und „var“ die Verzeichnisse unterhalb von „/mnt“

mount /dev/mapper/vg-tmp /mnt/tmp
mount /dev/mapper/vg-var /mnt/var
Nun noch „tmp“ und „var“ aus dem Container einhängen – fertig.

System in den Container klonen
rsync -aAXv /* /mnt --exclude={/data.bin,"/dev/*","/proc/*","/boot/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*",/lost+found}

### Der Befehl gehört wieder in eine Zeile…

Mittels des „rsync“-Befehls kopieren wir alles von „/“ nach „/mnt“. Bis auf data.bin und die Verzeichnisse, die unter „exclude“ ausgeklammert werden.
Unser Grund-System braucht runde 950 MB Speicherplatz. Der Klon-Vorgang hat insgesamt nur gute zwei Minuten gedauert.

Jetzt hängen wir die System-Verzeichnisse „/dev“, „/sys“ und „proc“ direkt in „/mnt“ ein
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
mount -t proc none /mnt/proc

Wir legen die physikalischen Platte in ein Verzeichnis „parent“ nach „/mnt“ um
mkdir /mnt/parent
mount -o bind / /mnt/parent
Die Befehle erstellen das Verzeichnis „parent“ unter „/mnt“ und hängen dann „/“ dort ein.

Ins neue „System“ chrooten
chroot /mnt
Jetzt sind wir in unser geklontes System gesprungen und arbeiten von „/mnt“ aus weiter. Analog zum gerade passierten Vorgang „Change Root“ leitet sich der Name des Befehls dafür ab: „chroot“.

Link auf /boot erstellen
rm -rf /boot
ln -s /parent/boot /boot

Anpassen der fstab
### Mit ‚Strg+K‘ alle Zeilen löschen und dann die neue fstab per [Copy/Paste] einfügen

nano /etc/fstab

— snip it —
/dev/mapper/vg-root / ext4 defaults 0 1
/dev/mapper/vg-tmp /tmp ext4 defaults 0 2
/dev/mapper/vg-var /var ext4 defaults 0 2
/dev/xvda2 swap swap defaults 0 0
proc /proc proc defaults 0 0

—————

debian-baseimage-01-fstab-originaldebian-baseimage-02-fstab-angepasst

Links der originale fstab, rechts dann der modifizierte. Einfach den Inhalt der Datei austauschen, speichern und beenden.
Wir haben nun für jede Partition einen Eintrag, wie und ‚als was‘ Linux diese ins System hängen soll. „root“ geht nach „/“, „tmp“ nach „/tmp“ und „var“ nach „/var“.
Dann noch ein Eintrag für den swap-Speicher und einen für den proc.

loop Modul zur initramfs hinzufügen
echo loop >> /etc/initramfs-tools/modules

nanof Modul zur initramfs hinzufügen (Modul der nanortuellen NIC)
echo nanof >> /etc/initramfs-tools/modules

Anpassen der initramfs.conf (beide Werte unten per Copy/Paste anfügen)

debian-baseimage-03-initramfs-conf-angepasst

nano /etc/initramfs-tools/initramfs.conf
DEVICECE=eth0
DROPBEAR=y

Hinterlegen der ‚authorzied_keys‘ (Schloss) für den „rootcrypt“ Schlüssel
cd /etc/initramfs-tools/root/.ssh/
rm -rf id_*
nano authorized_keys
## Hier den Public Key „rootcrypt“ per (Copy/Paste) hinein kopieren. Wichtig! Der gesamte Text-Block muss in GENAU EINE ZEILE kopiert werden. Ohne Zeilenumbruch. Sonst wird die Anmeldung später nicht funktionieren…
cd

Netzwerkkonfiguration für initramfs
{Muss entsprechend an Deine UltraVPS angepasst werden!}

Zuerst die Daten holen:
cat /etc/network/interfaces

export IP={IP}::{GW}:{Netmask}:{Hostname}:eth0
### Das ist die Form, in der die Werte eingetragen werden müssen. Die Werte bekommst Du aus der Konfigurationsdatei „/etc/network/interfaces“

Wir öffnen die Datei zum Bearbeiten
nano /etc/initramfs-tools/conf.d/network_config
— snip it —
export IP={IP-Adresse}::{Gateway}:{Netzmaske}:{Hostname}:eth0
—————
### Hier bitte Deine Werte anstelle der geschweiften Klammern eintragen! Wichtig: Nach der IP-Adresse kommen zwei Doppelpunkte…

Netzwerkkonfiguration des systems ergänzen

debian-baseimage-04-etc-network-interfaces-angepasst

nano /etc/network/interfaces
### an eth0 Block anfügen (unter Netmask!)
pre-up ip addr flush dev eth0

Im nächsten Teil bauen wir die ‚initramdrive‘ fertig…

Navigation

Vorheriger Artikel | Nächster Artikel
Basissystem Begleittext Download (Rechtsklick – „Ziel speichern unter…“)

Anzeige *

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.