Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

de.comp.os.unix.linux.infos - FAQ (index)

0 views
Skip to first unread message

dcoul-FAQ Team

unread,
Feb 4, 2001, 2:34:49 PM2/4/01
to
Archive-name: /de/comp/linux/dcoul-faq/index
Posting-frequency: monthly
Last-modified: 2001-02-04 21:20:51
Version: CVS revision 1.33 (authors), 1.24 (links), 1.26 (preamble),
URL: http://www.dcoul.de/faq/


http://www.dcoul.de/faq/
_________________________________________________________________

de.comp.os.unix.linux - FAQ
_________________________________________________________________

Stand: 04.02.2001

Project Lead und technisches Design: Thomas Nesges (tho...@dcoul.de)

Maintainer a.D.: Karsten Merker (dcou...@cologne.de)

Nichts spezielles: Andreas Metzler (amet...@downhill.at.eu.org)

Nichts spezielles: Christopher Splinter
(chris-l...@splinter.inka.de)

Nichts spezielles: Nikolaus Rath (Niko...@rath.org)

Nichts spezielles: Sven Hartge (linu...@ds9.argh.org)
_________________________________________________________________

Index:

* Vorwort
* Änderungen seit der letzten Version
* 0 Warum Linux? oder: Ist Linux das Richtige für mich?
* 1 Fragen zu ISPs, Mail, News und Mailboxnetzen (Fido/ZConnect)
* 2 Allgemeine Linux-Fragen
* 3 Fragen zur Hardware
* F Allgemeine Fragen zur FAQ
* A Wissenswertes für Autoren
* U Usenet
* Lizenz der FAQ
_________________________________________________________________

Links:

* dcoul.de <http://www.dcoul.de/>
* Übersicht über alle Versionen der FAQ <http://www.dcoul.de/faq/>
* Alte FAQ auf yanip.de <http://dcoul-faq.yanip.de/>
_________________________________________________________________

Vorwort

Diese FAQ beinhaltet Antworten (oder Verweise auf die Antworten,
soweit sie hier den Rahmen sprengen wuerden) auf die in der
de.comp.os.unix.linux- Hierarchie und vorher in der
de.comp.os.linux-Hierarchie am häufigsten gestellten Fragen.

Alle Angaben erfolgen ohne Gewähr, da die Autoren nicht alles selbst
ausprobieren können; die hier gesammelten Informationen entstammen
häufig den Artikeln der vorgenannten Newshierarchie und die Benutzung
erfolgt auf eigene Gefahr. Die Autoren übernehmen keinerlei Haftung
für durch die Verwendung von Informationen aus dieser FAQ eventuell
auftretende Schäden, gleich welcher Art.

Mitteilungen über Fehler, Änderungs- oder Ergänzungswünsche bitte per
Mail an linu...@lists.netuse.de senden.

Vielen Dank an alle, die Änderungs- und Erweiterungsvorschläge
geschickt haben!

Die FAQ wird monatlich in den Newsgroups de.comp.os.unix.linux.misc
und de.comp.os.unix.linux.infos sowie in de.answers und news.answers
gepostet und ist unter dem URL http://www.dcoul.de/faq/ im Web zu
finden.
de.comp.os.unix.linux.* FAQ
Copyright (C) 2001 Karsten Merker (dcou...@cologne.de)

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Thomas Nesges (tho...@dcoul.de)
_________________________________________________________________

0. Warum Linux? oder: Ist Linux das Richtige für mich?

0.1 Warum Linux? oder: Ist Linux das richtige für mich?
_________________________________________________________________

1. Fragen zu ISPs, Mail, News und Mailboxnetzen (Fido/ZConnect)

1.1 Wie kann ich Mails und News offline lesen, also ohne dabei dauernd
eine Verbindung zum Internet haben zu müssen?

1.2 Gibt es für Linux ein Fido-Pointprogramm?

1.3 Gibt es für Linux ein ZConnect-Pointprogramm?

1.4 Kann ich CrossPoint unter Linux verwenden?

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

1.6 Wie kann ich mit Linux AOL benutzen?

1.7 Wie kann ich mit Linux über T-Online in Netz kommen?

1.8 Wie kann ich die dynamisch vergebene IP-Adresse meines Rechners
herausfinden?

1.9 Ich benötige einen ordentlichen telnet- oder ssh-Client für
Windows.
_________________________________________________________________

2. Allgemeine Linux-Fragen

2.1 Wo finde ich deutschsprachige Dokumentation zu Linux?

2.2 Welche Bücher gibt es zu Linux?

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

2.4 Linux erkennt nur einen Teil meines Speichers. Wie kann ich das
ändern?

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

2.6 Ich habe gehört, 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 ausführen?

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

2.8 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?

2.9 Warum funktionieren unter XFree bei 16Bit Farbtiefe (65535 Farben)
die höheren Auflösungen nicht mehr, obwohl sie unter Windows mit der
gleichen Hardware möglich sind?

2.10 Warum zeigt mein Rechner einen geringeren (höheren) BogoMips-Wert
an als ein Rechner mit einem anderen Prozessor, obwohl mein Rechner
tatsächlich schneller (langsamer) ist?

2.11 Welche Linux-Distribution ist die beste?

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

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

2.14 Unterstützt Linux FAT32 (das mit Win95b a.k.a. OSR2 eingeführte
neue Dateisystem)?

2.15 Welche Libc-Version ist neuer: 5.4.4 oder 5.4.38?

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

2.17 StarOffice 3.1 ist installiert, wird aber beim Aufruf nicht
gefunden oder meldet, es könne eine Bibliothek nicht öffnen.

2.18 Warum habe ich bei StarOffice 3.1 englische Menüs, obwohl ich die
German-Pakete installiert habe?

2.19 Warum kann ich mich nicht als root über telnet einloggen?

2.20 Warum kann ich meine CD nicht mehr aus meinem CD-Laufwerk nehmen?

2.21 Warum kann ich keine ZIP-Disk mounten, obwohl der Kernel das
Laufwerk beim Booten ordnungsgemäß erkannt hat? Ich erhalte beim
Mountversuch lediglich die Meldung mount: wrong fs type, bad option,
bad superblock on /dev/hdc, or too many mounted file systems.

2.22 Was bedeutet die Meldung /dev/hdaX has reached maximal mount
count; check forced beim Booten?

2.23 Nach einer Weile funktioniert meine Maus unter X nicht mehr
richtig, ich kann keine Fenster mehr verschieben und auch (manche)
Knöpfe nicht mehr betätigen. Woran liegt das?

2.24 Ich benutze für meinen Internetzugang ISDN mit SyncPPP (ipppd)
und Dial-On-Demand. Das funktioniert auch, aber nur einmal. Sobald die
Verbindung abgebaut wurde, wird sie nicht automatisch wieder
aufgebaut.

2.25 Ich habe einen Kernel mit Unterstützung für APM (advanced power
management), aber es funktioniert nicht bzw. nicht korrekt.

2.26 Wie kann ich ein ext2-Dateisystem defragmentieren?

2.27 In meiner Shell kann ich keine Umlaute eingeben und die Del/Entf-
Taste arbeitet nicht so, wie sie soll (das Zeichen unter dem Cursor
löschen). Wie kann ich das ändern?

2.28 Warum kann ich ein RPM-Paket, das ich gerade mit rpm -i
foo-1.0-1.i386.rpm installiert habe, nicht mit rpm -e
foo-1.0-1.i386.rpm wieder deinstallieren? RPM meldet nur: package
foo-1.0-1.i386.rpm is not installed.

2.29 Warum kann ich KDE nicht starten? Das Kommando startkde bringt
etliche Fehlermeldung der Art k*: cannot connect to X server.

2.30 Wie kann ich auf der Kommandozeile (d.h. ohne X-basierte
Programme verwenden zu müssen) ftp über einen Proxy benutzen?

2.31 Bei Anleitungen zur Netzwerkkonfiguration findet man häufig
Angaben wie 192.168.1.0/24. Was bedeutet das /24?

2.32 Warum kann ich in Netscape 4 weder Mail- noch Newsserver angeben?
Netscape meldet nur Mail host foo is unknown, News host foo is unknown
bzw. <Protokoll> proxy foo is unknown.

2.33 Warum werden Textdateien im Querformat (jeweils 2 Seiten auf
einem A4-Blatt) gedruckt und wie kann man das ändern?

2.34 Wie kann ich auf meine DOS-formatierten Disketten zugreifen?

2.35 Wie kann ich LILO wieder aus dem MBR entfernen?

2.36 Ich kann keinen Kernel mehr kompilieren: nach make zImage meldet
das System System is too big. Try using bzImage or modules.

2.37 Wie kann ich auf meinen Streamer zugreifen?

2.38 Warum habe ich seit dem Update auf Kernel 2.2.x alle
Route-Einträge doppelt?

2.39 Was bedeutet die Meldung mount fs type devpts not supported by
Kernel?

