de.comp.os.linux - FAQ

Stand: 11.02.98

Diese FAQ beinhaltet die Antworten (oder Verweise auf die Antworten, soweit sie hier den Rahmen sprengen wuerden) auf die in den letzten Monaten in der de.comp.os.linux-Hierarchie am haeufigsten gestellten Fragen.

Alle Angaben erfolgen ohne Gewaehr, da der Autor nicht alles selbst ausprobieren kann; die hier gesammelten Informationen entstammen den Artikeln der vorgenannten Newshierarchie und die Benutzung erfolgt auf eigene Gefahr.

Mitteilungen ueber Fehler, Aenderungs- oder Ergaenzungswuensche bitte ich per Mail an dcol-faq@cologne.de zu senden. WICHTIG: gemaess Paragraph 28 Abs. 3 BDSG ist die Weitergabe dieser Adresse in kommerziellen Adressensammlungen sowie deren Verwendung zum Zwecke der Werbung oder der Markt- oder Meinungsforschung ausdruecklich untersagt.

Kurz gesagt, ich will keinen Spam !

Bedanken moechte ich mich bei allen, die mir Aenderungsvorschlaege und Erweiterungen geschickt haben.

Haeufig werden Detailfragen gestellt, die zu speziell sind, um hier alle aufgefuehrt zu werden oder die sich nur mit Kenntnis der vorhandenen Hard- und Software sinnvoll beantworten lassen. Wenn eine Frage nicht Bestandteil der FAQ ist und auch auf dem eigenen Newsserver nichts zu dem gesuchten Thema zu finden ist, bietet es sich an, mit einer der Suchmaschinen im Netz, wie z.B. www.dejanews.com, die Archive der jeweiligen Newsgroup nach Stichworten zu durchsuchen, bevor man seine Frage in den News stellt.

Die jeweils zuletzt veroeffentlichte Version dieser FAQ steht immer unter der URL ftp://riemann.iam.uni-bonn.de/pub/faq/de-linux/dcol-faq zur Verfuegung.

-Karsten Merker <dcol-faq@cologne.de>


Index


F A Q - frequently asked questions

Fragen zu News und Mailboxnetzen (Fido/ZConnect)

?Wie kann ich Mails und News offline lesen, also ohne dabei dauernd eine Verbindung zum Internet haben zu muessen ?
! Zu den News gibt es eine sehr gute Schritt-fuer-Schritt-Anleitung von Markus Dickebohm, zu finden unter "http://www.uni-koeln.de/~acp66/", die die Einrichtung eines lokalen Newsservers (INN) beschreibt. Eine Alternative fuer einen kleinen Newsfeed bzw. den typischen Ein-Benutzer-Rechner ist Leafnode, zu finden auf http://www.troll.no. Weitere Informationen zum Thema "Mails und News offline" finden sich unter http://www-public.rz.uni-duesseldorf.de/~kania/mailnews.htm.
Gibt es fuer Linux ein Fido-Pointprogramm ?

Software zur Einrichtung eines Fido-Points gibt es per ftp auf ftp.gwdg.de unter /pub/linux/fido. Weitere Informationen befinden sich auf der Homepage von Roland Rosenfeld: http://www.rhein.de/~roland/FidoPnt/

Wie mir mitgeteilt wurde, funktioniert die dort beschriebene Vorgehensweise allerdings nicht mehr mit der neuesten Version von Fidogate, die Dokumentation von Fidogate wurde aber bezueglich der Einrichtung von Points ueberarbeitet. Alternativ gibt es ein fertiges Pointpaket per ftp von ftp.fido.de.

Gibt es fuer Linux ein ZConnect-Pointprogramm ?

Nicht im herkoemmlichen Sinne, aber es gibt eine Gatewaysoftware, mit der ein ZConnect-System in einen ganz normalen News- und Mailserver eingebunden werden kann. Das Paket heisst "Unix-Connect" und ist auf ftp.foebud.org zu finden. Unix-Connect kann zusammen mit einem lokalen Newsserver auch als Point eingerichtet werden. Zur Einrichtung eines lokalen Newsservers verweise ich auf den Punkt "Wie kann ich News offline lesen ?".

Kann ich CrossPoint unter Linux verwenden ?

Ja, CrossPoint laeuft im DOSEmu, zumindest mit analogen Modems. Bei einigen funktioniert es auch mit ISDN-Karten, jedoch scheint es dabei gelegentlich Probleme zu geben.

Warum stellt mein Tin (Newsreader) statt Umlauten nur Fragezeichen dar ?

