Informationsblatt zu Linux Michael K. Johnson (johnsonm@redhat.com), Antje Faber und Karsten Hilbert (med94ecz@studserv.uni-leipzig.de) v4.13-2, 10. Juli 1998 Dieses Dokument liefert grundlegende Informationen zum Betriebssystem Linux. Es enthält eine Erklärung dafür, was Linux eigentlich ist und eine Darstellung der Eigenschaften; weiterhin werden einige Vorausset­ zungen und Ressourcen genannt. 1. Einführung in Linux Linux ist eine vollständig frei verfügbare Reimplementation der POSIX- Spezifikation mit SYSV- und BSD-Erweiterungen (d.h. es gleicht Unix, stammt aber nicht vom selben Urquellcode ab). Es ist sowohl als Quellcode als auch in Binärform erhältlich. Das Copyright liegt bei Linus Torvalds (torvalds@transmeta.com) und anderen. Das System ist frei erhältlich und unterliegt den Bestimmungen der GNU General Public License (GPL). Eine Kopie der GPL gehört zum Quellcode von Linux. Die GPL ist auch unter prep.ai.mit.edu:/pub/gnu/COPYING zu finden. Linux ist weder »Public Domain« noch »Shareware«. Es ist »freie« Software, sogenannte Freeware. Man kann Kopien weitergeben oder verkaufen, aber man muß den Quellcode mitliefern oder ihn genauso verfügbar machen wie jede Binärdatei, die man weitergibt oder verkauft. Falls man veränderten Code weitergibt, ist man rechtlich verpflichtet, den Quellcode für diese Änderungen mitzuliefern. Weitere Einzelheiten erfährt man in der GNU General Public License. Linux v2.0.x ist noch immer frei verfügbar und wird es auch weiterhin bleiben. Aufgrund der GPL, der Linux unterliegt, wäre es illegal, Linux nicht frei auszuliefern. Wichtig: »frei« bezieht sich auf den Zugang zum Quellcode und nicht auf die Kosten. Es ist absolut legal, Geld für Linux-Distributionen zu verlangen, so lange man auch den Sourcecode mitliefert. Dies ist jedoch nur eine Verallgemeinerung, für Feinheiten sollte man die GPL lesen. Linux läuft auf 386/486/Pentium-Rechnern mit ISA-, EISA-, PCI- oder VLB-Bus. Die Unterstützung für MCA (IBM's proprietärer Bus) ist bis Version 2.0.x nicht besonders gut, der derzeitige Entwicklungsbaum 2.1.x enthält jedoch Unterstützung dafür. Für weitere Informationen siehe: http://glycerine.itsmm.uni.edu/mca/ Es gibt eine Portierung für eine Vielzahl von Motorola 680x0 Plattformen (läuft derzeit auf bestimmten Amiga-, Atari- und VME- Rechnern), welcher mittlerweile ganz gut funktioniert. Man benötigt einen 68020 mit MMU, einen 68030, 68040 oder einen 68060. Eine FPU ist ebenso erforderlich. Netzanbindung und X funktionieren inzwischen. Siehe comp.os.linux.m68k Linux läuft gut auf DEC's Alpha CPU, daher werden derzeit »Jensen«, »NoName«, »Cabriolet«, »Universal Desktop Box« (besser bekannt als Multia) und viele weitere Plattformen unterstützt. Für weitere Informationen siehe: http://www.azstarnet.com/~axplinux/FAQ.html Linux läuft gut auf Sun SPARCs: es funktioniert nun auf den meisten Sun4c- und Sun4m-Rechnern, Unterstützung für Sun4 und Sun4u ist in Entwicklung. Red Hat Linux ist (zum Zeitpunkt der Entstehung dieses Dokuments) die einzige Linux-Distribution, die für SPARCs zur Verfügung steht; siehe: http://www.redhat.com/support/docs/rhl-sparc/ Linux wird derzeit aktiv auf die PowerPC-Architektur portiert, PowerMac (Nubus und PCI), Motorola, IBM und Be-Rechner eingeschlossen. Siehe: http://www.cs.nmt.edu/~linuxppc/ oder http://www.linuxppc.org/ Portierungen auf andere Rechner, MIPS und ARM eingeschlossen, sind in Bearbeitung und zeigen unterschiedliche Fortschritte. Schrecken Sie jetzt nicht zurück, falls Sie Interesse haben und fähig sind, einen Beitrag zu leisten, finden Sie wohl leicht Entwickler, die mit Ihnen zusammenarbeiten wollen. Linux gilt längst nicht mehr als Programm in der Betaphase, da die Version 1.0 am 14. März 1994 herausgebracht wurde. Es gibt immer noch Fehler im System und im Laufe der Zeit werden neue auftauchen und beseitigt werden. Da Linux dem »offenen Entwicklungsmodell« folgt, werden alle neuen Versionen der Öffentlichkeit zur Verfügung gestellt, ob sie nun »Serienreife« haben oder nicht. Um den Anwendern trotzdem die Unterscheidung zwischen einer stabilen und einer Beta-Version zu ermöglichen, bedient man sich des folgenden Schemas: Die Versionen 1.x.y sind bei geradem x stabile Versionen; bei Beseitigung von Fehlern wird y erhöht. Beim Wechsel von Version 1.2.2 auf 1.2.3 wurden also nur Fehler bereinigt, es gab keine neuen Eigenschaften. Die Versionen 1.x.y mit ungeradem y sind Beta-Versionen, die hauptsächlich für Entwickler geeignet sind. Sie können instabil sein oder abstürzen, und es werden ständig neue Eigenschaften hinzugefügt. Von Zeit zu Zeit, wenn der aktuelle Entwicklungs-Kernel stabil ist, wird er als neuer »stabiler« Kernel eingefroren und die Entwicklung wird mit einer neuen Entwicklungsversion des Kernels fortgesetzt. Derzeit ist 2.0.34 die stabile Version (dies wird sich weiterhin ändern, wenn neue Geräte-Treiber hinzugefügt oder Fehler entfernt werden). Auch bei den experimentellen 2.1.x Kernels läuft die Entwicklung. Wem Version 2.0.x zu neu ist, der sollte erst einmal bei Version 1.2.13 bleiben. Die neuen Versionen seit 2.0 stellten sich allerdings als ziemlich stabil heraus. Man beachte, daß man für einen Wechsel von 1.2 auf 2.0 auch einige Hilfsprogramme erneuern muß. Um diese Hilfsprogramm zu erhalten, könnte man beispielsweise auf die neuste Version seiner Linuxdistribution wechseln. Der Quellcode des Linuxkernels enthält auch eine Datei (Documentation/Changes), in der diese Änderungen und anderes mehr erklärt sind. Die meisten Linux-Versionen, ob nun Beta oder nicht, sind ganz stabil. Man kann diese weiterhin verwenden, falls sie den Anforderungen genügen und man auf der sicheren Seite sein will. Eine Installation hatte einen Rechner, auf dem Version 0.97p1 (datiert vom Sommer 1992) mehr als 136 Tage ohne einen Fehler oder Absturz lief. (Sie wäre auch noch länger gelaufen, wenn ein Baggerfahrer nicht einen Haupttransformator für einen Müllcontainer gehalten hätte...). Andere meldeten Laufzeiten von über einem Jahr. Ein Anwender hatte einen Rechner, auf dem nach letzter Meldung immer noch Linux 0.99p15s seit über 600 Tagen lief. Man muß sich darüber im Klaren sein, daß Linux in einem offenen und verteilten System entwickelt wird, statt in einem geschlossenen und zentralisierten, wie viele andere Software. Dies bedeutet, daß die aktuelle Entwicklungsversion immer öffentlich zugänglich ist (mit bis zu ein oder zwei Wochen Verzögerung), sodaß jeder sie verwenden kann. Dies führt dazu, daß eine neue Version mit neuer Funktionalität fast immer Fehler enthält. Es resultiert aber ebenso in einer sehr raschen Entwicklung, sodaß die Fehler schnell gefunden und korrigiert werden, oftmals innerhalb von Stunden, da viele Leute daran arbeiten, sie zu beseitigen. Im Gegensatz dazu steht das geschlossene und zentralisierte Modell, bei dem eine einzige Person oder ein einziges Team an dem Projekt arbeitet. Es wird nur Software herausgegeben, von der angenommen wird, daß sie gut funktioniert. Dies führt oft zu großen Abständen zwischen den Versionen, langem Warten auf Fehlerkorrekturen und langsamerer Entwicklung. Die neueste Version solcher Software ist bei der Herausgabe manchmal von höherer Qualität, aber die Entwicklungsgeschwindigkeit ist allgemein sehr viel langsamer. Stand vom 10. Juli 1998: die aktuell stabile Linux Version ist Version 2.0.34 und die neueste Entwicklungsversion ist 2.1.108. 2. Eigenschaften von Linux · Multitasking: mehrere Programme laufen zur selben Zeit. · Multiuser: mehrere Benutzer arbeiten gleichzeitig auf demselben Rechner (und keine Lizenzen für mehrere Benutzer!). · Multiplattform: läuft auf vielen verschiedenen CPUs, nicht nur Intel. · Multiprozessor: SMP-Unterstützung steht auf Intel- und SPARC- Plattformen zur Verfügung (an anderen Plattformen wird gearbeitet). Linux wird für verschiedene »loosely-coupled« MP-Applikationen benutzt, Beowulf-Systeme (siehe http://cesdis.gsfc.nasa.gov/linux- web/beowulf/beowulf.html) und der SPARC-basierte Fujitsu AP1000+ Supercomputer eingeschlossen. · läuft im geschützten Modus auf dem 386 · hat Speicherschutz zwischen Prozessen, sodaß ein Programm nicht das ganze System zum Absturz bringen kann · Ausführbarer Code wird nach Bedarf geladen: Linux liest nur diejenigen Teile eines Programms von Platte, die tatsächlich benutzt werden. · Shared copy-on-write Pages für ausführbaren Code. Das heißt, daß mehrere Prozesse denselben Speicherbereich belegen können. Wenn ein Prozeß versucht, in eine Speicherseite zu schreiben, dann wird die Speicherseite (4KB an Speicher) woanders hinkopiert. Copy-on- write hat zwei Vorteile: die Geschwindigkeit erhöht sich und es wird weniger Speicher belegt. · Virtueller Speicher benutzt Paging auf Festplatte: Es werden nicht komplette Prozesse ausgelagert, sondern nur soviele Speicherseiten, wie ein anderer Prozeß gerade anfordert. Dies geschieht auf eine separate Partition oder in eine Datei im Dateisystem oder beides, mit der Möglichkeit, während des Betriebs Auslagerungsbereiche hinzuzufügen (ja, man spricht immer noch von Auslagerungsbereichen). Insgesamt können 16 dieser 128 MB großen Bereiche auf einmal benutzt werden. Das ergibt theoretisch einen Gesamtwert von 2 GB an verwendbarem Auslagerungsbereich. Bei Bedarf kann dies leicht durch ändern einiger Zeilen im Quellcode erweitert werden. · Ein gemeinsamer Speicherpool für Anwender-Programme und Plattenpuffer, sodaß der gesamte freie Speicher für den Cache verwendet werden kann, der Cache aber reduziert werden kann, wenn große Programme laufen. · Dynamisch gelinkte Shared Libraries (DLL's), und natürlich auch statisch gelinkte Libraries. · Führt »core dumps« (Speicherabzüge) für Post-Mortem-Analysen aus. Dadurch wird die Anwendung eines Debuggers auf ein Programm nicht nur während dieses läuft, sondern auch nachdem es abgestürzt ist, möglich. · Weitgehend kompatibel mit POSIX, System V und BSD auf der Ebene des Quellcodes. · Durch ein iBCS2-verträgliches Emulationsmodul auf Binärebene weitgehend mit SCO, SVR3 und SVR4 kompatibel. · Der gesamte Quellcode ist verfügbar, das komplette Kernel, alle Treiber, die Entwicklungswerkzeuge und alle Nutzerprogramme eingeschlossen. Alles ist auch frei verteilbar. Es gibt eine Vielzahl an kommerziellen Programmen für Linux, die ohne Sourcecode ausgeliefert werden, aber alles, was einmal frei war, das gesamte Betriebssystem eingeschlossen, ist immer noch frei erhältlich. · POSIX Job Control. · Pseudoterminals (pty's). · 387-Emulation im Kernel, sodaß Anwendungen nicht selbst einen Koprozessor emulieren müssen. Jeder Rechner unter Linux stellt sich so dar, als hätte er einen mathematischen Koprozessor. Falls natürlich der Rechner tatsächlich eine FPU enthält, dann wird diese anstelle der Emulation benutzt. Man kann sogar einen eigenen Kernel ohne Koprozessoremulation kompilieren, um ein bißchen Speicher zu sparen. · Unterstützung für viele nationale oder speziell angepaßte Tastaturen. Es ist auch ganz einfach, dynamisch neue hinzuzufügen. · Mehrere virtuelle Konsolen: mehrere unabhängige Zugänge zugleich über die Konsole. Man kann dabei durch eine spezielle Tastenkombination hin- und herschalten (unabhängig von der Grafikhardware). Die virtuellen Konsolen werden dynamisch angelegt. Bis zu 64 Stück kann man benutzen. · Unterstützt verschiedene gängige Dateisysteme, wie z.B. Minix, Xenix und alle gängigen System-V-Dateisysteme; hat ein ausgefeiltes eigenes Dateisystemschema, welches Dateisysteme bis zu 4 TB mit Dateinamen von bis zu 255 Zeichen Länge bietet. · Transparenter Zugriff auf MS-DOS Partitionen (oder OS/2 FAT- Partitionen) über ein spezielles Dateisystem: man braucht keine speziellen Befehle zur Benutzung der MS-DOS-Partition, sie präsentiert sich einfach wie ein normales UNIX-Dateisystem (abgesehen von komischen Beschränkungen für Dateinamen, Berechtigungen, etc). Mit MS-DOS 6 komprimierte Partitionen funktionieren derzeit nicht ohne Patch (dmsdosfs). VFAT (WNT, Windows 95) wird in Linux 2.0 unterstützt. · Ein spezielles Dateisystem namens UMSDOS, das es ermöglicht, Linux in einem DOS-Dateisystem zu installieren. · Lesezugriff für HPFS-2 von OS/2 2.1 wird unterstützt. · HFS-Dateisystem-Unterstützung (Macintosh) ist separat als Modul erhältlich. · CD-ROM-Dateisystem, das alle gängigen CD-ROM-Formate liest. · TCP/IP Netzwerkunterstützung, einschließlich ftp, telnet, NFS etc. · Appletalk Server · Netware Client und Server · Lan Manager (SMB) Client und Server · Viele Netzwerkprotokolle: die Basisprotokolle der neuen Entwicklungskernel beinhalten TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP (Appletalk), NetBEUI, Netrom u.a. Stabile Netzwerkprotokolle der stabilen Kernel beinhalten derzeit TCP, IPv4, IPX, DDP und AX.25. 3. Hardware 3.1. Minimale Konfiguration Die möglicherweise kleinstmögliche Konfiguration, auf der Linux funktioniert, ist folgende: 386SX/16, 1 MB RAM, 1.44 MB oder 1.2 MB Floppy, irgendeine unterstützte Videokarte (und natürlich Tastatur, Monitor, etc.). Dies müßte das Booten erlauben und das Testen, ob Linux auf dieser Maschine überhaupt funktioniert. Etwas Sinnvolles wird man damit aber nicht anfangen können. Für Informationen über minimale Linux-Konfigurationen siehe http://rsphy1.anu.edu.au/~gpg109/mem.html. Um arbeiten zu können, wird man auch etwas Festplattenspeicher benötigen. 5 bis 10 MB sollten für ein minimales Setup genügen (wobei nur die wichtigsten Kommandos und vielleicht ein oder zwei kleine Applikationen, wie z.B. ein Terminal-Programm installiert sind). Dies ist immer noch sehr, sehr begrenzt und sehr unkomfortabel, da es nicht genügend Raum läßt, um überhaupt irgend etwas anzufangen, falls die eigenen Anwendungen nicht sehr limitiert sind. Es wird im allgemeinen nicht empfohlen, höchstens zum Testen und natürlich, um über kleine Ressource-Anforderungen prahlen zu können. 3.2. Brauchbare Konfigurationen Will man rechnerintensive Programme laufen lassen, wie z.B. gcc, X oder TeX, wünscht man sich schon einen schnelleren Prozessor als einen 386SX/16, aber sogar der sollte genügen, wenn man geduldig ist. 4 MB sollte man in der Praxis schon haben - wenn man X nicht benutzt. Mit X sollten es schon 8 MB sein. Auch wenn mehrere Nutzer gleichzeitig arbeiten können sollen oder mehrere große Programme (z.B. Kompilerläufe) simultan laufen sollen, empfiehlt sich durchaus mehr als 4 MB. Auch mit wenig Speicher sollte es funktionieren (sogar 2 MB könnten reichen), dann wird jedoch virtueller Speicher (Festplatte als langsamer Speicherersatz) benutzt. Dies ist dann so langsam, daß man nicht sinnvoll arbeiten kann. Laufen viele Programm gleichzeitig, reduzieren 16 MB das Auslagern auf Platte beträchtlich. Um bei normaler Rechnerauslastung nicht auslagern zu müssen, sollten 32 MB ausreichen. Speicherfressende Anwendungen verlangen natürlich gegebenenfalls nach mehr. Die Größe des benötigten Festplattenspeichers hängt von der zu installierenden Software ab. Die normale Grundausstattung an UNIX- Hilfsprogrammen, Shells und Verwaltungsprogrammen inklusive etwas freiem Speicher für Anwenderdateien sollte mit weniger als 10 MB auskommen. Ein kompletteres System erhält man mit Red Hat, Debian oder anderen Distributionen. Dann braucht man etwa 60 bis 300 MB, abhängig davon, was man installieren will und welche Distribution man erwirbt. Fügen Sie soviel Speicherplatz hinzu, wie Sie für Anwenderdateien reservieren wollen. Bei den heutigen Preisen für Festplatten macht es keinen Sinn, beim Kauf eines neuen Systems eine zu kleine Platte zu kaufen. Man sollte mindestens 500 MB nehmen, besser 1GB oder mehr. Man wird es sicher nicht bereuen. Erweitern Sie je nach Bedarf, Wünschen und Geldbeutel mit mehr Speicher, einer größeren Festplatte, einem schnelleren Prozessor oder anderen Annehmlichkeiten, um über ein mehr als nur nutzbares System zu gebieten. Generell ist ein großer Unterschied zwischen DOS und Linux, daß das Hinzufügen von Speicher unter Linux einen großen Gewinn bringt, unter DOS hingegen kaum ins Gewicht fällt. Dies hat natürlich mit der 640-KB-Grenze unter DOS zu tun, die es bei Linux schlicht nicht gibt. 3.3. Unterstützte Hardware CPU: Jeder Prozessor, der im 386er-Protected-Mode Programme ausführen kann, d.h. alle Modelle der 386er-, 486er-, 586er- und 686er- Klasse sollten funktionieren. 286er und ältere werden wohl irgendwann ein kleineres Kernel namens ELKS (Embeddable Linux Kernel Subset) ausführen können, nur sollte man nicht dieselbe Funktionalität erwarten. Eine Version für die 680x0 CPU (für x = 2 mit externer MMU, 3, 4 und 6) welche auf Amigas und Ataris läuft, findet man unter tsx-11.mit.edu im Verzeichnis 680x0. Es werden viele DEC Alphas, SPARCs und PowerPCs unterstützt. Ebenso laufen Portierungen auf die ARM-, StrongARM- und MIPS- Architekturen. Weitere Informationen stehen an anderer Stelle zur Verfügung. Architekturen: ISA oder EISA Bus. MCA-Unterstützung (hauptsächlich true blue PS/2's) ist nicht komplett, wird jedoch verbessert (siehe oben). Lokale Busse (VLB und PCI) funktionieren. Linux stellt höhere Ansprüche an die Hardware als DOS, Windows bzw. genaugenommen die meisten Betriebssysteme. Das heißt, daß manche Hardware von geringer Qualität, die beim Betrieb von anspruchsloseren Betriebssystemen nicht versagt, unter Linux den Dienst nicht zuverlässig verrichtet. Linux eignet sich hervorragend zum Speichertest... RAM: Bis zu 1 GB auf Intel; mehr auf 64-Bit-Plattformen. Einige Anwender (Linus eingeschlossen) haben festgestellt, daß das Hinzufügen von RAM ohne gleichzeitiges Aufstocken des Cache ihren Rechner deutlich verlangsamt hat. Nimmt man also eine Speichererweiterung vor und der Rechner wird langsamer, dann sollte man Cache hinzufügen. Einige Rechner können nur eine bestimmte Speichermenge mit Cache versorgen, unabhängig von der eigentlich installierten RAM-Größe (64 MB ist das Äußerste, was ein bestimmter, populärer Chipsatz unterstützt). Mehr als 64 MB erfordert einen Bootparameter, da das BIOS nicht mehr als 64MB anzeigen kann, was aus einem Designfehler des BIOS resultiert. Datenhaltung: Generische AT Laufwerke (EIDE, IDE, 16 bit HD Kontroller mit MFM oder RLL oder ESDI) werden unterstützt, wie auch SCSI- Festplatten und -CDROMs an einem unterstützten SCSI-Adapter. Generische XT Kontroller (8 Bit Kontroller mit MFM oder RLL) werden ebenso unterstützt. Unterstützte SCSI-Adapter: Advansys, Adaptec 1542/1522/ 1740/27xx/29xx (mit einigen Ausnahmen), Buslogic MultiMaster und Flashpoint, NCR53c8xx-basierte Controller, DPT-Controller, Qlogic ISP und FAS Kontroller, Seagate ST-01 und ST-02, Future Domain TMC-88x-Serien (oder beliebige auf dem TMC950 Chip basierende Boards) und TMC1660/1680, Ultrastor 14F/24F/34F, Western Digital wd7000 und andere. SCSI, QIC-02 und einige QIC-80 Tapes werden ebenfalls unterstützt. Auch werden verschiedene CDROM-Geräte unterstützt, wie z.B. Matsushita/Panasonic, Mitsumi, Sony, Soundblaster, Toshiba, ATAPI (EIDE), SCSI und andere. Die genauen Modelle erfahren Sie im HOWTO über die Hardware-Kompatibilität. Video: VGA, EGA, CGA und Hercules (und kompatible) funktionieren im Textmodus. Bei Grafik und X werden (zumindest) normale VGA, einige SuperVGA-Karten (die meisten auf ET3000/ET4000/Paradise basierenden Karten und einige Trident-Chipsätze), S3, 8514/A, ATI MACH8/32/64 und Hercules unterstützt. (Linux verwendet den Xfree86 X Server, wodurch bestimmt ist, welche Karten unterstützt werden. Die komplette Liste unterstützter Chipsätze ist alleine schon eine Seite lang.) Netzwerk: Ethernetunterstützung beinhaltet 3COM 503/509/579/589/595/905 (501/505/507 werden unterstützt, aber nicht empfohlen), AT&T GIS (neé NCR) WaveLAN, die meisten WD8390-basierten Karten, die meisten WD80x3-basierten Karten, NE1000/2000 und die meisten Abkömmlinge, AC3200, Apricot 82596, AT1700, ATP, DE425/434/435/500, D-Link DE-600/620, DEPCA, DE100/101, DE200/201/202 Turbo, DE210, DE422, Cabletron E2100 (nicht empfohlen), Intel EtherExpress (nicht empfohlen), DEC EtherWORKS 3, HP LAN, HP PCLAN/plus, die meisten AMD LANCE-basierten Karten, NI5210, ni6510, SMC Ultra, DEC 21040 (tulip), Zenith Z- Note Ethernet, Alle Zircom Karten und alle Cabletron Karten werden unterstützt - außer der E2100, da der Hersteller die Informationen zur Programmierung nicht frei zur Verfügung stellen will. Die FDDI-Unterstützung beinhaltet derzeit die DEFxx Karten von DEC. Point-to-Point Netzwerkunterstützung beinhaltet PPP, SLIP, CSLIP und PLIP. Eingeschränkte Token-Ring-Unterstützung ist verfügbar. Seriell: Die meisten 16450- und 16550-UART-basierten Boards, einschließlich AST Fourport, die Usenet Serial Card II und andere. Unterstützte intelligente Karten: Cyclades Cyclom series (durch den Hersteller), die Rocketportserie von Comtrol (herstellerunterstützt), Stallion (die meisten Karten; herstellerunterstützt), und Digi (einige Karten ; herstellerunterstützt). Bestimmte Hardware für ISDN, Frame Relay und Leased Lines wird unterstützt. Andere Hardware: SoundBlaster, ProAudio Spectrum 16, Gravis Ultrasound, die meisten anderen Soundkarten, die meisten (alle?) Busmaustypen (Microsoft, Logitech, PS/2), etc. 4. Eine unvollständige Liste portierter Programme und anderer Soft­ ware Die meisten bekannten UNIX-Tools und -Programme wurden nach Linux portiert, einschließlich fast des gesamten GNU-Spektrums und vieler X- Clients verschiedener Herkunft. Eigentlich ist »portiert« oft etwas zuviel gesagt, da viele Programme von vornherein ohne oder nur mit geringen Änderungen kompiliert werden können, da Linux der POSIX- Spezifikation ziemlich stark folgt. Es gibt leider bis jetzt (Oktober 97) noch nicht ganz so viele Endanwenderprogramm, wie man sich vielleicht wünschen könnte, aber dies ändert sich gerade rapide. Kontaktieren Sie den Verkäufer Ihrer favorisierten UNIX-Applikation und fragen Sie, ob diese schon nach Linux portiert wurde. Hier eine unvollständige Liste mit Software, die erwiesenermaßen unter Linux funktioniert: Grundlegende UNIX-Befehle: ls, tr, sed, awk und so weiter (nenn mir einen und Linux hat ihn wahrscheinlich). Entwicklungswerkzeugen: gcc, gdb, make, bison, flex, perl, rcs, cvs, prof. Sprachen and Programmierumgebungen: C, C++, Objective C, Java, Modula-3, Modula-2, Oberon, Ada95, Pascal, Fortran, ML, scheme, Tcl/tk, Perl, Python, Common Lisp und viele andere. Graphische Umgebungen: X11R5 (XFree86 2.x), X11R6 (XFree86 3.x), MGR. Editoren: GNU Emacs, XEmacs, MicroEmacs, jove, ez, epoch, elvis (GNU vi), vim, vile, joe, pico, jed und andere. Shells: bash (POSIX sh-kompatibel), zsh (einschließlich ksh- Kompatibilität), pdksh, tcsh, csh, rc, es, ash (größtenteils sh- kompatible Shell, wie von BSD als /bin/sh verwendet) und viele andere. Telekommunikation: Taylor (BNU-kompatibel) UUCP, SLIP, CSLIP, PPP, kermit, szrz, minicom, pcomm,xcomm, term (ermöglicht mehrere Shells, leitet Netzwerkaktivität um, erlaubt X-Fernsteuerung, alles über eine einzige Modem-Verbindung), Seyon (bekanntes Kommunikationsprogramm unter X-Windows) und verschiedene Fax- und Voice-Mail-Pakete (Verwendung von ZyXEL und anderen Modems) stehen zur Verfügung. Natürlich wird die serielle Einwahl unterstützt. News und Mail: C-news, innd, trn, nn, tin, smail, elm, mh, pine, etc. Textverarbeitung: TeX, groff, doc, ez, LyX, Lout, Linuxdoc-SGML und andere. Spiele: Nethack, verschiedene MUDs und X-Spiele und viele andere. Ein Spiel ist schon allein das Sichten aller auf tsx-11 und sunsite verfügbaren Spiele. Suites: AUIS, das Andrew User Interface System. ez ist Teil dieser Suite. Alle diese Programme (und das ist nicht einmal ein Hundertstel aller verfügbaren) sind frei erhältlich. Kommerzielle Software erfährt eine immer stärkere Verbreitung; fragen Sie den Verkäufer Ihrer beliebtesten kommerziellen Software, ob sie Linux unterstützt. 5. Wer verwendet Linux ? Linux ist frei erhältlich, und niemand muß seine Kopien bei einer zentralen Stelle registrieren lassen. Daher ist es schwer herauszufinden, wieviele Leute Linux benutzen. Verschiedene Unternehmen leben alleine davon, daß sie Linux verkaufen und unterstützen (und es sind relativ wenig Linuxanwender, die Produkte von diesen Unternehmen kaufen). Die Linuxnewsgruppen gehören zu den meistgelesenen im Internet, d.h. die Nutzerzahl liegt wahrscheinlich im Bereich von Millionen, aber an verläßliche Zahlen kommt man schwer ran. Es gibt jedoch eine tapfere Seele, Harald T. Alvestrand ( Harald.T.Alvestrand@uninett.no), die sich auf den Versuch eingelassen hat. Falls Sie sich als Linuxanwender registrieren lassen wollen, verwenden Sie bitte die WWW-Formulare unter http://counter.li.org/. Alternativ kann man auch eine Mail an linux-counter@uninett.no schreiben. Sie sollte eine der folgenden Betreffzeilen enthalten: »I use Linux at home«, »I use Linux at work« oder »I use Linux at home and at work«. Es werden auch Registrierungen für Dritte akzeptiert; fragen Sie ihn nach Details. Er schickt seine Zählungen jeden Monat an comp.os.linux.misc. Sie sind auch erhältlich unter http://counter.li.org/. 6. Wie erhält man Linux? 6.1. Anonymes FTP Frei verwendbare Dokumentation zu Linux in Englisch findet man auf den Seiten des Linux Documentation Project unter: metalab.unc.edu:/pub/Linux/docs/LDP http://metalab.unc.edu/LDP/ Deutschsprachige Dokumentation in Form der Linux HOWTOs findet man auf der Homepage des DLHP: http://www.tu-harburg.de/dlhp/ Vom Stand der Dinge erfährt man über folgende Newsgruppe: comp.os.linux.announce. Folgende anonyme ftp-Server enthalten Linux. Servername IP-Adresse Verzeichnis von Linux ============================= =============== =============== tsx-11.mit.edu 18.172.1.2 /pub/linux sunsite.unc.edu 152.2.22.81 /pub/Linux ftp.funet.fi 128.214.248.6 /pub/Linux net.tamu.edu 128.194.177.1 /pub/linux ftp.mcc.ac.uk 130.88.203.12 /pub/linux src.doc.ic.ac.uk 146.169.2.1 /packages/linux fgb1.fgb.mw.tu-muenchen.de 129.187.200.1 /pub/linux ftp.informatik.tu-muenchen.de 131.159.0.110 /pub/comp/os/linux ftp.dfv.rwth-aachen.de 137.226.4.111 /pub/linux ftp.informatik.rwth-aachen.de 137.226.225.3 /pub/Linux ftp.Germany.EU.net 192.76.144.75 /pub/os/Linux ftp.ibp.fr 132.227.60.2 /pub/linux ftp.uu.net 137.39.1.9 /systems/unix/linux wuarchive.wustl.edu 128.252.135.4 mirrors/linux ftp.win.tue.nl 131.155.70.100 /pub/linux ftp.stack.urc.tue.nl 131.155.2.71 /pub/linux srawgw.sra.co.jp 133.137.4.3 /pub/os/linux cair.kaist.ac.kr /pub/Linux ftp.denet.dk 129.142.6.74 /pub/OS/linux NCTUCCCA.edu.tw 140.111.1.10 /Operating-Systems/Linux nic.switch.ch 130.59.1.40 /mirror/linux sunsite.cnlab-switch.ch 193.5.24.1 /mirror/linux cnuce_arch.cnr.it 131.114.1.10 /pub/Linux ftp.monash.edu.au 130.194.11.8 /pub/linux ftp.dstc.edu.au 130.102.181.31 /pub/linux ftp.sydutech.usyd.edu.au 129.78.192.2 /pub/linux tsx-11.mit.edu und fgb1.fgb.mw.tu-muenchen.de sind die offiziellen Stellen für den GCC von Linux. Einige Sites spiegeln andere Sites. Bitte verwenden Sie möglichst die ihnen im Netz nächstgelegene Adresse. Zumindest sunsite.unc.edu und ftp.informatik.tu-muenchen.de bieten ftpmail Dienste. Schicken Sie eine Mail an ftpmail@sunsite.unc.edu oder ftp@informatik.tu-muenchen.de, wenn Sie Hilfe benötigen. Falls man sich nicht zurechtfindet, sollte man einen Blick auf metalab.unc.edu:/pub/Linux/distributions werfen, wo verschiedene Distributionen angeboten werden. Red Hat Linux und Debian scheinen momentan die populärsten Distributionen zu sein, zumindest in den USA. 6.2. CDROM Heutzutage wird Linux häufig von CDROM installiert. Die Distributionen sind auf Hunderte von MB an Linuxsoftware angewachsen und das Herunterladen dauert sogar mit einem 28.8er Modem lange. Im Wesentlichen gibt es zwei Möglichkeiten, eine Linux-Distribution auf CDROM zu erhalten: als Teil eines Archivs von FTP Sites oder direkt vom Hersteller. Holen Sie sich ein Archiv, dann erhalten Sie meist verschiedene Distributionen, zwischen denen Sie wählen können. Support ist jedoch normalerweise nicht enthalten. Erwerben Sie eine Distribution direkt vom Anbieter, erhalten Sie normalerweise nur eine Distribution, aber Sie erhalten für gewöhnlich irgendeine Form von Support, normalerweise zur Installation. 6.3. Wie kann man Linux sonst erhalten ? Es gibt viele Mailboxen die Linuxdateien enthalten. Eine diesbezügliche Liste wird von Zeit zu Zeit in comp.os.linux.announce gepostet. Fragen Sie Freunde und Usergruppen oder bestellen Sie eine der kommerziellen Distributionen. Eine Liste erhalten Sie in der Linux Distribution HOWTO. 7. Einstieg Wie bereits anfangs erwähnt, wird Linux nicht zentral verwaltet. Deswegen gibt es auch keine »offizielle« Version, auf die man zeigen und wovon man sagen könnte: »Das ist Linux.«. Stattdessen gibt es verschiedene »Distributionen«, die mehr oder weniger komplette Sammlungen vorkonfigurierter und gebündelter Software darstellen, sodaß sie zur Installation eines Linuxsystems verwendet werden können. Als erstes sollte man sich eine Liste der Frequently Asked Questions (FAQ) holen und lesen, und zwar entweder von einer der FTP-Sites oder durch Verwendung der normalen Usenet FAQ Archives (z.B. rtfm.mit.edu). Dieses Dokument enthält eine Vielzahl von Hinweisen zum Einstieg, welche Dateien benötigt werden und wie man die meisten der häufigen Probleme löst (Installationsprobleme und andere). 8. Der rechtliche Status von Linux Obwohl Linux mit dem kompletten Quellcode ausgeliefert wird, ist es copyrightgeschützte Software, nicht Public Domain. Es ist jedoch gemäß der GNU General Public License - manchmal als »copyleft« bezeichnet - frei erhältlich. Weitere Informationen können der GPL entnommen werden. Die Programme, die unter Linux laufen, haben alle ihr eigenes Copyright, obwohl viele von ihnen auch die GPL verwenden. X fällt unter das MIT X Copyright und einige Hilfsprogramme unterliegen dem BSD Copyright. In jedem Fall ist die gesamte Software der FTP-Sites frei erhältlich (andernfalls sollte sie sich nicht dort befinden). 9. Neues über Linux Vor über drei Jahren wurde ein Monatsmagazin namens Linux Journal ins Leben gerufen. Es enthält Artikel für fast alle Wissensgrade und soll allen Linuxusern nutzen. Ein einjähriges Abo kostet $22 in den USA, $27 in Kanada und Mexiko und $32 in allen anderen Ländern, zahlbar in US-Währung. Für Bestellungen schreiben Sie eine email an subs@ssc.com, senden Sie ein Fax an +1-206-782-7191, wählen Sie folgende Telefonnummer: +1-206-782-7733, oder schreiben Sie einen Brief an Linux Journal, PO Box 85867, Seattle, WA 98145-1867 USA. SSC stellt einen PGP Public Key zur Verfügung, um Ihre Mail zum Schutz der Kreditkartennummer zu verschlüsseln; mit finger auf info@ssc.com erhält man den Schlüssel. Es gibt verschiedene Usenet-Newsgruppen für Diskussionen über Linux sowie verschiedene Mailing-Listen. Für weitere Informationen über die Mailing-Listen siehe die Linux FAQ (Sie sollten die FAQ entweder in der Newsgruppe oder auf den FTP Sites finden). Die Newsgruppe comp.os.linux.announce ist eine moderierte Newsgruppe für Bekanntmachungen über Linux (neue Programme, Fehlerberichtigungen etc). Die Newsgruppe comp.os.linux.answers ist eine moderierte Newsgruppe an die die Linux-FAQ, HOWTO-Dokumente und andere Dokumentation gesendet werden. Die Newsgruppe comp.os.linux.admin ist eine unmoderierte Newsgruppe für Diskussionen über die Verwaltung von Linuxsystemen. Die Newsgruppe comp.os.linux.development.system ist eine unmoderierte Newsgruppe speziell für Diskussionen über die Linux Kernel Entwicklung. Die einzigen Fragen über die Entwicklung von Applikationen, die hier diskutiert werden sollten, sind solche, die direkt im Zusammenhang mit dem Kernel stehen. Alle anderen Fragen über die Entwicklung sind wahrscheinlich allgemeine UNIX- Entwicklungsfragen und sollten stattdessen an eine comp.unix-Gruppe gerichtet werden, wenn es nicht sehr Linux-spezifische Fragen über Applikationen sind. In solch einem Fall sollten Fragen an comp.os.linux.development.apps gerichtet werden. Die Newsgruppe comp.os.linux.development.apps ist eine unmoderierte Newsgruppe speziell für Diskussionen über linuxbezogene Applikationsentwicklungen. Sie ist weder dazu gedacht, zu diskutieren, wo man Applikationen für Linux erhält, noch ist sie ein Diskussionsforum für diejenigen, die gern bestimmte Applikationen für Linux sehen würden. Die Newsgruppe comp.os.linux.hardware ist für linuxspezifische Hardwarefragen. Die Newsgruppe comp.os.linux.networking ist für linuxspezifische Netzwerkentwicklungs- und -setupfragen. Die Newsgruppe comp.os.linux.x ist für linuxspezifische Fragen zu X- Windows. Die Newsgruppe comp.os.linux.misc ist der Ersatz für comp.os.linux und ist für Diskussionen gedacht, die nirgendwo sonst zugeordnet werden können. Im Allgemeinen sollte man nicht zwischen den Linuxnewsgruppen crossposten. Das einzige angebrachte Crossposting ist von Zeit zu Zeit ein Posting zwischen einer unmoderierten Gruppe und comp.os.linux.announce. Der ganze Sinn an der Aufsplittung der alten comp.os.linux Gruppe in mehrere Gruppen ist die Reduzierung von Mailverkehr innerhalb der einzelnen Gruppen. Für diejenigen, die diese Regelung übergehen, gibt es keine Gnade... Linux findet man im Internet unter folgender URL: http://metalab.unc.edu/LDP/. 10. Die Zukunft Nach der Herausgabe von Linux 1.0 wurde an verschiedenen Erweiterungen gearbeitet. Linux 1.2 beinhaltete schnelleren Plattenzugriff, TTY- Verbesserungen, Verbesserung des virtuellen Speichers, Unterstützung für mehrere Plattformen, Quotas und weiteres. Linux 2.0, die derzeit stabile Version, hat sogar noch mehr Erweiterungen, wie z.B. höhere Leistung, mehrere neue Netzwerkprotokolle, eine der schnellsten TCP/IP Implementationen der Welt und noch viel, viel mehr. Linux 2.2 wird eine noch höhere Leistung, noch mehr Netzwerkprotokolle und mehr Gerätetreiber zur Verfügung stellen. Sogar bei mehr als 3/4 Millionen Zeilen Kernelquellcode gibt es noch genügend Eigenschaften zu programmieren und sogar noch mehr Dokumentation zu verfassen. Wenn Sie zur Dokumentation beitragen wollen, treten Sie bitte folgender Mailingliste bei: linux- doc@vger.rutgers.edu. Schicken Sie eine Mail an majordomo@vger.rutgers.edu, die als einzige Zeile im Emailtext (nicht im Betreff) das Wort »help« enthält. 11. Dieses Dokument Dieses Dokument wird gepflegt von Michael K. Johnson (johnsonm@redhat.com). Ich bin für jeden Beitrag - auch den allerkleinsten - dankbar. Ohne Hilfe ist es schwer, dieses Dokument vernünftig zu pflegen. Eine mehr oder minder aktuelle Kopie dieses Dokuments findet man unter http://metalab.unc.edu/LDP/. 12. Copyright Dieses Dokument ist urheberrechtlich geschützt. Das Copyright für das englische Linux Information Sheet, auf der dieses Dokument basiert, liegt bei Michael K. Johnson. Das Copyright für die deutsche Version liegt bei Antje Faber und Karsten Hilbert. Das Dokument darf gemäß der GNU General Public License verbreitet werden. Insbesondere bedeutet dieses, daß der Text sowohl über elektronische wie auch physikalische Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf, solange dieser Copyright Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt und ausdrücklich erwünscht. Bei einer Publikation in Papierform ist das Deutsche Linux HOWTO Projekt hierüber zu zu informieren.