26
Betriebssysteme Einführung in LINUX Betriebssysteme Einführung in LINUX erstellt durch: Name: Karl Wohlrab Telefon: 09281 / 409-279 Fax: 09281 / 409-55279 EMail: mailto: [email protected] Der Inhalt dieses Dokumentes darf ohne vorherige schriftliche Erlaubnis des Autors nicht (ganz oder teilweise) reproduziert, benutzt oder veröffentlicht werden. Das Copyright gilt für alle Formen der Speicherung und Reproduktion, in denen die vorliegenden Informationen eingeflossen sind, einschließlich und zwar ohne Begrenzung Magnetspeicher, Computer ausdrucke und visuelle Anzeigen. Anmerkungen Bei dem vorliegenden Scriptum handelt es sich um ein Rohmanuskript im Entwurfsstadium. Das Script wird begleitend zur Lehrveranstaltung fortgeschrieben und überarbeitet. Es erhebt keinen Anspruch auf Vollständigkeit und Korrektheit. Inhaltliche Fehler oder Ungenauigkeiten können ebenso wenig ausgeschlossen werden wie Rechtschreibfehler. Karl Wohlrab LINUX_Einfuehrung.odt Stand: 13.05.2008 Seite 1 von 26

Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

Embed Size (px)

Citation preview

Page 1: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

Betriebssysteme

Einführung in LINUX

erstellt durch:

Name: Karl WohlrabTelefon: 09281 / 409-279Fax: 09281 / 409-55279EMail: mailto: [email protected]

Der Inhalt dieses Dokumentes darf ohne vorherige schriftliche Erlaubnis des Autors nicht (ganz oder teilweise) reproduziert, benutzt oder veröffentlicht werden.

Das Copyright gilt für alle Formen der Speicherung und Reproduktion, in denen die vorliegenden Informationen eingeflossen sind, einschließlich und zwar ohne Begrenzung Magnetspeicher, Computer ausdrucke und visuelle Anzeigen.

Anmerkungen

Bei dem vorliegenden Scriptum handelt es sich um ein Rohmanuskript im Entwurfsstadium. Das Script wird begleitend zur Lehrveranstaltung fortgeschrieben und überarbeitet.

Es erhebt keinen Anspruch auf Vollständigkeit und Korrektheit. Inhaltliche Fehler oder Ungenauigkeiten können ebenso wenig ausgeschlossen werden wie Rechtschreibfehler.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 1 von 26

Page 2: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

Inhaltsverzeichnis

1. Allgemeiner Überblick über LINUX...........................................3

1.1 Allgemeine Merkmale von UNIX / LINUX................................................31.1.1 Was ist LINUX?..............................................................................................................31.1.2 Historische Entwicklung von UNIX / LINUX...............................................................51.1.3 Leistungsmerkmale von LINUX...................................................................................81.1.4 Open Source................................................................................................................101.1.5 Dokumentation............................................................................................................101.1.6 Sicherheit.....................................................................................................................101.1.7 Plattformvielfalt...........................................................................................................11

2. Grundkonzept von LINUX........................................................12

2.1 Die Struktur von LINUX..........................................................................12

2.2 LINUX-Grundbegriffe.............................................................................142.2.1 Der Kernel....................................................................................................................142.2.2 Die wichtigsten LINUX-Distributionen......................................................................162.2.3 GPL - General Public License....................................................................................172.2.4 Wichtige Grundsatzregeln..........................................................................................18

2.3 Erste Schritte mit LINUX........................................................................192.3.1 Anmeldung und Login................................................................................................192.3.2 User und Superuser....................................................................................................202.3.3 Abmeldung und Logoff...............................................................................................212.3.4 LINUX starten und beenden.......................................................................................212.3.5 Booten des Systems...................................................................................................212.3.6 Shutdown.....................................................................................................................222.3.7 Tastatur und Maus.......................................................................................................23

2.3.7.1 Besondere Tastenkombinationen..............................................................................232.3.7.2 Besondere Mausfunktionen.......................................................................................23

2.3.8 Einige wichtige LINUX-Kommandos.........................................................................242.3.8.1 cat - concatenate files...............................................................................................242.3.8.2 echo - display a line of text........................................................................................242.3.8.3 who - show who is logged on....................................................................................242.3.8.4 date - print or set the system date an time.................................................................242.3.8.5 pwd - print name of current/working directory............................................................252.3.8.6 ls - list directory contents...........................................................................................252.3.8.7 cd - change working directory....................................................................................252.3.8.8 shutdown - bring the system down............................................................................25

3. Abbildungsverzeichnis............................................................26

4. Stichwortverzeichnis...............................................................26

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 2 von 26

Page 3: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

1. Allgemeiner Überblick über LINUX

1.1 Allgemeine Merkmale von UNIX / LINUX

1.1.1 Was ist LINUX?

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 3 von 26

Abbildung 1: Was ist LINUX?

Abbildung 2: Was ist ein Betriebssystem?

Page 4: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 4 von 26

Abbildung 3: Schalenmodell eines Rechnersystems

