Bootprozess, init, Partitionen - Hausaufgabe

  • Installiere das Betriebssystem CentOS 6 (x86) in einer virtuellen Maschine

  • Warum ist die Erstellung einer dedizierten /boot Partition von Vorteil?
    • Lilo, der nur Sektorweise booten kann, bekommt nicht seine Daten die er starten soll überschrieben
    • Einfaches Dateisystem im Boot, kompliziere Dateisysteme auf den anderen Partitionen
    • für verschlüsselte Festplatten
Frage: Welche anderen Hierarchien (Verzeichnisse) sollten auf eigenen Partitionen liegen?
/ System
/boot Boot
swap Swap
/home Benutzerordner
/var Alle Spools, alle Logs und so weiter
/tmp Wenns sein muss
/usr Keine Systemkritischen Programme (nur lesend einbinden -> Virenschutz)
/etc auf gar keinen Fall auslagern! (Wichtig fuer den Systemboot!)

Alle weiteren Übungen werden in dieser virtuellen Maschine umgesetzt!

  • Starte das System im Single User Modus (Kernelparameter)
    • In Grub1: init=/bin/bash
    • In Grub2: single am Ende der Kernel Line
  • Du hast dein root-Kennwort vergessen und moechtest es zuruecksetzen. Starte hierzu dein System so, das die normale Systeminitialisierung umgangen wird. (Kernelparameter)
    • In Grub1: init=/bin/bash
    • In Grub2: single am Ende der Kernel Line
    • dann mit passwd neues Passwort setzen
  • In welchem Runlevel befindest du dich gerade?:

    runlevel
    
  • Wechsel in das Runlevel 1 und danach wieder in das urspruengliche Runlevel:

    init 1 && init 5
    
  • Ändere das Standard Runlevel auf 2:
    • in der /etc/inittab::

      id:5:initdefault

    • austauschen::

      id:2:initdefault

  • Deaktiviere die Möglichkeit das System via CTRL+ALT+DEL neu zu starten
    • in der /etc/inittab::

      ca:12345:ctrlaltdel:/sbin/shutdown

    • austauschen::

      ca:12345:ctrlaltdel:

  • Erstelle eine erweiterte Partition, die den gesamten verfügbaren Plattenplatz einnimmt:

    fdisk /dev/sdb
    >> new extended partition
    
  • Erstelle in dieser erweiterten Partition zwei 1GB grosse logische Partitionen:

    >> new ~ 1GB
    
  • Die Partitionen sollen ohne _Reboot_ sichtbar werden
    • in /etc/fstab eintragen
  • Erstelle in der ersten logischen Partition ein ext2 Dateisystem mit folgenden Eigenschaften:
    • 10% reserviert fuer root:

      mkfs.ext2 -m 10 /dev/sdb1
      
    • automatischer fsck nach 60 mount-Vorgängen:

      tune2fs -c 60 /dev/sdb5
      
    • aktiviere nachträglich das Journaling auf dem ext2 Dateisystem

      tune2fs -j /dev/sdb5

    • Erstelle nun auf der 2ten logischen Partition ein ext4 Dateisystem:

      mkfs.ext4 /dev/sdb6
      
    • Hänge nun jedes Dateisystem einmal im System unter /mnt ein. Erstelle jeweils eine Datei unter /mnt mit dem Namen der Partition:

      mount /dev/sdb5 /mnt && touch /mnt/sdb5 && umount /mnt
      mount /dev/sdb6 /mnt && touch /mnt/sdb6 && umount /mnt
      
    • Sorge dafür, dass beide logische Partitionen nach dem Systemstart im System eingehangen sind.
      • Die erste logische Partition soll im Verzeichnis /foo eingehangen werden.

      • Die zweite logische Partition soll im selben Verzeichnis eingehangen werden.

      • Was passiert nach dem Start des Systems?
        • es wird die zuletzt eingehängte Partition angezeigt
  • Mit welchem Tools kann ich folgende Hardwareinfos einholen?
    • angeschlossene USB-Geraete? lsusb
    • eingebaute NIC? ifconfig
    • RAM? lshw
    • CPUs? lscpu
  • Erstelle einen zusätzlichen Booteintrag in Grub, kopiere hierzu den ersten Eintrag der Konfigurationsdatei. Entferne den Parameter ‘quiet’ und ‘rhgb’, ändere den Titel in ‘Red Hat Classic’ und passe die globalen Konfigurationsparameter an.