Im Tin-unoff (das ist die heute gebraeuchliche Version, da der urspruengliche Tin AFAIK nicht mehr weiterentwickelt wird), ist eine Funktion enthalten, die ueberprueft, ob die in einem Artikel enthaltenen Zeichen auf dem System ueberhaupt dargestellt werden koennen. Dazu greift der Tin auf die "Locales" zurueck. Locales sind Konfigurationsdateien, die Informationen ueber nationale oder regionale Besonderheiten enthalten, u.a. die Sprache, das Zahlenformat (z.B. ob der Dezimaltrenner ein Punkt oder ein Komma ist), das Datums- und Zeitformat und den verwendeten bzw. darstellbaren Zeichensatz. Sind die Locales unvollstaendig oder nicht richtig konfiguriert, werden alle Nicht-7-Bit-ASCII-Zeichen (dazu gehoeren auch die Umlaute) vom Tin als nicht darstellbar gewertet und es wird ersatzweise ein Fragezeichen ausgegeben. Die Konfiguration, welche Locale-Einstellungen verwendet werden sollen, erfolgt ueber Environmentvariablen. Um die Darstellung der Umlaute zu erzielen, muss man mittels "export LC_CTYPE=de_DE" in der bash bzw. "setenv LC_CTYPE de_DE" in der (t)csh die Locales entsprechend konfigurieren. Fuehrt auch das nicht zum Erfolg, sind wahrscheinlich die Locale-Dateien unvollstaendig oder gar nicht installiert. In diesem Fall besteht (neben der Installation aktueller Locales) noch die Moeglichkeit, zur "brute force"-Methode zu greifen und den Tin aus den Sourcen mit der Option "--disable-locale" selbst zu compilieren. In diesem Fall werden die Locales voellig ignoriert und jedes Zeichen als darstellbar bewertet.

Allgemeine Linux-Fragen

Wo finde ich deutschsprachige Dokumentation zu Linux ?

Im "Deutschen Linux HOWTO Projekt" (DLHP). Die Texte sind per ftp unter folgenden Adressen zu beziehen:

ftp.heise.de:/pub/ix/Linux/docs/HOWTO
ftp.uni-stuttgart.de:/pub/systems/linux/local/doc
sunsite.unc.edu:/pub/Linux/docs/howto/translations/de

sowie im WWW unter http://www.tu-harburg.de/~semb2204/dlhp/.

Welche Buecher gibt es zu Linux ?

In de.comp.os.linux.misc, maus.os.linux und de.etc.lists wird monatlich die "Deutsche Linux Buecherliste" gepostet, die alle aktuell erhaeltlichen Linux-Buecher enthalten sollte. Im Web ist sie unter http://www.infodrom.north.de/Linux/Buecher/ zu finden.

Ich habe Linux gerade erst hochgefahren und fast mein gesamter Speicher ist schon belegt. Verbraucht Linux soviel Speicher ?

Linux versucht, den vorhandenen Speicher moeglichst effizient zu nutzen. Daher wird der von Programmen zur Zeit nicht benoetigte Speicher als Plattencache benutzt. Sobald ein Programm mehr Speicher anfordert, wird der Plattencache automatisch verkleinert und der freigewordene Speicher dem Programm zur Verfuegung gestellt. Es ist also vollkommen normal, dass der Speicher immer sehr voll zu sein scheint.

Linux erkennt nur einen Teil meines Speichers. Wie kann ich das aendern?

Aeltere BIOS-Versionen koennen nur bis zu 64MB melden. Ist mehr Hauptspeicher vorhanden, muss man dies dem Kernel explizit mitteilen, in dem man beim Booten einen Kernelparameter uebergibt, bei 96MB z.B. "mem=96M". Wie Kernelparameter uebergeben werden, ist im BootPrompt-HOWTO beschrieben. Bei einigen Rechnern (scheinbar besonders haeufig bei alten Compaq- Modellen) tritt diese Problem schon bei weniger Speicher (z.B. mehr als 16MB) auf. Die Loesung ist jedoch auch hier die Uebergabe eines entsprechenden Kernel-Parameters.

