Österreich verliert gegen Niederlande 3:4

A Soccer ball

Wikimedia Commons

Österreich geht 3:0 in Führung.
Nach 40 Minuten führt Österreich 3:1 und wie es aussieht kann Österreich sogar gewinnen.
In der 67 Minute fällt der Anschlusstreffer, es steht 3:2
Endstand: Österreich verliert einmal mehr mit 3:4

Im Kurier schrieben sie vor dem Spiel.
Niederlande will es Fußball-Europa zeigen
Weiter liest man in dem Artikel:
Zitat Anfang — Während Österreich Anfang Februar trotz ansprechender Leistung eine 0:3-Heimniederlage gegen Deutschland kassiert hatte, waren die Niederländer in Split mit dem gleichen Resultat über ÖFB-EM-Gegner Kroatien hinweggefegt. „Dieses Ergebnis hat Europa beeindruckt“, meinte Van Basten und kündigte an, auch die Österreicher für voll zu nehmen: „Wir nehmen jedes Spiel ernst. Wir werden auch Österreich nicht unterschätzen.“ — Zitat Ende
In der Wiener Zeitung heißt es vor dem Spiel:
„Fußball: Josef Hickersberger will beim Test gegen die Niederländer taktische Disziplin und Laufarbeit sehen“.
….
Verglichen mit jener der Stars auf der Gegenseite ist jene freilich auch nicht allzu viel, um den Niederländern dennoch Paroli bieten zu können, fordert der Teamchef vor allem die richtige Einstellung seiner Akteure. „Wir müssen danach trachen, das Mittelfeld unter Kontrolle zu bringen. Dafür werden viel Laufarbeit und taktische Disziplin notwendig sein“, sagt Hickersberger.
….
Ja und wie es aussieht, könnte die Rechnung aufgehen und Österreiche gewinnen, sonst muss ich in 20 Minuten um einen Korrekturkommentar ergänzen. (;-)

1.102.2 Der Bootmanager

800px-Siberian_Tiger_sf

Wikimedia Commons – Mila Zinkova

Aus dem Bereich 1.102 Installation und Paketmanagement der Unterlangen für die Linux Zertifizierung LPIC-1 [101]

Der Bootmanager
Siehe dazu auch: Lilo und Grub
Im Hinblick auf die LPI sollten Prüfungskandidaten in der Lage sein, einen Bootmanager auszuwählen, zu installieren und zu konfigurieren. Dieses Lernziel beinhaltet das Bereitstellen alternativer und Sicherungsbootmöglichkeiten (z.B. mittels Bootdiskette).

Die wichtigsten Dateien, Bezeichnungen und Anwendungen:
* /etc/lilo.conf
* /boot/grub/grub.conf
* lilo
* grub-install
* MBR
* Superblock
* Bootloader der ersten Stufe