2.40 Ich möchte einen neuen Kernel compilieren, erhalte auf make
menuconfig aber nur die Meldung make: *** No rule to make target
`menuconfig'. Stop.

2.41 Was hat es mit den 2.3.x-Kerneln auf sich? Sollte man von 2.2.x
updaten?

2.42 In /var/log/messages erscheint regelmäßig der Eintrag -- MARK --.
Was hat das zu bedeuten?

2.43 Wie ist das mit den Locales?

2.44 Wie [lösche/verschiebe/bearbeite] ich Dateien, die mit -
beginnen?

2.45 Wie kann ich unter Linux Divx-, wmf-, oder asf-Videos wiedergeben

2.46 Ich benötige die Datei foo.bar, welches Paket muss ich
installieren?

2.47 Wieso bekomme ich die Fehlermeldung "Can't find X includes.
Please check your installation and add the correct paths", wenn ich
ein Programm compilieren will, das X benutzt?

2.48 Ich habe auf Kernel 2.4.x geupgradet und es werden keine Module
mehr geladen.

2.49 Wie kann ich unter Linux mit Dateien größer 2 GB arbeiten?

2.50 Inzwischen ist Kernel 2.4 freigegeben worden, was muss ich beim
Upgrade von 2.2 beachten?

2.51 Wie kann ich mit einem Kommandozeilenprogramm Mails mit
MIME-Attachment verschicken?

2.52 Ich habe RedHat 7.0 und kann keinen Kernel fehlerfrei
kompilieren. Ich kann manche Programme unter RedHat 7.0 nicht
kompilieren. Unter RedHat 7.0 kompilierte Programme laufen nicht auf
anderen Distributionen.

2.53 Ich habe einen neuen Kernel kompiliert, dieser bootet aber nicht,
sondern gibt die Fehlermeldung Kmod: failed to exec /sbin/modprobe -s
-k binfmt-464c, errno = 8 aus.
_________________________________________________________________

3. Fragen zur Hardware

3.1 Wird der Adaptec AHA 2940 U2W (AIC 7890) von Linux unterstützt?

3.2 Funktioniert Linux auf meinem Laptop?

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

3.4 Warum funktioniert mein internes Modem nicht unter Linux?

3.5 Funktioniert das Parallelport-ZIP unter Linux?

3.6 Funktionieren Parallelport-Streamer unter Linux?

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

3.8 Funktioniert die Hauppage Win/TV PCI unter Linux?

3.9 Warum funktionieren unter Linux zwar MO-Medien mit einer Kapazität
von 230MB, nicht aber solche mit 640MB?

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

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

3.12 Welche CD-Brenner funktionieren unter Linux?

3.13 Welchen Treiber muss ich bei der Kernelkonfiguration für eine
NE2000-kompatible PCI-Ethernetkarte wählen?

3.14 Ich möchte einen Rechner ohne Tastatur und Monitor unter Linux
(z.B. als Kommunikationsserver) betreiben. Wie geht das?

3.15 Ich habe ein ATAPI-CDROM an den CDROM-Anschluss meiner Soundkarte
angeschlossen, Linux erkennt es jedoch nicht.

3.16 Wie kann ich meine Festplatten nach einer gewissen Zeit der
Inaktivität automatisch abschalten lassen (sog. Spindown)?

3.17 Kann man mehrere Monitore gleichzeitig unter Linux betreiben?

3.18 Ich möchte den bei meinem Scanner mitgelieferten SCSI-Hostadapter
AVA 1505 oder 1502 unter Linux benutzen, finde jedoch keinen Treiber.

3.19 Welche Scanner funktionieren unter Linux?

3.20 Wie kann man das Rad der Scroll-Mäuse unter Linux nutzen?

3.21 Warum funktioniert meine ISDN-Karte nach dem Update auf Kernel
2.0.36 nicht mehr so wie vorher?

3.22 Warum ist nach dem Update auf Kernel 2.2 mein Drucker nicht mehr
ansprechbar?

3.23 Unterstützt Linux USB-Geräte?

3.24 Wie kann ich Disketten vom Amiga oder vom Mac auf einem PC unter
Linux lesen?

3.25 Wie kann ich meine von XFree86 nicht unterstützte Grafikkarte
trotzdem im Grafikmodus benutzen?

3.26 Wie kann ich die FritzX PC oder die Eumex 404 (ISDN-Anlagen)
unter Linux benutzen?

3.27 Ich versuche auf einem Computer mit AMD Athlon oder Duron
Prozessor Linux zu installieren. Er hängt sich jedoch gleich nach dem
Laden des Kernels auf.
_________________________________________________________________

F. Allgemeine Fragen zur FAQ

F.1 Was heißt "dcoul"?

F.2 Wo finde ich diese FAQ?

F.3 Wer arbeitet an der FAQ mit?

F.4 Wie ist die Arbeit an der FAQ organisiert?

F.5 Kann ich helfen an der FAQ zu arbeiten?

F.6 Wer bekommt einen CVS Account mit Schreibrecht?

F.7 Wie soll ich auf die FAQ referenzieren?
_________________________________________________________________

A. Wissenswertes für Autoren

A.1 Kommandos der Mailingliste

A.2 Wie ist die XML Struktur der Sektionen zu verstehen?

A.3 Wie sieht die Struktur der übrigen XML-Files aus?

A.4 Mit welchen Tags kann ich die Antworttexte formatieren?

A.5 Wofür werden die DF_...xml Dateien gebraucht?

A.6 Wie funktioniert XML?

A.7 Wie funktioniert XSL?

A.8 Wie funktioniert CVS?

A.9 Wie logge ich mich am CVS Server ein?

A.10 Gibt es eine kurze Übersicht, wie ich am geschicktesten mit CVS
arbeite?

A.11 Wie gehe ich mit Einreichungen von Usern um?

A.12 Wie kann ich die Archive der Mailingliste einsehen?

A.13 Gibt es ein Webinterface zum CVS Repository?

A.14 Wo werden neue Fragen in der FAQ eingefügt?

A.15 Ich habe Änderungen vorgenommen und ein diff erstellt. Wer spielt
das ein?

A.16 Wie sollen neue Einträge in der Datei changes.xml vorgenommen
werden?

A.17 Welche Tools brauche ich, um an der FAQ zu arbeiten?

A.18 Wie installiere ich Xalan?

A.19 Wie kann ich FOP nutzen?

A.20 Ich möchte eine Dokumentation schreiben, an wen kann ich mich
wenden?
_________________________________________________________________

U. Usenet

U.1 Was hat es mit der Netiquette auf sich?

U.2 Was hat es mit den ganzen Abkürzungen auf sich?

U.3 Wie soll ich meine Vorgänger zitieren?

U.4 Werden die Artikel irgendwo archiviert? Wo?

U.5 Wo finde ich weitere Informationen zum Usenet?
_________________________________________________________________

04.02.2001 dcoul-faq

dcoul-FAQ Team

unread,
Feb 4, 2001, 2:35:02 PM2/4/01
to
Archive-name: /de/comp/linux/dcoul-faq/section2
Posting-frequency: monthly
Last-modified: 2001-02-04 21:21:42
Version: CVS revision 1.57
URL: http://www.dcoul.de/faq/


http://www.dcoul.de/faq/
_________________________________________________________________

2. Allgemeine Linux-Fragen

2.1 Wo finde ich deutschsprachige Dokumentation zu Linux?

Im Deutschen Linux HOWTO Projekt (DLHP). Die Texte sind unter
http://www.tu-harburg.de/dlhp/ bzw.
http://www.tu-harburg.de/dlhp/FTP/
zu beziehen. Weiterhin werden regelmäßig deutschsprachige Infotexte in
de.comp.os.unix.linux.infos gepostet, die man unbedingt gelesen haben
sollte, bevor man Fragen in der de.comp.os.unix.linux-Hierarchie
stellt.

2.2 Welche Bücher gibt es zu Linux?

In de.comp.os.unix.linux.infos wird wöchentlich eine Bücherliste
gepostet, im Web ist sie unter http://ifix.cx/buecher.txt zu finden.

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

Linux versucht, den vorhandenen Speicher möglichst effizient zu
nutzen. Daher wird der von Programmen zur Zeit nicht benötigte
Speicher als Plattencache benutzt. Sobald ein Programm mehr Speicher
anfordert, wird der Plattencache automatisch verkleinert und der
freigewordene Speicher dem Programm zur Verfügung gestellt. Es ist
also vollkommen normal, dass der Speicher immer sehr voll zu sein
scheint.

2.4 Linux erkennt nur einen Teil meines Speichers. Wie kann ich das
ändern?

Du teilst einfach dem Kernel explizit mit, wieviel Speicher du hast,
indem du einen Kernelparameter übergibst, bei 96 MB z.B. mem=96M. Wie
Kernelparameter übergeben werden, ist im BootPrompt-HOWTO beschrieben.
Aber Windows erkennt doch problemlos den ganzen Speicher?
Zum Abfragen der Speichergröße gibt es verschiedene BIOS-Funktionen,
int15/88, die älteste, kann nur Speichergrößen bis 64 MB übermitteln.
Linux benutzt sie, wenn keine der "besseren" Funktionen implementiert
ist. int15/e801 wird seit Kernel 2.0.36 (anno 1998) unterstützt und
kann auch Speichergrößen über 64 MB zuverlässig zurückliefern,
aktuelle BIOS (seit ca. 1999) bieten diese Funktion aber nicht mehr
an. Kernel 2.4 verwendet daher wie Windows int15/e820, womit das
Problem hoffentlich beseitigt ist. (Mittels fancy-memory-patch
<http://www.pell.portland.or.us/~orc/Memory/> kann man auch älteren
Kerneln die neue BIOS-Funktion beibringen.)
int15/e801 und besonders int15/e820 melden nicht nur schlicht das
obere Ende des Hauptspeichers zurück, sondern können z.B. auch über
"Löcher" im Speicher (Memory Holes) und andere Dinge mehr informieren.
Eine Beispielausgabe von Kernel 2.4.x:
BIOS-provided physical RAM map:
BIOS-e820: 000000000009fc00 @ 0000000000000000 (usable)
BIOS-e820: 0000000000000400 @ 000000000009fc00 (usable)
BIOS-e820: 0000000000010000 @ 00000000000f0000 (reserved)
BIOS-e820: 0000000000010000 @ 00000000ffff0000 (reserved)
BIOS-e820: 0000000003f00000 @ 0000000000100000 (usable)

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

Das Kommando cat /proc/cpuinfo liefert bei allen normalen (d.h. nicht
MMX) Pentiums ab 75 MHz die folgende Ausgabe:
model : Pentium 75+
Das Pluszeichen hinter der 75 steht für oder höher. Anhand der CPU-ID
kann man nur die alten 60/66 MHz-Typen von den moderneren 75-200
MHz-Versionen unterscheiden.
Bei MMX-Pentiums sieht Ausgabe so aus:
model name : Pentium MMX
Der Takt, für den ein konkreter Chip spezifiziert ist, lässt sich über
das CPUID-Kommando leider nicht feststellen, so dass damit nur die
Chip-Familie angegeben werden kann. Ab Kernel 2.2 gibt es in
/proc/cpuinfo einen alternativen Eintrag: cpu MHz. Der dort angezeigte
Wert wird mit Hilfe eines CPU-internen Timers ermittelt und gibt die
tatsächliche Taktfrequenz (näherungsweise) an. Der dazu verwendete
Timer ist jedoch nicht in allen CPU-Typen vorhanden, so dass diese
Funktion nicht bei allen Prozessoren zur Verfügung steht.

2.6 Ich habe gehört, 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 ausführen?

Grundsätzlich nein. Die verschiedenen Plattformen verwenden
unterschiedliche Prozessoren und sind daher nicht binärkompatibel. Für
die Alphas gibt es eine Intel-Emulation, mit der auch Linux-Programme
für Intel-Prozessoren dort ausgeführt werden können, 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
binärkompatibel, d.h. ein auf einem Amiga unter Linux/68k kompiliertes
Programm läuft auch z.B. auf einem Atari TT unter Linux/68k und
umgekehrt.

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

Das weist häufig auf fehlerhafte Hardware hin (z.B. defekte oder zu
langsame Speicherchips). Zu Signal 11 gibt es eine ausführliche FAQ
unter http://www.bitwizard.nl/sig11/.
Enthält der Rechner einen AMD K6 älterer 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 ausgelöst (der K6 hält die Sequenz fälschlicherweise für
selbstmodifizierenden Code und behandelt sie falsch). Ab der
Prozessorrevision B9732 (auf dem Prozessor aufgedruckt) ist der Fehler
behoben. AMD hat für die Prozessoren mit dem Fehler einen Umtausch
angeboten.

2.8 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 möchten,
als zur Verfügung stehen. Wird der X-Server mit 8 Bit Farbtiefe
betrieben (die Normaleinstellung), stehen maximal 2 hoch 8 = 256
Farben gleichzeitig zur Verfügung. Wenn bereits alle verfügbaren 256
Farbtöpfe vergeben sind, kann ein Programm keine weiteren Farben mehr
für sich reservieren. Um dieses Problem zu umgehen, kann ein Programm
eine private Colormap anfordern. Dann erhält das Programm eine eigene
Farbpalette von 256 Farben nur für sich. Da aber tatsächlich nur 256
Farben gleichzeitig dargestellt werden können, 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 übrigen Programme in
Falschfarbendarstellung erscheinen.
Netscape reserviert sehr viele Farben für sich, so dass das Problem
häufig nach dem Start von Netscape auftritt.
Lösen lässt sich das Problem durch Betrieb des X-Servers in einer
höheren Farbtiefe (16 Bit/65536 Farben oder 24Bit/16,7 Millionen
Farben). Wer X auf der Kommandozeile startet, kann einen
entsprechenden Parameter übergeben:
* startx -- -bpp 16 (für 65536 Farben) oder
* startx -- -bpp 24 (für 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
<Farbtiefe> in der XF86Config der X-Server standardmäßig in
entsprechender Farbtiefe (16/24/32 Bit) gestartet werden, so dass die
Kommandozeilenoption bei startx nicht mehr nötig ist.
Leider werden nicht alle von XFree grundsätzlich unterstützten Karten
auch in Farbtiefen über 8 Bit unterstützt. Im Zweifel helfen die
Manpages zu XFree oder Ausprobieren weiter. Wenn der X-Server eine
bestimmte Farbtiefe nicht unterstützt, gibt er beim Start eine
entsprechende Fehlermeldung aus.
Falls die eigene Karte nicht in mehr als 8 Bit Farbtiefe unterstützt
wird, lässt sich das Problem bei Netscape durch die Option -no-install
umgehen. Mit diesem Parameter legt Netscape keine eigene Farbpalette
an, sondern versucht, mit den vorhandenen Farben auszukommen,
allerdings kann es dabei natürlich passieren, dass einzelne von einer
Webseite geforderte Farben dann nicht verfügbar sind.

2.9 Warum funktionieren unter XFree bei 16Bit Farbtiefe (65535 Farben)
die höheren Auflösungen nicht mehr, obwohl sie unter Windows mit der
gleichen Hardware möglich 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 für das
Auslesen der Pixeldaten und deren Umwandlung in ein Bildsignal
zuständig ist) betrieben werden darf, bei höheren Farbtiefen als 8 Bit
begrenzt ist. So dürfen beispielsweise die S3 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 für den Modus 1024x768 in der
XF86Config eine Pixelclock von mehr als 80 MHz eingetragen, was bei 16
Bit Farbtiefe das Limit überschreitet, weshalb XFree den Modus nicht
zulässt.
Häufig 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 frühzeitigen Defekt der Grafikkarte führen, da der Chip bei
zu hohem Takt überhitzt werden kann (die in Wärme 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 Abhängigkeit von der Farbtiefe zumuten
will, in der XF86Config einstellen kann. Die Benutzung erfolgt auf
eigene Gefahr. Wer die vorgesehenen Limits überschreiten will, sollte
genau wissen, was er tut!
Im o.g. Beispiel (S3 Trio 64) lässt 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 möglich.

2.10 Warum zeigt mein Rechner einen geringeren (höheren) BogoMips-Wert
an als ein Rechner mit einem anderen Prozessor, obwohl mein Rechner
tatsächlich schneller (langsamer) ist?

Der BogoMips-Wert ist kein Maß für die Geschwindigkeit des Rechners,
daher auch die Bezeichnung _Bogo_, das kommt vom engl. Wort bogus, was
unsinnig, falsch oder irreführend bedeutet. Der Wert ist vom
verwendeten Prozessortyp abhängig und zwischen verschiedenen
Prozessortypen nicht vergleichbar (beispielsweise liefert ein
486DX4-100 einen höheren BogoMips-Wert als ein Pentium 100, obwohl der
Pentium deutlich schneller ist, noch extremer ist der Vergleich
zwischen einem AMD-K5 und einem Pentium). Näheres dazu ist im
BogoMips-Mini-HOWTO zu finden.

2.11 Welche Linux-Distribution ist die beste?

Es gibt keine beste Linuxdistribution, das ist eine Frage der
persönlichen Vorlieben. Die verschiedenen Distributionen haben
unterschiedliche Schwerpunkte, jeder muss für sich entscheiden, was
ihm besser gefällt. Häufig ist es sinnvoll, sich zumindest etwas an
dem zu orientieren, was Bekannte benutzen, da man so einfacher
Ansprechpartner bei Problemen findet, ohne dabei die Besonderheiten
verschiedener Distributionen beachten zu müssen, welche in manchen
Fällen für Einsteiger etwas verwirrend sein können. Die in Deutschland
am weitesten verbreiteten Distributionen dürften nach den News zu
urteilen Debian, RedHat und Suse sein (Aufzählung in alphabetischer
Reihenfolge).
Im folgenden werden die Distributionen etwas genauer beschrieben.
Sollte eine Distribution dabei besser aussehen, ist das nicht
beabsichtigt.
* Debian <http://www.de.debian.org/>. Diese Distribution ist dafür
bekannt, dass sie komplett von Freiwilligen entwickelt wird und
keinerlei kommerzielle Interessen verfolgt. Im Gegensatz zu den
von Unternehmen herausgebrachten Distributionen muss man sich
deshalb bei Debian Support von Drittfirmen kaufen. Früher galt
Debian als wenig Einsteigerfreundlich, das darf man aber
inzwischen als Vergangenheit bezeichnen. Die Debian Distribution
wird im Vergleich eher selten aktualisiert, dafür sind die
Versionen aber durch lange Tests als sehr ausgereift und sicher
bekannt. Wichtig: Debian Benutzer sollten darauf achten, *immer*
die stable (oder zumindest frozen) Version zu verwenden. testing
und unstable können (und das kommt auch durchaus vor) jederzeit
gravierende Fehler aufweisen, die Datenverluste o.ä. nach sich
ziehen.
Debian benutzt ein eigenes Paketformat .deb
* SuSE <http://www.suse.de/>. Bekannt geworden als erste "echte"
deutsche Linuxdistribution wird SuSE oft fuer Einsteiger
empfohlen. Diese Empfehlung kann man auch Aufgrund eines
umfangreichen Handbuchs durchaus beibehalten; allerdings sind
andere Distributionen inzwischen ebenso weit. Kauft man eine
"echte" SuSE (und keine Evaluationsversion aus einer Zeitschrift
o.ae.) bekommt man 60 Tage kostenlosen Support dazu.
SuSE verwendet das RPM Paketformat und bringt quartalsweise neue
Versionen heraus. Als einzige Distribution kann man SuSE auch auf
DVD bekommen.
* RedHat <http://www.redhat.de> TODO



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

Ein häufig unter Linux (und natürlich 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. überprüfen 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 ausgeführt wird, sondern
das System-test. Dieses erzeugt keine Ausgabe, sondern setzt, je nach
dem Ergebnis des als Parameter übergebenen logischen Ausdrucks,
lediglich einen Fehlercode, den man in der Shell abfragen kann. Es
sieht also so aus, als ob das Programm nichts tut.
Bei manchen Shells ist test auch ein in die Shell integrierter Befehl,
so dass bei der Eingabe von test überhaupt kein externes Programm
ausgeführt wird. Dies lässt sich umgehen, indem das aufzurufende
Programm mit vollem Pfad (/foo/test) bzw. in dem entsprechenden
Verzeichnis mit ./test aufgerufen wird (vgl. auch den Punkt 2.15 der
FAQ).

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

Wenn das Programm im aktuellen Verzeichnis steht, ist es
wahrscheinlich so, dass der Suchpfad für den normalen Benutzer das
Verzeichnis ".", d.h. das jeweils aktuelle Verzeichnis, enthält, der
Suchpfad für root aus Sicherheitsgründen aber nicht. Unter Linux/Unix
ist es standardmäßig so, dass das aktuelle Verzeichnis NICHT im
Suchpfad steht, da man andernfalls sehr einfach ein trojanisches Pferd
mit einem gebräuchlichen Namen irgendwo ablegen könnte und nur darauf
warten müsste, 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 wäre und versehentlich sl
statt ls tippt, kann das trojanische Pferd alles tun, was es möchte,
da es Root-Rechte hat, so z.B. irgendwo eine SUID-root-Shell anlegen
o.ä.
Möchte man das Programm trotzdem starten, kann man es explizit mit
voller Pfadangabe aufrufen (/foo/bar/Programm) oder in Kurzform mit
./Programm, da der Punkt für das aktuelle Verzeichnis steht.

2.14 Unterstützt Linux FAT32 (das mit Win95b a.k.a. OSR2 eingeführte
neue Dateisystem)?

Ja, ab Kernel 2.0.35. Für ältere Kernelversionen gibt es entsprechende
Patches, jedoch ist es ratsam, statt der Verwendung des Patches auf
Kernel 2.0.35 oder neuer upzudaten.

2.15 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 achtunddreißig zu verstehen, nicht als drei acht.

2.16 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 Länge 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 groß, wie
der vorhandenen Hauptspeicher (plus 4 kB).
Das Proc-Dateisystem hat den Zweck, den Zugriff auf
Systeminformationen mit normalen Dateioperationen zu ermöglichen, so
dass man sie z.B. leicht in Skripten verwenden kann.

2.17 StarOffice 3.1 ist installiert, wird aber beim Aufruf nicht
gefunden oder meldet, es könne eine Bibliothek nicht öffnen.

Das StarOffice-Setup muss für jeden Benutzer einmal ausgeführt 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 muss
.sd.sh vor dem Start von StarOffice aufgerufen werden und zwar durch .
~/.sd.sh, bei der tcsh entsprechend .sd.csh mittels source ~/.sd.csh.

2.18 Warum habe ich bei StarOffice 3.1 englische Menüs, obwohl ich die
German-Pakete installiert habe?

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

2.19 Warum kann ich mich nicht als root über telnet einloggen?

Das ist ein Sicherheitsfeature. So wird verhindert, dass man direkt
mit einem Brute-Force-Attack versuchen kann, das Root-Passwort heraus-
zubekommen. Man muss sich als normaler User einloggen und dann mit su
-l Root-Rechte erlangen, wobei das Root-Passwort abgefragt wird. Ein
Eindringling muss somit mindestens zwei Passworte knacken, um root zu
werden. Sinnvollerweise ist das Root-Passwort dabei natürlich ein
anderes als das User-Passwort.
Immer daran denken: wer selbst (z.B. über PPP) ins Netz kommt,
ermöglicht damit auch Anderen, an den eigenen Rechner zu kommen.
Telnet hat dabei ein grundsätzliches Sicherheitsproblem: es überträgt
auch die Kennworte im Klartext und ermöglicht es dadurch einem
Angreifer, vergleichsweise einfach an Kennworte zu kommen. Es ist
daher durchaus lohnenswert, sich Gedanken über die Verwendung eines
verschlüsselnden Verfahrens zu machen, z.B. SSH o.ä., wobei telnet
dann vollständig deaktiviert werden kann. Mit OpenSSH
<http://www.openssh.com/> liegt inzwischen eine komplette freie
Implementierung des SSH-Protokolls vor. Sie wird inzwischen bei den
meisten Linuxdistributionen (bei Debian im Paket "ssh") mitgeliefert.

2.20 Warum kann ich meine CD nicht mehr aus meinem CD-Laufwerk nehmen?

Wenn eine CD mit dem Kommando mount in den Verzeichnisbaum eingebunden
ist (manche Distributionen machen das beim Booten automatisch, falls
eine CD eingelegt ist), ist der Auswurfknopf des Laufwerks gesperrt,
damit die CD nicht versehentlich entnommen werden kann. Dies hat
mehrere Gründe: Bei einem beschreibbaren Wechselmedium (MO, PD, ZIP
etc.) darf dieses erst entnommen werden, wenn alle Puffer auf das
Medium zurückgeschrieben wurden (Linux arbeitet mit Write-Cache, d.h.
Daten werden nicht immer sofort auf das Medium geschrieben, sondern
zunächst nur im Hauptspeicher gesammelt und erst bei Bedarf auf das
Medium geschrieben). Erst nach dem Unmounten des Mediums (mit umount)
kann man sicher sein, dass die Daten auch wirklich geschrieben wurden,
so dass das System die vorherige Entnahme des Mediums verhindert.
Außerdem wird so verhindert, dass einem anderen Prozess bzw. dessen
Benutzer, der noch Dateien auf dem Medium geöffnet hat, dieses
entzogen wird, was zu Programmfehlern und ggf. Datenverlust führen
würde. Wenn ein umount-Befehl ausgeführt wurde, kann man sicher sein,
dass keine Dateien auf dem Medium mehr geöffnet waren.
Der Befehl zum Unmounten lautet umount <Verzeichnis>, wobei
<Verzeichnis> dasjenige ist, in das die CD eingeklinkt wurde, in der
Regel /cdrom.
Einige ältere CDROM-Laufwerke unterstützen die Verriegelung des
Auswurfknopfes nicht, dennoch sollte auch hier immer erst ein
umount-Kommando ausgeführt werden, bevor das Medium entnommen wird.

2.21 Warum kann ich keine ZIP-Disk mounten, obwohl der Kernel das
Laufwerk beim Booten ordnungsgemäß erkannt hat? Ich erhalte beim
Mountversuch lediglich die Meldung mount: wrong fs type, bad option,
bad superblock on /dev/hdc, or too many mounted file systems.

ZIP-Medien sind standardmäßig partitioniert wie eine Festplatte, d.h.
man muss beim Mounten die Partition und nicht nur das Gerät angeben.
Gegeben sei ein ATAPI-ZIP als Master am sekundären Controller, also
wäre das ZIP-Laufwerk über /dev/hdc anzusprechen. Bei Medien von
Iomega ist die Partition an vierter Stelle in der Partitionstabelle
angelegt, d.h. der Mount-Befehl müsste mount /dev/hdc4 /mnt lauten.
Bei Fremdherstellermedien kann die Partitionsnummer eine andere sein.

2.22 Was bedeutet die Meldung /dev/hdaX has reached maximal mount
count; check forced beim Booten?

Beim Booten wird normalerweise das Programm fsck (FileSystemChecK)
aufgerufen, welches überprüft, ob die interne Struktur des
Dateisystems noch konsistent ist. Wenn Linux korrekt beendet wird und
die Platten sauber unmounted sind, wird auf der jeweiligen Partition
eine Markierung gesetzt, die alles ok besagt (Clean-Flag). Wenn diese
Markierung vorhanden ist, nimmt fsck beim nächsten Aufruf keine
detaillierte Überprüfung der Partition vor. Da sich eventuell aber
doch irgendwann ein Fehler eingeschlichen haben könnte, wird nach
einer gewissen Anzahl von Mountvorgängen (maximal mount count)
trotzdem eine Prüfung durchgeführt, auch wenn die Markierung alles ok
signalisiert (daher die Meldung check *forced*). Die Überprüfung kann
bei großen Partitionen mit vielen Dateien durchaus einige Minuten
dauern. Die Anzahl der Mountvorgänge, nach denen zwangsweise ein
fsck-Lauf stattfindet, lässt sich mit Hilfe des Programms tune2fs
einstellen.

2.23 Nach einer Weile funktioniert meine Maus unter X nicht mehr
richtig, ich kann keine Fenster mehr verschieben und auch (manche)
Knöpfe nicht mehr betätigen. Woran liegt das?

Wahrscheinlich ist NumLock (Taste oben links am 10er-Tastenblock auf
der Tastatur) aktiviert. Unter X11 ist die NumLock-Taste (genau wie
Shift, Ctrl, Alt etc.) ein sogenannter Modifier-Key, d.h. eine Taste,
die einer anderen Taste eine andere Bedeutung verleiht. Eine Maustaste
ist auch eine Taste in diesem Sinne, so dass NumLock+Maustaste etwas
Anderes ist als Maustaste. Wenn ein Programm so geschrieben bzw.
konfiguriert ist, dass es bei Mausereignissen (z.B. Maustaste
gedrückt) die Modifier-Keys nicht ignoriert, tritt das oben
beschriebene Verhalten auf.
Beim Windowmanager FVWM2 kann man z.B. für die windowmanager-eigenen
Funktionen angeben, auf welche Modifier reagiert werden soll. Nähere
Informationen dazu bietet die Manpage unter dem Schlüsselwort Key.

Es ist auch möglich, das Problem zu umgehen indem man X so
konfiguriert, dass der 10er-Block auch ohne aktivierten NumLock Zahlen
produziert. Dazu muss man folgende Zeilen in ~/.xmodmap bzw.
/etc/X11/Xmodmap einfügen:
! Nummerntastatur
keycode 90 = KP_0
keycode 91 = KP_Decimal
keycode 87 = KP_1
keycode 88 = KP_2
keycode 89 = KP_3
keycode 83 = KP_4
keycode 84 = KP_5
keycode 85 = KP_6
keycode 79 = KP_7
keycode 80 = KP_8
keycode 81 = KP_9
keycode 112 = KP_Divide
keycode 63 = KP_Multiply
keycode 82 = KP_Subtract
keycode 86 = KP_Add
-- AM

2.24 Ich benutze für meinen Internetzugang ISDN mit SyncPPP (ipppd)
und Dial-On-Demand. Das funktioniert auch, aber nur einmal. Sobald die
Verbindung abgebaut wurde, wird sie nicht automatisch wieder
aufgebaut.

Beim Abbau der Verbindung wird vom ipppd die Defaultroute auf das
ISDN-Interface gelöscht, so dass weitere IP-Pakete keinen neuen
Verbindungsaufbau triggern können, da sie mangels Route nicht auf das
ISDN-Interface geleitet werden. Abhilfe: in /etc/ppp/ip-down die
Defaultroute wieder auf das ISDN-Interface setzen. /etc/ppp/ip-down
wird vom ipppd nach dem Abbau der Verbindung automatisch ausgeführt.

2.25 Ich habe einen Kernel mit Unterstützung für APM (advanced power
management), aber es funktioniert nicht bzw. nicht korrekt.

Die APM-Funktionen arbeiten in der Regel nur, wenn im BIOS des
Rechners ebenfalls APM aktiviert wurde. Weitere Informationen zu APM
im Allgemeinen und auf Laptops im Besonderen finden sich im
Battery-Powered Mini-HOWTO, welches in den meisten Distributionen
irgendwo unterhalb des Verzeichnisses /usr/doc liegt, sowie auf der
Linux-Laptop-Page (vgl. Punkt 3.7 der FAQ).

2.26 Wie kann ich ein ext2-Dateisystem defragmentieren?

Es gibt dazu ein Programm im Alphastadium auf sunsite.unc.edu,
allerdings wird von der Benutzung regelmäßig abgeraten, sowohl wegen
der damit verbundenen Gefahren als auch aus grundsätzlichen
Erwägungen, welche ein Text von Kristian Koehntopp erklärt, zu finden
in der S.u.s.e-Support-Datenbank unter
http://sdb.suse.de/sdb/de/html/ext2frag.html.

2.27 In meiner Shell kann ich keine Umlaute eingeben und die Del/Entf-
Taste arbeitet nicht so, wie sie soll (das Zeichen unter dem Cursor
löschen). Wie kann ich das ändern?

Das lässt sich (zumindest für die Standard-Shell unter Linux, die
bash) ändern, in dem man in die Datei .inputrc im Homeverzeichnis die
folgenden Zeilen einträgt:
set meta-flag on
set convert-meta off
set output-meta on
\e[3~: delete-char

2.28 Warum kann ich ein RPM-Paket, das ich gerade mit rpm -i
foo-1.0-1.i386.rpm installiert habe, nicht mit rpm -e
foo-1.0-1.i386.rpm wieder deinstallieren? RPM meldet nur: package
foo-1.0-1.i386.rpm is not installed.

RPM unterscheidet zwischen dem Namen der Datei und dem Namen des
Paketes. Dies ermöglicht es z.B., ein RPM-Paket auch mit verkürztem
Namen auf einer DOS-Diskette abzuspeichern und es trotzdem mit dem
korrekten Namen zu installieren. Der Name des Paketes ist in der Datei
abgelegt und kann mit rpm -qp foo-1.0-1.i386.rpm abgefragt werden. Im
vorgenannten Beispiel soll das Paket foo-1.0-1 heißen, so dass die
Deinstallation einfach mittels rpm -e foo-1.0-1 oder auch mit der
Kurzform rpm -e foo (Weglassen der Versionsnummern) erfolgen kann.

2.29 Warum kann ich KDE nicht starten? Das Kommando startkde bringt
etliche Fehlermeldung der Art k*: cannot connect to X server.

KDE ist ein Desktop-Environment, d.h. es setzt auf einem laufenden
X-Server auf. Das Script startkde startet nicht den X-Server, sondern
lediglich die KDE-eigenen Programme.
Am einfachsten ist es, startkde in die Datei .xinitrc bzw. .xsession
im Homeverzeichnis einzutragen. Bei Distributionen, die beim Start von
X die Variable WINDOWMANAGER auswerten (z.B. Suse), genügt es, diese
auf startkde zu setzen, da diese Variable in .xinitrc bzw. .xsession
ausgewertet wird.

2.30 Wie kann ich auf der Kommandozeile (d.h. ohne X-basierte
Programme verwenden zu müssen) ftp über einen Proxy benutzen?

In diesem Fall bietet sich Lynx an. Lynx ist ein Webbrowser für die
Textkonsole, der auch ftp über ftp-fähige http-Proxies beherrscht. Um
Lynx den passenden Proxy bekanntzumachen, muss man lediglich die
beiden Shell-Variablen http_proxy und ftp_proxy auf die URL des
jeweiligen Proxies setzen, z.B. so:
bash> export http_proxy=http://mein.http.proxy.de:8080/
bash> export ftp_proxy=http://mein.http.proxy.de:8080/
Alternativ kann man die Proxies für lynx auch in /etc/lynx.cfg setzen.
Eine andere Möglichkeit ist die Verwendung des Programms wget, das
entgegen seinem Namen nicht nur mit Web- sondern auch mit ftp-Servern
und entsprechenden Proxies umgehen kann.

2.31 Bei Anleitungen zur Netzwerkkonfiguration findet man häufig
Angaben wie 192.168.1.0/24. Was bedeutet das /24?

Es handelt sich hier um eine Kurzschreibweise der Netzmaske. Die Zahl
steht für die Anzahl der 1-Bits, die in der Netzmaske den Netzwerkteil
der davorstehenden Adresse angeben. In diesem Beispiel sind es 24
1-Bits, die Netzmaske ist also in binärer Schreibweise
11111111.11111111.11111111.00000000 bzw. dezimal 255.255.255.0.

2.32 Warum kann ich in Netscape 4 weder Mail- noch Newsserver angeben?
Netscape meldet nur Mail host foo is unknown, News host foo is unknown
bzw. <Protokoll> proxy foo is unknown.

Netscape 4 versucht offenbar, die eingegebenen Hostnamen sofort
aufzulösen, um die IP-Adresse zu ermitteln, was im Offline-Betrieb
ohne Zugriff auf einen Nameserver in der Regel nicht möglich ist und
zu der vorgenannten Fehlermeldung führt. Die entsprechenden
Einstellungen müssen also entweder im Online-Betrieb vorgenommen
werden, oder die entsprechenden Hostnamen müssen zusammen mit ihren
IP-Adressen in /etc/hosts eingetragen werden, so dass auch im
Offline-Betrieb eine Namensauflösung möglich ist. Alternativ kann man
in den Netscape-Preferences auch direkt die IP-Adresse des jeweiligen
Mail- bzw. Newsservers angeben.

2.33 Warum werden Textdateien im Querformat (jeweils 2 Seiten auf
einem A4-Blatt) gedruckt und wie kann man das ändern?

Das ist abhängig von der Konfiguration des Druckerfilters. Bei
Systemen, die Apsfilter verwenden (z.B. SuSE), kann man das in der
Datei /etc/apsfilterrc konfigurieren. Dort gibt es einen Eintrag
FEATURE, bei dem die verschiedenen Möglichkeiten in den
Kommentarzeilen beschrieben sind.

2.34 Wie kann ich auf meine DOS-formatierten Disketten zugreifen?

Eine Diskette ist für Linux prinzipiell nichts anderes als jeder
andere Datenträger, d.h. man kann eine Diskette genauso mounten, wie
eine Festplattenpartiton. In diesem Fall muss nur der passende
Dateisystem-Typ angegeben werden, also z.B. so:
mount -t vfat /dev/fd0 /mnt/floppy.
Dabei steht vfat für lange Dateinamen in Windows95-Art und das
Verzeichnis /mnt/floppy muss existieren. Vor dem Entnehmen der
Diskette muss diese _unbedingt_ mittels umount /mnt/floppy wieder
unmounted werden, sonst kann es zu Datenverlusten kommen ! Da es doch
recht umständlich ist, auf diese Art auf Disketten zuzugreifen, gibt
es die mtools. Das sind Befehle, die den wichtigsten DOS-Befehlen mit
einem vorangestellten m entsprechen, also z.B. mdir, mcopy, mtype etc.
Damit kann man, ohne die Diskette mounten zu müssen, z.B. eine Datei
von Diskette auf die Platte kopieren: mcopy A:foo.txt /tmp/.

2.35 Wie kann ich LILO wieder aus dem MBR entfernen?

Am einfachsten ist es, MS-DOS zu booten und fdisk /MBR aufzurufen.
Eine hinreichend neue DOS-Version vorausgesetzt, wird damit der MBR
mit dem Standard-Bootblock überschrieben. Diese Funktion von fdisk ist
AFAIK nicht offiziell dokumentiert und funktioniert mit einigen
fdisk-Versionen nicht.
Soweit unter Linux ein Backup des Original-Bootblocks vorhanden ist,
kann dieser auch unter Linux wie im README zu lilo beschrieben per dd
wieder installiert werden.

2.36 Ich kann keinen Kernel mehr kompilieren: nach make zImage meldet
das System System is too big. Try using bzImage or modules.

Die Meldung besagt, dass das erzeugte Kernel-Image zu groß ist. Bei
der traditionellen Methode der Kernelerzeugung darf der resultierende
Kernel maximal 512kB groß sein, ist er größer, kann er von der
Initialisierungsroutine nicht mehr korrekt entpackt werden. Um dieses
Problem zu lösen, gibt es zwei Alternativen: entweder man erzeugt mehr
Treiber als Module und verkleinert damit das erzeugte Kernel-Image
oder man verwendet statt make zImage (bzw. make zlilo oder make zdisk)
make bzImage (respektive bzlilo oder bzdisk). Dabei wird ein anderes
Speicherlayout verwendet, welches auch größere Kernel-Images zulässt.
Die Bezeichnung bzImage steht dabei für big zImage, hat also nichts
mit bzip2 zu tun. Heutzutage ist es weitgehend unproblematisch,
generell make bzImage statt make zImage zu verwenden, lediglich ältere
LILO- und Loadlin-Versionen können damit nicht umgehen.

2.37 Wie kann ich auf meinen Streamer zugreifen?

Häufig wird gefragt, wie denn ein Streamerband gemounted werden kann.
Die Antwort ist recht einfach: gar nicht (zumindest nicht unter
Linux).
Ein Streamer ist unter Linux ein sogenanntes Character-Device, d.h. es
gibt darauf kein Dateisystem, das man mounten könnte. Zum Schreiben
auf und zum Lesen vom Band verwendet man entsprechende Programme, z.B.
tar und cpio. Für diese Programme ist ein Streamer eine Blackbox, d.h.
dass z.B. tar nicht weiß, an welche Stelle auf dem Band gerade
geschrieben wird und tar kann das Band auch nicht vor- oder
zurückspulen. Für Bandoperationen (vor- oder zurückspulen, löschen,
Suchen einer bestimmten Bandstelle, etc.) gibt es das Programm mt
(magnetic tape). Für mt ist das Band wiederum eine Blackbox: mt kennt
nicht die Daten auf dem Band, es kennt aber z.B. die Position des
Bandes. Tar und mt ergänzen sich daher.
Bei beiden Programmen muss man das zum Streamer gehörende Device
angeben. Wie das Device heißt, hängt von der Art des Streamers ab. Der
erste SCSI-Streamer im System heißt /dev/st0, ein QIC-80- oder
Travan-Floppystreamer wird über /dev/ftape angesprochen und einer der
bisher noch recht seltenen ATAPI-Streamer heißt z.B. /dev/hdb, d.h. er
erhält die Bezeichnung, die eine Festplatte an gleicher Stelle
erhalten würde. Bei den Device-Bezeichnungen muss noch eine wichtige
Unterscheidung getroffen werden: die bisherigen Beispiele sind
sogenannte rewinding devices, d.h. nach dem Ende jeder Schreib- oder
Leseoperation wird das Band automatisch an den Anfang zurückgespult,
so dass ein weiterer Schreibvorgang die vorhandenen Daten
überschreiben würde. Möchte man, dass das Band nach dem Ende eines
Schreib- oder Lesevorgangs an der Stelle stehen bleibt, an der es
zuletzt war, muss als Device das entsprechende nonrewinding device
angegeben werden, also z.B. /dev/nst0 oder /dev/nftape.
Wie bekommt man jetzt die Daten aufs Band? Dazu ein Beispiel mit einem
SCSI-Streamer:
* Zurückspulen des Bandes, falls noch nicht erfolgt:
bash> mt -f /dev/st0 rewind
* Sichern des Verzeichnisses /etc auf den Streamer:
bash> cd /; tar -cvf /dev/st0 etc/
Da als Device /dev/st0 angegeben ist, wird das Band anschließend
automatisch zurückgespult.
* Vergleich der geschriebenen Daten:
bash> tar -dvf /dev/st0

Die Option -dv bei tar bewirkt, dass die jeweils gerade überprüfte
Datei auf dem Bildschirm ausgegeben wird. Falls eine Abweichung
zwischen Band und Platte festgestellt wird, gibt tar eine
entsprechende Meldung aus.

2.38 Warum habe ich seit dem Update auf Kernel 2.2.x alle
Route-Einträge doppelt?

Der Kernel setzt ab Version 2.2 beim ifconfig automatisch
Interface-Routen, ähnlich wie die BSD-Systeme das schon lange tun.
Distributionen, die nicht standardmäßig mit Kernel 2.2 ausgeliefert
werden, setzen in den Netzwerkkonfigurationsskripten die
Interface-Routen explizit, wie es bei Kernel 2.0.x erforderlich war,
so dass beim Betrieb mit Kernel 2.2 jede Interface-Route doppelt in
der Routingtabelle erscheint. Das hat keine schädlichen Auswirkungen,
es ist aber natürlich der Übersicht nicht gerade förderlich.

2.39 Was bedeutet die Meldung mount fs type devpts not supported by
Kernel?

Mit der glibc-2.1 wurden neue Pseudo-Terminals eingeführt, die sich am
Unix98-Standard orientieren und deshalb als Unix98-PTYs bezeichnet
werden. Für deren Nutzung wurde ein zusätzliches Pseudo-Filesystem,
devpts, geschaffen.
Daher muss für die Verwendung von Unix98-PTYs bei der
Kernelkonfiguration unter Character Devices der Punkt Unix98 PTY
Support und unter Filesystems der Punkt /dev/pts filesystem for Unix98
PTYs aktiviert sein.

2.40 Ich möchte einen neuen Kernel compilieren, erhalte auf make
menuconfig aber nur die Meldung make: *** No rule to make target
`menuconfig'. Stop.