Page 5: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

1.1.2 Historische Entwicklung von UNIX / LINUX

Das Betriebssystem UNIX blickt auf eine lange Vergangenheit zurück. Ursprünglich wurde es für PDP-Rechner der Firma DEC (Digital Equipment Corporation) entwickelt und sollte hauptsächlich die Bedürfnisse von professionellen Softwareentwicklern befriedigen. Heute ist UNIX auf Workstations mit 64-Bit-Prozessoren zugeschnitten. Zu den Neuerungen gehört die Einführung von Threads, mit denen ein Programm mehrere Funktionen gleichzeitig ausführen kann. Ebenfalls neu sind Echtzeitfunktionen mit denen Programmlaufzeiten vorhersagbar sind. Insbesondere für Datenbanken ist die Möglichkeit, sehr große Dateien verarbeiten zu können, von nicht unerheblicher Bedeutung. Ein Schritt in Richtung einer völligen Unabhängigkeit von der Hardware-Architektur ist die Normierung ganzer Zahlen mit einer Länge von mehr als 64-Bit. Ebenfalls neu ist die Einbeziehung der Benutzeroberfläche in die Spezifikation

LINUX ist ein Unix-ähnliches Betriebssystem. Der gravierende Unterschied gegenüber herkömmlichen Unix-Systemen besteht im vollständig verfügbaren Quellcode. Zudem ist LINUX in vielen Bereichen vollständiger als manch teures Unix-System, da es eine größere Hardwareauswahl unterstützt und in großen Bereichen effizienteren Code. Ein Betriebssystem ist die Schnittstelle zwischen Anwender und Computer. Dazu gehört vor allem die Verwaltung der Ressourcen (Rechenkapazität, Speicher) und der Ein- (Tastatur; Maus) bzw. Ausgabegeräte (Monitor, Drucker). Darüber hinaus ist das Betriebssystem nötig, damit überhaupt Programme starten und Daten verarbeitet werden können.

UNIX ist aus der Notwendigkeit entstanden, für die Programmerstellung ein Rechnerbetriebssystem zu entwickeln. Die Portierbarkeit von UNIX beruht auf der Entwicklung der Programmiersprache C (als Nachfolger von BCPL und B), die es möglich machte, ca. 90% des Betriebssystems in einer höheren Programmiersprache zu entwickeln.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 5 von 26

Abbildung 4: Batchverarbeitung auf Großrechenanlagen

Page 6: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

Als Ken Thompson 1969 bei Bell Laboratories, die Entwicklung eines neuen Betriebssystems begann, waren die meisten der vorhandenen Systeme ausgesprochene Batch-Systeme. Der Programmierer gab seine Lochkarten oder Lochstreifen beim Operator ab, diese wurden in den Rechner eingelesen und ein Rechenauftrag nach dem anderen abgearbeitet. Der Programmierer konnte dann nach einiger Zeit seine Ergebnisse abholen.

Ziel von Ken Thompsons Entwicklung war es deshalb, ein System zu schaffen, auf welchem mehrere Programmierer im Team und im Dialog mit dem Rechner arbeiten, Programme entwickeln, korrigieren und dokumentieren konnten, ohne von einem Großrechner mit allen seinen Restriktionen abhängig zu sein. Dabei standen Funktionalität, strukturelle Einfachheit und Transparenz sowie leichte Bedienbarkeit im Vordergrund der Entwicklung.

Dieses erste System mit dem Namen UNIX lief auf einer DEC PDP-7. Die erste Version von UNIX war dabei in der Assemblersprache der PDP-7 geschrieben. Um bei künftigen Projekten die Maschinenabhängigkeit durch eine maschinennahe Sprache zu umgehen, entwarf Thompson die Programmiersprache B, aus der dann Dennis Ritchie die Sprache C entwickelte.

UNIX wurde 1971 in C umgeschrieben und auf die PDP-11 übertragen. Von nun an erfolgte die Weiterentwicklung des Systemkerns sowie der meisten Dienstprogramme in dieser Sprache. Die Kompaktheit und strukturelle Einfachheit des Systems ermunterte viele Benutzer zur eigenen Aktivität und Weiterentwicklung des Systems, so dass UNIX recht schnell einen relativ hohen Reifegrad erreichte. Dies ist deshalb bemerkenswert, da kein Entwicklungsauftrag hinter diesem Prozess stand und die starke Verbreitung von UNIX nicht auf den Vertrieb oder die Werbung eines Herstellers, sondern primär auf das Benutzerinteresse zurückzuführen ist. Eine ähnliche Entwicklung zeigt sich seit einigen Jahren bei den freien UNIX-Varianten.

Im Lauf der Zeit sind zwei Entwicklungszweige entstanden, da UNIX sowohl bei Bell Labs (AT&T) als auch an der Universität von Berkeley weiterentwickelt wurde: "BSD" und "System V". Daneben gibt es zahlreiche weitere UNIX-Derivate, z. B. die frei erhältlichen Systeme "Free BSD" und "LINUX" für PCs.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 6 von 26

