diff options
author | Martin Heinen <mheinen@FreeBSD.org> | 2005-02-26 12:20:56 +0000 |
---|---|---|
committer | Martin Heinen <mheinen@FreeBSD.org> | 2005-02-26 12:20:56 +0000 |
commit | 60abe1fc741d60558120f119558c6843bfd42e7a (patch) | |
tree | f7cb868f0ae8d7a2f98ff491433b90ee48c8ced6 /de_DE.ISO8859-1 | |
parent | da7d17729f6cf39d2bac2a0c0a865580f9566a65 (diff) |
Notes
Diffstat (limited to 'de_DE.ISO8859-1')
-rw-r--r-- | de_DE.ISO8859-1/articles/Makefile | 5 | ||||
-rw-r--r-- | de_DE.ISO8859-1/articles/explaining-bsd/article.sgml | 1344 | ||||
-rw-r--r-- | de_DE.ISO8859-1/articles/new-users/Makefile | 24 | ||||
-rw-r--r-- | de_DE.ISO8859-1/articles/new-users/article.sgml | 1210 | ||||
-rw-r--r-- | de_DE.ISO8859-1/books/faq/book.sgml | 13 | ||||
-rw-r--r-- | de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml | 2939 | ||||
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml | 8 | ||||
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/basics/chapter.sgml | 6 | ||||
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml | 41 | ||||
-rw-r--r-- | de_DE.ISO8859-1/flyer/flyer.tex | 18 |
10 files changed, 4889 insertions, 719 deletions
diff --git a/de_DE.ISO8859-1/articles/Makefile b/de_DE.ISO8859-1/articles/Makefile index 61398acb15..dd36519f24 100644 --- a/de_DE.ISO8859-1/articles/Makefile +++ b/de_DE.ISO8859-1/articles/Makefile @@ -3,12 +3,13 @@ # The FreeBSD German Documentation Project # # $FreeBSD$ -# $FreeBSDde: de-docproj/articles/Makefile,v 1.1 2004/11/28 21:13:46 jkois Exp $ -# basiert auf: 1.42 +# $FreeBSDde: de-docproj/articles/Makefile,v 1.3 2005/01/29 11:48:10 jkois Exp $ +# basiert auf: 1.42 SUBDIR = contributing SUBDIR+= explaining-bsd SUBDIR+= laptop +SUBDIR+= new-users # ROOT_SYMLINKS+= new-users diff --git a/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml b/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml index eacf1ca4b5..dfb0f7562f 100644 --- a/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml +++ b/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml @@ -1,672 +1,672 @@ -<!-- The FreeBSD Documentation Project
- The FreeBSD German Documentation Project
-
- $FreeBSD$
- $FreeBSDde: de-docproj/articles/explaining-bsd/article.sgml,v 1.1 2004/11/28 21:13:46 jkois Exp $
- basiert auf: 1.16
--->
-
-<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
-<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//DE">
-%articles.ent;
-]>
-
-<article lang="de">
- <articleinfo>
- <title>Hintergrundwissen zu BSD</title>
-
- <authorgroup>
- <author>
- <firstname>Greg</firstname>
- <surname>Lehey</surname>
-
- <affiliation>
- <address><email>grog@FreeBSD.org</email></address>
- </affiliation>
- </author>
- </authorgroup>
-
- <legalnotice id="trademarks" role="trademarks">
- &tm-attrib.freebsd;
- &tm-attrib.amd;
- &tm-attrib.apple;
- &tm-attrib.linux;
- &tm-attrib.opengroup;
- &tm-attrib.sun;
- &tm-attrib.xfree86;
- &tm-attrib.general;
- </legalnotice>
-
- <abstract>
- <para>In der Open Source-Welt steht das Wort
- <quote>Linux</quote> oft synonym für
- <quote>Betriebssystem</quote>, obwohl es nicht das einzige
- frei verfügbare Betriebssystem ist. Laut <ulink
- url="http://www.leb.net/hzo/ioscount/data/r.9904.txt">Internet
- Operating System Counter</ulink> liefen im April 1999
- 31,3 Prozent der weltweit vernetzten Rechner unter Linux,
- 14,6 Prozent liefen hingegen unter BSD &unix;. Einige
- der weltweit größten Internetdienstleister, darunter
- <ulink url="http://www.yahoo.com/">Yahoo!</ulink>, verwenden BSD.
- Der im Jahre 1999 weltgrößte FTP-Server <ulink
- url="ftp://ftp.cdrom.com/">ftp.cdrom.com</ulink> (inzwischen
- abgeschaltet) verwendete BSD, um täglich 1,4 Terabyte
- an Daten zu übertragen. Hier geht es offensichtlich nicht
- um einen Nischenmarkt, BSD ist vielmehr ein gut gehütetes
- Geheimnis.</para>
-
- <para>Worin besteht nun dieses Geheimnis? Warum ist BSD nicht
- bekannter? Dieser Artikel versucht, diese und andere Fragen
- zu beantworten.</para>
-
- <para>Unterschiede zwischen BSD und Linux werden in diesem
- Artikel <emphasis>kursiv</emphasis> dargestellt.</para>
-
- <para><emphasis>Übersetzt von Fabio Tosques</emphasis>.</para>
- </abstract>
- </articleinfo>
-
- <sect1>
- <title>Was ist BSD?</title>
-
- <para>BSD steht für <quote>Berkeley Software
- Distribution</quote>, also für die Verbreitung des Quellcodes
- der University of California, Berkeley, und war ursprünglich
- als Erweiterung für ein von AT&T's Research
- entwickeltes &unix;-Betriebssystem gedacht. Verschiedene
- Open Source-Projekte basieren auf dieser, als 4.4BSD-Lite
- bekannten Quellcodeausgabe. In dieser Ausgabe sind auch
- Softwarepakete anderer Open Source-Projekte, insbesondere jene des
- GNU-Projekts, enthalten. Das komplette Betriebssystem
- umfasst:</para>
-
- <itemizedlist>
- <listitem>
- <para>Den BSD-Kernel, der sich um Prozessscheduling,
- Speichermanagement, die Unterstützung mehrerer
- Prozessoren
- (<foreignphrase>symmetric multi-processing</foreignphrase>
- (SMP)), Gerätetreiber und anderes mehr
- kümmert.</para>
-
- <para><emphasis>Im Gegensatz zum Linux-Kernel gibt es
- verschiedene BSD-Kernel mit unterschiedlichen
- Fähigkeiten</emphasis>.</para>
-
- <listitem>
- <para>Die C-Bibliothek, die grundlegende API des
- Systems.</para>
-
- <para><emphasis>Die C-Bibliothek von BSD basiert auf
- Berkeley-Code und nicht auf Code des
- GNU-Projekts</emphasis>.</para>
- </listitem>
-
- <listitem>
- <para>Nützliche Programme wie Shells, Programme für
- Dateioperationen, Compiler und Linker.</para>
-
- <para><emphasis>Einige Programme stammen aus dem GNU-Projekt,
- andere hingegen nicht</emphasis>.</para>
- </listitem>
-
- <listitem>
- <para>Das X Window-System für die grafische
- Benutzeroberfläche.</para>
-
- <para>Bei den meisten BSD-Versionen werden zwei
- X Window-Systeme gepflegt, die Version des
- <ulink url="http://www.XFree86.org/">&xfree86;</ulink>-Projekts,
- sowie die des
- <ulink url="http://www.X.org/">X.org</ulink>-Projekts. Dieser
- Code wird auch von Linux verwendet. BSD definiert keinen
- <quote>Standarddesktop</quote> wie GNOME oder KDE. Beide
- sind aber in der Portssammlung vorhanden.</para>
- </listitem>
-
- <listitem>
- <para>Viele weitere Programme und Werkzeuge.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1>
- <title>Ein echtes &unix;?</title>
-
- <para>BSD-Betriebssysteme sind keine Nachbauten, sondern
- Weiterentwicklungen des &unix;-Betriebssystems von
- AT&T's Research, das als Vorfahre des modernen
- &unix; System V gilt. Überrascht Sie diese Aussage? Wie kann
- das sein, wenn AT&T seine Quellen nie als Open Source
- veröffentlicht hat?</para>
-
- <para>Es stimmt, dass AT&T &unix; kein Open Source ist. Im
- Sinne des Copyright ist BSD daher eindeutig
- <emphasis>kein</emphasis> &unix;. Andererseits fügte
- AT&T aber Quellcode von anderen Projekten in den eigenen Code
- ein, inbesondere jenen der Computer Sciences Research Group (CSRG)
- der University of California in Berkeley, CA. Im Jahr 1976
- begann die CSRG damit, Bänder ihrer Software zu vertreiben,
- die sie <emphasis>Berkeley Software Distribution</emphasis> oder
- <emphasis>BSD</emphasis> nannten.</para>
-
- <para>Anfangs wurden vor allem Anwendungen veröffentlicht.
- Das änderte sich schlagartig, als die CSRG von der Advanced
- Projects Research Agency (DARPA) den Auftrag bekam, deren
- Kommunikationsprotokolle (ARPANET) zu überarbeiten. Die
- neuen Protokolle wurden als <emphasis>Internet Protocols</emphasis>
- bezeichnet, und wurden später als <emphasis>TCP/IP</emphasis>
- weltbekannt. Die erste Implementierung dieser Protokolle erfolgte
- 1982 als Teil von 4.2BSD.</para>
-
- <para>Im Laufe der 80er Jahre entstanden einige neue Firmen, die
- Workstations vertrieben. Viele zogen es vor, &unix; zu
- lizenzieren und kein eigenes Betriebssystem zu entwickeln.
- Sun Microsystems lizenzierte &unix;, implementierte eine
- Version von 4.2BSD und bezeichnete das fertige Produkt als
- &sunos;. Als es AT&T gestattet wurde, &unix; kommerziell zu
- vertreiben, verkaufte AT&T eine abgespeckte Version namens
- System III, der schnell System V folgte. In
- System V-Basissystem waren keine Netzwerkfunktionen
- enthalten, daher wurden alle Implementierungen zusätzlich
- mit Software des BSD-Projekts, darunter TCP/IP sowie diverse
- nützliche Programme wie <emphasis>csh</emphasis> oder
- <emphasis>vi</emphasis>. Diese Erweiterungen wurden unter der
- Bezeichnung <emphasis>Berkeley Extensions</emphasis>
- zusammengefasst.</para>
-
- <para>Da die BSD-Bänder AT&T-Quellcode enthielten, war
- eine &unix;-Lizenz erforderlich. Als im Jahre 1990 die
- Förderung der CSRG auslief, beschlossen einige Mitglieder
- der Gruppe, den quelloffenen BSD-Code ohne den
- proprietären AT&T-Code zu veröffentlichen. Das
- Ergebnis dieser Bemühungen war
- <emphasis>Networking Tape 2</emphasis>, besser bekannt als
- <emphasis>Net/2</emphasis>. Net/2 war aber kein komplettes
- Betriebssystem, da gut 20 Prozent des Kernelcodes fehlten.
- William F. Jolitz, ein Mitglied der CSRG, schrieb den fehlenden
- Code und veröffentlichte diesen Anfang 1992 als
- <emphasis>386BSD</emphasis>. Zur gleichen Zeit gründete
- eine andere Gruppe ehemaliger CSRG-Mitglieder das kommerzielle
- Unternehmen <ulink url="http://www.bsdi.com/">Berkeley Software
- Design Inc.</ulink> und veröffentlichte eine Betaversion des
- Betriebssystems unter dem Namen <ulink
- url="http://www.bsdi.com">BSD/386</ulink>, die auf den gleichen
- Quellen basierte. Später wurde dieses Betriebssystem in
- BSD/OS umbenannt.</para>
-
- <para>386BSD war niemals wirklich stabil. Daher spalteten sich
- 1993 zwei neue Projekte ab: <ulink
- url="http://www.NetBSD.org/">NetBSD</ulink> sowie <ulink
- url="&url.base;/index.html">FreeBSD</ulink>. Beide Projekte
- entstanden, weil sich 386BSD zu langsam weiterentwickelte.
- Die erste NetBSD-Version entstand Anfang 1993, die erste
- FreeBSD-Version Ende 1993. Zu dieser Zeit hatte sich der
- Quellcode aber derart verändert, dass es schwer war,
- ihn wieder zu verschmelzen. Zudem hatten die beiden Projekte
- unterschiedliche Ziele, die dieser Artikel noch beschreiben
- wird. 1996 spaltete sich ein weiteres Projekt von NetBSD ab:
- <ulink url="http://www.OpenBSD.org">OpenBSD</ulink>.
- </sect1>
-
- <sect1>
- <title>Warum ist BSD nicht bekannter?</title>
-
- <para>BSD ist aus vielen Gründen relativ unbekannt:</para>
-
- <orderedlist>
- <listitem>
- <para>BSD-Entwickler sind eher an der Verbesserung des Codes
- interessiert, als an der Vermarktung desselben.</para>
- </listitem>
-
- <listitem>
- <para>Die Popularität von Linux beruht auch auf externen
- Faktoren wie der Presse, sowie auf Firmen, die gegründet
- wurden, um Linux zu vertreiben. Bis heute fehlen den freien
- BSD-Systemen solche Förderer.</para>
- </listitem>
-
- <listitem>
- <para>BSD-Entwickler sind vielleicht erfahrener als
- Linux-Entwickler, und haben deshalb weniger Interesse daran,
- die Benutzung des Systems einfacher zu gestalten. Einsteiger
- sind bei Linux wahrscheinlich besser aufgehoben.</para>
- </listitem>
-
- <listitem>
- <para>1992 verklagte AT&T <ulink
- url="http://www.bsdi.com/">BSDI</ulink>, den Verkäufer
- von BSD/386, mit der Behauptung, der Quellcode enthalte
- urheberrechtlich geschützten AT&T Code. Zwar kam es
- 1994 zu einer außergerichtlichen Einigung, die Leute
- waren aber erst einmal verunsichert. Noch im März 2000
- behauptete ein im Web publizierter Artikel, das Verfahren sei
- erst <quote>kürzlich</quote> eingestellt worden.</para>
-
- <para>Bezüglich der Bezeichnung schaffte der
- Gerichtsprozess jedoch Klarheit: In den 80er Jahren war
- BSD unter dem Namen <quote>BSD &unix;</quote> bekannt.
- Durch die Entfernung der letzten Zeilen des AT&T-Codes
- verlor BSD das Recht, sich &unix; zu nennen. Deshalb finden
- Sie in der Literatur sowohl Verweise auf
- <quote>4.3BSD &unix;</quote> als auch auf
- <quote>4.4BSD</quote>.</para>
- </listitem>
-
- <listitem>
- <para>Nach wie vor existiert das Vorurteil, die einzelnen
- BSD Projekte seien gespalten und zerstritten. Das <ulink
- url="http://interactive.wsj.com/bin/login?Tag=/&URI=/archive/retrieve.cgi%253Fid%253DSB952470579348918651.djm&">
- Wall Street Journal</ulink> sprach gar von einer
- <quote>Balkanisierung</quote> des BSD-Projekts. Wie der
- Prozess, basiert auch dieses Vorurteil hauptsächlich
- auf alten Geschichten.</para>
- </listitem>
- </orderedlist>
- </sect1>
-
- <sect1>
- <title>Ein Vergleich zwischen BSD und Linux</title>
-
- <para>Wo sind nun die Unterschiede zwischen, sagen wir Debian
- GNU/Linux und FreeBSD? Für die meisten Benutzer sind die
- Unterschiede nicht groß: Beide sind &unix;-ähnliche
- Betriebssysteme. Beide sind nichtkommerzielle Projekte (was
- für eine Vielzahl anderer Linux-Distributionen nicht gilt).
- Der folgende Abschnitt betrachtet BSD näher und vergleicht es
- mit Linux. Die meisten Erläuterungen beziehen sich auf
- FreeBSD, da es sich dabei um das am häufigsten installierte
- BSD-System handelt. Die Unterschiede zu NetBSD und OpenBSD sind
- aber gering.</para>
-
- <sect2>
- <title>Wem gehört BSD?</title>
-
- <para>BSD gehört weder einer einzelnen Person, noch
- gehört es einem Unternehmen. Entwickelt und zur
- Verfügung gestellt wird es von einer technisch
- interessierten und engagierten Gemeinschaft, die über
- die ganze Welt verteilt ist. Einige BSD-Komponenten sind
- eigenständige Open Source-Projekte mit eigenen Rechten,
- die getrennt verwaltet und gewartet werden.</para>
- </sect2>
-
- <sect2>
- <title>Wie erfolgt die Weiterentwicklung von BSD?</title>
-
- <para>BSD-Kernel werden nach dem Open Source-Modell
- weiterentwickelt. Jedes Projekt unterhält einen
- öffentlich zugänglichen
- <emphasis>Quellcode-Baum</emphasis>, der durch das <ulink
- url="http://www.cvshome.org/">Concurrent Versions System</ulink>
- (CVS) organisiert wird, und alle Quellen des Projekts, die
- Dokumentation und andere notwendige Dateien enthält.
- CVS erlaubt es Anwendern, jede gewünschte Version des
- Systems <quote>auszuchecken</quote> (mit anderen Worten, eine
- Kopie des System zu erhalten).</para>
-
- <para>Eine Vielzahl von Entwicklern trägt weltweit zur
- Verbesserung von BSD bei. Dabei werden drei Typen
- unterschieden:</para>
-
- <itemizedlist>
- <listitem>
- <para>Ein <firstterm>Contributor</firstterm> schreibt Code
- oder Dokumentationen. Ihm ist es nicht gestattet, seinen
- Beitrag direkt in den Quellbaum einfließen zu lassen.
- Bevor dieser Code das System eingebracht wird, muss er von
- einem registrierten Entwickler, dem
- <emphasis>Committer</emphasis> geprüft werden.</para>
- </listitem>
-
- <listitem>
- <para><firstterm>Committer</firstterm> können Code in
- den Quellbaum einbringen, d.h. sie besitzen Schreibrechte
- für den Quellcode-Baum. Um ein Committer zu werden,
- muss man zuerst seine Fähigkeiten im dem
- gewünschten Gebiet unter Beweis stellen.</para>
-
- <para>Es liegt im Ermessen des Committers, ob er die
- Allgemeinheit befragt, bevor er Änderungen am Quellbaum
- vornimmt. In der Regel wird ein erfahrener Committer
- korrekte Änderungen einfügen, ohne sich mit anderen
- abzustimmen. Ein Committer des Documentation Projects
- könnte etwa typografische oder grammatikalische
- Korrekturen ohne lange Diskussion durchführen. Auf der
- anderen Seite sollten Änderungen mit weitreichenden
- Konsequenzen vor dem Commit zur Begutachtung bereitgestellt
- werden. Im Extremfall kann ein Mitglied des Core Teams, das
- als Principal Architect fungiert, sogar die Entfernung der
- Änderung aus dem Quellcodebaum veranlassen. Dieser
- Vorgang wird als <firstterm>backing out</firstterm>
- bezeichnet. Alle Committer werden durch eine E-Mail
- über die erfolgte Änderung informiert. Es ist
- daher nicht möglich, heimlich eine Änderung
- durchzuführen.</para>
- </listitem>
-
- <listitem>
- <para>Das <firstterm>Core Team</firstterm>. Sowohl FreeBSD
- als auch NetBSD besitzen ein Core Team zur Betreuung des
- jeweiligen Projekts. Da die Core Teams erst im
- Projektverlauf entstanden, ist ihre Rolle nicht genau
- definiert. Um ein Mitglied des Core Teams zu sein, muss
- man kein Entwickler sein, obwohl dies die Regel ist. Die
- Regeln der Core Teams unterscheiden sich von Projekt zu
- Projekt, generell gilt aber, das dessen Mitglieder mehr
- Einfluss auf die Richtung des Projekts haben als
- Nichtmitglieder.</para>
- </listitem>
- </itemizedlist>
-
- <para>Diese Konstellation unterscheidet sich von Linux in
- einigen Punkten:</para>
-
- <orderedlist>
- <listitem>
- <para>Es sind stets mehrere Personen für das System
- verantwortlich. In der Praxis ist dieser Unterscheid aber
- nicht gravierend, da zum einen der Principal Architect
- verlangen kann, dass Änderungen zurückgenommen
- werden, und zum anderen auch beim Linux-Projekt mehrere
- Personen das Recht haben, Änderungen
- vorzunehmen.</para>
- </listitem>
-
- <listitem>
- <para>Es <emphasis>existiert</emphasis> ein zentraler
- Aufbewahrungsort (Repository), in dem die kompletten
- Betriebssystemquellen zu finden sind, einschließlich
- aller älteren Versionen.</para>
- </listitem>
-
- <listitem>
- <para>BSD-Projekte pflegen das komplette
- <quote>Betriebssystem</quote>, nicht nur den Kernel. Dieser
- Unterschied ist aber marginal, da weder BSD noch Linux ohne
- Anwendungsprogramme sinnvoll einsetzbar sind. Die unter BSD
- eingesetzten Applikationen sind oft identisch mit denen
- von Linux.</para>
- </listitem>
-
- <listitem>
- <para>Da beim BSD-Projekt nur ein CVS-Quellbaum gepflegt
- werden muss, ist die Entwicklung übersichtlicher, und es
- ist möglich, auf jede beliebige Version einer Datei
- zuzugreifen. CVS ermöglicht auch inkrementelle Updates:
- Das FreeBSD-Repository wird beispielsweise etwa 100 Mal pro
- Tag verändert. Viele dieser Änderungen betreffen
- aber nur einen relativen kleinen Bereich von FreeBSD.</para>
- </listitem>
- </orderedlist>
- </sect2>
-
- <sect2>
- <title>BSD-Versionen</title>
-
- <para>Jedes BSD-Projekt stellt das System in drei verschiedenen
- <quote>Ausgaben</quote> (Releases) zur Verfügung. Analog
- zu Linux erhalten diese Ausgaben eine Nummer, etwa 1.4.1 oder
- 3.5. Die Versionsnummer erhält zusätzlich ein Suffix,
- das den Verwendungszweck bezeichnet:</para>
-
- <orderedlist>
- <listitem>
- <para>Die Entwicklerversion hat das Suffix
- <firstterm>CURRENT</firstterm>. FreeBSD weist diesem Suffix
- eine Nummer zu, z.B. FreeBSD 5.0-CURRENT. NetBSD verwendet
- ein etwas anderes Bezeichnungsschema und hängt als
- Suffix nur einen Buchstaben an die Versionsnummer an, der
- Änderungen an den internen Schnittstellen anzeigt, z.B.
- NetBSD 1.4.3G. OpenBSD weist der Entwicklerversion keine
- Nummer zu, sie heißt also einfach OpenBSD-current.
- Neue Entwicklungen werden zuerst in diesen Zweig
- eingefügt.</para>
- </listitem>
-
- <listitem>
- <para>In regelmäßigen Intervallen, durchschnittlich
- zwei- bis viermal im Jahr, wird eine so genannte
- <firstterm>RELEASE</firstterm>-Version des Systems
- veröffentlicht, die dann beispielsweise als
- OpenBSD 2.6-RELEASE oder NetBSD 1.4-RELEASE
- bezeichnet wird. Diese sind sowohl auf CD-ROM
- als auch als freier Download von den FTP-Servern der Projekte
- erhältlich. Diese RELEASE-Versionen sind für
- Endbenutzer gedacht. NetBSD verwendet sogar eine dritte
- Ziffer, um gepatchte Releases zu kennzeichnen
- (etwa NetBSD 1.4.2).</para>
- </listitem>
-
- <listitem>
- <para>Sobald Fehler in einer RELEASE-Version gefunden werden,
- werden diese beseitigt und in den CVS-Baum eingefügt.
- Beim FreeBSD-Projekt wird die daraus resultierende Version
- als <firstterm>STABLE</firstterm> bezeichnet, während
- sie bei NetBSD und OpenBSD weiterhin RELEASE heißt.
- Kleinere Änderungen, die sich nach einer Testphase im
- CURRENT-Zweig als stabil erweisen, können ebenfalls
- in die STABLE-Version einfließen.</para>
- </listitem>
- </orderedlist>
-
- <para><emphasis>Bei Linux werden hingegen zwei getrennte
- Code-Bäume gepflegt: Eine stabile Version und eine
- Entwicklerversion. Stabile Versionen haben an der zweiten
- Stelle eine gerade Ziffer (2.0, 2.2 oder 2.4).
- Entwicklerversionen haben an der zweiten Stelle eine ungerade
- Ziffer (2.1, 2.3 oder 2.5). In jedem Fall folgt der
- zweiten Ziffer noch eine dritte, welche die Version genauer
- bezeichnet. Zusätzlich fügt jeder Verkäufer
- einer Linux-Distribution selbst Programme und Werkzeuge hinzu.
- Daher ist auch der Name der Distribution nicht unwichtig, da
- dieser ebenfalls eine Versionsnummer enthält. So kann die
- vollständige Beschreibung beispielsweise so aussehen:
- <quote>TurboLinux 6.0 mit
- Kernel 2.2.14</quote></emphasis></para>
- </sect2>
-
- <sect2>
- <title>Welche BSD-Versionen gibt es überhaupt?</title>
-
- <para>Im Gegensatz zu den zahlreichen Linux-Distributionen gibt es
- nur drei frei verfügbare BSDs. Jedes BSD-Projekt
- unterhält seinen eigenen Quellcode-Baum und seinen eigenen
- Kernel. In der Praxis scheinen die Unterschiede im Code der
- Anwenderprogramme aber geringer zu sein als bei Linux.</para>
-
- <para>Es ist nicht einfach, die Ziele der einzelnen BSD-Projekte
- genau zu trennen, da die Unterschiede eher subtiler Natur
- sind:</para>
-
-
- <itemizedlist>
- <listitem>
- <para>FreeBSD will eine hohe Leistung erreichen, für
- den Benutzer einfach in der Bedienung sein, und wird von
- Internetanbietern bevorzugt eingesetzt. Es läuft
- auf einer Vielzahl von Plattformen, darunter
- i386-Systeme (<quote>PCs</quote>), Systeme mit einem
- AMD 64-Bit-Prozessor, &ultrasparc;-Systeme,
- Compaq Alpha-Systeme, sowie Systeme, die der
- Spezifikation NEC PC-98 entsprechen. Das
- FreeBSD-Projekt hat die mit Abstand größte
- Anwenderzahl unter den frei verfügbaren
- BSD-Systemen.</para>
- </listitem>
-
- <listitem>
- <para>Bei NetBSD ist Portabilität das oberste Ziel:
- <quote>Natürlich läuft NetBSD darauf.</quote>
- NetBSD kann auf vielen verschiedenen Systemen, von Palmtops
- bis hin zu großen Servern, installiert werden, und
- wurde sogar schon im Raumfahrtprogramm der NASA eingesetzt.
- Besonders für alte Nicht-Intel-Plattformen ist NetBSD
- die erste Wahl.</para>
- </listitem>
-
- <listitem>
- <para>Bei OpenBSD stehen die Sicherheit und sauberer Code im
- Vordergrund. OpenBSD verbindet bei der Weiterentwicklung
- des Systems Open Source-Konzepte mit rigorosen
- <foreignphrase>code reviews</foreignphrase>. Dadurch
- entsteht ein sehr sicheres System, das OpenBSD für
- sicherheitsbewusste Unternehmen, Banken, Börsen
- und die US-Regierung zu ersten Wahl macht. Auch OpenBSD
- läuft, ähnlich wie NetBSD, auf vielen
- verschiedenen Plattformen.</para>
- </listitem>
- </itemizedlist>
-
- <para>Es gibt noch zwei weitere BSD-&unix;-Systeme, die aber
- nicht Open Source sind: BSD/OS sowie Apples
- &macos; X:</para>
-
- <itemizedlist>
- <listitem>
- <para>BSD/OS ist das älteste, von 4.4BSD abstammende
- Betriebssystem. Es ist zwar nicht Open Source,
- Quellcode-Lizenzen können aber relativ günstig
- erworben werden. Es weist viele Gemeinsamkeiten mit
- FreeBSD auf.</para>
- </listitem>
-
- <listitem>
- <para>Bei <ulink url="http://www.apple.com/macosx/server/">
- &macos; X</ulink> handelt es sich um die neueste
- Version des Betriebssystems der &macintosh;-Linie von
- <ulink
- url="http://www.apple.com/">Apple Computer Inc.'s</ulink>.
- <ulink
- url="http://developer.apple.com/darwin/">Darwin</ulink>,
- der BSD-Kern des Betriebssystems ist als voll
- funktionsfähiges Open Source-Betriebssystem für
- x86- sowie PPC-Computer erhältlich. Die grafische
- Oberfläche Aqua/Quartz und andere proprietäre
- Anwendungen von &macos; X sind aber weiterhin
- closed-source Software. Einige Darwin-Entwickler sind
- auch FreeBSD-Committer, was auch für den umgekehrten
- Fall gilt.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>Worin unterscheidet sich die BSD-Lizenz von der GNU
- Public License?</title>
-
- <para>Linux steht unter der <ulink
- url="http://www.fsf.org/copyleft/gpl.html">GNU General Public
- License</ulink> (GPL), die entworfen wurde, um closed-source
- Software zu verhindern. Jede Software, die von einer Software
- abgeleitet wurde, die unter der GPL steht, muss wieder unter
- der GPL veröffentlicht werden. Auf Verlangen ist auch
- der Quellcode zur Verfügung zu stellen. Die <ulink
- url="http://www.opensource.org/licenses/bsd-license.html">
- BSD-Lizenz</ulink> ist dagegen weniger restriktiv: Der
- Quellcode muss nicht zur Verfügung gestellt werden, es
- können also auch Binärdateien verbreitet werden.
- Dieser Umstand ist besonders für Anwendungen im
- Embedded-Bereich interessant.</para>
- </sect2>
-
- <sect2>
- <title>Was sollte ich sonst noch wissen?</title>
-
- <para>Da für BSD weniger Anwendungsprogramme verfügbar
- waren als für Linux, wurde ein Softwarepaket entwickelt, das
- die Ausführung von Linuxprogrammen unter BSD
- ermöglichte. Diese Paket enthält zwei Dinge:
- Kernelmodifikationen zur korrekten Ausführung von
- Linux-Systemaufrufen sowie Linuxkompatibilitätsdateien,
- beispielsweise die C-Bibliothek von Linux. Unterscheide in der
- Ausführungsgeschwindigkeit von Linuxanwendungen auf einem
- Linuxrechner und einem vergleichbaren mit BSD ausgestatteten
- Rechner sind in der Praxis so gut wie nicht feststellbar.</para>
-
- <para>Die <quote>Alles-aus-einer-Hand</quote>-Natur von BSD
- hat den Vorteil, dass Upgrades im Vergleich zu Linux häufig
- leichter durchzuführen sind. BSD aktualisiert
- Bibliotheken, indem es Kompatibilitätsmodule für
- ältere Versionen der Bibliotheken bereitstellt. Daher ist
- es möglich, auch mehrere Jahre alte Binärdateien ohne
- Probleme auszuführen.</para>
- </sect2>
-
- <sect2>
- <title>Was soll ich nun benutzen, BSD oder Linux?</title>
-
- <para>Was heißt das nun alles für die Praxis? Wer
- sollte BSD, wer Linux benutzen?</para>
-
- <para>Diese Frage ist nicht einfach zu beantworten. Trotzdem
- folgen nun einige Empfehlungen:</para>
-
- <itemizedlist>
- <listitem>
- <para><quote>Wenn es nicht kaputt ist, fass es nicht
- an!</quote>: Wenn Sie schon ein frei verfügbares
- Betriebssystem verwenden und damit glücklich sind,
- gibt es eigentlich keinen vernünftigen Grund für
- einen Wechsel.</para>
- </listitem>
-
- <listitem>
- <para>BSD-Systeme, inbesonders FreeBSD, können eine
- weitaus bessere Leistung als Linux-Systeme aufweisen. Diese
- Aussage ist aber nicht allgemein gültig. In den
- meisten Fällen sind die Leistungsunterschiede aber
- gering oder gar nicht festzustellen. In bestimmten
- Fällen kann auch Linux eine bessere Leistung
- aufweisen.</para>
- </listitem>
-
- <listitem>
- <para>In der Regel haben BSD-Systeme den Ruf,
- zuverlässiger zu sein. Diese Aussage beruht auf der
- reiferen Codebasis.</para>
- </listitem>
-
- <listitem>
- <para>Die BSD-Lizenz kann für sie attraktiver sein als
- die GPL.</para>
- </listitem>
-
- <listitem>
- <para>BSD-Systeme können die meisten Linuxprogramme
- ausführen, während Linux keine BSD-Programme
- ausführen kann. Viele BSD-Systeme können sogar
- Programme von anderen &unix;-ähnlichen Systemen
- ausführen. Daraus könnte man ableiten, dass die
- Migration auf ein BSD-System einfacher ist, als es bei
- Linux der Fall wäre.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>Wo gibt es Support, Serviceleistungen und Schulungen
- für BSD?</title>
-
- <para>BSDi hat BSD/OS von Anfang an unterstützt und hat
- angekündigt, Supportverträge für FreeBSD
- anzubieten.</para>
-
- <para>Darüber hinaus finden sich auf den folgenden Seiten der
- einzelnen Projekte Firmen, die Supportleistungen anbieten:
- <ulink url="&url.base;/commercial/consult_bycat.html">FreeBSD</ulink>,
- <ulink url="http://www.netbsd.org/gallery/consultants.html">NetBSD</ulink>,
- und <ulink url="http://www.openbsd.org/support.html">OpenBSD</ulink>.</para>
- </sect2>
- </sect1>
-</article>
-
-<!--
- Local Variables:
- mode: sgml
- sgml-indent-data: t
- sgml-omittag: nil
- sgml-always-quote-attributes: t
- End:
--->
+<!-- The FreeBSD Documentation Project + The FreeBSD German Documentation Project + + $FreeBSD$ + $FreeBSDde: de-docproj/articles/explaining-bsd/article.sgml,v 1.5 2005/02/26 12:20:54 mheinen Exp $ + basiert auf: 1.16 +--> + +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//DE"> +%articles.ent; +]> + +<article lang="de"> + <articleinfo> + <title>Hintergrundwissen zu BSD</title> + + <authorgroup> + <author> + <firstname>Greg</firstname> + <surname>Lehey</surname> + + <affiliation> + <address><email>grog@FreeBSD.org</email></address> + </affiliation> + </author> + </authorgroup> + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.amd; + &tm-attrib.apple; + &tm-attrib.linux; + &tm-attrib.opengroup; + &tm-attrib.sun; + &tm-attrib.xfree86; + &tm-attrib.general; + </legalnotice> + + <abstract> + <para>In der Open Source-Welt steht das Wort + <quote>Linux</quote> oft synonym für + <quote>Betriebssystem</quote>, obwohl es nicht das einzige + frei verfügbare Betriebssystem ist. Laut <ulink + url="http://www.leb.net/hzo/ioscount/data/r.9904.txt">Internet + Operating System Counter</ulink> liefen im April 1999 + 31,3 Prozent der weltweit vernetzten Rechner unter Linux, + 14,6 Prozent liefen hingegen unter BSD &unix;. Einige + der weltweit größten Internetdienstleister, darunter + <ulink url="http://www.yahoo.com/">Yahoo!</ulink>, verwenden BSD. + Der im Jahre 1999 weltgrößte FTP-Server <ulink + url="ftp://ftp.cdrom.com/">ftp.cdrom.com</ulink> (inzwischen + abgeschaltet) verwendete BSD, um täglich 1,4 Terabyte + an Daten zu übertragen. Hier geht es offensichtlich nicht + um einen Nischenmarkt, BSD ist vielmehr ein gut gehütetes + Geheimnis.</para> + + <para>Worin besteht nun dieses Geheimnis? Warum ist BSD nicht + bekannter? Dieser Artikel versucht, diese und andere Fragen + zu beantworten.</para> + + <para>Unterschiede zwischen BSD und Linux werden in diesem + Artikel <emphasis>kursiv</emphasis> dargestellt.</para> + + <para><emphasis>Übersetzt von Fabio Tosques</emphasis>.</para> + </abstract> + </articleinfo> + + <sect1> + <title>Was ist BSD?</title> + + <para>BSD steht für <quote>Berkeley Software + Distribution</quote>, also für die Verbreitung des Quellcodes + der University of California, Berkeley, und war ursprünglich + als Erweiterung für ein von AT&T's Research + entwickeltes &unix; Betriebssystem gedacht. Verschiedene + Open Source-Projekte beruhen auf dieser, als 4.4BSD-Lite + bekannten Quellcodeausgabe. In dieser Ausgabe sind auch + Softwarepakete anderer Open Source-Projekte, insbesondere jene des + GNU-Projekts, enthalten. Das komplette Betriebssystem + umfasst:</para> + + <itemizedlist> + <listitem> + <para>Den BSD-Kernel, der sich um Prozessscheduling, + Speichermanagement, die Unterstützung mehrerer + Prozessoren + (<foreignphrase>symmetric multi-processing</foreignphrase>, + SMP), Gerätetreiber und anderes mehr + kümmert.</para> + + <para><emphasis>Im Gegensatz zum Linux-Kernel gibt es + verschiedene BSD-Kernel mit unterschiedlichen + Fähigkeiten</emphasis>.</para> + + <listitem> + <para>Die C-Bibliothek, die grundlegende API des + Systems.</para> + + <para><emphasis>Die C-Bibliothek von BSD basiert auf + Berkeley-Code und nicht auf Code des + GNU-Projekts</emphasis>.</para> + </listitem> + + <listitem> + <para>Nützliche Programme wie Shells, Programme für + Dateioperationen, Compiler und Linker.</para> + + <para><emphasis>Einige Programme stammen aus dem GNU-Projekt, + andere hingegen nicht</emphasis>.</para> + </listitem> + + <listitem> + <para>Das X Window-System für die grafische + Benutzeroberfläche.</para> + + <para>Bei den meisten BSD-Versionen werden zwei + X Window-Systeme gepflegt, die Version des + <ulink url="http://www.XFree86.org/">&xfree86;</ulink>-Projekts, + sowie die des + <ulink url="http://www.X.org/">X.org</ulink>-Projekts. Dieser + Code wird auch von Linux verwendet. BSD definiert keinen + <quote>Standarddesktop</quote> wie GNOME oder KDE. Beide + sind aber in der Portssammlung vorhanden.</para> + </listitem> + + <listitem> + <para>Viele weitere Programme und Werkzeuge.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1> + <title>Ein echtes &unix;?</title> + + <para>BSD-Betriebssysteme sind keine Nachbauten, sondern + Weiterentwicklungen des &unix; Betriebssystems von + AT&T's Research, das als Vorfahre des modernen + &unix; System V gilt. Überrascht Sie diese Aussage? Wie kann + das sein, wenn AT&T seine Quellen nie als Open Source + veröffentlicht hat?</para> + + <para>Es stimmt, dass AT&T &unix; kein Open Source ist. Im + Sinne des Copyright ist BSD daher eindeutig + <emphasis>kein</emphasis> &unix;. Andererseits fügte + AT&T aber Quellcode von anderen Projekten in den eigenen Code + ein, insbesondere jenen der Computer Sciences Research Group (CSRG) + der University of California in Berkeley, CA. Im Jahr 1976 + begann die CSRG damit, Bänder ihrer Software zu vertreiben, + die sie <emphasis>Berkeley Software Distribution</emphasis> oder + <emphasis>BSD</emphasis> nannten.</para> + + <para>Anfangs wurden vor allem Anwendungen veröffentlicht. + Das änderte sich schlagartig, als die CSRG von der Advanced + Projects Research Agency (DARPA) den Auftrag bekam, deren + Kommunikationsprotokolle (ARPANET) zu überarbeiten. Die + neuen Protokolle wurden als <emphasis>Internet Protocols</emphasis> + bezeichnet, und wurden später als <emphasis>TCP/IP</emphasis> + weltbekannt. Die erste Implementierung dieser Protokolle erfolgte + 1982 als Teil von 4.2BSD.</para> + + <para>Im Laufe der 80er Jahre entstanden einige neue Firmen, die + Workstations vertrieben. Viele zogen es vor, &unix; zu + lizenzieren und kein eigenes Betriebssystem zu entwickeln. + Sun Microsystems lizenzierte &unix;, implementierte eine + Version von 4.2BSD und bezeichnete das fertige Produkt als + &sunos;. Als es AT&T gestattet wurde, &unix; kommerziell zu + vertreiben, verkaufte AT&T eine abgespeckte Version namens + System III, der schnell System V folgte. Im + System V-Basissystem waren keine Netzwerkfunktionen + enthalten, daher wurden alle Implementierungen zusätzlich + mit Software des BSD-Projekts, darunter TCP/IP sowie diverse + nützliche Programme wie <emphasis>csh</emphasis> oder + <emphasis>vi</emphasis>. Diese Erweiterungen wurden unter der + Bezeichnung <emphasis>Berkeley Extensions</emphasis> + zusammengefasst.</para> + + <para>Da die BSD-Bänder AT&T-Quellcode enthielten, war + eine &unix; Lizenz erforderlich. Als im Jahre 1990 die + Förderung der CSRG auslief, beschlossen einige Mitglieder + der Gruppe, den quelloffenen BSD-Code ohne den + proprietären AT&T-Code zu veröffentlichen. Das + Ergebnis dieser Bemühungen war + <emphasis>Networking Tape 2</emphasis>, besser bekannt als + <emphasis>Net/2</emphasis>. Net/2 war aber kein komplettes + Betriebssystem, da gut 20 Prozent des Kernelcodes fehlten. + William F. Jolitz, ein Mitglied der CSRG, schrieb den fehlenden + Code und veröffentlichte diesen Anfang 1992 als + <emphasis>386BSD</emphasis>. Zur gleichen Zeit gründete + eine andere Gruppe ehemaliger CSRG-Mitglieder das kommerzielle + Unternehmen <ulink url="http://www.bsdi.com/">Berkeley Software + Design Inc.</ulink> und veröffentlichte eine Betaversion des + Betriebssystems unter dem Namen <ulink + url="http://www.bsdi.com">BSD/386</ulink>, die auf den gleichen + Quellen basierte. Später wurde dieses Betriebssystem in + BSD/OS umbenannt.</para> + + <para>386BSD war niemals wirklich stabil. Daher spalteten sich + 1993 zwei neue Projekte ab: <ulink + url="http://www.NetBSD.org/">NetBSD</ulink> sowie <ulink + url="&url.base;/index.html">FreeBSD</ulink>. Beide Projekte + entstanden, weil sich 386BSD zu langsam weiterentwickelte. + Die erste NetBSD-Version entstand Anfang 1993, die erste + FreeBSD-Version Ende 1993. Zu dieser Zeit hatte sich der + Quellcode aber derart verändert, dass es schwer war, + ihn wieder zu verschmelzen. Zudem hatten die beiden Projekte + unterschiedliche Ziele, die dieser Artikel noch beschreiben + wird. 1996 spaltete sich ein weiteres Projekt von NetBSD ab: + <ulink url="http://www.OpenBSD.org">OpenBSD</ulink>. + </sect1> + + <sect1> + <title>Warum ist BSD nicht bekannter?</title> + + <para>BSD ist aus vielen Gründen relativ unbekannt:</para> + + <orderedlist> + <listitem> + <para>BSD-Entwickler sind eher an der Verbesserung des Codes + interessiert, als an der Vermarktung desselben.</para> + </listitem> + + <listitem> + <para>Die Popularität von Linux beruht auch auf externen + Faktoren wie der Presse, sowie auf Firmen, die gegründet + wurden, um Linux zu vertreiben. Bis heute fehlen den freien + BSD-Systemen solche Förderer.</para> + </listitem> + + <listitem> + <para>BSD-Entwickler sind vielleicht erfahrener als + Linux-Entwickler, und haben deshalb weniger Interesse daran, + die Benutzung des Systems einfacher zu gestalten. Einsteiger + sind bei Linux wahrscheinlich besser aufgehoben.</para> + </listitem> + + <listitem> + <para>1992 verklagte AT&T <ulink + url="http://www.bsdi.com/">BSDI</ulink>, den Verkäufer + von BSD/386, mit der Behauptung, der Quellcode enthalte + urheberrechtlich geschützten AT&T Code. Zwar kam es + 1994 zu einer außergerichtlichen Einigung, die Leute + waren aber erst einmal verunsichert. Noch im März 2000 + behauptete ein im Web publizierter Artikel, das Verfahren sei + erst <quote>kürzlich</quote> eingestellt worden.</para> + + <para>Bezüglich der Bezeichnung schaffte der + Gerichtsprozess jedoch Klarheit: In den 80er Jahren war + BSD unter dem Namen <quote>BSD &unix;</quote> bekannt. + Durch die Entfernung der letzten Zeilen des AT&T-Codes + verlor BSD das Recht, sich &unix; zu nennen. Deshalb finden + Sie in der Literatur sowohl Verweise auf + <quote>4.3BSD &unix;</quote> als auch auf + <quote>4.4BSD</quote>.</para> + </listitem> + + <listitem> + <para>Nach wie vor existiert das Vorurteil, die einzelnen + BSD Projekte seien gespalten und zerstritten. Das <ulink + url="http://interactive.wsj.com/bin/login?Tag=/&URI=/archive/retrieve.cgi%253Fid%253DSB952470579348918651.djm&"> + Wall Street Journal</ulink> sprach gar von einer + <quote>Balkanisierung</quote> des BSD-Projekts. Wie der + Prozess, basiert auch dieses Vorurteil hauptsächlich + auf alten Geschichten.</para> + </listitem> + </orderedlist> + </sect1> + + <sect1> + <title>Ein Vergleich zwischen BSD und Linux</title> + + <para>Wo sind nun die Unterschiede zwischen, sagen wir Debian + GNU/Linux und FreeBSD? Für die meisten Benutzer sind die + Unterschiede nicht groß: Beide sind &unix; ähnliche + Betriebssysteme. Beide sind nichtkommerzielle Projekte (was + für eine Vielzahl anderer Linux-Distributionen nicht gilt). + Der folgende Abschnitt betrachtet BSD näher und vergleicht es + mit Linux. Die meisten Erläuterungen beziehen sich auf + FreeBSD, da es sich dabei um das am häufigsten installierte + BSD-System handelt. Die Unterschiede zu NetBSD und OpenBSD sind + aber gering.</para> + + <sect2> + <title>Wem gehört BSD?</title> + + <para>BSD gehört weder einer einzelnen Person, noch + gehört es einem Unternehmen. Entwickelt und zur + Verfügung gestellt wird es von einer technisch + interessierten und engagierten Gemeinschaft, die über + die ganze Welt verteilt ist. Einige BSD-Komponenten sind + eigenständige Open Source-Projekte mit eigenen Rechten, + die getrennt verwaltet und gewartet werden.</para> + </sect2> + + <sect2> + <title>Wie erfolgt die Weiterentwicklung von BSD?</title> + + <para>BSD-Kernel werden nach dem Open Source-Modell + weiterentwickelt. Jedes Projekt unterhält einen + öffentlich zugänglichen + <emphasis>Quellcode-Baum</emphasis>, der mit dem <ulink + url="http://www.cvshome.org/">Concurrent Versions System</ulink> + (CVS) verwaltet wird, und alle Quellen des Projekts, die + Dokumentation und andere notwendige Dateien enthält. + CVS erlaubt es Anwendern, jede gewünschte Version des + Systems <quote>auszuchecken</quote> (mit anderen Worten, eine + Kopie des System zu erhalten).</para> + + <para>Eine Vielzahl von Entwicklern trägt weltweit zur + Verbesserung von BSD bei. Dabei werden drei Typen + unterschieden:</para> + + <itemizedlist> + <listitem> + <para>Ein <firstterm>Contributor</firstterm> schreibt Code + oder Dokumentationen. Ihm ist es nicht gestattet, seinen + Beitrag direkt in den Quellbaum einfließen zu lassen. + Bevor dieser Code in das System eingebracht wird, muss er von + einem registrierten Entwickler, dem + <emphasis>Committer</emphasis> geprüft werden.</para> + </listitem> + + <listitem> + <para><firstterm>Committer</firstterm> können Code in + den Quellbaum einbringen, das heißt sie besitzen + Schreibrechte für den Quellcode-Baum. Um ein + Committer zu werden, muss man zuerst seine Fähigkeiten + im gewünschten Gebiet unter Beweis stellen.</para> + + <para>Es liegt im Ermessen des Committers, ob er die + Allgemeinheit befragt, bevor er Änderungen am Quellbaum + vornimmt. In der Regel wird ein erfahrener Committer + korrekte Änderungen einfügen, ohne sich mit anderen + abzustimmen. Ein Committer des Documentation Projects + könnte etwa typografische oder grammatikalische + Korrekturen ohne lange Diskussion durchführen. Auf der + anderen Seite sollten Änderungen mit weitreichenden + Konsequenzen vor dem Commit zur Begutachtung bereitgestellt + werden. Im Extremfall kann ein Mitglied des Core Teams, das + als Principal Architect fungiert, sogar die Entfernung der + Änderung aus dem Quellcodebaum veranlassen. Dieser + Vorgang wird als <firstterm>backing out</firstterm> + bezeichnet. Alle Committer werden durch eine E-Mail + über die erfolgte Änderung informiert. Es ist + daher nicht möglich, heimlich eine Änderung + durchzuführen.</para> + </listitem> + + <listitem> + <para>Das <firstterm>Core Team</firstterm>. Sowohl FreeBSD + als auch NetBSD besitzen ein Core Team zur Betreuung des + jeweiligen Projekts. Da die Core Teams erst im + Projektverlauf entstanden, ist ihre Rolle nicht genau + definiert. Um ein Mitglied des Core Teams zu sein, muss + man kein Entwickler sein, obwohl dies die Regel ist. Die + Regeln der Core Teams unterscheiden sich von Projekt zu + Projekt, generell gilt aber, das dessen Mitglieder mehr + Einfluss auf die Richtung des Projekts haben als + Nichtmitglieder.</para> + </listitem> + </itemizedlist> + + <para>Diese Konstellation unterscheidet sich von Linux in + einigen Punkten:</para> + + <orderedlist> + <listitem> + <para>Es sind stets mehrere Personen für das System + verantwortlich. In der Praxis ist dieser Unterschied aber + nicht gravierend, da zum einen der Principal Architect + verlangen kann, dass Änderungen zurückgenommen + werden, und zum anderen auch beim Linux-Projekt mehrere + Personen das Recht haben, Änderungen + vorzunehmen.</para> + </listitem> + + <listitem> + <para>Es <emphasis>existiert</emphasis> ein zentraler + Aufbewahrungsort (Repository), in dem die kompletten + Betriebssystemquellen zu finden sind, einschließlich + aller älteren Versionen.</para> + </listitem> + + <listitem> + <para>BSD-Projekte pflegen das komplette + <quote>Betriebssystem</quote>, nicht nur den Kernel. Dieser + Unterschied ist aber marginal, da weder BSD noch Linux ohne + Anwendungsprogramme sinnvoll einsetzbar sind. Die unter BSD + eingesetzten Applikationen sind oft identisch mit denen + von Linux.</para> + </listitem> + + <listitem> + <para>Da beim BSD-Projekt nur ein CVS-Quellbaum gepflegt + werden muss, ist die Entwicklung übersichtlicher, und es + ist möglich, auf jede beliebige Version einer Datei + zuzugreifen. CVS ermöglicht auch inkrementelle Updates: + Das FreeBSD-Repository wird beispielsweise etwa 100 Mal pro + Tag verändert. Viele dieser Änderungen betreffen + aber nur einen relativen kleinen Bereich von FreeBSD.</para> + </listitem> + </orderedlist> + </sect2> + + <sect2> + <title>BSD-Versionen</title> + + <para>Jedes BSD-Projekt stellt das System in drei verschiedenen + <quote>Ausgaben</quote> (Releases) zur Verfügung. Analog + zu Linux erhalten diese Ausgaben eine Nummer, etwa 1.4.1 oder + 3.5. Die Versionsnummer erhält zusätzlich ein Suffix, + das den Verwendungszweck bezeichnet:</para> + + <orderedlist> + <listitem> + <para>Die Entwicklerversion hat das Suffix + <firstterm>CURRENT</firstterm>. FreeBSD weist diesem Suffix + eine Nummer zu, z.B. FreeBSD 5.0-CURRENT. NetBSD verwendet + ein etwas anderes Bezeichnungsschema und hängt als + Suffix nur einen Buchstaben an die Versionsnummer an, der + Änderungen an den internen Schnittstellen anzeigt, z.B. + NetBSD 1.4.3G. OpenBSD weist der Entwicklerversion keine + Nummer zu, sie heißt also einfach OpenBSD-current. + Neue Entwicklungen werden zuerst in diesen Zweig + eingefügt.</para> + </listitem> + + <listitem> + <para>In regelmäßigen Intervallen, durchschnittlich + zwei- bis viermal im Jahr, wird eine so genannte + <firstterm>RELEASE</firstterm>-Version des Systems + veröffentlicht, die dann beispielsweise als + OpenBSD 2.6-RELEASE oder NetBSD 1.4-RELEASE + bezeichnet wird. Diese sind sowohl auf CD-ROM + als auch als freier Download von den FTP-Servern der Projekte + erhältlich. Diese RELEASE-Versionen sind für + Endbenutzer gedacht. NetBSD verwendet sogar eine dritte + Ziffer, um gepatchte Releases zu kennzeichnen + (etwa NetBSD 1.4.2).</para> + </listitem> + + <listitem> + <para>Sobald Fehler in einer RELEASE-Version gefunden werden, + werden diese beseitigt und in den CVS-Baum eingefügt. + Beim FreeBSD-Projekt wird die daraus resultierende Version + als <firstterm>STABLE</firstterm> bezeichnet, während + sie bei NetBSD und OpenBSD weiterhin RELEASE heißt. + Kleinere Änderungen, die sich nach einer Testphase im + CURRENT-Zweig als stabil erweisen, können ebenfalls + in die STABLE-Version einfließen.</para> + </listitem> + </orderedlist> + + <para><emphasis>Bei Linux werden hingegen zwei getrennte + Code-Bäume gepflegt: Eine stabile Version und eine + Entwicklerversion. Stabile Versionen haben an der zweiten + Stelle eine gerade Ziffer (2.0, 2.2 oder 2.4). + Entwicklerversionen haben an der zweiten Stelle eine ungerade + Ziffer (2.1, 2.3 oder 2.5). In jedem Fall folgt der + zweiten Ziffer noch eine dritte, welche die Version genauer + bezeichnet. Zusätzlich fügt jeder Verkäufer + einer Linux-Distribution selbst Programme und Werkzeuge hinzu. + Daher ist auch der Name der Distribution nicht unwichtig, da + dieser ebenfalls eine Versionsnummer enthält. So kann die + vollständige Beschreibung beispielsweise so aussehen: + <quote>TurboLinux 6.0 mit + Kernel 2.2.14</quote></emphasis></para> + </sect2> + + <sect2> + <title>Welche BSD-Versionen gibt es überhaupt?</title> + + <para>Im Gegensatz zu den zahlreichen Linux-Distributionen gibt es + nur drei frei verfügbare BSDs. Jedes BSD-Projekt + unterhält seinen eigenen Quellcode-Baum und seinen eigenen + Kernel. In der Praxis scheinen die Unterschiede im Code der + Anwenderprogramme aber geringer zu sein als bei Linux.</para> + + <para>Es ist nicht einfach, die Ziele der einzelnen BSD-Projekte + genau zu trennen, da die Unterschiede eher subtiler Natur + sind:</para> + + + <itemizedlist> + <listitem> + <para>FreeBSD will eine hohe Leistung erreichen, für + den Benutzer einfach in der Bedienung sein, und wird von + Internetanbietern bevorzugt eingesetzt. Es läuft + auf einer Vielzahl von Plattformen, darunter + i386-Systeme (<quote>PCs</quote>), Systeme mit einem + AMD 64-Bit-Prozessor, &ultrasparc;-Systeme, + Compaq Alpha-Systeme, sowie Systeme, die der + Spezifikation NEC PC-98 entsprechen. Das + FreeBSD-Projekt hat die mit Abstand größte + Anwenderzahl unter den frei verfügbaren + BSD-Systemen.</para> + </listitem> + + <listitem> + <para>Bei NetBSD ist Portabilität das oberste Ziel: + <quote>Natürlich läuft NetBSD darauf</quote>. + NetBSD kann auf vielen verschiedenen Systemen, von Palmtops + bis hin zu großen Servern, installiert werden, und + wurde sogar schon im Raumfahrtprogramm der NASA eingesetzt. + Besonders für alte Nicht-Intel-Plattformen ist NetBSD + die erste Wahl.</para> + </listitem> + + <listitem> + <para>Bei OpenBSD stehen die Sicherheit und sauberer Code im + Vordergrund. OpenBSD verbindet bei der Weiterentwicklung + des Systems Open Source-Konzepte mit rigorosen + <foreignphrase>code reviews</foreignphrase>. Dadurch + entsteht ein sehr sicheres System, das OpenBSD für + sicherheitsbewusste Unternehmen, Banken, Börsen + und die US-Regierung zu ersten Wahl macht. Auch OpenBSD + läuft, ähnlich wie NetBSD, auf vielen + verschiedenen Plattformen.</para> + </listitem> + </itemizedlist> + + <para>Es gibt noch zwei weitere BSD &unix; Systeme, die aber + nicht Open Source sind: BSD/OS sowie Apples + &macos; X:</para> + + <itemizedlist> + <listitem> + <para>BSD/OS ist das älteste, von 4.4BSD abstammende + Betriebssystem. Es ist zwar nicht Open Source, + Quellcode-Lizenzen können aber relativ günstig + erworben werden. Es weist viele Gemeinsamkeiten mit + FreeBSD auf.</para> + </listitem> + + <listitem> + <para>Bei <ulink url="http://www.apple.com/macosx/server/"> + &macos; X</ulink> handelt es sich um die neueste + Version des Betriebssystems der &macintosh;-Linie von + <ulink + url="http://www.apple.com/">Apple Computer Inc.'s</ulink>. + <ulink + url="http://developer.apple.com/darwin/">Darwin</ulink>, + der BSD-Kern des Betriebssystems ist als voll + funktionsfähiges Open Source-Betriebssystem für + x86- sowie PPC-Computer erhältlich. Die grafische + Oberfläche Aqua/Quartz und andere proprietäre + Anwendungen von &macos; X sind aber weiterhin + closed-source Software. Einige Darwin-Entwickler sind + auch FreeBSD-Committer, was auch für den umgekehrten + Fall gilt.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Worin unterscheidet sich die BSD-Lizenz von der GNU + Public License?</title> + + <para>Linux steht unter der <ulink + url="http://www.fsf.org/copyleft/gpl.html">GNU General Public + License</ulink> (GPL), die entworfen wurde, um closed-source + Software zu verhindern. Jede Software, die von einer Software + abgeleitet wurde, die unter der GPL steht, muss wieder unter + der GPL veröffentlicht werden. Auf Verlangen ist auch + der Quellcode zur Verfügung zu stellen. Die <ulink + url="http://www.opensource.org/licenses/bsd-license.html"> + BSD-Lizenz</ulink> ist dagegen weniger restriktiv: Der + Quellcode muss nicht zur Verfügung gestellt werden, es + können also auch Binärdateien verbreitet werden. + Dieser Umstand ist besonders für Anwendungen im + Embedded-Bereich interessant.</para> + </sect2> + + <sect2> + <title>Was sollte ich sonst noch wissen?</title> + + <para>Da für BSD weniger Anwendungsprogramme verfügbar + waren als für Linux, wurde ein Softwarepaket entwickelt, das + die Ausführung von Linuxprogrammen unter BSD + ermöglicht. Dieses Paket enthält zwei Dinge: + Kernelmodifikationen zur korrekten Ausführung von + Linux-Systemaufrufen sowie Linuxkompatibilitätsdateien, + beispielsweise die C-Bibliothek von Linux. Unterschiede in der + Ausführungsgeschwindigkeit von Linuxanwendungen auf einem + Linuxrechner und einem vergleichbaren mit BSD ausgestatteten + Rechner sind in der Praxis so gut wie nicht feststellbar.</para> + + <para>Die <quote>Alles-aus-einer-Hand</quote>-Natur von BSD + hat den Vorteil, dass Upgrades im Vergleich zu Linux häufig + leichter durchzuführen sind. BSD aktualisiert + Bibliotheken, indem es Kompatibilitätsmodule für + ältere Versionen der Bibliotheken bereitstellt. Daher ist + es möglich, auch mehrere Jahre alte Binärdateien ohne + Probleme auszuführen.</para> + </sect2> + + <sect2> + <title>Was soll ich nun benutzen, BSD oder Linux?</title> + + <para>Was heißt das nun alles für die Praxis? Wer + sollte BSD, wer Linux benutzen?</para> + + <para>Diese Frage ist nicht einfach zu beantworten. Trotzdem + folgen nun einige Empfehlungen:</para> + + <itemizedlist> + <listitem> + <para><quote>Wenn es nicht kaputt ist, fass' es nicht + an!</quote>: Wenn Sie schon ein frei verfügbares + Betriebssystem verwenden und damit glücklich sind, + gibt es eigentlich keinen vernünftigen Grund für + einen Wechsel.</para> + </listitem> + + <listitem> + <para>BSD-Systeme, inbesondere FreeBSD, können eine + weitaus bessere Leistung als Linux-Systeme aufweisen. Diese + Aussage ist aber nicht allgemein gültig. In den + meisten Fällen sind die Leistungsunterschiede aber + gering oder gar nicht festzustellen. In bestimmten + Fällen kann auch Linux eine bessere Leistung + aufweisen.</para> + </listitem> + + <listitem> + <para>In der Regel haben BSD-Systeme den Ruf, + zuverlässiger zu sein. Diese Aussage beruht auf der + reiferen Codebasis.</para> + </listitem> + + <listitem> + <para>Die BSD-Lizenz kann attraktiver sein als + die GPL.</para> + </listitem> + + <listitem> + <para>BSD-Systeme können die meisten Linuxprogramme + ausführen, während Linux keine BSD-Programme + ausführen kann. Viele BSD-Systeme können sogar + Programme von anderen &unix; ähnlichen Systemen + ausführen. Daraus könnte man ableiten, dass die + Migration auf ein BSD-System einfacher ist, als es bei + Linux der Fall wäre.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Wo gibt es Support, Serviceleistungen und Schulungen + für BSD?</title> + + <para>BSDi hat BSD/OS von Anfang an unterstützt und hat + angekündigt, Supportverträge für FreeBSD + anzubieten.</para> + + <para>Darüber hinaus finden sich auf den folgenden Seiten der + einzelnen Projekte Firmen, die Supportleistungen anbieten: + <ulink url="&url.base;/commercial/consult_bycat.html">FreeBSD</ulink>, + <ulink url="http://www.netbsd.org/gallery/consultants.html">NetBSD</ulink>, + und <ulink url="http://www.openbsd.org/support.html">OpenBSD</ulink>.</para> + </sect2> + </sect1> +</article> + +<!-- + Local Variables: + mode: sgml + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + End: +--> diff --git a/de_DE.ISO8859-1/articles/new-users/Makefile b/de_DE.ISO8859-1/articles/new-users/Makefile new file mode 100644 index 0000000000..50a4126d7e --- /dev/null +++ b/de_DE.ISO8859-1/articles/new-users/Makefile @@ -0,0 +1,24 @@ +# +# The FreeBSD Documentation Project +# The FreeBSD German Documentation Project +# +# $FreeBSD$ +# $FreeBSDde: de-docproj/articles/new-users/Makefile,v 1.2 2005/02/08 00:43:39 mheinen Exp $ +# basiert auf: 1.11 +# +# Article: Informationen für &os;- und &unix;-Einsteiger + +DOC?= article + +FORMATS?= html +WITH_ARTICLE_TOC?= YES + +INSTALL_COMPRESSED?=gz +INSTALL_ONLY_COMPRESSED?= + +SRCS= article.sgml + +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/de_DE.ISO8859-1/articles/new-users/article.sgml b/de_DE.ISO8859-1/articles/new-users/article.sgml new file mode 100644 index 0000000000..76a483d0c5 --- /dev/null +++ b/de_DE.ISO8859-1/articles/new-users/article.sgml @@ -0,0 +1,1210 @@ +<!-- The FreeBSD Documentation Project + The FreeBSD German Documentation Project + + $FreeBSD$ + $FreeBSDde: de-docproj/articles/new-users/article.sgml,v 1.4 2005/02/08 00:51:10 mheinen Exp $ + basiert auf: 1.47 +--> + +<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//DE"> +%articles.ent; +]> + +<article lang="de"> + <articleinfo> + <title>Informationen für &os;- und &unix;-Einsteiger</title> + + <authorgroup> + <author> + <firstname>Annelise</firstname> + + <surname>Anderson</surname> + + <affiliation> + <address><email>andrsn@andrsn.stanford.edu</email></address> + </affiliation> + </author> + </authorgroup> + + <pubdate>15. August 1997</pubdate> + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.ibm; + &tm-attrib.microsoft; + &tm-attrib.netscape; + &tm-attrib.opengroup; + &tm-attrib.general; + </legalnotice> + + <abstract> + <para>Wir gratulieren Ihnen zur Installation von &os;! Diese + Einführung ist für alle Personen gedacht, die &os; + und &unix; noch nicht kennen, und enthält daher auch einige + grundlegende Informationen. Es wird davon ausgegangen, dass + Sie FreeBSD 2.0.5 oder neuer in der von FreeBSD.org + veröffentlichten Form installiert haben sowie über + gute Kenntnisse von DOS/&windows; oder &os2; verfügen.</para> + + <para><emphasis>Übersetzt von Fabio Tosques</emphasis>.</para> + </abstract> + </articleinfo> + + <sect1> + <title>An- und Abmelden</title> + + <para>Melden Sie sich (wenn <prompt>login:</prompt> am + Bildschirm erscheint) als derjenige Benutzer, den Sie + während der Installation angelegt haben, oder als + <username>root</username> an. (Die FreeBSD-Installationsroutine + legt in jedem Fall einen Benutzer <username>root</username> an; + dieser darf auf dem System fast alles tun, einschließlich dem + Löschen von wichtigen Dateien. Seien Sie also vorsichtig, wenn + Sie sich als <username>root</username> anmelden.) Die Zeichen + &prompt.user; und &prompt.root; stellen im folgenden die + Eingabeaufforderung dar, wobei &prompt.user; für den + gewöhnlichen Benutzer und &prompt.root; für den Benutzer + <username>root</username> steht.</para> + + <para>Um sich abzumelden, geben Sie</para> + + <informalexample> + <screen>&prompt.root; <userinput>exit</userinput></screen> + </informalexample> + + <para>so oft wie nötig ein (und zwar bis wieder + <prompt>login:</prompt> erscheint). Drücken Sie nach jedem + Befehl die <keysym>Enter</keysym>-Taste und beachten Sie, dass + &unix; zwischen Groß- und Kleinschreibung unterscheidet – + <command>exit</command> und <command>EXIT</command> sind also + zwei verschiedene Befehle.</para> + + <para>Um den Rechner herunterzufahren, geben Sie</para> + + <informalexample> + <screen>&prompt.root; <userinput>/sbin/shutdown -h now</userinput></screen> + </informalexample> + + <para>ein.</para> + + <para>Um den Rechner neu zu starten, geben Sie</para> + + <informalexample> + <screen>&prompt.root; <userinput>/sbin/shutdown -r now</userinput></screen> + </informalexample> + + <para>ein, oder Sie rufen einfach</para> + + <informalexample> + <screen>&prompt.root; <userinput>/sbin/reboot</userinput></screen> + </informalexample> + + <para>auf.</para> + + <para>Sie können natürlich auch den Rechner mit + <keycombo><keycap>Strg</keycap><keycap>Alt</keycap><keycap>Entf</keycap></keycombo> + neu starten. Warten Sie danach, bis der Neustart erfolgt ist. + Diese Tastenkombination ist in neueren FreeBSD-Versionen mit + <command>/sbin/reboot</command> identisch und viel besser als das + Drücken des Reset-Knopfes. Sie wollen das System ja sicher + nicht noch einmal neu installieren, oder?</para> + </sect1> + + <sect1> + <title>Einen neuen Benutzer anlegen, der + <username>root</username>-Rechte erlangen kann</title> + + <para>Falls Sie während der Installation des Systems keine + Benutzer angelegt haben und noch als <username>root</username> + angemeldet sind, sollten Sie mit</para> + + <informalexample> + <screen>&prompt.root; <userinput>adduser</userinput></screen> + </informalexample> + + <para>einen neuen Benutzer anlegen.</para> + + <para>Wenn Sie <command>adduser</command> das erste Mal + ausführen, werden Sie gefragt, ob Sie einige + Standardeinstellungen abspeichern möchten. Vielleicht + möchten Sie &man.csh.1; statt &man.sh.1; als + Default-Shell auswählen (falls <command>sh</command> + als Default-Shell angeboten wird). Diese Standardeinstellungen + sind in <filename>/etc/adduser.conf</filename> gespeichert und + können von Ihnen verändert werden.</para> + + <para>Angenommen, Sie möchten den Benutzer + <username>jack</username> mit dem vollständigen Namen + <emphasis>Jack Benimble</emphasis> anlegen. Weisen Sie + <username>jack</username> auf jeden Fall ein Passwort zu (auch + Kinder, die auf der Tastatur spielen, können ein Problem + darstellen). Wenn Sie gefragt werden, ob + <username>jack</username> Mitglied in anderen Gruppen sein soll, + geben Sie <groupname>wheel</groupname> ein.</para> + + <informalexample> + <screen>Login group is ``jack''. Invite jack into other groups: <userinput>wheel</userinput></screen> + </informalexample> + + <para>Dadurch können Sie sich als + <username>jack</username> anmelden, und mit &man.su.1; + <username>root</username>-Rechte erlangen. Dann werden Sie nie + wieder dafür kritisiert werden, dass Sie sich als + <username>root</username> am System anmelden.</para> + + <para>Das Programm <command>adduser</command> kann jederzeit mit + <keycombo><keycap>Strg</keycap><keycap>C</keycap></keycombo> + beendet werden. Am Schluß haben Sie die Möglichkeit, + die Einstellungen für den neuen Benutzer nochmals zu + kontrollieren oder diese mit <keycap>n</keycap> zu verwerfen. + Sie sollten noch einen zweiten Benutzer anlegen, damit Sie auch + dann auf Ihr System zugreifen können, wenn Sie die + Anmeldedaten von <username>jack</username> bearbeitet und dabei + einen Fehler gemacht haben.</para> + + <para>Haben Sie alle Benutzer angelegt, geben Sie + <command>exit</command> ein, damit Sie sich als + <username>jack</username> anmelden können. Es ist generell + sinnvoll, wann immer möglich, als gewöhnlicher Benutzer + und nicht als der allmächtige Benutzer + <username>root</username> zu arbeiten.</para> + + <para>Falls Sie schon einen Benutzer angelegt haben und diesem + die Möglichkeit einräumen wollen, mit + <command>su</command> <username>root</username>-Rechte zu + erlangen, können Sie sich als <username>root</username> + anmelden und die Datei <filename>/etc/group</filename> anpassen. + Fügen Sie in der ersten Zeile (der Gruppe + <groupname>wheel</groupname>) den Benutzer + <username>jack</username> ein. Sie sollten auch den Umgang + mit dem Texteditor &man.vi.1; erlernen. Alternativ können + Sie auch den einfacher zu bedienenden Texteditor &man.ee.1; + verwenden, der auf aktuellen FreeBSD-Systemen automatisch + installiert wird.</para> + + <para>Mit <command>rmuser</command> können Sie einen Benutzer + löschen.</para> + </sect1> + + <sect1> + <title>Sich im System umsehen</title> + + <para>Nachdem wir uns als gewöhnlicher Benutzer angemeldet + haben, sehen wir uns nun im System um und testen einige Befehle, + die uns den Zugriff auf die Hilfefunktion ermöglichen sowie + einige Informationen über unser System liefern.</para> + + <variablelist> + <varlistentry> + <term><command>id</command></term> + + <listitem> + <para>Sagt uns, wer wir sind!</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>pwd</command></term> + + <listitem> + <para>Zeigt uns, wo wir uns befinden, gibt also das aktuelle + Verzeichnis + (<foreignphrase>working directory</foreignphrase>) aus.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>ls</command></term> + + <listitem> + <para>Listet die Dateien im aktuellen Verzeichnis + auf.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>ls <option>-F</option></command></term> + + <listitem> + <para>Listet Dateien im aktuellen Verzeichnis auf und + kennzeichnet ausführbare Dateien mit einem + <literal>*</literal>, Verzeichnisse mit einem + <literal>/</literal>, sowie symbolische Links mit + <literal>@</literal>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>ls <option>-l</option></command></term> + + <listitem> + <para>Listet Dateiem im Langformat + auf, dabei werden Größe, Datum und Rechte + angezeigt.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>ls <option>-a</option></command></term> + + <listitem> + <para>Listet auch versteckte Dateien auf (so genannte + <quote>dot</quote>-Dateien). Falls Sie als + <username>root</username> angemeldet sind, werden die + <quote>dot</quote>-Dateien auch ohne die Option + <option>-a</option> angezeigt.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>cd</command></term> + + <listitem> + <para>Wechselt das Verzeichnis. <command>cd + <parameter>..</parameter></command> wechselt in der + Verzeichnishierarchie eine Stufe nach oben (beachten + Sie das Leerzeichen nach <command>cd</command>!). + <command>cd <parameter>/usr/local</parameter></command> + wechselt dorthin. + <command>cd <parameter>~</parameter></command> wechselt + wechselt in des Heimatverzeichnis des angemeldeten + Benutzers, in unserem Fall nach + <filename>/usr/home/jack</filename>. Geben Sie + <command>cd <parameter>/cdrom</parameter></command>, + gefolgt von <command>ls</command>, ein, um herauszufinden, + ob Ihr CD-ROM-Laufwerk eingebunden ist und + funktioniert.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>view + <replaceable>Dateiname</replaceable></command></term> + + <listitem> + <para>Zeigt den Inhalt von + <replaceable>Dateiname</replaceable> auf dem Bildschirm + an. Falls der Inhalt der Datei zu lang ist, und Sie nur + das Ende sehen, aktivieren Sie die + <keycap>Rollen</keycap>-Taste und drücken dann + die <keycap>Bild hoch</keycap>-Taste, um nach oben zu + scrollen. Sie können die + <keycap>Rollen</keycap>-Taste auch bei Manualpages + verwenden. Drücken Sie die + <keycap>Rollen</keycap>-Taste nochmals, um das Scrollen + zu beenden. Sie sollten sich auch einige der versteckten + Dateien in Ihrem Heimatverzeichnis mit + <command>cat</command> ansehen: <command>cat + <parameter>.cshrc</parameter></command>, <command>cat + <parameter>.login</parameter></command>, <command>cat + <parameter>.profile</parameter></command>.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>In <filename>.cshrc</filename> sind einige nützliche + Aliase für den Befehl <command>ls</command> definiert. + Dort können Sie auch zusätzliche Aliase definieren. + Um diese Aliase allen Benutzern zur Verfügung zu stellen, + müssen Sie diese in <filename>/etc/csh.cshrc</filename>, + der systemweiten Konfigurationsdatei von <command>csh</command>, + eintragen.</para> + </sect1> + + <sect1> + <title>Hilfe und Informationen erhalten</title> + + <para>Im folgenden Abschnitt erhalten Sie einige Tipps zur + Verwendung der Hilfefunktion. <replaceable>Text</replaceable> + steht dabei für etwas, das Sie eingeben müssen — + meistens einen Befehl oder einen Dateinamen.</para> + + <variablelist> + <varlistentry> + <term><command>apropos + <replaceable>text</replaceable></command></term> + + <listitem> + <para>Jeder Eintrag, der die Zeichenkette + <replaceable>text</replaceable> in der + <database>whatis</database>-Datenbank enthält, + wird aufgelistet.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>man + <replaceable>text</replaceable></command></term> + + <listitem> + <para>Die Manualpage von + <replaceable>text</replaceable>. Manualpages sind + die Hauptinformationsquelle für &unix;-Systeme. + <command>man <parameter>ls</parameter></command> zeigt + alle Möglichkeiten, wie <command>ls</command> + verwendet werden kann. Drücken Sie + <keycap>Enter</keycap> um weiterzublättern, + <keycombo><keycap>Strg</keycap><keycap>B</keycap></keycombo>, + um eine Seite zurück zu blättern, + <keycombo><keycap>Strg</keycap><keycap>F</keycap></keycombo>, + um eine Seite vorwärts zu blättern oder + <keycombo><keycap>Strg</keycap><keycap>C</keycap></keycombo> + zum Beenden.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>which + <replaceable>text</replaceable></command></term> + + <listitem> + <para>Sagt Ihnen, in welchem Verzeichnis der Befehl + <replaceable>text</replaceable> im Pfad des Benutzers + gefunden wird.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>locate + <replaceable>text</replaceable></command></term> + + <listitem> + <para>Alle Verzeichnisse, welche die Zeichenkette + <replaceable>text</replaceable> enthalten, werden + ausgegeben.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>whatis + <replaceable>text</replaceable></command></term> + + <listitem> + <para>Gibt aus, wofür das Kommando + <replaceable>text</replaceable> steht und welche + Handbuchseite(n) es dafür gibt. + <command>whatis *</command> liefert Ihnen Informationen + zu allen ausführbaren Dateien des aktuellen + Verzeichnisses.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>whereis + <replaceable>text</replaceable></command></term> + + <listitem> + <para>Gibt den absoluten Pfad der Datei + <replaceable>text</replaceable> aus.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Rufen Sie nun <command>whatis</command> + mit einigen nützlichen Befehlen wie + <command>cat</command>, <command>more</command>, + <command>grep</command>, <command>mv</command>, + <command>find</command>, <command>tar</command>, + <command>chmod</command>, <command>chown</command>, + <command>date</command>, und <command>script</command> + auf. <command>more</command> funktioniert genau so + wie unter DOS und zeigt den Inhalt der Datei seitenweise an. + <command>ls -l | more</command> entspricht daher + <command>more <replaceable>Dateiname</replaceable></command>. + Das <literal>*</literal>-Zeichen dient als Platzhalter, + <command>ls w*</command> zeigt daher alle Dateien an, die mit + <literal>w</literal> beginnen.</para> + + <para>Funktioniert der eine oder andere Aufruf bei Ihnen nicht? + Sowohl &man.locate.1;, als auch &man.whatis.1; sind von + einer Datenbank abhängig, die wöchentlich aktualisiert + wird. Falls Ihr Rechner nicht ständig läuft, können + Sie die täglichen, wöchentlichen und monatlichen + Aktualisierungen auch manuell starten. Melden Sie sich dazu als + <username>root</username> an. Warten Sie jeweils auf das Ende + eines Befehls, bevor Sie den nächsten Befehl eingeben.</para> + + <informalexample> + <screen>&prompt.root; <userinput>periodic daily</userinput> +<lineannotation>output omitted</lineannotation> +&prompt.root; <userinput>periodic weekly</userinput> +<lineannotation>output omitted</lineannotation> +&prompt.root; <userinput>periodic monthly</userinput> +<lineannotation>output omitted</lineannotation></screen> + </informalexample> + + <para>Diese Befehle sind zwar Teil der Systemverwaltung, als + alleiniger Benutzer eines &unix;-Systems sind Sie aber auch der + Administrator des Systems. Sie müssen sich nur als + <username>root</username> anmelden, wenn Sie das System + verwalten möchten. Eine Information, die leider in + vielen dicken Büchern über &unix; vergessen wird, + die sich lieber den Pulldown-Menüs und Window-Managern + widmen. Empfehlenswerte Bücher zur + &unix;-Systemadministration sind das + <citetitle>UNIX System Administration Handbook</citetitle> + von Evi Nemeth et.al. (Prentice-Hall, 1995, ISBN 0-13-15051-7, + die zweite Ausgabe hat ein rotes Cover), oder + <citetitle>Essential System Administration</citetitle> von + Æleen Frisch (O'Reilly & Associates, 2002, + ISBN 0-596-00343-9).</para> + </sect1> + + <sect1> + <title>Textdateien bearbeiten</title> + + <para>Um Ihr System konfigurieren zu können, müssen Sie + häufig Textdateien bearbeiten. Die meisten + Konfigurationsdateien befinden sich im Verzeichnis + <filename>/etc</filename>. Um diese editieren zu können, + müssen Sie mit <command>su</command> zu + <username>root</username> werden. Sie können den einfachen + Editor <command>ee</command> verwenden, auf lange Sicht lohnt es + sich aber, die Bedienung von <command>vi</command> zu erlernen. + Falls Sie die Systemquellen installiert haben, befindet sich + unter <filename>/usr/src/contrib/nvi/docs/tutorial</filename> + ein ausgezeichnetes Tutorial zu <command>vi</command>.</para> + + <para>Bevor Sie eine Datei bearbeiten, sollten Sie eine + Sicherheitskopie der Datei anlegen. Wenn Sie beispielsweise + <filename>/etc/rc.conf</filename> bearbeiten möchten, + wechseln Sie mit <command>cd /etc</command> nach + <filename>/etc</filename> und geben Folgendes ein:</para> + + <informalexample> + <screen>&prompt.root; <userinput>cp rc.conf rc.conf.orig</userinput></screen> + </informalexample> + + <para>Dadurch wird eine Kopie von <filename>rc.conf</filename> + mit dem Namen <filename>rc.conf.orig</filename> angelegt, mit + der Sie notfalls das Original wiederherstellen können, + indem Sie <filename>etc.conf.orig</filename> nach + <filename>etc.conf</filename> kopieren. Noch besser ist es, + die Datei zuerst zu verschieben (umzubenennen) und dann zu + kopieren:</para> + + <informalexample> + <screen>&prompt.root; <userinput>mv rc.conf rc.conf.orig</userinput> +&prompt.root; <userinput>cp rc.conf.orig rc.conf</userinput></screen> + </informalexample> + + <para>weil bei der Verwendung von <command>mv</command> das Datum + und der Besitzer der Datei erhalten bleiben. Danach können + Sie die Datei <filename>rc.conf</filename> bearbeiten. + Möchten Sie die Originaldatei wiederherstellen, geben + Sie <userinput>mv rc.conf rc.conf.myedit</userinput> (falls + Sie die bearbeitete Version erhalten möchten), gefolgt + von:</para> + + <informalexample> + <screen>&prompt.root; <userinput>mv rc.conf.orig rc.conf</userinput></screen> + </informalexample> + + <para>ein, um den Originalzustand wiederherzustellen.</para> + + <para>Um eine Datei zu bearbeiten, geben Sie</para> + + <informalexample> + <screen>&prompt.root; <userinput>vi <replaceable>filename</replaceable></userinput></screen> + </informalexample> + + <para>ein.</para> + + <para>Innerhalb des Textes können Sie sich mit den + Pfeiltasten bewegen. Mit der <keycap>Esc</keycap>-Taste + wechselt <command>vi</command> in den Kommandomodus. Einige + der wichtigsten Kommandos sind:</para> + + <variablelist> + <varlistentry> + <term><command>x</command></term> + + <listitem> + <para>löscht den Buchstaben links vom Cursor</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>dd</command></term> + + <listitem> + <para>löscht die komplette Zeile, auch wenn diese + am Bildschirm umgebrochen wird.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>i</command></term> + + <listitem> + <para>fügt Text an der Cursorposition ein.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>a</command></term> + + <listitem> + <para>fügt Text rechts vom Cursor ein.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Nachdem Sie <command>i</command> oder + <command>a</command> eingegeben haben, können Sie also + die Datei bearbeiten. Mit <command>Esc</command> kommen Sie + wieder in den Kommandomodus, wo Sie beispielsweise</para> + + <variablelist> + <varlistentry> + <term><command>:w</command></term> + + <listitem> + <para>eingeben, um Ihre Änderungen zu + speichern und mit <command>vi</command> + weiterarbeiten können.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>:wq</command></term> + + <listitem> + <para>Speichern und Beenden.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>:q!</command></term> + + <listitem> + <para>Beenden, ohne die Änderungen zu + speichern.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>/<replaceable>text</replaceable></command></term> + + <listitem> + <para>bewegt den Cursor an die Stelle des ersten + Vorkommens von <replaceable>text</replaceable>; + <command>/<keycap>Enter</keycap></command> (die + Enter-Taste) findet dann das nächste Vorkommen von + <replaceable>text</replaceable>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>G</command></term> + + <listitem> + <para>bewegt den Cursor ans Ende der Datei.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command><replaceable>n</replaceable>G</command></term> + + <listitem> + <para>bewegt den Cursor in die Zeile + <replaceable>n</replaceable> der Datei, wobei + <replaceable>n</replaceable> für eine Zahl + steht.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><keycombo><keycap>Ctrl</keycap><keycap>L</keycap></keycombo></term> + + <listitem> + <para>zeichnet den Bildschirm neu.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><keycombo><keycap>Ctrl</keycap><keycap>b</keycap></keycombo> und + <keycombo><keycap>Ctrl</keycap><keycap>f</keycap></keycombo></term> + + <listitem> + <para>eine Bildschirmseite zurück oder vorwärts + gehen, analog zu <command>more</command> und + <command>view</command>.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Am besten sammeln Sie praktische Erfahrungen mit + <command>vi</command> in Ihrem Heimatverzeichnis, indem Sie + eine Datei anlegen und danach bearbeiten, die Datei + speichern und wieder aufrufen. <command>vi</command> + birgt wirklich einige Überraschungen, da es sich um ein + komplexes Programm handelt. Manchmal werden Sie versehentlich + ein Kommando ausführen, das etwas anderes tut, als Sie + erwarten. (<command>vi</command> ist viel leistungsfähiger + als der DOS-Editor EDIT. Rufen Sie doch einmal das Kommando + <command>:r</command> auf.) Drücken Sie die + <keycap>Esc</keycap>-Taste ruhig öfter als einmal, um sicher + zu gehen, dass Sie sich im Kommandomodus befinden und arbeiten Sie + in diesem Modus weiter, falls Probleme auftreten. Speichern Sie + die Datei immer wieder mit <command>:w</command>, und geben Sie + <command>:q!</command> ein, um von vorne zu beginnen (genauer + gesagt, vom letzten <command>:w</command>-Kommando), falls dies + nötig sein sollte.</para> + + <para>Danach können Sie mit <command>cd</command> nach + <filename>/etc</filename> wechseln, mit <command>su</command> + zu <username>root</username> werden, und mit + <command>vi</command> <filename>/etc/group</filename> + bearbeiten und einen Benutzer zur Gruppe + <groupname>wheel</groupname> hinzufügen, damit dieser + mit <command>su</command> <username>root</username>-Rechte + erlangen kann. Fügen Sie dafür einfach ein Komma und + den Login-Namen des Benutzers an das Ende der ersten Zeile an, + drücken Sie <keycap>Esc</keycap> und <command>:wq</command> + (um die Datei zu speichern und den <command>vi</command> zu + verlassen). Sehr effizient, nicht wahr? (Sie haben hoffentlich + kein Leerzeichen nach dem Komma eingefügt?)</para> + </sect1> + + <sect1> + <title>Dateien mit Hilfe von DOS ausdrucken</title> + + <para>Bis zu diesem Zeitpunkt haben Sie wahrscheinlich noch keinen + Drucker eingerichtet, daher zeigen wir Ihnen, wie man eine Datei + aus einer Manualpage erzeugt, diese auf eine Diskette kopiert und + dann unter DOS ausdruckt. Möchten Sie etwa nachlesen, wie + Sie Dateirechte verändern können (was sehr wichtig ist), + rufen Sie mit <command>man chmod</command> die entsprechende + Manualpage auf. Der Befehl</para> + + <informalexample> + <screen>&prompt.user; <userinput>man chmod | col -b > chmod.txt</userinput></screen> + </informalexample> + + <para>entfernt alle Formatierungen und leitet die Ausgabe der + Manualpage nach <filename>chmod.txt</filename> um, statt + diese auf dem Bildschirm anzuzeigen. Legen Sie danach eine + DOS-formatierte Diskette in Ihr Diskettenlaufwerk + <devicename>a</devicename> ein und geben Sie + <command>su</command> ein, um zu <username>root</username> + zu werden. Tippen Sie nun</para> + + <informalexample> + <screen>&prompt.root; <userinput>/sbin/mount -t msdos /dev/fd0 /mnt</userinput></screen> + </informalexample> + + <para>ein, um das Diskettenlaufwerk unter + <filename>/mnt</filename> einzuhängen.</para> + + <para>Da Sie ab nun keine <username>root</username>-Rechte mehr + benötigen, werden Sie durch die Eingabe von + <command>exit</command> wieder zu <username>jack</username> + und wechseln dann in das Verzeichnis, in dem sich + <filename>chmod.txt</filename> befindet, und kopieren diese Datei + mit</para> + + <informalexample> + <screen>&prompt.user; <userinput>cp chmod.txt /mnt</userinput></screen> + </informalexample> + + <para>auf Ihre Diskette. Zeigen Sie mit + <command>ls /mnt</command> den Inhalt von + <filename>/mnt</filename> an. Als Ergebnis sollten Sie + <filename>chmod.txt</filename> erhalten.</para> + + <para>Leiten Sie nun die Ausgabe von <command>/sbin/dmesg</command> + in eine Datei um, indem Sie</para> + + <informalexample> + <screen>&prompt.user; <userinput>/sbin/dmesg > dmesg.txt</userinput></screen> + </informalexample> + + <para>eingeben und diese Datei ebenfalls auf die Diskette kopieren. + Mit <command>/sbin/dmesg</command> können Sie alle + während des Systemstarts angezeigten Meldungen ausgeben. + Es ist wichtig, dass Sie diese Meldungen verstehen, da hier + angezeigt wird, welche Hardware von FreeBSD beim Systemstart + gefunden wurde. Falls Sie Fragen auf der Mailingliste + &a.de.questions; oder im USENET stellen (etwa <quote>FreeBSD erkennt + mein Bandlaufwerk nicht, was soll ich tun?</quote>), wird man Sie + fragen, was <command>dmesg</command> ausgibt.</para> + + <para>Anschließend können Sie das Diskettenlaufwerk + wieder aus dem Verzeichnisbaum aushängen (unmounten), um + die Diskette zu entfernen. Dies funktioniert natürlich + nur als <username>root</username>:</para> + + <informalexample> + <screen>&prompt.root; <userinput>/sbin/umount /mnt</userinput></screen> + </informalexample> + + <para>Danach starten Sie DOS (&windows;). Kopieren Sie die + Dateien in ein Verzeichnis. Nun öffnen Sie die Dateien + mit DOS EDIT, &windows; Notepad, Wordpad oder einem anderen + Schreibprogramm, speichern die Datei, falls Sie kleinere + Änderungen vornehmen wollen, und drucken die Datei unter + DOS oder Windows aus. Manualpages werden unter DOS am besten + mit <command>print</command> ausgedruckt.</para> + + <para>Um Ihren Drucker unter FreeBSD einzurichten, muss ein + entsprechender Eintrag in + <filename>/etc/printcap</filename> und ein Spool-Verzeichnis + unter <filename>/var/spool/output</filename> angelegt werden. + Falls der Drucker an <hardware>lpt0</hardware> (entspricht + LPT1 unter DOS) angeschlossen ist, müssen Sie + wahrscheinlich nur nach <filename>/var/spool/output</filename> + wechseln und (als <username>root</username>) das Verzeichnis + <filename>lpd</filename> mit <command>mkdir lpd</command> + anlegen, falls es nicht schon vorhanden ist. Danach sollte + sich der Drucker, wenn er eingeschaltet ist, beim Booten melden + und <command>lp</command> oder <command>lpr</command> sollte + eine Datei zum Drucker schicken und ausdrucken. Ob die Datei + schließlich ausgedruckt wird, hängt von der + Konfiguration des Druckers ab, die im <ulink + url="&url.books.handbook;/index.html">FreeBSD Handbuch</ulink> + ausführlich beschrieben ist.</para> + </sect1> + + + <sect1> + <title>Weitere nützliche Befehle</title> + + <variablelist> + <varlistentry> + <term><command>df</command></term> + + <listitem> + <para>zeigt den freien Speicherplatz und eingehängte + (<foreignphrase>gemountete</foreignphrase>) Partitionen + an.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>ps aux</command></term> + + <listitem> + <para>zeigt laufende Prozesse an. <command>ps ax</command> + schränkt diese Ausgabe etwas ein.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>rm + <replaceable>dateiname</replaceable></command></term> + + <listitem> + <para>löscht + <replaceable>dateiname</replaceable>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>rm -R + <replaceable>dir</replaceable></command></term> + + <listitem> + <para>löscht das Verzeichnis + <replaceable>dir</replaceable> und alle + Unterverzeichnisse — Vorsicht!</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>ls -R</command></term> + + <listitem> + <para>listet Dateien im aktuellen Verzeichnis und allen + Unterverzeichnissen auf. Die Variante + <command>ls -AFR > where.txt</command> kann dazu + verwendet werden, um eine Liste aller Dateien unter + <filename>/</filename> und (separat) unter + <filename>/usr</filename> zu erhalten. Allerdings + gibt es bessere Möglichkeiten, bestimmte Dateien + zu finden.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>passwd</command></term> + + <listitem> + <para>zum Ändern des Passworts eines Benutzers + (oder von <username>root</username>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>man hier</command></term> + + <listitem> + <para>die Manualpage des + &unix;-Dateisystems.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Nutzen Sie <command>find</command>, um unter + <filename>/usr</filename> oder anderen + Verzeichnissen nach <filename>dateiname</filename> zu + suchen:</para> + + <informalexample> + <screen>&prompt.user; <userinput>find /usr -name "<replaceable>dateiname></replaceable>"</userinput></screen> + </informalexample> + + <para>Als Platzhalter können Sie bei + <parameter>"<replaceable>dateiname</replaceable>"</parameter> + einen <literal>*</literal> verwenden. + (<replaceable>dateiname</replaceable> muss dabei in + Hochkommata stehen.) Weisen Sie <command>find</command> an, + in <filename>/</filename> statt in <filename>/usr</filename> + zu suchen, werden alle eingehängten Dateisysteme + durchsucht, CD-ROM und DOS-Partitionen + eingeschlossen.</para> + + <para>Ein ausgezeichnetes Buch, in dem sämtliche + &unix;-Befehle beschrieben werden, ist + <citetitle>Unix for the Impatient</citetitle> von + Abrahams & Larson (2nd ed., Addison-Wesley, 1996). + Auch im Internet finden Sie viele Informationen zu + &unix;.</para> + </sect1> + + <sect1> + <title>Die nächsten Schritte</title> + + <para>Sie sollten nun alle wichtigen Werkzeuge kennen, um sich auf Ihrem + System zurechtzufinden, Dateien zu editieren und alles am Laufen + zu halten. Viele nützliche Informationen finden sich im + FreeBSD-Handbuch (das vielleicht schon auf Ihrer + Festplatte ist) und auf der <ulink + url="http://www.FreeBSD.org/index.html">FreeBSD Webseite</ulink>. + Viele Softwarepakte und Ports sind sowohl auf der FreeBSD-CD-ROM + als auch auf der Webseite verfügbar. Im Handbuch finden Sie + Hinweise, wie Sie mit diesen arbeiten können. Pakete + installieren Sie mit + <command>pkg_add /cdrom/packages/All/<replaceable>Paketname</replaceable></command>, + wobei <replaceable>Paketname</replaceable> für den + Dateinamen des Paketes steht. Auf der CD-ROM finden Sie auch eine + Liste der Pakete und Ports inklusive einer kurzen Beschreibung. + Lesen Sie dazu + <filename>cdrom/packages/index</filename>, + <filename>cdrom/packages/index.txt</filename> sowie + <filename>cdrom/ports/index</filename>. Eine + ausführliche Beschreibung den jeweiligen Ports finden Sie + in <filename>/cdrom/ports/*/*/pkg-descr</filename>, wobei die + <literal>*</literal>-Zeichen für die Kategorie und das + Unterverzeichnis des jeweiligen Programms stehen.</para> + + <para>Falls Ihnen die Beschreibung zur Installation von Ports + von der CD-ROM im Handbuch zu kompliziert erscheint (mit + Programmen wie <command>lndir</command> und anderen), finden Sie + hier eine alternative Beschreibung, die in der Regel problemlos + funktioniert:</para> + + <para>Suchen Sie zuerst den Port, den Sie installieren möchten, + etwa <command>kermit</command>. Auf der CD-ROM sollte dafür + ein entsprechendes Verzeichnis vorhanden sein. Kopieren Sie + dieses Unterverzeichnis nach <filename>/usr/local</filename> + (ein guter Platz für Programme, die hinzugefügt werden + und allen Benutzern zugänglich sein sollen):</para> + + <informalexample> + <screen>&prompt.root; <userinput>cp -R /cdrom/ports/comm/kermit /usr/local</userinput></screen> + </informalexample> + + <para>Danach wird das Verzeichnis + <filename>/usr/local/kermit</filename> angelegt, in dem sich alle + Dateien des Unterverzeichnisses <filename>kermit</filename> der + CD-ROM finden.</para> + + <para>Danach legen Sie mit <command>mkdir</command> + das Verzeichnis <filename>/usr/ports/distfiles</filename> an, + falls dieses noch nicht existiert. Suchen Sie dann in + <filename>/cdrom/ports/distfiles</filename> nach der Datei, + die dem Namen des Ports gleicht, den Sie installieren + möchten. Kopieren Sie diese Datei nach + <filename>/usr/ports/distfiles</filename>. Unter neueren + Versionen können Sie diesen Schritt überspringen, da + FreeBSD dies automatisch erledigt.</para> + + <para>Wechseln Sie nun mit <command>cd</command> nach + <filename>/usr/local/kermit</filename>. In diesem Verzeichnis + befindet sich bereits ein <filename>Makefile</filename>. Geben Sie + hier Folgendes ein:</para> + + <informalexample> + <screen>&prompt.root; <userinput>make all install</userinput></screen> + </informalexample> + + <para>Während der Installation wird sich der Port + alle gepackten Dateien via FTP holen, die zur Installation + benötigt werden, aber nicht auf der CD-ROM oder unter + <filename>/usr/ports/distfiles</filename> vorhanden sind. + Falls Sie noch keine Internetverbindung haben und die + benötigten Dateien nicht in + <filename>/cdrom/ports/distfiles</filename> vorhanden sind, + müssen Sie sich die Dateien über einem anderen Rechner + besorgen und manuell nach <filename>/usr/ports/distfiles</filename> + kopieren (entweder über eine Diskette oder durch das + Einhängen einer DOS-Partition. Sehen Sie im + <filename>Makefile</filename> (mit <command>cat</command>, + <command>more</command> oder <command>view</command>) nach, wo + die Dateien zu finden sind (meist auf der Hauptseite des Programms) + und besorgen Sie sich die Datei. Laden Sie die Datei unter DOS + herunter, wird der Dateiname möglicherweise gekürzt. In + diesem Fall müssen Sie, nachdem die Datei nach + <filename>/usr/ports/distfiles</filename> kopiert wurde, den + ursprünglichen Namen mit <command>mv</command> + wiederherstellen, damit die Datei von der + Installationsroutine gefunden werden kann. Laden Sie die Datei + mit FTP herunter, müssen Sie den Binär-Modus verwenden. + Nun wechseln Sie zurück nach + <filename>/usr/local/kermit</filename> (hier befindet sich ja + das zur Installation nötige <filename>Makefile</filename>) + und installieren das Programm mit + <command>make all install</command>.</para> + + <para>Beim Installieren von Ports oder Paketen kann es auch + passieren, dass andere Programme benötigt werden. Falls + die Installation beispielsweise mit + <errorname>can't find unzip</errorname> oder einer + ähnlichen Meldung abbricht, müssen Sie zuerst das + unzip-Paket oder den entsprechende Port installieren, bevor + Sie mit der Installation fortfahren können.</para> + + <para>Ist die Installation abgeschlossen, geben Sie + <command>rehash</command> ein, damit FreeBSD den Pfad neu + einliest und weiß, wo welche Programme zu finden sind. + (Falls beim Ausführen von <command>whereis</command> oder + <command>which</command> viele Fehlermeldungen wie + <errorname>path not found</errorname> auftreten, müssen + Sie die Pfad-Anweisungen in Ihrer <filename>.cshrc</filename> + im Heimatverzeichnis erweitern. Die Pfad-Anweisung tut unter + &unix; dasselbe wie unter DOS. Das aktuelle Verzeichnis + ist allerdings aus Sicherheitsgründen nicht im + voreingestellten Ausführungspfad enthalten. Befindet + sich die auszuführende Datei im aktuellen Verzeichnis, + muss <filename>./</filename> vor dem Befehl eingegeben werden, + (wobei nach dem Slash kein Leerzeichen stehen darf), damit + die Datei ausgeführt wird.)</para> + + <para>Vielleicht möchten Sie auch die neueste Version + des &netscape;-Browsers (zu finden auf der + <ulink url="ftp://ftp.netscape.com/"> FTP-Seite</ulink> von + &netscape;) installieren, von der es auch eine FreeBSD-Version + gibt. Dazu müssen Sie allerdings das X Window-System + installiert haben. Nach dem Herunterladen verwenden Sie + <command>gunzip <replaceable>dateiname</replaceable></command> + und + <command>tar xvf <replaceable>dateiname</replaceable></command>, + um die Datei zu entpacken. Danach kopieren Sie die + Binärdatei nach <filename>/usr/local/bin</filename> oder ein + anderes Verzeichnis Ihres Pfades, und geben abschließend + <command>rehash</command> ein. Fügen Sie dann + in <filename>/etc/csh.cshrc</filename>, der systemweiten + Konfigurationsdatei von <command>csh</command>, folgende + Zeilen ein:</para> + + <informalexample> + <programlisting>setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB +setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> + </informalexample> + + <para>Dabei wird davon ausgegangen, dass + <filename>XKeysymDB</filename> und das Verzeichnis + <filename>nls</filename> sich unter + <filename>/usr/X11R6/lib/X11</filename> befinden. Ist dies + auf Ihrem System nicht der Fall, müssen Sie diese finden + und dorthin kopieren.</para> + + <para>Falls Sie &netscape; schon als Port von der CD-ROM oder + über FTP installiert haben, achten Sie unbedingt + darauf, nicht versehentlich + <filename>/usr/local/bin/netscape</filename> durch die neue + Binärdatei zu ersetzen, da es sich bei dieser Datei nur + um ein Shell-Skript handelt, das die Umgebungsvariablen für + Sie setzt. Nennen Sie die neue Binärdatei stattdessen + besser <filename>netscape.bin</filename> und ersetzen Sie die + alte Version + <filename>/usr/local/netscape/netscape</filename>.</para> + </sect1> + + <sect1> + <title>Die Arbeitsumgebung</title> + + <para>Die Shell ist das wichtigste Programm Ihrer + Arbeitsumgebung. Unter DOS heißt die Shell command.com. + Die Shell interpretiert die Befehle, die Sie auf der + Kommandozeile eingeben und kommuniziert so mit dem Rest des + Betriebssystems. Sie können auch Shellskripte schreiben, + die den DOS-Batchdateien ähnlich sind. Es handelt sich + dabei um eine Folge von Befehlen, die hintereinander + ausgeführt werden.</para> + + <para>Zwei Shells werden von FreeBSD automatisch installiert: + <command>csh</command> und <command>sh</command>. + <command>csh</command> ist für die Arbeit auf der + Kommandozeile komfortabler, Skripten sollten allerdings für + <command>sh</command> (oder für + <command>bash</command>) geschrieben werden. Mit + <command>echo $SHELL</command> können Sie herausfinden, + welche Shell benutzt wird.</para> + + <para>Die <command>csh</command>-Shell ist zwar nicht schlecht, + aber die <command>tcsh</command>-Shell kann alles, was die + <command>csh</command> kann und einiges mehr. Sie erlaubt es + Ihnen, ausgeführte Befehle mit den Pfeiltasten wieder + aufzurufen und diese sogar zu verändern. Dateinamen oder + Befehle können mit der Tabulator-Taste automatisch + vervollständigt werden (<command>csh</command> nutzt + dafür <keycap>ESC</keycap>) und mit + <command>cd -</command> können Sie schnell in das + zuletzt verwendete Verzeichnis wechseln. Auch der Prompt + lässt sich unter der <command>tcsh</command>-Shell + wesentlich einfacher anpassen. All diese Eigenschaften + erleichtern den Umgang mit dem Betriebssystem.</para> + + <para>Wollen Sie eine neue Shell installieren, gehen Sie wie + folgt vor:</para> + + <procedure> + <step> + <para>Installieren Sie die Shell als Port oder Paket genau + so, wie Sie jedes andere Programm als Port oder Paket + installieren würden. Rufen Sie dann + <command>rehash</command> sowie + <command>which tcsh</command> auf (wir nehmen hier an, + dass Sie <command>tcsh</command> installieren wollen), + um sicher zu gehen, dass alles korrekt installiert + wurde.</para> + </step> + + <step> + <para>Als <username>root</username> editieren Sie nun + <filename>/etc/shells</filename>, und fügen eine + Zeile für die neue Shell ein, in unserem Fall also + <filename>/usr/local/bin/tcsh</filename>. Danach speichern + Sie die Datei (Einige Ports erledigen diesen Schritt + automatisch für Sie.).</para> + </step> + + <step> + <para>Nutzen Sie <command>chsh</command>, um + <command>tcsh</command> dauerhaft als Ihre Shell zu + definieren. Alternativ geben Sie einfach + <command>tcsh</command> ein, ohne sich neu am System + anzumelden.</para> + </step> + </procedure> + + <note> + <para>Bei früheren Versionen von FreeBSD und einigen + anderen Versionen von &unix; traten Probleme auf, + wenn <username>root</username> eine andere Shell + als <command>sh</command> oder <command>csh</command> + zugewiesen wurde; sie hatten dann keine funktionierende Shell, + wenn das System im Single-User-Modus ausgeführt wurde. + Die Lösung besteht darin, <command>su -m</command> + einzugeben, um <username>root</username> zu werden, weil + damit <username>root</username> die <command>tcsh</command> + zugewiesen wird, da diese Shell Teil der Umgebung ist. Dies + kann auch fest als Alias in <filename>.tcshrc</filename> + eingetragen werden:</para> + + <programlisting>alias su su -m</programlisting> + </note> + + <para>Wenn <command>tcsh</command> startet, werden + <filename>/etc/csh.cshrc</filename> und + <filename>/etc/csh.login</filename> eingelesen (analog zur + <command>csh</command>). Ebenfalls eingelesen werden + <filename>.login</filename> und <filename>.cshrc</filename> + des Heimatverzeichnisses, falls <filename>.tcshrc</filename> + nicht gefunden wurde. Sie können auch + einfach <filename>.cshrc</filename> nach + <filename>.tcshrc</filename> kopieren.</para> + + <para>Da <command>tcsh</command> nun installiert ist, kann + der Prompt angepasst werden. Details dazu finden Sie in + &man.tcsh.1;. Die hier vorgeschlagene Zeile können Sie + in Ihre <filename>.tcshrc</filename> eintragen. Dadurch wird + angezeigt, wie viele Befehle bereits eingegeben wurden. + Außerdem erhalten Sie die aktuelle Uhrzeit sowie das + aktuelle Arbeitsverzeichnis. Für den + gewöhnlichen Benutzer wird ein <literal>></literal> und + für <username>root</username> ein <literal>#</literal> + ausgegeben. Dabei handelt es sich um die Standardeinstellung + von <command>tcsh</command>:</para> + + <para>set prompt = "%h %t %~ %# "</para> + + <para>Diese Zeile sollte an derselben Stelle eingefügt + werden, wie die vorhandene "set prompt" Zeile oder nach + "if($?prompt) then". Kommentieren Sie die alte Zeile aus, + damit diese notfalls wieder benutzt werden kann. + Vergessen Sie auch auf keinen Fall die Leerzeichen und + Hochkommata. <filename>.tcshrc</filename> wird neu + eingelesen, wenn Sie <command>source .tcshrc</command> + eingeben.</para> + + <para>Eine Liste aller Umgebungsvariablen erhalten Sie, + wenn Sie am Prompt <command>env</command> eingeben. Sie sehen + dann den Default-Editor, -Pager, -Terminaltyp und viele andere + Umgebungsvariablen. Falls Sie sich von einem entfernten Rechner + anmelden und ein Programm nicht starten können, weil das + Terminal dazu nicht in der Lage ist, kann die Eingabe von + <command>setenv TERM vt100</command> sehr hilfreich sein.</para> + </sect1> + + <sect1> + <title>Einige abschließende Bemerkungen</title> + + <para>Als <username>root</username> können Sie das + CD-ROM-Laufwerk mit <command>/sbin/umount /cdrom</command> + abhängen, eine andere CD-ROM einlegen und mit + <command>/sbin/mount_cd9660 /dev/cd0a /cdrom</command> wieder + einhängen (falls <hardware>cd0a</hardware> der Devicename + Ihres CD-ROM-Laufwerkes ist). Bei neueren FreeBSD-Versionen + muss dafür nur <command>/sbin/mount /cdrom</command> + eingegeben werden.</para> + + <para>Das Live-Filesystem (die zweite FreeBSD-CD-ROM) kann hilfreich + sein, wenn auf Ihrem System nur begrenzt Speicherplatz vorhanden + ist. Was genau auf dieser Live-CD enthalten ist, variiert von + Ausgabe zu Ausgabe. Vielleicht können verschiedene Spiele + von CD-ROM gespielt werden. Dazu muss aber auch + <command>lndir</command> vorhanden sein, damit diese Programme + wissen, wo sie die von ihnen benötigten Dateien finden, da + sich diese unter <filename>/cdrom</filename> und nicht unter + <filename>/usr</filename> und den entsprechenden + Unterverzeichnissen befinden, wie es diese Programme erwarten. + Lesen Sie dazu auch &man.lndir.1;.</para> + </sect1> + + <sect1> + <title>Kommentare</title> + + <para>Falls Sie diese einführende Anleitung benutzen, + würde es mich interessieren, ob Dinge schlecht erklärt + sind, was noch ergänzt werden sollte, und ob Ihnen diese + Einführung geholfen hat. Ich danke Eugene W. Stark, + Informatikprofessor am SUNY-Stony Brook, sowie John Fieber + für ihre hilfreichen Kommentare.</para> + + <para>Annelise Anderson, + <email>andrsn@andrsn.stanford.edu</email></para> + </sect1> +</article> + +<!-- + Local Variables: + mode: sgml + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + End: +--> diff --git a/de_DE.ISO8859-1/books/faq/book.sgml b/de_DE.ISO8859-1/books/faq/book.sgml index 754c30f02e..677d1707bc 100644 --- a/de_DE.ISO8859-1/books/faq/book.sgml +++ b/de_DE.ISO8859-1/books/faq/book.sgml @@ -3,9 +3,9 @@ The FreeBSD German Documentation Project $FreeBSD$ -$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.520 2005/01/16 17:22:50 mheinen Exp $ +$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.522 2005/02/15 17:02:06 jkois Exp $ - basiert auf: 1.681 + basiert auf: 1.683 --> @@ -33,7 +33,7 @@ $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.520 2005/01/16 17:22:50 mheinen E </collab> </authorgroup> - <pubdate>$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.520 2005/01/16 17:22:50 mheinen Exp $</pubdate> + <pubdate>$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.522 2005/02/15 17:02:06 jkois Exp $</pubdate> <copyright> <year>1995</year> @@ -632,7 +632,7 @@ $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.520 2005/01/16 17:22:50 mheinen E <itemizedlist> <listitem> - <para>Das aktuelle Release, &rel.current;-RELEASE, + <para>Das aktuelle 5-STABLE-Release, &rel.current;-RELEASE, finden Sie im Verzeichnis <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</ulink>.</para> </listitem> @@ -6710,7 +6710,10 @@ use "disklabel -r" to install initial label</screen> </question> <answer> - <para>Ja, <filename role="package">security/cfs</filename>.</para> + <para>Verwenden Sie FreeBSD 5.0 oder neuer, sollten Sie + &man.gbde.8; lesen. Für ältere Versionen gibt es + den Port + <filename role="package">security/cfs</filename>.</para> </answer> </qandaentry> diff --git a/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml index 7f7b0ff25b..1f260db076 100644 --- a/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml +++ b/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml @@ -28,17 +28,2946 @@ POSSIBILITY OF SUCH DAMAGE. $FreeBSD$ - $FreeBSDde: de-docproj/books/fdp-primer/sgml-markup/chapter.sgml,v 1.4 2004/08/30 22:39:59 mheinen Exp $ + $FreeBSDde: de-docproj/books/fdp-primer/sgml-markup/chapter.sgml,v 1.7 2005/02/26 12:20:55 mheinen Exp $ + + basiert auf: 1.51 --> <chapter id="sgml-markup"> - <title># Auszeichnung mit SGML</title> + <title>SGML-Dokumente erstellen</title> + + <para>In diesem Kapitel werden die beiden vom FDP eingesetzen + Auszeichnungssprachen HTML und DocBook behandelt. Hierbei + beschränkt sich dieses Kapitel auf die Elemente, die bei der + täglichen Arbeit am ehesten zum Einsatz kommen werden.</para> + + <para>Beide Sprachen besitzen eine große Anzahl von Elementen. + Das erschwert es, das richtige Element in der richtigen Situation + auszuwählen. Aus diesem Grund werden zu jedem Element auch + immer Beispiele angeboten, die den richtigen Einsatz des Elements + verdeutlichen sollen.</para> + + <para>Es ist nicht das Ziel dieses Kapitels möglichst viele + Elemente beider Sprachen zu behandeln – dies wäre nur + eine Wiederholung der eigentlichen Sprachreferenz. Sofern es + Unklarheiten zur Verwendung einzelner Elemente und Auszeichnung + von bestimmten Sachverhalten gibt, können diese an &a.doc; + geschickt werden.</para> + + <note> + <title>Fluß- kontra Blockelemente</title> + + <!--@todo + Fussnote bzgl. der UEbersetzung von "inline" einfuegen. + Oliver Fischer + --> + + <para>Wenn im folgenden von + <emphasis>Flußelementen</emphasis> die Rede ist, sind + damit Elemente gemeint, die in einem Blockelement auftreten + können und keinen Zeilenumbruch hervorrufen. + <emphasis>Blockelemente</emphasis> hingegen erzeugen unter + anderem einen Zeilenumbruch<footnote><para>Die englische + Bezeichnung <foreignphrase>inline element</foreignphrase> + wurde in Anlehnung an das Wort <quote>Fließtext</quote> + mit <quote>Flußelement</quote> + übersetzt.</para></footnote>.</para> + </note> + + <sect1 id="sgml-markup-html"> + <title>HTML</title> + + <para>HTML<footnote><para>HyperText Markup Language</para> + </footnote> ist die Auszeichnungssprache des + WWWs<footnote><simpara>Wer mehr Informationen zu HTML + wünscht, kann diese beim <ulink + url="http://www.w3.org/">W3C</ulink> finden.</simpara> + </footnote>. Sie kommt bei der Erstellung der Webseiten des + FreeBSD-Projektes zum Einsatz. Für technische Dokumentationen + sollte HTML jedoch nicht eingesetzt werden, da DocBook eine + größere und bessere Auswahl an Elementen bietet. Folglich sollte + HTML nur dann eingesetzt werden, wenn an den FreeBSD-Webseiten + arbeitet wird.</para> + + <para>Die HTML-Spezifikation liegt bis jetzt in mehreren Versionen + vor: 1, 2, 3.0, 3.2 und (die aktuelle) 4.0. Von letzterer + existieren zwei Varianten: <quote>streng</quote> (HTML 4.0 + Strict) und <quote>locker</quote> (HTML 4.0 + Transitional).</para> + + <para>Die HTML-DTDs sind über den Port <filename + role="package">textproc/html</filename> verfügbar und werden + automatisch als Teil des Metaports <filename + role="package">textproc/docproj</filename> + mitinstalliert.</para> + + <sect2> + <title>Formale Öffentliche Bezeichner</title> + + <!--@todo Optimierungskandidat. Oliver Fischer --> + <para>Da es mehrere Version von HTML gibt, existieren auch + mehrere FÖPs, zu denen ein HTML-Dokument konform + erklärt werden kann. Die Mehrzahl der sich auf der + FreeBSD-Webseite befindenen HTML-Seiten sind zu der lockeren + Version von HTML 4.0 konform.</para> + + <programlisting>PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"</programlisting> + </sect2> + + <sect2> + <title>Die Elemente <sgmltag>head</sgmltag> und + <sgmltag>body</sgmltag></title> + + <para>Ein HTML-Dokument unterteilt sich normalerweise in zwei + Bereiche: <quote>head</quote> und <quote>body</quote>. Der + Kopf (<foreignphrase>head</foreignphrase>) enthält Metadaten + wie den Dokumententitel und Angaben zum Autor. Der Rumpf + (<foreignphrase>body</foreignphrase>) umfaßt den eigentlichen + Dokumenteninhalt, der für den Leser bestimmt ist. In einem + HTML-Dokument werden diese Bereiche über die Elemente + <sgmltag>head</sgmltag> und <sgmltag>body</sgmltag> + voneinander abgegrenzt. Beide sind Kinder des Wurzelelementes + <sgmltag>html</sgmltag>.</para> + + <example> + <title>Die Struktur eines HTML-Dokumentes</title> + + <programlisting><html> + <head> + <title><replaceable>Der Dokumententitel</replaceable></title> + </head> + + <body> + + … + + </body> +</html></programlisting> + </example> + </sect2> + + <sect2> + <title>Blockelemente</title> + + <sect3> + <title>Überschriften</title> + + <para>HTML kennt sechs verschiedene Elemente, mit denen + Überschriften ausgezeichnet werden können. Das bekannteste + Element ist <sgmltag>h1</sgmltag>, das sich am Anfang der + Überschriftenhierarchie befindet. <sgmltag>h1</sgmltag> + folgen die Überschriftenelemente <sgmltag>h2</sgmltag> bis + <sgmltag>h6</sgmltag>. Der Inhalt von + <sgmltag>h<replaceable>N</replaceable></sgmltag> stellt den + Text der Überschrift dar.</para> + + <example> + <title><sgmltag>h1</sgmltag>, <sgmltag>h2</sgmltag>…</title> + + <para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para> + + <programlisting><![ RCDATA [<h1>Erstes Kapitel</h1> + +<!-- Hier steht die Einführung --> + +<h2>Das ist die Überschrift des ersten Kapitels</h2> + +<!-- Hier steht der Inhalt des ersten Kapitels --> + +<h3>Das ist die Überschrift des ersten Unterkapitels</h3> + +<!-- Hier steht der Inhalt des ersten Unterkapitels --> + +<h2>Das ist die Überschrift des zweiten Kapitels</h2> + +<!-- Hier steht der Inhalt des zweiten Kapitels -->]]></programlisting> + </example> + + <para>Eine HTML-Seite sollte immer nur eine Überschrift + <sgmltag>h1</sgmltag> haben. Dieser Überschrift können + beliebig viele Kapitel mit einer Überschrift + <sgmltag>h2</sgmltag> folgen, die selbst wiederum eine + beliebige Anzahl von Kapiteln mit einer Überschrift + <sgmltag>h3</sgmltag> enthalten können. Diese + Verschachtelung setzt sich bis zu Kapiteln mit einer + <sgmltag>h6</sgmltag>-Überschrift fort. Es sollte vermieden + werden, Elemente in der Überschriftenhierarchie + auszulassen.</para> + + <example> + <title>Falsche Verschachtelung von Überschriften</title> + + <para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para> + + <programlisting><![ RCDATA [<h1>Erstes Kapitel</h1> + +<!-- Allgemeines zum Dokument --> + +<h3>Unterkapitel</h3> + +<!-- h3 folgt direkt auf h1. h2 wurde ausgelassen -->]]></programlisting> + </example> + </sect3> + + <sect3> + <title>Absätze</title> + + <para>Absätze können in HTML mit Hilfe des Elementes + <sgmltag>p</sgmltag> ausgezeichnet werden.</para> + + <example> + <title>Absätze mit dem Element <sgmltag>p</sgmltag></title> + + <para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para> + + <programlisting><![ RCDATA [<p>Das hier, das ist ein Absatz. Absätze können + andere Elemente enhalten.</p>]]></programlisting> + </example> + </sect3> + + <sect3> + <title>Blockzitate</title> + + <para>Ein Blockzitat ist ein etwas umfangreicheres Zitat aus + einem anderen Text, das nicht zum aktuellen Absatz + gehört.</para> + + <example> + <title>Blockzitat</title> + + <para>Fügen Sie in eine der existierenden Übungsdateien + folgendes ein:</para> + + <programlisting><![ RCDATA [<blockquote> + <p>Artikel 1: Menschenwürde; Grundrechtsbindung der + staatlichen Gewalt</p> + + <ol> + <li> + <p>Die Würde des Menschen ist unantastbar. Sie zu achten + und zu schützen ist Verpflichtung aller staatlichen + Gewalten.</p> + </li> + <li> + <p>Das Deutsche Volk bekennt sich darum zu unverletzlichen + und unveräußerlichen Menschenrechten als Grundlage jeder + menschlichen Gemeinschaft, des Friedens und der + Gerechtigkeit in der Welt.</p> + </li> + <li> + <p>Die nachfolgenden Grundrechte binden Gesetzgebung, + vollziehende Gewalt und Rechtsprechung als + unmittelbar geltendes Recht.</p> + </li> + </ol> +</blockquote>]]></programlisting> + </example> + </sect3> + + <sect3> + <title>Listen</title> + + <para>HTML kennt drei Arten von Listen: sortierte, unsortierte + und Definitionslisten. Ein Eintrag in einer sortierten Liste + wird üblicherweise mit einer Nummer versehen, Einträge in + unsortierten Listen hingegen mit einem Aufzählungspunkt. + Definitionslisten wiederum bestehen aus zwei Teilen: Der + erste enthält den Begriff der definiert werden soll und der + zweite dessen Erläuterung.</para> + + <para>Sortierte Listen werden mit dem Element + <sgmltag>ol</sgmltag> (für + <foreignphrase><emphasis>o</emphasis>rdered + <emphasis>l</emphasis>ist</foreignphrase>) ausgezeichnet, + unsortierte Listen mit <sgmltag>ul</sgmltag> (für + <foreignphrase><emphasis>u</emphasis>nordered + <emphasis>l</emphasis>ist</foreignphrase>) und + Definitionslisten mit <sgmltag>dl</sgmltag>.</para> + + + <para>Listenpunkte sortierter und unsortierter Listen werden + mit dem Element <sgmltag>li</sgmltag> ausgezeichnet, + welches Text oder andere Blockelemente enthalten kann. + Begriffe, die in einer Definitionslisten enthalten sind, + werden mit dem Element <sgmltag>dt</sgmltag> (für + <foreignphrase><emphasis>d</emphasis>efinition + <emphasis>t</emphasis>erm</foreignphrase>) ausgezeichnet. + Die Erklärung zu diesem Begriff wird mit Hilfe des Elementes + <sgmltag>dd</sgmltag> (für <foreignphrase>definition + description</foreignphrase>) markiert. So wie + <sgmltag>li</sgmltag>, kann das Element + <sgmltag>dd</sgmltag> ebenfalls andere Blockelemente + aufnehmen.</para> + + <example> + <title>Listen mit <sgmltag>ul</sgmltag> und + <sgmltag>ol</sgmltag> erstellen</title> + + <para>Fügen Sie in eine der existierenden Übungsdateien + folgendes ein:</para> + + <programlisting><![ RCDATA [<p>Jetzt folgt eine unsortierte Liste. Wahrscheinlich werden + die einzelnen Einträge mit einem vorangehenden Punkt dargestellt.</p> + +<ul> + <li>Erster Eintrag</li> + + <li>Zweiter Eintrag</li> + + <li>Dritter Eintrag</li> +</ul> + +<p>Die zweite Liste ist sortiert und ihre Einträge bestehen aus mehreren Absätzen. + Jeder Listeneintrag ist nummeriert.</p> + +<ol> + <li><p>Das ist der erste Eintrag mit nur einem Absatz.</p></li> + + <li><p>Das ist der erste Absatz des zweiten Eintrags.</p> + + <p>Und das ist der zweite Absatz des zweiten Eintrags.</p></li> + + <li><p>Der dritte Eintrag besteht ebenfalls nur aus einem Eintrag.</p></li> +</ol>]]></programlisting> + </example> + + <example> + <title>Definitionslisten mit <sgmltag>dl</sgmltag> erstellen</title> + + <para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para> + + <programlisting><![ RCDATA [<dl> + <dt>Erster Begriff</dt> + + <dd><p>Erster Absatz der Erklärung</p></dd> + + <p>Zweiter Absatz der Erklärung.</p></dd> + + <dt>Zweiter Begriff</dt> + + <dd><p>Erster Absatz der Erklärung.</p></dd> + + <dt>Dritter Begriff</dt> + + <dd>Erster Absatz der Erklärung zum dritten Begriff. + Beachtenswert ist, daß <p> nicht notwendig ist.</dd> +</dl>]]></programlisting> + </example> + </sect3> + + <sect3> + <title>Vorformatierter Text</title> + + <!--@todo Bezeichnung ,,Schrift mit fester Laufweite'' Richtig? + Oliver Fischer, 21.03.04 --> + <para>In einigen Fällen ist es gewollt, daß die Formatierung + eines Textes im Quelldokument erhalten bleibt, so daß der + Leser diesen genau so sieht, wie ihn der Autor erstellt hat. + In der HTML-Spezifikation ist dafür das Element + <sgmltag>pre</sgmltag> vorgesehen, welches dafür sorgt, daß + Zeilenumbrüche erhalten bleiben und Leerzeichen nicht + zusammengefaßt werden. Browser verwenden für den + Inhalt des Elementes <sgmltag>pre</sgmltag> + üblicherweise eine Fixschrift.</para> + + <example> + <title>Vorformatierten Text mit <sgmltag>pre</sgmltag> erstellen</title> + + <para>Der Originaltext einer E-Mail läßt sich beispielsweise + wie folgt einbinden:</para> + + <!--<para>You could use <sgmltag>pre</sgmltag> to mark up an e-mail + message;</para>--> + + <programlisting><![ RCDATA [<pre> From: nik@FreeBSD.org + To: freebsd-doc@FreeBSD.org + Subject: Neue Version verfügbar + + Es ist eine neue Version der Fibel für neue Mitarbeiter am + FreeBSD-Dokumentationsprojekt verfügbar: + + URL:http://people.FreeBSD.org/~nik/primer/index.html + + Kommentare und Anmerkungen sind willkommen. + + N</pre>]]></programlisting> + </example> + </sect3> + + <sect3> + <title>Tabellen</title> + + <note> + <para>Die meisten Textbrowser, beispielsweise Lynx, können + Tabellen nicht besonders gut darstellen. Deshalb sollten + Auszeichnungsalternativen in Betracht gezogen werden, um + eine angemessene Darstellung sicherzustellen.</para> + </note> + + <para>Tabellen lassen sich in HTML mit Hilfe des Elements + <sgmltag>table</sgmltag> auszeichnen. Eine Tabelle setzt + sich aus einer oder mehreren Zeilen (<sgmltag>tr</sgmltag>) + zusammen, von denen jede mindestens eine Zelle + (<sgmltag>td</sgmltag>) enthält. Zellen können wiederum + andere Blockelemente, wie Absätze oder Listen, enthalten. + Auch können sie auch andere Tabellen aufnehmen, wobei die + Verschachtelungstiefe unbegrenzt ist. Soll die Tabellenzelle + nur einen Textabsatz enthalten, ist es nicht notwendig den + Text mit einem <sgmltag>p</sgmltag> zu umschließen.</para> + + <example> + <title>Einfache Tabelle mit <sgmltag>table</sgmltag></title> + + <para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para> + + <programlisting><![ RCDATA [<p>Eine einfache 2x2 Tabelle.</p> + +<table> + <tr> + <td>Obere linke Zelle</td> + + <td>Obere rechte Zelle</td> + </tr> + + <tr> + <td>Untere linke Zelle</td> + + <td>Untere rechte Zelle</td> + </tr> +</table>]]></programlisting></example> + + <para>HTML kennt die Möglichkeit, daß sich eine + Zelle mehrere Zeilen und/oder Spalten erstrecken kann. + Sollen beispielsweise mehrere Spalten zusammenfassen werden, + kann dies mit mit Hilfe des Attributes + <literal>colspan</literal> erreicht werden, indem man ihm + die Anzahl der zusammenzufassenden Spalten zuweist. + Ähnliches gilt für die Zusammenfassung von Zeilen: + Hierfür wird dem Attribut <literal>rowspan</literal> + die Anzahl der zusammenzufassenden Zeilen zugewiesen.</para> + + <example> + <title>Anwendung des Attributes <literal>rowspan</literal></title> + + <programlisting><![ RCDATA [<p>Diese Tabelle besteht aus einer langen Zelle auf der + linken Seite und zwei kleineren Zellen auf der rechten.</p> + +<table> + <tr> + <td rowspan="2">Lang und dünn</td> + </tr> + + <tr> + <td>Obere Zelle</td> + + <td>Untere Zelle</td> + </tr> +</table>]]></programlisting> + </example> + + <example> + <title>Anwendung des Attributes <literal>colspan</literal></title> + + <programlisting><![ RCDATA [<p>Eine breite Zeile oben und zwei schmalere Zeilen + darunter.</p> + +<table> + <tr> + <td colspan="2">Obere Zelle</td> + </tr> + <tr> + <td>Linke untere Zelle</td> + + <td>Rechte untere Zelle</td> + </tr> +</table>]]></programlisting> + </example> + + <example> + <title>Gemeinsame Anwendung der Attrbute <literal>rowspan</literal> und + <literal>colspan</literal></title> + + <programlisting><![ RCDATA [<p>Eine Tablle mit 3-mal-3 Zellen. Oben links + werden 2 mal 2 Zelle zusammengezogen.</p> + +<table> + <tr> + <td colspan="2" rowspan="2">Große obere linke Zelle</td> + + <td>Obere rechte Zelle</td> + </tr> + + <tr> + <!-- Da sich die zusammengefaßte Zelle über zwei Zeilen + erstreckt, befindet sich das die durch dieses <td> + definierte Zelle ganz rechts. --> + + <td>Mittlere rechte Zelle</td> + </tr> + + <tr> + <td>Untere linke Zelle</td> + + <td>Untere mittlere Zelle</td> + + <td>Untere rechte Zelle</td> + </tr> +</table>]]></programlisting> + </example> + </sect3> + </sect2> + + <sect2> + <title>Flußelemente</title> + + <sect3> + <title>Hervorheben von Information</title> + + <para>Sollen sich bestimmte Informationen von anderen optisch + abheben, kann dies mit den HTML-Tags + <sgmltag>strong</sgmltag> und <sgmltag>em</sgmltag> erreicht + werden. <sgmltag>strong</sgmltag> stellt dabei eine + stärkere Hervorhebung als <sgmltag>em</sgmltag> dar, + wobei mit <sgmltag>strong</sgmltag> ausgezeichnete Elemente + fett und mit <sgmltag>em</sgmltag> ausgezeichnete Elemente + kursiv dargestellt werden. Allerdings ist diese Aussage + nicht verläßlich, da die Darstellung vom Browser + abhängig ist.</para> + + <example> + <title>Text mit <sgmltag>em</sgmltag> und <sgmltag>strong</sgmltag> + hervorheben</title> + + <programlisting><![ RCDATA [<p><em>Dieses</em> Wort ist hervorgehoben, + während <strong>dieses noch stärker hervorgehoben ist.</p>]]></programlisting> + </example> + </sect3> + + <sect3> + <!--? Was ist typografisch richtig: schräg oder kursiv? + Oliver Fischer --> + <title>Fett- und Schrägschrift</title> + + <para>Da mittels HTML auch Festlegungen über die + Darstellung getroffen werden können, gibt es die + Möglichkeit direkt zu bestimmen, daß bestimmte + Inhalte fett oder kursiv dargestellt werden sollen. Mit + <sgmltag>b</sgmltag> eingefaßte Inhalte werden fett + und mit <sgmltag>i</sgmltag> eingefaßte kursiv + dargestellt.</para> + + <example> + <title>Text mit <sgmltag>b</sgmltag> und <sgmltag>i</sgmltag> + formatieren</title> + + <programlisting><![ RCDATA [<p><b>Dieses</b> Wort wird fett dargestellt, +während <i>dieses</i> kursiv dargestellt wird.</p>]]></programlisting> + </example> + </sect3> + + <sect3> + <title>Nicht-proportionale Schrift für Texte</title> + + <para>Der Tag <sgmltag>tt</sgmltag> erlaubt es, + Text in einer schreibmaschinenähnlichen + Schrift darzustellen.</para> + + <example> + <title>Nicht-proportionale Schrift mit + <sgmltag>tt</sgmltag></title> + + <programlisting><![ RCDATA [<p>Dieses Dokument wurde ursprünglich von + Nik Clayton geschrieben. Nick Clayton kann unter der E-Mail-Adresse + <tt>nik@FreeBSD.org</tt> erreicht werden.</p>]]></programlisting> + + </example> + </sect3> + + <sect3> + <title>Änderung der Schriftgröße</title> + + <para>HTML bietet auch Möglichkeiten, um Einfluß + auf die Schriftgröße zu nehmen, das heißt, + zu bestimmen, ob die Schrift größer oder kleiner + als die Standardschrift dargestellt werden soll. Es gibt + drei verschiedene Wege, dies zu erreichen:</para> + + <orderedlist> + <listitem> + <para>Mittels der Tags <sgmltag>big</sgmltag> und + <sgmltag>small</sgmltag> kann die + Darstellungsgröße des eingeschlossenen Textes + vergrößert respektive verkleinert werden. + HTML erlaubt es zudem, diese Tags zu verschachteln, so + daß auch <literal><big><big>Das ist + wesentlich + größer.</big></big></literal> + geschrieben werden kann.</para> + </listitem> + + <listitem> + <para>Das gleiche Ergebnis kann über die Zuweisung der + Werte <literal>1</literal> und <literal>-1</literal> an + das Attribut <sgmltag role="attribute">size</sgmltag> + des Tags <sgmltag>font</sgmltag> erreicht werden. Diese + Vorgehensweise sollte allerdings als veraltet betrachtet + werden, da der Einsatz eines CSS hierfür die bessere + Lösung darstellt.</para> + </listitem> + + <listitem> + <para>Über die Zuweisung von absoluten Werten im Bereich + von <literal>1</literal> bis <literal>7</literal> an das + Attribut <literal>size</literal> des Tags + <sgmltag>font</sgmltag> <footnote> + <para>Der Standardwert für <literal>size</literal> ist + <literal>3</literal>.</footnote>. Diese + Herangehensweise ist ebenfalls veraltet und sollte nicht + mehr angewandt werden.</para> + </listitem> + </orderedlist> + + <example> + <title>Schriftgröße ändern mit + <sgmltag>big</sgmltag>, <sgmltag>small</sgmltag> und + <sgmltag>font</sgmltag></title> + + <para>Die folgenden HTML-Schnipsel bewirken alle das gleiche:</para> + + <programlisting><![ RCDATA [<p>Dieser Text ist <small>etwas kleiner</small>. Dieser + jedoch <big>ein wenig größer</big>.</p> + +<p>Dieser Text ist <font size="-1">etwas kleiner</font>. Dieser + jedoch <font size="+1">ein wenig größer</font>.</p> + +<p>Dieser Text ist <font size="2">etwas kleiner</font>. Dieser + jedoch <font size="4">ein wenig größer</font>.</p>]]></programlisting> + </example> + </sect3> + </sect2> + + <sect2 id="links"> + <title>Links</title> + + <note> + <para>Bei Links handelt es sich ebenfalls Flußelemente.</para> + </note> + + <sect3> + <title>Auf andere Dokumente im WWW verweisen</title> + + <para>Um auf ein anderes Dokument im WWW zu verweisen, + müssen Sie die URL dieses Dokuments kennen.</para> + + <para>Links auf andere Dokumente im WWW werden in HTML durch + den Tag <sgmltag>a</sgmltag> und dessen Attribute <sgmltag + role="attribute">href</sgmltag>, das die Zieladresse + enthält, angelegt. Der Inhalt des Elementes wird selbst + zum Link und seine Darstellung erfolgt verschieden vom + übrigen Text. Meist geschieht das durch eine andere + Schriftfarbe oder dadurch, daß der Linktext + unterstrichen wird.</para> + + <example> + <title><literal><a href="..."></literal> benutzen</title> + + <programlisting><![ RCDATA [<p>Weitere Informationen stehen auf der + <a href="http://www.FreeBSD.org/">FreeBSD-Webseite</a> zur Verfügung.</p>]]></programlisting> + </example> + + <para>Beim Aufruf dieses Links wird das referenzierte Dokument vom + Browser geladen und mit dessen Seitenanfang dargestellt.</para> + </sect3> + + <sect3> + <title>Auf bestimmte Dokumentenabschnitte verweisen</title> + + <para>HTML unterstützt neben einfachen Links auch solche, die + auf einen bestimmten Abschnitt innerhalb eines Dokumentes + verweisen. Dazu müssen die Abschnitte, auf die verwiesen + werden soll, mit Hilfe von sogenannten <quote>Ankern</quote> + markiert werden. Diese Anker können ebenfalls mit Hilfe des + Tags <sgmltag>a</sgmltag> gesetzt werden, nur das anstelle + von <sgmltag role="attribute">href</sgmltag> das Attribut + <sgmltag role="attribute">name</sgmltag> gesetzt werden + muß.</para> + + <example> + <title>Anwendung von <literal><a name="..."></literal></title> + + <programlisting><![ RCDATA [<p><a name="absatz1">Auf</a> diesen Absatz kann mit + Hilfe seines Namens (<tt>absatz1</tt>) verwiesen werden.</p>]]></programlisting> + </example> + + <para>Um auf einen so gekennzeichneten Abschnitt zu verweisen, + muß die URL des Dokumentes um das Zeichen + <literal>#</literal> und den Namen des Zielankers erweitert + werden.</para> + + <example> + <title>Auf einen Abschnitt eines anderen Dokumentes + verweisen</title> + + <para>Für dieses Beispiel wird davon ausgegangen, daß der mit + <literal>absatz1</literal> gekennzeichnete Absatz sich in + der HTML-Datei <filename>foo.html</filename> + befindet.</para> + + <programlisting><![ RCDATA [<p>Weitere Informationen können im + <a href="foo.html#absatz1">ersten Absatz</a> der Datei + <tt>foo.html</tt> gefunden werden.</p>]]></programlisting> + </example> + + </sect3> + </sect2> + </sect1> + + <sect1 id="sgml-markup-docbook"> + <title>Die DocBook DTD</title> + + <para>DocBook wurde von der <ulink + url="http://www.oreilly.com/davenport/">Davenport + Group</ulink> mit dem Ziel einer DTD zur Erstellung + technischer Dokumentationen entwickelt. Daher ist DocBook sehr + stark auf die Beschreibung von Inhalten, als auf deren + Darstellung ausgerichtet. Damit steht sie im Gegensatz zu + LinuxDoc und HTML.</para> + + <note> + <title>Formelle und informelle Elemente</title> + + <para>Einige Elemente der DocBook DTD sind in zwei Varianten + vorhanden: <emphasis>formell</emphasis> und + <emphasis>informell</emphasis>. Üblicherweise besitzt die + formelle Variante einen Titel, dem der eigentliche + Elementeninhalt folgt. Die informelle Variante hingegen hat + keinen Titel.</para> + </note> + + <para>Die DocBook DTD ist in der Portssammlung im Port <filename + role="package">textproc/docbook</filename> enthalten und wird + bei der Installation von <filename + role="package">textproc/docproj</filename> automatisch + mitinstalliert.</para> + + <sect2> + <title>Die FreeBSD-Erweiterungen</title> + + <para>Für das FDP wurde die DocBook DTD durch das + FreeBSD-Dokumentationsproject um zusätzliche Elemente + erweitert, um damit präzisiere + Auszeichnungsmöglichkeiten zur Verfügung zu haben. + Sofern im folgenden FreeBSD-spezifische Elemente genutzt + werden, wird explizit darauf hingewiesen werden.</para> + + <para>Wenn nachfolgend im Text der Begriff + <quote>DocBook</quote> verwendet wird, ist damit die durch das + FDP erweiterte Version der DocBook DTD gemeint.</para> + + <note> + <para>Die durch das FDP vorgenommenen Erweiterungen sind nicht + FreeBSD-spezifisch. Sie wurden lediglich vorgenommen, da sie + für die Arbeit des FDPs als nützlich erschienen. + Für den Fall, das in den anderen *nix-Lagern (NetBSD, + OpenBSD, Linux,…) Interesse daran besteht, gemeinsam + eine Standarderweiterung für die DocBook DTD zu + entwickeln, kann mit &a.nik; Verbindung aufgenommen + werden.</para> + </note> + + <para>Zum jetzigen Zeitpunkt sind die FreeBSD-Erweiterungen + nicht Bestandteil der Portssammlung. Sie werden im + FreeBSD-CVS-Archiv (<ulink + url="http://www.FreeBSD.org/cgi/cvsweb.cgi/doc/share/sgml/freebsd.dtd">doc/share/sgml/freebsd.dtd</ulink>) + verwaltet.</para> + </sect2> + + <sect2> + <title>Formelle Öffentliche Bezeichner</title> + + <para>In Übereinstimmung mir der DocBook-Richtlinie zur + Erstellung von Bezeichnern für DocBook-Erweiterungen lautet + der Bezeichner der erweiterten FreeBSD-Variante:</para> + + <programlisting>PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN"</programlisting> + </sect2> + + <sect2 id="docbookstructure"> + <title>Die Struktur von DocBook-Dokumenten</title> + + <para>DocBook erlaubt es, Dokumente auf verschiedene Weise zu + strukturieren. Innerhalb des FDPs werden hauptsächlich zwei + Arten von DocBook-Dokumenten verwendet: Buch und Artikel. + Beide unterscheiden sich darin, daß ein Buch auf der obersten + Ebene durch <sgmltag>chapter</sgmltag>-Elemente strukturiert + wird. Sollte das noch nicht ausreichend sein, können die + einzelnen Kapitel eines Buches mit Hilfe des Elementes + <sgmltag>part</sgmltag> in Teile aufgespalten werden. Das + Handbuch zum Beispiel ist auf diese Weise aufgebaut.</para> + + <para>Kapitel (<sgmltag>chapter</sgmltag>) können weiterhin in + Unterkapitel unterteilt werden. Diese werden durch die + Elemente <sgmltag>sect1</sgmltag> ausgezeichnet. Soll ein + Unterkapitel selbst weitere Unterkapitel enthalten, kann das + über das Element <sgmltag>sect2</sgmltag> geschehen. Diese + Unterteilung kann bis zur Tiefe von fünf Unterkapiteln – + über die Elemente <sgmltag>sect3</sgmltag>, + <sgmltag>sect4</sgmltag> und <sgmltag>sect5</sgmltag> – + fortgeführt werden. Der eigentliche Inhalt, um den es ja in + dem Artikel oder Buch geht, wird unterhalb der hier genannten + Elemente eingefügt.</para> + + <para>Vom Aufbau her ist ein Artikel ist einfacher strukturiert + als ein Buch. So kann ein Artikel beispielsweise keine Kapitel + (<sgmltag>chapter</sgmltag>) enthalten. Stattdessen kann der + Inhalt eines Artikels nur durch die schon bekannten + <sgmltag>sect<replaceable>N</replaceable></sgmltag>-Elemente + in einen oder mehrere Abschnitte gegliedert werden. + Überlegen Sie sich vor dem Schreiben eines Textes, + ob der zu schreibende Text am + besten als Buch oder als Artikel angelegt wird. Artikel eignen + sich besser für Texte, die nicht in mehrere Kapitel + aufgeteilt werden müssen und mit einem Umfang von + ungefähr 20 bis 25 Seiten vergleichsweise kurz sind. + Natürlich ist das nur eine Richtlinie. Bücher sind + dementsprechend am besten für lange Texte geeignet, die + sich sinnvoll in Kapitel unterteilen lassen und + möglichweiser noch Anhänge und ähnliches + enthalten können.</para> + + <para>Alle <ulink url="../../../../docs.html">Tutorien von + FreeBSD</ulink> sind als Artikel verfaßt, während + hingegen die <ulink + url="../faq/index.html">FreeBSD-FAQ</ulink> und das <ulink + url="../handbook/index.html">FreeBSD-Handbuch</ulink> als + Bücher verfaßt wurden.</para> + + <sect3> + <title>Bücher schreiben</title> + + <para>Der Inhalt eines Buches wird in einem + <sgmltag>book</sgmltag>-Element abgelegt. Neben dem + Textteil des Buches kann dieses Element weitergehende + Informationen über das Buch selbst, + wie Meta-Informationen zum Erstellen eines + Stichwortverzeichnisses oder zusätzliche + Inhalte zum Erstellen einer Titelei, enthalten. Diese + zusätzlichen Inhalte sollten in einem + <sgmltag>bookinfo</sgmltag>-Element abgelegt werden.</para> + + <example> + <title>Buchvorlage <sgmltag>book</sgmltag> mit + <sgmltag>bookinfo</sgmltag></title> + + <!-- Can't put this in a marked section because of the + replaceable elements --> + <programlisting><book> + <bookinfo> + <title><replaceable>Titel</replaceable></title> + <author> + <firstname><replaceable>Vorname</replaceable></firstname> + <surname><replaceable>Nachname</replaceable></surname> + <affiliation> + <address><email><replaceable>Emailadresse</replaceable></email></address> + </affiliation> + </author> + + <copyright> + <year><replaceable>1998</replaceable></year> + <holder role="mailto:<replaceable>Emailadresse</replaceable>"><replaceable>Vollständiger Name</replaceable></holder> + </copyright> + + <releaseinfo>$FreeBSD$</releaseinfo> + + <abstract> + <para><replaceable>Kurze Zusammenfassung des Buchinhaltes.</replaceable></para> + </abstract> + </bookinfo> + + … + +</book></programlisting> + </example> + </sect3> + + <sect3> + <title>Artikel schreiben</title> + + <para>Der Inhalt eines Artikels wird in einem + <sgmltag>article</sgmltag>-Element abgelegt. Neben + dem Textteil kann dieses Element weitere Teile, + wie Meta-Informationen zum Erstellen eines + Stichwortverzeichnisses oder zusätzliche + Inhalte zum Erstellen einer Titelei, enthalten. + Analog zu einem Buch, sollten diese Informationen in einem + <sgmltag>articleinfo</sgmltag>-Element abgelegt + werden.</para> + + <example> + <title>Artikelvorlage <sgmltag>article</sgmltag> mit + <sgmltag>articleinfo</sgmltag></title> + + <!-- Can't put this in a marked section because of the + replaceable elements --> + <programlisting><article> + <articleinfo> + <title><replaceable>Titel</replaceable></title> + + <author> + <firstname><replaceable>Vorname</replaceable></firstname> + <surname><replaceable>Nachname</replaceable></surname> + <affiliation> + <address><email><replaceable>Emailadresse</replaceable></email></address> + </affiliation> + </author> + + <copyright> + <year><replaceable>1998</replaceable></year> + <holder role="mailto:<replaceable>Emailadresse</replaceable>"><replaceable>Vollständiger Name</replaceable></holder> + </copyright> + + <releaseinfo>$FreeBSD$</releaseinfo> + + <abstract> + <para><replaceable>Kurze Zusammenfassung des Artikelinhalts.</replaceable></para> + </abstract> + </articleinfo> + + … + +</article></programlisting> + </example> + </sect3> + + <sect3> + <title>Kapitel</title> + + <para>Kapitel werden mit dem + <sgmltag>chapter</sgmltag>-Element angelegt und müssen ein + <sgmltag>title</sgmltag>-Element enthalten. Verwendet werden + können sie nur in Büchern.</para> + + <example> + <title>Ein einfaches Kapitel</title> + + <programlisting><![ RCDATA [<chapter> + <title>Kapitelüberschrift</title> + + … +</chapter>]]></programlisting> + </example> + + <para>Kapitel können nicht leer sein. Nebem einem + <sgmltag>title</sgmltag>-Element müssen sie weiteren Inhalt + beinhalten. Falls ein leeres Kapitel benötig wird, kann dies + durch das Einfügen eines leeren Absatzes + (<sgmltag>para</sgmltag>) erreicht werden.</para> + + <example> + <title>Ein leeres Kapitel</title> + + <programlisting><![ CDATA [<chapter> + <title>Das ist ein leeres Kapitel</title> + + <para></para> +</chapter>]]></programlisting> + </example> + </sect3> + + <sect3 id="unterkapitel"> + <title>Unterkapitel</title> + + <!-- Bei der Uebersetzung dieser Stelle bin ich + bewusst vom Original abgewichen, da ich die + Begriffe Kapitel und Kapitel anstatt + Kapitel und Abschnitt benutze. Eine + originalgetreue Uebersetzung wuerde somit an dieser + Stelle nur zu Verwirrung fuehren. + Oliver Fischer, 14.04.2004 --> + + <para>Bücher werden auf der obersten Gliederungsebene + durch <sgmltag>chapter</sgmltag>-Elemente in Kapitel + unterteilt. Eine weitergehende Untergliederung kann durch + das Anlegen von Unterkapiteln erreicht werden. Im Gegensatz + zu Kapiteln, die durch <sgmltag>chapter</sgmltag>-Elemente + ausgezeichnet werden, erfolgt die Auszeichnung von + Unterkapitel mit dem Element + <sgmltag>sect<replaceable>n</replaceable></sgmltag>. Das + <replaceable>n</replaceable> in Elementnamen trifft eine + Aussage über die Gliederungstiefe, auf der sich das + Unterkapitel befindet. Ein <sgmltag>sect1</sgmltag>-Element + kann mehrere Elemente vom Typ <sgmltag>sect2</sgmltag> + enthalten, die die Unterkapitel der + nächsten Gliederungsebene darstellen. + <sgmltag>sect5</sgmltag> ist das letzte Element, das auf + diese Art zur Gliederung eingesetzt werden kann.</para> + + <example> + <title>Unterkapitel</title> + + <programlisting><![ RCDATA [<chapter> + <title>Ein Beispielkapitel</title> + + <para>Ein beliebiger Text.</para> + + <sect1> + <title>Erster Abschnitt (1.1)</title> + + … + </sect1> + + <sect1> + <title>Zweiter Abschnitt (1.2)</title> + + <sect2> + <title>Erster Unterabschnitt (1.2.1)</title> + + <sect3> + <title>Erster Unterunterabschnitt (1.2.1.1)</title> + + … + </sect3> + </sect2> + + <sect2> + <title>Zweiter Unterabschnitt (1.2.2)</title> + + … + </sect2> + </sect1> +</chapter>]]></programlisting> + </example> + + <note> + <para>Die Unterkapitel dieses Beispiels wurden zu + Demonstrationszwecken manuell durchnummeriert. In + <quote>normalen</quote> Dokumenten wird diese Aufgabe von + den Stylesheets übernommen.</para> + </note> + </sect3> + + <sect3> + <title>Bücher mittels <sgmltag>part</sgmltag> + unterteilen</title> + + <para>In den Fällen, in denen die Unteilung eines Buches in + Kapitel nicht ausreichend ist, können mehrere + Kapitel mit dem Element <sgmltag>part</sgmltag> zu + einem Teil zusammengefasst werden.</para> + + <programlisting><![ RCDATA [<part> + <title>Einführung</title> + + <chapter> + <title>Überblick</title> + + … + </chapter> + + <chapter> + <title>Was ist FreeBSD?</title> + + … + </chapter> + + <chapter> + <title>Die Geschichte von FreeBSD</title> + + … + </chapter> +</part>]]></programlisting> + </sect3> + </sect2> + + <sect2> + <title>Blockelemente</title> + + <sect3> + <title>Absätze</title> + + <para>DocBook kennt drei Arten von Absätzen: Absätze + mit Überschrift (<sgmltag>formalpara</sgmltag>), + normale Absätze (<sgmltag>para</sgmltag>) und einfache + Absätze (<sgmltag>simpara</sgmltag>).</para> + + <para>Normale Absätze und einfache Absätze + unterscheiden sich dadurch, daß innerhalb von + <sgmltag>para</sgmltag> Blockelemente erlaubt sind, + innerhalb von <sgmltag>simpara</sgmltag> hingegen nicht. Es + ist empfehlenswert, <sgmltag>para</sgmltag> den Vorzug + zu geben.</para> + + <example> + <title>Absatz mit <sgmltag>para</sgmltag></title> + + <programlisting><![ RCDATA [<para>Das ist ein Absatz. Absätze können fast jedes andere + Element aufnehmen.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Das ist ein Absatz. Absätze können fast jedes andere + Element aufnehmen.</para> + </example> + </sect3> + + <sect3> + <title>Blockzitate</title> + + <para>Blockzitate sind textlich umfangreichere Zitate aus + einem anderen Text, die nicht innerhalb des aktuellen + Absatzes angezeigt werden sollen. Wahlweise können + Blockzitate eine Überschrift haben und die Zitatquelle + nennen.</para> + + <example> + <title><sgmltag>blockquote</sgmltag></title> + + <programlisting><![ CDATA [<para>Ein Auszug aus dem Grundgesetz:</para> + +<blockquote> + <title>Menschenwürde; Grundrechtsbindung der staatlichen Gewalt</title> + + <attribution>Aus dem Grundgesetz</attribution> + + <orderedlist> + <listitem> + <para>Die Würde des Menschen ist unantastbar. Sie zu achten + und zu schützen ist Verpflichtung aller staatlichen + Gewalten.</para> + </listitem> + <listitem> + <para>Das Deutsche Volk bekennt sich darum zu unverletzlichen + und unveräußerlichen Menschenrechten als Grundlage jeder + menschlichen Gemeinschaft, des Friedens und der + Gerechtigkeit in der Welt.</para> + </listitem> + <listitem> + <para>Die nachfolgenden Grundrechte binden Gesetzgebung, + vollziehende Gewalt und Rechtsprechung als + unmittelbar geltendes Recht.</para> + </listitem> + </orderedlist> +</blockquote>]]></programlisting> + + <para>Darstellung:</para> + + <blockquote> + <title>Menschenwürde; Grundrechtsbindung der + staatlichen Gewalt</title> + + <attribution>Aus dem Grundgesetz</attribution> + + <orderedlist> + <listitem> + <para>Die Würde des Menschen ist unantastbar. Sie + zu achten und zu schützen ist Verpflichtung + aller staatlichen Gewalten.</para> + </listitem> + <listitem> + <para>Das Deutsche Volk bekennt sich darum zu + unverletzlichen und unveräußerlichen + Menschenrechten als Grundlage jeder menschlichen + Gemeinschaft, des Friedens und der Gerechtigkeit in + der Welt.</para> + </listitem> + <listitem> + <para>Die nachfolgenden Grundrechte binden + Gesetzgebung, vollziehende Gewalt und Rechtsprechung + als unmittelbar geltendes Recht.</para> + </listitem> + </orderedlist> + </blockquote> + </example> + </sect3> + + <sect3> + <title>Tipps, Anmerkungen, Warnungen, wichtige Informationen + und Randbemerkungen</title> + + <para>In bestimmten Fällen kann es nützlich sein, + dem Leser zusätzliche Informationen zu geben, die sich + vom Haupttext abheben, damit der Leser sie besser wahrnimmt. + Abhängig von der Art der Information, können + solche Stellen mit einem der Elemente <sgmltag>tip</sgmltag> + (für Tipps), <sgmltag>note</sgmltag> (für + Anmerkungen), <sgmltag>warning</sgmltag> (für + Warnungen), <sgmltag>caution</sgmltag> (für besonders + ernstzunehmende Warnungen) und <sgmltag>important</sgmltag> + (für wichtige Anmerkungen) ausgezeichnet werden. Trifft + keines dieser Element für die auszuzeichnende Stelle + zu, sollte diese mit dem Element <sgmltag>sidebar</sgmltag> + ausgezeichnet werden.</para> + + <para>Da die richtige Einordnung einer auszuzeichnenden + Textstelle nicht immer leicht zu treffen ist, werden in der + DocBook-Dokumentation folgende Empfehlungen gegeben:</para> + + <itemizedlist> + <listitem> + <para>Eine Anmerkung (<sgmltag>note</sgmltag>) ist eine + Information, die von jedem Leser beachtet werden + sollte.</para> + </listitem> + + <listitem> + <para>Eine wichtige Anmerkung + (<sgmltag>important</sgmltag>) eine Variation einer + Anmerkung.</para> + </listitem> + + <listitem> + <para>Eine Warnung (<sgmltag>warning</sgmltag>) + betrifft einen möglichen Hardwareschaden + oder weist auf eine Gefahr für Leib und Leben + hin.</para> + </listitem> + + <listitem> + <para>Eine besonders ernstzunehmende Warnung + (<sgmltag>caution</sgmltag>) betrifft einen möglichen + Datenverlust oder Softwareschaden.</para> + </listitem> + </itemizedlist> + + <example> + <title><sgmltag>warning</sgmltag></title> + + <programlisting><![ RCDATA [<warning> + <para>Wenn Sie FreeBSD auf Ihrer Festplatte installieren, + kann es sein, da&szlig; Sie Windows nie mehr benutzen wollen.</para> +</warning>]]></programlisting> + </example> + + <!-- Need to do this outside of the example --> + <warning> + <para>Wenn Sie FreeBSD auf Ihrer Festplatte installieren, + kann es sein, daß Sie Windows nie mehr benutzen wollen.</para> + </warning> + </sect3> + + <sect3> + <title>Listen und Handlungsanweisungen</title> + + <para>Listen sind ein oft gebrauchtes Hilfsmittel, wenn es + darum geht, Informationen für den Benutzer + übersichtlich darzustellen oder eine Abfolge von + Arbeitsschritten zu beschreiben, die notwendig sind, um ein + bestimmtes Ziel zu erreichen. Zur Auszeichnung von Listen + stellt DocBook die Elemente <sgmltag>itemizedlist</sgmltag>, + <sgmltag>orderedlist</sgmltag> und + <sgmltag>procedure</sgmltag> zur Verfügung.<footnote> + <para>DocBook kennt noch andere Elemente für die + Auszeichnung von Listen, die an dieser Stelle jedoch + nicht behandelt werden.</para> + </footnote>.</para> + + <para><sgmltag>itemizedlist</sgmltag> und + <sgmltag>orderedlist</sgmltag> ähneln sehr stark ihren + HTML-Gegenstücken <sgmltag>ul</sgmltag> und + <sgmltag>ol</sgmltag>. Beide Listenarten müssen + mindestens ein Element <sgmltag>listitem</sgmltag> + enthalten. Das <sgmltag>listitem</sgmltag> Element + muß mindestens ein weiteres Blockelement + enthalten.</para> + + <para><sgmltag>procedure</sgmltag> unterscheidet sich ein + wenig von den vorhergehenden. Es enthält + <sgmltag>step</sgmltag>-Elemente, die wiederum + <sgmltag>step</sgmltag>- oder + <sgmltag>substel</sgmltag>-Elemente enthalten können. + Ein <sgmltag>step</sgmltag>-Element kann nur Blockelemente + aufnehmen.</para> + + <example> + <title><sgmltag>itemizedlist</sgmltag>, + <sgmltag>orderedlist</sgmltag> und + <sgmltag>procedure</sgmltag></title> + + <programlisting><![ RCDATA [<itemizedlist> + <listitem> + <para>Das ist das erste Listenelement.</para> + </listitem> + + <listitem> + <para>Das ist das zweite Listenelement.</para> + </listitem> +</itemizedlist> + +<orderedlist> + <listitem> + <para>Das ist das erste Aufzählungselement.</para> + </listitem> + + <listitem> + <para>Das ist das zweite Aufzählungselement.</para> + </listitem> +</orderedlist> + +<procedure> + <step> + <para>Machen Sie zuerst dies.</para> + </step> + + <step> + <para>Und dann machen Sie das..</para> + </step> + + <step> + <para>Und jetzt noch das…</para> + </step> +</procedure>]]></programlisting> + + <para>Darstellung:</para> + + <itemizedlist> + <listitem> + <para>Das ist das erste Listenelement.</para> + </listitem> + + <listitem> + <para>Das ist das zweite Listenelement.</para> + </listitem> + </itemizedlist> + + <orderedlist> + <listitem> + <para>Das ist das erste Aufzählungselement.</para> + </listitem> + + <listitem> + <para>Das ist das zweite Aufzählungselement.</para> + </listitem> + </orderedlist> + </example> + + <procedure> + <step> + <para>Machen Sie zuerst dies.</para> + </step> + + <step> + <para>Und dann machen Sie das..</para> + </step> + + <step> + <para>Und jetzt noch das…</para> + </step> + </procedure> + </sect3> + + <sect3> + <title>Dateiinhalte auszeichnen</title> + + <para>Technische Dokumente enthalten oft auch + Konfigurationsbeispiele oder Quellcodeschnipsel. Zur + Auszeichnung dieser Inhalte, stellt Docbook das Element + <sgmltag>programmlisting</sgmltag> zur Verfügung. Im + Gegensatz zu anderen DocBook-Elementen wird der + Elementinhalt von <sgmltag>programmlisting</sgmltag> + <emphasis>nicht</emphasis> normalisiert, das heißt, + daß alle Leerzeichen, Tabulatoren und + Zeilenumbrüche unverändert übernommen werden. + Aus diesem Grund ist es unter anderem wichtig, daß + sich der öffende Tag in der selben Zeile wie der Anfang + des darzustellenden Textes befindet. Gleiches gilt für + den schließenden Tag: Er muß sich am Ende der + letzten Zeile befinden. Wird das nicht beachtet, kann es + sein, daß unerwartete Leerzeichen und Leerzeilen in + der Ausgabe auftauchen.</para> + + <example> + <title><sgmltag>programlisting</sgmltag></title> + + <programlisting><![ RCDATA[<para>Am Ende sollte Ihr Programm wie folgt + aussehen:</para> + +<programlisting>#include &lt;stdio.h&gt; + +int +main(void) +{ + printf("Hallo Welt!\n"); +}</programlisting>]]></programlisting> + + <para>Die spitzen Klammern der + <literal>#include</literal>-Anweisung können nicht direkt + verwendet werden, sondern müssen über ihre Entitäten + eingebunden werden.</para> + + <para>Darstellung:</para> + + <para>Am Ende sollte Ihr Programm wie folgt aussehen:</para> + + <programlisting>#include <stdio.h> + +int +main(void) +{ + printf("Hallo Welt!\n"); +}</programlisting> + </example> + </sect3> + + <sect3> + <title>Textanmerkungen</title> + + <para>Textanmerkungen<footnote><para> + auf Englisch: + <foreignphrase>callout</foreignphrase></para></footnote> + sind ein Mechanismus, um auf bestimmte Stellen in einem + vorhergehenden Beispiel oder Text zu verweisen.</para> + + <para>Um solche Verweise anzulegen, müssen die betreffenden + Stellen in den Beispielen + (<sgmltag>programlisting</sgmltag>, + <sgmltag>literallayout</sgmltag>, …) mit + <sgmltag>co</sgmltag>-Elementen markiert werden, wobei jedes + Element ein eindeutiges <literal>id</literal>-Attribut + besitzen muß. Anschließend sollte ein + <sgmltag>calloutlist</sgmltag>-Element eingefügt werden, + dessen Elemente sich auf die <sgmltag>co</sgmltag>-Elemente + des Beispiels beziehen und die jeweiligen Anmerkungen + enthalten.</para> + + <example> + <title>Das <sgmltag>co</sgmltag>- und das + <sgmltag>calloutlist</sgmltag>-Element</title> + + <programlisting><![ RCDATA[<para>Am Ende sollte Ihr Programm wie folgt + aussehen:</para> + +<programlisting>#include &lt;stdio.h&gt; <co id="co-ex-include"> + +int <co id="co-ex-return"> +main(void) +{ + printf("Hallo Welt\n"); <co id="co-ex-printf"> +}</programlisting> + +<calloutlist> + <callout arearefs="co-ex-include"> + <para>Bindet die Headerdatei <filename>stdio.h</filename> ein.</para> + </callout> + + <callout arearefs="co-ex-return"> + <para>Bestimmt den Typ des Rückgabewertes von <function>main()</function>.</para> + </callout> - <para>Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie - bitte <ulink url="&url.books.fdp-primer.en;/sgml-markup.html">das - Original in englischer Sprache</ulink>.</para> + <callout arearefs="co-ex-printf"> + <para>Ruft die Funktion <function>printf()</function> auf, die + <literal>Hallo Welt!</literal> auf der Standardausgabe ausgibt</para> + </callout> +</calloutlist>]]></programlisting> + + <para>Darstellung:</para> + + <para>Am Ende sollte Ihr Programm wie folgt aussehen:</para> + + <programlisting>#include &lt;stdio.h&gt; <co id="co-ex-include"> + +int <co id="co-ex-return"> +main(void) +{ + printf("Hallo Welt\n"); <co id="co-ex-printf"> +}</programlisting> + + <calloutlist> + <callout arearefs="co-ex-include"> + <para>Bindet die Headerdatei <filename>stdio.h</filename> ein.</para> + </callout> + + <callout arearefs="co-ex-return"> + <para>Bestimmt den Typ des Rückgabewertes von <function>main()</function>.</para> + </callout> + + <callout arearefs="co-ex-printf"> + <para>Ruft die Funktion <function>printf()</function> auf, die + <literal>Hallo Welt!</literal> auf der Standardausgabe ausgibt</para> + </callout> + </calloutlist> + </example> + </sect3> + + <sect3> + <title>Tabellen</title> + + <para>Im Gegensatz zu HTML ist es nicht notwendig, Tabellen zu + Layoutzwecken einzusetzen, da die Layoutaufgabe von den + Stylesheets übernommen wird. Stattdessen sollten Tabellen + nur für die Auszeichnung von Daten in Tabellenform genutzt + werden.</para> + + <para>Vereinfacht betrachtet (für Details sollte die + DocBook-Dokumentation zu Rate gezogen werden) besteht eine + Tabelle, die entweder als formelle oder als informelle + Tabelle angelegt werden kann, aus einem + <sgmltag>table</sgmltag>-Element. Dieses Element selbst + beinhaltet mindestens ein Element <sgmltag>tgroup</sgmltag>, + das über ein Attribut die Spaltenanzahl der Tabelle + bestimmt. Innerhalb des Elementes <sgmltag>tgroup</sgmltag> + kann sich ein Element <sgmltag>thead</sgmltag> mit den + Spaltenüberschriften und ein Element + <sgmltag>tbody</sgmltag> mit dem eigentlichen Tabelleninhalt + befinden. Beide Elemente beinhalten + <sgmltag>row</sgmltag>-Elemente, die wiederum + <sgmltag>entry</sgmltag>-Elemente beinhalten. Jedes + <sgmltag>entry</sgmltag>-Element stellt eine einzelne + Tabellenzelle dar.</para> + + <example> + <title>Tabellen mittels <sgmltag>informaltable</sgmltag> + auszeichnen</title> + + <programlisting><![ RCDATA [<informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>Spaltenüberschrift 1</entry> + <entry>Spaltenüberschrift 2</entry> + </row> + </thead> + + <tbody> + <row> + <entry>Zeile 1, Spalte 1</entry> + <entry>Zeile 1, Spalte 2</entry> + </row> + + <row> + <entry>Zeile 2, Spalte 1</entry> + <entry>Zeile 2, Spalte 2</entry> + </row> + </tbody> + </tgroup> +</informaltable>]]></programlisting> + + <para>Darstellung:</para> + + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>Spaltenüberschrift 1</entry> + <entry>Spaltenüberschrift 2</entry> + </row> + </thead> + + <tbody> + <row> + <entry>Zeile 1, Spalte 1</entry> + <entry>Zeile 1, Spalte 2</entry> + </row> + + <row> + <entry>Zeile 2, Spalte 1</entry> + <entry>Zeile 2, Spalte 2</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </example> + + <para>Soll die Tabelle keinen Rand haben, kann das Attribut + <literal>frame</literal> mit dem Wert + <literal>none</literal> dem Element + <sgmltag>informaltable</sgmltag> hinzugefügt werden + (<literal><informaltable frame="none"></literal>)).</para> + + <example> + <title>Tabelle mit Attribut + <literal>frame="none"</literal></title> + + <para>Darstellung:</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Spaltenüberschrift 1</entry> + <entry>Spaltenüberschrift 2</entry> + </row> + </thead> + + <tbody> + <row> + <entry>Zeile 1, Spalte 1</entry> + <entry>Zeile 1, Spalte 2</entry> + </row> + + <row> + <entry>Zeile 2, Spalte 1</entry> + <entry>Zeile 2, Spalte 2</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </example> + </sect3> + + <sect3> + <title>Beispiele für den Leser</title> + + <para>Oft gilt es, für dem Benutzer Beispiele + zu geben, die er dann selber nachvollziehen soll. Meist + handelt es sich dabei um interaktive Dialoge zwischen Mensch + und Maschine: Der Benutzer gibt einen Befehl ein und + erhält eine Antwort vom System. Ein Satz + von speziellen Elementen und Entitäten unterstützt + den Autor bei der Auszeichnung solcher Textstellen:</para> + + <variablelist> + <varlistentry> + <term><sgmltag>screen</sgmltag></term> + + <listitem> + <para>Gedacht zur Auszeichnung von Bildschirminhalten. + Im Unterschied zu anderen Elementen werden Leerzeichen + innerhalb des Elementes <sgmltag>screen</sgmltag> + unverändert übernommen.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><sgmltag>prompt</sgmltag>, + <literal>&prompt.root;</literal> und + <literal>&prompt.user;</literal></term> + + <listitem> + <para>Eingabeaufforderungen des Rechners + (Betriebssysten, Shell oder Anwendung) sind ein häufig + auftretender Teil dessen, was der Benutzer auf dem + Bildschirm zu sehen bekommt. Sie sollten mit + <sgmltag>prompt</sgmltag> ausgezeichnet werden.</para> + + <para>Ein Spezialfall sind die beiden + Eingabeaufforderungen der Shell für normale + Benutzer und den Superuser <username>root</username>. + Jedesmal wenn auf eine von diesen beiden Nutzerrollen + hingewiesen werden soll, sollte entweder + <literal>&prompt.root;</literal> oder + <literal>&prompt.user;</literal> eingesetzt + werden. Beide Entitäten können auch + außerhalb von <sgmltag>screen</sgmltag> + verwendet werden.</para> + + <note> + <para><literal>&prompt.root;</literal> und + <literal>&prompt.user;</literal> sind + FreeBSD-spezifische Erweiterungen der DocBook DTD + und nicht in der originalen DocBook DTD + enthalten.</para> + </note> + </listitem> + </varlistentry> + + <varlistentry> + <term><sgmltag>userinput</sgmltag></term> + + <listitem> + <para>Das Element <sgmltag>userinput</sgmltag> ist + für die Auszeichnung von Benutzereingaben + gedacht.</para> + </listitem> + </varlistentry> + </variablelist> + + <example> + <title><sgmltag>screen</sgmltag>, <sgmltag>prompt</sgmltag> + und <sgmltag>userinput</sgmltag></title> + + <programlisting><![ CDATA [<screen>&prompt.user; <userinput>ls -1</userinput> +foo1 +foo2 +foo3 +&prompt.user; <userinput>ls -1 | grep foo2</userinput> +foo2 +&prompt.user; <userinput>su</userinput> +<prompt>Password: </prompt> +&prompt.root; <userinput>cat foo2</userinput> +This is the file called 'foo2'</screen>]]></programlisting> + + <para>Darstellung:</para> + + <screen>&prompt.user; <userinput>ls -1</userinput> +foo1 +foo2 +foo3 +&prompt.user; <userinput>ls -1 | grep foo2</userinput> +foo2 +&prompt.user; <userinput>su</userinput> +<prompt>Password: </prompt> +&prompt.root; <userinput>cat foo2</userinput> +This is the file called 'foo2'</screen> + </example> + + <note> + <para>Obgleich der Inhalt der Datei + <filename>foo2</filename> in dem obigen Beispiel angezeigt + wird, sollte dieser nicht mit + <sgmltag>programlisting</sgmltag> ausgezeichnet werden. + Vielmehr sollte <sgmltag>programlisting</sgmltag> einzig + und allein für die Darstellung von Dateifragmenten + außerhalb von Benutzeraktionen gewählt + werden.</para> + </note> + </sect3> + </sect2> + + <sect2> + <title>Flußelemente</title> + + <sect3> + <title>Hervorhebungen</title> + + <para>Wenn es darum geht bestimmte Wörter oder Textstellen + hervorzuheben, sollte dafür das Element + <sgmltag>emphasis</sgmltag> verwendet werden. Das so + ausgezeichnete Text wird dann kursiv oder fett dargestellt; + im Falle einer Sprachausgabe würde es anders betont + werden.</para> + + <para>Im Gegensatz zu den HTML mit seinen Elementen + <sgmltag>b</sgmltag> und <sgmltag>i</sgmltag>, kennt DocBook + keinen Weg, um diese Darstellung zu + ändern<footnote><para>Anmerkung des + Übersetzers: Hier sollte man sich noch einmal ins + Gedächtnis rufen, daß mittels der DocBook DTD nur + Inhalte ausgezeichnet werden und nicht das Layout + bestimmt wird.</para></footnote>. Handelt es sich bei + dem darzustellenden um eine wichtige Information, kann + alternativ <sgmltag>important</sgmltag> verwendet + werden.</para> + + <example> + <title>Das Element <sgmltag>emphasis</sgmltag></title> + + <programlisting><![ RCDATA [<para>FreeBSD ist zweifelslos <emphasis>das</emphasis> führende + Unix-artige Bestriebssystem für die Intel-Plattform.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>FreeBSD ist zweifelslos <emphasis>das</emphasis> führende + Unix-artige Bestriebssystem für die Intel-Plattform.</para> + + </example> + </sect3> + + <sect3> + <title>Zitate</title> + + <para>Um einen Auszug aus einer anderen Quelle zu zitieren + oder kenntlich zu machen, daß eine bestimmte Wendung + im übertragenen Sinne zu verstehen ist, kann der + betreffende Text mit Hilfe des Elementes + <sgmltag>quote</sgmltag> ausgezeichnet werden. Innerhalb von + <sgmltag>quote</sgmltag> können die meisten der + normalerweise zur Verfügung stehenden Elemente genutzt + werden.</para> + + <example> + <title>Richtig zitieren</title> + + <programlisting><![ RCDATA [<para>Es sollte immer sichergestellt werden, daß die Suche die Grenzen + zwischen <quote>lokaler und öffentlicher Administration</quote> + (RFC 1535) einhält.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Es sollte immer sichergestellt werden, das die Suche + die Grenzen zwischen <quote>lokaler und öffentlicher + Administration</quote> (RFC 1535) einhält.</para> + + </example> + </sect3> + + <sect3> + <title>Tasten, Maustasten und Tastenkombinationen</title> + + <para>Das Element <sgmltag>keycap</sgmltag> beschreibt + eine bestimmte Taste der Tastatur. + Für die Auszeichnung von Maustasten + steht analog das Element <sgmltag>mousebutton</sgmltag> zur + Verfügung. Mit Hilfe von <sgmltag>keycombo</sgmltag> + können beliebige Tasten- und Maustastenkombinationen + beschrieben werden.</para> + + <para>Das Element <sgmltag>keycombo</sgmltag> besitzt ein + Attribut <literal>action</literal>, dem einer der Werte + <literal>click</literal>, <literal>double-click</literal>, + <literal>other</literal>, <literal>press</literal>, + <literal>seq</literal> oder <literal>simul</literal> + zugewiesen werden kann. Die letzten beiden Werte deuten an, + daß die genannte Kombination nacheinander oder + gleichzeitig gedrückt werden soll. Die Stylesheets + fügen zwischen die einzelnen Unterelemente von + <sgmltag>keycombo</sgmltag> <quote>+</quote>-Zeichen + ein.</para> + + + <example> + <title>Tasten, Maustasten und Tastenkombinationen</title> + + <para>Diese Eingaben zeichnen Sie wie folgt aus:</para> + + <programlisting><![ RCDATA [<para>Mit der Tastenkombination <keycombo action="simul"><keycap>Alt</keycap> + <keycap>F1</keycap></keycombo> kann auf die zweite virtuelle Konsole + umgeschaltet werden.</para> + +<para>Um <command>vi</command> zu beenden, ohne die Änderungen zu + speichern, muß <keycombo action="seq"><keycap>Esc</keycap> + <keycap>:</keycap><keycap>q</keycap><keycap>!</keycap> + </keycombo> eingegeben werden.</para> + +<para>Der Fenstermanager ist so konfiguriert, daß mittels + <keycombo action="simul"><keycap>Alt</keycap> + <mousebutton>rechter Maustaste</mousebutton> </keycombo> + Fenster verschoben werden können.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Mit der Tastenkombination <keycombo + action="simul"><keycap>Alt</keycap> + <keycap>F1</keycap></keycombo> kann auf die zweite + virtuelle Konsole umgeschaltet werden.</para> + + <para>Um <command>vi</command> zu beenden, ohne die + Änderungen zu speichern, muß <keycombo + action="seq"><keycap>Esc</keycap> + <keycap>:</keycap><keycap>q</keycap><keycap>!</keycap> + </keycombo> eingegeben werden.</para> + + <para>Der Fenstermanager ist so konfiguriert, daß mittels + <keycombo action="simul"><keycap>Alt</keycap> + <mousebutton>rechter Maustaste</mousebutton> + </keycombo> + Fenster verschoben werden können.</para> + </example> + </sect3> + + <sect3> + <title>Anwendungen, Befehle, Optionen und Hilfeseiten</title> + + <para>Oft besteht die Notwendigkeit auf bestimmte Anwendungen + und Befehle zu verweisen. Der Unterschied zwischen einer + Anwendung und einem Befehl liegt darin, daß eine + Anwendung ein einzelnes oder eine Gruppe von Programmen ist, + mit denen eine bestimmte Aufgabe erledigt werden kann. Ein + Befehl hingegen ist der Name eines Programmes, daß der + Benutzer aufrufen kann<footnote><para>Der Befehl + <command>mozilla</command> startet das Programm + <application>mozilla</application>.</para> + </footnote>.</para> + + <para>Desweiteren kann es auch vorkommen, daß die + von einem Programm (in einem bestimmten Fall) + akzeptierten Optionen genannt werden müssen.</para> + + <para>Schlußendlich ist es oft gewünscht, zu einem + Befehl dessen Abschnitt der Manualseiten im + Unix-üblichen Stil <quote>Befehl(Zahl)</quote> + anzugeben.</para> + + <para>Anwendungsnamen können mit <sgmltag>application</sgmltag> + ausgezeichnet werden.</para> + + <para>Befehle können zusammen mit der betreffenden + Hilfeseite über das DocBook-Element + <sgmltag>citerefentry</sgmltag> ausgezeichnet werden. + <sgmltag>citerefentry</sgmltag> muß zwei weitere + Elemente enthalten: <sgmltag>refentrytitle</sgmltag>, + für den Befehlsnamen, und <sgmltag>manvolnum</sgmltag>, + für die Kategorie der Hilfeseite.</para> + + <para>Diese Art auf Befehle zu verweisen kann sehr + ermüdent sein. Daher gibt es einen Satz von + <link linkend="sgml-primer-general-entities">Allgemeinen + Entitäten</link>, der diese Arbeit erleichtert. Er + ist in der Datei + <filename>doc/share/sgml/man-refs.ent</filename> enhalten + und kann über den folgenden Bezeichner eingebunden + werden:</para> + + <programlisting>PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"</programlisting> + + <para>Jede Entität in dieser Datei ist wie folgt aufgebaut: + <literal>&man.<replaceable>Hilfeseite</replaceable>.<replaceable>Kategorie</replaceable>;</literal>.</para> + + <para>Der Anfang eines Dokumentes, das diese Entitäten + einbindet, könnte so aussehen:</para> + + <programlisting><!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> +%man; … ]></programlisting> + + <para>Um Befehle innerhalb des Fließtextes auszuzeichen, + kann das Element <sgmltag>command</sgmltag> genutzt werden. + Die Optionen eines Befehles können mit Hilfe von + <sgmltag>option</sgmltag> ausgezeichnet werden.</para> + + <!--@todo Den Satz "Vielleicht kann..." umformulieren + Oliver Fischer, 14. Jan. 2005 --> + + <para>Die Unterscheidung zwischen <sgmltag>command</sgmltag> + und <sgmltag>application</sgmltag> kann schwer sein, und + manchmal ist die Entscheidung, welches Element das richtige + ist nicht leicht. Vielleicht kann das folgende Beispiel + helfen.</para> + + <example> + <title>Anwendungen, Befehle und Optionen</title> + + <programlisting><![ RCDATA [<para><application>Sendmail</application> ist der verbreitetste + UNIX-Mailserver.</para> + +<para><application>Sendmail</application> besteht aus den Programmen + <citerefentry> + <refentrytitle>sendmail</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry>, &man.mailq.8;, und &man.newaliases.8;.</para> + +<para>Mittels der Option <option>-bp</option> kann + <citerefentry><refentrytitle>sendmail</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> den Status der Mailwarteschlange ausgeben. + Der Status der Mailwarteschlange kann durch den Befehl + <command>sendmail -bp</command> überprüft werden.</para>]]></programlisting> + + + <para>Darstellung:</para> + + <para><application>Sendmail</application> ist der + verbreitetste UNIX-Mailserver.</para> + + <para><application>Sendmail</application> besteht aus den + Programmen + <citerefentry> + <refentrytitle>sendmail</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry>, + <citerefentry> + <refentrytitle>mailq</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> und + <citerefentry> + <refentrytitle>newaliases</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry>.</para> + + <para>Mittels der Option <option>-bp</option> kann + <citerefentry><refentrytitle>sendmail</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> den Status der Mailwarteschlange ausgeben. + Der Status der Mailwarteschlange kann durch den Befehl + <command>sendmail -bp</command> überprüft + werden.</para> + </example> + + <note> + <para>Die Schreibweise + <literal>&man.<replaceable>Hilfeseite</replaceable>.<replaceable>Kategorie</replaceable>;</literal> + ist leichter lesbar.</para> + </note> + </sect3> + + <sect3> + <title>Dateien, Verzeichnisse und Erweiterungen</title> + + <para>Immer wenn in einem Text der Name einer Datei, eines + Verzeichnisses oder eine Dateierweiterung vorkommt, sollte + die betreffende Stelle mit dem Element + <sgmltag>filename</sgmltag> ausgezeichnet werden.</para> + + <example> + <title>Das Element <sgmltag>filename</sgmltag></title> + + <programlisting><![ RCDATA [<para>Die SGML-Quellen des englischen Handbuches befinden + sich im Verzeichnis <filename>/usr/doc/en/handbook/</filename>. In + diesem Verzeichnis befindet sich eine Datei + <filename>handbook.sgml</filename>. Desweiteren sollte sich eine + Datei mit dem Namen <filenname>Makefile</filename> zusammen mit + mehreren Dateien mit der Endung <filename>.ent</filename> + in diesem Verzeichnis befinden.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Die SGML-Quellen des englischen Handbuches befinden + sich im Verzeichnis + <filename>/usr/doc/en/handbook/</filename>. In diesem + Verzeichnis befindet sich eine Datei + <filename>handbook.sgml</filename>. Desweiteren sollte + sich eine Datei mit dem Namen + <filename>Makefile</filename> zusammen mit mehreren + Dateien mit der Endung <filename>.ent</filename> in diesem + Verzeichnis befinden.</para> + + </example> + </sect3> + + <sect3> + <title>Portnamen</title> + + <note> + <title>FreeBSD-Erweiterung</title> + + <para>Die hier genannten Elemente sind Bestandteil der + FreeBSD-Erweiterung für DocBook und sind nicht in der + originalen DocBook DTD enthalten.</para> + </note> + + <para>An einigen Stellen ist es notwendig, den Namen eines + Ports aus FreeBSDs Portssammlung in Dokumenten zu verwenden. + In diesem Fall sollte ebenfalls das Element + <sgmltag>filename</sgmltag> eingesetzt werden, dabei aber + dem Element das Attribut <literal>role</literal> mit dem + Wert <literal>package</literal> zugewiesen werden. Da die + Portssammlung an jeder beliebigen Stelle im Dateisystem + installiert werden kann, sollte <sgmltag>filename</sgmltag> + nur die Kategorie und den Namen des Ports enthalten, aber + nicht das Verzeichnis + <filename>/usr/ports</filename>.</para> + + <example> + <title>Portsnamen und das Element <sgmltag>filename</sgmltag></title> + + <programlisting><![ RCDATA [<para>Wenn Sie Ihr Netz und dessen Datenverkehr analysieren + möchten, dann installieren Sie bitte den Port <filename + role="package">net/ethereal</filename>.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Wenn Sie Ihr Netz und dessen Datenverkehr analysieren + möchten, dann installieren Sie bitte den Port <filename + role="package">net/ethereal</filename>.</para> + </example> + </sect3> + + <sect3> + <title>Gerätedateien unterhalb von + <filename>/dev</filename></title> + + <note> + <title>FreeBSD-Erweiterung</title> + + <para>Die hier genannten Elemente sind Bestandteil der + FreeBSD-Erweiterung für DocBook und sind nicht in der + originalen DocBook DTD enthalten.</para> + </note> + + <para>Wird in einem Dokument Bezug auf Gerätedateien + unterhalb von <filename class="directory">dev</filename> + genommen, dann gibt es zwei Möglichkeiten diese + auszuzeichnen. Zum einen kann man sich auf das Gerät + beziehen, so wie es unter <filename>/dev</filename> zu + finden ist, und zum anderen kann man sich auf den + Gerätenamen beziehen, wie es innerhalb des Kerns + verwendet wird. Für letztere Möglichkeit sollte + das Element <sgmltag>devicename</sgmltag> genutzt + werden.</para> + + <para>Allerdings besteht nicht immer diese + Wahlmöglichkeit. Einige Geräte, wie zum Beispiel + Netzwerkkartenm haben keinen Eintrag unter + <filename>/dev</filename> oder werden anders + dargestellt.</para> + + <example> + <title>Gerätenamen per <sgmltag>devicename</sgmltag> + auszeichnen</title> + + <programlisting><![ RCDATA [<para>Unter FreeBSD wird die serielle Datenübertragung über + <devicename>sio</devicename> abgewickelt, das unterhalb von + <filename>/dev</filename> eine Reihe von Einträgen anlegt. + Zu diesen Einträgen behören beispielsweise + <filename>/dev/ttyd0</filename> und + <filename>/dev/cuaa0</filename>.</para> + + <para>Andererseits erscheinen Geräte wie beispielsweise + <devicename>ed0</devicename> nicht unterhalb von + <filename>/dev</filename>. + + <para>Unter MS-DOS wird das erste Diskettelaufwerk als + <devicename>a:</devicename> bezeichnet. FreeBSD + bezeichnet es als <filename>/dev/fd0</filename>.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Unter FreeBSD wird die serielle Datenübertragung + über <devicename>sio</devicename> abgewickelt, das + unterhalb von <filename>/dev</filename> eine Reihe von + Einträgen anlegt. Zu diesen Einträgen + behören beispielsweise + <filename>/dev/ttyd0</filename> und + <filename>/dev/cuaa0</filename>.</para> + + <para>Andererseits erscheinen Geräte wie beispielsweise + <devicename>ed0</devicename> nicht unterhalb von + <filename>/dev</filename>. + + <para>Unter MS-DOS wird das erste Diskettelaufwerk als + <devicename>a:</devicename> bezeichnet. FreeBSD bezeichnet + es als <filename>/dev/fd0</filename>.</para> + + </example> + </sect3> + + <sect3> + <title>Rechner, Domains, IP-Adressen und mehr</title> + + <note> + <title>FreeBSD-Erweiterung</title> + + <para>Die hier genannten Elemente sind Bestandteil der + FreeBSD-Erweiterung für DocBook und sind nicht in der + originalen DocBook DTD enthalten.</para> + </note> + + + <para>Bezeichner für Rechner können in Abhängigkeit + der Bezeichnungsweise auf verschiedene Art und Weise + ausgezeichnet werden. Gemeinsam ist allen, daß sie + das Element <sgmltag>hostid</sgmltag> benutzen. Über das + Attribut <literal>role</literal> wird die Art des Bezeichners + genauer bestimmt.</para> + + <variablelist> + <varlistentry> + <term>Kein Rollenattribut oder + <literal>role="hostname"</literal></term> + + <listitem> + <para>Ohne Rollenattribut stellt der umschlossene Text + einen normlen Rechnernamen wie + <literal>freefall</literal> oder + <literal>wcarchive</literal> dar. Wenn es + gewünscht ist, kann mittels + <literal>role="hostname"</literal> explizit angegeben + werden, daß es sich um einen Rechnernamen + handelt.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>role="domainname"</literal></term> + + <listitem> + <para>Ein Domainname wie <literal>FreeBSD.org</literal> + oder <literal>ngo.org.uk</literal>. Er enthält keinen + Rechnernamen.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>role="fqdn"</literal></term> + + <listitem> + <para>Vollqualifizierter Domainname wie + <literal>www.FreeBSD.org</literal>. Enthält sowohl + einen Domainnamen als auch einen Rechnernamen.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>role="ipaddr"</literal></term> + + <listitem> + <para>Eine IP-Adresse, meistens als durch Doppelpunkte + getrenntes Tupel von vier Zahlen dargestellt.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>role="ip6addr"</literal></term> + + <listitem> + <para>Eine IPv6-Adresse.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>role="netmask"</literal></term> + + <listitem> + <para>Eine Netzwerkmaske, dargestellt als ein durch + Doppelpunkte getrenntes Vierzahlentupel, einer Hexzahl + oder als ein <literal>/</literal>, dem eine Zahl + folgt.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>role="mac"</literal></term> + + <listitem> + <para>Eine MAC-Adresse, dargestellt durch zweistellige + Hexzahlen, die durch Doppelpunkte getrennt + sind.</para> + </listitem> + </varlistentry> + </variablelist> + + <example> + <title><literal>role</literal> und + <sgmltag>hostid</sgmltag></title> + + <programlisting><![ RCDATA [<para>Der lokale Rechner kann immer über den Namen + <hostid>localhost</hostid> angesprochen werden, dem immer + die IP-Adresse + <hostid role="ipaddr">127.0.0.1</hostid> zugeordnet ist.</para> + + <para>Zur Domain <hostid role="domainname">FreeBSD.org</hostid> + gehören verschiedene Rechner, inklusive <hostid + role="fqdn">freefall.FreeBSD.org</hostid> und <hostid + role="fqdn">bento.FreeBSD.org</hostid>.</para> + + <para>Wenn eine IP-Adresse einer Netzwerkkarte zugeordnet wird, + was mit der Hilfe von <command>ifconfig</command> geschieht, + sollte <emphasis>immer</emphasis> die Netzmaske + <hostid role="netmask">255.255.255.255</hostid>, die auch + hexadezimal als <hostid role="netmask">0xffffffff</hostid> + abgegeben werden kann, benutzt werden.</para> + + <para>Die MAC-Adresse ist für jede existierende Netzwerkkarte + auf der Welt eindeutig. Eine typische MAC-Adresse ist + beispielsweise <hostid + role="mac">08:00:20:87:ef:d0</hostid>.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Der lokale Rechner kann immer über den Namen + <hostid>localhost</hostid> angesprochen werden, dem immer + die IP-Adresse <hostid role="ipaddr">127.0.0.1</hostid> + zugeordnet ist.</para> + + <para>Zur Domain <hostid + role="domainname">FreeBSD.org</hostid> gehören + verschieden Rechner, inklusive <hostid + role="fqdn">freefall.FreeBSD.org</hostid> und <hostid + role="fqdn">bento.FreeBSD.org</hostid>.</para> + + <para>Wenn eine IP-Adresse einer Netzwerkkarte zugeordnet + wird, was mit der Hilfe von <command>ifconfig</command> + geschieht, sollte <emphasis>immer</emphasis> die Netzmaske + <hostid role="netmask">255.255.255.255</hostid>, die auch + hexadezimal als <hostid role="netmask">0xffffffff</hostid> + abgegeben werden kann, benutzt werden.</para> + + <para>Die MAC-Adresse ist für jede existierende + Netzwerkkarte auf der Welt eindeutig. Eine typische + MAC-Adresse ist beispielsweise <hostid + role="mac">08:00:20:87:ef:d0</hostid>.</para> + </example> + </sect3> + + <sect3> + <title>Benutzernamen</title> + + <note> + <title>FreeBSD-Erweiterung</title> + + <para>Die hier genannten Elemente sind Bestandteil der + FreeBSD-Erweiterung für DocBook und sind nicht in der + originalen DocBook DTD enthalten.</para> + </note> + + <para>Namen von Benutzern, wie + <literal>root</literal> oder <literal>bib</literal>, + können mit dem Element <sgmltag>username</sgmltag> + ausgezeichnet werden.</para> + + <example> + <title>Das Element <sgmltag>username</sgmltag></title> + + <programlisting><![ RCDATA [<para>Für die meisten Administrationsaufgaben müssen + Sie als <username>root</username> angemeldet sein.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Für die meisten Administrationsaufgaben müssen Sie als + <username>root</username> angemeldet sein.</para> + + </example> + </sect3> + + <sect3> + <title>Beschreibung von <filename>Makefile</filename>s</title> + + <note> + <title>FreeBSD-Erweiterung</title> + + <para>Die hier genannten Elemente sind Bestandteil der + FreeBSD-Erweiterung für DocBook und sind nicht in der + originalen DocBook DTD enthalten.</para> + </note> + + <para>Zur Beschreibung von Teilen einer Makedatei stehen die + beiden Elemente <sgmltag>marketarget</sgmltag> und + <sgmltag>makevar</sgmltag> zur Verfügung. + <sgmltag>maketarget</sgmltag> bezeichnet ein Ziel eines + <filename>Makefile</filename>s, das als Parameter beim + Aufruf von <command>make</command> angegeben werden kann. + <sgmltag>makevar</sgmltag> hingegen bezeichnet eine + Variable, die entweder in einem + <filename>Makefile</filename> definiert oder + <command>make</command> auf der Befehlszeile übergeben + werden kann, um so den Bauprozess zu beeinflussen.</para> + + <example> + <title><sgmltag>maketarget</sgmltag> und + <sgmltag>makevar</sgmltag></title> + + <programlisting><![ RCDATA [<para>Zwei übliche Ziele in einem <filename>Makefile</filename> + sind <maketarget>all</maketarget> und + <maketarget>clean</maketarget>.</para> + +<para>Üblicherweise wird, wenn das Ziel <maketarget>all</maketarget> + aufgerufen wird, die gesamte Anwendung neu erstellt. Der Aufruf + des Zieles <maketarget>clean</maketarget> veranlaßt das + Löschen aller temporären Dateien (zum Beispiel + <filename>.o</filename>), die während der Übersetzung erzeugt + wurden.</para> + +<para>Das genaue Verhalten von <maketarget>clean</maketarget> + kann von einer Reihe von Variablen beeinflußt werden. + Stellvertretend seien hier <makevar>CLOBBER</makevar> und + <makevar>RECURSE</makevar> genannt.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Zwei übliche Ziele in einem + <filename>Makefile</filename> sind + <maketarget>all</maketarget> und + <maketarget>clean</maketarget>.</para> + + <para>Üblicherweise wird, wenn das Ziel + <maketarget>all</maketarget> aufgerufen wird, die gesamte + Anwendung neu erstellt. Der Aufruf des Zieles + <maketarget>clean</maketarget> veranlaßt das + Löschen aller temporären Dateien (zum Beispiel + <filename>.o</filename>), die während der + Übersetzung erzeugt wurden.</para> + + <para>Das genaue Verhalten von + <maketarget>clean</maketarget> kann von einer Reihe von + Variablen beeinflußt werden. Stellvertretend seien + hier <makevar>CLOBBER</makevar> und + <makevar>RECURSE</makevar> genannt.</para> + </example> + </sect3> + + <sect3> + <title>Text buchstabengetreu übernehmen</title> + + <para>Für das Handbuch ist es oft notwendig, Textausschnitte + buchstabengetreu darzustellen. Hierbei kann es sich um Texte + handeln, die aus einer anderen Datei stammen oder die der + Leser eins-zu-eins aus dem Handbuch kopieren können + soll.</para> + + <para>In einigen Fällen ist zu diesem Zwecke + <sgmltag>programlisting</sgmltag> ausreichend, jedoch nicht + immer. So ist <sgmltag>programlisting</sgmltag> zum Beispiel + nicht einsetzbar, wenn es darum geht einen Auszug aus einer + Datei innerhalb eines Absatzes einzufügen. In solchen Fällen + sollte das Element <sgmltag>literal</sgmltag> zum Einsatz + kommen.</para> + + <example> + <title><sgmltag>literal</sgmltag></title> + + <programlisting><![ RCDATA [<para>Die Zeile <literal>maxusers 10</literal> in der + Kernelkonfigurationsdatei beeinflußt die Größe vieler + Systemtabellen und kann als ungefähr als Richtwert dafür + gelten, wie viele paralle Anmeldungen das System handhaben + kann.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Die Zeile <literal>maxusers 10</literal> in der + Kernelkonfigurationsdatei beeinflußt die Größe vieler + Systemtabellen und kann als ungefähr als Richtwert dafür + gelten, wie viele paralle Anmeldungen das System handhaben + kann.</para> + </example> + </sect3> + + <sect3> + <title>Benutzerspezifische Eingaben darstellen</title> + + <!--@todo Klingt ein wenig kompiliziert. + Oliver Fischer --> + + <para>Es kommt oft vor, daß der Leser Beispiele, + Dateinamen oder Kommandozeilen verändern muss. + Für einen solchen Anwendungsfall + ist das Element <sgmltag>replaceable</sgmltag> gedacht. Es + kann <emphasis>innerhalb</emphasis> von anderen Elementen + genutzt werden, um die Teile auszuzeichnen, die es zu + ersetzen gilt.</para> + + <example> + <title>Das Element <sgmltag>replaceable</sgmltag></title> + + <programlisting><![ RCDATA [<informalexample> + <screen>&prompt.user; <userinput>man <replaceable>command</replaceable></userinput></screen> +</informalexample>]]></programlisting> + + <para>Darstellung:</para> + + <informalexample> + <screen>&prompt.user; <userinput>man <replaceable>command</replaceable></userinput></screen> + </informalexample> + + <para>Dieses Beispiel zeigt, daß nur der Text mit + <sgmltag>replaceable</sgmltag> umschlossen werden soll, + den der Benutzer einzusetzen hat. Sämtlicher anderer + Text sollte wie üblich ausgezeichnet werden.</para> + + <programlisting><![ RCDATA [<para>Die Zeile + <literal>maxusers <replaceable>n</replaceable></literal> + in der Kernelkonfigurationsdatei bestimmt die Größe vieler Systemtabellen + und stellt einen groben Richtwert dafür dar, wie viele gleichzeitige Anmeldungen + das System unterstützt.</para> + +<para>Für einen Arbeitsplatzrechner stellt <literal>32</literal> einen guten + Wert für <replaceable>n</replaceable> dar.</para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Die Zeile <literal>maxusers + <replaceable>n</replaceable></literal> in der + Kernelkonfigurationsdatei bestimmt die Größe + vieler Systemtabellen und stellt einen groben Richtwert + dafür dar, wie viele gleichzeitige Anmeldungen das + System unterstützt.</para> + + <para>Für einen Arbeitsplatzrechner stellt + <literal>32</literal> einen guten Wert für + <replaceable>n</replaceable> dar.</para> + </example> + </sect3> + + <sect3> + <title>Fehlermeldungen des Systems darstellen</title> + + <para>In manchen Fällen kann es nötig sein, + Fehlermeldungen darzustellen, die von FreeBSD erzeugt werden + können. Für solche Fälle ist das Element + <sgmltag>errorname</sgmltag> vorgesehen.</para> + + <example> + <title>Das Element <sgmltag>errorname</sgmltag></title> + + <programlisting><![ RCDATA [ <screen><errorname>Panic: cannot mount root</errorname></screen> ]]></programlisting> + + + <para>Darstellung:</para> + + <informalexample> + <screen><errorname>Panic: cannot mount root</errorname></screen> + </informalexample> + </example> + </sect3> + </sect2> + <sect2> + <title>Bilder und Grafiken</title> + + <important> + <para>Die Verwendung von Grafiken innerhalb der Dokumentation + ist momentan noch in einem experimentellen Stadium. Es ist + daher wahrscheinlich, daß sich die hier beschriebenen + Mechanismen noch ändern werden.</para> + + <para>Für die Verwendung von Grafiken ist es notwendig, + den Port <filename + role="package">graphics/ImageMagick</filename> + zusätzlich zu installieren, da er + <emphasis>nicht</emphasis> vom Port <filename + role="package">textproc/docproj</filename> mitinstalliert + wird.</para> + + <para>Das beste Beispiel für den Einsatz von Grafiken ist + der unter + <filename>doc/en_US.ISO8859-1/articles/vm-design/</filename> + zu findene Artikel <quote>Design elements of the FreeBSD VM + system</quote>. Falls beim Lesen der folgenden Kapitel + Fragen unbeantwortet oder unklar bleiben, empfiehlt es sich, + die unter dem genannten Verzeichnis befindlichen Dateien zu + studieren und anhand ihrer zu verstehen, wie alles + zusammenhängt. Es empfiehlt sich, den Artikel in + verschiedenen Ausgabeformaten zu erzeugen, da man so sehen + kann, wie die Grafiken in Abhängigkeit vom + Ausgabemedium angeordnet werden.</para> + </important> + + <sect3> + <title>Unterstütze Grafikformate</title> + + <para>Zur Zeit werden nur zwei Grafikformate unterstützt. + Welches von beiden Formaten zum Einsatz kommen sollte, + hängt von der Art der Grafik ab.</para> + + <para>Für Bilder, die vorrangig Vektorelemente wie + Netzwerkdiagramme, Zeitlinien und ähnliches beinhalten, + sollte Encapsulated Postscript als Format gewählt + werden. Wichtig ist es in diesem Fall, daß die + Grafikdatei die Endung <filename>.eps</filename> hat. + Für Bitmapgrafiken, wie zum Beispiel Bildschirmfotos, + steht das Portable Network Grafic Format zur + Verfügung. In diesem Fall, sollte die Grafikdatei immer + die Endung <filename>.png</filename> haben.</para> + + <para>In das CVS-Archiv sollten <emphasis>nur</emphasis> + Grafiken in diesen beiden Formaten übernommen + werden.</para> + + <para>Es sollte darauf sehr darauf geachtet werden, das + richtige Format für das richtige Bild zu wählen. + Erwartungsgemäß wird es Dokumente geben, die eine + Mischung aus PNG- und EPS-Grafiken enthalten. In solchen + Fällen, stellen die Makedateien die Verwendung des + richtigen Formats in Abhängigkeit vom Ausgabeformat + sicher. <emphasis>Deshalb sollte die gleiche Grafik niemals + in zwei unterschiedlichen Formaten in das CVS-Archiv + übernommen werden</emphasis>.</para> + + <important> + <para>Es ist absehbar, daß das Dokumentationsprojekt + in Zukunft das Scalable Vector Graphic-Format (SVG) als + Standardformat für Vektorgrafiken übernehmen + wird. Zum jetzigen Zeitpunkt ist dieser Wechsel noch nicht + möglich, da der Stand der jetzigen SVG-Anwendungen + noch nicht den dafür notwendigen Erfordernissen + entspricht.</para> + </important> + + </sect3> + + <sect3> + <title>DocBook-Elemente für den Grafikeinsatz</title> + + <para>Das Auszeichnen von Bildern mittels DocBook ist relativ + einfach. Zuerst wird ein + <sgmltag>mediaobject</sgmltag>-Element eingefügt, das + als Container für medienspezifische Elemente fungieren + kann. Für die Zwecke des FDPs sind das die Elemente + <sgmltag>imageobject</sgmltag> und + <sgmltag>textobject</sgmltag>.</para> + + <para>In das <sgmltag>mediaobject</sgmltag>-Element sollten + ein Element vom Typ <sgmltag>imageobject</sgmltag> und zwei + <sgmltag>textobject</sgmltag>-Elemente eingefügt + werden. Das <sgmltag>imageobject</sgmltag>-Element verweist + auf die eigentliche Grafikdatei. Dabei ist allerdings nur + der Dateipfad ohne Erweiterung anzugegeben. Die + <sgmltag>textobject</sgmltag>-Elemente werden dafür + genutzt, Texte aufzunehmen, die dem Leser anstelle des + Bildes oder zusammen mit dem Bild angezeigt werden.</para> + + <para>Dies kann unter zwei Umständen geschehen:</para> + + <itemizedlist> + <listitem> + <para>Wenn ein Dokument als HTML-Datei durch einem Browser + angezeigt wird. In diesem Falle muß jeder Grafik + ein Alternativtext zugeordnet werden, der dem Leser + angezeigt werden kann. Meist ist das notwendig, wenn der + Browser die Grafik noch nicht geladen hat oder wenn der + Benutzer den Mauszeiger über die Grafik + führt.</para> + </listitem> + + <listitem> + <para>Wenn das Dokument als Textdatei gelesen wird. Da in + einer Textdatei keine Grafiken angezeigt werden können, + sollte es für die Grafik eine Textentsprechung geben, + die alternativ angezeigt werden kann.</para> + </listitem> + </itemizedlist> + + <para>Das folgende Beispiel soll das bisher geschriebene + illustrieren. Angenommen es liegt eine einzubindene Grafik + in der Datei <filename>bild1</filename> vor, die die + Darstellung eines As in einem Rechteck enthält. Die + ASCII-Alternative könnte so ausgezeichnet werden:</para> + + <programlisting><mediaobject> + <imageobject> + <imagedata fileref="bild1"> <co id="co-image-ext"> + </imageobject> + <textobject> + <literallayout class="monospaced">+ - - - - - - - - - - - - - - -+ <co id="co-image-literal"> +| A | ++- - - - - - - - - - - - - - -+</literallayout> + </textobject> + <textobject> + <phrase>Ein Bild</phrase> <co id="co-image-phrase"> + </textobject> +</mediaobject></programlisting> + + <calloutlist> + <callout arearefs="co-image-ext"> + <para>Innerhalb vom Element <sgmltag>imageobject</sgmltag> + befindet sich ein Element <sgmltag>imagedata</sgmltag>, + welches mit Hilfe des Attributes + <literal>fileref</literal> den Namen der Grafikdatei + (ohne Erweiterung) angibt. Die Bestimmung der + Dateierweiterung wird von den Stylesheets + übernommen.</para> + </callout> + + <callout arearefs="co-image-literal"> + <para>Das erste <sgmltag>textobject</sgmltag>-Element + enthält ein <sgmltag>literallayout</sgmltag>-Element, + dessen Attribut <literal>class</literal> den Wert + <literal>monospaced</literal> zugewiesen bekommt. Der + Inhalt dieses Elements wird genutzt, wenn das Dokument + in Textform ausgegeben wird. An dieser Stelle hat der + Autor die Möglichkeit seine + <quote>Textzeichenkünste</quote> unter Beweis zu + stellen.</para> + + <para>Wichtig ist, daß die erste und die letzte + Zeile sich gleichauf mit dem öffenden und dem + schließenden Tag befindet. Dadurch wird + sichergestellt, daß keine unnötigen + Leerzeichen in die Ausgabe aufgenommen werden.</para> + </callout> + + <callout arearefs="co-image-phrase"> + <para>Das zweite <sgmltag>textobject</sgmltag>-Element + sollte lediglich ein <sgmltag>phrase</sgmltag>-Element + enthalten. Wird das Dokument nach HTML konvertiert, wird + dessen Inhalt für das Attribut + <literal>alt</literal> des <sgmltag>img</sgmltag>-Tags + verwendet.</para> + </callout> + </calloutlist> + </sect3> + + <sect3> + <title>Die <filename>Makefile</filename>-Einträge</title> + + <para>Alle in einem Dokument verwendeten Grafiken müssen in + dem zugehörigen Makefile in der Variable + <makevar>IMAGES</makevar> enthalten sein. + <makevar>IMAGES</makevar> sollte immer die Namen der + <emphasis>Quellgrafiken</emphasis> enthalten. Werden in + einem Dokument beispielsweise die drei Grafiken + <filename>bild1.eps</filename>, + <filename>bild2.png</filename> und + <filename>bild3.png</filename> referenziert, sollte das + <filename>Makefile</filename> die folgende Zeile + enthalten:</para> + + <programlisting>… +IMAGES= bild1.eps bild2.png bild3.png +…</programlisting> + + <para>Eine andere Möglichkeit wäre:</para> + + <programlisting>… +IMAGES= bild1.eps +IMAGES+= bild2.png +IMAGES+= bild3.png +…</programlisting> + + + <para>Es kann nicht oft genug betont werden: Welche + Grafikdateien für das zu erzeugende Dokument benötigt + werden, wird von dem Makefiles bestimmt. + <makevar>IMAGES</makevar> darf nur die Originaldateien + enthalten.</para> + </sect3> + + <sect3> + <title>Grafiken und Kapitel in Unterverzeichnissen</title> + + <para>Wenn Sie Ihre Dokumentation in mehrere kleine + Dateien aufspalten (siehe + <xref linkend="sgml-primer-include-using-gen-entities">), + müssen Sie sorgfältig vorgehen.</para> + + <para>Angenommen es handelt sich um ein Buch, dessen drei + Kapitel in separaten Verzeichnissen angelegt wurden + (<filename>kapitel1/kapitel.sgml</filename>, + <filename>kapitel2/kapitel.sgml</filename> und + <filename>kapitel3/kapitel.sgml</filename>). Enthalten die + Kapitel Grafiken, empfiehlt es sich, diese in den gleichen + Verzeichnisses abzulegen, wie die Kapitel selbst. In diesem + Falle gilt es jedoch zu beachten, daß die Pfade der + Grafikdateien in der Variable <makevar>IMAGES</makevar> und + in den <sgmltag>imagedata</sgmltag>-Elementen immer auch den + Verzeichnisnamen mitenthalten.</para> + + <para>Soll beispielsweise die Datei + <filename>kapitel1/bild1.png</filename> in das in + <filename>kapitel1/kapitel.sgml</filename> enthaltene + Kapitel eingebunden werden, sollte die so erfolgen:</para> + + <programlisting><mediaobject> + <imageobject> + <imagedata fileref="kapitel1/bild1"> <co id="co-image-dir"> + </imageobject> + + … +</mediaobject></programlisting> + + <calloutlist> + <callout arearefs="co-image-dir"> + <para><literal>fileref</literal> muß den + Datei- und den Verzeichnisnamen enthalten.</para> + </callout> + </calloutlist> + + <para>Das <filename>Makefile</filename> muß dementsprechend + die Zeile + + <programlisting>… +IMAGES= kapitel1/bild1.png +…</programlisting> + + enthalten.</para> + + <para>Wird dies beachtet, sollte es zu keinen Problemen + kommen.</para> + </sect3> + </sect2> + + <sect2> + <title>Querverweise</title> + + <note> + <para>Querverweise sind auch Flußelemente.</para> + </note> + + <sect3> + <title>Querverweise innerhalb eines Dokumentes</title> + + + <para>Um innerhalb eines Dokumentes Verweise anzulegen, muß + angegeben werden, von welcher Textstelle aus wohin verwiesen + werden soll.</para> + + <para>Jedes DocBook-Element besitzt ein Attribut + <literal>id</literal>, über das seinem Element ein + eindeutiger Bezeichner zugewiesen werden kann.</para> + + + <!-- ?: Mit diesem Absatz bin ich gar nicht zu frieden! --> + <para>In den meisten Fällen werden Querverweise nur zu + Kapiteln gesetzt. Die <sgmltag>chaper</sgmltag>- und + <sgmltag>sect*</sgmltag>-Elemente sollten aus diesem Grunde + ein gesetztes <literal>id</literal>-Attribut + besitzen.</para> + + <example> + <title><sgmltag>chapter</sgmltag> und <sgmltag>section</sgmltag> + mit dem Attribut <literal>id</literal></title> + <!--<title><literal>id on chapters and sections</literal></title>--> + + <programlisting><![ RCDATA [<chapter id="kapitel1"> + <title>Einführung</title> + + <para>Das ist eine Einführung. Sie enthält ein Unterkapitel, das + ebenfalls einen eigenen Bezeichner hat.</para> + + <sect1 id="kapitel1-unterkapitel1"> + <title>Unterkapitel 1</title> + + <para>Das ist ein Unterkapitel.</para> + </sect1> +</chapter>]]></programlisting> + </example> + + <para>Als Wert für das Attribut <literal>id</literal> + sollte immer ein selbsterklärender Bezeichner gewählt + werden. Zudem ist es notwendig, daß dieser Bezeichner + innerhalb des Dokumentes eindeutig ist. Im obigen Beispiel + wurde der Bezeichner für das Unterkapitel gebildet, + indem der Bezeichner des übergeordneten Kapitels um den + Titel des Unterkapitels erweitert wurde. Diese + Vorgehensweise hilft sicherzustellen, daß Bezeichner + eindeutig sind und bleiben.</para> + + <para>Manchmal soll jedoch nicht auf den Anfang eines Kapitels + verwiesen werden, sondern zum Beispiel auf eine Stelle in + einem Absatz oder auf ein bestimmtes Beispiel. In solchen + Fällen kann an der Stelle, auf die verwiesen werden + soll, das Element <sgmltag>anchor</sgmltag> mit gesetztem + Attribut <literal>id</literal> eingefügt werden. + <sgmltag>anchor</sgmltag> kann selber keinen weiteren Inhalt + aufnehmen.</para> + + <example> + <title>Querverweise und das Element + <sgmltag>anchor</sgmltag></title> + + <programlisting><![ RCDATA [<para>Dieser Absatz enthält ein + <anchor id="absatz1">Ziel für Querverweise, was jedoch keine + Auswirkung auf dessen Darstellung hat.</para>]]></programlisting> + </example> + + <para>Zum Anlegen des eigentlichen Querverweises selbst kann + eines der beiden Elemente <sgmltag>xref</sgmltag> oder + <sgmltag>link</sgmltag> genutzt werden. Beide besitzen das + Attribut <literal>linkend</literal>, dem der + <literal>id</literal>-Wert des Verweiszieles zugewiesen + wird. Ob sich das Ziel vor oder nach dem Verweis befindet, + spielt keine Rolle.</para> + + <para><sgmltag>xref</sgmltag> und <sgmltag>link</sgmltag> + unterscheiden sich jedoch hinsichtlich der Art und Weise, + auf die der Text erzeugt wird, auf dem der Querverweis + liegt. Kommt <sgmltag>xref</sgmltag> zum Einsatz, hat der + Autor keine Kontrolle darüber – der Text wird + automatisch für ihn erzeugt.</para> + + + <example> + <title>Einsatz von <sgmltag>xref</sgmltag></title> + + <!-- @todo Das englische Original sollte um + einen Link zu dem Beispiel erweitert werden. --> + <para>Für dieses Beispiel wird davon ausgegangen, daß sich + folgendes Textfragment irgendwo innerhalb eines Dokumentes + auftaucht, daß das vorherige + <literal>id</literal>-Beispiel enthält.</para> + + + <programlisting><![ RCDATA [<para>Weitere Informationen gibt + es im <xref linkend="kapitel1">.</para> + +<para>Genauere Informationen können im + <xref linkend="kapitel1-unterkapitel1"> gefunden werden.</para>]]></programlisting> + + <para>Der Verweistext wird automatisch von den Stylesheets + erzeugt und so hervorgehoben, daß ersichtlich ist, + daß es sich bei dem Text um einen Verweis + handelt.</para> + + <blockquote> + <para>Weitere Informationen können in der + <emphasis>Einführung</emphasis> gefunden + werden.</para> + + <para>Genauere Informationen können im + <emphasis>Unterkapitel 1</emphasis> gefunden + werden.</para> + </blockquote> + </example> + + <para>Der Text, auf dem der HTML-Link für den Querverweis + liegt, wurde von den Kapitelüberschriften + übernommen.</para> + + <note> + <para>Das bedeutet, daß es <emphasis>nicht + möglich</emphasis> ist, mit der Hilfe von + <sgmltag>xref</sgmltag> einen Querverweis zu einer mit + <sgmltag>anchor</sgmltag> gekennzeichneten Stelle + anzulegen. Da <sgmltag>anchor</sgmltag> keinen Inhalt + aufnehmen kann, können die Stylesheets nicht + automatisch einen Text für den Verweis + erzeugen.</para> + </note> + + <para>Möchte man selber den für den Verweis + benutzten Text bestimmen können, sollte das Element + <sgmltag>link</sgmltag> verwendet werden. Im Gegensatz zu + <sgmltag>xref</sgmltag> kann <sgmltag>link</sgmltag> Inhalt + aufnehmen, der dann für den Verweis verwendet + wird.</para> + + + <example> + <title><sgmltag>link</sgmltag> beutzen</title> + + <para>Für dieses Beispiel wird davon ausgegangen, daß + es sich in dem Dokument befindet, das auch + das <literal>id</literal>-Beispiel enthält.</para> + + <programlisting><![ RCDATA [<para>Weitere Informationen können + im <link linkend="kapitel1">ersten Kapitel</link> gefunden + werden.</para> + +<para>Genauere Informationen können in + <link linkend="kapitel1-unterkapitel1">diesem</link> Kapitel + gefunden werden.</para>]]></programlisting> + + <para>Aus diesem SGML-Fragment würden die Stylesheets + folgendes generieren (der hervorgehobene Text deutet den + erzeugten Verweis an):</para> + + <blockquote> + <para>Weitere Informationen können im <emphasis>ersten + Kapitel</emphasis> gefunden werden.</para> + + <para>Genauere Informationen können in + <emphasis>diesem</emphasis> Kapitel gefunden + werden.</para> + </blockquote> + </example> + + <note> + <para>Das letzte Beispiel ist schlecht. Es sollten niemals + Wörter wie <quote>dieses</quote> oder + <quote>hier</quote> als Linktext benutzt werden. Solche + Wörter zwingen den Leser dazu, den Kontext des + Verweises zu lesen, um zu verstehen, wohin der Verweis + führt.</para> + </note> + + <note> + <para>Mit dem Element <sgmltag>link</sgmltag> + <emphasis>kann</emphasis> auf mit + <sgmltag>anchor</sgmltag> gekennzeichnete Stellen im + Dokument verwiesen werden, da der Inhalt von + <sgmltag>link</sgmltag> als Text für den Querverweise + genutzt wird.</para> + </note> + </sect3> + + <sect3> + <title>Verweise auf Dokumente im WWW</title> + + <para>Das Anlegen von Verweisen auf externe Dokumente ist + wesentlich einfacher – solange die URL des zu + referenzierenden Dokumentes bekannt ist. Um von einem + bestimmten Textabschnitt auf das gewünschte externe + Dokument zu verweisen, muß die jeweilige Stelle mit + dem Element <sgmltag>ulink</sgmltag> ausgezeichnet werden. + Mittels des Attributes <literal>url</literal> kann die + Adresse des Zieldokumentes angegeben werden. Bei der + Umformung des Quelldokumentes in die verschiedenen + Ausgabeformate wird der sich zwischen Start- und Endtag + befindliche Text für den Verweis übernommen, den + der Leser aufrufen kann.</para> + + + <example> + <title>Verweise mit <sgmltag>ulink</sgmltag></title> + + <!-- @todo Welchen Fall erforder anstatt? --> + <programlisting><![ RCDATA [<para>Natürlich ist es möglich, anstatt diesen Text + weiterzulesen, sofort die + <ulink url="../../../../index.html">FreeBSD-Homepage</ulink> + aufzurufen.<para>]]></programlisting> + + <para>Darstellung:</para> + + <para>Natürlich ist es möglich, anstatt diesen Text + weiterzulesen, sofort die <ulink + url="../../../../index.html">FreeBSD-Homepage</ulink> + aufzurufen.<para> + + + </example> + </sect3> + </sect2> + </sect1> </chapter> + <!-- Local Variables: mode: sgml diff --git a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml index f7bad3cb52..06308e4362 100644 --- a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml @@ -3,8 +3,8 @@ The FreeBSD German Documentation Project $FreeBSD$ - $FreeBSDde: de-docproj/books/handbook/advanced-networking/chapter.sgml,v 1.148 2005/01/29 15:44:01 mheinen Exp $ - basiert auf: 1.359 + $FreeBSDde: de-docproj/books/handbook/advanced-networking/chapter.sgml,v 1.150 2005/02/15 18:23:16 jkois Exp $ + basiert auf: 1.361 --> <chapter id="advanced-networking"> @@ -2150,7 +2150,7 @@ rfcomm_sppd[94692]: Starting on /dev/ttyp6...</screen> <title>Filtering/Traffic Shaping Firewall</title> <indexterm><primary>Firewall</primary></indexterm> - <indexterm><primary>Network Adress Translation</primary></indexterm> + <indexterm><primary>NAT</primary></indexterm> <para>Die zweite häufig anzutreffende Situation tritt auf, wenn Firewallfunktionen benötigt werden, ohne dass @@ -3563,7 +3563,7 @@ ISDN BRI Verbindung <indexterm><primary>Internet connection sharing</primary></indexterm> - <indexterm><primary>IP masquerading</primary></indexterm> + <indexterm><primary>NAT</primary></indexterm> <para>Der häufigste Grund für die Verwendung von NAT ist die gemeinsame Nutzung einer Internetverbindung.</para> diff --git a/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml b/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml index 9a4fa9be69..e2f5d28dce 100644 --- a/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml @@ -3,8 +3,8 @@ The FreeBSD German Documentation Project $FreeBSD$ - $FreeBSDde: de-docproj/books/handbook/basics/chapter.sgml,v 1.91 2005/01/29 14:03:27 mheinen Exp $ - basiert auf: 1.134 + $FreeBSDde: de-docproj/books/handbook/basics/chapter.sgml,v 1.92 2005/02/15 18:41:11 jkois Exp $ + basiert auf: 1.135 --> <chapter id="basics"> @@ -2232,7 +2232,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse <para>Die von Ihnen gewünschte Shell <emphasis>muss</emphasis> in <filename>/etc/shells</filename> aufgeführt sein. Haben Sie eine Shell aus der - <link linkend="ports">Ports Sammlung</link> installiert, + <link linkend="ports">Ports-Sammlung</link> installiert, sollte das schon automatisch erledigt werden. Installierten Sie die Shell von Hand, so müssen Sie sie dort eintragen.</para> diff --git a/de_DE.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml b/de_DE.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml index 6386cea371..b729e6a80b 100644 --- a/de_DE.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml @@ -3,8 +3,8 @@ The FreeBSD German Documentation Project $FreeBSD$ - $FreeBSDde: de-docproj/books/handbook/ppp-and-slip/chapter.sgml,v 1.62 2005/01/29 15:46:14 mheinen Exp $ - basiert auf: 1.146 + $FreeBSDde: de-docproj/books/handbook/ppp-and-slip/chapter.sgml,v 1.65 2005/02/15 17:53:52 jkois Exp $ + basiert auf: 1.150 --> <chapter id="ppp-and-slip"> @@ -1523,7 +1523,7 @@ defaultroute # put this if you want that PPP server will be your <indexterm><primary>Modem</primary></indexterm> <procedure> <step> - <para>Mit <application>kermit</application> (oder einem + <para>Mit <application>Kermit</application> (oder einem anderen Modemprogramm) den entfernten Host anwählen und Ihren Benutzernamen sowie Ihr Passwort (oder was sonst nötig ist, um PPP auf dem entfernten Host @@ -1531,7 +1531,7 @@ defaultroute # put this if you want that PPP server will be your </step> <step> - <para><application>kermit</application> beenden + <para><application>Kermit</application> beenden (ohne die Verbindung abzubrechen).</para> </step> @@ -1574,9 +1574,9 @@ ifconfig ppp0 delete kermit -y /etc/ppp/kermit.dial pppd /dev/tty01 19200</programlisting> - <indexterm><primary>kermit</primary></indexterm> + <indexterm><primary>Kermit</primary></indexterm> <para><filename>/etc/ppp/kermit.dial</filename> ist - ein <application>kermit</application>-Skript + ein <application>Kermit</application>-Skript das den Einwählvorgang und alle notwendigen Autorisationen auf dem entfernten Host durchführt (ein Beispiel für ein solches Skript ist im Anhang zu diesem Dokument zu finden).</para> @@ -1644,7 +1644,7 @@ echo \13 exit</programlisting> <para>Hier ist eine alternative Methode, bei der <command>chat</command> - an Stelle von <command>kermit</command> eingesetzt wird:</para> + an Stelle von <application>Kermit</application> eingesetzt wird:</para> <para>Die folgenden beiden Dateien reichen aus, um eine Verbindung über <command>pppd</command> herzustellen.</para> @@ -1753,7 +1753,7 @@ ifconfig ppp0 delete kermit -y /etc/ppp/kermit.noans</programlisting> - <para>Mit dem <application>kermit</application>-Skript + <para>Mit dem <application>Kermit</application>-Skript (<filename>/etc/ppp/kermit.ans</filename>) lässt sich die Funktion Ihres Modems, automatisch zu antworten, ein- bzw. ausschalten. Es sollte folgendermaßen aussehen:</para> @@ -2719,12 +2719,12 @@ tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 <step> <para>Vergewissern Sie sich, dass in der Datei <filename>/etc/host.conf</filename> - <option>hosts</option> vor <option>bind</option> steht, wenn + <literal>hosts</literal> vor <literal>bind</literal> steht, wenn Sie ein System vor FreeBSD 5.0 verwenden. Ab FreeBSD 5.0 wird die Datei <filename>/etc/nsswitch.conf</filename> verwendet, in deren - <option>hosts</option>-Zeile <option>files</option> vor - <option>dns</option> stehen sollte. Ohne diese Reihenfolge + <option>hosts</option>-Zeile <literal>files</literal> vor + <literal>dns</literal> stehen sollte. Ohne diese Reihenfolge könnten lustige Dinge passieren.</para> </step> @@ -2816,9 +2816,9 @@ nameserver 128.32.136.12</programlisting> <para>Wählen Sie sich ein, geben Sie <command>slip</command> und am Prompt den Namen Ihres Rechners sowie Ihr Passwort ein. Was Sie eingeben müssen, - hängt von Ihren Gegebenheiten ab. Wenn Sie kermit - verwenden, können Sie ein Skript wie das - Folgende verwenden:</para> + hängt von Ihren Gegebenheiten ab. Wenn Sie + <application>Kermit</application> verwenden, können Sie + ein Skript ähnlich dem Folgenden verwenden:</para> <programlisting># kermit setup set modem hayes @@ -2836,8 +2836,9 @@ output ***\x0d, echo \x0aCONNECTED\x0a</programlisting> <para>Natürlich müssen Sie hier Ihren Hostnamen und Ihr Passwort eintragen. Wenn Sie das getan haben, - können Sie am kermit-Propmt einfach <command>slip</command> - eingeben, um sich zu verbinden.</para> + können Sie am <application>Kermit</application>-Prompt + einfach <command>slip</command> eingeben, um sich zu + verbinden.</para> <note> <para>Es ist generell eine <emphasis>schlechte</emphasis> @@ -2848,7 +2849,8 @@ output ***\x0d, echo \x0aCONNECTED\x0a</programlisting> </step> <step> - <para>Belassen Sie kermit so (Sie können es mit + <para>Belassen Sie <application>Kermit</application> so (Sie + können es mit <keycombo> <keycap>Ctrl</keycap> <keycap>z</keycap> @@ -2876,7 +2878,7 @@ output ***\x0d, echo \x0aCONNECTED\x0a</programlisting> <para>Beachten Sie, dass Sie <username>root</username> sein müssen, um dies - durchführen zu können. Kehren Sie zu kermit + durchführen zu können. Kehren Sie zu <application>Kermit</application> zurück (mit Hilfe von <command>fg</command>, wenn Sie es unterbrochen haben) und beenden Sie dieses Programm (<command>q</command>).</para> @@ -2889,7 +2891,8 @@ output ***\x0d, echo \x0aCONNECTED\x0a</programlisting> <para>Es kann vorkommen, dass Ihr Modem sich weigert, das Trägersignal zu beenden (mein Modem macht dies oft). - In diesem Fall starten Sie einfach kermit und beenden es wieder. + In diesem Fall starten Sie einfach + <application>Kermit</application> und beenden es wieder. Beim zweiten Versuch geht es meist aus.</para> </sect3> diff --git a/de_DE.ISO8859-1/flyer/flyer.tex b/de_DE.ISO8859-1/flyer/flyer.tex index 57799c86d7..9796e07a04 100644 --- a/de_DE.ISO8859-1/flyer/flyer.tex +++ b/de_DE.ISO8859-1/flyer/flyer.tex @@ -23,8 +23,8 @@ % SUCH DAMAGE. % % $FreeBSD$ -% $FreeBSDde: de-docproj/flyer/flyer.tex,v 1.2 2005/01/16 13:42:15 mheinen Exp $ -% basiert auf: 1.6 +% $FreeBSDde: de-docproj/flyer/flyer.tex,v 1.3 2005/02/12 01:58:31 brueffer Exp $ +% basiert auf: 1.9 % % FreeBSD Flyer % Use make FORMAT (with FORMAT: pdf, ps or dvi) to build the flyer. @@ -82,11 +82,11 @@ % Main part \begin{center} \titledframe{Was ist FreeBSD?}{ -FreeBSD ist ein modernes Betriebssystem für x86 kompatible (Intel\reg -und AMD\tm), AMD64 (AMD Opteron\tm und Athlon\tm 64), Alpha, IA-64 -(Intel\reg Itanium\reg Prozessorfamilie), PC-98 und UltraSPARC\reg --Architekturen. Portierungen auf die PowerPC\reg und MIPS -Architekturen sind in Arbeit. +FreeBSD ist ein modernes Betriebssystem für x86 kompatible (einschließlich +Pentium\reg und Athlon\tm), amd64 kompatible (einschließlich Opteron\tm, +Athlon\tm 64 und EM64T), Alpha/AXP, IA-64 (Intel\reg Itanium\reg +Prozessorfamilie), PC-98 und UltraSPARC\reg-Architekturen. Portierungen +auf die PowerPC\reg und MIPS Architekturen sind in Arbeit. FreeBSD ist eine Weiterentwicklung von BSD, dem UNIX\reg Betriebssystem der University of California, Berkeley. @@ -116,7 +116,7 @@ für tausende gleichzeitig laufende Benutzerprozesse. \vspace{5mm} \titledframe{Wählen Sie aus einer Vielzahl von Anwendungen!}{ -FreeBSD wird mit mehr als 10000 installationsfertigen Softwarepaketen +FreeBSD wird mit mehr als 12000 installationsfertigen Softwarepaketen ausgeliefert, unter anderem: Apache, Samba, MySQL\reg, OpenOffice.org, KDE, GNOME, MPlayer, etc.\\ @@ -175,7 +175,7 @@ Windows\reg und GNU/Linux, an. % % Copyrights \begin{center} -\tiny \copyright 2004 Das FreeBSD Projekt\\ +\tiny \copyright 2004-2005 Das FreeBSD Projekt\\ FreeBSD ist ein registriertes Markenzeichen der FreeBSD Foundation.\\ Alle anderen Firmen- und Produktnamen können Markenzeichen der jeweiligen Firmen sein.\\ |