Das kann mehrere Ursachen haben. Die einfachste Variante: man befindet
sich nicht im Kernel-Source-Verzeichnis (im Normalfall
/usr/src/linux). Falls doch, ist kein Kernelsource installiert und
muss nachinstalliert werden. Für Suse-Nutzer: anscheinend werden bei
Suse 6.2 die Kernelsourcen nicht mehr standardmäßig installiert,
sofern sie bei der Installation nicht explizit ausgewählt wurden.

2.41 Was hat es mit den 2.3.x-Kerneln auf sich? Sollte man von 2.2.x
updaten?

Alle Kernel mit einer ungeraden Minor-Nummer (die Nummer an zweiter
Stelle, also bei 2.3.x die 3) sind Entwickler-Kernel. Diese enthalten
experimentelle Funktionen, lassen sich eventuell gar nicht kompilieren
oder können im Extremfall auch Daten auf der Festplatte zerstören.
Daher sollte man diese Kernel nur verwenden, wenn man wirklich weiß,
was man tut. Für den Normaluser sind Entwicklerkernel ungeeignet und
Beschwerden über Probleme mit Entwicklerkerneln werden in den
de.comp.os.unix.linux-Newsgroups im Regelfall ignoriert.

2.42 In /var/log/messages erscheint regelmäßig der Eintrag -- MARK --.
Was hat das zu bedeuten?