Page 7: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 7 von 26

Abbildung 5: UNIX-Entwicklungslinien

Page 8: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

1.1.3 Leistungsmerkmale von LINUX

LINUX bietet:

● Multitasking (gleichzeitige Abarbeitung mehrerer Prozesse)● Multiuser (gleichzeitige Nutzung durch mehrere Anwender)● Paging (Auslagerung von Speicher auf die Festplatte, bei Arbeitsspeicherknappheit)● Shared Libraries (Bibliotheken mit Systemfunktionen werden bei Verwendung durch

mehrere Prozesse nur einmal geladen)● Interprocess Communication (IPC)● Symmetric Multi Processing (SMP, Nutzung mehrerer Prozessoren)

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 8 von 26

Abbildung 6: LINUX: Leistungsmerkmale

Page 9: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

LINUX unterstützt eine Vielzahl unterschiedlicher Hardware:

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 9 von 26

Abbildung 7: LINUX: unterstützte Systeme

Page 10: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

1.1.4 Open Source

Das Herausragende an LINUX ist, dass es weder einer Organisation noch einer Firma gehört. Alle Entwickler, die an diesem Projekt mitwirken, arbeiten unentgeltlich aus freien Stücken. Ihr Antrieb möge der persönliche Ehrgeiz, das System weiter zu verbessern, als auch das Ausprobieren neuer Programmiertechniken sein. Auch die meisten Anwendungen unterliegen diesem Prinzip. Diese Methode ist außerordentlich erfolgreich, wenn man die rasante Entwicklung von LINUX in den letzten Jahren rückblickend betrachtet. Das Schlagwort ”freie Software” wurde vor allem im Umfeld von LINUX geprägt. ”Frei” bezieht sich hierbei nicht nur auf die kostenlose Verfügbarkeit des Produktes sondern in erster Linie auf die Zugänglichkeit des Quellcodes. LINUX kann aus dem Internet heruntergeladen werden, was aber aufgrund der ständig wachsenden Archive zunehmend unpraktikabel wird. An dieser Stelle setzen die so genannten Distributoren ein.

Wie bereits mehrmals angesprochen, entwickelt sich LINUX besonders in speziellen Teilbereichen sehr schnell. Aufgrund dessen sind sehr schnell Updates und Fehlerbehebungen verfügbar. Dies betrifft sowohl den Kernel des Betriebssystems, als auch die darauf laufenden Anwendungen. Sollte das System hingegen zufrieden stellend laufen, so ist es nicht notwendig, eventuell verfügbare Updates einzuspielen. Man ist also nicht gezwungen, jede Erweiterung des Systems mitzumachen.

LINUX ist keine Blackbox, sondern das am umfangreichsten dokumentierte Betriebssystem, das bis ins kleinste Detail konfiguriert werden kann und somit einen Blick hinter die Kulissen des Betriebssystems zulässt. Ein weiterer Aspekt ist, dass LINUX durch die Gestaltung der Schnittstellen eine nahezu nahtlose Integration in ein bestehendes Netz gewährleistet. Beispielsweise kann ein LINUX-System in eine Windows-Netzwerkumgebung eingebunden werden, ohne dass für den Anwender eine Veränderung sichtbar wird.

1.1.5 Dokumentation

Auch wenn aufgrund des kostenfreien Vertriebsweges eine gedruckte Dokumentation oftmals fehlt, ist die Dokumentation sämtlicher Bereiche des Betriebssystems LINUX und auch der Support sichergestellt. Welche unermesslichen Quellen sich hier auftun, wird später noch angesprochen.

1.1.6 Sicherheit

Bisher sind kaum Viren für LINUX bekannt. Aber nicht nur deshalb ist die Virengefahr eher gering einzuschätzen. Ein weiterer Grund ist das Rechtekonzept unter LINUX. Solange ein von einem Virus befallenes Programm nicht mit root Rechten gestartet wird, ist der Schaden am System stark begrenzt und weitet sich, wenn überhaupt, nur schleppend aus.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 10 von 26

Page 11: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

1.1.7 Plattformvielfalt

Vielen Anwendungen, die auf einem LINUX System laufen, liegt eine Client-Server Struktur zugrunde. Die zusätzliche Konzeption als Multiuser-Betriebssystem prädestiniert LINUX für die Netzwerkumgebung. Andersherum gesagt, macht es wenig Sinn, eine LINUX-Maschine als Standalone Rechner aufzustellen. Multi -User heißt in diesem Zusammenhang, dass mehrere Benutzer zugleich ein Programm auf einem Rechner starten können, wobei jede einzelne Instanz unter den Rechten des jeweiligen Benutzers ausgeführt wird.

In Kombination mit einem leistungsfähigen Netzwerk stellt LINUX ein äußerst mächtiges Betriebssystem dar, das beispielsweise die Fernwartung anderer Rechner ermöglicht. Eine andere denkbare Anwendung ist die zeitaufwändige Ausführung eines Programms, während ein anderer Benutzer das System nahezu wie gewohnt verwenden kann. Die Grenzen werden in diesem Bereich nicht von LINUX gezogen, sondern sind allein hardwarebedingt.

