18.09.2006, 05:27
So wie du das schreibst, neo, stimmt's schon.
Aber ich möchte grad noch ein Wort zum Paketmanager hinzufügen - gerade für solche, die nicht viel damit anfangen können:
Ein großer Vorteil bei Linux ist, wie richtig erwähnt, seine Modularität. Aber warum? Nun, man kennt bei Windows die bekannten Blue Screens oder auch nur simple Abstürze. Das kommt oft auch nur deswegen, weil jedes neu installierte Programm seine ganzen Daten, Treiber und Bibliotheken einfach so auf die Festplatte klatscht und womöglich - wenn es unsauber programmiert wurde, auch noch etwas kryptisch in die Windows-Registrierung schreibt, anstatt seine Einstellungen sauber und detailiert in Konfigurationsdateien wie .INI oder .XML aufzuführen. Und diese Unsitte machen viele Programme für Windows, bis am Ende eben jedes Programm "eigenes Süppchen kocht". Einerseits ist es so zwar am vielversprechendsten lauffähig, aber andererseits leidet eben massivst die Systemstabilität darunter. Folge ist, dass es zwischen verschiedenen Programmen und Bibliotheken -- (eine Programmbibliothek bezeichnet in der Programmierung eine Sammlung von Programmfunktionen und -routinen für zusammengehörende Aufgaben. Bibliotheken sind im Unterschied zu Programmen keine eigenständigen Einheiten, sondern Hilfsmodule, die Programmen zur Verfügung stehen; Quelle: wikipedia.de) -- zu Inkompatibilitäten kommen kann, die eben die oben beschriebenen Effekte verursachen. Zwar sind in dieser Hinsicht Windows 2000 und XP verbessert worden, aber die Registry steht immer noch für alle Programme offen. Einhalt kann man dem gebieten, wenn man bei Windows XP nicht als Administrator arbeitet, sondern als gewöhnlicher Benutzer, aber dann kann man eben wieder keine neuen Programme installieren, oder nur sehr wenige.
Linux ist da komplett anders. Linux selbst ist nur der Betriebssystemkern, der die grundlegenden Funktionen steuert. Nur das ist im Grunde Linux. Alles andere drumherum inkl. dem Kern wird dann als Distribution bezeichnet, welche aus vielen einzelnen Software-Paketen besteht (also grafische Oberfläche, Office-Programme, Brennprogramme, Musik, Spiele usw.). Und hier kommen die Paketmanager ins Spiel. Man kann sich zwar immer noch bei OpenSource-Programmen (also Programme, wo der Quellcode offen liegt und man 100%ig sehen kann - wenn man will -, was das Programm tut, wie es arbeitet, welcher Speicherzugriff erfolgt usw.)
den Quellcode aus dem Internet runterladen und selbst kompilieren (d.h. den Code in eine für den Computer verständliche Form bringen, denn der Quellcode ist nur für Menschen gedacht, damit die ihn verstehen und programmieren können), aber es ist vorzuziehen, die sogenannten vorgefertigen Binary-Pakete für bestimmte Linux-Distributionen zu verwenden. So wurde das Programm also speziell z.B. auf SUSE, Debian oder sonstwas abgestimmt. Binaries sind einfach ausgedrückt vergleichbar mit den EXE-Dateien unter Windows (genau genommen ist damit jede Datei jemeint, die keine Textdatei ist, aber das führt zuweit). Das Wort kommt von binär, also 0 und 1. Das ist das eigentliche, was ein Computer versteht. Einfach ausgedrückt: Strom fließt, Strom fließt nicht, oder anders herum, je nach Definition. Der Paketmanager ladet also aus dem Internet nur diese Pakete, die wirklich gebraucht werden. Er baut also ein Programm unter Linux aus Modulen zusammen, sodass sich meistens mehrere Programme die selben Systemdateien teilen. Zugleich aktualisiert er die verschiedenen Pakete, wenn neue verfügbar sind, oder er löscht alte, wenn diese Konflikte bereiten könnten. Sowas nennt man dann unter Linux dann "Abhängigkeiten auflösen". Somit ist das ganze Betriebssystem sauber geordnet und alles hat seinen Platz. Hierzu auch eine Bemerkung zum bemängelten Linux-Dateisystem. Dieses kommt euch nur deshalb so unlogisch vor, da ihr eben mit Windows aufgewachsen seid und Linux neu ist. Aber genau genommen ist das Linux-Dateisystem logischer. Hier hat alles seinen Platz. Wer bisher nur mit DOS und Windows gearbeitet hat, ist es gewohnt mit Laufwerken zu arbeiten (A:, B: C:...). Auf jedem dieser Laufwerke befindet sich ein Dateisystem. Ein Dateiname wird im Format <Laufwerk>:\<Pfad>\<Name>.<Erweiterung> angegeben. (Beispiel: c:\windows\dos\cmd.exe). Linux hingegen kennt nur ein Dateisystem (natürlich gibt es hier auch verschiedene "Formate", wie z.B. ext3, reiserfs, usw., genauso, wie es unter Windows FAT32 und NTFS gibt) in Form eines "richtigen" Baums mit der Wurzel namens Root (engl.) /. Die einzelnen Laufwerke bzw. Partitionen werden als Verzeichnis in das Dateisystem eingehängt. In der Unix/Linux-Welt spricht man von einem sogenannten Mount-point, zu deutsch "Einhängepunkt", "mounten" heißt also ins bestehende Dateisystem "einhängen". Aber im Grunde ist es nur Gewöhnungssache. Aber die Entwickler haben sich schon was dabei gedacht.
"root" ist neben der Dateisystem-Baumwurzel ebenfalls der Name des Systemadministrators, der alle Rechte am System besitzt, quasi der Gott. Da "root" eben so mächtig ist, sollte Linux aus Vorsicht immer als User betrieben werden und "root" nur für Installations- und Wartungsarbeiten benutzt werden, genauso wie unter Windows der Administrator.
Mehr dazu hier: <!-- m --><a class="postlink" href="http://www.bin-bash.de/dateisystem.php">http://www.bin-bash.de/dateisystem.php</a><!-- m -->
Die erwähnte c't Spezialausgabe ist höchst empfehlenswert!
Aber ich möchte grad noch ein Wort zum Paketmanager hinzufügen - gerade für solche, die nicht viel damit anfangen können:
Ein großer Vorteil bei Linux ist, wie richtig erwähnt, seine Modularität. Aber warum? Nun, man kennt bei Windows die bekannten Blue Screens oder auch nur simple Abstürze. Das kommt oft auch nur deswegen, weil jedes neu installierte Programm seine ganzen Daten, Treiber und Bibliotheken einfach so auf die Festplatte klatscht und womöglich - wenn es unsauber programmiert wurde, auch noch etwas kryptisch in die Windows-Registrierung schreibt, anstatt seine Einstellungen sauber und detailiert in Konfigurationsdateien wie .INI oder .XML aufzuführen. Und diese Unsitte machen viele Programme für Windows, bis am Ende eben jedes Programm "eigenes Süppchen kocht". Einerseits ist es so zwar am vielversprechendsten lauffähig, aber andererseits leidet eben massivst die Systemstabilität darunter. Folge ist, dass es zwischen verschiedenen Programmen und Bibliotheken -- (eine Programmbibliothek bezeichnet in der Programmierung eine Sammlung von Programmfunktionen und -routinen für zusammengehörende Aufgaben. Bibliotheken sind im Unterschied zu Programmen keine eigenständigen Einheiten, sondern Hilfsmodule, die Programmen zur Verfügung stehen; Quelle: wikipedia.de) -- zu Inkompatibilitäten kommen kann, die eben die oben beschriebenen Effekte verursachen. Zwar sind in dieser Hinsicht Windows 2000 und XP verbessert worden, aber die Registry steht immer noch für alle Programme offen. Einhalt kann man dem gebieten, wenn man bei Windows XP nicht als Administrator arbeitet, sondern als gewöhnlicher Benutzer, aber dann kann man eben wieder keine neuen Programme installieren, oder nur sehr wenige.
Linux ist da komplett anders. Linux selbst ist nur der Betriebssystemkern, der die grundlegenden Funktionen steuert. Nur das ist im Grunde Linux. Alles andere drumherum inkl. dem Kern wird dann als Distribution bezeichnet, welche aus vielen einzelnen Software-Paketen besteht (also grafische Oberfläche, Office-Programme, Brennprogramme, Musik, Spiele usw.). Und hier kommen die Paketmanager ins Spiel. Man kann sich zwar immer noch bei OpenSource-Programmen (also Programme, wo der Quellcode offen liegt und man 100%ig sehen kann - wenn man will -, was das Programm tut, wie es arbeitet, welcher Speicherzugriff erfolgt usw.)
den Quellcode aus dem Internet runterladen und selbst kompilieren (d.h. den Code in eine für den Computer verständliche Form bringen, denn der Quellcode ist nur für Menschen gedacht, damit die ihn verstehen und programmieren können), aber es ist vorzuziehen, die sogenannten vorgefertigen Binary-Pakete für bestimmte Linux-Distributionen zu verwenden. So wurde das Programm also speziell z.B. auf SUSE, Debian oder sonstwas abgestimmt. Binaries sind einfach ausgedrückt vergleichbar mit den EXE-Dateien unter Windows (genau genommen ist damit jede Datei jemeint, die keine Textdatei ist, aber das führt zuweit). Das Wort kommt von binär, also 0 und 1. Das ist das eigentliche, was ein Computer versteht. Einfach ausgedrückt: Strom fließt, Strom fließt nicht, oder anders herum, je nach Definition. Der Paketmanager ladet also aus dem Internet nur diese Pakete, die wirklich gebraucht werden. Er baut also ein Programm unter Linux aus Modulen zusammen, sodass sich meistens mehrere Programme die selben Systemdateien teilen. Zugleich aktualisiert er die verschiedenen Pakete, wenn neue verfügbar sind, oder er löscht alte, wenn diese Konflikte bereiten könnten. Sowas nennt man dann unter Linux dann "Abhängigkeiten auflösen". Somit ist das ganze Betriebssystem sauber geordnet und alles hat seinen Platz. Hierzu auch eine Bemerkung zum bemängelten Linux-Dateisystem. Dieses kommt euch nur deshalb so unlogisch vor, da ihr eben mit Windows aufgewachsen seid und Linux neu ist. Aber genau genommen ist das Linux-Dateisystem logischer. Hier hat alles seinen Platz. Wer bisher nur mit DOS und Windows gearbeitet hat, ist es gewohnt mit Laufwerken zu arbeiten (A:, B: C:...). Auf jedem dieser Laufwerke befindet sich ein Dateisystem. Ein Dateiname wird im Format <Laufwerk>:\<Pfad>\<Name>.<Erweiterung> angegeben. (Beispiel: c:\windows\dos\cmd.exe). Linux hingegen kennt nur ein Dateisystem (natürlich gibt es hier auch verschiedene "Formate", wie z.B. ext3, reiserfs, usw., genauso, wie es unter Windows FAT32 und NTFS gibt) in Form eines "richtigen" Baums mit der Wurzel namens Root (engl.) /. Die einzelnen Laufwerke bzw. Partitionen werden als Verzeichnis in das Dateisystem eingehängt. In der Unix/Linux-Welt spricht man von einem sogenannten Mount-point, zu deutsch "Einhängepunkt", "mounten" heißt also ins bestehende Dateisystem "einhängen". Aber im Grunde ist es nur Gewöhnungssache. Aber die Entwickler haben sich schon was dabei gedacht.
"root" ist neben der Dateisystem-Baumwurzel ebenfalls der Name des Systemadministrators, der alle Rechte am System besitzt, quasi der Gott. Da "root" eben so mächtig ist, sollte Linux aus Vorsicht immer als User betrieben werden und "root" nur für Installations- und Wartungsarbeiten benutzt werden, genauso wie unter Windows der Administrator.
Mehr dazu hier: <!-- m --><a class="postlink" href="http://www.bin-bash.de/dateisystem.php">http://www.bin-bash.de/dateisystem.php</a><!-- m -->
Die erwähnte c't Spezialausgabe ist höchst empfehlenswert!