Mit diesem Eintrag zeigt der Syslogd, welcher für das Protokollieren
von Systemereignissen zuständig ist, an, dass er noch läuft. Das
Zeitintervall zwischen den Einträgen lässt sich beim Aufruf des
Syslogd mittels des Parameters -m Intervall einstellen bzw. mit dem
Intervall 0 ganz abschalten.
Einige Syslogd-Versionen unterdrücken den Eintrag, wenn während des
Intervalls andere Ereignisse protokolliert wurden, so dass er nur
erscheint, wenn ansonsten keine Lebenszeichen des Syslogd sichtbar
wären.

2.43 Wie ist das mit den Locales?

Locales sind Konfigurationsdateien, die den Rechner an nationale
Gegebenheiten anpassen sollen. Dazu gibt es Dateien, die Informationen
über nationale oder regionale Besonderheiten enthalten, u.a. die
Sprache, das Zahlen-, das Datums- und das Zeitformat sowie den
verwendeten bzw. darstellbaren Zeichensatz. Sind die Locales
unvollständig oder nicht richtig konfiguriert, werden sehr restriktive
Defaults verwendet, die z.B. nur die Anzeige von 7 bit us-ascii
Zeichen erlauben. Die Konfiguration, welche Locale-Einstellungen
verwendet werden sollen, erfolgt durch folgende Environmentvariablen.
Umgebungsvariablen setzt man entweder mit export VARIABLE=WERT (bash)
oder setenv VARIABLE WERT (tcsh).
1. $LC_ALL Diese Variable überschreibt alle weiter unten erläuterten.
Deshalb sollte man sie tunlichst ungesetzt lassen, und die anderen
Variablen verwenden.
2. $LC_CTYPE Diese Variable gibt an, welche Zeichen / welcher
Zeichensatz auf dem aktuellen Terminal verwendet werden kann. Wenn
diese Variable nicht korrekt gesetzt ist, geben viele Programme
z.B. statt Umlauten nur Fragezeichen aus.
3. $LC_COLLATE Damit kann man die Sortierreihenfolge beeinflussen. Im
Locale de_DE beispielsweise ist ä gleichwertig zu a zu behandeln.
(ab,äb,ac)
4. $LANG Der hier eingestellte Wert wird für die anderen LC-Variablen
verwendet, sofern nicht diese selbst oder LC_ALL gesetzt sind.
Einige wenige Programme wie man werten diese Variable auch direkt
aus.
5. $LC_TIME Diese Variable gibt an, in welchen Formaten Datum und
Zeit ausgegeben werden sollen.
6. $LC_NUMERIC Gibt an, wie Zahlen, die keine Geldbeträge sind,
formatiert werden sollen. (z.B. '.' oder ',' als Dezimaltrenner)
7. $LC_MONETARY Das selbe wie vorhin, diesmal allerdings für
Geldbeträge.
8. $LC_MESSAGES Gibt an, in welcher Sprache Programme ihre
Nachrichten ausgeben sollen. Das hat nichts mit automatischer
Übersetzung o.ä. zu tun, sondern ein Programm muss für jede
Sprache die es unterstützen soll, entsprechend vorgesehen sein.
Deshalb werden durch setzen dieser Variable längst nicht alle
Nachrichten in Deutsch ausgegeben. Teilweise sind die
Übersetzungen auch nicht sehr gelungen.