Ein weiterer Vorteil, der LINUX von der Windows Welt abhebt, ist die Möglichkeit, auch ohne grafische Benutzeroberfläche zu starten. Sämtliche Funktionen des Betriebssystems sind dann immer noch verfügbar. Auf diese Weise werden die Anforderungen an die Hardware stark reduziert bzw. die Leistungsfähigkeit des LINUX Servers beträchtlich gesteigert.

Die bereits angesprochene Client – Server Struktur, die auch vor dem X Windows System nicht halt macht, ermöglicht es, grafische Anwendungen auf einem entfernten Host zu starten, die Ausgaben auf dem lokalen Rechner anzuzeigen und die Bedienung von hier aus vorzunehmen. Zudem hat ein Anwender im X-Window-System mehrere Arbeitsflächen gleichzeitig zur Verfügung, die auf einem oder mehreren Monitoren verteilt werden können.

Ein weiterer Vorteil, der vor allem bei Servern ein schlagendes Argument darstellt, ist die Eigenschaft von LINUX, dass der Rechner so gut wie nie heruntergefahren werden muss. Eine Benachrichtigung des jeweiligen Prozesses reicht, um diesen zu stoppen oder durchzustarten.

LINUX spielt vor allem in folgenden Bereichen seine Stärken aus: Stabilität, Datensicherheit und Server für nahezu jeden denkbaren Einsatzbereich, da eine Vernetzung aufgrund der zahlreichen Schnittstellen mit fast allen bekannten Netzwerken möglich ist.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 11 von 26

Page 12: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2. Grundkonzept von LINUX

2.1 Die Struktur von LINUX

Zur Verdeutlichung der Zusammenarbeit verschiedener Komponenten in einem Rechnersystem wird allgemein ein Schalen- oder Schichtenmodell verwendet. Dabei werden die einzelnen Komponenten in Form von Schalen oder Schichten dargestellt. Die Grenze zwischen den einzelnen Schalen wird dabei als Schnittstellen bezeichnet.

In der folgenden Abbildung wird das UNIX/LINUX- Schalenmodell gezeigt. Die Funktionen des Betriebssystemkerns sind dabei speziell hervorgehoben.

Die Dialogschnittstelle zur Kommunikation mit dem Benutzer (zeichenorientiert) wird dabei als Shell bezeichnen. Diese Shells haben dabei unter UNIX/LINUX zwei Funktionen, sie werden

● als Kommandointerpreter und ● als Programmiersprache

verwendet. Die zweite Funktion ist unter UNIX deshalb so bedeutend, da die gesamte Verwaltung (Administration) des Betriebssystems mit Skripten in dieser "Shell-Programmiersprache" erfolgt.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 12 von 26

Abbildung 8: Schalenmodell eines Betriebssystems (LINUX-Sicht)

Page 13: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

Es gilt also:

Kommandointerpreter = Shell:

● sh: Bourne Shell an die Programmiersprache ALGOL 68 angelehnt ● csh: C-Shell an die Programmiersprache C angelehnt ● ksh: Korn-Shell vereinigt Bourne- und C-Shell ● bash: Bourne-Again-Shell (Erweiterung der Bourne Shell) ● ...

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 13 von 26

Abbildung 9: Wichtige LINUX-Shells

Page 14: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2.2 LINUX-Grundbegriffe

In diesem Abschnitt sollen verschiedene Grundbegriffe, die im Zusammenhang mit LINUX immer wieder auftauchen, geklärt werden.

2.2.1 Der Kernel

Genau genommen bezeichnet der Begriff LINUX nur den Kernel. Dieser ist der innerste Teil eines Betriebssystems mit ganz elementaren Funktionen wie Speicher- und Prozessverwaltung und Steuerung der Hardware.

Bei den Versionsnummern des Kernels wird zwischen Anwender-Kernel, bei dem die zweite Ziffer gerade ist, und Entwickler-Kernel, zweite Ziffer ist ungerade, unterschieden.

Im Normalfall wird man einen ausgereiften und erfahrungsgemäß stabilen Kernel, dem teils nicht stabil laufenden und unzureichend getesteten Kernel vorziehen.

Nur wenn man an der Kernel-Entwicklung arbeitet oder auf, im letzten stabilen Kernel noch nicht umgesetzte, Funktionen angewiesen ist, kommt die Verwendung einer ungeraden Versionsnummer in Frage.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 14 von 26

Abbildung 10: Versionsbezeichnungen des LINUX-Kernels

Page 15: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

Da die Entwicklung unter LINUX rasant verläuft, gibt es wöchentlich mindestens eine neue Kernel-Version. Die Verbesserungen betreffen aber zumeist nur die Anpassung des Systems an neue Hardware, die Korrektur von zugegebenermaßen selten auftretenden Fehlern oder die Optimierung einer Funktion.

