Linux-Praxisbuch/ Abstellraum/ Was ist Linux?

< Abstellraum In diesem Kapitel werden zunächst die wichtigsten Grundbegriffe rund um Linux erläutert. Es folgen wesentliche technische Eigenschaften in Kurzform sowie eine Liste der unterstützten Plattformen. Die folgenden Abschnitte behandeln einige verstreute Themen, die für Linux-Einsteiger interessant sein könnten.


Begriffsklärung

Bearbeiten

Es soll hier zunächst einmal klargestellt werden, was man unter dem Begriff "Linux" eigentlich versteht.

Prinzipiell ist mit dem Begriff "Linux" nur der Kernel gemeint, also der Teil des Systems, der z.B. die Ressourcen für die laufenden Programme und die Anwender verwaltet. Obwohl der Kernel ein essentieller Teil des Systems ist, wäre er ohne zusätzliche Software allerdings nutzlos. Um diesen Kernel effektiv nutzen zu können, ist weitere (teilweise sehr systemnahe) Software notwendig, also das eigentliche Betriebssystem. Derzeit wird in den meisten Fällen die Software des GNU-Projektes ( http://www.gnu.org ) in Verbindung mit dem Linux-Kernel verwendet. Das GNU-Projekt entwickelt bereits seit 1984 Freie Software ( http://www.gnu.org/philosophy/free-sw.de.html), unter anderem das Unix-ähnliche Softwaresystem GNU. Als 1991 die Arbeit am Linux-Kernel begann, war dieses Softwaresystem bereits fast fertig, sodass man auf einen Großteil Freier Software für die Linux-Entwicklung zurückgreifen konnte.

Heute sind beide Komponenten, der Linux-Kernel und die GNU-Betriebssoftware, kaum noch voneinander zu trennen. Beide Teile haben sich gegenseitig vorangebracht und gegenseitig befruchtet.

Korrekterweise müsste man also eigentlich, wenn man das Betriebssystem meint, von "GNU/Linux" sprechen, da hier immer der Kernel (Linux) und die Systemwerkzeuge (GNU) gemeinsam gemeint sind.

Es hat sich allerdings heute eingebürgert, dass umgangssprachlich unter dem Begriff "Linux" die Kombination aus Kernel und Systemwerkzeugen gemeint ist. An vielen Stellen in diesem Tutorial (beginnend bereits im vorliegenden Text) wird dies genauso gehandhabt. Es finden sich also als Bezeichnung für das Betriebssystem gleichbedeutend die Begriffe "Linux" und "GNU/Linux", und für den Kernel "Kernel" oder "Linux-Kernel". Dies soll keinesfalls eine Verunglimpfung der hervorragenden Arbeit des GNU-Projektes sein, sondern trägt eher der Tatsache Rechnung, dass diese Benennung heutzutage von den meisten Anwendern verstanden und benutzt wird. Eine detaillierte Erklärung über die Zusammenhänge zwischen GNU und Linux ist auf http://www.gnu.org/gnu/linux-and-gnu.html zu finden. HINWEIS: Natürlich wird auf GNU/Linux-Systemen nicht nur Software eingesetzt, die unter der GNU GPL steht. Es gibt viele andere Freie Lizenzen, unter denen Software stehen kann. Einen ersten Überblick kann man sich auch hier beim GNU-Projekt auf http://www.gnu.org/licenses/licenses.html verschaffen.

Kurze Einführung

Bearbeiten

(GNU/)Linux ist ein hochstabiles, sehr schnelles und voll funktionsfähiges Unix-ähnliches Betriebssystem. Es wird von einer Gemeinschaft von tausenden von Leuten im Internet programmiert und unter der GNU General Public License verteilt, das heißt, es ist frei erhältlich. Es wird weltweit von mehreren Millionen Leuten, Organisationen und Firmen benutzt (aktuelle Zahlen gibt es beim Linux Counter).

Das ist "nur" der Kernel. Ein Kernel ist ein Stück Software, das die Kommunikation zwischen den einzelnen Hardwarekomponenten und den Anwenderprogrammen regelt. Das mag trivial klingen, ist aber eine sehr komplexe Aufgabe. Jedes OS (Operating System) hat einen Kernel, nur werden die wenigsten nach dessen Namen benannt..

Betriebssystem (engl. Operating System)

Bearbeiten

Ein Kernel allein nützt noch (fast) niemandem etwas. Damit ein Mensch mit ihm arbeiten kann braucht ein OS weitere, elementare Programme, um funktionieren zu können.

Eine Shell ist ein Programm (Kommandozeileninterpreter), das zwischen dem Benutzer und dem System arbeitet. Auf der Shell hat man die Möglichkeit, Befehle und Programme auszuführen. Zudem verfügt jede Shell über eine Programmiersprache. Damit können Skripte zur Arbeitserleichterung geschrieben werden. Unter Linux ist die Bash (Bourne Again Shell) die Standardshell.

X-Server

Bearbeiten

Heute möchten nur noch wenige den Komfort einer grafischen Benutzeroberfläche missen. Diese Funktion kann man in Form eines Programmes zusätzlich zur Shell installieren. Solch ein Programm nennt man X-Server. Dadurch werden Grundfunktionen der Ein- und Ausgabe für dritte Programme bereitgestellt, dazu gehört beispielweise grafische Ausgabe, aber auch Behandlung von Maus- und Tastatureingaben.

Das X-Window-System basiert auf einem Client-Server-Prinzip. In der Regel befinden sich sowohl Client als auch Server auf dem selben Rechner, dies muss aber nicht sein. So ist es zum Beispiel möglich, ein Programm lokal anzeigen zu lassen, welches auf einem entfernten Rechner läuft. Anstatt das Ergebnis am entfernten Rechner auszugeben, sendet das entfernte Programm über ein Netzwerk (z.B. das Internet) die Informationen des grafischen Ergebnisses zum eigenen, lokalen X-Server, der das Ergebnis über den lokalen Rechner darstellt. Damit könnte zum Beispiel ein entfernter, leistungsfähiger Rechner eine aufwändige Kalkulation berechnen, und das Ergebnis zu einem lokalen, schwachbrüstigen Rechner schicken, der die Kalkulation nur noch darstellen muss. Der entfernte Rechner ist hier der Client, und der lokale der Darstellungs-Server.

Der X-Server bringt einem nicht den gewünschten Arbeitskomfort. Dazu dient ein Desktop wie KDE oder GNOME. Dieser ermöglicht das Arbeiten, wie man es von anderen grafischen Betriebssystemen her kennt. Man verfügt über eine Arbeitsfläche mit Fenstern und kann Programme über Icons starten.

Bibliothek

Bearbeiten

Eine Bibliothek ist eine Sammlung von wiederkehrenden Programmteilen. Da viele Programme gleiche oder ähnliche Teile haben, ist es ineffektiv, diesen Teil immer wieder zu programmieren. Daher werden diese Teile in eine externe Datei ausgelagert. Da mehrere Programme darauf zugreifen, kann die Grösse des einzelnen Programms verkleinert werden. Fehlt die Bibliothek, läuft aber das gesamte Programm nicht mehr. Dies sind dann die berühmten fehlenden Abhängigkeiten.

Anwendungen

Bearbeiten

Alles was wir so zum Arbeiten mit dem Computer brauchen, also z.B. eine Office-Software, Internet-Tools, Buchhaltungen, Spiele, Bildbearbeitung, Audio-Software, etc.

Distribution

Bearbeiten

Alles oben Genannte zusammengestellt und aufeinander abgestimmt ergibt eine Distribution. Linux-Distributoren sind unabhängige Organisationen, die Software für Linux sammeln und vertreiben.

Eigenschaften von Linux

Bearbeiten
  • Entweder 32- oder 64-bittig, abhängig von der Computer-Architektur.
  • Multi-User: mehrere Benutzer können gleichzeitig auf derselben Maschine arbeiten.
  • Multi-Plattform: Linux läuft auf den verschiedensten Prozessoren.
  • Multi-Processing: SMP (Symmetric Multi-Processing) für bis zu 16 Prozessoren.
  • Clustering: Cluster von beliebiger Grösse (es gibt schon solche mit 520 Maschinen).
  • Geschützter Speicher: damit ein Prozess nicht das ganze System zum Absturz bringen kann.
  • Programme, die bestimmte Teile nur nachladen, wenn sie wirklich gebraucht werden.
  • Virtueller Speicher mit Paging (das heisst nur: Teile von Prozessen können auf die Festplatte ausgelagert werden).
  • Freier Speicher wird in einem Pool verwaltet, der sowohl Programme als auch Disk-Cache bedient: der gesamte freie *Speicher kann zum Cachen verwendet werden.
  • Verwendung von dynamisch gelinkten Bibliotheken; statische Bibliotheken können selbstverständlich auch verwendet werden.
  • Größtenteils kompatibel mit Unix (POSIX, System V und BSD) Der Unix98-Standard wird ebenfalls angestrebt (und bald erreicht).
  • POSIX-kompatible Job-Kontrolle. Realtime Scheduling ist ebenfalls möglich.
  • Ein nicht fragmentierendes Dateisystem (Extended 2) mit langen Dateinamen (255 Zeichen) und Partitionen von bis zu 4 Terabyte. Es unterstützt Hard- und Softlinks. Außerdem stehen weitere Dateisysteme zur Verfügung, die auch Journaling unterstützen. Dazu gehören ext3, aber auch die weitaus schnelleren Dateisysteme ReiserFS, JFS und XFS.
  • Unterstützt zahlreiche Dateisysteme, unter anderem VFAT / FAT32 (Windows9x - XP), NTFS (Windows NT/2000/XP), MacOS / HFS, QNX, BSD 4.3 ufs, Coda und Amiga / AFFS, als auch das Netzwerkdateisystem NFS.
  • Bis zu 64 virtuelle Konsolen.
  • Der ganze Quellcode ist erhältlich, eingeschlossen der ganze Kernel und (fast) alle Treiber.
  • Ein Großteil der PC-Hardware wird unterstützt, dazu gehören auch Sound-, Ethernet-, ATM-, Appletalk-, TV-, ISDN- und Multiport-Karten, Joysticks etc.
  • Viele Netzwerk-Protokolle wie TCP/IP Versionen 4 und 6, IPX/SPX, Token-Ring, Ethertalk, Appletalk etc.
  • Viele konfigurierbare Netzwerk-Funktionen wie Masquerading (NAT), Tunneling, Forwarding, Routing, Firewalling etc.

Unterstützte Plattformen

Bearbeiten
  • Intel 80386: PCs mit Intel-, AMD- oder Cyrix-Prozessoren, die zum 80386 kompatibel sind
  • Intel IA-64: der neue Intel-Prozessor wird von Beginn an unterstützt.
  • Intel 8086: Es gibt ein Projekt mit dem Ziel, Linux auf den 8086 zu portieren. Dieses Vorhaben ist noch nicht ganz abgeschlossen.
  • Power PC 604: Power Macintosh und Kompatible. Beachten Sie, dass es zwei Linux-Versionen für den PPC gibt: eine generische und eine, die auf dem Mach-Microkernel aufbaut.
  • Motorola 68020: Amiga oder Atari ST mit einem 68020 brauchen einen zusätzlichen Coprozessor für die Speicherverwaltung (PMMU MC 68851) oder einen 68030. Ebenso Sun 3/80 und Classic Macintosh.
  • Motorola 68000: MicroLinux und uClinux für 68000-Prozessoren ohne MMU: Palmpilot, Amiga 500, ColdFire, Atari ST und verschiedenste Embedded-Systeme
  • MIPS: Die meisten MIPS Prozessoren, zahlreiche Workstation, Serversysteme, Evaluation Boards und andere Geräte.
  • ARM: Acorn Archimedes.
  • Alpha: DEC Alpha und Kompatible. Dieser Port hat immer noch Geschwindigkeitsprobleme.
  • Sparc: Sun4c und höher. Ebenso UltraSparc-Prozessoren. Das ist einer der schnellsten und stabilsten Ports. Für aktuelle Informationen sei auf http://www.ultralinux.org verwiesen.

Voraussetzungen

Bearbeiten

Linux benötigt mindestens 4 MB RAM, beziehungsweise 8 für das X Window System. 128 MB werden empfohlen. Es ist möglich, ein Minimal-System mit weniger als 50 MB Festplatten-Platz zu installieren, aber wir empfehlen 1 GB. Für die CPU ist bei Intel-Prozessoren ein 80386sx das Minimum.

Wer benutzt Linux?

Bearbeiten

Viele Privatpersonen benutzen es als Workstation; speziell Studenten, System-Betreuer und Programmierer. Linux wird auch in vielen Firmen eingesetzt, dort vor allem als Server für verschiedene Aufgaben wie Mail, WWW, File-Server, Firewalls oder auch als Application-Server. Einige Firmen benutzen Linux als über das Netz wartbare Thin Clients.

Gründe, Linux zu benutzen

Bearbeiten

Es ist schneller, stabiler und besser skalierbar als so manches kommerzielle System. Anschaffungs- und Unterhaltskosten sind niedrig, was zu einem hervorragenden Preis-/Leistungsverhältnis führt. Die Hardwareunterstützung ist besser als bei den meisten anderen Unix-Systemen. Die Quellen sind verfügbar. Fehler werden sehr schnell behoben, oft innerhalb weniger Stunden nach der Entdeckung. Des Weiteren glänzt Linux durch seine Vielfalt. Für fast jede Aufgabe gibt es mehrere Programme, zwischen denen man auswählen kann. Man ist völlig frei, wie man sein System gestaltet. Es kann bunt und piepsend sein, oder ein viel einfacherer Fenstermanager ohne viel Komfort. Wer will braucht auch gar keinen Desktop, sondern kann mit der Konsole arbeiten. Mit Linux kann neuste Software auch auf alten Rechnern in angenehmer Geschwindigkeit laufen.

Wer leistet Support für Linux?

Bearbeiten

Sie erhalten gratis Support von zahlreichen Internet-Newsgroups, Mailinglisten und ungezählten WWW-Seiten. Sie haben die Möglichkeit, dem Programmierer einer Software direkt eine Mail zu schicken. Sie können auch mit Ihrer lokalen Linux oder Unix User Group Kontakt aufnehmen. Wenn Sie kommerziellen Support benötigen, können Sie sich an einen der Distributoren oder eine Firma, die Linux einsetzt und unterstützt, wenden. Eine Liste solcher Firmen erscheint beispielsweise monatlich im Linux-Magazin ( http://www.linux-magazin.de).

Warum der Pinguin?

Bearbeiten

Viele haben sich sicher schonmal gefragt, warum gerade ein Pinguin das am weitesten verbreitete Symbol für Linux auf der Welt ist.

Alles begann damit, dass eine Linux User Group in Bristol in England für Linus Torvalds einen Pinguin gekauft hat. Linus machte sich auf den weiten Weg um das Tier zu besuchen. Als er dort ankam, stellte sich heraus, dass sie ihm keinen Pinguin gekauft, sondern nur in seinem Namen eine Patenschaft für einen Pinguin übernommen hatten. Aber wie kam es jetzt, dass der Pinguin als Symbol für Linux genommen wurde?

Dies war die Idee von Tove, seiner Frau. Linus versuchte ein Symbol für Linux zu finden, da ihn viele Leute darauf ansprachen, dass es gut wäre, ein eigenes Symbol zu haben. Die anderen Linux Firmen hatten ja zu dem Zeitpunkt auch schon alle eigene Logos. Seine Frau dachte bei der Logosuche an Pinguine, weil Linus in einem Zoo in Australien einmal von einem Pinguin gebissen wurde. Dies geschah beim Versuch, die Pinguine einfach so über ihren Zaun hinweg zu streicheln.

Nach diesem Erlebnis entwickelte Linus komischerweise eine Leidenschaft für Pinguine und Tove machte den Vorschlag, er solle doch einfach einen Pinguin als Logo nehmen. Linus sprach die Idee des Pinguins nach langem Überlegen mit Henry Hall und Maddog ab und schließlich entschieden sie sich dafür, dass der Pinguin gut ist.

Als nächstes spornte Linus die Internetgemeinde an, ihm Bilder von Pinguinen zu schicken. Linus gab sich jedoch nicht mit einem x-beliebigen Pinguin ab, nein, sein Pinguin sollte glücklich aussehen, "so als hätte er eine Maß Bier genossen und den besten Sex seines Lebens gehabt". Er wählte die Version von Larry Ewing, einem Grafiker, der am Institute for Scientific Computing an der A&M University in Texas arbeitete, aus. Der Pinguin sollte unverwechselbar sein, was er mit Tux, so sein Name, auch geschafft hat.

Während normale Pinguine einen schwarzen Schnabel und schwarze Füße haben, sollte das Linux Maskottchen wegen der Einzigartigkeit einen orangen Schnabel und orangefarbene Füße haben, so dass es so aussieht, als sei die Mutter des Pinguins eine Ente. "Als hätte Daisy Duck sich auf einer Antarktis-Kreuzfahrt vergessen und einen wilden One-Night-Stand mit einem einheimischen Federvieh gehabt".

Literatur

Bearbeiten
  • Linus Torvalds und David Diamond: Just for fun. Wie ein Freak die Computerwelt revolutionierte, München 2001 ISBN 3446216847