Ich persönlich setze nur LC_CTYPE, aber das ist eine Sache des pers.
Geschmacks.
Für deutsche Einstellungen müssen die Variablen auf "de_DE" gesetzt
werden.
Anmerkung: Bei manchen Distributionen müssen die Locales selbst
kompiliert werden. Bei Debian (ab woody) müssen dazu die gewollten
Locales in /etc/locale.gen auskommentiert werden, und danach als root
das Programm localegen ausgeführt werden.

2.44 Wie [lösche/verschiebe/bearbeite] ich Dateien, die mit -
beginnen?

Das hängt vom Programm ab. Oft zum Erfolg führt, nach dem letzten
echten Parameter -- und dann den Dateinamen anzugeben. Also etwa so:
$ touch -file touch: invalid option -- i Try touch --help' for more
information. $ touch -- -file nikratio:~/foo$ ls -file $ rm -file rm:
invalid option -- l Try rm --help' for more information. $ rm -- -file
$ ls Eine weitere Möglichkeit ist, vor dem Dateinamen das Verzeichnis
einzugeben, also z.B. rm ./-file oder rm /home/me/-file. Wenn keine
anderen Dateien im aktuellen Verzeichnis sind, die bis auf das erste
Zeichen gleich geschrieben werden, kann man auch mit Wildcards
arbeiten: rm ?file

2.45 Wie kann ich unter Linux Divx-, wmf-, oder asf-Videos wiedergeben

xanim scheitert leider daran, avifile <http://divx.euro.ru/> löst das
Problem.

2.46 Ich benötige die Datei foo.bar, welches Paket muss ich
installieren?

Das kommt auf die Distribution an:
* Debian: Auf den CDs und dem ftp-Server befindet sich im
Verzeichnis dists/$Version/ die Datei Contents-$arch.gz, die
einfach mittels zgrep durchsucht werden kann.
zgrep foo.bar /cdrom/dists/potato/Contents-i386.gz
Alternativ kann man auch das Formular
<http://packages.debian.org/> auf Debians WWW-Site verwenden.
* Suse: YaST bietet die Funktion Paketauskunft.
* RedHat: Installiert man das Paket rpmdb-redhat (ab RedHat Version
6.2 enthalten), kann man mittels
rpm -qf `rpm -qla --define '_dbpath
/usr/lib/rpmdb/%{_arch}-%{_vendor}-%{_os}/redhat' |
grep gesuchte.Datei` --define '_dbpath
/usr/lib/rpmdb/%{_arch}-%{_vendor}-%{_os}/redhat'
das entsprechende Paket finden.
* Alternative für alle rpm-basierten Distributionen: Man erzeugt
selbst eine Liste, indem man die Installations-CDs (DVD) der Reihe
nach einlegt, mountet und anschließend
find /mnt/cdrom -type f -name "*.rpm" -print |
{ while read paketdatei ; do
paket=`basename $paketdatei`
rpm -qpl "$paketdatei" | sed -e "s/$/ $paket/"
done
} >> ~/InhaltallerCDs
aufruft. Jetzt kann man die Liste einfach mittels grep
gesuchte.Datei ~/InhaltallerCDs durchsuchen.



2.47 Wieso bekomme ich die Fehlermeldung "Can't find X includes.
Please check your installation and add the correct paths", wenn ich
ein Programm compilieren will, das X benutzt?

Das liegt daran, dass du die zu X gehörenden Headerfiles nicht
installiert hast. Je nach Distribution hat das Paket, das diese
enthält, einen anderen Namen; bei Debian z.B. heißt es "xlib6g-dev",
bei SuSE "xdevel" und bei RedHat "XFree86-devel".

2.48 Ich habe auf Kernel 2.4.x geupgradet und es werden keine Module
mehr geladen.

Die Probleme kommen vermutlich daher, dass sich das Layout der
Verzeichnisse in /lib/modules/<kernelversion> seit Kernel 2.2.x
verändert hat. Mit diesem neuen Layout kommen die modutils erst seit
Version 2.4.0 zurecht; deine sind wahrscheinlich zu alt. Welche
Version bei Dir läuft, kannst Du einfach durch eingabe von
/sbin/modprobe -V
herausfinden.
Um das Problem zu beheben, benutzt Du entweder ein von deinem
Distributor bereitgestelltes Paket oder beziehst die Sourcen von
ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/ und kompilierst
sie selber. Damit wirst du aber vermutlich nicht alle Probleme, die
mit einem neuen Kernel auf dich zukommen, geloest haben.
Sicherheitshalber solltest du Kernelquelltext/Documentation/Changes
lesen und überprüfen, ob du die erforderlichen Programme in den
nötigen Versionen installiert hast.

2.49 Wie kann ich unter Linux mit Dateien größer 2 GB arbeiten?

Zuerst einmal müssen die Programme, welche mit Dateien > 2 GB arbeiten
sollen, andere Betriebssystemeaufrufe verwenden als bisher (Natürlich
kann man mit diesen trotzdem auch kleinere Dateien erzeugen), da der
Zeiger für die Dateiposition von 32 auf 64 Bit gestiegen ist. Dies ist
bei längst noch nicht allen Programmen der Fall. Dann müssen Kernel
und glibc noch entsprechende Unterstützung anbieten. Auf einer 64-Bit
Maschine (z.B. Alphastation) ist das bereits der Fall. Auf 32 Bit
Maschinen wie i386 und PowerPC muss man dazu auf einen 2.4 Kernel
(oder einen 2.2 Kernel entsprechend patchen) und eine glibc > 2.1.3
umsteigen.
In Stichworten:
* Kernel 2.4. (Oder einen 2.2er Kernel mit LFS-patch)
* Glibc 2.1.3 oder glibc 2.2, die gegen die Header eines LFS-fähigen
Kernels (s.o.) kompiliert ist.
* Anwendungen, die LFS verwenden sollen, müssen entsprechend
modifiziert worden sein
* Ein Filesystem, das LFS unterstützt. Ext2, ReiserFS

Genauer steht das alles auf http://www.suse.de/~aj/linux_lfs.html.

2.50 Inzwischen ist Kernel 2.4 freigegeben worden, was muss ich beim
Upgrade von 2.2 beachten?

Ja, der neue Linux-Kernel ist da - aber langsam, es gibt einiges, was
vor einem Update zu bedenken ist:
* Was versprichst du Dir von dem neuen Kernel konkret? Warum
möchtest du ihn einsetzen?
* Bist du in der Lage herauszufinden, welche zusätzlichen Programme
oder neuen Programmversionen zu diesem Kernel benötigt werden?
Lies Kernelquelltext/Documentation/Changes!
* Bist du in der Lage, die geforderten Programm(versionen) zu finden
und zu installieren?
* Bedenke, dass die von den Distributoren üblicherweise
standardmäßig verwendeten Kernel gepatcht sind und damit bestimmte
zusätzliche Funktionen haben, die du evtl. auch nutzt. Diese
Funktionalitäten sind mit dem neuen Kernel evtl. nicht mehr
vorhanden.
* Kernel 2.2.18 nimmt schon einige der Vorteile von 2.4 vorweg
(brauchbarer USB-Support, abgesehen von Mass-Storage. NFS-Server
und -Client sind auf dem Stand von 2.4), vielleicht kannst du dir
das Upgrade auf 2.4 sparen und 2.2.18 verwenden.

Wenn du die ersten drei Fragen nicht wirklich sicher beantworten
kannst, solltest du auf ein Update so lange verzichten, bis der
Hersteller deiner Distribution ein entsprechendes Kernel-Package mit
den notwendigen Updates bereit hält. Die Wartezeit bis dahin kann man
sich mit der Lektüre von
http://linuxtoday.com/news_story.php3?ltsn=2001-01-05-007-04-NW-LF-KN
bzw.
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/1204.html
verkürzen. ;-)

2.51 Wie kann ich mit einem Kommandozeilenprogramm Mails mit
MIME-Attachment verschicken?

* mutt -a Datei -s "Anhang" email@adresse < /dev/null
* mpack -s "Anhang" Datei email@adresse
* nail -s "Anhang" -a Datei email@adresse < /dev/null
* metasend -b -s "Anhang" -f Datei -t email@adresse -m
application/octet-stream
* uuenview -b -s "Anhang" -m email@adresse Datei



2.52 Ich habe RedHat 7.0 und kann keinen Kernel fehlerfrei
kompilieren.
Ich kann manche Programme unter RedHat 7.0 nicht kompilieren.
Unter RedHat 7.0 kompilierte Programme laufen nicht auf anderen
Distributionen.