Hier die wesentlichen Aufgaben des Kernels:

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 15 von 26

Abbildung 11: Aufgaben des LINUX-Kernels

Page 16: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2.2.2 Die wichtigsten LINUX-Distributionen

Wie bereits angesprochen wird das Angebot an für LINUX verfügbarer Software immer unüberschaubarer. Zudem wachsen die im Internet angebotenen Archive rasant, so dass sich das Herunterladen als zunehmend unpraktikabel gestaltet. Deshalb gibt es so genannte Distributoren, die aus der großen Anzahl an für LINUX verfügbaren Anwendungen auswählen und dann ein Programmpaket schnüren, das auf CDs bzw. DVDs gebrannt und verkauft wird. Beim Preis handelt es sich jedoch nicht um Lizenzkosten für die Software, sondern in erster Linie um eine Aufwandsentschädigung. Bedenken Sie, dass zu einer ordentlichen Distribution mehrere CDs und ein Handbuch gehören. Außerdem muss der Vertrieb organisiert werden. Den Unterschied zwischen einzelnen Distributionen macht jedoch nicht nur das geschnürte Softwarepaket aus. Jede Distribution bringt auch eine eigene Konfigurationssoftware mit sich, die für die Installation und Administration des Systems zuständig ist.

SuSE: Der (ehemals) deutsche Distributor (inzwischen Novell-SuSE) und europäische Marktführer SuSE zeichnet sich besonders durch seine riesige Softwarekollektion (sieben CDs), das dickste Handbuch und seine komfortable Installationsprozedur aus. Deutschsprachige LINUX-Ein- und UmsteigerInnen finden sich mit SuSE gut zurecht.

OpenSuSE Das ist die Freeware-Variante der SuSE-Software

RedHat: RedHat Inc. ist in den USA der Marktführer im Bereich der LINUX-Distributionen und ist bekannt für seine einfache Installation, sein ausführliches Handbuch und seine einfache Bedienung. Die Zusammenstellung der Softwarepakte ist gelungen und ermöglicht den Einsatz als Server wie auch als Workstation.

Fedora Das ist die Freeware-Variante der RedHat-Software

Mandrake: Mandrake ist eine verspielte französische Distribution, die in gleichem Maße benutzerfreundlich ist, wie SuSE und RedHat.

Debian: Debian ist ein nichtkommerzielles Konkurrenzprodukt zu RedHat und gilt als das Projekt für Freaks.

Slackware: Die Slackware gehört zu den ältesten LINUX-Distributionen. Die Zusammenstellung der Pakete ist mit Bedacht gemacht und umfasst alles, was ein stabiles LINUX braucht. Slackware ist die Wahl jener, die sich schon länger mit dem Betriebssystem beschäftigen und entsprechende Erfahrungen und Know How mitbringen.

Der Trend geht hin zu immer einfacheren Tools, die LINUX auch ohne UNIX-Kenntnisse genießbar machen. So veröffentlichten Corel und Mandrake Distributionen für Anfänger(Innen).

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 16 von 26

Page 17: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2.2.3 GPL - General Public License

Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen die Freiheit zu nehmen, die Software weiterzugeben und zu verändern. Im Gegensatz dazu soll Ihnen die GNU General Public License eben diese Freiheit garantieren. Sie soll sicherstellen, dass die Software für alle Benutzer frei ist.

Diese Lizenz gilt für den Großteil der von der Free Software Foundation herausgegebenen Software und für alle anderen Programme, deren Autoren ihr Werk dieser Lizenz unterstellt haben. Die Bezeichnung ”freie” Software bezieht sich auf Freiheit, nicht auf den Preis. Die Lizenz garantiert Ihnen die Freiheit, Kopien freier Software zu verbreiten (und etwas für diesen Service zu berechnen), die Möglichkeit, die Software im Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen.

Sie dürfen die Software ändern oder Teile davon in neuen freien Programmen verwenden. Um diese Rechte zu schützen, müssen wir Einschränkungen machen, die es jedem verbieten, die besagten Rechte zu verweigern.

Daraus folgen bestimmte Verantwortlichkeiten für den Distributor, wenn dieser Kopien der Software verbreitet oder verändert. Beispielsweise müssen den Empfängern alle Rechte gewährt werden, die der Distributor selbst hat. Er muss sicherstellen, dass auch die Anwender den Quelltext erhalten bzw. erhalten können. Zudem muss er ihnen diese Bedingungen zeigen, damit sie ihre Rechte kennen. Um die Autoren zu schützen, soll darüber hinaus sichergestellt werden, dass jeder erfährt, dass für diese freie Software keinerlei Garantie besteht.

Wenn die Software von jemand anderem modifiziert und weitergegeben wird, müssen die Empfänger erfahren, dass sie nicht das Original erhalten haben, damit von anderen verursachte Probleme nicht den Ruf des ursprünglichen Autors schädigen.