Prinzipielles zur Funktion von {de:Bootmanager|Bootmanagern}
Auf der Hardware-Ebene von industriestandardkompatiblen Computern (und um die geht es hier) ist der Bootvorgang von Betriebssystemen klar vorgegeben. Das BIOS (Basic Input Output System) im ROM jedes Computers sucht auf der Platte, von der es booten soll/will nach dem äußersten Zylinder (Nr.0). Dieser Zylinder ist selbst nicht Teil von Partitionen, sondern er enthält z.B. die Partitionstabelle, die erstmal festlegt, wo denn überhaupt welche Partitionen beginnen und enden. Neben dieser Information befindet sich auf der Spur 0 jedes physikalischen Laufwerks der sogenannte {de:Master_Boot_Record|Master Boot Record} (MBR). Dieser MBR enthält gewöhnlich einfach einen Verweis auf die erste Partition der Platte und der dort abgelegten Bootinformation.
Jede Partition der Platte besitzt nämlich wiederum auf ihrem ersten Zylinder einen lokalen Bootsektor, der Informationen enthalten kann (bei DOS/Win-Systemen) wie das auf dieser Partition befindliche Betriebssystem gebootet werden soll. Diese Information besteht aus einem kleinen Programm, dem sogenannten Bootstrap-Loader.
Wenn auf einem System mehrere Betriebssysteme vorhanden sind, dann kann im Master Boot Record ein kleines Programm installiert werden, das den User entscheiden lässt, von welcher Partition welches System gebootet werden soll. Dieses Programm wird als Bootmanager bezeichnet.
Auf dem MBR ist aber nur sehr wenig Platz (weniger als 512 Byte). Das dort abgelegte Programm ist also zwangsläufig sehr klein. Meist wird das Programm nichts anderes tun, als ein zweites Programm zu laden, das das eigentliche Menü des Bootmanagers enthält. Dieses zweite Programm befindet sich zwangsläufig schon auf einer Festplattenpartition. Der Bootmanager muß also – unter Umgehung des Betriebssystems, das ja noch gar nicht geladen ist – Zugriff auf das Dateisystem dieser Partition haben und das gewünschte Programm dort laden. Dieser Vorgang wird als erste Stufe (Stage 1) des Bootloaders bezeichnet.
Das Programm, das das eigentliche Menü enthält, ist also die zweite Stufe (Stage 2) des Ladevorganges. Hier kann der/die BenutzerIn also aussuchen, welches Betriebssystem von welcher Partition gebootet werden soll. Erst nach dieser Auswahl wird das eigentliche System geladen (Stage 3).
Der klassische Bootmanager unter Linux war jahrelang das Programm lilo (Linux Loader). Neuerdings existiert eine zweite Möglichkeit, der GRand Unified Bootloader grub. Verschiedene Distributionen bedienen sich inzwischen dieser zweiten Methode, daher werden beide im weiteren Verlauf des Kapitels besprochen.
Alle Artikel zur LPIC unterliegen der GNU Free Documentation License.

Quellen, Weblinks:

1.102.1 Festplattenaufteilung

800px-Siberian_Tiger_sf

Wikimedia Commons – Mila Zinkova

Aus dem Bereich 1.102 Installation und Paketmanagement der Unterlangen für die Linux Zertifizierung LPIC-1 [101]
Entwerfen einer Festplattenaufteilung
Beschreibung: Prüfungskandidaten sollten in der Lage sein, ein Partitionsschema für ein Linux-System zu entwerfen. Dieses Lernziel beinhaltet das Erzeugen von Dateisystemen und Swap-Bereichen auf separaten Partitionen oder Festplatten und das Maßschneidern des Systems für die beabsichtigte Verwendung des Systems. Ebenfalls enthalten ist das Platzieren von /boot auf einer Partition, die den BIOS-Anforderungen für den Systemstart genügt.

Die wichtigsten Dateien, Bezeichnungen und Anwendungen: * / (root) Dateisystem, /var Dateisystem, /home Dateisystem, Swap-Bereiche, Mount-Points, Partitionen, Zylinder 1024