Das liegt daran, das RedHat in 7.0 einen kaputten gcc mitliefert. Die
Lösung ist recht einfach, man muss nur das Paket kgcc installieren und
den beiligenden Anweisungen folgen, damit der Kernel mit diesem
Kompiler übersetzt wird.
Linus Torvalds hat hierzu in
http://x58.deja.com/threadmsg_ct.xp?AN=705169495.1&mhitnum=1&CONTEXT=9
76973433.7
<http://x58.deja.com/threadmsg_ct.xp?AN=705169495.1&mhitnum=1&CONTEXT=
976973433.7> Stellung genommen. Er bezeichnet dort RedHat 7.0 als
"unusable as a development platform" (Übers: "unbenutzbar als
Entwicklungsplattform"). Weitere Statements dazu findet man unter
http://kt.linuxcare.com/kernel-traffic/kt20010101_100.epl#3
<http://kt.linuxcare.com/kernel-traffic/kt20010101_100.epl#3> und
http://kt.linuxcare.com/kernel-traffic/kt20010108_101.epl#1
<http://kt.linuxcare.com/kernel-traffic/kt20010108_101.epl#1>.
Andere Sourcen machen aber teilweise auch Probleme, so scheint es
nicht möglich zu sein, die XFree-Sourcen oder TeX damit zu übersetzen,
aber das ist nicht in allen Fällen zu 100% gesichert. Um auf der
sicheren Seite zu sein, sollte man auf jedenfall die Updates von
RedHat einspielen. Informationen hierzu findet man unter
http://www.redhat.com/support/docs/gotchas/7.0/gotchas-7.html
<http://www.redhat.com/support/docs/gotchas/7.0/gotchas-7.html>.

2.53 Ich habe einen neuen Kernel kompiliert, dieser bootet aber nicht,
sondern gibt die Fehlermeldung Kmod: failed to exec /sbin/modprobe -s
-k binfmt-464c, errno = 8 aus.

Du hast beim Konfigurieren des Kernels
Kernel support for ELF binaries
CONFIG_BINFMT_ELF
nicht ausgewählt. Diese Unterstützung für das unter Linux übliche
Format von ausführbaren Programmen und Bibliotheken muss fest im
Kernel einkompiliert sein und nicht als Modul, da insbesondere
modprobe und insmod, die für das Laden von Kernelmodulen nötig sind,
im ELF-Format vorliegen.
_________________________________________________________________

04.02.2001 dcoul-FAQ authors

dcoul-FAQ Team

unread,
Feb 4, 2001, 2:35:08 PM2/4/01
to
Archive-name: /de/comp/linux/dcoul-faq/sectionA
Posting-frequency: monthly
Last-modified: 2001-02-04 21:21:51
Version: CVS revision 1.36
URL: http://www.dcoul.de/faq/


http://www.dcoul.de/faq/
_________________________________________________________________

A. Wissenswertes für Autoren

Diese Sektion informiert Autoren und angehende Autoren über die
technische Struktur der dcoul-FAQ und gibt Tipps zum Umgang mit den
verschiedenen Tools die zur Erzeugung der FAQ eingesetzt werden. Die
Struktur der XML Dateien wird erläutert, der Umgang mit dem CVS Server
wird an Beispielen erklärt und man erfährt wie man überhaupt als Autor
am FAQ-Projekt teilnehmen kann.
_________________________________________________________________

A.1 Kommandos der Mailingliste

Die Mailingliste wird per EZMLM <http://www.ezmlm.org/> gemanaged.
EZMLM nimmt Kommandos in Form von Mails an bestimmte Adresse entgegen.
Folgende "Kommando-Mail-Adressen" sind dem Programm bekannt:
* linux-f...@lists.netuse.de
Allgemeine Infos zur Liste
* linux-...@lists.netuse.de
FAQ zur Mailingliste
* linux-f...@lists.netuse.de
Hilfe zu administrativen Kommandos der Mailingliste
* linux-faq...@lists.netuse.de
Einschreiben bei der Liste
* linux-faq-...@lists.netuse.de
Austragen von der Liste
* linux-f...@lists.netuse.de
Mail an den "Besitzer" der Liste
* linux-faq...@lists.netuse.de
Anfordern der Mails mit den Nummern 1 - 10 (get.1_10). Es können
maximal 100 Artikel pro Anforderung versandt werden.
* linux-faq-...@lists.netuse.de
Anfordern eines Indexes über die Mails mit den Nummern 1 - 10
(index.1_10). Der Index enthält Subject und Autor der Mail.
* linux-faq-t...@lists.netuse.de
Anfordern aller Mails aus dem Thread, der mit der Mail mit der
Nummer 12345 beginnt.



A.2 Wie ist die XML Struktur der Sektionen zu verstehen?

Um die Struktur der XML Files zu verstehen sieht man sich am besten
die DTDs (Document Type Definition) dazu an. Die Datei section.dtd
beschreibt die Element-Struktur der XML Dateien für Sektionen
(section?.xml).
<!ELEMENT section (title, sectionid, preamble?, faq+)>

Eine Section beginnt immer mit einem Element section. Diese Element
wird auch root-node (Wurzel-Knoten) genannt, da es die Wurzel einer
Baumstruktur bildet.
Das section Element muss ein title, ein sectionid und mindestens ein
faq Element enthalten, und es bildet damit die Grundstruktur für ein
Section-File.
<!ATTLIST section
date CDATA #REQUIRED
title CDATA #IMPLIED>

Damit das section Element nicht nur die Eigenschaft des root-nodes
hat, transportiert es in den Attributen date und title Informationen
über das Dokument. date enthält das Datum der letzten Änderung an der
Datei und ist zwingend notwendig. title enthält den Titel des
Dokumentes. Dieser Titel ist nicht derjenige, der später oben als
Überschrift erscheint, sondern dient zur Identifizierung der Datei.
Dieses Attribut ist nicht vorgeschrieben (#IMPLIED).
<!ELEMENT title (#PCDATA)>
<!ELEMENT sectionid (#PCDATA)>
<!ATTLIST sectionid
id ID #REQUIRED>

Das Element title bildet die Überschrift der Section (die, die später
oben auf der Seite erscheint). Über das Element sectionid muss eine
Section eindeutig identifizierbar sein. Die sectionid dient als
Grundlage für Querverweise innerhalb und von außerhalb der FAQ und
bildet gleichzeitig den Dateinamen der HTML Dateien (z.B. 1.html wäre
das HTML Dokument, das aus der Section mit sectionid 1 erzeugt wurde).
Das id Attribut dient zurzeit als Dummy Attribut für die Einträge in
der Datei changes.xml und muss den ID-Wert "sec" + sectionid
enthalten. Ein Beispiel: <sectionid id="secX">X</sectionid>
<!ELEMENT preamble ANY>
<!ATTLIST preamble
author IDREF #IMPLIED>

Das Element preamble dient dazu ein Vorwort zur Sektion zu verfassen.
Es kann jeden möglichen Markup enthalten. Das Attribut author sollte
der Autor des Vorwortes mit seiner ID füllen.
<!ELEMENT faq (question, answer, comment*)>
<!ATTLIST faq
id ID #REQUIRED>

Das Element faq bildet einen Container für eine Frage (question), die
dazu gehörende Antwort (answer) und eventuelle Kommentare (comment).
Frage und Antwort müssen jeweils genau einmal vorkommen, Kommentare
können beliebig viele enthalten sein (beliebig schließt 0 mit ein!).
Das Attribut id ist ein eindeutiger Bezeichner der FAQ, mittels dessen
auf die FAQ referenziert werden kann.
<!ELEMENT question (#PCDATA)>
<!ELEMENT answer ANY>
<!ATTLIST answer
author IDREF #IMPLIED>
<!ELEMENT comment ANY>
<!ATTLIST comment
type (noprint|print) "noprint"
author IDREF #REQUIRED>

Das question Element enthält eine Frage, zu der das answer Element die
Antwort gibt. Im author Attribut sollte sich der Autor der Antwort mit
seiner ID verewigen. Wenn jemand diese kommentieren möchte, kann er
dies mit Hilfe des comment Elementes tun. Das comment Element hat zwei
Attribute: type gibt an, ob der Kommentar in der HTML Ausgabe
erscheinen soll ("print") oder nicht ("noprint"). Standardmäßig wird
"noprint" angenommen. Im author Attribut muss der Kommentator seine ID
angeben.

A.3 Wie sieht die Struktur der übrigen XML-Files aus?

Auch hier schaut man am besten wieder in die DTDs der einzelnen
Dateien.

authors.xml

<!ELEMENT authors (author+, user*)>
<!ATTLIST authors
date CDATA #REQUIRED
title CDATA #IMPLIED>

<!ELEMENT author ANY>
<!ATTLIST author
name CDATA #REQUIRED
job CDATA #REQUIRED
mail CDATA #IMPLIED
id ID #REQUIRED>

<!ELEMENT user ANY>
<!ATTLIST user
name CDATA #REQUIRED
mail CDATA #IMPLIED
id ID #REQUIRED>

Die Datei authors.xml enthält Informationen über alle Mitwirkenden an
der FAQ. Aktive Mitglieder in der Mailingliste, die auch einen CVS
Account haben, werden normalerweise als authors betrachtet, während
Leser, die eine Kommentar, eine Korrektur oder einen neuen Vorschlag
eingereicht haben, als user aufgeführt werden. Beide Elemente haben
ähnliche Attribute. name enthält den Namen des Autoren/Users, mail die
E-Mail Adresse (die Angabe ist optional). Über das Attribut id, kann
der Autor referenziert werden. Der Wert der id muss FAQ-weit eindeutig
sein! Für Autoren werden normalerweise die Initialen in
Großbuchstaben, für User der volle Name in Kleinbuchstaben verwendet.
Das author Element hat zusätzlich noch das Attribut job welches die
Hauptaufgabe des Autoren enthält (meine Hauptaufgabe ist z.B. die
XML/HTML Struktur der FAQ).
Beide Elemente können zusätzliche Informationen zur Person
einschließen. Beim user wird das normalerweise eine Notiz zum
eingereichten Vorschlag sein.
Die Informationen über Autoren erscheinen auf der Index-Seite der FAQ.
Die vollen Informationen über Autoren und User erscheinen in Sektion
F.

changes.xml

<!ELEMENT changesd (dummyhook?,changes+)>
<!ATTLIST changesd
date CDATA #REQUIRED
title CDATA #IMPLIED>

<!ELEMENT changes (change+)>
<!ATTLIST changes
date CDATA #REQUIRED>

<!ELEMENT change (#PCDATA)>
<!ATTLIST change
section CDATA #REQUIRED
faq IDREF #REQUIRED>

<!ELEMENT delete ANY>
<!ATTLIST delete
section CDATA #REQUIRED
faq CDATA #REQUIRED
rev CDATA #REQUIRED>

<!ELEMENT globchange ANY>

<!ELEMENT dummyhook EMPTY>
<!ATTLIST dummyhook
id ID #IMPLIED>

Die Datei changes.xml enthält alle inhaltlichen Änderungen an der FAQ
zwischen zwei Builds/Releases. Dazu ist ein Container changes
definiert, der im Attribut date das Datum des aktuellen Builds
enthält. Dieses wird immer von demjenigen geändert, der ein neues
Build macht (momentan ist das Thomas Nesges (tho...@dcoul.de)). Dieser
setzt in date das Datum des Builds ein (das aktuelle Datum). Damit ist
dieser changes Container abgeschlossen und er eröffnet darüber einen
neuen Container. Für alle anderen Autoren gilt also, dass sie weder
neue changes Container anlegen, noch sich an dem möglicherweise
falschen Datum im date stören müssen. Es müssen einfach nur im
obersten Container Element der changes.xml Datei neue change Elemente
angelegt werden.
Der Container enthält mindestens ein change Element, welches eine
einzelne Änderung an einem durch die Attribute section und faq genau
spezifizierten FAQ-Eintrag enthält. Das Attribut faq enthält ab sofort
die ID des Eintrags (nicht mehr die Nr)! Um Probleme mit der
Validierung der Dokumente zu umgehen, kann das faq Attribut mit dem
Wert dummy gefüllt werden. Dieses ID-Element wird durch das neue
dummyhook definiert, welches am Anfang von changes.xml steht und
dessen Attribut id den Wert dummy hat. Ein typischer Anwendungsfall
ist zum Beispiel ein Bezug auf ein gelöschtes FAQ-Element.
Gelöschte FAQ-Elemente werden nicht mit dem Element change, sondern
mit delete ausgezeichnet. Dieses Element ähnelt dem change Element in
seinen Attributem, allerdings ist faq hier vom Typ CDATA, welcher
nicht validiert wird. Dadurch kann hier die originale ID verwendet
werden, ohne dass sie im Dokument vorkommen muss (bei gelöschten
Elementen der Fall). Neu ist das rev. In ihm wird die Revisionsnummer
der Revision angegeben, in der das gelöschte Element zuletzt vorkam.
Dadurch kann ein Link auf CVSWeb
<http://phplib.netuse.de/cgi/cvsweb.cgi/linux-faq/> erstellt werden,
über den der Leser sich das gelöschte nochmal ansehen kann.
Das Element globchange dient dazu Änderungen auszuzeichen, die sich
auf die gesammte FAQ auswirken und nicht an einer bestimmten Frage
oder Sektion festzumachen sind. Es kann allen möglichen Markup
enthalten und hat keine Attribute.

links.xml

<!ELEMENT links (link+)>
<!ATTLIST links
date CDATA #REQUIRED
title CDATA #IMPLIED>

<!ELEMENT link (#PCDATA)>
<!ATTLIST link
href CDATA #REQUIRED
title CDATA #IMPLIED>

Die Datei links.xml enthält Links, die auf der Index-Seite der FAQ
erscheinen sollen. Das Element link hat ein Attribut href, welches den
URL enthält und ein optionales Attribut title, welches einen Titel für
den Link definieren kann. Fehlt dieses Attribut, wird für den
Linktitel automatisch der Wert aus href genommen.

preamble.xml

<!ELEMENT preamble (title, text)>
<!ATTLIST preamble
date CDATA #REQUIRED
title CDATA #IMPLIED>

<!ELEMENT title (#PCDATA)>
<!ELEMENT text ANY>

Die Datei preamble.xml enthält ein Vorwort zur FAQ. Dieses Vorwort
wird auf der Index-Seite angezeigt. Das Element title definiert einen
Titel, das Element text Enthält den Text des Vorworts. Der Text kann
aus gültigem Markup bestehen (dazu wird html.dtd eingebunden).

overview.xml

<!ELEMENT overview (intro, version+)>
<!ATTLIST overview
date CDATA #REQUIRED
title CDATA #IMPLIED>

<!ELEMENT intro (#PCDATA)>
<!ELEMENT version (title, browser?, files, text)>
<!ATTLIST version
type CDATA #IMPLIED
dir CDATA #REQUIRED>

<!ELEMENT title (#PCDATA)>
<!ELEMENT browser (#PCDATA)>
<!ELEMENT files (file*, tgz*)>
<!ELEMENT file (#PCDATA)>
<!ELEMENT tgz (#PCDATA)>
<!ELEMENT text (#PCDATA)>

Die Datei overview.xml enthält eine Übersicht über alle Ausgabeformate
der FAQ und kann als Gesamtindex betrachtet werden. Das Element intro
beinhaltet einen einleitenden Text, danach folgen mehrere version
Elemente, von denen jedes für ein Ausgabeformat steht. Im type
Attribut kann der Mime-Type des Formates angegeben werden (z.B.
text/html, text/plain), das Attribut dir bestimmt das
Unterverzeichnis, in dem die Version auf dem Webserver abgelegt ist.
Das Element title gibt einen Titel für den Abschnitt der Version auf
der Overview Seite an, im Element browser können empfohlene Browser
angegeben werden, falls nötig. Das Containerelement files kann
beliebig viele file und tgz Elemente enthalten. Für jede Datei der
Version sollte ein file Element angelegt werden, das tgz Element
enthält den Speicherplatz eines Tar Archives aller Files. Im Element
text können noch nähere Erläuterungen zu der Version angegeben werden.

A.4 Mit welchen Tags kann ich die Antworttexte formatieren?

Zur Formatierung der Texte innerhalb der FAQ sind in html.dtd und
misc.dtd einige Tags definiert. html.dtd definiert dabei Nachbildungen
von bekannten HTML Tags, im einzelnen:
<!ELEMENT a (#PCDATA)>
<!ATTLIST a
href CDATA #REQUIRED>
<!ELEMENT br EMPTY>
<!ELEMENT hr EMPTY>
<!ELEMENT code ANY>
<!ELEMENT i ANY>
<!ELEMENT ul (li+)>
<!ELEMENT ol (li+)>
<!ELEMENT li ANY>
<!ELEMENT pre ANY>
<!ELEMENT h3 ANY>
<!ELEMENT h4 ANY>

Diese Tags sind genauso wie ihre HTML Äquivalente anzuwenden.
In misc.dtd sind zusätzliche Tags definiert, die speziell für diese
XML Anwendung Geltung haben:
<!ELEMENT faqlink (#PCDATA)>
<!ATTLIST faqlink
sec CDATA #REQUIRED
id CDATA #REQUIRED
title CDATA #IMPLIED>

<!ELEMENT file (#PCDATA)>
<!ELEMENT dir (#PCDATA)>
<!ELEMENT attribute (#PCDATA)>
<!ELEMENT element (#PCDATA)>
<!ELEMENT authorref EMPTY>
<!ATTLIST authorref
id IDREF #REQUIRED>
<!ELEMENT insertauthors EMPTY>
<!ELEMENT codeblock (#PCDATA)>

Das Element faqlink definiert einen Querverweis innerhalb der FAQ.
Dazu kann kein normales <a> Tag verwendet werden, weil verschiedene
Versionen der FAQ voneinander abweichende Dateistrukturen haben (zB
DHTML Version). Im Attribut sec wird die Sektion, im Attribut id die
ID der FAQ auf die Bezug genommen wird angegeben. Der Text der in den
HTML Versionen angezeigt werden soll, wird entweder im Attribut title,
oder im Content des Elementes angegeben.

Das file Element dient zur Auszeichnung von Dateinamen, dir für
Verzeichnisnamen, attribute für Attribute und element markiert
Elemente (und Tags). Die letzt genannten Elemente haben allesammt
keine Attribute, sie dienen nur zur Visualisierung des Contents.

Das authorref dient dazu, um auf einen FAQ-Autoren zu referenzieren.
Im Attribut id wird die ID des Autoren angegeben, per XSL wird ein
Mailto-Link (<a href="mailto:..) erstellt.

Das insertauthors hat keine Attribute und keinen Content. Es
veranlasst die XSL-Engine ein Template aufzurufen, welches alle
Autoren aus authors.xml einzufügen.

Ein codeblock wird dazu eingesetzt Blöcke von Befehlen, Sourcecode
oder ähnlichem darzustellen.

A.5 Wofür werden die DF_...xml Dateien gebraucht?

Die XML Dateien mit Präfix DF_ sind ausschließlich für den make
Prozess von Bedeutung. Sie verlinken die datenhaltenden XML Files
(z.B. sectionA.xml) per Entityreferenz, so dass die Daten aus zum
Beispiel authors.xml auch in alle Sektionen zur Verfügung stehen. Dies
muss in extra Dateien gemacht werden, da es sonst leicht zu mehrfachen
oder gegenseitigen Links kommen kann, die logisch nicht sinnvoll sind
und beim Validierungsprozess als fehlerhaft gemeldet werden, falls
Attribute vom Typ ID verwendet worden sind (diese erscheinen durch
mehrfache Links auch mehrfach und sind somit nicht mehr eindeutig).

A.6 Wie funktioniert XML?

Die Referenz zum Thema sind die Seiten des W3C unter
http://www.w3.org/XML/. Diese sind allerdings sehr schwer
verständlich, daher ist das Tutorial auf http://www.w3schools.com/xml/
für Einsteiger eher zu empfehlen.

A.7 Wie funktioniert XSL?

Auch zu diesem Thema sind die Seiten des W3C unter
http://www.w3.org/Style/XSL/ die Referenz. Aber auch zu XSL ist für
Einsteiger eher das Tutorial unter http://www.w3schools.com/xsl/ zu
empfehlen.

A.8 Wie funktioniert CVS?

Kristian hat dazu eine gute Einführung verfasst, die unter
http://www.koehntopp.de/kris/artikel/cvs/
<http://www.koehntopp.de/kris/artikel/cvs7> zu finden ist. Unter
http://www.fokus.gmd.de/research/cc/glone/employees/matthias.kranz/pri
vate/cvs_article.html findet man einen sehr guten Artikel aus dem
Linux Magazin von Matthias Kranz.

A.9 Wie logge ich mich am CVS Server ein?

Es gibt einen readonly Account am CVS Server, an dem sich jeder
einloggen kann um die aktuellen Sourcen aus dem CVS zu bekommen. Der
Username lautet cvsread und das Passwort lautet ebenfalls cvsread.
Einloggen kann man sich folgendermaßen:
$ export CVSROOT=:pserver:cvs...@phplib.netuse.de:/repository
$ cvs -d $CVSROOT login
Password: cvsread
$ cvs -d $CVSROOT co linux-faq

A.10 Gibt es eine kurze Übersicht, wie ich am geschicktesten mit CVS
arbeite?

Ja, die gibt es. Dazu hat Kristian ein Paper verfasst:
Cheatsheet für CVS Benutzer:

0. Ihr könnte ja mal am TODO üben.

1. $HOME/.cvsrc

Die Datei $HOME/.cvsrc enthält Default-Optionen für alle
CVS-Kommandos. Ich habe die folgende Datei installiert:

-----
cvs -q -z9
update -dAP
diff -u
status -v
-----

Die erste Option bewirkt, daß alle CVS-Connects "-quiet" gemacht
werden und "gzip -9" auf die Übertragung angewendet wird.

Bei einem CVS update werden automatisch alle Unterverzeichnisse
mit aktualisiert (-d) und leere Unterverzeichnisse entfernt (-P,
prune). Außerdem werden sticky-Tags entfernt und es wird immer
die HEAD-Revision geholt (-A).

Ein diff wird automatisch mit der Option unified (-u)
aufgerufen.

Ein status wird immer verbose (-v) durchgeführt.

2. $HOME/.cvslist und automatisches Update

Ich habe eine Datei $HOME/.cvslist, die jeweils einen Workspace
pro Zeile bezeichnet:

/home/kris/Source/mysql-faq
/home/www/servers/kris.koehntopp.de/pages/php
/home/kris/Source/linux-faq

Das Script cvs-upall wird vom Cron einmal pro Nacht für kris
aufgerufen:

#! /bin/sh --

MAILTO=root

[ ! -f $HOME/.cvslist ] && exit 0

cat $HOME/.cvslist | while read line
do
echo "updating $line"
cd $line
cvs update
echo
done 2>&1 | mailx -s "cvs update `date +%Y-%m-%d`" $MAILTO

3. Die wichtigsten Kommandos:

- Begriffe:

- Repository: Zentrales Archiv auf dem Server
- Workspace: Deine Arbeitskopie

- Aktualisieren des Workspace

- Wechsle in die Wurzel des Workspace
- cvs update

- Aufruf nach Bedarf, zur Sicherheit einmal vor dem commit.

cvs update Legende:

- U update: Neue Datei
- P patched: Datei vom Repository in den Workspace aktualisiert
- M modified: Datei im Workspace ist modified, commit steht aus
- A added: Datei im Workspace ist neu, commit steht aus
- D deleted: Datei im Worksapce ist gelöscht, commit steht aus

- commit von Änderungen

- Immer direkt nach einem Update.
- Immer mit sinnvollem Kommentar. Der Kommentar wird Teil der
Mail.
- cvs commit
Comitted alle M, A und D. Nicht immer sinnvoll.
- cvs commit file1 file2 dir1/file3
Comitted die genannten Dateien, falls sie M, A oder D sind.

- Dateien zufügen und löschen

- Datei anlegen - Datei löschen
- cvs add file1 - cvs remove file1
- cvs commit - cvs commit

- Verzeichnisse anlegen

- NICHT MACHEN, außer es ist abgesprochen.
- Verzeichnisse können nicht gelöscht werden, weil ja bei einem
checkout der alten Version gelöschte Dateien wieder auftauchen
können.
- -P Option löscht leere Verzeichnisse, das ist als hätte
man es gelöscht.

- mkdir dir1; cvs add dir1; cvs commit

- Was haben die anderen gemacht?

- cvs diff
Listet die Änderungen im Repository gegen den Workspace.

- cvs annotate file1
Listet die Datei Zeile für Zeile, mit Änderungsdatum

- Alte Version bekommen

Für uns ist der Zugriff nach Datum wichtig, da wir keine
Releases taggen werden.

- cvs update -D 2000-12-29
Holt die Version vom 29. Dezember 2000 zurück.

Dies ist sticky, d.h. wird die Option -A nicht mit angegeben
beim "cvs update", bleibt das Repository auf diesem alten
Stand. Mit dem .cvsrc von oben ist "-A" immer mit angegeben.

Alte Versionen können nicht comitted werden, ohne zu
branchen. Branches sind unübersichtlich UND ZU VERMEIDEN!

Kristian

A.11 Wie gehe ich mit Einreichungen von Usern um?

Wenn ein User einen Vorschlag einsendet, wird die Mail auf dem CVS
Server im Verzeichnis vorschlaege/ gespeichert. Dort bleibt die Mail
solange, bis jemand den Vorschlag weiterbearbeitet.
Derjenige, der die Mail bearbeitet, gibt kurz auf der Mailingliste
Bescheid, damit die Arbeit nicht doppelt gemacht wird.
Zunächst ist zu prüfen, ob die Korrektur oder der Vorschlag korrekt
ist, d.h. stimmen angegebene URLs, sind angegebene Kommandos
unbedenklich und zielführend, usw. Ist dies der Fall, wird die
Korrektur vorgenommen, bzw. der Vorschlag in die passende Section
übernommen.
Der einreichende User ist als <user> in die Datei authors.xml
aufzunehmen (dazu gehört ein kurzer Kommentar zum eingereichten
Vorschlag), und in der Datei changes.xml ist die Änderung zu
vermerken. Danach kann die Mail aus vorschlaege/ gelöscht werden.

A.12 Wie kann ich die Archive der Mailingliste einsehen?

Die Mailingliste ist vollkommen öffentlich, d.h jeder kann eine Mail
an die Liste senden - auch ohne subscribed zu sein. Und zusätzlich
kann auch jeder die Archive der Liste einsehen. Dazu gibt es unter
http://lists.netuse.de/list.php3?show_overview=linux-faq ein
Webinterface.

A.13 Gibt es ein Webinterface zum CVS Repository?

Ja, das gibt es. Unter
http://phplib.netuse.de/cgi/cvsweb.cgi/linux-faq/ findet sich ein
anonymer readonly Account zum CVS Repository. Dort können alle Files
angesehen und einzeln downloaded werden.

A.14 Wo werden neue Fragen in der FAQ eingefügt?

Neue Fragen sollten immer unten in der passenden Sektion eingefügt
werden, damit sich die automatisch generierte FAQ-Nr nicht ändert.
Alle FAQs sind zwar durch das Attribut id eindeutig gekenzeichnet,
aber viele Benutzer werden auf die Fragen mit der Angabe der Nummer
referenzieren ("Steht in dcoul-FAQ Sektion X FAQ-Nr 4711") und keinen
eindeutigen URL mit der ID angeben ("Steht in
http://www.dcoul.de/faq/X.html#tubesenf").

A.15 Ich habe Änderungen vorgenommen und ein diff erstellt. Wer spielt
das ein?

Da prinzipiell jeder einen CVS Account mit Schreibrecht erhalten kann,
haben wir uns entschlossen keine diffs einzuspielen. Wenn du also
Änderungen vornehmen willst, schreibe eine kurze Mail an Kristian oder
Thomas Nesges (tho...@dcoul.de) (siehe auch Sektion F Wer bekommt
einen CVS Account mit Schreibrecht?").

A.16 Wie sollen neue Einträge in der Datei changes.xml vorgenommen
werden?

Die Datei changes.xml hat mit dem Containerelement changes ein Element
um alle Änderungen zwischen zwei Builddaten der FAQ festzuhalten. Das
heisst, dass ein changes Element immer alle Änderungen in Form von
change, globchange, delete Elementen von einem "offiziellen" Build zum
nächsten beinhalten soll. Vor einem Build hat das Attribut date des
changes Elementes also Pseudocharakter. Änderungen werden immer im
obersten changes Element festgehalten, beim nächsten Build wird das
date Attribut aktualisiert und ein neuer Container wird angelegt
(siehe auch Wie sieht die Struktur der übrigen XML-Files aus?).

A.17 Welche Tools brauche ich, um an der FAQ zu arbeiten?

Um die FAQ zu bearbeiten, brauchst du die folgenden Tools und
Programme:
* CVS Client
* Texteditor
* Java
* XSL-Engine
* FO Prozessor
* css2fo.pl
* tidy
* Browser
* make
* sed
* perl
* lynx

Den CVS Client brauchst du um dir die Sourcen der FAQ aus dem
Repository zu besorgen, und um deine Änderungen später wieder
einzuchecken. Die Sourcen der FAQ liegen als ASCII-Text vor, also
brauchst du einen Texteditor um sie zu bearbeiten.

Java wird zum Betrieb der Tools Xalan und FOP benötigt, wenn andere
Tools als XSL-Engine und FO Prozessor eingesetzt werden ist Java also
evtl. nicht nötig. Ein aktuelles JDK (Java Development Kit) ist unter
http://java.sun.com/ erhältich. Die meisten Distributionen liefern
allerdings auch eine Java Version mit.

Die XSL-Engine brauchst du, um die XML Dateien in die verschiedenen
Versionen zu konvertieren. Bisher hat sich gezeigt, dass die einzige
XSL-Engine die weit genug implementiert ist um die FAQ zu übersetzen
Xalan in der Java Version ist. Xalan kannst du von
http://xml.apache.org/ beziehen.

"FO" steht für Formatting Objects, ein in XSL definierter Vorschlag
des W3C für einen Standard zur Layoutbeschreibung (ähnlich zu CSS).
Mit Hilfe von XSL-FO wird die PDF Version der FAQ formatiert, deshalb
wird zur Erstellung dieser Version ein FO Prozessor benöigt. Auch hier
hat das Apache-Project mit FOP sehr gute Arbeit geleistet, FOP ist wie
Xalan von http://xml.apache.org/ zu beziehen.

css2fo.pl wird im bin Verzeichnis der FAQ mitgeliefert. Es ist ein
Perlskript, welches CSS Files in XSL-FO convertiert. Dadurch brauchen
die Stylesheet Angaben nur in einem File editiert werden.

tidy untersucht HTML Quellcode auf Fehler und versucht diese gleich zu
korrigieren. Dabei formatiert tidy den HTML Code gleichzeitig um. tidy
kann von http://www.w3.org/People/Raggett/tidy/ heruntergeladen
werden.

Um die Ergebnisse der Transformation zu kontrollieren brauchst du
einen bzw. besser mehrere Browser. Die FAQ sollte in allen gängigen
Browsern darstellbar sein. Um ein Build der FAQ zu machen brauchst du
ein make Programm. Das sollte aber auf den meisten Installationen
bereits vorhanden sein. Ebenso wie sed und perl, die im Makefile
verwendet werden, um die XML Files zu bearbeiten. Der Textbrowser lynx
schliesslich wird gebraucht, um die Textversion der FAQ zu erstellen.

A.18 Wie installiere ich Xalan?

Die Xalan Distribution ist unter http://xml.apache.org/ zu finden.
Nach dem Download kann man entweder die mitgelieferten JAR Files
benutzen, oder Xalan aus den Sourcen selbst bauen. Zunächst ist der
Tarball an geeigneter Stelle zu entpacken:

thomas@crusher:/usr/local > tar xzf xalan-j_2_0_D07.tar.gz

Dabei wird ein Unterverzeichnis xalan-j_2_0_D07/ angelegt, in dem die
JAR-Files und die Sourcen zu finden sind.

thomas@crusher:/usr/local > cd xalan-j_2_0_D07/

Will man Xalan aus den Sourcen bauen, sind folgende Schritte
durchzuführen:

thomas@crusher:/usr/local/xalan-j_2_0_D07 > perl -i -ne 's/\r\n/\n/;
print'
build.sh
thomas@crusher:/usr/local/xalan-j_2_0_D07 > chmod 755 build.sh
thomas@crusher:/usr/local/xalan-j_2_0_D07 > which java
/usr/src/jdk1.3/bin/java
thomas@crusher:/usr/local/xalan-j_2_0_D07 > export
JAVA_HOME="/usr/src/jdk1.3/"
thomas@crusher:/usr/local/xalan-j_2_0_D07 >./build.sh
[...]
thomas@crusher:/usr/local/xalan-j_2_0_D07 > cd build
thomas@crusher:/usr/local/xalan-j_2_0_D07/build > ls
classes xalan.jar

Zunächst sind die Zeilenende Zeichen im build.sh zu ersetzen. Mit
chmod 755 wird das Skript ausführbar gemacht. Zur Installation muss
eine Umgebungsvariable JAVA_HOME gesetzt werden, die auf das Java
Installationsverzeichnis zeigt. Dazu wird which java ausgeführt. Der
Teil des Verzeichnisnamens bis zum bin ist das JAVA_HOME (hier also
/usr/src/jdk1.3/). Nach Ausführen von build.sh sollte im
Unterverzeichnis build/ ein Verzeichnis classes, welches alle
Classfiels beinhaltet, und eine Datei xalan.jar zu finden sein.

Im Verzeichnis bin/ findet sich das xalan.jar der Distribution und ein
xerces.jar, welches von Xalan benoetigt wird. Jetzt setzt man noch ein
einfaches Shellskript auf um Xalan anzuwerfen:

--[/usr/local/bin/xalan]--
#!/bin/sh
XALAN="/usr/local/xalan-j_2_0_D07/build/xalan.jar";
XERCES="/usr/local/xalan-j_2_0_D07/bin/xerces.jar";
CLASSPATH="$XALAN:$XERCES:$CLASSPATH";
export CLASSPATH
java org.apache.xalan.xslt.Process -in "$1" -xsl "$2" -out "$3";
---

Wenn man Xalan nicht aus den Sourcen gebaut hat, ist die Variable
XALAN auf /usr/local/xalan-j_2_0_D07/bin/xalan.jar zu setzen. Damit
ist Xalan per `xalan in.xml trans.xsl out.html` benutzbar. Das
entspricht auch der im Makefile benutzten Syntax.

A.19 Wie kann ich FOP nutzen?

Die Installation von FOP läuft analog zur Installation der XSL-Engine
Xalan, die in beschrieben ist.

Um FOP auszuführen legt man sich am einfachsten ein Shellskript an:

--[/usr/local/bin/fop]--
#!/bin/sh
XERCES="/usr/local/xalan/bin/xerces.jar";
XALAN="/usr/local/xalan/bin/xalan.jar";
FOP="/usr/local/fop-0_16_0/fop.jar";
W3C="/usr/local/fop-0_16_0/lib/w3c.jar";
CLASSPATH="$XALAN:$XERCES:$FOP:$W3C:$CLASSPATH";
export CLASSPATH
java org.apache.fop.apps.XalanCommandLine $1 $2 $3
---

Achtung: FOP braucht in der aktuellen Version eine 1.x Version von
Xalan!

A.20 Ich möchte eine Dokumentation schreiben, an wen kann ich mich
wenden?

Im Rahmen von dcoul.de gibt es zwei Maillisten auf denen Autoren
diskutieren:
* linu...@lists.netuse.de
* dcou...@lists.netuse.de

Die Liste linu...@lists.netuse.de befasst sich ausschliesslich mit
dieser FAQ. Dort werden inhaltliche und technische Aspekte der FAQ
diskutiert. Wenn du also einen Beitrag zur FAQ leisten willst, ist
diese Liste die richtige Adresse.
Die Liste dcou...@lists.netuse.de befasst sich mit dem
dcoul.de-Project allgemein. Das heisst, das hier alle dcoul.de Themen
ausser der FAQ diskutiert werden. Willst du also einen Artikel für
dcoul.de verfassen, wende dich an diese Liste.
Ausserhalb des dcoul.de-Projektes gibt es einige andere Gruppen, die
vielleicht eher deinen Geschmack treffen. Sie alle genauer zu
erläutern würde zu weit führen, hier nur ein kurzer Überblick:
* Deutsches Linux HOWTO Projekt <http://tu-harburg.de/dlhp/>
* Linux Documentation Project <http://metalab.unc.edu/LDP>
* Linux Knowledge Base <http://linuxkb.cheek.com>
_________________________________________________________________

04.02.2001 dcoul-FAQ authors

dcoul-FAQ Team

unread,
Feb 4, 2001, 2:34:59 PM2/4/01
to
Archive-name: /de/comp/linux/dcoul-faq/section1
Posting-frequency: monthly
Last-modified: 2001-02-04 21:21:36
Version: CVS revision 1.37
URL: http://www.dcoul.de/faq/


http://www.dcoul.de/faq/
_________________________________________________________________


1. Fragen zu ISPs, Mail, News und Mailboxnetzen (Fido/ZConnect)

1.1 Wie kann ich Mails und News offline lesen, also ohne dabei dauernd
eine Verbindung zum Internet haben zu müssen?

Zu den News gibt es eine sehr gute Schritt-für-Schritt-Anleitung von
Markus Voss, zu finden unter http://www.uni-koeln.de/~acp66/, die die
Einrichtung eines lokalen Newsservers (INN) beschreibt. Eine
Alternative für einen kleinen Newsfeed bzw. den typischen
Ein-Benutzer-Rechner ist Leafnode, zu finden unter
http://www.leafnode.org/. Weitere Informationen zum Thema "Mails und
News offline" finden sich unter
http://www-public.rz.uni-duesseldorf.de/~kania/mailnews.htm,
http://home.netsurf.de/Dieter.Brueggemann/mail-news.html und
http://www.bonn.linux.de/wissen/mailnews/.
Beim Betrieb eines lokalen Newsservers ist darauf zu achten, dass
dabei korrekte Message-IDs (eindeutige ID eines jeden Newsartikels)
erzeugt werden. Informationen dazu finden sich in der Message-ID-FAQ
unter http://www.qad.org/faq/faq-messageid.html.

1.2 Gibt es für Linux ein Fido-Pointprogramm?

Software zur Einrichtung eines Fido-Points gibt es per ftp auf
ftp://ftp.gwdg.de unter /pub/linux/fido. Weitere Informationen finden
sich auf der Homepage von Roland Rosenfeld:
http://www.spinnaker.de/FidoPnt/
Wie mir mitgeteilt wurde, funktioniert die dort beschriebene
Vorgehensweise allerdings nicht mehr mit der aktuellen Version von
Fidogate, die Dokumentation von Fidogate wurde aber bezüglich der
Einrichtung von Points überarbeitet.
Alternativ gibt es ein fertiges Pointpaket per ftp von
ftp://ftp.fido.de. Weitere Informationen zu FIDO unter Linux sind
unter http://control.zcu.cz/~flidr/fido/ zu finden.

1.3 Gibt es für Linux ein ZConnect-Pointprogramm?

Nicht im herkömmlichen Sinne, aber es gibt eine Gatewaysoftware, mit
der ein ZConnect-System in einen ganz normalen News- und Mailserver
eingebunden werden kann. Das Paket heißt Unix-Connect und ist auf
ftp://ftp.dinoex.org/pub/unix-connect/ zu finden.
Unix-Connect kann zusammen mit einem lokalen Newsserver (INN) auch als
Point eingerichtet werden. Zur Einrichtung eines lokalen Newsservers
verweise ich auf den Punkt 1.1.

1.4 Kann ich CrossPoint unter Linux verwenden?

Ja, CrossPoint läuft im DOSEmu, zumindest mit analogen Modems. Bei
einigen funktioniert es auch mit ISDN-Karten, jedoch scheint es dabei
gelegentlich Probleme zu geben.
Nach der Freigabe der Sourcen durch den Autor Peter Mandrella haben
sich zwei Teams gebildet, die Crosspoint unabhängig weiterentwickeln.
Zumindest OpenXP http://www.openxp.de <http://www.openxp.de/> hat auch
einen Linux-Port im Programm, auch wenn dieser bisher nur als
Pascal-Quellcode vorliegt und sich im Alpha-Stadium befindet.

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

Im Tin-unoff/Tin-pre1.4 (das ist die heute gebräuchliche Version, da
der ursprüngliche Tin AFAIK nicht mehr weiterentwickelt wird), ist
eine Funktion enthalten, die überprüft, ob die in einem Artikel
enthaltenen Zeichen auf dem System überhaupt dargestellt werden
können. Dazu greift der Tin auf die Locales zurück. Falls das nicht
korrekt funktioniert, liegt meist ein Problem mit den Locales vor.
Siehe dazu: "Wie ist das mit den Locales?". Führt auch das nicht zum
Erfolg, sind wahrscheinlich die Locale-Dateien unvollständig oder gar
nicht installiert. In diesem Fall besteht (neben der Installation
aktueller Locales) noch die Möglichkeit, 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 völlig
ignoriert und jedes Zeichen als darstellbar bewertet. Diese Lösung
sollte aber wirklich nur im Notfall angewandt werden.

1.6 Wie kann ich mit Linux AOL benutzen?

Gar nicht. AOL verwendet ein proprietäres Zugangsprotokoll und
unterstützt weder PPP noch SLIP, so dass der Zugang zu AOL nur mittels
der von AOL gelieferten Software möglich ist, die nicht in einer
Linux-Version zur Verfügung steht.
Unter http://www.foo.org/james/aol/aolip.html befinden sich
Informationen über experimentelle Software, die es ermöglichen soll,
auch unter Linux den AOL-Zugang zu nutzen. Falls das jemand praktisch
ausprobiert hat, wäre ich über einen Erfahrungsbericht dankbar.
Anmerkung: AOL testet zur Zeit einen PPP Zugang, evtl. ist also
demnächst eine Einwahl ohne spezielle Zugangssoftware möglich.

1.7 Wie kann ich mit Linux über T-Online in Netz kommen?

Informationen zur Konfiguration des Systems zur Nutzung des
T-Online-PPP-Zuganges finden sich unter
http://home.t-online.de/home/albert.rommel/ppp.htm bzw.
http://home.t-online.de/home/albert.rommel/linux-text.htm.
Kurzüberblick: Die Verbindung zu T-Online wird über PPP aufgebaut. Die
Authentifizierung erfolgt durch PAP. Der Benutzername entspricht dabei
Zugangskennung + T-Online Nummer + Mitbenutzernummer (4-Stellig). Das
Password dem gewohnten T-Online Password. Die Zugangsnummer ist sowohl
für ISDN als auch für Modem 0191011. Die ISDN Verbindung erfolgt nicht
über RawIP. Die IP wird dynamisch zugewiesen. Der Nameserver hat die
IP 194.25.2.129.

1.8 Wie kann ich die dynamisch vergebene IP-Adresse meines Rechners
herausfinden?

Dazu gibt es (mindestens) zwei Lösungen:
-Die diversen PPP-Daemonen (pppd, ipppd,...) rufen nach erfolgtem
Verbindungsaufbau das Skript /etc/ppp/ip-up auf. Dieses bekommt die
zugeteilte IP-Adresse als vierten Parameter übergeben. Durch Einfügen
von echo $4 > /var/run/aktuelleIP kann man sie speichern. Fügt man
zusätzlich rm -f /var/run/aktuelleIP in /etc/ppp/ip-down ein, kann man
als Bonus durch test -f /var/run/aktuelleIP überprüfen, ob man online
ist. Lesehinweise: pppd(8), ipppd(8)
-Die zweite Variante funktioniert mit beliebigen
IP-Netzwerkinterfaces: env LC_ALL=C /sbin/ifconfig Devicename | sed -n
'/addr:/s/ [^r]*..//gp' Devicename ist an die eigene Konfiguration
anzupassen. Bei einer Modemverbindung ppp0, beim ersten
ISDN-SyncPPP-Device ippp0, bei ISDN-rawIP isdn0, ...

1.9 Ich benötige einen ordentlichen telnet- oder ssh-Client für
Windows.

Diese Frage ist in de.comp.os.unix.* offtopic. putty
<http://www.chiark.greenend.org.uk/~sgtatham/putty/>, teraterm-pro
<http://hp.vector.co.jp/authors/VA002416/teraterm.html> mit ssh-Plugin
<http://www.zip.com.au/~roca/ttssh.html> oder SecureCRT
<http://www.vandyke.com/>.
_________________________________________________________________

04.02.2001 dcoul-FAQ authors

0 new messages