Schließlich und endlich ist jedes freie Programm permanent durch Software-Patente bedroht. Es soll die Gefahr ausgeschlossen werden, dass Distributoren eines freien Programms individuell Patente lizenzieren - mit dem Ergebnis, dass das Programm proprietär würde. Um dies zu verhindern, wird klargestellt, dass jedes Patent entweder für freie Benutzung durch jedermann lizenziert werden muss oder überhaupt nicht lizenziert werden darf.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 17 von 26

Page 18: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2.2.4 Wichtige Grundsatzregeln

● UNIX / LINUX unterscheidet Groß- und Kleinschreibung

● UNIX / LINUX ist ein Betriebssystem von DV-Profis für DV-Profis konzipiert; entsprechend knapp (spartanisch) sind die Kommandos, Meldungen sowie Ein- und Ausgaben. Im Gegenzug ist damit für die UNIX-Profis eine hohe Effizienz bei der Arbeit mit UNIX zu erreichen.

● Die Meldungen der UNIX-Kommandos sind auf ein Minimum reduziert; bei korrekter Verarbeitung erscheint im Regelfall keine Meldung sondern lediglich das Eingabeprompt. Fehlermeldungen sind ebenfalls auf das absolut Notwendige reduziert: Es gilt der Grundsatz „No news are good news“

● Unter UNIX / LINUX ist jeder (d.h. jeder Anwender und jeder Prozess) für sein eigenes Handeln selbst verantwortlich; üblicherweise wird selbst bei kritischen Operationen nicht zurückgefragt und das Kommando sofort ausgeführt.

● Unter UNIX / LINUX wird alles als Datei aufgefasst; dies gilt auch für die Ein- / und Ausgabe.“The world is a file“

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 18 von 26

Abbildung 12: LINUX-Grundregeln

Page 19: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2.3 Erste Schritte mit LINUX

2.3.1 Anmeldung und Login

Unix ist ein Multiuser- und Multitasking-System. Das bedeutet, dass in einem bestimmten Augenblick sowohl mehrere Benutzer auf einer Unix-Maschine gleichzeitig arbeiten können, als auch, dass jeder einzelne dieser Benutzer mehrere Programme aufrufen kann, die alle zur gleichen Zeit ausgeführt werden

Damit jeder dieser Benutzer seine Daten vor dem Zugriff der anderen Benutzer schützen kann, muss man sich, bevor man mit einem Unix-System arbeiten kann, erst einmal anmelden, das heißt, einen speziellen Benutzernamen und ein Passwort eingeben. Dadurch erfährt das System, welcher Benutzer da gerade die Arbeit aufnehmen möchte, und kann diesem Benutzer seine persönliche Arbeitsumgebung (inklusive aller privater Daten) zur Verfügung stellen.

Nach dem Einschalten des Terminals bzw. nach Aufnahme der Verbindung mit dem UNIX-Rechner meldet sich das BS mit der Aufforderung, sich zu identifizieren.

login:

Der Benutzer gibt darauf den ihm zugewiesenen Login-Namen ein. Dann erscheint die Abfrage des Passwortes:

password:

Nun muss der Benutzer sein Passwort eingeben. Das Passwort wird im Gegensatz zu den üblichen Eingaben nicht auf dem Bildschirm ausgegeben. Wenn alles gut geht, sind Sie jetzt beim System angemeldet (man sagt auch: eingeloggt). Sie erkennen die erfolgreiche Anmeldung daran, dass die Eingabeaufforderung des Systems, der sog. Prompt erscheint. Der Prompt kann systemspezifisch definiert werden; häufig sieht der Prompt etwa so aus:

benutzername@sun1-lbs$

und dahinter ist ein Cursor sichtbar (die Texteinfügemarkierung) und das System erwartet nun die Eingabe eines Kommandos

Hat sich der Benutzer vertippt, erscheint die Meldung:

login incorrect

und die o. g. Prozedur muss wiederholt werden. Neue Benutzer haben noch kein Passwort, sie drücken nur die Return-Taste bei der Frage nach dem Passwort. Bei vielen Systemen wird der Benutzer beim ersten Login zur Eingabe des Passwortes aufgefordert.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 19 von 26

Page 20: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

Zu beachten ist, dass Sie sich als Systemverwalter root nur anmelden sollten, wenn dies notwendig ist, beispielsweise also bei der Systemadministration oder bei der Veränderung von Konfigurationsdateien, auf die Sie sonst keine Schreibberechtigung hätten. Solange Sie als root angemeldet sind, dürfen Sie faktisch alles im System. Gerade wenn man noch wenig Erfahrung im Umgang mit LINUX hat, kann man auf diese Art und Weise viel kaputtmachen.

Wie der Login-Vorgang aussieht, hängt von der Konfiguration des Systems ab. Er kann grafisch, aber auch textbasiert erfolgen. Letztendlich geschieht bei beiden jedoch dasselbe. Mussten Sie sich textbasiert einloggen, so können Sie das X Window System nachträglich noch mit dem Aufruf startx aufrufen, insofern der X Server bereits korrekt konfiguriert wurde.

Zum Ändern und Eingeben des Passworts gibt es ein eigenes Kommando.