Linux arbeitet – im Gegensatz zu anderen Systemen – nicht mit Laufwerksbuchstaben, sondern hängt alle zu benutzenden Partitionen in einen Dateibaum ein. Diese Technik des Mountens wird im Abschnitt 1.104 – Gerätedateien, Linux Dateisysteme, Filesystem Hierarchy Standard noch genauer behandelt. Hier geht es zunächst einmal um die grundlegenden Aufteilungen der Partitionen.
Es gibt verschiedene Gründe für die Benutzung von mehreren Partitionen unter Linux. Die wichtigsten sind:
* Mehrere physikalische Festplatten werden benutzt.
* Backups werden leichter planbar, wenn klar ist, daß veränderbare Daten nur auf bestimmten Partitionen vorkommen können.
* Userquotas (bestimmte Einschränkungen, wieviel Platz pro User zur Verfügung steht) beziehen sich auf Partitionen.
* Daten, die sich grundsätzlich nicht verändern (statische Systembereiche) können – wenn sie auf einer eigenen Partition liegen – ReadOnly gemountet werden.
* Bootmanager können manchmal nur auf Partitionen unterhalb des 1024 Zylinders zugreifen.
* Bestimmte Teile des Systems sollen im Netz auch anderen Rechnern zur Verfügung stehen, andere aber nicht.
Andererseits erfordert die Aufteilung eines Linux-Systems in verschiedene Partitionen auch eine wesentlich genauere Planung, weil schon bei der Installation festgelegt werden muß, wieviel Platz auf welchem Bereich benötigt werden wird.
Jede Partition (Dateisystem) wird in ein Verzeichnis eingehängt (gemountet). Der ursprüngliche Inhalt dieses Verzeichnisses ist solange unsichtbar, solange die Partition in dieses Verzeichnis eingehängt ist. Eine Liste der wichtigen Verzeichnisse auf der Wurzelpartition ist im Abschnitt 1.104.8 nachlesbar.
Das Wurzeldateisystem
Das wichtigste Dateisystem ist das Wurzeldateisystem. Es ist die Partition, die beim Booten als erstes gemountet wird und von der aus alle weiteren Mount-Vorgänge erledigt werden. Jeder Bootmanager muß wissen, welche Partition des Systems die Wurzelpartition ist. Diese Partition enthält Verzeichnisse, die entweder Daten enthalten oder in die im weiteren Verlauf des Bootvorganges andere Partitionen gemountet werden.
Viele dieser Verzeichnisse können auf solche anderen Partitionen ausgelagert werden, andere dürfen unter keinen Umständen außerhalb der Wurzelpartition liegen. Diese Aufteilung ist nicht willkürlich, sondern hat ihre Gründe. Wie so oft, ist es besser diese Gründe zu verstehen, als einfach eine Liste von Verzeichnissen auswendig zu lernen. Daher folgt hier eine Liste all der Verzeichnisse, die niemals ausgelagert werden dürfen, zusammen mit der Begründung warum:
* /bin
Das Verzeichnis /bin enthält die grundlegenden Systemprogramme, die zum Starten des Systems benötigt werden. Zum Beispiel das mount-Programm. Ohne dieses Programm können keine weiteren Dateisysteme gemountet werden, es ist also zwingend notwendig, daß /bin auf der Wurzelpartition liegt, wo es gleich nach dem Laden des Kernels zur Verfügung steht.
* /dev
Das Verzeichnis /dev enthält die Gerätedateien, mit denen der Kernel physikalische Geräte (unter anderem auch Partitionen und Platten) ansprechen kann. Diese Gerätedateien werden benötigt, um Partitionen zu mounten. Also muß auch dieses Verzeichnis zwingend auf der Wurzelpartition liegen.
* /etc
Das Verzeichnis /etc enthält – neben vielen anderen Informationen – die Information, wohin welche Partition gemountet werden soll. Ohne diese Information wäre es gar nicht möglich, andere Partitionen automatisch zu mounten.
* /lib
Das Verzeichnis /lib enthält die grundlegenden Libraries, die von Programmen wie mount benötigt werden um zu funktionieren. Außerdem liegt in diesem Verzeichnis das Unterverzeichnis modules, das die Kernelmodule enthält. Es können hier auch Kernelmodule liegen, die für die Erkennung von Dateisystemtypen notwendig sind.
* /sbin
Das Verzeichnis /sbin enthält Programme, die während des Startvorganges notwendig sind, bevor gemountet wurde. So sind hier beispielsweise die Programme zur Überprüfung der Konsistenz von Dateisystemen enthalten. Diese Konsistenzüberprüfung muß vor dem Einhängen des jeweiligen Dateisystems stattfinden.
Diese Verzeichnisse müssen also zwingend auf der Wurzelpartition liegen, alle anderen Verzeichnisse können theoretisch auf andere Partitionen ausgelagert werden. Zumindestens das Verzeichnis /root, das Heimatverzeichnis des Systemverwalters sollte (muß aber nicht) noch auf dem Wurzelverzeichnis gelegen sein, da es vorkommen kann, daß der Systemverwalter in einem Wartungsmodus mit dem System arbeiten muß, in dem nur das Wurzelverzeichnis eingehängt ist. Wenn /root auf der Wurzelpartition liegt, ist so sichergestellt, daß er auch in diesem Wartungsmodus Zugriff auf seine Dateien hat.
Das /usr- und das /var-Dateisystem
Alle statischen Daten des Betriebssystems, die nicht während des Startvorganges benötigt werden, liegen im /usr-Verzeichnis (usr bedeutet nicht User sondern Unix System Resources). Dieses Dateisystem ist in aller Regel auf einer separaten Partition untergebracht, die wesentlich größer als die Wurzelpartition ist. Dieses Verzeichnis kann (und soll) Read-Only gemountet werden, so daß keine Veränderungen darin im laufenden Betrieb möglich sind. Das schafft eine wesentlich höhere Stabilität des Gesamtsystems, weil nur durch ein bewußtes Remounten eine Veränderung am System möglich wird.
Entsprechend werden alle Dateien, die im laufenden Betrieb veränderbar sein müssen, in ein anderes Verzeichnis ausgelagert, das die sogenannten variablen Dateien enthält und aus diesem Grund den Namen /var trägt. Hier liegen mindestens die folgenden Unterverzeichnisse:
* /var/lib
Ein Verzeichnis für modifizierbare Einstellungen, die traditionell unter /usr/lib liegen würden.
* /var/lock
Hier liegen sogenannte Lock-Dateien. Das sind Dateien, die von Programmen angelegt werden, um zu zeigen, daß diese Programme laufen. Damit kann verhindert werden, daß bestimmte Programme mehrfach gestartet werden.
* /var/log
Hier liegen die Logbücher des Systems, die permanent erweitert werden müssen.
* /var/run
Ähnlich wie /var/lock liegen hier Dateien, in die Programme ihre PID eintragen, damit diese auch ohne Aufruf von ps herausfindbar sind.
* /var/spool
* /var/tmp
Temporäre Dateien.
Das Verzeichnis /var wird auch gerne und oft auf eine andere Partition als die Wurzelpartition ausgelagert. Es ist klar, daß in diesem Verzeichnis ständig Dateien angelegt, verändert und vergrößert werden. Die Gefahr, auf der Wurzelpartition keinen Platz mehr zu haben kann also speziell durch die Auslagerung von /var verringert werden.
Das /home-Dateisystem
Im Verzeichnis /home liegen die Verzeichnisse der Benutzer/innen. Je nach Anspruch bzw. je nach Aufgabe des Rechners wird dieses Verzeichnis viel oder wenig Platz brauchen. Soll der Rechner z.B. nur ein Router ins Internet werden, oder ein alleinstehender Webserver, so benötigen wir für ihn praktisch keinen Speicherplatz für Benutzer, da es auf einem solchen Rechner keine Benutzer gibt. Ein Rechner hingegen, der als Fileserver dient oder eine normale Arbeitsstation ist, wird hier – je nach verfügbarem Plattenplatz – möglichst viel Speicher anbieten.
Im zweiten Fall ist es unbedingt ratsam, das /home Verzeichnis auf eine andere Platte auszulagern. Ein bösartiger Benutzer könnte ansonsten ein Programm schreiben, das die Festplatte füllt, und damit die Wurzelpartition bis obenhin voll machen, was dazu führen würde, daß Linux nicht mehr arbeiten kann. Es gibt dagegen zwar verschiedene Hilfsmechanismen wie Disk-Quota (siehe Abschnitt 1.104.4 – Verwalten von Diskquotas) oder der Reservierung von Plattenplatz auf EXT2-Dateisystemen, trotzdem ist eine Auslagerung auf eine andere Partition in einem solchen Fall immer ratsam.
Ein weiterer Aspekt der Auslagerung sind die Backups. Das /home Verzeichnis sollte grundsätzlich immer in ein Backup aufgenommen werden, weil hier ja die Dateien der User liegen, die einer ständigen Veränderung unterworfen sind.
Das /tmp-Verzeichnis
Dieses Verzeichnis ist – neben dem /home-Verzeichnis – das einzige auf dem System, in dem Normaluser Schreibrechte besitzen. Also ist es auch hier ratsam, dafür zu sorgen, daß – wie oben schon erwähnt – die User nicht die Systemplatte füllen können. Auch dieses Verzeichnis kann und soll auf eine andere Partition ausgelagert werden, wenn es ein System ist, von dem wir erwarten, daß dort User arbeiten. Auf statischen Servern wie reinen Internet-Routern kann dieses Verzeichnis aber problemlos auch auf der Wurzelplatte verbleiben.
Das /boot Dateisystem und das Problem der 1024 Zylinder
Auf älteren Systemen gibt es ein Problem mit Festplatten, die mehr als 1024 Zylinder haben. Dieses Problem bezieht sich nicht auf den Zugriff auf die Platte durch Linux, sondern auf den Zugriff durch Bootmanagersoftware.
Wenn ein Bootmanager wie LILO beim Systemstart auf Festplatten zugreift, etwa um den entsprechenden Kernel zu laden, so muß er ohne Betriebssystem auf die Platte zugreifen. Er muß also mit BIOS-Routinen arbeiten, die eben das Problem haben können, nicht mehr als 1024 Zylinder direkt ansprechen zu können. Ist die Partition, die die Dateien des Bootmanagers enthält jetzt auf einer Partition, deren Grenzen überhalb der 1024 Zylinder liegen, dann kann der Bootvorgang nicht funktionieren.
Aus diesem Grund gibt es die Möglichkeit, eine sehr kleine Partition (ungefähr 20 MB) anzulegen, die am Anfang der Platte liegt, also unterhalb der 1024 Zylinder. Diese Partition wird ins Verzeichnis /boot gemountet und enthält alle Informationen, die der Bootmanager benötigt (Kerneldateien, Initrd-Images, System.map, boot.b, chain.b, …).
Durch diesen Trick ist der Bootmanager während des Bootvorgangs in der Lage, auf seine Dateien zuzugreifen, ohne die 1024er Grenze zu überschreiten.
Moderne BIOSe und moderne Bootmanager umgehen dieses Problem über die Verwendung der LBA-Methode. Dann ist die Auslagerung nicht mehr nötig.
Swap-Partitionen
Ein Linux-System kann, wenn der physikalische Arbeitsspeicher zur Neige geht, einen bestimmten Partitionstyp als Speicherersatz für den Notfall benutzen. Diese Technik des Auslagerns (Paging) ist eine der ältesten Eigenschaften von Linux und hat es gerade auf Privatrechnern mit wenig Speicher so beliebt gemacht.
Eine Partition, die als Speichererweiterung dienen soll, wird als Swap-Partition bezeichnet und benötigt zwei grundlegende Vorbereitungstechniken:
* Sie muß beim Anlegen mit fdisk bereits den Partitionstyp Linux Swap (Typ 82) bekommen.
* Sie bekommt zwar kein „echtes“ Dateisystem, muß jedoch mit dem Programm mkswap vorbereitet werden.
Während des Bootens wird eine solche Partition mit Hilfe des Kommandos swapon aktiviert. Sie wird also nicht wirklich gemountet, bekommt jedoch auch einen Eintrag in /etc/fstab in der Art:
/dev/hdc2 none swap sw 0 0
Eine schwierige Frage ist die richtige Größe einer solchen Swap-Partition. Früher gab es die Daumenregel, daß diese Partition doppelt so groß wie der physikalische Arbeitsspeicher sein sollte. Das war in den Zeiten verständlich, in denen Arbeitsspeichergrößen im Bereich 16-32 MB üblich waren. Da konnte es vorkommen, daß ein Programm geladen werden sollte, daß alleine 13 MB erfordert hatte (etwa Netscape). Damit wäre dieses Programm zwar langsam, aber eben doch gelaufen.
Heute sind wesentlich größere Speichergrößen üblich, die diese Daumenregel ad absurdum führen. Wenn ein Rechner 256 MB Ram besitzt, so macht es wenig Sinn, seine Swap-Partition 512 MB groß zu erstellen. Denn eine tatsächliche Arbeit mit einem System, das 512 MB Speicher auslagert ist nicht mehr möglich. Arbeitsspeicher ist einfach sehr viel schneller als Plattenzugriffe…
Eine praxistaugliche Größe der Swap-Partition ist etwas um 64 MB bis 128 MB.
Alle Artikel zur LPIC unterliegen der GNU Free Documentation License.

Quellen, Weblinks: