LINUX - die Open-Source-Variante von UNIX

Freies Betriebssystem von Linus Torvalds

LINUX ist ein Betriebssystem für PCs, Server, Workstations und Macintosh-Rechner, das kostenlos von jedermann / jederfrau benutzt werden kann. Einzige rechtliche Voraussetzung ist, dass die Software-Lizenz von GNU akzeptiert wird.

Ursprünglich wurde LINUX vom schwedischsprachigen, finnischen Studenten Linus Torvalds entwickelt. Die Basis dazu bildete das legendäre Minimum UNIX mit dem Namen MINIX, es wird an vielen Hochschulen im Informatik-Unterricht verwendet (damals auch an der TBZ TS).

Mittlerweile hat sich LINUX von einem Hackerspielzeug zu einem ausgereiften Betriebssystem für unternehmenskritische Anwendungen (ERP, CRM) entwickelt. 

Die Idee von Linux Torvalds war grundsätzlich einfach: Er wollte ein Betriebssystem entwickeln, das auf «normalen» PC's läuft, schliesslich hat nicht jeder ein Sun-Workstation unter dem Tisch. Das faszinierende an LINUX ist der Gedanke der «OpenSource» bzw. der freien Software: Zahllose Entwickler arbeiten - kostenlos, aus reinem Goodwill für LINUX - am Quellcode mit. Die Produkte stellen Sie auf Web-Servern zum Download zur Verfügung.

Das LINUX-Maskottchen

Das Maskottchen von LINUX ist der Pinguin «TUX». Warum Linus für LINUX einen Pinguin gewählt hat, lässt sich dadurch erklären, dass er auf einem Trip in Australien von einem eigenwilligen Pinguin gebissen wurde. Das eigenwillige Zoo-Tier hat ihn beeindruckt.

Installation und Anwendung
Wer mit LINUX echte Erfahrungen sammeln und dies selbst installieren will, braucht fortgeschrittene PC- und Peripherie-Kenntnisse. Natürlich gibt es mittlerweile startfertige LINUX-Distributionen, die ab CD gebootet werden können - dies ist dann aber sehr mit Windows vergleichbar und keine «echte UNIX-Erfahrung». Auf dem Markt erhältlich sind zahlreiche LINUX-Distributionen. Das sind spezielle Zusammenstellungen des LINUX-Basissystems (Kernel) mit verschiedenen Anwendungen. Persönlich bekannt sind mir:
  • redhat LINUX
  • SuSE LINUX
  • Caldera OpenLINUX

Die besten Erfahrungen habe ich bisher mit SuSE LINUX gemacht. Die Installation war einigermassen benutzerfreundlich und in den neuen Versionen sogar «optisch attraktiv». Die Konfiguration von LINUX über das YaST-Tool (Yet another Setup Tool) funktioniert zuverlässig. Verschiedene Installationsverfahren können eingesetzt werden:
  • Installation ab CD-ROM (mit Boot-CD-ROM des Distributoren)
  • Download als Boot-Image ab FTP-Server
  • Installation über ein lokales Laufwerk oder Netzwerk-Verzeichnis
Wichtig zu wissen ist, dass LINUX grundsätzlich zwei Betriebsmodi kennt:
  • einer Kommandozeilen-Ebene, ähnlich dem Betriebssystem DOS, allerdings einiges leistungsfähiger und vor allem mit Unterstützung für Multi-User-Betrieb
  • eine X-Window-Umgebung (basierend auf den Konzepten von XFree86), ein Server für den Betrieb der grafischen Benutzeroberfläche

Für den Betrieb der grafischen Benutzeroberfläche muss ein X-Server geladen sein, dieser setzt direkt auf der vorhandenen Grafik-Hard- und Software auf. Über dem X-Server wird ein so genannter Fenstermanager (Windowmanager) oder ein Widget-Set geladen. Dieser Fenstermanager bestimmt das Aussehen der grafischen Benutzeroberfläche.