passwd

Das Passwort muss einigen Bedingungen genügen: ● Mindestlänge 6 Zeichen ● Je nach Betriebssystemversion muss mindestens eine Zahl und/oder ein

Sonderzeichen darin enthalten sein

2.3.2 User und Superuser

UNIX kennt zwei Benutzerklassen:

● Die normalen Benutzer sind von einander abgeschottet,jeder Benutzer besitzt seinen eigenen Arbeitsbereich.

● Der Superuser, normalerweise der Systemadministrator, kann und darf alles.Er kann auf jede Datei zugreifen und Benutzer eintragen oder löschen.Er kann auch Systemdienste aufrufen, die normalen Benutzern verwehrt sind.

Normalerweise hat der Superuser den Login-Namen "root". Der Login-Name spielt jedoch eine untergeordnete Rolle, der Superuser ist vielmehr derjenige Benutzer, der die Usernummer (User Id, UID) 0 hat.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 20 von 26

Page 21: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2.3.3 Abmeldung und Logoff

Zum Beenden der Arbeit am Rechner muss sich der Benutzer abmelden (logoff). Bei UNIX geschieht dies (je nach System) durch den Befehl

exit

oder die Tastenkombination

<Strg>+D.

2.3.4 LINUX starten und beenden

Je nach Konfiguration von GRUB oder LILO (Linux-Loader) erfolgt der Start von der Festplatte oder von Diskette. Seit der SuSE Version 7.1 ist LILO zwar standardmäßig grafisch, kann aber immer noch auf textbasiert umgeschaltet werden. Wie dies geht, zeigt Ihnen LILO selbst an. Ist LILO nicht grafisch verfügbar, sondern wartet nur mit seinem Bootprompt auf, kann mittels Tab erreicht werden, dass alle anderen Menüeinträge angezeigt werden. Diese können dann durch Angabe des Namens gestartet werden. Seit Verions 10.x wurde LILO durch GRUB als Standadr-Boot-Loader abgelöst; LILO steht aber bei Bedarf weiterhin zur Verfügung.

Neben dem Bootmenü gibt es im Textbasierten LILO die Möglichkeit, am Bootprompt noch weitere Kernelanweisungen mitzugeben. Um genaueres hierüber zu erfahren, lesen Sie das Kernel HowTo. Nach Bestätigung mit Enter oder nach einer bestimmten Zeitspanne fährt das System hoch.

2.3.5 Booten des Systems

Bei UNIX-Rechnern kann der Rechner nicht einfach ein- und ausgeschaltet werden, denn speziell beim Ausschalten müssen alle Benutzerprozesse zuvor abgeschlossen und alle Dateien ordnungsgemäß geschlossen sein. In der Regel laufen UNIX-Systeme auch Tag und Nacht durch.

Beim Einschalten des Rechners werden zunächst Systeminitialisierungsroutinen durchlaufen und die einzelnen Platten des Systems in das Dateisystem eingebunden ("mount"). Je nach Betriebssystemversion gelangt das BS dann gleich in den Mehrbenutzerbetrieb oder in den Einzelbenutzerbetrieb (single user mode). Dieser Modus ist speziell für die Systemwartung notwendig, wenn kein anderer Benutzer den Rechner verwenden darf (z. B. Generieren einer neuen Systemversion, Benutzerverwaltung, Datensicherung, etc.). Vom Einzelbenutzerbetrieb wird dann der normale Mehrbenutzerbetrieb gestartet.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 21 von 26

Page 22: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2.3.6 Shutdown

Beim Abschalten des Systems wird umgekehrt verfahren. Alle noch laufenden Prozesse werden gestoppt (normalerweise mit vorheriger Warnung der noch aktiven Benutzer, damit diese ihre Arbeit in Ruhe beenden können), das Dateisystem aktualisiert (Schließen offener Dateien, Wegschreiben von Pufferbereichen) und in den Einzelbenutzerbetrieb übergegangen. Danach kann abgeschaltet werden.

Das Herunterfahren kann grafisch oder textbasiert erfolgen. Niemals sollten Sie den Rechner einfach so abschalten oder gar den Netzstecker ziehen. Im günstigsten Fall wird beim nächsten Start die Festplatte auf Dateninkonsistenz geprüft, schlimmstenfalls kann dabei aber auch das Dateisystem zerstört werden.

Wenn Sie unter X (Anm.: das ist die graphische Oberfläche von LINUX) arbeiten, melden Sie sich zunächst ab, so dass Sie wieder zum Login Bildschirm kommen. Hier wählen Sie jetzt zwischen Beenden zum Herunterfahren des Systems und Neu starten zum Durchstarten des Computers. Sollten Sie mit der Konsole arbeiten, so stehen verschiedene Befehle zur Auswahl.

Normalerweise kann nur der Systemadministrator mittels der Befehle

shutdown now

bzw. halt

das System herunterfahren. In der Standardkonfiguration ist es jedoch jedem Anwender gestattet, mit Hilfe der Tastenkombination Strg + Alt + Entf den Rechner durchzustarten.