Warum zeigt Linux in /proc/cpuinfo an, im Rechner befaende sich ein Pentium 75, obwohl ein Pentium 90/100/120/133/166/200/* eingebaut ist ?

Das Kommando "cat /proc/cpuinfo" liefert bei allen "normalen" Pentiums (MMX-Typen konnte ich noch nicht ausprobieren) ab 75 MHz die Ausgabe

  model           : Pentium 75+
Das Pluszeichen hinter der 75 steht fuer "oder hoeher". Anhand der CPU-ID kann man nur die alten 60/66 MHz-Typen von den moderneren 75-200 MHz-Versionen unterscheiden. Der Takt, fuer den ein konkreter Chip spezifiziert ist, laesst sich ueber das CPUID-Kommando leider nicht feststellen, so dass nur die Chip-Familie angegeben werden kann.

Ich habe gehoert, es gibt Linux auch auf anderen Plattformen wie z.B. DEC Alpha, Sun SPARC, MIPS oder m68k. Kann ich meine Linux-Programme auch auf diesen Plattformen ausfuehren ?

Grundaetzlich nein. Die verschiedenen Plattformen verwenden unterschiedliche Prozessoren und sind daher nicht binaerkompatibel. Fuer die Alphas gibt es eine Intel-Emulation, mit der auch Linux-Programme fuer Intel-Prozessoren dort ausgefuehrt werden koennen, aber diese ist wohl noch nicht vollkommen ausgereift.

Sofern zu einem Programm der Sourcecode vorhanden ist, stellt es jedoch in der Regel kein Problem dar, ihn auf einer anderen Plattform unter Linux zu kompilieren.

Die verschiedenen Linux/68k-Varianten sind untereinander binaerkompatibel, d.h. ein auf einem Amiga unter Linux/68k kompiliertes Programm laeuft auch z.B. auf einem Atari TT unter Linux/68k und umgekehrt.

Ich bekomme beim Compilieren die Meldung, es sei ein "Signal 11" aufgetreten. Was bedeutet das ?

Das weist haeufig auf fehlerhafte Hardware hin (z.B. defekte oder zu langsame Speicherchips). Zu Signal 11 gibt es eine ausfuehrliche FAQ unter http://www.bitwizard.nl/sig11/.

Enthaelt der Rechner einen AMD K6 aelterer Bauart und mehr als 32MB RAM, kann es durch einen Fehler im Prozessor zum Auftreten des Signal 11 kommen. Der Fehler wird u.a. durch einige im gcc vorkommende Codesegmente ausgeloest (der K6 haelt die Sequenz faelschlicherweise fuer selbstmodifizierenden Code und behandelt sie falsch). Ab der Prozessorrevision B9731 (auf dem Prozessor aufgedruckt) ist der Fehler behoben. AMD hat fuer die Prozessoren mit dem Fehler einen Umtausch angeboten.

Wenn ich unter X arbeite, kommt es manchmal, besonders nach dem Start von Netscape, zu einem seltsamen Effekt: ein oder mehrere Fenster werden in Falschfarben dargestellt. Wenn ich den Mauszeiger dann auf eines dieser Fenster bewege, stimmen die Farben in diesem Fenster wieder, aber alles andere wird in Falschfarben dargestellt. Woran liegt das?

Dieser Effekt tritt auf, wenn Programme mehr Farben benutzen moechten, als zur Verfuegung stehen. Wird der X-Server mit 8 Bit Farbtiefe betrieben (die Normaleinstellung), stehen maximal 2 hoch 8 = 256 Farben gleichzeitig zur Verfuegung. Wenn bereits alle verfuegbaren 256 "Farbtoepfe" vergeben sind, kann ein Programm keine weiteren Farben mehr fuer sich reservieren. Um dieses Problem zu umgehen, kann ein Programm eine "private Colormap" anfordern. Dann erhaelt das Programm eine eigene Farbpalette von 256 Farben nur fuer sich. Da aber tatsaechlich nur 256 Farben gleichzeitig dargestellt werden koennen, muss, sobald ein Programm bzw. dessen Fenster aktiviert wird, auf dessen Farbpalette umgeschaltet werden, die sich von denen der anderen Programme unterscheidet, so dass die Fenster der uebrigen Programme in Falschfarbendarstellung erscheinen. Netscape reserviert sehr viele Farben fuer sich, so dass das Problem haeufig nach dem Start von Netscape auftritt.

Loesen laesst sich das Problem durch Betrieb des X-Servers in einer hoeheren Farbtiefe (16 Bit/65536 Farben oder 24Bit/16,7 Millionen Farben). Wer X auf der Kommandozeile startet, kann einen entsprechenden Parameter uebergeben: startx -- -bpp 16 (fuer 65536 Farben) oder startx -- -bpp 24 (fuer 16,7 Mio. Farben). Je nach Karte muss man statt "-bpp 24" "-bpp 32" angeben.

Ab XFree 3.2 kann auch durch den Parameter "DefaultColorDepth " in der XF86Config der X-Server standardmaessig in entsprechender Farbtiefe (16/24/32 Bit) gestartet werden, so dass die Kommandozeilenoption bei startx nicht mehr noetig ist.

Leider werden nicht alle von XFree grundsaetzlich unterstuetzten Karten auch in Farbtiefen ueber 8 Bit unterstuetzt. Im Zweifel helfen die Manpages zu XFree oder Ausprobieren weiter. Wenn der X-Server eine bestimmte Farbtiefe nicht unterstuetzt, gibt er beim Start eine entsprechende Fehlermeldung aus.

Warum stuerzt mein Netscape 3 dauernd ab, besonders, wenn ich Java-Applets ausfuehren moechte?

Netscape 3 ist mit sehr alten Linux-Libraries gelinkt und kommt mit einigen Neuerungen bzw. Fehlerkorrekturen in den neueren Libs nicht klar. Die Loesung des Problem ist, Netscape 3 mit den alten Libraries zu starten. Wie das im Detail funktioniert, ist im WWW unter http://members.ping.at/theofilu/netscape.html beschrieben.

Warum kann ich aus Netscape 3 heraus auf einmal nicht mehr im Postscriptformat drucken ? Weder Ghostscript noch ein Postscriptdrucker akzeptieren die erzeugten Daten.

Vermutlich sind die Locales (vgl. den Punkt "Warum stellt mein Tin statt Umlauten nur Fragezeichen dar ?") auf ein Zahlenformat mit dem Komma als Dezimaltrenner eingestellt. Netscape 3 hat einen Fehler, der bewirkt, dass die Locale-Einstellung des Dezimaltrenners faelschlicherweise auch fuer die Erzeugung von Postscript-Kommandos (und den dazugehoerigen Koordinaten) verwendet wird. Postscript erfordert aber immer einen Punkt als Dezimaltrenner, so dass fehlerhafter Postscript-Code erzeugt wird.

Abhilfe schafft, vor dem Starten von Netscape die entsprechene Locale-Einstellung mittels "export LC_NUMERIC=C" (bash) bzw. "setenv LC_NUMERIC C" (csh) auf "Standard" (d.h. Punkt als Dezimaltrenner) zu aendern. Man sollte nur daran denken, sie danach wieder auf den korrekten Wert zu setzen. Am einfachsten laesst sich dieses Problem loesen, indem man die Environmentvariable LC_NUMERIC in einem kleinen Shell-Wrapper setzt, wie er im vorhergehenden Punkt ("Warum stuerzt mein Netscape 3 dauernd ab?") ohnehin verwendet wird.

Warum funktionieren unter XFree bei 16Bit Farbtiefe (65535 Farben) die hoeheren Aufloesungen nicht mehr, obwohl sie unter Windows mit der gleichen Hardware moeglich sind ?

Wenn XFree beim Start des X-Servers eine Meldung der Art

  (--) S3: Clock for mode "1024x768" is too high for the configured
       hardware.
       Limit is  80.000 MHz
  (--) S3: Removing mode "1024x768" from list of valid modes.
ausgibt, liegt es daran, dass nach der Spezifikation des Grafikchip-Herstellers die maximale "Pixelclock", d.h. die maximale Taktrate, mit der der RAMDAC (der Teil der Grafikkarte, der fuer das Auslesen der Pixeldaten und deren Umwandlung in ein Bildsignal zustaendig ist) betrieben werden darf, bei hoeheren Farbtiefen als 8 Bit begrenzt ist. So duerfen z.B. die weit verbreiteten Trio64-Chips bei 8 Bit Farbtiefe mit 135 MHz Pixelclock betrieben werden, bei 16 Bit Farbtiefe aber nur noch mit maximal 80 MHz.

In dem obenstehenden Beispiel ist fuer den Modus "1024x768" in der XF86Config eine Pixelclock von mehr als 80 MHz eingetragen, was bei 16 Bit Farbtiefe das Limit ueberschreitet, weshalb XFree den Modus nicht zulaesst.

Haeufig halten die Windows-Treiber die Spezifikation des Chipherstellers im Gegensatz zu XFree nicht ein, so dass sie auch in 16 Bit mehr als den eigentlich erlaubten Takt zulassen. Das funktioniert in der Praxis zwar meistens, muss es aber nicht immer und kann zum fruehzeitigen Defekt der Grafikkarte fuehren, da der Chip bei zu hohem Takt ueberhitzt werden kann (die in Waerme umgesetzte Verlustleistung steigt mit der Frequenz).

Ab XFree 3.3.1 gibt es eine Option, mit der man die maximale Taktrate, die man seiner Grafikkarte in Abhaengigkeit von der Farbtiefe zumuten will, in der XF86Config einstellen kann. Die Benutzung erfolgt auf eigene Gefahr. Wer die vorgesehenen Limits ueberschreiten will, sollte genau wissen, was er tut!

Im o.g. Beispiel (S3 Trio 64) laesst sich bei 80MHz Pixelclock immer noch ein 1024x768-VESA-Modus mit 70Hz Bildwiederholfrequenz nutzen. Mit einer angepassten Modeline sind auch noch 75 oder 76 Hz moeglich.

Warum zeigt mein Rechner einen geringeren (hoeheren) BogoMips-Wert an als ein Rechner mit einem anderen Prozessor, obwohl mein Rechner tatsaechlich schneller (langsamer) ist?

Der BogoMips-Wert ist kein Mass fuer die Geschwindigkeit des Rechners, daher auch die Bezeichnung _Bogo_, das kommt vom engl. Wort "bogus", was unsinnig, falsch oder irrefuehrend bedeutet. Der Wert ist vom verwendeten Prozessortyp abhaengig und zwischen verschiedenen Prozessortypen nicht vergleichbar (beispielsweise liefert ein 486DX4-100 einen hoehren BogoMips-Wert als ein Pentium 100, obwohl der Pentium deutlich schneller ist, noch extremer ist der Vergleich zwischen einem AMD-K5 und einem Pentium)

Welche Linux-Distribution ist die beste ?

Es gibt keine "beste" Linuxdistribution, das ist eine Frage der persoenlichen Vorlieben. Die verschiedenen Distributionen haben unterschiedliche Schwerpunkte, jeder muss fuer sich entscheiden, was ihm besser gefaellt. Haeufig ist es sinnvoll, sich zumindest etwas an dem zu orientieren, was Bekannte benutzen, da man so einfacher Anprechpartner bei Problemen findet, ohne dabei die Besonderheiten verschiedener Distributionen beachten zu muessen, welche in manchen Faellen fuer Einsteiger etwas verwirrend sein koennen. Die in Deutschland am weitesten verbreiteten Distributionen duerften nach den News zu urteilen Debian, RedHat und Suse sein (Aufzaehlung in alphabetischer Reihenfolge).

Ich habe mir ein kleines Testprogramm compiliert, aber wenn ich es aufrufe, passiert gar nichts. Warum ?

Ein haeufig unter Linux (und natuerlich anderen Unix-Derivaten) gemachter Fehler ist es, ein Programm "test" zu nennen. Es gibt ein Systemkommando mit dem Namen "test", das einen logischen Ausdruck auswertet und mit dem man z.B. ueberpruefen kann, ob eine bestimmte Datei existiert (und noch einiges mehr). Wenn man ein Programm "test" nennt und es aufruft, wird der eingestellte Suchpfad (enthalten in der Shellvariable PATH) von vorne nach hinten durchsucht, bis ein Programm mit dem Namen "test" gefunden wird. Das Verzeichnis, in dem sich das Systemkommando "test" befindet, steht in der PATH-Variable in der Regel weiter vorne als das eigene Home- oder Arbeitsverzeichnis, so das nicht das gerade selbst compilierte Programm ausgefuehrt wird, sondern das System-"test". Dieses erzeugt keine Ausgabe, sondern setzt, je nach dem Ergebnis des als Parameter uebergebenen logischen Ausdrucks, lediglich einen Fehlercode, den man in der Shell abfragen kann. Es sieht also so aus, als ob das Programm nichts tut.

Warum kann ich ein Programm als "normaler" User starten, aber nicht als root ?

Wenn das Programm im aktuellen Verzeichnis steht, ist es warscheinlich so, dass der Suchpfad fuer den "normalen" Benutzer das Verzeichnis ".", d.h. das jeweils aktuelle Verzeichnis, enthaelt, der Suchpfad fuer root aus Sicherheitsgruenden aber nicht. Unter Linux/Unix ist es standardmaessig so, dass das aktuelle Verzeichnis NICHT im Suchpfad steht, da man andernfalls sehr einfach ein "trojanisches Pferd" mit einem gebraeuchlichen Namen irgendwo ablegen koennte und nur darauf warten muesste, dass root im entsprechenden Verzeichnis (versehentlich) das Programm startet. Bsp: ein trojanisches Pferd mit dem Namen "sl" (ls als "Dreher") in /tmp. Sobald root in /tmp waere und versehentlich "sl" statt "ls" tippt, kann das trojanische Pferd alles tun, was es moechte, da es Root-Rechte hat, so z.B. irgendwo eine SUID-root-Shell anlegen o.ae.

Moechte man das Programm trotzdem starten, kann man es expilzit mit voller Pfadangabe aufrufen ("/foo/bar/Programm") oder in Kurzform mit "./Programm", da der Punkt fuer das aktuelle Verzeichnis steht.

Unterstuetzt Linux FAT32 (das mit Win95b a.k.a. OSR2 eingefuehrte "neue" Dateisystem) ?

In den stabilen Kernels (2.0.x) noch nicht standardmaessig, es gibt jedoch entsprechende Patches. Naehere Informationen sind im WWW unter http://www-plateau.cs.berkeley.edu/people/chaffee/vfat.html zu finden.

Welche Libc-Version ist neuer: 5.4.4 oder 5.4.38 ?

Libc 5.4.38 ist neuer. Die verschiedenen Versionsteile bzw. "minor releases" sind bei der libc immer durch Punkte getrennt, d.h. 38 ist als "achtunddreissig" zu verstehen, nicht als "drei acht".

Welchen Zweck hat die Datei /proc/kcore und warum belegt sie soviel Platz auf meiner Platte ?

Die Dateien in /proc sind nur virtuell, d.h. sie belegen keinen Plattenplatz, auch wenn sie scheinbar eine Laenge haben. Der Inhalt der Dateien in /proc wird vom Kernel bei Bedarf generiert. /proc/kcore ist ein Abbild des Hauptspeichers, d.h. die Datei ist genauso gross, wie der vorhandenen Hauptspeicher. Das Proc-Dateisystem hat den Zweck, den Zugriff auf Systeminformationen mit "normalen" Dateioperationen zu ermoeglichen, so dass man sie z.B. leicht in Skripten verwenden kann.

Ich moechte StarOffice installieren, das Setup-Programm bricht aber immer mit einem Skript-Fehler in Zeile 1 ab.

Die vorhandene libc ist zu alt, StarOffice benoetigt mindestens libc 5.4.4.

StarOffice ist installiert, wird aber beim Aufruf nicht gefunden oder meldet, es koenne eine Bibliothek nicht oeffnen.

Das StarOffice-Setup muss fuer jeden Benutzer einmal ausgefuehrt werden, der genaue Aufruf ist in dem README des StarOffice-Paketes beschrieben. Dabei werden im Homeverzeichnis des jeweiligen Benutzers zwei Dateien ".sd.sh" und ".sd.csh" angelegt. Bei Verwendung der bash muá ".sd.sh" vor dem Start von StarOffice aufgerufen werden und zwar durch ". ~/.sd.sh", bei der tcsh entsprechend ".sd.csh" mittels "source ~/.sd.csh".

Warum habe ich bei StarOffice englische Menues, obwohl ich die "German"-Pakete installiert habe ?

StarOffice orientiert sich an den vorhandenen Einstellungen fuer die zu verwendende Sprache. Mit "export LANG=de" in der bash (bzw. dauerhaft durch Aufnahme in eines der Shell-Startupscripte) bietet SO auch deutsche Menues. Bei der tcsh erreicht man dies analog durch das Kommando "setenv LANG de".

Fragen zur Hardware

Funktioniert die Matrox Mystique unter Linux ?

Im Textmodus auf jeden Fall, XFree unterstuetzt die Mystique erstmals in Version 3.3.

Funktioniert die Matrox Mystique II unter Linux ?

Im Textmodus auf jeden Fall, XFree unterstuetzt die Mystique II erstmals in Version 3.3.1.

Funktioniert die Matrox Millenium II unter Linux ?

Im Textmodus auf jeden Fall, XFree unterstuetzt die Millenium II erstmals in Version 3.3.1. Die Millenium II-Unterstuetzung ist noch nicht ausgereift, sie wird in der Dokumentation als "experimental" bezeichnet.

Funktionieren GDI-Drucker (auch als "WinPrinter" bezeichnet) unter Linux?

Nein, und sie werden es auch aller Voraussicht nach in naeherer Zukunft nicht.

GDI-Drucker haben keine "Eigenintelligenz" und keinen eigenen Speicher, sie verstehen daher auch keine Standard-Druckerkommandos. Sie funktionieren nur unter Windows mit dem mitgelieferten Treiber, unter DOS z.B. sind sie bereits nicht mehr nutzbar. Die Datenuebertragung an einen solchen Drucker ist sehr zeitkritisch und funktioniert in einer echten Multitasking-Umgebung nicht sauber. Weiterhin sind die verwendeten Protokolle proprietaer, in den meisten Faellen nicht bekannt und man muesste fuer jeden Druckertyp einen eigenen Treiber schreiben.

Es wird zwar an einer Unterstuetzung fuer den HP 820Cxi gearbeitet, ob diese aber jemals "produktionsreif" funktioniert, ist noch nicht absehbar.

Warum funktioniert mein internes Modem nicht unter Linux ?

Wenn es sich um ein sogenanntes "WinModem" handelt, gilt das gleiche, wie im Abschnitt "GDI-Drucker" beschrieben. Ein "WinModem" ist kein Modem im herkoemmlichen Sinn (ein Geraet mit einer seriellen Schnittstelle, das selbstaendig Daten in Toene und wieder zurueck verwandelt und dabei gleichzeitig ggf. Fehler korrigiert). Bei einem "WinModem" muss der Prozessor des Computers all diese Aufgaben uebernehmen. Die verwendete Hardware ist proprietaer, die Ansteuerung ist extrem zeitkritisch und in einer Multitasking-Umgebung wie unter Linux derzeit nicht vernuenftig zu realisieren. "WinModems" funktionieren nur unter Windows, unter DOS z.B. schon nicht mehr.

Handelt es sich nicht um ein "WinModem", aber um einen plug'n play-Typ, kann es sein, dass die Einstellungen fuer IRQ und Basisadresse nicht stimmen. Sind diese bekannt, koennen sie dem System mit dem Kommando "setserial" uebermittelt werden. Ggf. muss man mit Hilfe der "isapnptools" das Modem umkonfigurieren.

Funktioniert das Parallelport-ZIP unter Linux ?

Ja. Wenn ein neuer Kernel mit "make config" konfiguriert wird, ist der Parallelport-Treiber unter den anderen SCSI-Treibern zu finden, da es sich bei dem Parallelport-ZIP eigentlich um ein SCSI-ZIP mit einem Parallelport->SCSI-Wandler handelt. Eine Alternative zu dem (vergleichsweise langsamen) Standard-Treiber gibt es unter http://www.torque.net/zip.html und unter http://www.cyberelk.demon.co.uk/parport.html.

Funktionieren Parallelport-Streamer unter Linux ?

Nein, bisher leider nicht.

Kann ich mit meiner ISDN-Karte unter Linux Faxe empfangen?

Der Empfang analoger Faxe mit isdn4linux ist bisher nicht moeglich und wird aufgrund der sehr zeitkritischen Analyse der analogen Fax-Daten auch auf absehbare Zeit nicht moeglich sein, bisherige Versuche zeigen noch keine befriedigenden Ergebnisse. An einem Treiber, der auch den Analogteil mancher ELSA-ISDN-Karten unterstuetzt, wird gearbeitet. Digitale G4-Faxe werden bisher noch nicht unterstuetzt.

Funktioniert die Hauppage Win/TV PCI unter Linux ?

Ja, Treiber dafuer (und fuer andere auf dem Bt848-Chip basierende Fernseh/Video-Karten) gibt es im WWW unter http://www.thp.uni-koeln.de/~rjkm/linux/bttv.html Die Treiber befinden sich zwar offiziell noch in der Entwicklung, funktionieren aber auf etlichen Systemen bereits stabil. Warum funktionieren unter Linux zwar MO-Medien mit einer Kapazitaet von 230MB, nicht aber solche mit 640MB ?

Linux unterstuetzt derzeit auf MOs nur eine Blockgroesse von 512 Bytes, wie sie bei den 230MB-Medien verwendet wird, die 640MB-Medien benutzen jedoch eine Blockgroesse von 2048 Bytes. In den 2.1.X-Entwicklerkernels befindet sich auch Unterstuetzung fuer Bloecke mit 2048 Bytes, jedoch sollte man genau wissen, was man tut, bevor man sich einen Entwicklerkernel installiert. Als Alternative dazu befinden sich unter http://wwwcip.informatik.uni-erlangen.de/~orschaer/mo/ Patches fuer Kernel 2.0.X. Diese fuehren allerdings zu Problemen beim Betrieb von IDE-Platten. Unter http://www.uni-ulm.de/~s_mbuck1/linux/patches.html befindet sich eine abgeaenderte Version, die dieses Problem nicht mehr hat.

Es wird dazu geraten, beim Erzeugen des Ext2-Filesystems auf einem 640MB-MO mittels mke2fs explizit eine Blockgroesse von 2048 Bytes anzugeben, da es ansonsten zu Problemen kommen kann. Ausserdem sind alte a.out-Binaries im QMAGIC-Format nur von Medien zu starten, deren Blockgroesse identisch mit der des Geraetes ist, auf dem sie erzeugt wurden, da die Headerinformationen im QMAGIC-Format abhaengig von der Blockgroesse sind. Mit a.out-ZMAGIC und den aktuellen ELF-Binaries tritt das Problem nicht auf.

Wenn ich ein externes SCSI-Geraet (z.B. einen Scanner) erst nach dem Booten einschalte, ist es nicht ansprechbar. Wie kann ich es trotzdem benutzen ?

Der SCSI-Bus wird normalerweise nur bei der Initialisierung des Hostadapters nach Geraeten abgesucht. Initialisiert wird der Hostadapter entweder beim Booten, wenn der Treiber fest eincompiliert ist, oder, falls er als Modul vorliegt, beim Laden des Moduls. Wenn ein SCSI-Geraet zu diesem Zeitpunkt nicht eingeschaltet ist, kann es nicht gefunden werden. Neben der unbefriedigenden Loesung, beim Systemstart alle Geraete einzuschalten, besteht die Moeglichkeit, dem Kernel auch im laufenden Betrieb mitzuteilen, dass nach einem SCSI-Geraet gesucht werden soll. Dazu wird das Kommando

"scsi add-single-device "

in die Pseudo-Datei /proc/scsi/scsi geschrieben. Dabei bedeuten

  Host    : die Nummer des Hostadapters (bei nur einem Hostadapter
            wird hier 0 angegeben),

  Channel : die Nummer des SCSI-Kanals auf dem ausgewaehlten Hostadapter
            (bei einem einkanaligen Adapter, was wohl der haeufigste
            Fall sein wird, wird eine 0 angegeben),
 
  ID      : die SCSI-ID des neu hinzugekommenen Geraetes,

  LUN     : soweit mit LUNs (Logical Unit Numbers) gearbeitet wird,
            die LUN des hinzugekommenen Geraetes. 

Um also z.B. einen Scanner mit der SCSI-ID 6 an einem einzelnen einkanaligen Hostadapter nachtraeglich anzumelden, genuegt in der Shell das Kommando

echo "scsi add-single-device 0 0 6 0 " >/proc/scsi/scsi

Dabei sollte das spaeter eingeschaltete Geraet die hoechste SCSI-ID im Strang haben, da es ansonsten zu Problemen mit der Vergabe der Device-Namen kommen kann. SCSI-Devicenamen (/dev/sdx fuer Festplatten, /dev/stx fuer Streamer, /dev/scdx fuer CDROMs und /dev/sgx fuer generic SCSI-Devices wie z.B. Scanner oder CD-Brenner) werden in der Reihenfolge der SCSI-IDs vergeben. Damit waere z.B. sda die Platte mit der kleinsten SCSI-ID, sdb die Festplatte mit der naechstgroesseren SCSI-ID etc. Es gibt aber keine feste Kopplung der Buchstaben an die SCSI-ID, sondern es kommt nur auf die Reihenfolge an, d.h. die erste Festplatte muss nicht unbedingt ID 0 und die zweite Festplatte ID 1 haben, sondern sie koennten z.B. auch die IDs 3 und 6 haben. Wird jetzt nachtraeglich ein Geraet eingebunden, das eine kleinere ID hat, als ein bereits angemeldetes, wuerden sich die Devicenamen aller Geraete mit einer hoeheren ID verschieben, was ein ziemliches Chaos zur Folge haette.

WICHTIG: Auch wenn es moeglich ist, nachtraeglich eingeschaltete Geraete zu erkennen, duerfen waehrend des Betriebes keine Geraete physikalisch an den Bus angeschlossen oder von ihm abgetrennt werden (sogenanntes Hot-Plugging), da das zu schweren Hardwareschaeden fuehren kann. Dies ist nur mit speziell dafuer ausgelegten Hostadaptern und SCSI-Geraeten moeglich.

Stephan Loescher (loescher@leo.org) hat in de.comp.os.linux.hardware ein kleines Skript gepostet, das unter Benutzung des o.g. Kommandos den SCSI-Bus nach neuen Geraeten absucht. Der Artikel traegt die Message-ID und ist bei Bedarf mit DejaNews zu finden (siehe oben).

Seit ich meinen Speicher aufgeruestet habe, ist Linux viel langsamer geworden. Unter DOS tritt der Effekt aber nicht auf. Woran liegt das ?

Dieser Effekt tritt auf, wenn mehr Speicher im Rechner vorhanden ist, als die Cache-Logik des Mainboards verwalten kann. Das fuehrt dazu, dass Speicher, der oberhalb einer gewissen Grenze (haeufig 64MB, bei vielen 486er-Boards aber auch schon 32MB) liegt, nicht mehr gecachet wird, so dass Zugriffe in diesem Bereich sehr langsam sind. Dies ist eine Hardwarebeschraenkung, die nichts mit Linux zu tun hat, aber unter Linux sichtbar wird, da Linux den Speicher vollstaendig nutzt und viele Daten im oberen Adressraum ablegt. Unter DOS werden standardmaessig nur die unteren 640kB verwendet, die natuerlich innerhalb des cachebaren Bereichs liegen, und bei der Verwendung von EMS/XMS wird der Speicher von unten nach oben belegt, so dass der Effekt erst sichtbar wird, wenn ein DOS-Programm wirklich mehr als die o.g. Obergrenze verwendet. Ein DOS-Programm, das mehr als 64MB Speicher anspricht, ist mir bisher allerdings noch nicht untergekommen.

Bei manchen Boards kann man im BIOS einen Wert fuer die "cacheable area" setzen. Dieser sollte natuerlich moeglichst hoch eingestellt werden. Die maximale Groesse der cacheable area ist von mehreren Faktoren abhaengig: von der Groesse des Cache, von der Breite des Tag-RAMs und vom Chipsatz. Von den Intel-Chipsaetzen fuer Pentiums (FX, HX, VX, TX) haben AFAIK alle bis auf den HX eine im Chipsatz liegende Beschraenkung auf 64MB cacheable area, auch wenn der Chipsatz insgesamt mehr Speicher verwalten kann, der jedoch dann nicht gecachet wird.

Bei einem HX-Board muss ausserdem fuer eine cacheable area ueber 64MB ein 11 Bit breites Tag-RAM verwendet werden. Manche HX-Boards werden standardmaessig mit einem 8Bit breiten Tag-RAM ausgeliefert und muessen mit einem 11 Bit breiten Tag nachgeruestet werden, um mehr als 64MB cachen zu koennen.

Wenn jemand Informationen ueber die Groesse der cacheable area bei Nicht-Intel-Chipsaetzen hat, moege er mir die bitte mitteilen, damit ich diese Informationen hier noch aufnehmen kann.