Fedora als LINUX-Benutzeroberfläche

Aufgrund der komfortablen Bedienung sehr beliebt sind die Benutzeroberflächen Fedora und KDE das K Desktop Environment. Fedora umfasst nebst dem Fenstermanager eine vollständige LINUX-Distribution. Die Features, welche diese Benutzeroberflächen komfortabel machen entsprechen weitgehend der Funktionalität von Windows. Das Schichtenmodell eines Fenstermanagers sieht wie folgt aus:

Sichtbare Benutzeroberfläche (Desktop)
Window-Manager (KDE, Fedora, Gnome usw.) Applikationen (nutzen den Fenstermanager)
X-Server
Hardware und Peripherie (Bildschirm, Tastatur, Maus, Drucker, weitere USB-Geräte)

Der Window-Manager ist für das Aussehen, die Verwaltung der der Fenster usw. zuständig. Da es für LINUX zahlreiche Window-Manager gibt (zahlreiche Entwickler-Teams bemühen sich, LINUX an Windows anzugleichen) ist das Layout der grafischen Benutzeroberfläche immer leicht anders - in den Grundzügen aber mit Windows oder OS-X von Apple vergleichbar.

Benutzerkonten
Da LINUX ein Multi-User-System ist, gibt es mindestens immer einen Systemverwalter oder Administrator mit allen Rechten zur Verwaltung des Computers. Der Administrator eines LINUX-Rechners hat den Namen «root». Grundsätzlich sollte - aus Sicherheitsgründen (auch aus Selbstschutz) - nicht als Administrator auf einem Rechner gearbeitet werden, es empfiehlt sich mindestens einen «normalen» Benutzer anzulegen und anschliessend mit diesem Profil bzw. Zugriffsrechten zu arbeiten.

Dateisysteme und Laufwerksbezeichnungen
Durch die laufende Entwicklung in der OpenSource-Gemeinde unterstützt LINUX mittlerweise zahlreiche Dateisysteme:
  • ext2: Standard-Dateisystem unter LINUX (Vorläufer: ext)
  • affs: Amiga-Dateisystem
  • hpfs: OS/2-Dateisystem von IBM
  • iso9660: Standard für CD-ROM-Dateisystem
  • minix: Dateisystem des Minimum UNIX (wird an Schulen verwendet)
  • msdos: FAT / DOS-Dateisystem
  • smbfs: Server Message Block, für Zugriffe auf Windows NT, LAN Manager oder Windows for Workgroups

Sowie verschiedene andere - auch recht exotische - Dateisysteme. In LINUX werden Laufwerke (Festplatten, Disketten, ZIP) nicht mit Buchstaben (C:, A:, D:) bezeichnet. LINUX verwaltet jedes Laufwerk als Pfadangabe:

Bezeichnung
Gerät
/dev/fd0 = Erstes Diskettenlaufwerk
/dev/hda = Erstes Harddisk-Gerät, Master am primären Controller
/dev/hdb = Zweites IDE-Gerät, Slave am primären Controller
/dev/hdc = Drittes IDE-Gerät, Master am sekundären Controller
/dev/hdd = Viertes IDE-Gerät, Slave am sekundären Controller
/dev/sda = Erste SCSI-Festplatte
/dev/sdb = Zweite SCSI-Festplatte
/dev/scd0 = Erstes SCSI-CD-Laufwerk
/dev/scd1 = Zweites SCSI-CD-Laufwerk

Anders als Geräte werden Partitionen nicht mit Buchstaben sondern mit Zahlen nummeriert: /dev/hda1 entspricht der ersten Partition auf der ersten IDE-Festplatte. Die Pfad-Angabe /dev/sda1 zeigt auf die erste Partition auf der ersten SCSI-Festplatte.

Tastatur-Kommandos
Die Bedienung von LINUX auf Ebene der Kommandozeile ist wie bei jedem Betriebssystem zu Beginn etwas gewöhnungsbedürftig. LINUX ist ein Multi-User und Multi-Tasking-System:

  • Alt-F1 bis Alt-F6: wechselt zwischen virtuellen Terminals (auf jedem Terminal kann eine separate Benutzer-Session betrieben werden)
  • Ctrl-Alt-F1 bis Ctrl-Alt-F6: Terminalwechsel bei aktivem X-Server (GUI-Modus)
  • Alt-F7: Zurück zur X11-Umgebung (aus Kommando-Ebene)
  • Ctrl-Alt-Backspace: beendet X11-Umgebung (GUI)

Mounten von Laufwerken und Geräten
Anders als bei Windows oder DOS stehen Geräte nach dem Laden von Treibern üblicherweise nicht einfach zur Verfügung, eine Festplatte oder ein CD-ROM muss zuerst «gemountet» werden, anschliessend steht es zur Verfügung. Die aktuellen Distributionen übernehmen das Mounten aber mittlerweile automatisch.

Mounten eines CD-ROM = mount -t iso9660 /dev/scd9 /mnt/cdrom
Dis- / Un-Mount eines CD-ROM = umount cdrom

LINUX-Befehle
Die folgende Beschreibung basiert auf Erfahrungen mit einer LINUX-Distribution von SuSE (die Firma SuSE wurde mittlerweile von Novell übernommen).

Eine sehr wertvolle Hilfe sind die sogenannten «Manpages», eine Art elektronische Handbücher (Manuals). Mit der Eingabe von «man -k cp» wird die Manpage zum Kopierbefehl (cp) von Dateien angezeigt. Eine weitere Option ist die Suche nach Querverweisen: «man -f cp» sucht in allen Abschnitten der Manpages nach dem Kommando cp.

Die einfachste Art der Benutzung dieser Online-Hilfe ist aber bestimmt man.

Allgemeine Konsolen-Befehle
Kontrollzentrum für Systemkonfiguration starten yast
Linux-Konfiguration bearbeiten linuxconf
X-Server konfigurieren (SuSE Adv. X-Server Conf.Tool) sax
X-Server für grafische Benutzeroberfläche starten startx

Herunterfahren und Neustart des Systems (Reboot) shutdown -r now
Herunterfahren und Ausschalten (Halt) shutdown -h now
Tastaturlayout laden (Beispiel Schweiz) loadkeys sg_latin1

Boot-Manager starten (LINUX Loader) LILO
Dateien und Datei-System Verzeichnisse anzeigen ls oder dir
Verzeichnis wechseln cd <verzeichnis>
Verzeichnisse anlegen mkdir <verzeichnis>
Symbolischen Link erstellen (Shortcut) ln <pointer> <linkname>

Dateien anzeigen cat oder less
Dateien kopieren cp <quelle> <ziel>
Dateien verschieben mv <quelle> <ziel>
Dateien suchen find
Datei-Inhalte suchen grep
Dateien / Verzeichnisse löschen rm <dateiname(n)>
Dateien archivieren / komprimieren tar <datei> <archiv>.tgz
Zugriffsrechte ändern chmod
Benutzter Plattenspeicherplatz df
Bildschirm löschen clear oder cls

Benutzer-Kontext / Benutzer-Verwaltung
Anmelden am System login
Abmelden logout
Passwort eines Benutzers ändern: passwd
Info zum aktuellen Benutzerkontext who oder whoami oder id
Benutzer hinzufügen useradd

Prozess-Kontext
Prozesse auflisten ps
Prozess-Struktur komplett anzeigen pstree
Prozesse beenden kill

Datei-Editor VI
Editor starten vi
Wechsel in den Befehlsmodus <Esc>
Zeichen löschen x
Zeichen einfügen i
Editor beenden, Änderungen speichern :wq
Editor beenden :q!