Warten Sie immer bis die Meldung

System haltedoder Runlevel 0 Reached

erscheint, bevor Sie den Computer ausschalten. Sollte der Rechner durchstarten, können Sie auch während die BIOS Meldungen zu sehen sind, den Rechner einfach ausschalten.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 22 von 26

Page 23: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2.3.7 Tastatur und Maus

Unter LINUX gibt es spezielle Tastenkombinationen und Mausaktionen, die Ihnen das Leben sehr vereinfachen oder gar unerlässlich für die Bedienung des Betriebssystems sind.

2.3.7.1 Besondere Tastenkombinationen

Tastenkombination Funktion

Strg + Alt + Entf LINUX beenden / X abmelden

Strg + Alt + Backspace X Server beenden

Strg + Alt + F1 bis F6 Zwischen den Textkonsolen wechseln

Strg + Alt + F7 Zu X (Konsole 7) wechseln

Shift + Bild auf / Bild ab Vorwärts / rückwärts blättern

Pos1, Ende, Entf, Backspace

Normalerweise den Windowstasten entsprechend

2.3.7.2 Besondere Mausfunktionen

Um Texte wie unter Windows über die Zwischenablage zu kopieren, gehen Sie unter LINUX wie folgt vor:

● Markieren Sie zunächst mit gedrückter linker Maustaste, den gewünschten Text.● Der so ausgewählte Text kann jetzt mit der mittleren Maustaste in einen anderen Text

oder in ein anderes Programm eingefügt werden.● Das Kopieren und Einfügen erfolgt also allein mit der Maus.

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 23 von 26

Page 24: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2.3.8 Einige wichtige LINUX-Kommandos

2.3.8.1 cat - concatenate files

cat pw1

cat pw1 > pw2

cat pw1 >> pw2

cat > protokoll

Dialogeingabe mit strg+c abschließen

2.3.8.2 echo - display a line of text

echo "Dies ist ein Mustertext"

echo $HOME

echo "Das Homedirectory ist $HOME"

2.3.8.3 who - show who is logged on

who

who -i

who am i

2.3.8.4 date - print or set the system date an time

date

date 070809252003

date -u 070809252003

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 24 von 26

Page 25: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

2.3.8.5 pwd - print name of current/working directory

pwd

2.3.8.6 ls - list directory contents

ls

ls -l

ls -lisa

ls -l /home

ls -lisa /etc

2.3.8.7 cd - change working directory

cd

cd /etc

cd ..

2.3.8.8 shutdown - bring the system down

shutdown -h now

shutdown -r now

shutdown -t20-h

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 25 von 26

Page 26: Betriebssysteme Einführung in LINUX - fhvr-aiv.de · PDF fileBetriebssysteme Einführung in LINUX 1.1.2 Historische Entwicklung von UNIX / LINUX Das Betriebssystem UNIX blickt auf

BetriebssystemeEinführung in LINUX

3. Abbildungsverzeichnis

AbbildungsverzeichnisAbbildung 1: Was ist LINUX?................................................................................................................3Abbildung 2: Was ist ein Betriebssystem?............................................................................................3Abbildung 3: Schalenmodell eines Rechnersystems.............................................................................4Abbildung 4: Batchverarbeitung auf Großrechenanlagen......................................................................5Abbildung 5: UNIX-Entwicklungslinien..................................................................................................7Abbildung 6: LINUX: Leistungsmerkmale..............................................................................................8Abbildung 7: LINUX: unterstützte Systeme...........................................................................................9Abbildung 8: Schalenmodell eines Betriebssystems (LINUX-Sicht)....................................................12Abbildung 9: Wichtige LINUX-Shells...................................................................................................13Abbildung 10: Versionsbezeichnungen des LINUX-Kernels................................................................14Abbildung 11: Aufgaben des LINUX-Kernels.......................................................................................15Abbildung 12: LINUX-Grundregeln......................................................................................................18

4. Stichwortverzeichnis

StichwortverzeichnisAssembler........................................................6Bell Laboratories..............................................6Bourne Shell...................................................13Bourne-Again-Shell........................................13BSD..................................................................6C-Shell...........................................................13Computer.........................................................1DEC..................................................................5Echtzeitfunktion................................................5General Public License...............................2, 17GNU...............................................................17GRUB.............................................................21IPC...................................................................8Kommandointerpreter...................................12f.Korn-Shell......................................................13

LILO...............................................................21LINUX.............................1ff., 5f., 8ff., 14ff., 18ff.Multitasking................................................8, 19Multiuser...............................................8, 11, 19Paging..............................................................8PDP-7...............................................................6PDP-Rechner...................................................5SMP.................................................................8speicher........................................................1, 8Speicher.............................................1, 5, 8, 14Threads............................................................5UNIX...................................2f., 5f., 12, 16, 18ff.Viren...............................................................10X-Window.......................................................11

Karl Wohlrab LINUX_Einfuehrung.odt

Stand: 13.05.2008 Seite 26 von 26