diff --git a/de_DE.ISO8859-1/books/faq/Makefile b/de_DE.ISO8859-1/books/faq/Makefile
index 2ac54e57a7..a45b408801 100644
--- a/de_DE.ISO8859-1/books/faq/Makefile
+++ b/de_DE.ISO8859-1/books/faq/Makefile
@@ -1,32 +1,32 @@
#
# The FreeBSD Documentation Project
# The FreeBSD German Documentation Project
#
# Build the FreeBSD FAQ in the German translation
#
# $FreeBSD$
-# $FreeBSDde: de-docproj/books/faq/Makefile,v 1.7 2002/04/06 18:47:12 ue Exp $
-# basiert auf: 1.7
+# $FreeBSDde: de-docproj/books/faq/Makefile,v 1.8 2003/03/08 18:27:30 mheinen Exp $
+# basiert auf: 1.8
#
MAINTAINER=de-bsd-translators@DE.FreeBSD.org
DOC?= book
FORMATS?= html-split html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
-JADEFLAGS+=-Vbiblio-xref-title
-#
+WITH_BIBLIOXREF_TITLE=YES
+#
# SRCS lists the individual SGML files that make up the document. Changes
# to any of these files will force a rebuild
#
# SGML content
-SRCS= book.sgml
+SRCS= book.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/de_DE.ISO8859-1/books/handbook/Makefile b/de_DE.ISO8859-1/books/handbook/Makefile
index f1356414ac..b950fec0d2 100644
--- a/de_DE.ISO8859-1/books/handbook/Makefile
+++ b/de_DE.ISO8859-1/books/handbook/Makefile
@@ -1,87 +1,87 @@
-#
+#
# $FreeBSD$
-# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.22 2002/11/29 12:48:18 mheinen Exp $
+# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.23 2003/03/08 18:27:32 mheinen Exp $
#
# Build the FreeBSD Handbook in its German translation.
#
MAINTAINER=alex@FreeBSD.org
DOC?= book
FORMATS?= html-split
HAS_INDEX= true
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
# Images from the cross-document image library
IMAGES_LIB= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
-#
+#
# SRCS lists the individual SGML files that make up the document. Changes
# to any of these files will force a rebuild
#
# SGML content
SRCS+= book.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= basics/chapter.sgml
SRCS+= bibliography/chapter.sgml
SRCS+= boot/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= colophon.sgml
SRCS+= config/chapter.sgml
SRCS+= desktop/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= kernelconfig/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= l10n/chapter.sgml
SRCS+= linuxemu/chapter.sgml
SRCS+= mail/chapter.sgml
SRCS+= mirrors/chapter.sgml
SRCS+= pgpkeys/chapter.sgml
SRCS+= ppp-and-slip/chapter.sgml
SRCS+= ports/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= sound/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= x11/chapter.sgml
# Entities
-SRCS+= chapters.ent
-SRCS+= newsgroups.ent
+SRCS+= chapters.ent
+SRCS+= newsgroups.ent
# alle Kapitel bauen
CHAPTERS?= ${SRCS:M*chapter.sgml}
SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
# XXX The Handbook build currently overflows some internal, hardcoded
# limits in pdftex. Until we split the Handbook up, build the PDF
# version using ps2pdf instead of pdftex.
PS2PDF?= ${PREFIX}/bin/ps2pdf
book.tex-pdf:
- ${TOUCH} book.tex-pdf
+ ${TOUCH} book.tex-pdf
-book.pdf: book.ps
+book.pdf: book.ps
${PS2PDF} book.ps book.pdf
pgpkeyring: pgpkeys/chapter.sgml
@${JADE} -V nochunks ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
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 f223feed1f..778e8495e8 100644
--- a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
@@ -1,1400 +1,1400 @@
JohannKoisÜbersetzt von Weiterführende NetzwerkthemenÜbersichtDieses Kapitel beschreibt einige der häufiger
verwendeten Netzwerkdienste auf UNIX-Systemen. Es wird
beschrieben, wie die von FreeBSD verwendeten Netzwerkdienste
installiert, getestet und gewartet werden. Zusätzlich sind
im ganzen Kapitel Beispielkonfigurationsdateien vorhanden, von
denen Sie sicherlich profitieren werden.Nachdem Sie dieses Kapitel gelesen haben, werden SieDie Grundlagen von Gateways und Routen kennen.Eine Bridge unter FreeBSD einrichten können.Ein Netzwerkdateisystem (NFS) einrichten können.Einen plattenlosen Rechner über das Netzwerk starten
können.Einen Netzwerkinformationsserver (NIS) für gemeinsame
Benutzerkonten einrichten können.Automatische Netzwerkeinstellungen mittels DHCP vornehmen
können.Einen Domain Name Server (DNS) einrichten können.Unter Verwendung des NTP-Protokolls Uhrzeit und Datum
synchronisieren, sowie einen Zeitserver einrichten können.Wissen, wie man NAT (Network Address Translation)
einrichtet.In der Lage sein, den inetd-Daemon
einzurichten.Zwei Computer über PLIP verbinden können.IPv6 auf einem FreeBSD-Rechner einrichten können.Bevor Sie dieses Kapitel lesen, sollten SieDie Grundlagen der /etc/rc-Skripte
verstanden haben.Mit der grundlegenden Netzwerkterminologie vertraut
sein.CoranthGryphonBeigetragen von Gateways und RoutenRoutingGatewaySubnetzDamit ein Rechner einen anderen über ein Netzwerk
finden kann, muss ein Mechanismus vorhanden sein, der
beschreibt, wie man von einem Rechner zum anderen gelangt.
Dieser Vorgang wird als Routing
bezeichnet. Eine Route besteht aus einem
definierten Adressenpaar: Einem Ziel und einem
Gateway. Dieses Paar zeigt an, dass Sie
über den Gateway zum
Ziel gelangen wollen. Es gibt drei Arten
von Zielen: Einzelne Rechner (Hosts), Subnetze und das
Standardziel. Die Standardroute
wird verwendet, wenn keine andere Route zutrifft. Wir werden
Standardrouten später etwas genauer behandeln. Außerdem
gibt es drei Arten von Gateways: Einzelne Rechner (Hosts),
Schnittstellen (Interfaces, auch als Links
bezeichnet), sowie Ethernet Hardware-Adressen (MAC
Adressen).Ein BeispielUm die verschiedenen Aspekte des Routings zu
veranschaulichen, verwenden wir folgende Ausgaben von
netstat:&prompt.user; netstat -r
Routing tables
Destination Gateway Flags Refs Use Netif Expire
default outside-gw UGSc 37 418 ppp0
localhost localhost UH 0 181 lo0
test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
10.20.30.255 link#1 UHLW 1 2421
example.com link#1 UC 0 0
host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
host2.example.com link#1 UC 0 0
224 link#1 UC 0 0
Default-RouteStandardrouteDie ersten zwei Zeilen geben die Standardroute (die wir
im nächsten
Abschnitt behandeln), sowie die
localhost Route an.Loopback-GerätDas in der Routingtabelle für
localhost festgelegte Interface
(Netif-Spalte)
lo0, ist auch als loopback-Gerät
(Prüfschleife) bekannt. Das heißt, dass der ganze
Datenverkehr für dieses Ziel intern (innerhalb des
Gerätes) bleibt, anstatt ihn über ein Netzwerk (LAN)
zu versenden, da das Ziel dem Start entspricht.EthernetMAC-AdresseDer nächste auffällige Punkt sind die mit
0:e0: beginnenden Adressen. Es
handelt sich dabei um Ethernet Hardwareadressen, die auch als
MAC-Adressen bekannt sind. FreeBSD identifiziert Rechner im
lokalen Netz automatisch (im Beispiel test0)
und fügt eine direkte Route zu diesem Rechner hinzu. Dies
passiert über die Ethernet Schnittstelle
ed0. Außerdem existiert ein Timeout
(in der Spalte Expire) für diese Art
von Routen, der verwendet wird, wenn dieser Rechner in einem
definierten Zeitraum nicht reagiert. Wenn dies passiert, wird
die Route zu diesem Rechner automatisch gelöscht.
Rechner im lokalen Netz werden durch einen als RIP (Routing
Information Protocol) bezeichneten Mechanismus identifiziert,
der den kürzesten Weg zu den jeweiligen Rechnern
bestimmt.SubnetzFreeBSD fügt außerdem Subnetzrouten für das
lokale Subnetz hinzu (10.20.30.255 ist die Broadcast-Adresse
für das Subnetz 10.20.30,
example.com ist der zu
diesem Subnetz gehörige Domainname). Das Ziel
link#1 bezieht sich auf die erste
Ethernet-Karte im Rechner. Sie können auch feststellen,
dass keine zusätzlichen Schnittstellen angegeben
sind.Routen für Rechner im lokalen Netz und lokale
Subnetze werden automatisch durch den
routed Daemon konfiguriert. Ist
dieser nicht gestartet, sind nur statisch definierte
(explizit eingegebene) Routen vorhanden.Die Zeile host1 bezieht sich auf
unseren Rechner, der durch seine Ethernetadresse bekannt ist.
Da unser Rechner der Sender ist, verwendet FreeBSD automatisch
das Loopback-Gerät (lo0),
anstatt den Datenverkehr über die Ethernetschnittstelle
zu senden.Die zwei host2 Zeilen sind ein Beispiel
dafür, was passiert, wenn wir ein &man.ifconfig.8; Alias
verwenden (Lesen Sie dazu den Abschnitt über Ethernet,
wenn Sie wissen wollen, warum wir das tun sollten.). Das
Symbol => (nach der
lo0 Schnittstelle) sagt aus, dass wir
nicht nur das Loopbackgerät verwenden (da sich die
Adresse auf den lokalen Rechner bezieht), sondern dass es sich
zusätzlich auch um ein Alias handelt. Solche Routen sind
nur auf Rechnern vorhanden, die den Alias bereitstellen;
alle anderen Rechner im lokalen Netz haben für solche
Routen nur eine einfache link#1
Zeile.Die letzte Zeile (Ziel Subnetz 224)
behandelt das Multicasting, das wir in einem anderen Abschnitt
besprechen werden.Schließlich gibt es für Routen noch
verschiedene Attribute, die Sie in der Spalte
Flags finden. Nachfolgend finden Sie eine
kurze Übersicht von einigen dieser Flags und ihrer
Bedeutung:UUp: Die Route ist aktiv.HHost: Das Ziel der Route ist ein einzelner
Rechner (Host).GGateway: Alle Daten, die an dieses Ziel gesendet
werden, werden von diesem System an ihr jeweiliges
Ziel weitergeleitet.SStatic: Diese Route wurde manuell konfiguriert,
das heißt sie wurde nicht
automatisch vom System erzeugt.CClone: Erzeugt eine neue Route, basierend auf der
Route für den Rechner, mit dem wir uns verbinden.
Diese Routenart wird normalerweise für lokale
Netzwerke verwendet.WWasCloned: Eine Route, die automatisch
konfiguriert wurde. Sie basiert auf einer lokalen
Netzwerkroute (Clone).LLink: Die Route beinhaltet einen Verweis auf eine
Ethernetkarte (MAC-Adresse).StandardroutenDefault-RouteStandardrouteWenn sich der lokale Rechner mit einem entfernten Rechner
verbinden will, wird die Routingtabelle überprüft,
um festzustellen, ob bereits ein bekannter Pfad vorhanden ist.
Gehört dieser entfernte Rechner zu einem Subnetz, dessen
Pfad uns bereits bekannt ist (Cloned route), dann versucht der
lokale Rechner über diese Schnittstelle eine Verbindung
herzustellen.Wenn alle bekannten Pfade nicht funktionieren, hat der
lokale Rechner eine letzte Möglichkeit: Die
Standardroute (Default-Route). Bei dieser
Route handelt es sich um eine spezielle Gateway-Route
(gewöhnlich die einzige im System vorhandene), die im
Flags-Feld immer mit C gekennzeichnet ist.
Für Rechner im lokalen Netzwerk ist dieser Gateway auf
welcher Rechner auch immer eine Verbindung nach
außen hat gesetzt (entweder über eine
PPP-Verbindung, DSL, ein Kabelmodem, T1 oder eine beliebige
andere Netzwerkverbindung).Wenn Sie die Standardroute für einen Rechner
konfigurieren, der selbst als Gateway zur Außenwelt
funktioniert, wird die Standardroute zum Gateway-Rechner Ihres
Internetanbieter (ISP) gesetzt.Sehen wir uns ein Beispiel für Standardrouten an. So
sieht eine übliche Konfiguration aus:
[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW]
Die Rechner Local1 und
Local2 befinden sich auf Ihrer Seite.
Local1 ist mit einem ISP über eine
PPP-Verbindung verbunden. Dieser PPP-Server ist über ein
lokales Netzwerk mit einem anderen Gateway-Rechner verbunden,
der über eine Schnittstelle die Verbindung des ISP zum
Internet herstellt.Die Standardrouten für Ihre Maschinen lauten:HostStandard GatewaySchnittstelleLocal2Local1EthernetLocal1T1-GWPPPEine häufig gestellte Frage lautet: Warum (oder wie)
sollten wir T1-GW als Standard-Gateway
für Local1 setzen,
statt den (direkt verbundenen) ISP-Server zu
verwenden?.Bedenken Sie, dass die PPP-Schnittstelle für die
Verbindung eine Adresse des lokalen Netzes des ISP verwendet.
Daher werden Routen für alle anderen Rechner im lokalen
Netz des ISP automatisch erzeugt. Daraus folgt, dass Sie
bereits wissen, wie Sie T1-GW erreichen
können! Es ist also unnötig, einen Zwischenschritt
über den ISP-Server zu machen.Es ist üblich, die Adresse X.X.X.1 als Gateway-Adresse für
ihr lokales Netzwerk zu verwenden. Für unser Beispiel
bedeutet dies Folgendes: Wenn Ihr lokaler Klasse-C-Adressraum
10.20.30 ist und Ihr ISP
10.9.9 verwendet, sehen die
Standardrouten so aus:Rechner (Host)StandardrouteLocal2 (10.20.30.2)Local1 (10.20.30.1)Local1 (10.20.30.1, 10.9.9.30)T1-GW (10.9.9.1)Rechner mit zwei HeimatnetzenDual-Homed-HostsEs gibt noch eine Konfigurationsmöglichkeit, die wir
besprechen sollten, und zwar Rechner, die sich in zwei
Netzwerken befinden. Technisch gesehen, zählt jeder als
Gateway arbeitende Rechner zu den Rechnern mit zwei
Heimatnetzen (im obigen Beispiel unter Verwendung einer
PPP-Verbindung). In der Praxis meint man damit allerdings nur
Rechner, die sich in zwei lokalen Netzen befinden.Entweder verfügt der Rechner über zwei
Ethernetkarten und jede dieser Karten hat eine Adresse in
einem separaten Subnetz, oder der Rechner hat nur eine
Ethernetkarte und verwendet &man.ifconfig.8; Aliasing. Die
erste Möglichkeit wird verwendet, wenn zwei physikalisch
getrennte Ethernet-Netzwerke vorhanden sind, die zweite, wenn
es nur ein physikalisches Ethernet-Netzwerk gibt, das aber aus
zwei logisch getrennten Subnetzen besteht.In beiden Fällen werden Routingtabellen erstellt,
damit jedes Subnetz weiß, dass dieser Rechner als Gateway zum
anderen Subnetz arbeitet (inbound
route). Diese Konfiguration
(der Gateway-Rechner arbeitet als Router zwischen den
Subnetzen) wird häufig verwendet, wenn es darum geht,
Paketfilterung oder eine Firewall (in eine oder beide
Richtungen) zu implementieren.Wenn Sie möchten, dass dieser Rechner Pakete zwischen
den beiden Schnittstellen weiterleitet, müssen Sie diese
Funktion manuell konfigurieren und aktivieren.Einen Router konfigurierenRouterEin Netzwerkrouter ist einfach ein System, das Pakete von
einer Schnittstelle zur anderen weiterleitet.
Internetstandards und gute Ingenieurspraxis sorgten
dafür, dass diese Funktion in FreeBSD per Voreinstellung
deaktiviert ist. Sie können diese Funktion aktivieren,
indem Sie in &man.rc.conf.5; folgende Änderung
durchführen:gateway_enable=YES # Auf YES setzen, wenn der Rechner als Gateway arbeiten sollDiese Option setzt die &man.sysctl.8;-Variable
net.inet.ip.forwarding auf
1. Wenn Sie das Routing kurzzeitig
unterbrechen wollen, können Sie die Variable auf
0 setzen.Ihr neuer Router benötigt nun noch Routen, um zu
wissen, wohin er den Verkehr senden soll. Haben Sie ein
(sehr) einfaches Netzwerk, können Sie statische Routen
verwenden. FreeBSD verfügt über den Standard
BSD-Routing-Daemon &man.routed.8;, der RIP (sowohl Version 1
als auch Version 2) und IRDP versteht. Für komplexere
Situationen sollen Sie sich net/gated näher
ansehen.Selbst wenn FreeBSD auf diese Art konfiguriert wurde,
entspricht es den Standardanforderungen an Internet-Router
nicht vollständig. Für den
normalen Gebrauch kommt es den Standards
aber nahe genug.Verteilung von Routing-Informationenrouting propagationWir haben bereits darüber gesprochen, wie wir unsere
Routen zur Außenwelt definieren, aber nicht darüber, wie
die Außenwelt uns finden kann.Wir wissen bereits, dass Routing-Tabellen so erstellt
werden können, dass sämtlicher Verkehr für
einen bestimmten Adressraum (in unserem Beispiel ein
Klasse-C-Subnetz) zu einem bestimmten Rechner in diesem
Netzwerk gesendet wird, der die eingehenden Pakete im Subnetz
verteilt.Wenn Sie einen Adressraum für Ihre Seite zugewiesen
bekommen, richtet Ihr Diensteanbieter seine Routingtabellen so
ein, dass der ganze Verkehr für Ihr Subnetz entlang Ihrer
PPP-Verbindung zu Ihrer Seite gesendet wird. Aber woher
wissen die Seiten in der Außenwelt, dass sie die Daten an
Ihren ISP senden sollen?Es gibt ein System (ähnlich dem verbreiteten DNS),
das alle zugewiesenen Adressräume verwaltet und ihre
Verbindung zum Internet-Backbone definiert und dokumentiert.
Der Backbone ist das Netz aus
Hauptverbindungen, die den Internetverkehr in der ganzen Welt
transportieren und verteilen. Jeder Backbone-Rechner
verfügt über eine Kopie von Haupttabellen, die den
Verkehr für ein bestimmtes Netzwerk über
hierarchisch vom Backbone über eine Kette von
Diensteanbietern bis hin zu Ihrer Seite leiten.Es ist die Aufgabe Ihres Diensteanbieters, den
Backbone-Seiten mitzuteilen, dass sie mit Ihrer Seite
verbunden wurden. Durch diese Mitteilung der Route ist nun
auch der Weg zu Ihnen bekannt. Dieser Vorgang wird als
Bekanntmachung von Routen
(routing propagation)
bezeichnet.ProblembehebungtracerouteManchmal kommt es zu Problemen bei der Bekanntmachung von
Routen, und einige Seiten sind nicht in der Lage, Sie zu
erreichen. Vielleicht der nützlichste Befehl, um
festzustellen, wo das Routing nicht funktioniert, ist
&man.traceroute.8;. Er ist außerdem sehr nützlich, wenn
Sie einen entfernten Rechner nicht erreichen können
(sehen Sie dazu auch &man.ping.8;).&man.traceroute.8; wird mit dem zu erreichenden Rechner
(Host) ausgeführt. Angezeigt werden die Gateway-Rechner
entlang des Verbindungspfades. Schließlich wird der
Zielrechner erreicht oder es kommt zu einem Verbindungsabbruch
(z.B. durch Nichterreichbarkeit eines
Gateway-Rechners).Für weitere Informationen lesen Sie bitte die
Dokumentation zu &man.traceroute.8;.EricAndersonGeschrieben von Drahtlose NetzwerkeEinführungEs kann sehr nützlich sein, einen Computer zu
verwenden, ohne sich die ganze Zeit mit einem Netzwerkkabel
herumärgern zu müssen. FreeBSD kann auf drahtlose
Netzwerke (wireless LAN)
zugreifen und sogar als Zugangspunkt
(access point) für
drahtlose Netzwerke verwendet werden.Wireless backgroundDrahtlose Geräte können in zwei Modi konfiguriert
werden: BSS und IBSS.BSS-ModusÜberlicherweise wird der BSS-Modus, der auch
Infrastruktur-Modus genannt wird, verwendet. In diesem Modus
sind die Zugangspunkte (access
points mit einem Kabel-Netzwerk verbunden. Jedes
drahtlose Netzwerk besitzt einen Namen, der als die SSID des
Netzwerks bezeichnet wird.Drahtlose Clients benutzen ein im IEEE-802.11-Standard
beschriebenes Protokoll, um sich mit den Zugangspunkten zu
verbinden. Durch die Angabe einer SSID kann sich der Client das
Netzwerk, mit dem er sich verbinden will, aussuchen. Gibt der
Client keine SSID an, so wird er mit irgendeinem Netzwerk
verbunden.IBSS-ModusDer IBSS-Modus, der auch ad-hoc-Modus genannt wird, wurde
für Punkt-zu-Punkt-Verbindungen entworfen. Tatsächlich
gibt es zwei Modi: Der IBSS-Modus, auch ad-hoc- oder
IEEE-ad-hoc-Modus, der im IEEE-802.11-Standard definiert wird
und der demo-ad-hoc-Modus oder Lucent-adhoc-Modus (der zur
Verwirrung auch schon mal ad-hoc-Modus genannt wird). Der letzte
Modus stammt aus der Zeit vor IEEE 802.11 und sollte nur noch
mit alten Installationen verwendet werden.Infrastruktur-ModusZugangspunkteZugangspunkte sind drahtlose Netzwerkgeräte, die es
einem oder mehreren Clients ermöglichen, diesen als
einen zentralen Verteiler (Hub) zu benutzen. Wenn ein
Zugangspunkt verwendet wird, kommunizieren alle Clients
über diesen Zugangspunkt. Oft werden mehrere
Zugangspunkte kombiniert, um ein ganzes Gebiet, wie ein
Haus, ein Unternehmen oder einen Park mit einem drahtlosen
Netzwerk zu versorgen.Üblicherweise haben Zugangspunkte mehrere
Netzwerkverbindungen: Die drahtlose Karte, sowie eine oder
mehrere Ethernetkarten, über die die Verbindung mit dem
restlichen Netzwerk hergestellt wird.Sie können einen vorkonfigurierten Zugangspunkt
kaufen, oder Sie können sich unter Verwendung von
FreeBSD und einer unterstützten drahtlosen Karte einen
eigenen bauen. Es gibt verschiedene Hersteller, die sowohl
Zugangspunkte als auch drahtlose Karten mit verschiedensten
Eigenschaften vertreiben.Einen FreeBSD Zugangspunkt installierenVoraussetzungenUm einen drahtlosen Zugangspunkt unter FreeBSD
einzurichten, müssen Sie über eine drahtlose
Karte verfügen. Zurzeit werden dafür von
FreeBSD nur Karten mit Prism-Chipsatz unterstützt.
Zusätzlich benötigen Sie eine von FreeBSD
unterstützte Ethernetkarte (diese sollte nicht schwer
zu finden sein, da FreeBSD eine Vielzahl von verschiedenen
Karten unterstützt). Für die weiteren
Erläuterungen nehmen wir an, dass Sie den ganzen
Verkehr zwischen dem drahtlosen Gerät und dem an die
Ethernetkarte angeschlossenen Kabel-Netzwerk über
die &man.bridge.4;-Funktion realisieren wollen.Die hostap-Funktion, mit der FreeBSD Zugangspunkte
implementiert, läuft am besten mit bestimmten
Firmware-Versionen. Prism 2-Karten sollten die
Version 1.3.4 oder neuer der Firmware verwenden.
Prism 2.5- und Prism 3-Karten sollten die
Version 1.4.9 der Firmware verwenden. Es kann sein, dass
auch ältere Versionen funktionieren. Zurzeit ist es nur
mit Windows-Werkzeugen der Hersteller möglich, die Firmware
zu aktualisieren.EinrichtungStellen Sie als erstes sicher, dass Ihr System die
drahtlose Karte erkennt:&prompt.root; ifconfig -a
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
ether 00:09:2d:2d:c9:50
media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps)
status: no carrier
ssid ""
stationname "FreeBSD Wireless node"
channel 10 authmode OPEN powersavemode OFF powersavesleep 100
wepmode OFF weptxkey 1Kümmern Sie sich jetzt noch nicht um die Details,
sondern stellen Sie nur sicher, dass ihre drahtlose Karte
überhaupt erkannt und angezeigt wird.Danach müssen Sie ein Modul laden, um die
Bridge-Funktion von FreeBSD für den Zugangspunkt
vorzubereiten. Um das &man.bridge.4;-Modul zu laden,
machen Sie Folgendes:&prompt.root; kldload bridgeDabei sollten beim Laden des Moduls keine
Fehlermeldungen auftreten. Geschieht dies doch, kann es
sein, dass Sie die Bridge-Funktion (&man.bridge.4;)
in Ihren Kernel kompilieren müssen. Der Abschnitt
LAN-Kopplung mit einer Bridge
sollte Ihnen bei dieser Aufgabe behilflich sein.Wenn die Bridge-Funktion aktiviert ist,
müssen wir FreeBSD mitteilen, welche Schnittstellen
über die Bridge verbunden werden sollen. Dazu
verwenden wir &man.sysctl.8;:&prompt.root; sysctl net.link.ether.bridge=1
&prompt.root; sysctl net.link.ether.bridge_cfg="wi0 xl0"
&prompt.root; sysctl net.inet.ip.forwarding=1Nun ist es an der Zeit, die drahtlose Karte zu
installieren.Der folgende Befehl konfiguriert einen Zugangspunkt:&prompt.root; ifconfig wi0 ssid my_net channel 11 media DS/11Mbps mediaopt hostap up stationname "FreeBSD AP"Die &man.ifconfig.8; Zeile aktiviert das
wi0-Gerät, und setzt die
SSID auf my_net sowie den Namen des
Zugangspunkts auf FreeBSD AP
Mit wird die Karte in den
11 Mbps-Modus versetzt. Diese Option ist nötig,
damit -Optionen wirksam werden. Mit
wird die Schnittstelle als
Zugangspunkt konfiguriert. Der zu benutzende 802.11b-Kanal
wird mit festgelegt. In der
Hilfeseite &man.wicontrol.8; werden weitere Kanäle
aufgezählt.Nun sollten Sie über einen voll
funktionsfähigen und laufenden Zugangspunkt
verfügen. Für weitere Informationen lesen Sie
bitte die Dokumentationen zu &man.wicontrol.8;,
&man.ifconfig.8; und &man.wi.4;.Außerdem ist es empfehlenswert, den folgenden
Abschnitt zu lesen, um sich über die Sicherung bzw.
Verschlüsselung von Zugangspunkten zu
informieren.Status InformationenWenn der Zugangspunkt eingerichtet ist und läuft,
können Sie die verbundenen Clients mit dem nachstehenden
Kommando abfragen:&prompt.root; wicontrol -l
1 station:
00:09:b7:7b:9d:16 asid=04c0, flags=3<ASSOC,AUTH>, caps=1<ESS>, rates=f<1M,2M,5.5M,11M>, sig=38/15
Das Beispiel zeigt eine verbundene Station und die
dazugehörenden Verbindungsparameter. Die angegebene
Signalstärke sollte nur relativ interpretiert werden, da
die Umrechnung in dBm oder andere Einheiten abhängig von
der Firmware-Version ist.ClientsEin drahtloser Client ist ein System, das direkt auf
einen Zugangspunkt oder einen anderen Client
zugreift.Üblicherweise haben drahtlose Clients nur ein
Netzwerkgerät, die drahtlose Netzkarte.Es gibt verschiedene Möglichkeiten, einen
drahtlosen Client zu konfigurieren. Diese hängen von
den verschiedenen drahtlosen Betriebsmodi ab. Man
unterscheidet vor allem zwischen BSS (Infrastrukturmodus,
erfordert einen Zugangspunkt) und IBSS (ad-hoc,
Peer-to-Peer-Modus, zwischen zwei Clients, ohne
Zugangspunkt). In unserem Beispiel verwenden wir den weiter
verbreiteten BSS-Modus, um einen Zugangspunkt anzusprechen.
VoraussetzungenEs gibt nur eine Voraussetzung, um FreeBSD als
drahtlosen Client betreiben zu können: Sie brauchen
eine von FreeBSD unterstützte drahtlose
Karte.Einen drahtlosen FreeBSD Client einrichtenSie müssen ein paar Dinge über das drahtlose
Netzwerk wissen, mit dem Sie sich verbinden wollen, bevor
Sie starten können. In unserem Beispiel verbinden
wir uns mit einem Netzwerk, das den Namen
my_net hat, und bei dem die
Verschlüsselung deaktiviert ist.Anmerkung: In unserem Beispiel verwenden wir keine
Verschlüsselung. Dies ist eine gefährliche
Situation. Im nächsten Abschnitt werden Sie daher
lernen, wie man die Verschlüsselung aktiviert, warum
es wichtig ist, dies zu tun, und warum einige
Verschlüsselungstechnologien Sie trotzdem nicht
völlig schützen.Stellen Sie sicher, dass Ihre Karte von FreeBSD
erkannt wird:&prompt.root; ifconfig -a
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
ether 00:09:2d:2d:c9:50
media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps)
status: no carrier
ssid ""
stationname "FreeBSD Wireless node"
channel 10 authmode OPEN powersavemode OFF powersavesleep 100
wepmode OFF weptxkey 1Nun werden wir die Einstellungen der Karte unserem
Netzwerk anpassen:&prompt.root; ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_netErsetzen Sie 192.168.0.20 und 255.255.255.0 mit einer
gültigen IP-Adresse und Netzmaske ihres
Kabel-Netzwerks. Bedenken Sie außerdem, dass unser
Zugangspunkt als Bridge zwischen dem drahtlosen und
dem Kabel-Netzwerk fungiert. Für die anderen
Rechner Ihres Netzwerks befinden Sie sich, genauso wie
diese, im gleichen Kabel-Netzwerk, obwohl Sie zum
drahtlosen Netzwerk gehören.Nachdem Sie dies erledigt haben, sollten Sie andere
Rechner (Hosts) im Kabel-Netzwerk anpingen können.
Dies genauso, wie wenn Sie über eine
Standardkabelverbindung mit ihnen verbunden
wären.Wenn Probleme mit Ihrer drahtlosen Verbindung
auftreten, stellen Sie sicher, dass Sie mit dem
Zugangspunkt verbunden sind:&prompt.root; ifconfig wi0sollte einige Informationen ausgeben und Sie sollten
Folgendes sehen:status: associatedWird dies nicht angezeigt, sind Sie entweder
außerhalb der Reichweite des Zugangspunktes, haben die
Verschlüsselung deaktiviert, oder Sie haben ein
anderes Konfigurationsproblem.VerschlüsselungVerschlüsselung ist in einem drahtlosen Netzwerk
wichtig, da Sie das Netzwerk nicht länger in einem
geschützten Bereich betreiben können. Ihre Daten
verbreiten sich in der ganzen Nachbarschaft, das heißt
jeder, der es will, kann Ihre Daten lesen. Deshalb gibt es die
Verschlüsselung. Durch die Verschlüsselung der durch
die Luft versendeten Daten machen Sie es einem Dritten sehr
viel schwerer, Ihre Daten abzufangen oder auf diese
zuzugreifen.Die gebräuchlichsten Methoden, um Daten zwischen
Ihrem Client und dem Zugangspunkt zu verschlüsseln,
sind WEP und &man.ipsec.4;.WEPWEP ist die Abkürzung für Wired Equivalency
Protocol ("Verkabelung entsprechendes Protokoll"). WEP
war ein Versuch, drahtlose Netzwerke genauso sicher und
geschützt zu machen wie verkabelte Netzwerke.
Unglücklicherweise wurde es bereits geknackt, und ist
relativ einfach auszuhebeln. Sie sollten sich also nicht
darauf verlassen, wenn Sie sensible Daten
verschlüsseln wollen.Allerdings ist eine schlechte Verschlüsselung
noch immer besser als gar keine Verschlüsselung.
Aktivieren Sie daher WEP für Ihren neuen FreeBSD
Zugangspunkt:&prompt.root; ifconfig wi0 inet up ssid my_net wepmode on wepkey 0x1234567890 media DS/11Mbps mediaopt hostapAuf dem Client können Sie WEP wie folgt
aktivieren:&prompt.root; ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net wepmode on wepkey 0x1234567890Beachten Sie bitte, dass Sie
0x1234567890 durch einen besseren
Schlüssel ersetzen sollten.IPsec&man.ipsec.4; ist ein viel besseres und robusteres
Werkzeug, um Daten in einem Netzwerk zu
verschlüsseln und ist auch der bevorzugte Weg,
Daten in einem drahtlosen Netzwerk zu verschlüsseln.
Für weitere Informationen über
&man.ipsec.4;-Sicherheit, und dessen Implementierung
lesen Sie Abschnitt IPsec
des Handbuches.WerkzeugeEs gibt einige Werkzeuge, die dazu dienen, Ihr
drahtloses Netzwerk zu installieren, und auftretende
Probleme zu beheben. Wir werden nun versuchen, einige davon
zu beschreiben.bsd-airtoolsDas Paket bsd-airtools
enthält einen kompletten Werkzeugsatz zum
Herausfinden von WEP-Schlüsseln, zum Auffinden von
Zugangspunkten, usw.Die bsd-airtools
können Sie über den net/bsd-airtools Port
installieren. Für weitere Informationen zum
Installieren von Ports lesen Sie bitte des Handbuchs.Das Programm dstumbler ist ein
Werkzeug, das Sie beim Auffinden von Zugangspunkten
unterstützt, und das Signal-Rausch-Verhältnis
graphisch darstellen kann. Wenn Sie Probleme beim
Einrichten und Betreiben Ihres Zugangspunktes haben,
könnte dstumbler genau das
Richtige für Sie sein.Um die Sicherheit Ihres drahtlosen Netzwerks zu
überprüfen, könnten Sie das Paket
dweputils (dwepcrack,
dwepdump und
dwepkeygen) verwenden, um
festzustellen, ob WEP Ihren Sicherheitsansprüchen
genügt.wicontrol, ancontrol, raycontrolDies sind Werkzeuge, um das Verhalten Ihrer drahtlosen
Karte im drahtlosen Netzwerk zu kontrollieren. In den
obigen Beispielen haben wir &man.wicontrol.8; verwendet,
da es sich bei unser drahtlosen Karte um ein Gerät
der wi0-Schnittstelle handelt.
Hätten Sie eine drahtlose Karte von Cisco,
würden Sie diese über
an0 ansprechen, und daher
&man.ancontrol.8; verwenden.ifconfig&man.ifconfig.8; kennt zwar viele Optionen von
&man.wicontrol.8;, einige fehlen jedoch. Lesen Sie die
Dokumentation zu &man.ifconfig.8; für weitere
Informationen zu Parametern und Optionen.Unterstützte KartenZugangspunktDie einzigen Karten, die im BSS-Modus (das heißt als
Zugangspunkt) derzeit unterstützt werden, sind solche
mit Prism 2-, 2.5- oder 3-Chipsatz. Für eine
komplette Übersicht lesen Sie bitte &man.wi.4;.ClientsBeinahe alle 802.11b drahtlosen Karten werden von
FreeBSD unterstützt. Die meisten dieser Karten von
Prism, Spectrum24, Hermes, Aironet und Raylink arbeiten
als drahtlose Netzkarten im IBSS-Modus (ad-hoc,
Peer-to-Peer und BSS).StevePetersonGeschrieben von LAN-Kopplung mit einer BridgeEinführungSubnetzBridgeManchmal ist es nützlich, ein physikalisches Netzwerk
(wie ein Ethernetsegment) in zwei separate Netzwerke aufzuteilen,
ohne gleich IP-Subnetze zu erzeugen, die über einen Router
miteinander verbunden sind. Ein Gerät, das zwei Netze
auf diese Weise verbindet, wird als Bridge
bezeichnet. Jedes FreeBSD-System mit zwei Netzkarten kann
als Bridge fungieren.Die Bridge arbeitet, indem sie die MAC Layeradressen (Ethernet
Adressen) der Geräte in ihren Netzsegmenten lernt. Der
Verkehr wird nur dann zwischen zwei Netzsegmenten weitergeleitet,
wenn sich Sender und Empfänger in verschiedenen Netzsegmenten
befinden.In vielerlei Hinsicht entspricht eine Bridge daher einem
Ethernet-Switch mit sehr wenigen Ports.Situationen, in denen Bridging angebracht
istEine Bridge wird vor allem in folgenden zwei Situationen
verwendet.Hohes Datenaufkommen in einem SegmentIn der ersten Situation wird Ihr physikalisches Netz
mit Datenverkehr überschwemmt. Aus irgendwelchen
Gründen wollen Sie allerdings keine Subnetze verwenden,
die über einen Router miteinander verbunden sind.Stellen Sie sich einen Zeitungsverlag vor, in dem sich die
Redaktions- und Produktionsabteilungen in verschiedenen Subnetzen
befinden. Die Redaktionsrechner verwenden den Server A für
Dateioperationen, und die Produktionsrechner verwenden den
Server B. Alle Benutzer sind über ein gemeinsames
Ethernet-LAN miteinander verbunden. Durch den hohen Datenverkehr
sinkt die Geschwindigkeit des gesamten Netzwerks.Würde man die Redaktionsrechner und die
Produktionsrechner in separate Netzsegmente auslagern,
könnte man diese beiden Segmente über eine Bridge
verbinden. Nur der für Rechner im anderen
Segment bestimmte Verkehr wird dann über die Brigde in
das andere Netzsegment geleitet. Dadurch verringert sich das
Gesamtdatenaufkommen in beiden Segmenten.Filtering/Traffic Shaping Firewall
-
+
FirewallIP-MasqueradingDie zweite häufig anzutreffende Situation tritt auf,
wenn Firewallfunktionen benötigt werden, ohne dass
IP-Maskierung (NAT - Network Adress Translation) verwendet wird.Ein Beispiel dafür wäre ein kleines Unternehmen,
das über DSL oder ISDN an ihren ISP angebunden ist. Es
verfügt über 13 weltweit erreichbare IP-Adressen, und
sein Netzwerk besteht aus 10 Rechnern. In dieser Situation ist
die Verwendung von Subnetzen sowie einer routerbasierten Firewall
schwierig.RouterDSLISDN
-
+
Eine brigdebasierte Firewall kann konfiguriert und in den
ISDN/DSL-Downstreampfad ihres Routers eingebunden werden, ohne
sich um IP-Adressen kümmern zu müssen.Die LAN-Kopplung konfigurierenAuswahl der NetzkartenEine Bridge benötigt mindestens zwei Netzkarten.
Leider sind unter FreeBSD 4.x nicht alle verfügbaren
Netzkarten dafür geeignet. Lesen Sie &man.bridge.4;, um
sich über Details der unterstützten Karten zu
informieren.Installieren und testen Sie beide Netzkarten, bevor Sie
fortfahren.Anpassen der Kernelkonfiguration
-
+
KernelkonfigurationKernelkonfigurationoptions BRIDGEUm die Kernelunterstützung für die LAN-Kopplung
zu aktivieren, fügen Sieoptions BRIDGEin Ihre Kernelkonfigurationsdatei ein, und erzeugen einen
neuen Kernel.Firewallunterstützung
-
+
Firewall
-
+
Wenn Sie die Bridge als Firewall verwenden wollen, müssen
Sie zusätzlich die Option IPFIREWALL
einfügen. Für weitere Informationen zur Konfiguration
der Bridge als Firewall lesen Sie bitte den entsprechenden Abschnitt
des Handbuchs ().Wenn Sie Nicht-IP-Pakete (wie z.B. ARP) durch Ihre
Bridge leiten wollen, müssen Sie eine zusätzliche,
undokumentierte Option verwenden. Es handelt sich um
IPFIREWALL_DEFAULT_TO_ACCEPT.
Beachten Sie aber, dass Ihre Firewall durch diese Option per
Voreinstellung alle Pakete akzeptiert. Sie sollten sich also
über die Auswirkungen dieser Option im Klaren sein,
bevor Sie sie verwenden.Unterstützung für Traffic ShapingWenn Sie die Bridge als Traffic-Shaper verwenden wollen,
müssen Sie die Option DUMMYNET in
Ihre Kernelkonfigurationsdatei einfügen. Lesen Sie
&man.dummynet.4;, um weitere Informationen zu erhalten.Die LAN-Kopplung aktivierenFügen Sie die Zeilenet.link.ether.bridge=1in /etc/sysctl.conf ein, um die Bridge
zur Laufzeit zu aktivieren, sowie die Zeilenet.link.ether.bridge_cfg=if1,if2um die LAN-Kopplung für die festgelegten Geräte
zu ermöglichen (ersetzen Sie dazu if1
und if2 mit den Namen Ihrer Netzkarten).
Wenn Sie die Datenpakete via &man.ipfw.8; filtern wollen, sollten
Sie zusätzlich Folgendes einfügen:net.link.ether.bridge_ipfw=1LeistungMeine Bridge/Firewall besteht aus einem Pentium90-System mit
einer 3Com 3C900B und einer 3Com 3C905B Netzkarte. Die
geschützte Seite des Netzwerks läuft im 10 mbps
Halbduplex-Modus, und die Verbindung zwischen der Bridge und
meinem Router (einem Cisco 675) läuft im 100 mbps
Fullduplex-Modus. Ohne aktivierte Paketfilterung habe ich
festgestellt, dass die Bridge Pings vom geschützten Netzwerk
zum Cisco-Router um etwa 0,4 Millisekunden verzögert.Sonstige InformationenWenn Sie via telnet auf die Bridge zugreifen
wollen, ist es in Ordnung, einer der beiden Netzkarten eine IP-Adresse
zuzuweisen. Es besteht Einigkeit darüber, dass es eine schlechte
Idee ist, beiden Karten eine IP-Adresse zuzuweisen.Wenn Sie verschiedene Bridges in Ihrem Netzwerk haben, kann es
dennoch nicht mehr als einen Weg zwischen zwei Arbeitsplätzen
geben. Das heißt, Spanning tree link Management wird nicht
unterstützt.NFS (Network File System)Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.Start und Betrieb von FreeBSD über ein
NetzwerkDieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.ISDN (Integrated Service Data Network)Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.NIS / YP (Network Information Service)Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.DHCP (Dynamic Host Configuration Protocol)Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.DNS (Domain Name Service)Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.NTP (Network Time Protocol)Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.NATD (Network Address Translation Daemon)Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.inetd Super-ServerDieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.Parallel Line IP (PLIP)Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.IPv6Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
bitte
das Original in englischer Sprache.
diff --git a/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml b/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml
index 902ebc6e25..bfa9a599c2 100644
--- a/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml
@@ -1,1884 +1,1884 @@
ChrisShumwayUmgeschrieben von UwePierauÜbersetzt von Grundlagen des &unix; Betriebssystems
-
+
ÜbersichtGrundlagenDas folgende Kapitel umfasst die grundlegenden Kommandos
und Funktionsweisen des Betriebssystems FreeBSD. Viel von dem folgenden
Material gilt auch für jedes andere &unix; System.
Falls Sie mit dem Material schon vertraut sind, können Sie dieses
Kapitel überlesen. Wenn FreeBSD neu für Sie ist, dann sollten
Sie dieses Kapitel auf jeden Fall aufmerksam lesen.Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes
wissen:wie Zugriffsrechte unter &unix; Systemen funktionieren,wie Sie Zugriffskontrolllisten für Dateisysteme
konfigurieren,was Prozesse, Dämonen und Signale sind,was eine Shell ist und wie Sie die Login Umgebung
ändern,wie Sie mit Texteditoren umgehen, undwie Sie in den Manualpages nach weiteren Informationen
suchen können,wie Sie mit virtuellen Konsolen umgehen.ZugriffsrechteUNIXFreeBSD, das ein direkter Abkömmling von BSD &unix; ist,
stützt sich auf mehrere Grundkonzepte von &unix; Systemen.
Das erste und ausgeprägteste: FreeBSD ist
ein Mehrbenutzer Betriebssystem. Das System ermöglicht,
dass mehrere Benutzer gleichzeitig an völlig verschiedenen
und unabhängigen Aufgaben arbeiten können. Es ist
verantwortlich für eine gerechte Auf- und Zuteilung von
Nachfragen nach Hardware- und Peripheriegeräten, Speicher
und CPU Zeit unter den Benutzern.Da das System mehrere Benutzer unterstützt, hat alles,
- was das System verwaltet, einen Satz von Rechten, die bestimmen,
- wer die jeweilige Ressource lesen, schreiben oder ausführen
+ was das System verwaltet, einen Satz von Rechten, die bestimmen,
+ wer die jeweilige Ressource lesen, schreiben oder ausführen
darf. Diese Zugriffsrechte stehen in zwei Achtergruppen, die in
drei Teile unterteilt sind: einen für den Besitzer der
Datei, einen für die Gruppe, zu der die Datei gehört
und einen für alle anderen. Die numerische Darstellung
sieht wie folgt aus:ZugriffsrechteDateizugriffsrechteWertZugriffsrechteAuflistung im Verzeichnis0Kein Lesen, Kein Schreiben, Kein Ausführen---1Kein Lesen, Kein Schreiben, Ausführen--x2Kein Lesen, Schreiben, Kein Ausführen-w-3Kein Lesen, Schreiben, Ausführen-wx4Lesen, Kein Schreiben, Kein Ausführenr--5Lesen, Kein Schreiben, Ausführenr-x6Lesen, Schreiben, Kein Ausführenrw-7Lesen, Schreiben, AusführenrwxlsVerzeichnisseSie können auf der Kommandozeile
von &man.ls.1; angeben, um eine ausführliche Verzeichnisauflistung
zu sehen, die in einer Spalte die Zugriffsrechte für den
Besitzer, die Gruppe und alle anderen enthält. Die erste
Spalte von ls -l könnte wie folgt
aussehen:-rw-r--r--
- Das erste Zeichen von links ist ein Symbol, welches angibt,
+ Das erste Zeichen von links ist ein Symbol, welches angibt,
ob es sich um eine normale Datei, ein Verzeichnis, ein
Character-Device, ein Socket oder irgendeine andere
Pseudo-Datei handelt. In diesem Beispiel zeigt - eine
normale Datei an. Die nächsten drei Zeichen,
dargestellt als rw-, ergeben die Rechte
für den Datei-Besitzer. Die drei Zeichen danach
r-- die Rechte der Gruppe, zu der die Datei
gehört. Die letzten drei Zeichen, r--,
geben die Rechte für den Rest der Welt an. Ein Minus
bedeutet, dass das Recht nicht gegeben ist. In diesem Fall
sind die Zugriffsrechte also: der Eigentümer kann die Datei
lesen und schreiben, die Gruppe kann lesen und alle anderen
können auch nur lesen. Entsprechend obiger Tabelle
wären die Zugriffsrechte für diese Datei
644, worin jede Ziffer die drei Teile der
Zugriffsrechte dieser Datei verkörpert.
- Das ist alles schön und gut, aber wie kontrolliert das
+ Das ist alles schön und gut, aber wie kontrolliert das
System die Rechte von Hardware Geräten? FreeBSD behandelt
die meisten Hardware Geräte als Dateien, welche Programme
öffnen, lesen und mit Daten beschreiben können wie
alle anderen Dateien auch. Diese Spezial-Dateien sind im
Verzeichnis /dev gespeichert.
- Verzeichnisse werden ebenfalls wie Dateien behandelt. Sie
+ Verzeichnisse werden ebenfalls wie Dateien behandelt. Sie
haben Lese-, Schreib- und Ausführ-Rechte. Das
Ausführungs-Bit hat eine etwas andere Bedeutung für
- ein Verzeichnis als für eine Datei. Die Ausführbarkeit
+ ein Verzeichnis als für eine Datei. Die Ausführbarkeit
eines Verzeichnisses bedeutet, dass in das Verzeichnis
zum Beispiel mit cd gewechselt werden kann.
Das bedeutet auch, dass in dem Verzeichnis auf Dateien, deren
Namen bekannt sind, zugegriffen werden kann, vorausgesetzt die
Zugriffsrechte der Dateien lassen dies zu.Das Leserecht auf einem Verzeichnis erlaubt es, sich den Inhalt
des Verzeichnisses anzeigen zu lassen. Um eine Datei mit bekanntem
Namen in einem Verzeichnis zu löschen, müssen auf dem
Verzeichnis Schreib- und Ausführ-Rechte
gesetzt sein.Es gibt noch mehr Rechte, aber die werden vor allem in
speziellen Umständen benutzt, wie zum Beispiel bei
SetUID-Binaries und Verzeichnissen mit gesetztem Sticky-Bit.
Mehr über Zugriffsrechte von Dateien und wie sie gesetzt werden,
finden Sie in &man.chmod.1;.TomRhodesBeigetragen von ACLZugriffskontrolllisten für DateisystemeZusammen mit anderen Verbesserungen des Dateisystems wie
Schnappschüsse gibt es ab FreeBSD 5.0
Zugriffskontrolllisten (access
control list, ACL).Zugriffskontrolllisten erweitern die normalen Zugriffsrechte
von &unix; Systemen in einer POSIX.1e-kompatiblen Art und Weise
und bieten feiner granulierte Sicherheitsmechanismen.Zugriffskontrolllisten für Dateisysteme werden mit der
nachstehenden Zeile in der Kernelkonfiguration aktiviert:options UFS_ACLDiese Option ist in der GENERIC-Konfiguration
aktiviert. Das System gibt eine Warnung aus, wenn ein Dateisystem mit
ACLs eingehangen werden soll und die
Unterstützung für ACLs nicht im Kernel
aktiviert ist. Das Dateisystem muss weiterhin erweiterte Attribute
zur Verfügung stellen, damit ACLs verwendet
werden können. Das neue UNIX-Dateisystem
UFS2 stellt diese Attribute
standardmäßig zur Verfügung.Die Konfiguration erweiterter Attribute auf
UFS1 ist mit einem höheren Aufwand als die
Konfiguration erweiterter Attribute auf UFS2
verbunden. Zudem ist UFS2 mit erweiterten
Attributen leistungsfähiger als UFS1.
Zugriffskontrolllisten sollten daher mit UFS2
verwendet werden.Die Angabe der Option in
/etc/fstab aktiviert Zugriffskontrolllisten
für ein Dateisystem. Die bevorzugte Möglichkeit ist
die Verwendung von Zugriffskontrolllisten mit &man.tunefs.8; (Option
), im Superblock des Dateisystems festzuschreiben.
Diese Möglichkeit hat mehrere Vorteile:Nochmaliges Einhängen eines Dateisystems (Option
von &man.mount.8;) verändert den Status
der Zugriffskontrolllisten nicht. Die Verwendung von
Zugriffskontrolllisten kann nur durch Abhängen und erneutes
Einhängen eines Dateisystems verändert werden. Das
heißt auch, dass Zugriffskontrolllisten nicht
nachträglich auf dem Root-Dateisystem aktiviert werden
können.Die Zugriffskontrolllisten auf den Dateisystemen sind,
unabhängig von den Option in /etc/fstab
oder Namensänderungen der Geräte, immer aktiv. Dies
verhindert auch, dass Zugriffskontrolllisten aus Versehen
auf Dateisystem ohne Zugriffskontrolllisten aktiviert werden und
durch falsche Zugriffsrechte Sicherheitsprobleme entstehen.Es kann sein, dass sich der Status von Zugriffskontrolllisten
später durch nochmaliges Einhängen des Dateisystems
(Option von &man.mount.8;) ändern
lässt. Die momentane Variante ist aber sicherer, da der
Status der Zugriffskontrolllisten nicht versehentlich geändert
werden kann. Allgemein sollten Zugriffskontrolllisten auf einem
Dateisystem, auf dem sie einmal verwendet wurden, nicht deaktiviert
werden, da danach die Zugriffsrechte falsch sein können.
Werden Zugriffskontrolllisten auf einem solchen Dateisystem wieder
aktiviert, werden die Zugriffsrechte von Dateien, die sich
zwischenzeitlich geändert haben, überschrieben, was zu
erneuten Problemen führt.Die Zugriffsrechte einer Datei werden durch ein
+ (Plus) gekennzeichnet, wenn die Datei durch
Zugriffskontrolllisten geschützt ist:drwx------ 2 robert robert 512 Dec 27 11:54 private
drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1
drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2
drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3
drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_htmlDie Verzeichnisse directory1,
directory2 und directory3
sind durch Zugriffskontrolllisten geschützt, das Verzeichnis
public_html nicht.Verzeichnis-StrukturenVerzeichnis HierarchienDie FreeBSD Verzeichnis Hierarchie ist die Grundlange, um
ein umfassendes Verständnis des Systems zu erlangen.
Das wichtigste Konzept, das Sie verstehen sollten, ist das
Root-Verzeichnis /. Dieses Verzeichnis ist das
erste, das während des Bootens eingehangen wird. Es
enthält das notwendige Basissystem, um das System in den
Mehrbenutzerbetrieb zu bringen. Das Root-Verzeichnis enthält
auch die Mountpunkte anderer Dateisysteme, die später
eingehangen werden.
-
+
Ein Mountpunkt ist ein Verzeichnis, in das zusätzliche
Dateisysteme in das / Verzeichnis eingepflanzt
werden können.
- Standard Mountpunkte beinhalten /usr,
- /var, /mnt und
+ Standard Mountpunkte beinhalten /usr,
+ /var, /mnt und
/cdrom. Auf diese Verzeichnisse verweisen
üblicherweise Einträge in der Datei
/etc/fstab. /etc/fstab ist
eine Tabelle mit verschiedenen Dateisystemen und Mountpunkten
- als Referenz des Systems. Die meisten der Dateisysteme in
- /etc/fstab werden beim Booten automatisch
+ als Referenz des Systems. Die meisten der Dateisysteme in
+ /etc/fstab werden beim Booten automatisch
durch das Skript &man.rc.8; gemountet, wenn die zugehörigen
Einträge nicht mit der Option
versehen sind. Konsultieren Sie die &man.fstab.5; Manualpage
für mehr Informationen über das Format der Datei
/etc/fstab und den Optionen darin.Eine vollständige Beschreibung der Dateisystem-Hierarchie
finden Sie in &man.hier.7;. Als Beispiel sei eine kurze
Übersicht über die gebräuchlisten Verzeichnisse
gegeben:VerzeichnisBeschreibung/Root-Verzeichnis des Dateisystems.
-
+
/bin/Grundlegende Werkzeuge für den Single-User-Modus
sowie den Mehrbenutzerbetrieb.
-
+
/boot/Programme und Konfigurationsdateien, die während
des Bootens benutzt werden.
-
+
/boot/defaults/Vorgaben für die Boot-Konfiguration, siehe
&man.loader.conf.5;.
-
+
/dev/Gerätedateien, siehe &man.intro.4;.
-
+
/etc/Konfigurationsdateien und Skripten des Systems.
-
+
/etc/defaults/Vorgaben für die System Konfigurationsdateien,
siehe &man.rc.8;.
-
+
/etc/mail/Konfigurationsdateien von MTAs wie
&man.sendmail.8;.
-
+
/etc/namedb/Konfigurationsdateien von named,
siehe &man.named.8;.
-
+
/etc/periodic/Täglich, wöchentlich oder monatlich
ablaufende Skripte, die von &man.cron.8; gestartet werden.
Siehe &man.periodic.8;.
-
+
/etc/ppp/Konfigurationsdateien von ppp,
siehe &man.ppp.8;.
-
+
/mnt/Ein leeres Verzeichnis, das von Systemadministratoren
häufig als temporärer Mountpunkt genutzt wird.
-
+
/proc/Prozess Dateisystem, siehe &man.procfs.5;
und &man.mount.procfs.8;.
-
+
/root/Home Verzeichnis von root./sbin/Systemprogramme und administrative Werkzeuge, die
grundlegend für den Single-User-Modus und den
Mehrbenutzerbetrieb sind.
-
+
/stand/Programme, die ohne andere Programme oder Bibliotheken
laufen.
-
-
+
+
/tmp/Temporäre Dateien, die für gewöhnlich
nicht nach einem Reboot erhalten werden. Dies kann
ein speicherbasiertes Dateisystem, siehe &man.mfs.8;,
sein.
-
-
+
+
/usr/Der Großteil der Benutzerprogramme und
Anwendungen.
-
+
/usr/bin/Gebräuchliche Werkzeuge, Programmierhilfen und
Anwendungen.
-
+
/usr/include/Standard C include-Dateien.
-
+
/usr/lib/Bibliotheken.
-
-
+
+
/usr/libdata/Daten verschiedener Werkzeuge.
-
+
/usr/libexec/System-Dämonen und System-Werkzeuge, die von
anderen Programmen ausgeführt werden.
-
+
/usr/local/Lokale Programme, Bibliotheken usw. Die Ports-Sammlung
benutzt dieses Verzeichnis als Zielverzeichnis für zu
installierende Anwendungen. Innerhalb von
/usr/local sollte das von
- &man.hier.7; beschriebene Layout für
+ &man.hier.7; beschriebene Layout für
/usr benutzt werden. Das
man Verzeichnis wird direkt unter
- /usr/local anstelle unter
+ /usr/local anstelle unter
/usr/local/share angelegt. Die
Dokumentation der Ports findet sich in
share/doc/port.
-
+
/usr/obj/Von der Architektur abhängiger Verzeichnisbaum,
der durch das Bauen von /usr/src
entsteht.
-
+
/usr/portsDie FreeBSD Ports-Sammlung (optional).
-
+
/usr/sbin/System-Dämonen und System-Werkzeuge, die von
Benutzern ausgeführt werden.
-
+
/usr/share/Von der Architektur unabhängige Dateien.
-
+
/usr/src/
- Quelldateien von BSD und/oder lokalen
+ Quelldateien von BSD und/oder lokalen
Ergänzungen.
-
+
/usr/X11R6/Optionale X11R6 Programme und Bibliotheken.
-
+
/var/Wird für mehrere Zwecke genutzt und enthält
Logdateien, temporäre Daten und Spooldateien.
-
+
/var/log/Verschiedene Logdateien des Systems.
-
+
/var/mail/Postfächer der Benutzer.
-
+
/var/spool/Verschiedene Spool-Verzeichnisse der Drucker- und
Mailsysteme.
-
+
/var/tmp/Temporäre Dateien, die über Reboots erhalten
bleiben.
-
+
/var/ypNIS maps.ProzesseDa FreeBSD ein Multitasking Betriebssystem ist, sieht es so aus,
als ob mehrere Prozesse zur gleichen Zeit laufen. Jedes Programm,
das zu irgendeiner Zeit läuft, wird
Prozess genannt. Jedes Kommando
startet mindestens einen Prozess. Einige Systemprozesse
laufen ständig und stellen die Funktion des Systems sicher.Jeder Prozess wird durch eine eindeutige Nummer identifiziert,
die Prozess-ID oder
PID genannt wird. Prozesse haben ebenso
wie Dateien einen Besitzer und eine Gruppe, die festlegen, welche
Dateien und Geräte der Prozess benutzen kann. Dabei
finden die vorher beschriebenen Zugriffsrechte Anwendung. Die meisten
Prozesse haben auch einen Elternprozess, der sie gestartet hat.
Wenn Sie in der Shell Kommandos eingeben, dann ist die Shell ein
Prozess und jedes Kommando, das Sie starten, ist auch ein
Prozess. Jeder Prozess, den Sie auf diese Weise starten,
besitzt den Shell-Prozess als Elternprozess. Die Ausnahme
hiervon ist ein spezieller Prozess, der init
heißt. init ist immer der erste Prozess
und hat somit die PID 1. init wird vom Kernel
beim Booten von FreeBSD gestartet.Die Kommandos &man.ps.1; und &man.top.1; sind besonders
nützlich, um sich die Prozesse auf einem System anzusehen.
&man.ps.1; zeigt eine statische Liste der laufenden Prozesse
und kann deren PID, Speicherverbrauch und die Kommandozeile, mit der
sie gestartet wurden und vieles mehr anzeigen. &man.top.1; zeigt alle
laufenden Prozesse an und aktualisiert die Anzeige, so dass
Sie Ihrem Computer bei der Arbeit zuschauen können.Normal zeigt Ihnen &man.ps.1; nur die laufenden Prozesse,
die Ihnen gehören. Zum Beispiel:&prompt.user; ps
PID TT STAT TIME COMMAND
298 p0 Ss 0:01.10 tcsh
7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
72210 p0 R+ 0:00.00 ps
390 p1 Is 0:01.14 tcsh
7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
6688 p3 IWs 0:00.00 tcsh
10735 p4 IWs 0:00.00 tcsh
20256 p5 IWs 0:00.00 tcsh
262 v0 IWs 0:00.00 -tcsh (tcsh)
270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
285 v0 S 0:38.45 /usr/X11R6/bin/sawfishWie Sie sehen, gibt &man.ps.1; mehrere Spalten aus. In der
PID Spalte findet sich die vorher besprochene
Prozess-ID. PIDs werden von 1 beginnend bis 99999 zugewiesen
und fangen wieder von vorne an, wenn die Grenze überschritten
wird. TT zeigt den Terminal, auf dem das
Programm läuft. STAT zeigt den Status
des Programms an und kann für die Zwecke dieser Diskussion ebenso
wie TT ignoriert werden. TIME
gibt die Zeit an, die das Programm auf der CPU gelaufen ist –
dies ist nicht unbedingt die Zeit, die seit dem Start des Programms
vergangen ist, da einige Programme viel Zeit mit dem Warten auf
bestimmte Dinge verbringen, bevor sie wirklich CPU-Zeit verbrauchen.
Unter der Spalte COMMAND finden Sie schließlich
die Kommandozeile, mit der das Programm gestartet wurde.&man.ps.1; besitzt viele Optionen, um die angezeigten Informationen
zu beeinflussen. Eine nützliche Kombination ist
auxww. Mit werden Information
über alle laufenden Prozesse und nicht nur Ihrer eigenen
angezeigt. Der Name des Besitzers des Prozesses, sowie Informationen
über den Speicherverbrauch werden mit
angezeigt. zeigt auch Dämonen-Prozesse an,
und veranlasst &man.ps.1; die komplette
Kommandozeile anzuzeigen, anstatt sie abzuschneiden, wenn sie
zu lang für die Bildschirmausgabe wird.Die Ausgabe von &man.top.1; sieht ähnlich aus:&prompt.user; top
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
47 processes: 1 running, 46 sleeping
CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
...Die Ausgabe ist in zwei Abschnitte geteilt. In den ersten
fünf Kopfzeilen finden sich die zuletzt zugeteilte PID, die
Systemauslastung (engl. load average),
die Systemlaufzeit (die Zeit seit dem letzten Reboot) und die
momentane Zeit. Die weiteren Zahlen im Kopf beschreiben wie viele
Prozesse momentan laufen (im Beispiel 47), wie viel Speicher
und Swap verbraucht wurde und wie viel Zeit das System in den
verschiedenen CPU-Modi verbringt.Darunter befinden sich einige Spalten mit ähnlichen
Informationen wie in der Ausgabe von &man.ps.1;. Wie im vorigen
Beispiel können Sie die PID, den Besitzer, die verbrauchte
CPU-Zeit und das Kommando erkennen. &man.top.1; zeigt auch den
Speicherverbrauch des Prozesses an, der in zwei Spalten aufgeteilt
ist. Die erste Spalte gibt den gesamten Speicherverbrauch des
Prozesses an, in der zweiten Spalte wird der aktuelle Verbrauch
angegeben. Netscape hat im gezeigten
Beispiel insgesamt 30 MB Speicher verbraucht. Momentan benutzt
es allerdings nur 9 MB.Die Anzeige wird von &man.top.1; automatisch alle zwei Sekunden
aktualisiert. Der Zeitraum kann mit eingestellt
werden.Dämonen, Signale und Stoppen von ProzessenWenn Sie einen Editor starten, können Sie ihn leicht bedienen
und Dateien laden. Sie können das, weil der Editor dafür
Vorsorge getroffen hat und auf einem Terminal
läuft. Manche Programme erwarten keine Eingaben von einem
Benutzer und lösen sich bei erster Gelegenheit von ihrem
Terminal. Ein Web-Server zum Beispiel verbringt den ganzen Tag
damit, auf Anfragen zu antworten und erwartet keine Eingaben von Ihnen.
Programme, die E-Mail von einem Ort zu einem anderen Ort transportieren
sind ein weiteres Beispiel für diesen Typ von Anwendungen.Wir nennen diese Programme Dämonen.
Dämonen stammen aus der griechischen Mythologie und waren
weder gut noch böse. Sie waren kleine dienstbare Geister,
die meistens nützliche Sachen für die Menschheit vollbrachten.
Ähnlich wie heutzutage Web-Server und Mail-Server nützliche
Dienste verrichten. Seit langer Zeit ist daher das BSD Maskottchen
dieser fröhlich aussehende Dämon mit Turnschuhen
und Dreizack.Programme, die als Dämon laufen, werden entsprechend einer
Konvention mit einem d am Ende benannt.
BIND ist der Berkeley Internet Name Daemon
und das tatsächlich laufende Programm heißt
named. Der Apache Webserver wird
httpd genannt, der Druckerspool-Dämon heißt
lpd usw. Dies ist allerdings eine Konvention
und keine unumstößliche Regel: Der Dämon der
Anwendung sendmail heißt
sendmail und nicht maild, wie
Sie vielleicht gedacht hatten.Manchmal müssen Sie mit einem Dämon kommunizieren und
dazu benutzen Sie Signale. Sie können
mit einem Dämonen oder jedem anderen laufenden Prozess
kommunizieren, indem Sie diesem ein Signal schicken. Sie können
verschiedene Signale verschicken – manche haben eine festgelegte
Bedeutung, andere werden von der Anwendung interpretiert. Die
Dokumentation zur fraglichen Anwendung wird erklären, wie
die Anwendung Signale interpretiert. Sie können nur Signale
zu Prozessen senden, die Ihnen gehören. Normale Benutzer haben
nicht die Berechtigung, Prozessen anderer Benutzer mit &man.kill.1;
oder &man.kill.2; Signale zu schicken. Der Benutzer
root darf jedem Prozess Signale schicken.In manchen Fällen wird FreeBSD Signale senden. Wenn eine
Anwendung schlecht geschrieben ist und auf Speicher zugreift, auf
den sie nicht zugreifen soll, so sendet FreeBSD dem Prozess
- das Segmentation Violation Signal
+ das Segmentation Violation Signal
(SIGSEGV). Wenn eine Anwendung den &man.alarm.3;
Systemaufruf benutzt hat, um nach einiger Zeit benachrichtigt zu
werden, bekommt sie das Alarm Signal (SIGALRM)
gesendet.Zwei Signale können benutzt werden, um Prozesse zu stoppen:
SIGTERM und SIGKILL. Mit
SIGTERM fordern Sie den Prozess höflich zum
Beenden auf. Der Prozess kann das Signal abfangen und merken,
dass er sich beenden soll. Er hat dann Gelegenheit Logdateien
zu schließen und die Aktion, die er vor der Aufforderung
sich zu beenden durchführte, abzuschließen. Er kann
sogar SIGTERM ignorieren, wenn er eine Aktion
durchführt, die nicht unterbrochen werden darf.SIGKILL kann von keinem Prozess ignoriert
werden. Das Signal lässt sich mit Mich interessiert
nicht, was du gerade machst, hör sofort auf damit!
umschreiben. Wenn Sie einem Prozess SIGKILL
schicken, dann wird FreeBSD diesen sofort beenden
Das stimmt nicht ganz: Es gibt Fälle, in denen ein Prozess
nicht unterbrochen werden kann. Wenn der Prozesss zum Beispiel
eine Datei von einem anderen Rechner auf dem Netzwerk liest und dieser
Rechner aus irgendwelchen Gründen nicht erreichbar ist
(ausgeschaltet, oder ein Netzwerkfehler), dann ist der Prozess
nicht zu unterbrechen. Wenn der Prozess den Lesezugriff
nach einem Timeout von typischerweise zwei Minuten aufgibt,
dann wir er beendet..Andere Signale, die Sie vielleicht verschicken wollen, sind
SIGHUP, SIGUSR1 und
SIGUSR2. Diese Signale sind für allgemeine
Zwecke vorgesehen und verschiedene Anwendungen werden unterschiedlich
auf diese Signale reagieren.Nehmen wir an, Sie haben die Konfiguration Ihres Webservers
verändert und möchten dies dem Server mitteilen. Sie
könnten den Server natürlich stoppen und
httpd wieder starten. Die Folge wäre eine
kurze Zeit, in der der Server nicht erreichbar ist. Die meisten
Dämonen lesen Ihre Konfigurationsdatei beim Empfang eines
SIGHUP neu ein. Da es keinen Standard gibt, der
vorschreibt, wie auf diese Signale zu reagieren ist, lesen
Sie bitte die Dokumentation zu dem in Frage kommenden Dämon.
-
+
Mit &man.kill.1; können Sie, wie unten gezeigt, Signale
verschicken.Verschicken von SignalenDas folgende Beispiel zeigt, wie Sie &man.inetd.8; ein Signal
schicken. Die Konfigurationsdatei von &man.inetd.8; ist
/etc/inetd.conf und &man.inetd.8; liest die
Konfigurationsdatei erneut ein, wenn er ein SIGHUP
empfängt.Suchen Sie die Prozess-ID des Prozesses, dem Sie ein Signal
schicken wollen. Benutzen Sie dazu &man.ps.1; und &man.grep.1;.
Mit &man.grep.1; können Sie in einer Ausgabe nach einem
String suchen. Da &man.inetd.8; unter dem Benutzer
root läuft und Sie das Kommando als
normaler Benutzer absetzen, müssen Sie &man.ps.1; mit
aufrufen:&prompt.user; ps -ax | grep inetd
198 ?? IWs 0:00.00 inetd -wWDie Prozess-ID von &man.inetd.8; ist 198. In einigen
Fällen werden Sie auch das grep inetd
Kommando in der Ausgabe sehen. Dies hat damit zu tun, wie
&man.ps.1; die Liste der laufenden Prozesse untersucht.Senden Sie das Signal mit &man.kill.1;. Da &man.inetd.8;
unter dem Benutzer root läuft, müssen
Sie zuerst mit &man.su.1; root werden:&prompt.user; suPassword:
&prompt.root; /bin/kill -s HUP 198&man.kill.1; wird, wie andere Kommandos von &unix; Systemen auch, keine Ausgabe
erzeugen, wenn das Kommando erfolgreich war. Wenn Sie versuchen,
einem Prozess, der nicht Ihnen gehört, ein Signal zu
senden, dann werden Sie die Meldung
kill: PID: Operation not
permitted sehen. Wenn Sie sich bei der Eingabe der
PID vertippen, werden Sie das Signal dem falschen Prozess
schicken, was schlecht sein kann. Wenn Sie Glück haben,
existiert der Prozess nicht und Sie werden mit der Ausgabe
kill: PID: No such
process belohnt.Warum soll ich /bin/kill benutzen?Viele Shells stellen kill als internes
Kommando zur Verfügung, das heißt die Shell sendet
das Signal direkt, anstatt /bin/kill
zu starten. Das kann nützlich sein, aber die
unterschiedlichen Shells benutzen eine verschiedene Syntax,
um die Namen der Signale anzugeben. Anstatt jede Syntax zu
lernen, kann es einfacher sein, /bin/kill
... direkt aufzurufen.Andere Signale senden Sie auf die gleiche Weise, ersetzen
Sie nur TERM oder KILL
entsprechend.Es kann gravierende Auswirkungen haben, wenn Sie zufällig
Prozesse beenden. Insbesondere &man.init.8; mit der Prozess-ID
ist ein Spezialfall. Mit /bin/kill -s KILL 1
können Sie Ihr System schnell herunterfahren.
Überprüfen Sie die Argumente von &man.kill.1;
immer zweimal bevor
Sie Return drücken.Anhängen und Abhängen von DateisystemenEin Dateisystem wird am besten als ein Baum mit der
Wurzel / veranschaulicht.
/dev, /usr, und
die anderen Verzeichnisse im Rootverzeichnis sind Zweige,
die wiederum eigene Zweige wie /usr/local
haben können.Root-DateisystemEs gibt verschiedene Gründe, bestimmte dieser Verzeichnisse
auf eigenen Dateisystemen anzulegen. /var
enthält log/, spool/
sowie verschiedene andere temporäre
Dateien und kann sich daher schnell füllen. Es empfiehlt sich,
/var von / zu trennen,
da es schlecht ist, wenn das Root-Dateisystem voll
läuft.Ein weiterer Grund bestimmte Verzeichnisbäume auf
andere Dateisysteme zu legen, ist gegeben, wenn sich die
Verzeichnisbäume auf gesonderten physikalischen oder
- virtuellen Platten, wie
+ virtuellen Platten, wie
Network File System
oder CD-ROM Laufwerken, befinden.Die fstab DateiDateisystemefstabWährend des Boot Prozesses
werden in /etc/fstab aufgeführte
Verzeichnisse, sofern sie nicht mit der Option
versehen sind, automatisch angehangen.Die Zeilen in /etc/fstab haben das
folgende Format:device/mount-pointfstypeoptionsdumpfreqpassnodeviceEin existierender Gerätename
wie in beschrieben.mount-pointEin existierendes Verzeichnis,
an das das Dateisystem angehangen wird.fstypeDer Typ des Dateisystems,
der an &man.mount.8; weitergegeben wird. Das default
FreeBSD Dateisystem ist ufs.optionsEntweder
für beschreibbare Dateisysteme oder
für schreibgeschützte Dateisysteme, gefolgt von
weiteren benötigten Optionen. Eine häufig verwendete
Option ist für Dateisysteme,
die während der normalen Bootsequenz nicht angehangen
- werden sollen. Weitere Optionen finden sich
+ werden sollen. Weitere Optionen finden sich
in &man.mount.8;.dumpfreqGibt die Anzahl der Tage an, nachdem das
Dateisystem gesichert werden soll. Fehlt der Wert, wird
0 angenommen.passnoBestimmt die Reihenfolge, in der die Dateisysteme
überprüft werden sollen. Für Dateisysteme,
die übersprungen werden sollen, ist
passno auf null zu setzen. Für das
Root-Dateisystem, das vor allen anderen überprüft
werden muss, sollte der Wert von
passno eins betragen. Allen anderen
Dateisystemen sollten Werte größer eins zugewiesen
werden. Wenn mehrere Dateisysteme den gleichen Wert
besitzen, wird &man.fsck.8; versuchen, diese parallel zu
überprüfen.Das mount KommandoDateisystemeanhängen
- &man.mount.8; hängt schließlich Dateisysteme
+ &man.mount.8; hängt schließlich Dateisysteme
an.In der grundlegenden Form wird es wie folgt benutzt:&prompt.root; mount devicemountpointViele Optionen werden in &man.mount.8; beschrieben,
die am häufigsten verwendeten sind:Mount OptionenHängt alle Dateisysteme aus
/etc/fstab an. Davon ausgenommen
sind Dateisysteme, die mit noauto markiert
sind, die mit der Option ausgeschlossen
wurden und Dateisysteme, die schon angehangen sind.Führt den entsprechenden Systemcall nicht aus.
Nützlich ist diese Option in Verbindung
mit . Damit wird angezeigt, was
&man.mount.8; tatsächlich versuchen
würde, um das Dateisystem anzuhängen.Erzwingt das Anhängen eines unsauberen Dateisystems
oder erzwingt die Rücknahme des Schreibzugriffs, wenn
- der Status des Dateisystems von beschreibbar auf
+ der Status des Dateisystems von beschreibbar auf
schreibgeschützt geändert wird.Hängt das Dateisystem schreibgeschützt an. Das
kann auch durch Angabe von zu der
Option erreicht werden.fstypeHängt das Dateisystem mit dem angegebenen Typ an,
oder hängt nur Dateisysteme mit dem angegebenen Typ
an, wenn auch angegeben
wurde.Die Voreinstellung für den Typ des Dateisystems
ist ufs.Aktualisiert die Mountoptionen des Dateisystems.Geschwätzig sein.Hängt das Dateisystem beschreibbar an. erwartet eine durch Kommata separierte Liste
von Optionen, unter anderem die folgenden:nodevBeachtet keine Gerätedateien auf dem Dateisystem.
Dies ist eine nützliche Sicherheitsfunktion.noexecVerbietet das Ausführen von binären
Dateien auf dem Dateisystem. Dies ist eine
nützliche Sicherheitsfunktion.nosuidSetUID und SetGID Bits werden auf dem Dateisystem
nicht beachtet. Dies ist eine nützliche
Sicherheitsfunktion.Das umount KommandoDateisystemeabhängen&man.umount.8; akzeptiert als Parameter entweder
einen Mountpoint, einen Gerätenamen, oder die
Optionen oder .Jede Form akzeptiert , um das
Abhängen zu erzwingen, und , um
etwas geschwätziger zu sein. Seien Sie bitte vorsichtig mit
: Ihr Computer kann abstürzen oder es
können Daten auf dem Dateisystem beschädigt werden, wenn
Sie das Abhängen erzwingen. und werden benutzt
um alle Dateisysteme, deren Typ durch
modifiziert werden kann, abzuhängen.
hängt das Rootdateisystem nicht ab.ShellsShellsKommandozeileVon der tagtäglichen Arbeit mit FreeBSD wird eine Menge
mit der Kommandozeilen Schnittstelle der Shell erledigt. Die
Hauptaufgabe einer Shell besteht darin, Kommandos der Eingabe
anzunehmen und diese auszuführen. Viele Shells haben
außerdem eingebaute Funktionen, die die tägliche
Arbeit erleichtern, beispielsweise eine Dateiverwaltung,
die Vervollständigung von Dateinamen (Globbing), einen
- Kommandozeileneditor, sowie Makros und Umgebungsvariablen. FreeBSD
+ Kommandozeileneditor, sowie Makros und Umgebungsvariablen. FreeBSD
enthält die Shells sh (die Bourne Shell) und
tcsh (die verbesserte C-Shell) im Basissystem.
Viele andere Shells, wie zsh oder
bash, befinden sich in der Ports-Sammlung.Welche Shell soll ich benutzen? Das ist wirklich eine
Geschmacksfrage. Sind Sie ein C Programmierer, finden Sie
vielleicht eine C-artige Shell wie die tcsh
angenehmer. Kommen Sie von Linux oder ist Ihnen der Umgang mit &unix; Systemen
neu, so könnten Sie die bash probieren.
Der Punkt ist, dass
jede Shell ihre speziellen Eigenschaften hat, die mit Ihrer
bevorzugten Arbeitsumgebung harmonieren können oder nicht.
Sie müssen sich eine Shell aussuchen.Ein verbreitetes Merkmal in Shells ist die
Dateinamen-Vervollständigung. Sie müssen nur einige
Buchstaben eines Kommandos oder eines Dateinamen eingeben und
die Shell vervollständigt den Rest automatisch durch
drücken der Tab-Taste. Hier ist ein Beispiel.
Angenommen, Sie
haben zwei Dateien foobar und
foo.bar. Die Datei
foo.bar möchten Sie löschen. Nun
- würden Sie an der Tastatur eingeben:
+ würden Sie an der Tastatur eingeben:
rm fo[Tab].
[Tab].Die Shell würde dann rm
foo[BEEP].bar ausgeben.[BEEP] meint den Rechner-Piepser. Diesen gibt die Shell
aus, um anzuzeigen, dass es den Dateinamen nicht
vervollständigen konnte, da es mehrere Möglichkeiten
gibt. Beide Dateien foobar und
foo.bar beginnen mit fo,
so konnte nur bis foo ergänzt werden.
Nachdem Sie . eingaben und dann die
Tab-Taste
- drückten, konnte die Shell den Rest für Sie
+ drückten, konnte die Shell den Rest für Sie
ausfüllen.UmgebungsvariablenEin weiteres Merkmal der Shell ist der Gebrauch von
Umgebungsvariablen. Dies sind veränderbare Schlüsselpaare
im Umgebungsraum der Shell, die jedes von der Shell aufgerufene
Programm lesen kann. Daher enthält der Umgebungsraum viele
Konfigurationsdaten für Programme. Die folgende Liste zeigt
verbreitete Umgebungsvariablen und was sie bedeuten:UmgebungsvariablenVariableBeschreibungUSERName des angemeldeten Benutzers.PATH
- Liste mit Verzeichnissen (getrennt durch Doppelpunkt)
+ Liste mit Verzeichnissen (getrennt durch Doppelpunkt)
zum Suchen nach Programmen.DISPLAYWenn gesetzt der Netzwerkname des X11 Bildschirms
für die Anzeige.SHELLDie aktuelle Shell.TERMName des Terminals des Benutzers. Benutzt, um die
Fähigkeiten des Terminals bestimmen.TERMCAPDatenbankeintrag der Terminal Escape Codes,
benötigt um verschieden Terminalfunktionen
auszuführen.OSTYPETyp des Betriebsystems. Z.B., FreeBSD.MACHTYPE
- Die CPU Architektur auf dem das System
+ Die CPU Architektur auf dem das System
läuft.EDITORVom Benutzer bevorzugter Text-Editor.PAGERVom Benutzer bevorzugter Text-Betrachter.MANPATH
- Liste mit Verzeichnissen (getrennt durch Doppelpunkt)
+ Liste mit Verzeichnissen (getrennt durch Doppelpunkt)
zum Suchen nach Manualpages.Das Setzen von Umgebungsvariablen funktioniert
von Shell zu Shell unterschiedlich. Zum Beispiel benutzt man
in C-artigen Shells wie der tcsh dazu
setenv. Unter Bourne-Shells wie sh
oder bash benutzen Sie zum Setzen von
Umgebungsvariablen export. Um
- beispielsweise die Variable EDITOR mit
+ beispielsweise die Variable EDITOR mit
csh oder tcsh auf
/usr/local/bin/emacs zu setzen, setzen Sie das
folgende Kommando ab:&prompt.user; setenv EDITOR /usr/local/bin/emacsUnter Bourne-Shells:&prompt.user; export EDITOR="/usr/local/bin/emacs"Sie können die meisten Shells Umgebungsvariablen
- expandieren lassen, in dem Sie in der Kommandozeile ein
- $ davor eingeben. Zum Beispiel gibt
- echo $TERM aus, worauf $TERM
+ expandieren lassen, in dem Sie in der Kommandozeile ein
+ $ davor eingeben. Zum Beispiel gibt
+ echo $TERM aus, worauf $TERM
gesetzt ist, weil die Shell $TERM expandiert
und das Ergebnis an echo gibt.Shells behandeln viele Spezialzeichen, so genannte
Metazeichen, als besondere Darstellungen für Daten.
Das allgemeinste ist das Zeichen *, das eine
beliebige Anzahl Zeichen in einem Dateinamen repräsentiert.
Diese Metazeichen können zum Vervollständigen von
Dateinamen (Globbing) benutzt werden. Beispielsweise liefert
- das Kommando echo * nahezu das gleiche
+ das Kommando echo * nahezu das gleiche
wie die Eingabe von ls, da die Shell alle
Dateinamen die mit * übereinstimmen, an
echo weitergibt.Um zu verhindern, dass die Shell diese Sonderzeichen
interpretiert, kann man sie schützen, indem man ihnen einen
Backslash (\) voranstellt. echo
$TERM gibt aus, auf was auch immer Ihr Terminal
- gesetzt ist. echo \$TERM gibt
+ gesetzt ist. echo \$TERM gibt
$TERM genauso aus, wie es hier steht.Ändern der ShellDer einfachste Weg Ihre Shell zu ändern, ist das
- Kommando chsh zu benutzen.
+ Kommando chsh zu benutzen.
chsh platziert Sie im Editor, welcher durch
Ihre Umgebungsvariable EDITOR gesetzt ist,
im vi wenn die Variable nicht gesetzt ist.
Ändern Sie die Zeile mit Shell:
entsprechend Ihren Wünschen.Sie können auch chsh mit der Option
aufrufen, dann wird Ihre Shell gesetzt,
ohne dass Sie in einen Editor gelangen. Um Ihre Shell
zum Beispiel auf die bash zu ändern,
geben Sie das folgende Kommando ein:
-
+
&prompt.user; chsh -s /usr/local/bin/bashDasselbe Ergebnis hätten Sie erzielt, wenn Sie einfach
chsh ohne Optionen aufgerufen und die
entsprechende Zeile editiert hätten.
- Die von Ihnen gewünschte Shell
- muss in /etc/shells
+ Die von Ihnen gewünschte Shell
+ muss in /etc/shells
aufgeführt sein. Haben Sie eine Shell aus der
Ports Sammlung installiert,
sollte das schon automatisch erledigt werden. Installierten
Sie die Shell von Hand, so müssen Sie sie dort
eintragen.
-
+
Haben Sie beispielsweise die bash nach
/usr/local/bin installiert, wollen Sie
dies tun:&prompt.root; echo "/usr/local/bin/bash" >> /etc/shellsDanach können Sie chsh aufrufen.Text EditorenText EditorenEditorenEine Menge der Konfiguration bei FreeBSD wird durch
das Editieren von Textdateien erledigt. Deshalb ist es eine
gute Idee, mit einem Texteditor vertraut zu werden. FreeBSD hat
ein paar davon im Basissystem und sehr viel mehr in der Ports
Sammlung.eeDer am leichtesten und einfachsten zu erlernende Editor nennt
sich ee, was für
easy editor steht.
Um ee zu starten, gibt man in der
Kommandozeile ee filename ein, worin
filename der Name der zu editierenden Datei
ist. Um zum Beispiel /etc/rc.conf zu
editieren, tippen Sie ee /etc/rc.conf.
Einmal im Editor, finden Sie alle Editor-Funktionen oben im
- Display aufgelistet. Das Einschaltungszeichen
+ Display aufgelistet. Das Einschaltungszeichen
^ steht für die Ctrl (oder
Strg) Taste, mit ^e ist also die
Tastenkombination Ctrle
gemeint. Um ee zu verlassen, drücken
Sie Esc und wählen dann aus. Der Editor fragt nach, ob Sie speichern
möchten, wenn die Datei verändert wurde.viText EditorenviemacsText EditorenemacsFreeBSD verfügt über leistungsfähigere
Editoren wie vi als Teil des
- Basissystems, andere Editoren wie emacs oder
+ Basissystems, andere Editoren wie emacs oder
vim sind Teil der Ports Sammlung.
Diese Editoren bieten höhere Funktionalität und
Leistungsfähigkeit jedoch auf Kosten einer etwas
- schwierigeren Erlernbarkeit. Wenn Sie viel
+ schwierigeren Erlernbarkeit. Wenn Sie viel
Textdateien editieren werden, sparen Sie auf lange Sicht mehr
Zeit durch das Erlernen von Editoren wie
vim oder
emacs ein.Geräte und GerätedateienDer Begriff Gerät wird meist in Verbindung mit Hardware
wie Laufwerken, Druckern, Grafikkarten oder Tastaturen gebraucht.
Der Großteil der Meldungen, die beim Booten von FreeBSD angezeigt
werden, beziehen sich auf gefundene Geräte. Sie können sich
die Bootmeldungen später in /var/run/dmesg.boot
ansehen.Gerätenamen, die Sie wahrscheinlich in den Bootmeldungen sehen
werden, sind zum Beispiel acd0, das erste
IDE CD-ROM oder kbd0, die Tastatur.Auf die meisten Geräte wird unter &unix; Systemen über spezielle
Gerätedateien im /dev Verzeichnis
zugegriffen.Anlegen von GerätedateienWenn sie ein neues Gerät zu Ihrem System hinzufügen,
oder die Unterstützung für zusätzliche Geräte
kompilieren, müssen oft ein oder mehrere Gerätedateien
erstellt werden.MAKEDEV SkriptAuf Systemen ohne DEVFS (das sind alle
Systeme vor FreeBSD 5.0) müssen Gerätedateien mit
&man.MAKEDEV.8; wie unten gezeigt angelegt werden:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV ad1Im Beispiel werden alle Gerätedateien für das
zweite IDE Laufwerk angelegt.DEVFS (Gerätedateisystem)Das Gerätedateisystem DEVFS
ermöglicht durch den
Namensraum des Dateisystems Zugriff auf den Namensraum der
Geräte im Kernel. Damit müssen Gerätedateien
nicht mehr extra angelegt werden, sondern werden von
DEVFS verwaltet.Weitere Informationen finden Sie in &man.devfs.5;.In der Grundeinstellung benutzt FreeBSD 5.0
DEVFS.Virtuelle Konsolen und TerminalsVirtuelle KonsoleTerminalSie können FreeBSD mit einem Terminal benutzen, der nur Text
darstellen kann. Wenn Sie FreeBSD auf diese Weise benutzen, stehen
Ihnen alle Möglichkeiten eines &unix; Betriebssystems zur
Verfügung. Dieser Abschnitt beschreibt was Terminals und
Konsolen sind und wie sie unter FreeBSD eingesetzt werden.Die KonsoleKonsoleWenn Ihr FreeBSD System ohne eine graphische
Benutzeroberfläche startet, wird am Ende des Systemstarts,
nachdem die Startskripten gelaufen sind, ein Anmeldeprompt
ausgegeben. Die letzten Startmeldungen sollten ähnlich wie
die Folgenden aussehen:Additional ABI support:.
Local package initialization:.
Additional TCP options:.
Fri Sep 20 13:01:06 EEST 2002
FreeBSD/i386 (pc3.example.org) (ttyv0)
login:Beachten Sie die letzten beiden Zeilen der Ausgabe, die
vorletzte lautet:FreeBSD/i386 (pc3.example.org) (ttyv0)Diese Zeile enthält einige Informationen über das
gerade gestartete System. Die Ausgabe stammt von der
FreeBSD-Konsole einer Maschine mit einem Intel oder
Intel-kompatiblen Prozessor der x86-ArchitekturGenau das ist mit i386 gemeint. Auch
wenn Ihr System keine Intel 386 CPU besitzt, wird
i386 ausgegeben. Es wird immer die
Architektur und nicht der Typ des Prozessors ausgegeben.. Der Name des Systems (jedes &unix; System besitzt
einen Namen) ist pc3.example.org und die Ausgabe
stammt von der Systemkonsole, dem Terminal
ttyv0.Das Ende der Ausgabe ist immer die Aufforderung zur Eingabe
eines Benutzernamens:login:Der Anmeldevorgang wird im nächsten Abschnitt
erläutert.Der AnmeldevorgangFreeBSD ist ein Mehrbenutzersystem, das Multitasking
unterstützt. Das heißt mehrere Benutzer können
gleichzeitig viele Programme auf einem System laufen lassen.Jedes Mehrbenutzersystem muss die Benutzer voneinander
unterscheiden können. In FreeBSD und allen anderen &unix;
Betriebssystemen wird dies dadurch erreicht, dass sich die
Benutzer anmelden müssen, bevor sie Programme laufen lassen
können. Jeder Benutzer besitzt einen eindeutigen Namen (den
Account) und ein dazugehörendes Passwort, die beide bei
der Anmeldung abgefragt werden.StartskriptenNachdem FreeBSD gestartet ist und die StartskriptenStartskripten sind Programme, die FreeBSD automatisch bei
jedem Startvorgang ausführt. Der Zweck der Skripten
besteht darin, das System zu konfigurieren und nützliche
Dienste im Hintergrund zu starten., gelaufen sind, erscheint eine Aufforderung zur Eingabe
des Benutzernamens:login:Wenn Ihr Benutzername beispielsweise john
ist, geben Sie jetzt john gefolgt von
Enter ein. Sie sollten dann eine Aufforderung zur
Eingabe des Passworts erhalten:login: john
Password:Geben Sie jetzt das Passwort von john
gefolgt von Enter ein. Das Passwort wird aus
Sicherheitsgründen nicht auf dem Bildschirm angezeigt.Wenn Sie das richtige Passwort eingegeben haben, sind Sie
am System angemeldet und können nun alle verfügbaren
Kommandos absetzen.Virtuelle KonsolenDa FreeBSD mehrere Programme gleichzeitig laufen lassen kann,
ist eine einzige Konsole, an der Kommandos abgesetzt werden
können, zu wenig. Abhilfe schaffen virtuelle Konsolen, die
mehrere Konsolen zur Verfügung stellen.Die Anzahl der virtuellen Konsolen unter FreeBSD können Sie
einstellen. Zwischen den einzelnen Konsolen können Sie mit
speziellen Tastenkombinationen wechseln. Jede Konsole verfügt
über einen eigenen Ausgabekanal und FreeBSD ordnet die
Tastatureingaben und Monitorausgaben der richtigen Konsole zu, wenn
Sie zwischen den Konsolen wechseln.Zum Umschalten der Konsolen stellt FreeBSD spezielle
Tastenkombinationen bereitEine recht technische und genaue Beschreibung der FreeBSD
Konsole und der Tastatur-Treiber finden Sie in den Hilfeseiten
&man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; und
&man.kbdcontrol.1;. Lesen Sie diese Seiten, wenn Sie an den
Einzelheiten interessiert sind.. Benutzen Sie
AltF1,
AltF2 bis
AltF8,
um zwischen den verschiedenen Konsolen umzuschalten.Wenn Sie zu einer anderen Konsole wechseln, sichert FreeBSD den
Bildschirminhalt und gibt den Bildschirminhalt der neuen Konsole
aus. Dies erzeugt die Illusion mehrerer Bildschirme und
Tastaturen, an denen Sie Kommandos absetzen können. Wenn eine
Konsole nicht sichtbar ist, weil Sie auf eine andere Konsole
gewechselt haben, laufen die dort abgesetzten Kommandos
weiter./etc/ttysIn der Voreinstellung stehen unter FreeBSD acht virtuelle
Konsolen zur Verfügung, deren Anzahl Sie leicht erhöhen
oder erniedrigen können. Die Anzahl und Art der Konsolen wird
in /etc/ttys eingestellt.Jede Zeile in /etc/ttys, die nicht mit
# anfängt, konfiguriert einen Terminal oder
eine virtuelle Konsole. In der Voreinstellung werden in dieser
Datei neun virtuelle Konsolen definiert, von denen acht aktiviert
sind. Die Konsolen sind in den Zeilen, die mit
ttyv beginnen, definiert:# name getty type status comments
#
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secureDie Hilfeseite &man.ttys.5; enthält eine ausführliche
Beschreibung der Spalten dieser Datei und der Optionen, die Sie zum
Konfigurieren der virtuellen Konsolen benutzen können.Die Konsole im Single-User-ModusEine eingehende Beschreibung des Single-User-Modus finden Sie
in . Im Single-User-Modus steht
Ihnen nur eine Konsole zur Verfügung.
Die Definition dieser Konsole befindet sich ebenfalls in
/etc/ttys. Suchen Sie nach einer Zeile, die
mit console beginnt:# name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none unknown off secureIn der Zeile, die mit console beginnt,
können Sie secure durch
insecure ersetzen. Wenn Sie danach in den
Single-User-Modus booten, verlangt das System ebenfalls die
Eingabe des root-Passworts.Setzen Sie insecure nicht
leichtfertig ein. Wenn Sie das Passwort von
root vergessen, wird es schwierig, in den
Single-User-Modus zu gelangen, wenn Sie den FreeBSD
Boot-Prozess nicht genau verstehen.Weitere InformationenManualpagesManualpagesDie umfassendste Dokumentation rund um FreeBSD gibt es in
Form von Manualpages. Annähernd jedes Programm im System
bringt eine kurze Referenzdokumentation mit, die die
- grundsätzliche Funktion und verschiedene Parameter
- erklärt. Diese Dokumentationen kann man mit dem
- man Kommando benutzen. Die Benutzung des
+ grundsätzliche Funktion und verschiedene Parameter
+ erklärt. Diese Dokumentationen kann man mit dem
+ man Kommando benutzen. Die Benutzung des
man Kommandos ist einfach:&prompt.user; man KommandoKommando ist der Name des Kommandos,
über das Sie etwas erfahren wollen. Um beispielsweise
mehr über das Kommando ls zu lernen,
geben Sie ein:&prompt.user; man lsDie Online-Dokumentation ist in nummerierte Sektionen
unterteilt:Benutzerkommandos.Systemaufrufe und Fehlernummern.Funktionen der C Bibliothek.Gerätetreiber.Dateiformate.Spiele und andere Unterhaltung.Verschiedene Informationen.Systemverwaltung und -Kommandos.Kernel Entwickler.In einigen Fällen kann dasselbe Thema in mehreren
Sektionen auftauchen. Es gibt zum Beispiel ein chmod
Benutzerkommando und einen chmod()
Systemaufruf. In diesem Fall können Sie dem
man Kommando
sagen, aus welcher Sektion Sie die Information erhalten
möchten, indem Sie die Sektion mit angeben:&prompt.user; man 1 chmodDies wird Ihnen die Manualpage für das Benutzerkommando
chmod zeigen. Verweise auf eine Sektion
der Manualpages werden traditionell in Klammern
gesetzt. So bezieht sich &man.chmod.1; auf das
Benutzerkommando chmod und mit
&man.chmod.2; ist der Systemaufruf gemeint.Das ist nett, wenn Sie den Namen eines Kommandos wissen,
und lediglich wissen wollen, wie es zu benutzen ist. Aber was
tun Sie, wenn Sie Sich nicht an den Namen des Kommandos
erinnern können? Sie können mit man
nach Schlüsselbegriffen in den
Kommandobeschreibungen zu suchen, indem Sie den Parameter
benutzen:&prompt.user; man -k mail Mit diesem Kommando bekommen Sie eine Liste der
Kommandos, deren Beschreibung das Schlüsselwort
mail enthält. Diese Funktionalität
erhalten Sie auch, wenn Sie das Kommando apropos
benutzen.Nun, Sie schauen Sich alle die geheimnisvollen Kommandos
in /usr/bin an, haben aber nicht den
blassesten Schimmer, wozu die meisten davon gut sind? Dann
rufen Sie doch einfach das folgende Kommando auf:&prompt.user; cd /usr/bin
&prompt.user; man -f *Dasselbe erreichen Sie durch Eingabe von:&prompt.user; cd /usr/bin
&prompt.user; whatis *GNU Info DateienFreeBSD enthält viele Anwendungen und Utilities
der Free Software Foundation (FSF). Zusätzlich zu den
Manualpages bringen diese Programme ausführlichere
- Hypertext-Dokumente (info genannt) mit,
+ Hypertext-Dokumente (info genannt) mit,
welche man sich mit dem Kommando info
ansehen kann. Wenn Sie emacs
installiert haben, können Sie auch dessen info-Modus
benutzen.Um das Kommando &man.info.1; zu benutzen, geben Sie
einfach ein:&prompt.user; infoEine kurze Einführung gibt es mit
h; eine Befehlsreferenz erhalten Sie durch
Eingabe von: ?.
-
diff --git a/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml b/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml
index ae4ecb7123..060c52f19e 100644
--- a/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml
@@ -1,572 +1,572 @@
Bibliografie
-
+
Übersetzt von &a.de.gruender;
-
+
Während die Manualpages die endgültige Auskunft
über bestimmte Teile des FreeBSD Betriebssystems geben, so
können sie jedoch nicht darstellen, wie man die einzelnen Teile
zusammenfügt, um ein vollständig laufendes Betriebssystem
herzustellen. Daher gibt es keinen Ersatz für ein gutes Buch
über die Administration von &unix; Systemen und ein gutes
Benutzerhandbuch.In der Regel handelt es sich im folgenden Kapitel um englische
Ausgaben der genannten Werke. Übersetzungen oder Ausgaben in
anderen Sprachen sind mit entsprechenden Hinweisen versehen.Bücher und Magazine speziell für FreeBSD
-
+
Internationale Bücher und
Magazine:
-
+
Using FreeBSD (in chinesischer Sprache).
-
+
- FreeBSD for PC 98'ers (in japanischer Sprache), herausgegeben von
+ FreeBSD for PC 98'ers (in japanischer Sprache), herausgegeben von
SHUWA System Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.
-
+
- FreeBSD (in japanischer Sprache), herausgegeben von CUTT. ISBN
+ FreeBSD (in japanischer Sprache), herausgegeben von CUTT. ISBN
4-906391-22-2 C3055 P2400E.
-
+
Complete Introduction to FreeBSD (in Japanese), published by Shoeisha Co., Ltd. ISBN 4-88135-473-6 P3600E.
-
+
Personal UNIX Starter Kit FreeBSD (in japanischer Sprache),
herausgegeben von ASCII.
ISBN 4-7561-1733-3 P3000E.
-
+
- FreeBSD Handbook (japanische Übersetzung), herausgegeben
+ FreeBSD Handbook (japanische Übersetzung), herausgegeben
von ASCII.
ISBN 4-7561-1580-2 P3800E.
-
+
FreeBSD mit Methode (in deutscher Sprache), herausgegeben von
Computer und Literatur Verlag
- /Vertrieb Hanser, 1998.
+ /Vertrieb Hanser, 1998.
ISBN 3-932311-31-0.
-
+
FreeBSD 4 -
Installieren, Konfigurieren, Administrieren (in
deutscher Sprache), herausgegeben von Computer und Literatur Verlag, 2001.
ISBN 3-932311-88-4.
-
+
FreeBSD Install and Utilization Manual (in japanischer Sprache),
herausgegeben von
Mainichi Communications Inc..
- Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
+ Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
Building Internet Server with FreeBSD
(in indonesischer Sprache), herausgegeben von Elex Media Komputindo.Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
Building Internet Server with
FreeBSD (auf indonesisch), herausgegeben
von Elex Media Komputindo.
-
+
Englischsprachige Bücher und
Magazine:
-
+
Absolute BSD: The
Ultimate Guide to FreeBSD, herausgegeben von
No Starch Press.
The Complete FreeBSD, herausgegeben von
BSDi.
-
+
The
FreeBSD Corporate Networker's Guide, herausgegeben von
Addison-Wesley.
-
+
Handbücher
-
+
Computer Systems Research Group, UC Berkeley. 4.4BSD
User's Reference Manual. O'Reilly & Associates,
Inc., 1994. ISBN 1-56592-075-9
-
+
Computer Systems Research Group, UC Berkeley. 4.4BSD
User's Supplementary Documents. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-076-7
-
+
UNIX in a Nutshell. O'Reilly &
Associates, Inc., 1990. ISBN 093717520X
-
+
Mui, Linda. What You Need To Know When You Can't Find
Your UNIX System Administrator. O'Reilly &
Associates, Inc., 1995. ISBN 1-56592-104-6
-
+
Die Ohio State
University hat ein UNIX
Introductory Course veröffentlicht, welcher auch
online im HTML- und PostScriptformat verfügbar ist.
-
+
Jpman Project, Japan
FreeBSD Users Group. FreeBSD User's
Reference Manual (japanische Übersetzung). Mainichi Communications
Inc., 1998. ISBN4-8399-0088-4 P3800E.Edinburgh
University hat einen Online Guide für
Anfänger in Sachen UNIX geschrieben.
-
+
-
+
Administrations-Anleitungen
-
+
Albitz, Paul and Liu, Cricket. DNS and
BIND, 4th Ed. O'Reilly & Associates, Inc., 2001.
ISBN 1-59600-158-4
-
+
Computer Systems Research Group, UC Berkeley. 4.4BSD
System Manager's Manual. O'Reilly & Associates,
Inc., 1994. ISBN 1-56592-080-5
-
+
Costales, Brian, et al. Sendmail, 2nd Ed.
O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0
-
+
Frisch, Æleen. Essential System
Administration, 2nd Ed. O'Reilly & Associates,
Inc., 1995. ISBN 1-56592-127-5
-
+
Hunt, Craig. TCP/IP Network
Administration, 2nd Ed. O'Reilly & Associates, Inc., 1997.
ISBN 1-56592-322-7
-
+
Nemeth, Evi. UNIX System Administration
- Handbook. 3rd Ed. Prentice Hall, 2000. ISBN
+ Handbook. 3rd Ed. Prentice Hall, 2000. ISBN
0-13-020601-6
-
+
Stern, Hal Managing NFS and NIS O'Reilly
& Associates, Inc., 1991. ISBN 0-937175-75-7
-
+
Jpman Project, Japan
FreeBSD Users Group. FreeBSD System
Administrator's Manual (japanische Übersetzung). Mainichi Communications
Inc., 1998. ISBN4-8399-0109-0 P3300E.Die Edinburgh
University hat eine Online Anleitung
+ url="http://unixhelp.ed.ac.uk/">Online Anleitung
(in englischer Sprache) für Neueinsteiger in die
UNIX-Umgebung bereitgestellt.
-
+
Programmierhandbücher
-
+
Asente, Paul, Paul, Converse, Diana, and Swick, Ralph.
X Window System Toolkit. Digital Press,
1998. ISBN 1-55558-178-1
-
+
Computer Systems Research Group, UC Berkeley. 4.4BSD
Programmer's Reference Manual. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-078-3
-
+
Computer Systems Research Group, UC Berkeley. 4.4BSD
Programmer's Supplementary Documents. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-079-1
-
+
Harbison, Samuel P. and Steele, Guy L. Jr. C: A
- Reference Manual. 4rd ed. Prentice Hall, 1995.
+ Reference Manual. 4rd ed. Prentice Hall, 1995.
ISBN 0-13-326224-3
-
+
Kernighan, Brian and Dennis M. Ritchie. The C
- Programming Language.. PTR Prentice Hall, 1988.
+ Programming Language.. PTR Prentice Hall, 1988.
ISBN 0-13-110362-9
-
+
Lehey, Greg. Porting UNIX Software.
O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7
-
+
Plauger, P. J. The Standard C Library.
Prentice Hall, 1992. ISBN 0-13-131509-9
-
+
Stevens, W. Richard. Advanced Programming in the UNIX
Environment. Reading, Mass. : Addison-Wesley, 1992
ISBN 0-201-56317-7
-
+
Stevens, W. Richard. UNIX Network
Programming. 2nd Ed, PTR Prentice Hall, 1998. ISBN
0-13-490012-X
-
+
Wells, Bill. Writing Serial Drivers for UNIX.
Dr. Dobb's Journal. 19(15), December 1994.
pp68-71, 97-99.
-
+
Betriebssystem-Interna
-
+
Andleigh, Prabhat K. UNIX System
- Architecture. Prentice-Hall, Inc., 1990. ISBN
+ Architecture. Prentice-Hall, Inc., 1990. ISBN
0-13-949843-5
-
+
Jolitz, William. Porting UNIX to the 386.
Dr. Dobb's Journal. January 1991-July
1992.
-
+
Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and
John Quarterman The Design and Implementation of the
4.3BSD UNIX Operating System. Reading, Mass. :
Addison-Wesley, 1989. ISBN 0-201-06196-1Kapitel 2 dieses Buchs ist Teil des FreeBSD Documentation
Projects und online
erhältlich. Kapitel 9 findet sich
hier.
-
+
Leffler, Samuel J., Marshall Kirk McKusick, The Design
and Implementation of the 4.3BSD UNIX Operating System: Answer
- Book. Reading, Mass. : Addison-Wesley, 1991. ISBN
+ Book. Reading, Mass. : Addison-Wesley, 1991. ISBN
0-201-54629-9
-
+
McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and
John Quarterman. The Design and Implementation of the
4.4BSD Operating System. Reading, Mass. :
Addison-Wesley, 1996. ISBN 0-201-54979-4
-
+
Stevens, W. Richard. TCP/IP Illustrated, Volume 1:
The Protocols. Reading, Mass. : Addison-Wesley,
1996. ISBN 0-201-63346-9
-
+
Schimmel, Curt. Unix Systems for Modern
Architectures. Reading, Mass. : Addison-Wesley, 1994.
ISBN 0-201-63338-8
-
+
Stevens, W. Richard. TCP/IP Illustrated, Volume 3:
TCP for Transactions, HTTP, NNTP and the UNIX Domain
Protocols. Reading, Mass. : Addison-Wesley, 1996.
ISBN 0-201-63495-3
-
+
Vahalia, Uresh. UNIX Internals -- The New
- Frontiers. Prentice Hall, 1996. ISBN
+ Frontiers. Prentice Hall, 1996. ISBN
0-13-101908-2
-
+
Wright, Gary R. and W. Richard Stevens. TCP/IP
Illustrated, Volume 2: The Implementation. Reading,
Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X
-
+
Sicherheits-Anleitung
-
+
Cheswick, William R. and Steven M. Bellovin. Firewalls
and Internet Security: Repelling the Wily Hacker.
Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-63357-4
-
+
Garfinkel, Simson and Gene Spafford.
Practical UNIX & Internet Security.
2nd Ed. O'Reilly & Associates, Inc., 1996. ISBN
1-56592-148-8
-
+
Garfinkel, Simson. PGP Pretty Good
- Privacy O'Reilly & Associates, Inc., 1995. ISBN
+ Privacy O'Reilly & Associates, Inc., 1995. ISBN
1-56592-098-8
-
+
Hardware-Anleitung
-
+
Anderson, Don and Tom Shanley. Pentium Processor
System Architecture. 2nd Ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-40992-5
-
+
Ferraro, Richard F. Programmer's Guide to the EGA,
VGA, and Super VGA Cards. 3rd ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-62490-7
-
+
Die Intel Corporation veröffentlicht Dokumentationen
Ihrer CPUs, Chipsets und Standards auf ihrer developer web site,
normalerweise als PDF-Dateien.
-
+
Shanley, Tom. 80486 System Architecture.
3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40994-1
-
+
Shanley, Tom. ISA System Architecture.
3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40996-8
-
+
Shanley, Tom. PCI System Architecture.
4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN
0-201-30974-2
-
+
Van Gilluwe, Frank. The Undocumented PC,
2nd Ed.
Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN
0-201-47950-8Messmer, Hans-Peter. The Indispensable PC Hardware
Book, 4th Ed.
Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN
0-201-59616-4
-
+
UNIX Geschichte
-
+
Lion, John Lion's Commentary on UNIX, 6th Ed. With
Source Code. ITP Media Group, 1996. ISBN
1573980137
-
+
Raymond, Eric S. The New Hacker's Dictionary, 3rd
edition. MIT Press, 1996. ISBN
0-262-68092-0. Auch bekannt als das Jargon
File
-
+
Salus, Peter H. A quarter century of UNIX.
Addison-Wesley Publishing Company, Inc., 1994. ISBN
0-201-54777-5
-
+
Simon Garfinkel, Daniel Weise, Steven Strassmann. The
UNIX-HATERS Handbook. IDG Books Worldwide, Inc.,
1994. ISBN 1-56884-203-1
-
+
Don Libes, Sandy Ressler Life with UNIX
- — special edition. Prentice-Hall, Inc., 1989. ISBN
+ — special edition. Prentice-Hall, Inc., 1989. ISBN
0-13-536657-7
-
+
The BSD family tree. 1997.
ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree
oder lokal
auf einem FreeBSD Rechner.
-
+
The BSD Release Announcements collection.
1997.
http://www.de.FreeBSD.org/de/ftp/releases/
-
+
Networked Computer Science Technical Reports
Library. http://www.ncstrl.org/
-
+
Old BSD releases from the Computer Systems Research
group (CSRG). http://www.mckusick.com/csrg/:
Das Paket mit 4 CD-ROMs enthält alle BSD-Versionen von 1BSD
bis 4.4BSD und 4.4BSD-Lite2 (unglücklicherweise nicht
2.11BSD). Die letzte CD beinhaltet auch die finalen Sourcen
inclusive den SCCS Dateien.
-
+
Magazine und Journale
-
+
The C/C++ Users Journal. R&D
Publications Inc. ISSN 1075-2838
-
+
Sys Admin — The Journal for UNIX System
Administrators Miller Freeman, Inc., ISSN
1061-2688
-
diff --git a/de_DE.ISO8859-1/books/handbook/book.sgml b/de_DE.ISO8859-1/books/handbook/book.sgml
index f0423b5a3c..6ae235585a 100644
--- a/de_DE.ISO8859-1/books/handbook/book.sgml
+++ b/de_DE.ISO8859-1/books/handbook/book.sgml
@@ -1,221 +1,221 @@
%man;
%bookinfo;
%freebsd;
%translators;
%chapters;
%authors;
%teams;
%mailing-lists;
%newsgroups;
%txtfiles;
%pgpkeys;
]>
FreeBSD Handbuch
-
+
The FreeBSD German Documentation Projectde-bsd-translators@de.FreeBSD.org
-
+
Februar 1999
-
+
199519961997199819992000200120022003The FreeBSD German Documentation Project
&bookinfo.legalnotice;
-
+
Willkommen bei FreeBSD! Dieses Handbuch beschreibt die
Installation und den täglichen Umgang mit FreeBSD
&rel.current;-RELEASE.
Das Handbuch ist jederzeit unter Bearbeitung
und die Arbeit vieler Einzelpersonen. Manche Kapitel existieren noch
nicht und andere Kapitel müssen auf den neusten Stand
gebracht werden.
Wenn Sie an diesem Projekt mithelfen möchten, senden Sie bitte
eine E-Mail an die Mailingliste &a.de.translators;. Die letzte
Version des Handbuchs ist immer auf dem
FreeBSD Web
Server verfügbar.
Es kann außerdem in verschiedenen Formaten und in komprimierter
Form vom FreeBSD
FTP Server oder einer der vielen
Spiegel
herunter geladen werden.
Vielleicht möchten Sie das Handbuch auch
durchsuchen.
-
+
&chap.preface;
Erste SchritteDieser Teil des FreeBSD Handbuchs richtet sich an Benutzer
und Administratoren für die FreeBSD neu ist. Diese
Kapitelgeben Ihnen eine Einführung in FreeBSD,geleiten Sie durch den Installationsprozess,erklären Ihnen einige Grundlagen von &unix; Systemen,zeigen Ihnen, wie Sie die Fülle der erhältlichen
Anwendungen Dritter installieren undführen Sie in X, der Benutzeroberfläche von &unix; Systemen
ein. Es wird gezeigt, wie Sie den Desktop konfigurieren, um
effektiver arbeiten zu können.Wir haben uns bemüht, Referenzen auf weiter vorne liegende
Textteile auf ein Minimum zu beschränken, so dass Sie
diesen Teil des Handbuchs ohne viel Blättern durcharbeiten
können.System AdministrationDie restlichen Kapitel behandeln alle Aspekte der FreeBSD
Systemadministration. Am Anfang jedes Kapitels finden Sie eine
Zusammenfassung, die beschreibt, was Sie nach dem Durcharbeiten des
Kapitels gelernt haben. Weiterhin werden die Voraussetzungen
beschrieben, die für das Durcharbeiten des Kapitels
erforderlich sind.Diese Kapitel sollten Sie lesen, wenn Sie die Informationen
darin benötigen. Sie brauchen Sie nicht in einer bestimmten
Reihenfolge zu lesen, noch müssen Sie die Kapitel lesen, bevor Sie
anfangen, FreeBSD zu benutzen.Anhang
&chap.colophon;
-
diff --git a/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml b/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml
index af513bc30c..1da9c2edc5 100644
--- a/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml
@@ -1,877 +1,877 @@
Hans-ChristianEbkeÜbersetzt von FreeBSDs BootvorgangÜbersichtBootenBootstrapDas Starten des Computers und das Laden des Betriebssystems
wird im Allgemeinen als Bootstrap Vorgang
bezeichnet, oder einfach als Booten. FreeBSDs
Bootvorgang ermöglicht große Flexibilität, was
das Anpassen dessen anbelangt, was passiert, wenn das System
gestartet wird. Es kann zwischen verschiedenen Betriebssystemen,
die auf demselben Computer installiert sind oder verschiedenen
Versionen desselben Betriebssystems oder installierten Kernels
gewählt werden.Dieses Kapitel zeigt die zur Verfügung stehenden
Konfigurationsmöglichkeiten und wie man den Bootvorgang anpasst.
Dies schließt alles ein, bis der Kernel gestartet worden ist,
der dann alle Geräte gefunden hat und &man.init.8; gestartet hat.
Falls Sie sich nicht ganz sicher sind, wann dies passiert:
Es passiert, wenn die Farbe des Textes während des Bootvorgangs
von weiß zu Hellgrau wechselt.Dieses Kapitel informiert über folgende Punkte:Die Komponenten des FreeBSD Bootstraps und deren
Interaktion.Die Optionen, mit denen Sie den FreeBSD Bootvorgang steuern
können.Wie Geräte mit &man.device.hints.5; konfiguriert
werden.nur x86Dieses Kapitel erklärt den Bootvorgang von FreeBSD auf
Intel X86 Plattformen.Das Problem des BootensWenn der Computer eingeschaltet wird und das Betriebssystem
gestartet werden soll, entsteht ein interessantes Dilemma, denn der
Computer weiß per Definition nicht, wie er irgendetwas tut, bis
das Betriebssystem gestartet wurde. Das schließt das Starten von
Programmen, die sich auf der Festplatte befinden, ein. Wenn nun
der Computer kein Programm von der Festplatte starten kann, sich
das Betriebssystem aber dummerweise genau dort befindet, wie
wird es dann gestartet?Dieses Problem ähnelt einer Geschichte des Barons von
Münchhausen. Dort war eine Person in einen Sumpf gefallen
und hat sich selbst an den Riemen seiner Stiefel (engl.
bootstrap) herausgezogen. In den
jungen Jahren des Computerzeitalters wurde mit dem Begriff
Bootstrap dann die Technik das Betriebssystem zu laden bezeichnet
und wurde hinterher mit booten abgekürzt.Auf x86 Plattformen ist das BIOS (Basic Input/Output System)
dafür verantwortlich, das Betriebssystem zu laden. Dazu
liest das BIOS den Master Bootsektor (MBR; Master Boot Record)
aus, der sich an einer bestimmten Stelle auf der
Festplatte/Diskette befinden muss. Das BIOS kann den MBR
selbstständig laden und ausführen und geht davon aus,
dass der die restlichen Dinge, die für das Laden des
Betriebssystems notwendig sind, selber erledigen kann.BIOSBasic Input/Output SystemFalls nur ein Betriebssystem installiert ist, ist der
Standard MBR ausreichend. Dieser MBR sucht nach dem ersten
bootbaren Slice auf dem Laufwerk und führt ihn aus, um das
restliche Betriebssystem zu laden.Falls mehrere Betriebssysteme installiert sind, sollte
man einen anderen MBR installieren, der eine Liste der
verfügbaren Betriebssysteme anzeigt und einen wählen
lässt, welches man booten möchte. FreeBSD liegt ein
solcher MBR bei und andere Hersteller bieten Alternativen
an.Das restliche FreeBSD Bootstrap System ist in drei Phasen
unterteilt. Die erste Phase wird vom MBR durchgeführt, der
gerade genug Funktionalität besitzt um den Computer in
einen bestimmten Status zu verhelfen und die zweite Phase zu
starten. Die zweite Phase führt ein wenig mehr Operationen
durch und startet schließlich die dritte Phase, die das Laden
des Betriebssystems abschließt. Der ganze Prozess wird in drei
Phasen durchgeführt, weil der PC Standard die Größe
der Programme, die in Phase eins und zwei ausgeführt
werden, limitiert. Durch das Verketten der durchzuführenden
Aufgaben wird es FreeBSD möglich, ein sehr flexibles
Ladeprogramm zu besitzen.KernelinitAls nächstes wird der Kernel gestartet, der zunächst nach
Geräten sucht und sie für den Gebrauch
initialisiert. Nach dem Booten des Kernels übergibt dieser
die Kontrolle an den Benutzer Prozess &man.init.8;, der erst
sicherstellt, dass alle Laufwerke benutzbar sind und die
Ressourcen Konfiguration auf Benutzer Ebene startet. Diese
wiederum mountet Dateisysteme, macht die Netzwerkkarten für
die Kommunikation mit dem Netzwerk bereit und startet generell
alle Prozesse, die auf einem FreeBSD System normalerweise beim
Hochfahren gestartet werden.Der MBR, und die Boot-Phasen Eins, Zwei und DreiDer MBR, /boot/boot0Master Boot Record (MBR)Eine Kopie des Master Boot Records (MBR)
von FreeBSD befindet sich in /boot/boot0.
Der richtige MBR wird in einem nicht benutzbaren Teil des Laufwerks
gespeichert.boot0 ist ein ziemlich simples
Programm, und zwar aus dem einfachen Grund, dass der MBR nur
512 Bytes groß sein darf. Falls Sie den FreeBSD MBR
installiert haben und sich mehrere Betriebssysteme auf Ihrer
Festplatte befinden, werden Sie beim Starten des Computers
eine Anzeige sehen, ähnlich der Folgenden:boot0 ScreenshotF1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2Diverse Betriebssysteme, insbesondere Windows 95 und
Nachfolger, überschreiben den MBR ungefragt mit ihrem
eigenen. Falls einem dies passiert sein sollte, kann man mit
folgendem Kommando den momentanen MBR durch den FreeBSD MBR
ersetzen:&prompt.root; fdisk -B -b /boot/boot0 GerätWobei Gerät das Gerät ist,
von dem gebootet wird, also z.B. ad0
für die erste IDE Festplatte,
ad2 für die erste IDE Festplatte
am zweiten IDE Controller, da0
für die erste SCSI Festplatte, usw.Wenn Sie auf demselben Rechner FreeBSD und Linux benutzen
möchten, können Sie den FreeBSD Boot-Manager oder
LILO benutzen. Wollen Sie den MBR von
LILO benutzen, wählen Sie
- bei der FreeBSD Installation im Boot Manager Menü
+ bei der FreeBSD Installation im Boot Manager Menü
aus. Damit
Sie das FreeBSD System aus LILO booten
können, tragen Sie in /etc/lilo.conf die
folgenden Zeilen Zeilen ein:other=/dev/diskXY
table=/dev/diskX
loader=/boot/chain.b
label=FreeBSDErsetzen Sie dabei diskXY mit
hdXY, wenn Sie
ein IDE-Laufwerk benutzen, oder mit
sdXY, wenn Sie
ein SCSI-Laufwerk benutzen. Mit
XY geben Sie die Slice des FreeBSD
Systems, zum Beispiel /dev/hdb1, an. Wenn sich
beide Betriebssysteme auf derselben Platte befinden, können
Sie auch weglassen. Mit
geben Sie das Gerät an, auf dem die
Partitionstabelle liegt, /dev/hdb bezeichnet
zum Beispiel das zweite IDE-Laufwerk. Die Änderungen
können Sie nun mit /sbin/lilo -v
aktivieren. Achten Sie dabei auf die Bildschirmausgabe, die den
Erfolg der Operation anzeigt.
-
+
Phase Eins, /boot/boot1 und Phase Zwei,
/boot/boot2
-
+
Im Prinzip sind die erste und die zweite Phase Teile
desselben Programms, im selben Bereich auf der
Festplatte. Aufgrund von Speicherplatz-Beschränkungen
wurden sie aufgeteilt, aber man installiert sie eigentlich
generell zusammen.Sie befinden sich beide im Bootsektor des Boot-Slices,
wo boot0 und jedes andere
Programm im MBR das Programm erwartet, das
den weiteren Bootvorgang durchführt. Die Dateien im
Verzeichnis /boot sind nur Kopien der
eigentlichen Dateien, die sich außerhalb FreeBSDs Dateisystems
befinden.boot1 ist ebenfalls ein sehr simples
Programm, da es auch nur 512 Bytes groß sein darf, und es
besitzt gerade genug Funktionalität um FreeBSDs
disklabel, das Informationen über
den Slice enthält, auszulesen um
boot2 zu finden und
auszuführen.
-
+
boot2 ist schon ein wenig
umfangreicher und besitzt genügend Funktionalität um
Dateien in FreeBSDs Dateisystem zu finden. Außerdem hat es
eine einfache Schnittstelle, die es ermöglicht, den zu
ladenden Kernel oder Loader auszuwählen.Da der Loader einen
weitaus größeren Funktionsumfang hat und eine schöne
und einfach zu bedienende Boot-Konfigurations-Schnittstelle zur
Verfügung stellt, wird er gewöhnlich von
boot2 anstatt des Kernels
gestartet. Früher war es jedoch dazu da den Kernel direkt
zu starten.boot2 Screenshot>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/kernel
boot:Um das installierte
boot1 und boot2 zu
ersetzen, benutzt man &man.disklabel.8;:&prompt.root; disklabel -B SliceWobei Slice das Laufwerk und die Slice
darstellt, von dem gebootet wird, beispielsweise
ad0s1 für die erste Slice
auf der ersten IDE Festplatte.Dangerously Dedicated ModeWenn man nur den Festplatten-Namen, also
z.B. ad0, in &man.disklabel.8;
benutzt wird eine "dangerously dedicated disk" erstellt,
ohne Slices. Das ist ein Zustand, den man meistens nicht
hervorrufen möchte. Aus diesem Grund sollte man ein
&man.disklabel.8; Kommando noch einmal prüfen, bevor
man Return betätigt.Phase drei, /boot/loaderboot-loaderDer boot-loader ist der letzte von drei Schritten im
Bootstrap Prozess und kann im Dateisystem normalerweise unter
/boot/loader gefunden werden.
-
+
Der Loader soll eine benutzerfreundliche
Konfigurations-Schnittstelle sein mit einem einfach zu
bedienenden eingebauten Befehlssatz, ergänzt durch einen
umfangreichen Interpreter mit einem komplexeren
Befehlssatz.Loader Ablauf
-
+
Der Loader sucht während seiner Initialisierung
nach Konsolen und Laufwerken, findet heraus, von welchem
Laufwerk er gerade bootet und setzt dementsprechend
bestimmte Variablen. Dann wird ein Interpreter gestartet,
der Befehle interaktiv oder von einem Skript empfangen
kann.loaderloader KonfigurationDanach liest der Loader die Datei
/boot/loader.rc aus, welche ihn
standardmäßig anweist
/boot/defaults/loader.conf zu lesen, wo
sinnvolle Standardeinstellungen für diverse Variablen
festgelegt werden und wiederum
/boot/loader.conf für lokale
Änderungen an diesen Variablen ausgelesen
wird. Anschließend arbeitet dann
loader.rc entsprechend dieser Variablen
und lädt die ausgewählten Module und den
gewünschten Kernel.In der Voreinstellung wartet der Loader
10 Sekunden lang auf eine Tastatureingabe und bootet den
Kernel, falls keine Taste betätigt wurde. Falls doch
eine Taste betätigt wurde wird dem Benutzer eine
Eingabeaufforderung angezeigt. Sie nimmt einen einfach zu
bedienenden Befehlssatz entgegen, der es dem Benutzer
erlaubt, Änderungen an Variablen vorzunehmen, Module zu
laden, alle Module zu entladen oder schließlich zu booten
bzw. neu zu booten.
-
+
Die eingebauten Befehle des Loaders
-
+
Hier werden nur die gebräuchlichsten Befehle
bearbeitet. Für eine erschöpfende Diskussion aller
verfügbaren Befehle konsultieren Sie bitte
&man.loader.8;.autoboot SekundenEs wird mit dem Booten des Kernels fortgefahren,
falls keine Taste in der gegebenen Zeitspanne
betätigt wurde. In der gegebenen Zeitspanne, Vorgabe
sind 10 Sekunden, wird ein Countdown angezeigt.boot
-optionsKernelnameBewirkt das sofortige Booten des Kernels mit den
gegebenen Optionen, falls welche angegeben wurden, und
mit den angegebenen Kernel, falls denn einer angegeben
wurde.boot-confBewirkt die automatische Konfiguration der Module,
abhängig von den entsprechenden Variablen. Dieser
Vorgang ist identisch zu dem Vorgang, den der Bootloader
ausführt und daher nur sinnvoll, wenn zuvor
unload benutzt wurde und Variablen
(gewöhnlich kernel) verändert
wurden.help
ThemaZeigt die Hilfe an, die zuvor aus der Datei
/boot/loader.help gelesen
wird. Falls index als Thema angegeben
wird, wird die Liste der zur Verfügung stehenden
Hilfe-Themen angezeigt.include Dateiname
…Verarbeitet die angegebene Datei. Das Einlesen und
Interpretieren geschieht Zeile für Zeile und wird im Falle eines
Fehlers umgehend unterbrochen.load TypDateinameLädt den Kernel, das Kernel-Modul, oder die Datei
des angegebenen Typs. Optionen, die auf den Dateinamen folgen, werden
der Datei übergeben.ls PfadListet die Dateien im angegebenen Pfad auf, oder das
root-Verzeichnis(/), falls kein Pfad angegeben
wurde. Die Option bewirkt, dass die
Dateigrössen ebenfalls angezeigt werden.lsdev Listet alle Geräte auf, für die Module geladen
werden können. Die Option bewirkt
eine detailreichere Ausgabe.lsmod Listet alle geladenen Module auf. Die Option
bewirkt eine detailreichere
Ausgabe.more DateinameZeigt den Dateinhalt der angegebenen Datei an, wobei
eine Pause alle LINES Zeilen gemacht
wird.rebootBewirkt einen umgehenden Neustart des Systems.set Variableset
Variable=WertSetzt die Umgebungsvariablen des Loaders.unloadEntlädt sämtliche geladenen Module.Beispiele für die Loader BedienungHier ein paar praktische Beispiele für die Bedienung
des Loaders.Single-User ModusUm den gewöhnlichen Kernel im Single-User Modus zu
starten:boot -sUm alle gewöhnlichen Kernelmodule zu entladen und dann
nur den alten (oder jeden beliebigen anderen) Kernel zu
laden:kernel.oldunloadload kernel.oldEs kann kernel.GENERIC verwendet
werden, um den allgemeinen, Kernel zu bezeichnen, der
vorinstalliert wird. kernel.old
bezeichnet den Kernel, der vor dem aktuellen installiert
war (falls man einen neuen Kernel compiliert und
installiert hat, zum Beispiel).Der folgende Befehl lädt die gewöhnlichen Module mit
einem anderen Kernel:unloadset kernel="kernel.old"boot-confFolgendes lädt ein Kernelkonfigurations-Skript (ein
automatisiertes Skript, dass dasselbe tut, was der
Benutzer normalerweise von Hand an der Eingabeaufforderung
durchführen würde):load -t userconfig_script /boot/kernel.confKernel Interaktion während des BootprozessesKernelboot interactionWenn der Kernel einmal geladen ist, entweder durch den Loader (die Standardmethode) oder
durch boot2 (den Loader
umgehend), verhält sich gemäß seiner Boot-Flags, falls es
welche gibt.KernelbootflagsKernel Boot-FlagsEs folgt eine Auflistung der gebräuchlichsten
Boot-Flags:Bewirkt, dass der Benutzer während der
Kernel-Initialisierung gefragt wird, welches Gerät als
Root-Dateisystem gemounted werden soll.Es wird von CD-ROM gebootet.UserConfig, das Boot-Zeit Konfigurationsprogramm,
wird gestartet.Bewirkt den Start des Single-User Modus.Zeigt mehr Informationen während des Starten des
Kernels an.Für Informationen über weitere Boot-Flags konsultieren
Sie bitte &man.boot.8;.TomRhodesBeigetragen von device.hintsKonfiguration von GerätenDiese Funktion steht erst ab FreeBSD 5.0 zur
Verfügung.Der Boot-Loader liest während des Systemstarts die Datei
&man.device.hints.5;, die Variablen, auch device hints
genannt, zur Konfiguration von Geräten enthält.Die Variablen können auch mit Kommandos in der Phase 3 des Boot-Loaders bearbeitet
werden. Neue Variablen werden mit set gesetzt,
unset löscht schon definierte Variablen und
show zeigt Variablen an. Variablen aus
/boot/device.hints können zu diesem Zeitpunkt
überschrieben werden. Die hier durchgeführten Änderungen
sind nicht permanent und beim nächsten Systemstart nicht mehr
gültig.Nach dem Systemstart können alle Variablen mit &man.kenv.1;
angezeigt werden.Pro Zeile enthält /boot/device.hints eine
Variable. Kommentare werden, wie üblich, durch
# eingeleitet. Die verwendete Syntax
lautet:hint.driver.unit.keyword="value"Der Boot-Loader verwendet die nachstehende Syntax:set hint.driver.unit.keyword=valueDer Gerätetreiber wird mit driver,
die Nummer des Geräts mit unit
angegeben. keyword ist eine Option aus
der folgenden Liste:: Gibt den Bus, auf dem sich das
Gerät befindet, an.: Die Startadresse des
I/O-Bereichs.: Gibt die zu verwendende
Unterbrechungsanforderung (IRQ) an.: Die Nummer des DMA Kanals.: Die physikalische Speicheradresse des
Geräts.: Setzt verschiedene
gerätespezifische Optionen.: Deaktiviert das Gerät, wenn
der Wert auf 1 gesetzt wird.Ein Gerätetreiber kann mehr Optionen, als die hier
beschriebenen, besitzen oder benötigen. Schlagen Sie die
Optionen bitte in der Online-Hilfe des Treibers nach. Weitere
Informationen erhalten Sie in &man.device.hints.5;, &man.kenv.1;,
&man.loader.conf.5; und &man.loader.8;.initInit: Initialisierung der Prozess-Kontrolle
-
+
Nachdem der Kernel den Bootprozess abgeschlossen hat,
übergibt er die Kontrolle an den Benutzer-Prozess
&man.init.8;. Dieses Programm befindet sich in
/sbin/init, oder dem Pfad, der durch die
Variable init_path im Loader
spezifiziert wird.Der automatische Reboot-Vorgang
-
+
Der automatische Reboot-Vorgang stellt sicher, dass alle
Dateisysteme des Systems konsistent sind. Falls dies nicht der
Fall ist und die Inkonsistenz nicht durch
&man.fsck.8; behebbar ist, schaltet
&man.init.8; das System in den Single-User Modus, damit der
Systemadministrator sich des Problems annehmen kann.Der Single-User ModusSingle-User Modusconsole
-
+
Das Schalten in diesen Modus kann erreicht werden durch den automatischen
Reboot-Vorgang, durch das Booten mit der Option
oder das Setzen der
boot_single Variable in
Loader.Weiterhin kann der Single-User Modus aus dem Mehrbenutzer Modus heraus durch
den Befehl &man.shutdown.8; ohne die reboot
() oder halt () Option
erreicht werden.
Falls die System-Konsole (console) in
/etc/ttys auf insecure
(dt.: unsicher) gesetzt ist, fordert das System allerdings zur
Eingabe des Passworts von root auf,
bevor es den Single-User Modus aktiviert.Auf insecure gesetzte Konsole in
/etc/ttys# name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none unknown off insecureEine Konsole sollte auf insecure
gesetzt sein, wenn die physikalische Sicherheit der Konsole
nicht gegeben ist und sichergestellt werden soll, dass nur
Personen, die das Passwort von root kennen,
den Single-User Modus benutzen können. Es bedeutet nicht,
dass die Konsole "unsicher" laufen wird. Daher sollte man
insecure wählen, wenn man auf Sicherheit
bedacht ist, nicht secure.
-
+
Mehrbenutzer ModusMehrbenutzer Modus
-
+
Stellt &man.init.8; fest, dass das Dateisystem
in Ordnung ist, oder der Benutzer den Single-User Modus beendet,
schaltet das System in den Mehrbenutzer Modus, in dem dann die
Ressourcen Konfiguration des Systems gestartet wird.rc-DateienRessourcen Konfiguration, rc-DateienDas Ressourcen Konfigurationssystem (engl.
resource configuration, rc)
liest seine Standardkonfiguration von
/etc/defaults/rc.conf und
System-spezifische Details von
/etc/rc.conf. Dann mountet es die
Dateisysteme gemäß /etc/fstab, startet
die Netzwerkdienste, diverse System Daemons und führt
schließlich die Start-Skripten der lokal installierten
Anwendungen aus.Die &man.rc.8; Handbuch Seite ist eine gute Quelle für
Informationen über das Ressourcen Konfigurationssystem und
ebenso über die Skripte an sich.Der Shutdown VorgangshutdownIm Falle eines regulären Herunterfahrens durch
&man.shutdown.8; führt &man.init.8;
/etc/rc.shutdown aus, sendet dann
sämtlichen Prozessen ein TERM Signal und
schließlich ein KILL Signal an alle Prozesse,
die sich nicht schnell genug beendet haben.FreeBSD Systeme, die Energieverwaltungsfunktionen
unterstützen, können Sie mit dem Kommando
shutdown -p now ausschalten. Zum Neustart des
Systems benutzen Sie shutdown -r now. Das
Kommando &man.shutdown.8; kann nur von root oder
Mitgliedern der Gruppe operator benutzt
werden. Sie können auch die Kommandos &man.halt.8; und
&man.reboot.8; verwenden. Weitere Informationen finden Sie in den
Hilfeseiten der drei Kommandos.Mit FreeBSD 5.0 müssen Sie die
&man.acpi.4;-Unterstützung im Kernel aktivieren oder das Modul
geladen haben, damit Sie die Energieverwaltungsfunktionen benutzen
können. Mit FreeBSD 4.0 benötigen Sie die
&man.apm.4;-Unterstützung.
-
diff --git a/de_DE.ISO8859-1/books/handbook/chapters.ent b/de_DE.ISO8859-1/books/handbook/chapters.ent
index 5931ca3d0a..bd39e80f75 100644
--- a/de_DE.ISO8859-1/books/handbook/chapters.ent
+++ b/de_DE.ISO8859-1/books/handbook/chapters.ent
@@ -1,49 +1,49 @@
-
diff --git a/de_DE.ISO8859-1/books/handbook/colophon.sgml b/de_DE.ISO8859-1/books/handbook/colophon.sgml
index 3438f3e314..693156da56 100644
--- a/de_DE.ISO8859-1/books/handbook/colophon.sgml
+++ b/de_DE.ISO8859-1/books/handbook/colophon.sgml
@@ -1,32 +1,32 @@
Dieses Buch ist aus den Beiträgen vieler Freiwilliger zum
FreeBSD Documentation Project entstanden.
Der Text ist in SGML entsprechend der Docbook DTD verfasst.
Mit Hilfe von Jade, einem Open Source
DSSSL-Prozessor, wird er in verschiedene Formate umgewandelt. Die
Umwandlung wird von Norm Walsh's DSSSL Stylesheets und eigens
entwickelten Stylesheets gesteuert. Die gedruckte Ausgabe des Buchs
wäre ohne die Satzbeschreibungssprache TeX
von Donald Knuth, LaTeX von Leslie Lamport
oder den JadeTeX-Makros von Sebastian Rahtz
nicht möglich.
-
diff --git a/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml b/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
index b689cef5e0..c33c2539a6 100644
--- a/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
@@ -1,1976 +1,1976 @@
JimMockUmstrukturiert und aktualisiert von JordanHubbardIm Original von Poul-HenningKampJohnPolstraNikClaytonMartinHeinenÜbersetzt von Das Neueste und BesteÜbersicht&os; wird zwischen einzelnen Releases konstant weiter entwickelt.
Es gibt mehrere einfache Möglichkeiten, ein System auf dem
aktuellen Stand der Entwicklung zu halten. Seien Sie jedoch gewarnt:
Die neueste Version ist nicht für jeden geeignet! Dieses
Kapitel hilft Ihnen bei der Entscheidung, ob Sie mit dem
Entwicklungssystem Schritt halten oder ein Release verwenden
wollen.Nachdem Sie dieses Kapitel gelesen haben, werden Sieden Unterschied der beiden Entwicklerversionen
&os.stable; und &os.current; kennen,wissen, wie Sie Ihr System mit
CVSup, CVS
oder CTM aktualisieren.Wissen, wie Sie mit make world das
komplette Basissystem wieder neu bauen und installieren
können.Bevor Sie dieses Kapitel lesen, sollten SieIhr Netzwerk richtig konfiguriert haben () undwissen, wie Sie Software Dritter installieren
().
-
+
&os.current; vs. &os.stable;-CURRENT-STABLEFreeBSD besitzt zwei Entwicklungszweige: &os.current; und
&os.stable;. Dieser Abschnitt beschreibt beide Zweige und
erläutert, wie Sie Ihr System auf dem aktuellen Stand
eines Zweiges halten. Zuerst wird &os.current; vorgestellt, dann
&os.stable;.&os.current;Beachten Sie im Folgenden, dass &os.current; die Spitze
der Entwicklung von &os; ist. Benutzer von &os.current; sollten
über sehr gute technische Fähigkeiten verfügen und
in der Lage sein, schwierige Probleme alleine zu lösen. Wenn
&os; neu für Sie ist, überlegen Sie sich genau, ob Sie
&os.current; benutzen wollen.Was ist &os.current;?Snapshot&os.current; besteht aus den neuesten Quellen des
FreeBSD-Systems. Es enthält Sachen, an denen gerade
gearbeitet wird, experimentelle Änderungen und
Übergangsmechanismen, die im nächsten offiziellen
Release der Software enthalten sein können oder nicht.
Obwohl &os.current; täglich von vielen Entwicklern gebaut
wird, gibt es Zeiträume, in denen sich das System nicht
bauen lässt. Diese Probleme werden so schnell wie
möglich gelöst, aber ob Sie mit &os.current;
Schiffbruch erleiden oder die gewünschten Verbesserungen
erhalten, kann von dem Zeitpunkt abhängen, an dem Sie sich
den Quelltext besorgt haben!Wer braucht &os.current;?&os.current; wird hauptsächlich für 3
Interessengruppen zur Verfügung gestellt:Entwickler, die an einem Teil des Quellbaums arbeiten und
daher über die aktuellen Quellen verfügen
müssen.Tester, die bereit sind, Zeit in das Lösen von
Problemen zu investieren und sicherstellen, dass
&os.current; so stabil wie möglich bleibt. Weiterhin
Leute, die Vorschläge zu Änderungen oder der
generellen Entwicklung von &os; machen und Patches
bereitstellen, um diese Vorschläge zu realisieren.Für Leute, die die Entwicklung im Auge behalten
wollen, oder die Quellen zu Referenzzwecken (zum Beispiel
darin lesen, aber nicht verwenden) benutzen wollen. Auch diese
Gruppe macht Vorschläge oder steuert Quellcode
bei.Was &os.current; nicht ist!Der schnellste Weg, neue Sachen vor dem offiziellen
Release auszuprobieren. Bedenken Sie, dass der erste,
der die neuen Sachen ausprobiert, auch der erste ist, der die
neuen Fehler findet.Ein schneller Weg, um an Fehlerbehebungen (engl.
bug fixes) zu kommen. Jede
Version von &os.current; führt mit gleicher
Wahrscheinlichkeit neue Fehler ein, mit der sie alte
behebt.In irgendeiner Form offiziell
unterstützt. Wir tun unser Bestes, um Leuten
aus den drei legitimen Benutzergruppen von
&os.current; zu helfen, aber wir haben einfach nicht
die Zeit, technische Unterstützung zu
erbringen. Das kommt nicht daher, dass wir kleinliche,
gemeine Leute sind, die anderen nicht helfen wollen (wenn
wir das wären, würden wir &os; nicht machen), wir
können einfach nicht jeden Tag Hunderte Nachrichten
beantworten und an &os; arbeiten! Vor
die Wahl gestellt, &os; zu verbessern oder jede Menge Fragen
zu experimentellem Code zu beantworten, haben sich die
Entwickler für ersteres entschieden.Benutzen von &os.current;
-
+
-CURRENTbenutzenEs ist essentiell, die Mailinglisten
&a.current; und &a.cvsall; zu lesen. Wenn Sie
&a.current; nicht lesen, verpassen Sie die Kommentare anderer
über den momentanen Zustand des Systems und rennen
demzufolge in viele bekannte Probleme, die schon gelöst
sind. Noch kritischer ist, dass Sie wichtige
Bekanntmachungen verpassen, die erhebliche Auswirkungen
auf die Stabilität Ihres Systems haben können.In der &a.cvsall; Mailingliste sehen Sie zu jeder
Änderung das Commit-Log, das Informationen zu
möglichen Seiteneffekten enthält.Um diese Listen zu lesen, senden Sie eine E-Mail
mit dem folgenden Inhalt im Textkörper der Nachricht
an &a.majordomo;:subscribe freebsd-current
subscribe cvs-allMajordomoSie können Majordomo auch
den Text help schicken und erhalten dann
eine ausführliche Hilfe, die beschreibt, wie Sie die
verschiedenen Mailinglisten abonnieren bzw. wieder
abbestellen.Beschaffen Sie sich die Quellen von
ftp.FreeBSD.org. Sie haben dazu
drei Möglichkeiten:cvsupcron-CURRENTSynchronisation mit CVSupBenutzen Sie cvsup mit
einer geeigneten Sup-Datei. Dies ist die
empfohlene Methode, da Sie die ganzen Quellen nur einmal
herunterladen und danach nur noch Änderungen
beziehen. Viele lassen cvsup
aus cron heraus laufen, um ihre
Quellen automatisch auf Stand zu bringen. Sie
müssen die obige Sup-Datei anpassen und
cvsup
in Ihrer Umgebung konfigurieren.
Sie können sich die Arbeit vereinfachen, indem Sie
das folgende Kommando absetzen:&prompt.root; pkg_add -f ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/All/cvsupit-3.1.tgz-CURRENTHerunterladen mit ftpBenutzen Sie ftp. Der Quellbaum
für &os.current; ist unter ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/
erhältlich. Einige FTP-Spiegel unterstützen
das Herunterladen von komprimierten mit
tar gepackten Dateibäumen.
Wenn Sie beispielsweise das Verzeichnis
usr.bin/lex als
tar-Datei herunterladen wollen, geben
Sie Folgendes ein:ftp>cd usr.binftp>get lex.tar-CURRENTSynchronisation mit CTMCTM
kommt in Frage, wenn Sie
über eine schlechte Internet-Anbindung (hoher Preis
oder nur E-Mail Zugriff) verfügen. Der Umgang mit
CTM ist allerdings recht
mühsam und Sie können beschädigte Dateien
erhalten. Daher wird es selten benutzt, was wiederum
dazu führt, dass es über längere Zeit
nicht funktioniert. Wir empfehlen jedem mit einem
9600 bps oder schnellerem Modem,
CVSup
zu benutzen.Wenn Sie die Quellen einsetzen und nicht nur darin
lesen wollen, besorgen Sie sich bitte die
kompletten Quellen von &os.current; und
nicht nur ausgesuchte Teile. Der Grund hierfür ist,
dass die verschiedenen Teile der Quellen voneinander
abhängen. Es ist ziemlich sicher, dass Sie in
Schwierigkeiten geraten, wenn Sie versuchen, nur einen Teil
der Quellen zu übersetzen.-CURRENTübersetzenBevor Sie &os.current; übersetzen, sollten Sie sich
das Makefile in
/usr/src genau anschauen. Wenn Sie Ihr
System das erste Mal aktualisieren, sollten Sie mindestens
make world laufen lassen.
Lesen Sie bitte die Mailingliste &a.current;, um über
Änderungen im Installationsverfahren, die manchmal
vor der Einführung eines neuen Releases notwendig sind,
informiert zu sein.
-
+
Seien Sie aktiv! Wenn Sie &os.current; laufen lassen,
wollen wir wissen, was Sie darüber denken, besonders
wenn Sie Verbesserungsvorschläge oder Fehlerbehebungen
haben. Verbesserungsvorschläge, die Code enthalten,
werden übrigens begeistert entgegengenommen.
-
+
&os.stable;Was ist &os.stable;?-STABLE&os.stable; ist der Entwicklungszweig, auf dem Releases
erstellt werden. Dieser Zweig ändert sich langsamer als
&os.current; und alle Änderungen hier sollten zuvor in
&os.current; ausgetestet sein. Beachten Sie, dass dies
immer noch ein Entwicklungszweig ist und
daher zu jedem Zeitpunkt die Quellen von &os.stable; verwendbar
sein können oder nicht. &os.stable; ist Teil des
Entwicklungsprozesses und nicht für Endanwender
gedacht.Wer braucht &os.stable;?Wenn Sie den FreeBSD Entwicklungsprozess, besonders im
Hinblick auf das nächste Release, verfolgen oder
dazu beitragen wollen, sollten Sie erwägen, &os.stable; zu
benutzen.Auch wenn sicherheitsrelevante Fehlerbehebungen in den
&os.stable; Zweig einfließen, müssen Sie deswegen
noch lange nicht &os.stable; verfolgen. Jeder der FreeBSD
Sicherheitshinweise beschreibt für jedes betroffene Release,
Das stimmt nicht ganz. Obwohl wir alte FreeBSD
Releases für einige Jahre unterstützen, können
wir sie nicht ewig unterstützen. Eine vollständige
Beschreibung der Sicherheitspolitik für alte FreeBSD
Releases entnehmen Sie bitte http://www.FreeBSD.org/security/
wie sie einen sicherheitsrelevanten Fehler beheben.
Wenn Sie den Entwicklungszweig aus Sicherheitsgründen
verfolgen wollen, bedenken Sie, dass Sie neben
Fehlerbehebungen auch eine Vielzahl unerwünschter
Änderungen erhalten werden.Obwohl wir versuchen sicherzustellen, dass der
&os.stable; Zweig sich jederzeit übersetzen lässt
und läuft, können wir dafür keine Garantie
übernehmen. Auch wenn Neuentwicklungen in &os.current;
stattfinden, ist es jedoch so, dass mehr Leute
&os.stable; benutzen als &os.current; und es daher unvermeidlich
ist, dass Fehler und Grenzfälle erst in &os.stable;
auffallen.Aus diesen Gründen empfehlen wir Ihnen
nicht, blindlings &os.stable; zu benutzen.
Es ist wichtig, dass Sie &os.stable; zuerst sorgfältig
in einer Testumgebung austesten, bevor Sie Ihre Produktion
auf &os.stable; migrieren.Wenn Sie dies nicht leisten können, empfehlen wir Ihnen,
das aktuelle FreeBSD Release zu verwenden. Benutzen Sie dann den
binären Update-Mechanismus, um auf neue Releases
zu migrieren.Benutzen von &os.stable;
-
+
-STABLEbenutzenLesen Sie Mailingliste &a.stable;, damit Sie über
Abhängigkeiten beim Bau von &os.stable; und Sachen, die
besondere Aufmerksamkeit erfordern, informiert sind.
Umstrittene Fehlerbehebungen oder Änderungen werden von
den Entwicklern auf dieser Liste bekannt gegeben. Dies
erlaubt es den Benutzern, Einwände gegen die
vorgeschlagenen Änderungen vorzubringen.In der &a.cvsall; Mailingliste sehen Sie zu jeder
Änderung das Commit-Log, das Informationen zu
möglichen Seiteneffekten enthält.Um diese Listen zu lesen, senden Sie eine E-Mail
mit dem folgenden Inhalt im Textkörper der Nachricht
an &a.majordomo;:subscribe freebsd-stable
subscribe cvs-allMajordomoSie können Majordomo auch
den Text help schicken und erhalten dann
eine ausführliche Hilfe, die beschreibt, wie Sie die
verschiedenen Mailinglisten abonnieren bzw. wieder
abbestellen.Wenn Sie ein neues System installieren und so aktuell wie
möglich sein wollen, holen Sie sich einfach den neusten
Snapshot von ftp://releng4.FreeBSD.org/pub/FreeBSD/
und installieren ihn wie ein normales Release.Wenn Sie schon ein älteres Release von &os;
benutzen und mit dem Quellcode migrieren wollen, stehen Ihnen
dazu ausgehend von ftp.FreeBSD.org
drei Möglichkeiten zur Verfügung:cvsupcron-STABLESynchronisation mit CVSupBenutzen Sie cvsup mit
einer geeigneten Sup-Datei. Dies ist die
empfohlene Methode, da Sie die ganzen Quellen nur einmal
herunterladen und danach nur noch Änderungen
beziehen. Viele lassen cvsup
aus cron heraus laufen, um ihre
Quellen automatisch auf Stand zu bringen. Sie
müssen das oben erwähnte
supfile anpassen und cvsup konfigurieren. Wenn Sie dazu
eine einfache Schnittstelle benötigen, geben sie
Folgendes ein:
-
+
-STABLEHerunterladen mit ftpBenutzen Sie ftp. Der Quellbaum
für &os.stable; ist unter ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/
erhältlich. Einige FTP-Spiegel unterstützen
das Herunterladen von komprimierten mit
tar gepackten Dateibäumen.
Wenn Sie beispielsweise das Verzeichnis
usr.bin/lex als
tar-Datei herunterladen wollen, geben
Sie Folgendes ein:ftp>cd usr.binftp>get lex.tar-STABLESynchronisation mit CTMBenutzen Sie
CTM. Wenn Sie über
keine schnelle und billige Internet-Anbindung
verfügen, sollten Sie diese Methode in Betracht
ziehen.Benutzen Sie cvsup oder
ftp, wenn Sie schnellen Zugriff auf die
Quellen brauchen und die Bandbreite keine Rolle spielt,
andernfalls benutzen Sie
CTM.-STABLEübersetzenBevor Sie &os.stable; übersetzen, sollten Sie sich
das Makefile in
/usr/src genau anschauen. Wenn Sie Ihr
System das erste Mal aktualisieren, sollten Sie mindestens
make world laufen lassen.
Lesen Sie bitte die Mailingliste &a.stable;, um über
Änderungen im Installationsverfahren, die manchmal
vor der Einführung eines neuen Releases notwendig sind,
informiert zu sein.Synchronisation der Quellen
-
+
Sie können eine Internet-Verbindung (oder E-Mail) dazu
nutzen, Teile von &os;, wie die Quellen zu einzelnen Projekten, oder
das Gesamtsystem, aktuell zu halten. Dazu bieten wir die Dienste
AnonymousCVS,
CVSup und
CTM an.Obwohl es möglich ist, nur Teile des Quellbaums zu
aktualisieren, ist die einzige unterstütze Migrationsprozedur,
den kompletten Quellbaum zu aktualisieren und alles, das
heißt das Userland (z.B. alle Programme in
/bin und /sbin) und die
Kernelquellen, neu zu übersetzen. Wenn Sie nur einen Teil der
Quellen, zum Beispiel nur den Kernel oder nur die Programme aus dem
Userland, aktualisieren, werden Sie oft Probleme haben, die von
Übersetzungsfehlern über Kernel-Panics bis hin zu
Beschädigungen Ihrer Daten reichen können.anonymous CVSAnonymous CVS und
CVSup benutzen die
Pull-Methode
Von engl. to pull =
ziehen. Der Client holt sich bei dieser
Methode die Dateien ab., um die Quellen zu aktualisieren. Im Fall von
CVSup ruft der Benutzer oder ein
cron-Skript cvsup auf, das
wiederum mit einem cvsupd Server interagiert, um
Ihre Quellen zu aktualisieren. Mit beiden Methoden erhalten Sie
aktuelle Updates zu einem genau von Ihnen bestimmten Zeitpunkt. Sie
können die Prozedur auf bestimmte Dateien oder Verzeichnisse
einschränken, so dass Sie nur die Updates bekommen, die
für Sie von Interesse sind. Die Updates werden zur Laufzeit,
abhängig von den Sachen, die Sie schon haben und den Sachen, die
Sie haben wollen, auf dem Server generiert. Anonymous
CVS ist eine Erweiterung von
CVS, die es Ihnen erlaubt, Änderungen
direkt aus einem entfernten CVS-Repository zu ziehen.
Anonymous CVS ist leichter zu handhaben
als CVSup, doch ist letzteres sehr viel
effizienter.CTMIm Gegensatz dazu vergleicht CTM Ihre
Quellen nicht mit denen auf einem Server. Stattdessen läuft auf
dem Server ein Skript, das Änderungen an Dateien gegenüber
seinem vorigen Lauf bemerkt, die Änderungen komprimiert, mit
einer Sequenznummer versieht und für das Verschicken per E-Mail
kodiert (es werden nur druckbare ASCII-Zeichen verwendet). Wenn Sie
diese CTM-Deltas erhalten haben, können Sie sie
mit &man.ctm.rmail.1; benutzen, welches die Deltas dekodiert,
verifiziert und dann die Änderungen an Ihren Quellen vornimmt.
Dieses Verfahren ist viel effizienter als
CVSup und erzeugt auch weniger Last auf
unseren Servern, da es die
Push-Methode
Von engl. to push =
schieben. Der Server schickt dem Client die
Dateien. verwendet.Es gibt natürlich noch weitere Unterschiede, die Sie
beachten sollten. Wenn Sie unabsichtlich Teile Ihres Archivs
- löschen, wird das von CVSup
+ löschen, wird das von CVSup
wie Anonymous CVS erkannt
und repariert. Wenn sich fehlerhafte Dateien in Ihrem Quellbaum
befinden, löschen Sie diese einfach und synchronisieren erneut.
CTM leistet das nicht,
wenn Sie Teile des Quellbaums gelöscht haben und keine Sicherung
besitzen, müssen Sie von neuem, das heißt vom letzten
Basis-Delta, starten und die Änderungen wieder
mit CTM nachziehen.
Bau mit make worldmake worldWenn Sie Ihren lokalen Quellbaum mit einer bestimmten FreeBSD
Version (&os.stable;, &os.current;, usw.) synchronisiert haben,
können Sie diesen benutzen, um das System neu zu
bauen.Erstellen Sie eine Sicherung!Es kann nicht oft genug betont werden, wie wichtig es ist, Ihr
System zu sichern, bevor Sie die nachfolgenden
Schritte ausführen. Obwohl der Neubau des Systems eine
einfache Aufgabe ist, solange Sie sich an die folgende Anleitung
halten, ist es unvermeidlich, dass Sie Fehler machen, oder Ihr
System nicht mehr bootet, weil andere Fehler in den Quellbaum
eingeführt haben.Stellen Sie sicher, dass Sie eine Sicherung erstellt haben
und über eine Fixit-Floppy verfügen. Wahrscheinlich
brauchen Sie sie nicht zu benutzen, aber gehen Sie auf Nummer
Sicher!Abonnieren Sie die richtige MailinglisteMailinglisteDie &os.stable; und &os.current; Zweige befinden sich in
ständiger Entwicklung. Die Leute, die zu
&os; beitragen, sind Menschen und ab und zu machen sie
Fehler.Manchmal sind diese Fehler harmlos und lassen Ihr System eine
Warnung ausgeben. Die Fehler können allerdings auch
katastrophal sein und dazu führen, dass Sie Ihr System
nicht mehr booten können, Dateisysteme beschädigt
werden oder Schlimmeres passiert.Wenn solche Probleme auftauchen, wird ein
heads up an die passende Mailingliste geschickt, welches
das Problem erklärt und die betroffenen Systeme benennt. Eine
all clear Meldung wird versendet, wenn das
Problem gelöst ist.Wenn Sie &os.stable; oder &os.current; benutzen und nicht die
Mailinglisten &a.stable; beziehungsweise &a.current; lesen, bringen
Sie sich nur unnötig in Schwierigkeiten.Lesen Sie /usr/src/UPDATINGBevor Sie etwas anderes tun, lesen Sie bitte
/usr/src/UPDATING (oder die entsprechende
Datei, wenn Sie den Quellcode woanders installiert haben). Die
Datei enthält wichtige Informationen zu Problemen, auf die Sie
stoßen könnten oder gibt die Reihenfolge vor, in der Sie
bestimmte Kommandos laufen lassen müssen. Die Anweisungen in
UPDATING sind aktueller als die in diesem
Handbuch. Im Zweifelsfall folgen Sie bitte den Anweisungen aus
UPDATING.Das Lesen von UPDATING ersetzt nicht das
Abonnieren der richtigen Mailingliste. Die beiden Voraussetzungen
ergänzen sich, es reicht nicht aus, nur eine zu
erfüllen.Überprüfen Sie
/etc/make.confmake.confÜberprüfen Sie die Dateien
/etc/defaults/make.conf und
/etc/make.conf. Die erste enthält
Vorgabewerte, von denen die meisten auskommentiert sind. Um diese
während des Neubaus des Systems zu nutzen, tragen Sie die
Werte in /etc/make.conf ein. Beachten Sie,
dass alles, was Sie in /etc/make.conf
eintragen, bei jedem Aufruf von make angezogen
wird. Es ist also klug, hier etwas Sinnvolles einzutragen.Typischerweise wollen Sie die Zeilen, die
CFLAGS und NOPROFILE
enthalten, aus /etc/defaults/make.conf nach
/etc/make.conf übertragen und dort
aktivieren.Sehen Sie sich auch die anderen Definitionen, wie
COPTFLAGS oder NOPORTDOCS an
und entscheiden Sie, ob Sie diese aktivieren wollen.Aktualisieren Sie die Dateien in /etcDas Verzeichnis /etc enthält den
Großteil der Konfigurationsdateien des Systems und Skripten,
die beim Start des Systems ausgeführt werden. Einige dieser
Skripten ändern sich bei einer Migration auf eine neue
FreeBSD Version.Einige der Konfigurationsdateien, besonders
/etc/group, werden für den Normalbetrieb
des Systems gebraucht.Es gab Fälle, in denen der Installationsteil von
make world auf das Vorhandensein von bestimmten
Accounts oder Gruppen angewiesen war, die aber zurzeit des Updates
noch nicht vorhanden waren. Demzufolge kam es zu Problemen
bei der Migration.Ein Beispiel dafür ist der vor kurzem hinzugefügte
Benutzer smmsp. Die Installationsprozedur
schlug an der Stelle fehl, an der &man.mtree.8;
versuchte, /var/spool/clientmqueue
anzulegen.Um dieses Problem zu umgehen, vergleichen Sie die Gruppen in
/usr/src/etc/group mit den auf Ihrem System
vorhandenen Gruppen. Wenn sich in dieser Datei neue Gruppen
befinden, kopieren Sie diese nach /etc/group.
Gruppen, die in /etc/group dieselbe GID wie in
/usr/src/etc/group aber einen
unterschiedlichen Namen haben, sollten Sie umbenennen.Seit 4.6-RELEASE besitzt &man.mergemaster.8; einen
prä-buildworld Modus, der mit aktiviert
wird. In diesem Modus werden nur Dateien verglichen, die für
den Erfolg von buildworld oder
installworld essentiell sind. Wenn Ihre
alte Version von mergemaster die Option
noch nicht unterstützt, nehmen Sie beim
ersten Lauf die neue Version aus dem Quellbaum:&prompt.root; cd /usr/src/usr.sbin/mergemaster
&prompt.root; ./mergemaster.sh -pWenn Sie besonders paranoid sind, sollten Sie Ihr System nach
Dateien absuchen, die der Gruppe, die Sie umbenennen oder
löschen, gehören:&prompt.root; find / -group GID -printDas obige Kommando zeigt alle Dateien an, die der Gruppe
GID (dies kann entweder ein
Gruppenname oder eine numerische ID sein) gehören.Wechseln Sie in den Single-User ModusSingle-User ModusSie können das System im Single-User Modus
übersetzen. Abgesehen davon, dass dies etwas schneller
ist, werden bei der Installation des Systems viele wichtige Dateien,
wie die Standard-Systemprogramme, die Bibliotheken und
Include-Dateien, verändert. Sie bringen sich in
Schwierigkeiten, wenn Sie diese Dateien auf einem laufenden System
verändern, besonders dann, wenn zu dieser Zeit Benutzer auf
dem System aktiv sind.MehrbenutzermodusEine andere Methode übersetzt das System im
Mehrbenutzermodus und wechselt für die Installation den
Single-User Modus. Wenn Sie diese Methode benutzen wollen, warten
Sie mit den folgenden Schritten, bis der Bau des Systems fertig
ist und Sie mit installkernel oder
installworld installieren wollen.Als Superuser können Sie mit dem folgenden Kommando ein
laufendes System in den Single-User Modus bringen:&prompt.root; Alternativ können Sie das System mit der Option
in den Single-User Modus booten. Setzen Sie
dann die folgenden Kommandos ab:&prompt.root; fsck -p
&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; swapon -aDie Kommandos überprüfen die Dateisysteme,
hängen / wieder beschreibbar ein,
hängen dann alle anderen UFS Dateisysteme aus
/etc/fstab ein und aktivieren den
Swap-Bereich.Zeigt Ihre CMOS-Uhr die lokale Zeit und nicht GMT an, dies
erkennen Sie daran, dass &man.date.1; die
falsche Zeit und eine flasche Zeitzone anzeigt, setzen Sie das
folgende Kommando ab:&prompt.root; adjkerntz -iDies stellt sicher, dass Ihre Zeitzone richtig
eingestellt ist. Ohne dieses Kommando werden Sie
vielleicht später Probleme bekommen.Entfernen Sie /usr/objDie neugebauten Teile des Systems werden in der Voreinstellung
unter /usr/obj gespeichert. Die Verzeichnisse
dort spiegeln die Struktur unter
/usr/src.Sie können den make world Prozess
beschleunigen, indem Sie dieses Verzeichnis entfernen. Dies
erspart Ihnen zudem einigen Ärger aufgrund von
Abhängigkeiten.Einige Dateien unter /usr/obj sind
vielleicht durch die -Option
(siehe &man.chflags.1;) schreibgeschützt, die vor dem
Löschen entfernt werden muss.&prompt.root; cd /usr/obj
&prompt.root; chflags -R noschg *
&prompt.root; rm -rf *Übersetzen der QuellenSichern der AusgabenFür den Fall, dass etwas schief geht, sollten Sie
die Ausgaben von &man.make.1; in einer Datei sichern, damit Sie
eine Kopie der Fehlermeldung besitzen. Das mag Ihnen nicht
helfen, den Fehler zu finden, kann aber anderen helfen, wenn Sie
Ihr Problem in einer der &os;-Mailinglisten schildern.Dazu können Sie einfach das Kommando &man.script.1;
benutzen, dem Sie beim Aufruf als Parameter den Dateinamen
für die Ausgaben mitgeben. Setzen Sie das Kommando
unmittelbar vor dem Neubau ab und geben Sie
exit ein, wenn der Bau abgeschlossen
ist:&prompt.root; script /var/tmp/mw.out
-Script started, output file is /var/tmp/mw.out
+Script started, output file is /var/tmp/mw.out
&prompt.root; make TARGET
-… Ausgaben des Kommandos …
+… Ausgaben des Kommandos …
&prompt.root; exit
Script done, …Sichern Sie die Ausgaben nicht in /tmp,
da dieses Verzeichnis beim nächsten Boot aufgeräumt
werden kann. Ein geeigneteres Verzeichnis ist
/var/tmp, wie im vorigen Beispiel gezeigt,
oder das Heimatverzeichnis von root.Übersetzen des BasissystemsWechseln Sie in das Verzeichnis, in dem die Quellen liegen
(in der Voreinstellung ist das
/usr/src):&prompt.root; cd /usr/srcmakeZum Neubau der Welt benutzen Sie &man.make.1;. Dieses
Kommando liest ein Makefile, das Anweisungen
enthält, wie die Programme, aus denen &os; besteht, zu bauen
sind und in welcher Reihenfolge diese zu bauen sind.Ein typischer Aufruf von make sieht wie
folgt aus:&prompt.root; make -x -DVARIABLEtargetIn diesem Beispiel ist
eine Option, die
Sie an &man.make.1; weitergeben wollen. Eine Liste gültiger
Optionen finden Sie in der &man.make.1; Manualpage.Das Verhalten eines Makefiles wird von
Variablen bestimmt. Mit
setzen Sie
eine Variable. Diese Variablen sind dieselben, die auch in
/etc/make.conf gesetzt werden, dies ist nur
ein alternativer Weg, Variablen zu setzen.Um zu verhindern, dass die profiled
Bibliotheken gebaut werden, rufen Sie make wie
folgt auf:&prompt.root; make -DNOPROFILE targetDieser Aufruf entspricht dem folgenden Eintrag in
/etc/make.conf:NOPROFILE= true # Avoid compiling profiled librariesJedes Makefile definiert einige
Ziele, die festlegen, was genau zu tun ist. Mit
target wählen Sie eins dieser
Ziele aus.Einige Ziele im Makefile sind nicht
für den Endanwender gedacht, sondern unterteilen den
Bauprozess in eine Reihe von Einzelschritten.Im Regelfall müssen Sie &man.make.1; keine Parameter
mitgeben, so dass Ihre Kommandozeile wie folgt aussehen
wird:&prompt.root; make targetIn der &os; Version 2.2.5 wurde das Ziel
world in zwei Ziele aufgespalten:
buildworld und
installworld. Tatsächlich ist das
zuerst in &os.current; passiert und wurde dann irgendwann
zwischen den Versionen 2.2.2 und 2.2.5 in &os.stable;
eingebaut.Mit buildworld wird ein kompletter
Baum unterhalb von /usr/obj gebaut, der mit
installworld auf dem System installiert
werden kann.Dies ist aus zwei Gründen nützlich. Erstens
können Sie das System auf einem laufenden System bauen, da die
Bauprozedur abgekapselt vom Rest des Systems ist. Das System
lässt sich im Mehrbenutzermodus ohne negative
Seiteneffekte bauen. Die Installation mit
installworld sollte aber immer noch im
Single-User Modus erfolgen.Zweitens können Sie NFS benutzen, um mehrere Maschinen
in Ihrem Netzwerk zu aktualisieren. Wenn Sie die Maschinen
A, B und C
aktualisieren wollen, lassen sie make
buildworld und make installworld auf
A laufen. Auf den Maschinen B
und C können Sie die
Verzeichnisse /usr/src und
/usr/obj von A einhängen
und brauchen dort nur noch make installworld
auszuführen, um die Bauresultate zu installieren.Obwohl das Ziel world noch
existiert, sollten Sie es wirklich nicht mehr benutzen.Um das System zu bauen, setzen Sie das folgende Kommando
ab:&prompt.root; make buildworld
-
+
Mit können Sie
make anweisen, mehrere Prozesse zu starten.
Besonders effektiv ist das auf Mehrprozessor-Systemen. Da aber
der Übersetzungsprozess hauptsächlich von IO statt
der CPU bestimmt wird, ist diese Option auch auf
Einprozessor-Systemen nützlich.Auf einem typischen Einprozessor-System können Sie den
folgenden Befehl absetzen:
-
+
&prompt.root; make -j4 buildworld&man.make.1; wird dann bis zu vier Prozesse gleichzeitig
laufen lassen. Erfahrungsberichte aus den Mailinglisten zeigen,
dass dieser Aufruf typischerweise den besten
Geschwindigkeitsgewinn bringt.Wenn Sie ein Mehrprozessor-System besitzen und SMP in Ihrem
Kernel konfiguriert ist, probieren Sie Werte zwischen 6 und 10
aus.Beachten Sie bitte, dass dies noch nicht richtig
unterstützt wird und dass es bei einigen
Änderungen am Quellbaum zu Fehlern kommen kann. Wenn Sie
diesen Parameter benutzt haben und der Bau nicht funktioniert,
bauen Sie bitte noch einmal ohne den Parameter, bevor Sie ein
Problem melden.
-
+
Laufzeitenmake worldLaufzeitenDie Laufzeit eines Baus wird von vielen Faktoren
beeinflusst. Ein 500 MHz Pentium III braucht
ungefähr zwei Stunden um &os.stable; zu bauen. Der Bau von
&os.current; dauert etwas länger.
-
+
Übersetzen und Installation des KernelsKernelÜbersetzenUm das Beste aus Ihrem System zu holen, sollten Sie einen neuen
Kernel kompilieren. Praktisch gesehen ist das sogar notwendig, da
sich einige Datenstrukturen geändert haben und Programme wie
&man.ps.1; oder &man.top.1; nur mit einem Kernel zusammen arbeiten,
der auch zu dem entsprechenden Quellcode passt.Am einfachsten und sichersten bauen Sie dazu den
GENERIC Kernel. Obwohl der
GENERIC Kernel vielleicht nicht alle
Ihre Geräte unterstützt, sollte er alles enthalten,
um das System in den Single-User Modus zu booten. Dies ist auch
ein guter Test, um zu sehen, dass das System
ordnungsgemäß funktioniert. Nachdem Sie mit
GENERIC gebootet und sichergestellt haben,
dass Ihr System funktioniert, können Sie einen neuen
Kernel mit Ihrer Konfigurationsdatei bauen.Wenn Sie einen Update nach &os; 4.0 oder höher
durchführen, sollten Sie den Kernel nicht mit der
alten Methode, die in
beschrieben ist, bauen. Stattdessen benutzen Sie die nachstehenden
Kommandos (die neue Methode)
nach dem
Bau des Basissystems mit
buildworld.Wenn Sie einen angepassten Kernel erstellen wollen und
bereits über eine Konfigurationsdatei verfügen,
geben Sie diese, wie im folgenden Beispiel gezeigt, auf der
Kommandozeile an:&prompt.root; cd /usr/src
&prompt.root; make buildkernel KERNCONF=MYKERNEL
&prompt.root; make installkernel KERNCONF=MYKERNELWenn Sie FreeBSD 4.2 oder eine ältere Version
verwenden, ersetzen Sie KERNCONF= durch
KERNEL=. Ab der 4.2-STABLE Version vom
2. Februar 2001 können Sie die Variable
KERNCONF verwenden.Wenn kern.securelevel einen Wert
größer als 1 besitzt
und der Kernel mit noschg
oder ähnlichen Optionen geschützt ist, müssen Sie
installkernel im Einbenutzermodus
ausführen. Wenn das nicht der Fall ist, sollten die beiden
Kommandos problemlos im Mehrbenutzermodus laufen. Weitere
Informationen über kern.securelevel finden
Sie in &man.init.8; und &man.chflags.1; erläutert Optionen, die
Sie auf Dateien setzen können.Wenn Sie ein Update auf eine &os; Version vor 4.0
durchführen, sollten Sie die alte Methode
benutzen. Es ist allerdings empfohlen, dazu die frisch gebaute
Version von &man.config.8; zu benutzen:
-
+
&prompt.root; /usr/obj/usr/src/usr.sbin/config/config KERNELNAMEBooten Sie in den Single-User ModusSingle-User ModusUm zu prüfen, ob der neue Kernel funktioniert, sollten Sie
in den Single-User Modus booten. Folgen Sie dazu der Anleitung aus
.Installation des SystemsWenn Sie make buildworld benutzt haben, um
das System zu bauen, sollten Sie jetzt
installworld benutzen, um es zu
installieren. Rufen Sie dazu das folgende Kommando auf:&prompt.root; cd /usr/src
&prompt.root; make installworldWenn Sie mit dem make buildworld Kommando
Variablen verwenden haben, müssen Sie dieselben Variablen
auch bei dem make installworld Kommando
angeben. Auf die anderen Optionen trifft das nur bedingt zu:
darf mit installworld
nicht benutzt werden.
-
+
Sie haben zum Bauen die folgende Kommandozeile
verwendet:&prompt.root; make -DNOPROFILE buildworldBei der Installation setzen Sie dann das folgende Kommando
ab:&prompt.root; make -DNOPROFILE installworldWürden Sie die Variable bei der Installation weglassen,
so würde das System versuchen, die profiled
Bibliotheken, die aber gar nicht gebaut wurden, zu
installieren.Aktualisieren der von make installworld
ausgelassenen Dateien
-
+
Neue oder geänderte Konfigurationsdateien aus einigen
Verzeichnissen, besonders /etc,
/var und /usr werden bei
der Installationsprozedur nicht berücksichtigt.Sie können diese Dateien mit &man.mergemaster.8;
aktualisieren. Alternativ können Sie das auch manuell
durchführen, obwohl wir diesen Weg nicht empfehlen. Egal
welchen Weg Sie beschreiten, sichern Sie vorher den Inhalt von
/etc für den Fall, dass etwas schief
geht.TomRhodesBeigetragen von mergemastermergemasterDas Bourne-Shell Skript &man.mergemaster.8; hilft Ihnen dabei,
die Unterschiede zwischen den Konfigurationsdateien in
/etc und denen im Quellbaum unter
/usr/src/etc zu finden.
mergemaster ist der empfohlene Weg, Ihre
Systemkonfiguration mit dem Quellbaum abzugleichen.Zwischen 3.3-RELEASE und 3.4-RELEASE wurde
mergemaster in das Basissystem integriert, so
dass es in allen -STABLE und -CURRENT Systemen seit der
Version 3.3 vorhanden ist.Rufen Sie mergemaster einfach auf und
schauen Sie zu. Ausgehend von / wird
mergemaster einen virtuellen Root-Baum
aufbauen und darin die neuen Konfigurationsdateien ablegen.
Diese Dateien werden dann mit den auf Ihrem System installierten
verglichen. Unterschiede zwischen den Dateien werden im
&man.diff.1;-Format dargestellt. Neue oder geänderte Zeilen
werden mit gekennzeichnet. Zeilen die
gelöscht oder ersetzt werden, sind mit einem
gekennzeichnet. Das Anzeigeformat wird in
&man.diff.1; genauer erklärt.&man.mergemaster.8; zeigt Ihnen jede geänderte Datei an
und Sie haben die Wahl, die neue Datei (in
mergemaster wird sie temporäre Datei
genannt) zu löschen, sie unverändert zu installieren,
den Inhalt der neuen Datei mit dem Inhalt der alten Datei
abzugleichen, oder die &man.diff.1; Ausgabe noch einmal zu
sehen. Sie können die aktuelle Datei auch
überspringen, sie wird dann noch einmal angezeigt, nachdem
alle anderen Dateien abgearbeitet wurden. Sie erhalten Hilfe,
wenn Sie bei der Eingabeaufforderung von
mergemaster ein ?
eingeben.Wenn Sie die temporäre Datei löschen, geht
mergemaster davon aus, dass Sie Ihre
aktuelle Datei behalten möchten. Wählen Sie die Option
bitte nur dann, wenn Sie keinen Grund sehen, die aktuelle Datei
zu ändern.Wenn Sie die temporäre Datei installieren, wird Ihre
aktuelle Datei mit der neuen Datei überschrieben. Sie
sollten alle unveränderten Konfigurationsdateien auf diese
Weise aktualisieren.Wenn Sie sich entschließen den Inhalt beider Dateien
abzugleichen, wird ein Texteditor aufgerufen, indem Sie beide
Dateien nebeneinander betrachten können. Mit der Taste
l übernehmen Sie die aktuelle Zeile der
links dargestellten Datei, mit der Taste r
übernehmen Sie die Zeile der rechts dargestellten Datei.
Das Ergebnis ist eine Datei, die aus Teilen der beiden
ursprünglichen Dateien besteht und installiert werden kann.
Dieses Verfahren wird gewöhnlich bei veränderten
Dateien genutzt.Haben Sie sich entschieden die Differenzen noch einmal
anzuzeigen, zeigt Ihnen &man.mergemaster.8; dieselbe Ausgabe, die
Sie gesehen haben, bevor die Eingabeaufforderung ausgegeben
wurde.Wenn &man.mergemaster.8; alle Systemdateien abgearbeitet hat,
werden weitere Optionen abgefragt. Sie werden unter
Umständen gefragt, ob Sie die Passwort-Datei neu bauen
oder &man.MAKEDEV.8; laufen lassen wollen. Am Ende
haben Sie die Möglichkeit, den Rest der temporären Dateien
zu löschen.Manueller Abgleich der KonfigurationsdateienWenn Sie den Abgleich lieber selbst ausführen wollen,
beachten Sie bitte, dass Sie nicht einfach die Dateien aus
/usr/src/etc nach /etc
kopieren können. Einige dieser Dateien müssen zuerst
installiert werden, bevor sie benutzt werden
können. Das liegt daran, dass
/usr/src/etc keine exakte Kopie von
/etc ist. Zudem gibt es Dateien, die sich
in /etc befinden aber nicht in
/usr/src/etc. Wenn Sie, wie empfohlen,
mergemaster benutzen, lesen Sie bitte im
nächsten Abschnitt
weiter.Am einfachsten ist es, wenn Sie die neuen Dateien in ein
temporäres Verzeichnis installieren und sie nacheinander auf
Differenzen zu den bestehenden Dateien durchsehen.Sichern Sie die Inhalte von /etcObwohl bei dieser Prozedur keine Dateien in
/etc automatisch verändert werden,
sollten Sie dessen Inhalt an einen sicheren Ort
kopieren:&prompt.root; cp -Rp /etc /etc.oldMit wird rekursiv kopiert und
erhält die Attribute der kopierten
Dateien, wie Zugriffszeiten und Eigentümer.
-
+
Sie müssen die neuen Dateien in einem temporären
Verzeichnis installieren. /var/tmp/root ist
eine gute Wahl für das temporäre Verzeichnis, in dem
auch noch einige Unterverzeichnisse angelegt werden
müssen.&prompt.root; mkdir /var/tmp/root
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distributionDie obigen Kommandos bauen die nötige
Verzeichnisstruktur auf und installieren die neuen Dateien in
diese Struktur. Unterhalb von /var/tmp/root
wurden einige leere Verzeichnisse angelegt, die Sie am besten wie
folgt entfernen:
-
+
&prompt.root; cd /var/tmp/root
&prompt.root; find -d . -type d | xargs rmdir 2>/dev/null
-
+
Im obigen Beispiel wurde die Fehlerausgabe nach
/dev/null umgeleitet, um die Warnungen
über nicht leere Verzeichnisse zu unterdrücken./var/tmp/root enthält nun alle
Dateien, die unterhalb von / installiert
werden müssen. Sie müssen nun jede dieser Dateien mit
den schon existierenden Dateien vergleichen.
-
+
Einige der installierten Dateien unter
/var/tmp/root beginnen mit einem /var/tmp/root/ und
/var/tmp/root/root/. Abhängig davon,
wann Sie dieses Handbuch lesen, können mehr Dateien dieser
Art existieren. Verwenden Sie ls -a um
sicherzustellen, dass Sie alle derartigen Dateien
finden.
-
+
Benutzen Sie &man.diff.1; um Unterschiede zwischen zwei
Dateien festzustellen:
-
+
&prompt.root; diff /etc/shells /var/tmp/root/etc/shells
-
+
Das obige Kommando zeigt Ihnen die Unterschiede zwischen der
installierten Version von /etc/shells und
der neuen Version in /var/tmp/root/etc/shells.
Entscheiden Sie anhand der Unterschiede, ob
Sie beide Dateien abgleichen oder die neue Version über die
alte kopieren wollen.
-
+
Versehen Sie das temporäre Verzeichnis mit einem
ZeitstempelWenn Sie das System oft neu bauen, müssen Sie
/etc genauso oft aktualisieren. Dies kann
mit der Zeit sehr lästig werden.Sie können das Verfahren beschleunigen, wenn Sie sich
eine Kopie der Dateien behalten, die Sie zuletzt nach
/etc installiert haben. Das folgende
Verfahren zeigt Ihnen, wie das geht.Folgen Sie der normalen Prozedur um das System zu
bauen. Wenn Sie /etc und die anderen
Verzeichnisse aktualisieren wollen, geben Sie dem
temporären Verzeichnis einen Namen, der das aktuelle
Datum enthält. Wenn Sie dies zum Beispiel am
14. Februar 1998 durchführten, hätten Sie die
folgenden Kommandos abgesetzt:
-
+
&prompt.root; mkdir /var/tmp/root-19980214
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root-19980214 \
distrib-dirs distribution
-
+
Gleichen Sie die Änderungen entsprechend der
Anleitung von oben ab.Wenn Sie fertig sind, entfernen Sie das Verzeichnis
/var/tmp/root-19980214nicht.
-
+
Wenn Sie nun neue Quellen heruntergeladen und gebaut
haben, folgen Sie bitte Schritt 1. Wenn Sie zwischen den
Updates eine Woche gewartet haben, haben Sie nun ein
Verzeichnis mit dem Namen
/var/tmp/root-19980221.
-
+
Sie können nun die Unterschiede, die sich in einer
Woche ergeben haben, sehen, indem Sie &man.diff.1; rekursiv
anwenden:
-
+
&prompt.root; cd /var/tmp
&prompt.root; diff -r root-19980214 root-19980221
-
+
Üblicherweise sind die Differenzen, die Sie jetzt
sehen, kleiner als die Differenzen zwischen
/var/tmp/root-19980221/etc und
/etc. Da die angezeigten Differenzen
kleiner sind, ist es jetzt einfacher den Abgleich der
Dateien durchzuführen.
-
+
Sie können nun das älteste der beiden
/var/tmp/root-* Verzeichnisse
entfernen:
-
+
&prompt.root; rm -rf /var/tmp/root-19980214
-
+
Wiederholen Sie diesen Prozess jedes Mal wenn Sie
Dateien in /etc abgleichen
müssen.Mit &man.date.1; können Sie den Verzeichnisnamen
automatisch erzeugen:
-
+
&prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"`
-
+
Aktualisieren Sie /dev
-
+
DEVFSÜberspringen Sie diesen Abschnitt, wenn Sie
FreeBSD 5.0 oder eine neuere Version benutzen. In diesen
Versionen werden die Gerätedateien automatisch von
&man.devfs.5; angelegt.In den meisten Fällen bemerkt &man.mergemaster.8; wann es
notwendig ist, Gerätedateien in /dev
zu erstellen. Die folgenden Anweisungen zeigen Ihnen, wie Sie dies
manuell durchführen.
-
+
Um sicher zu gehen, besteht dieser Prozess aus mehreren
Schritten.Kopieren Sie /var/tmp/root/dev/MAKEDEV
nach /dev:&prompt.root; cp /var/tmp/root/dev/MAKEDEV /devMAKEDEVWenn Sie &man.mergemaster.8; benutzt haben, sollte
MAKEDEV schon aktualisiert sein, obwohl es
nicht schadet, das mit diff zu
überprüfen und die Datei, wenn nötig, manuell zu
kopieren.Sichern Sie jetzt die Dateiinformationen aus
/dev. Sie brauchen die Rechte,
Eigentümer, sowie die Major und Minor Nummern der
Gerätedateien (die Zeitstempel sind nicht wichtig). Am
besten erledigen Sie das mit &man.awk.1;:&prompt.root; cd /dev
&prompt.root; ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.outErstellen Sie alle Gerätedateien neu:
-
+
&prompt.root; Sammeln Sie erneut die Dateiinformationen aus
/dev, diesmal in der Datei
/var/tmp/dev2.out ein. Vergleichen Sie
beide Dateien und suchen Sie nach Gerätedateien, die nicht
erstellt wurden. Sie sollten keine finden, aber es ist besser
das jetzt wirklich zu kontrollieren:&prompt.root; diff /var/tmp/dev.out /var/tmp/dev2.outWenn es doch fehlende Einträge gibt, sind dies
wahrscheinlich fehlende Geräte für Slices. Diese
können Sie mit einem Befehl wie dem folgenden
wiederherstellen:
-
+
&prompt.root; sh MAKEDEV sd0s1Die genauen Geräte können bei Ihnen
natürlich andere sein.
-
+
Aktualisieren Sie /stand
-
+
Dieser Schritt wurde nur der Vollständigkeit wegen
aufgenommen. Sie können ihn komplett auslassen.
-
+
Der Vollständigkeit halber wollen Sie vielleicht auch die
Dateien in /stand aktualisieren. Alle Dateien
in diesem Verzeichnis sind Hardlinks zu
/stand/sysinstall. Dieses Programm ist
statisch gelinkt, so dass es unabhängig von den Dateien
in anderen Dateisystemen, insbesondere /usr,
ist.&prompt.root; cd /usr/src/release/sysinstall
&prompt.root; make all install
-
+
Booten
-
+
Sie sind nun am Ende der Prozedur angelangt. Nachdem Sie sich
davon überzeugt haben, dass Ihr System funktioniert,
booten Sie das System mit &man.fastboot.8;:&prompt.root; fastbootEnde
-
+
Herzlichen Glückwunsch! Sie haben gerade erfolgreich Ihr
&os; System aktualisiert.
-
+
Es ist übrigens leicht einen Teil des Systems
wiederherzustellen, für den Fall, dass Ihnen ein kleiner
Fehler unterlaufen ist. Wenn Sie beispielsweise während des
Updates oder Abgleichs /etc/magic aus Versehen
gelöscht haben, wird &man.file.1; nicht mehr funktionieren.
In diesem Fall können Sie das Problem mit dem folgenden
Kommando beheben:&prompt.root; cd /usr/src/usr.bin/file
&prompt.root;
-
-
+
+
FragenMuss ich wirklich immer alles neu bauen, wenn sich
etwas geändert hat?Darauf gibt es keine einfache Antwort. Was zu tun ist,
hängt von den Änderungen ab. Es lohnt
wahrscheinlich nicht, alles neu zu bauen, wenn sich bei einem
CVSup-Lauf nur die folgenden
Dateien geändert haben:
-
+
src/games/cribbage/instr.csrc/games/sail/pl_main.csrc/release/sysinstall/config.csrc/release/sysinstall/media.csrc/share/mk/bsd.port.mkIn diesem Fall können Sie in die entsprechenden
Unterverzeichnisse wechseln und dort make all
install ausführen. Wenn sich allerdings etwas
Wichtiges, wie src/lib/libc/stdlib,
geändert hat, sollten Sie die Welt oder
mindestens die statisch gelinkten Teile des Systems (sowie
Ihre statisch gelinkten Ergänzungen) neu bauen.
-
+
Letztendlich ist das Ihre Entscheidung. Sie sind
vielleicht damit zufrieden, das System alle zwei Wochen neu
zu bauen und in der Zwischenzeit die anfallenden
Änderungen zu sammeln. Wenn Sie sich zutrauen, alle
Abhängigkeiten zu erkennen, bauen Sie vielleicht auch
nur die geänderten Sachen neu.
-
+
Das hängt natürlich auch noch davon ab, wie oft
Sie ein Update durchführen wollen und ob Sie &os.stable;
oder &os.current; benutzen.Der Bau bricht mit vielen
Signal 11-Fehlern (oder anderen
Signalnummern) ab. Was ist da passiert?Signal 11Normalerweise zeigen diese Meldungen Hardwarefehler an.
Ein Neubau der Welt ist ein guter Belastungstest für
Ihre Hardware und zeigt oft Probleme mit dem Speicher auf.
Dies äußert sich darin, dass der Kompiler
mit dem Erhalt von seltsamen Signalen abbricht.
-
+
Es liegt garantiert ein Hardwarefehler vor, wenn ein
neuer Übersetzungslauf an einer anderen Stelle
abbricht.
-
+
In diesem Fall können Sie nur einzelne Komponenten
Ihres Systems tauschen, um zu bestimmen, welche Komponente den
Fehler verursacht.Kann ich /usr/obj löschen, wenn
ich fertig bin?
-
+
Kurze Antwort: Ja.
-
+
In /usr/obj werden alle Dateien
abgelegt, die während der Übersetzungsphase erstellt
wurden. Dieses Verzeichnis wird in einem der ersten Schritte
der Bauprozedur entfernt. Es macht daher
wenig Sinn, dieses Verzeichnis zu behalten und Sie setzen
eine Menge Plattenplatz, momentan ungefähr 340 MB,
frei, wenn Sie es löschen.
-
+
Wenn Sie allerdings genau wissen, was Sie tun, können
Sie diesen Schritt bei make world
auslassen. Nachfolgende Bauprozeduren werden dadurch erheblich
schneller, da die meisten Quelldateien nicht mehr neu
übersetzt werden. Dafür können aber subtile
Abhängigkeitsprobleme entstehen, die dazu führen,
dass der Bau auf merkwürdige Weise abbrechen kann.
Dies führt häufig zu unnötigen Diskussionen auf
den &os; Mailinglisten, wenn sich jemand über einen
kaputten Bau beschwert, aber nicht sieht, dass er
Probleme hat, weil er eine Abkürzung genommen hat.Kann ein abgebrochener Bau weitergeführt
werden?Das hängt davon ab, wieweit der Bauprozess
fortgeschritten ist.Üblicherweise werden
essentielle Werkzeuge, wie &man.gcc.1; und &man.make.1;,
und die Systembibliotheken während des Bauprozesses
neu erstellt (dies ist aber keine allgemein gültige
Regel). Die neu erstellen Werkzeuge und Bibliotheken werden
dann benutzt, um sich selbst noch einmal zu bauen, und wieder
installiert. Anschließend wird das Gesamtsystem mit
den neu erstellten Systemdateien gebaut.Wenn Sie sich im letzten Schritt befinden und Sie wissen,
dass Sie dort sind, weil Sie durch die Ausgaben, die Sie
ja sichern, der Bauprozedur gesehen haben, können Sie
mit ziemlicher Sicherheit den Bau weiterführen:… Fehler beheben …
&prompt.root; cd /usr/src
&prompt.root; make -DNOCLEAN allDie Variable NOCLEAN verhindert,
dass make world die vorher erstellten
Dateien löscht.Das Sie sich im letzten Schritt der Bauprozedur
befinden, erkennen Sie daran, dass Sie in der Ausgabe die
folgenden Zeilen finden:--------------------------------------------------------------
Building everything..
--------------------------------------------------------------Wenn Sie diese Meldung nicht finden, oder sich nicht sicher
sind, dann ist es besser, noch einmal ganz von Vorne
anzufangen.Wie kann ich den Bauprozesss beschleunigen?Bauen Sie im Single-User Modus.
-
+
Legen Sie /usr/src und
/usr/obj in getrennte Dateisysteme auf
unterschiedliche Festplatten. Benutzen Sie nach
Möglichkeit auch getrennte Platten-Controller.
-
+
Noch besser ist es, diese Dateisysteme auf mehrere
Festplatten mit &man.ccd.4; zu verteilen.
-
+
Bauen Sie die profiled-Bibliotheken,
die Sie wahrscheinlich sowieso nicht brauchen, nicht.
/etc/make.conf sollte dazu
NOPROFILE=true enthalten.
-
+
Setzen Sie die CFLAGS in
/etc/make.conf auf . Die Optimierungsstufe
ist deutlich langsamer und die
Performance-Unterschiede zwischen und
sind vernachlässigbar klein.
veranlasst den Kompiler Pipes
anstelle von Dateien für die Kommunikation zu
benutzen. Dies spart einige Plattenzugriffe, geht aber
auf Kosten des Speichers.
-
+
Benutzen Sie
, um
mehrere Prozesse parallel laufen zu lassen.
Normalerweise beschleunigt dies den Bauprozess
unabhängig davon, ob Sie ein Einprozessor oder
Mehrprozessor System einsetzen.
-
+
Sie können das Dateisystem
/usr/src mit der Option
einhängen. Dies
verhindert, dass die Zugriffszeiten der Dateien
aktualisiert werden (eine Information, die Sie vielleicht
gar nicht brauchen).
-
+
&prompt.root; mount -u -o noatime /usr/src
-
+
Das Beispiel geht davon aus, dass sich
/usr/src auf einem separaten
Dateisystem befindet. Wenn das nicht der Fall ist,
weil das Verzeichnis beispielsweise Teil des
/usr Dateisystems ist,
müssen Sie anstelle von
/usr/src den Mountpoint des
Dateisystems angeben.
-
+
Das Dateisystem, in dem sich
/usr/obj befindet, kann mit der
Option eingehangen werden. Dies
bewirkt, dass Schreibzugriffe auf die Platte
asynchron stattfinden, das heißt ein Schreibzugriff
ist sofort beendet, die Daten werden allerdings erst einige
Sekunden später geschrieben. Dadurch können
Schreibzugriffe zusammengefasst werden, was einen
erheblichen Geschwindigkeitszuwachs mit sich bringen
kann.Beachten Sie, dass dies Ihr Dateisystem
anfälliger für Fehler macht. Im Fall eines
Stromausfalls besteht eine erhöhte
Wahrscheinlichkeit, dass das Dateisystem beim
Start der Maschine zerstört ist.
-
+
Wenn sich /usr/obj auf einem
extra Dateisystem befindet, ist das kein Problem. Wenn
sich allerdings auf diesem Dateisystem noch andere
wertvolle Daten befinden, stellen Sie sicher, dass
Sie aktuelle Sicherungen besitzen.
-
+
&prompt.root; mount -u -o async /usr/obj
-
+
Ersetzen Sie /usr/obj durch
den Mountpoint des entsprechenden Dateisystems, wenn es
sich nicht auf einem eigenen Dateisystem
befindet.Was mache ich, wenn etwas nicht funktioniert?Stellen Sie sicher, dass sich in Ihrer Umgebung
keine Reste eines vorherigen Baus befinden. Das geht ganz
einfach:&prompt.root; chflags -R noschg /usr/obj/usr
&prompt.root; rm -rf /usr/obj/usr
&prompt.root; cd /usr/src
&prompt.root; make cleandir
&prompt.root; make cleandirJa, make cleandir muss wirklich
zweimal aufgerufen werden.Nachdem Sie aufgeräumt haben, starten Sie den
Bauprozess wieder mit make
buildworld.Wenn Sie immer noch Probleme haben, schicken Sie die
Fehlermeldungen und die Ausgabe von uname
-a an die Mailingliste &a.de.questions;. Bereiten
Sie sich darauf vor, weitere Fragen zu Ihrer Umgebung zu
beantworten.MikeMeyerBeigetragen von Installation mehrerer Maschinen
-
+
Wenn Sie mehrere Maschinen besitzen, die Sie alle auf dem
gleichen Stand halten wollen, ist es eine Verschwendung von
Ressourcen, die Quellen auf jeder Maschine vorzuhalten und zu
übersetzen. Die Lösung dazu ist, eine Maschine den
Großteil der Arbeit durchführen zu lassen und den anderen
Maschinen das Ergebnis mit NFS zur Verfügung zu stellen. Dieser
Abschnitt zeigt Ihnen wie das geht.VoraussetzungenStellen Sie zuerst eine Liste der Maschinen zusammen, die auf
demselben Stand sein sollen. Wir nennen diese Maschinen die
Baugruppe. Jede dieser Maschinen kann mit
einem eigenen Kernel laufen, doch sind die Programme des Userlands
auf allen Maschinen gleich. Wählen Sie aus der Baugruppe eine
Maschine aus, auf der der Bau durchgeführt wird, den
Bau-Master. Dies sollte eine Maschine sein,
die über die nötigen Ressourcen für make
world verfügt. Sie brauchen auch eine
Testmaschine, auf der Sie die Updates testen,
bevor Sie sie in Produktion installieren. Dies sollte eine
Maschine, eventuell der Bau-Master, sein, die über einen
längeren Zeitraum nicht zur Verfügung stehen kann.
Alle Maschinen der Baugruppe müssen
/usr/obj und /usr/src von
derselben Maschine an gleichem Ort einhängen. Idealerweise
befinden sich die beiden Verzeichnisse auf dem Bau-Master auf
verschiedenen Festplatten, sie können allerdings auch auf dem
Bau-Master über NFS zur Verfügung gestellt werden. Wenn
Sie mehrere Baugruppen haben, sollte sich
/usr/src auf einem Bau-Master befinden und
über NFS für den Rest der Maschinen zur Verfügung
gestellt werden.
-
+
Stellen Sie sicher, dass
/etc/make.conf auf allen Maschinen einer
Baugruppe mit der Datei des Bau-Masters übereinstimmt. Der
Bau-Master muss jeden Teil des Systems bauen, den irgendeine
Maschine der Baugruppe benötigt. Auf dem Bau-Master
müssen in /etc/make.conf alle zu bauenden
Kernel mit der Variablen KERNCONF bekannt gegeben
werden. Geben Sie dabei den Kernel des Bau-Masters zuerst an.
Für jeden zu bauenden Kernel muss auf dem Bau-Master die
entsprechende Konfigurationsdatei unter
/usr/src/sys/arch/conf
abgelegt werden.Installation des BasissystemsNach diesen Vorbereitungen können Sie mit dem Bau
beginnen. Bauen Sie auf dem Bau-Master, wie in beschrieben, den Kernel und die Welt,
installieren Sie aber nichts. Wechseln Sie auf die Testmaschine
und installieren Sie den gerade gebauten Kernel. Wenn diese
Maschine /usr/src und
/usr/obj über NFS bekommt, müssen
Sie das Netzwerk im Single-User Modus aktivieren und die beiden
Dateisysteme einhängen. Am einfachsten ist dies, wenn Sie
auf der Testmaschine ausgehend vom Mehrbenutzermodus mit
shutdown now in den Single-User Modus wechseln.
Sie können dann mit der normalen Prozedur den neuen Kernel
und das System installieren und anschließend
mergemaster laufen lassen. Wenn Sie damit
fertig sind, können Sie die Maschine wieder in den
Mehrbenutzermodus booten.Nachdem Sie sichergestellt haben, dass die Testmaschine
einwandfrei funktioniert, wiederholen Sie diese Prozedur für
jede Maschine in der Baugruppe.Die Ports-SammlungDasselbe Verfahren können Sie auch für die
Ports-Sammlung anwenden. Zuerst müssen alle Maschinen einer
Baugruppe /usr/ports von derselben Maschine
über NFS zur Verfügung gestellt bekommen. Setzen Sie
dann ein Verzeichnis für die Quellen auf, das sich alle
Maschinen teilen. Dieses Verzeichnis können Sie in
/etc/make.conf mit der Variablen
DISTDIR angeben. Das Verzeichnis sollte
für den Benutzer beschreibbar sein, auf den der Benutzer
root vom NFS Subsystem abgebildet wird. Jede
Maschine sollte noch WRKDIRPREFIX auf ein
lokales Bauverzeichnis setzen. Wenn Sie vorhaben, Pakete zu bauen
und zu verteilen, sollten Sie PACKAGES auf ein
Verzeichnis mit den gleichen Eigenschaften wie
DISTDIR setzen.
-
diff --git a/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml b/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml
index 44845b5df8..57703bbf8b 100644
--- a/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml
@@ -1,2130 +1,2130 @@
Ressourcen im Internet
-
+
Gedruckte Medien können mit der schnellen Entwicklung von
FreeBSD nicht Schritt halten. Elektronische Medien sind häufig
die einzige Möglichkeit, über aktuelle Entwicklungen
informiert zu sein. Da FreeBSD ein Projekt von Freiwilligen ist, gibt
die Benutzergemeinde selbst auch technische Unterstützung. Die
Benutzergemeinde erreichen Sie am besten über E-Mail oder
Usenet-News.
-
+
Die wichtigsten Wege, auf denen Sie die FreeBSD Benutzergemeinde
erreichen können, sind unten dargestellt. Wenn Sie weitere
Ressourcen kennen, die hier fehlen, schicken Sie diese bitte an die
Mailingliste &a.doc;, so dass sie hier aufgenommen werden
können.
-
+
Mailinglisten
-
+
Obwohl viele FreeBSD Entwickler Usenet-News lesen, können
wir nicht garantieren, dass Sie eine zügige Antwort auf
Ihre Fragen bekommen, wenn Sie diese nur in einer der
comp.unix.bsd.freebsd.* Gruppen stellen. Wenn Sie
Ihre Fragen auf der passenden Mailingliste stellen, erreichen Sie
sowohl die Entwickler wie auch die FreeBSD Benutzergemeinde und
erhalten damit bessere (oder zumindest schnellere) Antworten.Die Chartas der verschiedenen Listen sind unten wiedergegeben.
Bevor Sie sich einer Mailingliste anschließen oder
E-Mails an eine Liste senden, lesen Sie bitte die Charta der
Liste. Die meisten Mitglieder unserer Mailinglisten
erhalten Hunderte E-Mails zum Thema FreeBSD pro Tag. Die Chartas und
Regeln, die den Gebrauch der Listen beschreiben, garantieren die hohe
Qualität der Listen. Die Listen würden ihren hohen Wert
für das Projekt verlieren, wenn wir weniger Regeln aufstellen
würden.Alle Mailinglisten werden archiviert und können auf dem
FreeBSD World Wide Web
Server durchsucht werden. Das nach
Schlüsselwörtern durchsuchbare Archiv bietet die
hervorragende Möglichkeit, Antworten auf häufig gestellte
Fragen zu finden. Nutzen Sie bitte diese Möglichkeit bevor Sie
Fragen auf einer Liste stellen.
-
+
Beschreibung der Mailinglisten
-
+
Allgemeine Listen: Jeder kann die
folgenden allgemeinen Listen abonnieren (und ist dazu
aufgefordert):MailinglisteZweck
-
+
cvs-allÄnderungen im FreeBSD-Quellbaum
-
+
freebsd-advocacyVerbreitung von FreeBSD
-
+
freebsd-announceWichtige Ereignisse und Meilensteine des
Projekts
-
+
freebsd-archArchitektur und Design von FreeBSDfreebsd-bugbustersDiskussionen über die Pflege der FreeBSD
Fehlerberichte-Datenbank und die dazu benutzten
Werkzeuge
-
+
freebsd-bugsFehlerberichtefreebsd-chatNicht technische Themen, die die FreeBSD Gemeinschaft
betreffen
-
+
freebsd-configEntwicklung von Konfigurations- und
Installations-Werkzeugen für FreeBSD
-
+
freebsd-currentGebrauch von &os.current;
-
+
freebsd-ispThemen, die Internet Service Provider betreffen, die
FreeBSD benutzen
-
+
freebsd-jobsAnstellung und Beratung im FreeBSD Umfeld
-
+
freebsd-newbiesStarthilfen für neue FreeBSD Benutzerfreebsd-policyGrundsatzentscheidungen des FreeBSD Core Teams. Wenig
Verkehr und nur zum Lesen
-
+
freebsd-questionsBenutzerfragen und technische
Unterstützung
-
+
freebsd-security-notificationsAnkündigungen zum Thema Sicherheit
-
+
freebsd-stableGebrauch von &os.stable;freebsd-testSchicken Sie Testnachrichten an diese Liste anstelle
der wirklichen Listen
-
+
Technische Listen: Auf den folgenden
Listen werden technische Diskussionen geführt. Bevor Sie eine
der Listen abonnieren oder Nachrichten an sie schicken, lesen Sie
sich bitte die Charta der Liste durch, da der Inhalt und Zweck
dieser Listen genau festgelegt ist.
-
+
MailinglisteZweck
-
+
freebsd-afsPortierung von AFS nach FreeBSD
-
+
freebsd-aic7xxxEntwicklung von Adaptec AIC 7xxx Treibern
-
+
freebsd-alphaPortierung von FreeBSD auf Alpha Maschinen
-
+
freebsd-armPortierung von FreeBSD auf ARM Prozessorenfreebsd-atmBenutzung von ATM Netzen mit FreeBSDfreebsd-auditAudit der FreeBSD Quellenfreebsd-binupDesign und Entwicklung eines Systems, das es erlaubt,
ein FreeBSD System mit binären Paketen zu
aktualisieren
-
+
freebsd-clusterBenutzung von FreeBSD in einem Clusterfreebsd-cvswebPflege von CVSWebfreebsd-databaseDiskussion über Datenbanken und
Datenbankprogrammierung unter FreeBSD
-
+
freebsd-docErstellen der FreeBSD Dokumentationfreebsd-emulationEmulation anderer Systeme wie Linux, DOS oder
Windowsfreebsd-firewireTechnische Diskussion über FreeBSD Firewire
(iLink, IEEE 1394)
-
+
freebsd-fsDateisysteme
-
+
freebsd-gnomePortierung von GNOME und
GNOME-Anwendungen
-
+
freebsd-hackersAllgemeine technische Diskussionen
-
+
freebsd-hardwareAllgemeine Diskussion über Hardware, auf der
FreeBSD läuftfreebsd-i18nInternationalisierung von FreeBSDfreebsd-ia32FreeBSD für die IA-32 (Intel x86) Plattformfreebsd-ia64Portierung von FreeBSD auf Intels neue IA64
Systemefreebsd-ipfwTechnische Diskussion über die Neubearbeitung der
IP-Firewall Quellen
-
+
freebsd-isdnFür Entwickler des ISDN Systems
-
+
freebsd-javaFür Java-Entwickler und Leute, die JDKs nach
FreeBSD portieren
-
+
freebsd-lfsPortierung von LFS nach FreeBSD
-
+
freebsd-libhDas nächste Installations- und
Paketsystem
-
+
freebsd-mipsPortierung von FreeBSD zu MIPS
-
+
freebsd-mobileDiskussionen über mobiles Rechnen
-
+
freebsd-mozillaPortierung von Mozilla
nach FreeBSD
-
+
freebsd-multimediaMultimedia Anwendungen
-
+
freebsd-new-busTechnische Diskussionen über die Architektur von
Bussen
-
+
freebsd-netDiskussion über Netzwerke und den TCP/IP
Quellcode
-
+
freebsd-openofficePortierung von OpenOffice.org und
StarOffice nach FreeBSD
-
+
freebsd-platformsPortierungen von FreeBSD auf nicht-Intel
Architekturen
-
+
freebsd-portsDiskussion über die Ports-Sammlung
-
+
freebsd-ppcPortierung von FreeBSD auf den PowerPCfreebsd-qaDiskussion über Qualitätssicherung,
normalerweise kurz vor einem Releasefreebsd-realtimeEntwicklung von Echtzeiterweiterungen für
FreeBSD
-
+
freebsd-scsiDiskussion über das SCSI Subsystem
-
+
freebsd-securitySicherheitsthemen
-
+
freebsd-smallGebrauch von FreeBSD in eingebetteten Systemen
-
+
freebsd-smpDiskussionen über das Design von asymmetrischen
und symmetrischen Mehrprozessor-Programmen
-
+
freebsd-sparcPortierung von FreeBSD auf SPARC Systemefreebsd-testingLeistungs- und Stabilitätstests von FreeBSDfreebsd-standardsKonformität von FreeBSD mit den C99- und
POSIX-Standards
-
+
freebsd-tokenringToken Ring Unterstützung in FreeBSD
-
+
Eingeschränkte Listen: Die folgenden
Listen wenden sich an Zielgruppen mit speziellen Anforderungen und
sind nicht für die Öffentlichkeit gedacht. Bevor Sie
eine dieser Listen abonnieren, sollten Sie einige der technischen
Listen abonniert haben, um mit den Umgangsformen vertraut zu
sein.MailinglisteZweck
-
+
freebsd-coreFreeBSD Core Team
-
+
freebsd-hubsBetrieb von FreeBSD Spiegeln
-
+
freebsd-installEntwicklung von Installations-Werkzeugen
-
+
freebsd-user-groupsKoordination von Benutzergruppenfreebsd-vendorsKoordination von Händlern vor einem
Releasefreebsd-wwwBetreuer von www.FreeBSD.org
-
+
Zusammenfassungen: Viele der oben
aufgeführten Listen sind auch als Zusammenfassungen
erhältlich. Neue Nachrichten werden solange gesammelt, bis
ihre Größe 100 KB überschreitet und dann als
eine E-Mail verschickt. Von den folgenden Listen gibt es
Zusammenfassungen:Mailingliste
-
+
cvs-all-digest
-
+
freebsd-afs-digest
-
+
freebsd-alpha-digest
-
+
freebsd-arm-digest
-
+
freebsd-chat-digest
-
+
freebsd-current-digest
-
+
freebsd-database-digest
-
+
freebsd-hackers-digest
-
+
freebsd-ia32-digest
-
+
freebsd-ia64-digestfreebsd-isdn-digest
-
+
freebsd-java-digest
-
+
freebsd-questions-digest
-
+
freebsd-security-digest
-
+
freebsd-sparc-digest
-
+
freebsd-stable-digest
-
+
freebsd-test-digest
-
+
CVS Listen: Die folgenden Listen versenden
die Log-Einträge zu Änderungen an verschiedenen
Teilen des Quellbaums. Diese Listen sollen nur
gelesen werden, schicken Sie bitte keine Nachrichten
an eine der Listen.
-
+
MailinglisteTeil des QuellbaumsBeschreibung
-
+
cvs-all/usr/srcAlle Änderungen am Quellbaum
-
+
Mailinglisten abonnieren
-
+
Um eine Liste zu abonnieren, schicken Sie eine E-Mail
mit dem folgenden Textkörper an &a.majordomo;:subscribe Liste [optionale Adresse]Die Mailingliste freebsd-announce abonnieren
Sie zum Beispiel wie folgt:
-
+
&prompt.user; mail majordomo@FreeBSD.org
subscribe freebsd-announce
^D
-
+
Um eine Nachricht an eine Mailingliste zu schicken, schreiben
Sie einfach eine E-Mail an
<Liste@FreeBSD.org>. Die E-Mail
wird dann an alle Mitglieder der Mailingliste verteilt. Beachten
Sie, dass die Listen über &a.majordomo; abonniert werden,
benutzen Sie dazu nicht die Adresse der
Liste.Wenn Sie die Liste unter einem anderen Namen empfangen wollen,
oder die Liste für eine lokale Mailingliste abonnieren
(dafür sind wir übrigens sehr dankbar, da es unsere
Ressourcen schont), geben Sie die Adresse, an die die Nachrichten
geschickt werden sollen, mit an:
-
+
&prompt.user; mail majordomo@FreeBSD.org
subscribe freebsd-announce local-announce@example.com
^D
-
+
Ferner können Sie &a.majordomo; noch weitere Kommandos
schicken, mit denen Sie Ihr Abonnement aufheben,
die Mitglieder einer Liste einsehen oder eine Aufzählung der
verfügbaren Listen erhalten. Eine vollständige Liste der
Kommandos erhalten Sie, wenn Sie die folgende Nachricht
versenden:&prompt.user; mail majordomo@FreeBSD.org
help
^D
-
+
Verwenden Sie bitte die technischen Listen ausschließlich
für technische Diskussionen. Wenn Sie nur an wichtigen
Ankündigungen interessiert sind, abonnieren Sie die
Mailingliste &a.announce;, auf der nur wenige Nachrichten versendet
werden.
-
+
Chartas der Mailinglisten
-
+
Alle FreeBSD Mailinglisten besitzen
Grundregeln, die von jedem beachtet werden müssen. Für
die ersten beiden Male, in denen ein Absender gegen diese Regeln
verstößt, erhält er jeweils eine Warnung vom
FreeBSD Postmaster postmaster@FreeBSD.org. Ein
dritter Verstoß gegen die Regeln führt dazu, dass
der Absender in allen FreeBSD Mailinglisten gesperrt wird und
weitere Nachrichten von ihm nicht mehr angenommen werden. Wir
bedauern sehr, dass wir solche Maßnahmen ergreifen
müssen, aber heutzutage ist das Internet eine recht rauhe
Umgebung, in der immer weniger Leute Rücksicht aufeinander
nehmen.
-
+
Die Regeln:
-
+
Das Thema einer Nachricht soll der Charta der Liste, an die
sie gesendet wird, entsprechen. Wenn Sie eine Nachricht an
eine technische Liste schicken, sollte die Nachricht auch
technische Inhalte haben. Fortwährendes Geschwätz
oder Streit mindern den Wert der Liste für alle Mitglieder
und wird nicht toleriert. Benutzen Sie &a.chat; für
allgemeine Diskussionen über FreeBSD.Eine Nachricht sollte an nicht mehr als zwei Mailinglisten
gesendet werden. Schicken Sie eine Nachricht nur dann an
zwei Listen, wenn das wirklich notwendig ist. Viele Leute
haben mehrere Mailinglisten abonniert und Nachrichten sollten
nur zu ungewöhnlichen Kombinationen der Listen, wie
-stable und -scsi, gesendet
werden. Wenn Sie eine Nachricht erhalten, die im
Cc-Feld mehrere Listen enthält, sollten
Sie das Feld kürzen, bevor Sie eine Antwort darauf
verschicken. Unabhängig von dem
ursprünglichen Verteiler sind Sie für Ihre eigenen
Mehrfach-Sendungen selbst verantwortlich.
-
+
Persönliche Angriffe und Beschimpfungen sind in einer
Diskussion nicht erlaubt. Dies gilt gleichermaßen
für Benutzer wie Entwickler. Grobe Verletzungen der
Netiquette, wie das Verschicken oder Zitieren von privater
E-Mail ohne eine entsprechende Genehmigung, werden nicht
gebilligt. Die Nachrichten werden aber nicht besonders auf
Verletzungen der Netiquette untersucht. Es kann sein,
dass eine Verletzung der Netiquette durchaus zu der Charta
einer Liste passt, aber der Absender aufgrund der
Verletzung eine Warnung erhält oder gesperrt wird.Werbung für Produkte oder Dienstleistungen, die nichts
mit FreeBSD zu tun haben, sind verboten. Ist die Werbung als
Spam verschickt worden, wird der Absender sofort gesperrt.
-
+
Chartas einzelner Listen:
-
+
FREEBSD-AFSAndrew File System
-
+
Auf dieser Liste wird die Portierung des AFS von
CMU/Transarc diskutiert.FREEBSD-ANNOUNCE
-
+
Wichtige Ereignisse und
MeilensteineDiese Liste ist für Personen, die nur an den wenigen
Ankündigungen wichtiger Ereignisse interessiert sind.
Die Ankündigungen betreffen Schnappschüsse und
Releases, neue Merkmale von FreeBSD und die Suche nach
freiwilligen Mitarbeitern. Auf der Liste herrscht wenig
Verkehr und sie wird streng moderiert.FREEBSD-ARCH
-
+
Architektur und Design
von FreeBSDAuf dieser technischen Liste wird die FreeBSD Architektur
diskutiert. Beispiele für angemessene Themen
sind:
-
+
Wie das Bausystem zu verändern ist, damit
verschiedene Läufe gleichzeitig möglich
sind.
-
+
Was am VFS geändert werden muss, damit
Heidemann Schichten eingesetzt werden können.Wie die Schnittstelle der Gerätetreiber
angepasst werden muss, damit derselbe Treiber
auf verschiedenen Bussen und Architekturen eingesetzt
werden kann.
-
+
Wie ein Netzwerktreiber geschrieben wird.FREEBSD-AUDIT
-
+
Source Code Audit ProjectDies ist die Liste des FreeBSD Source Code Audit
Projects. Ursprünglich war vorgesehen, hier nur
sicherheitsrelevante Änderungen zu diskutieren, doch ist
die Charta auf alle Änderungen ausgedehnt worden.Zu dieser Liste werden viele Korrekturen gesandt, so
dass sie für den normalen FreeBSD Benutzer von
wenig Wert ist. Diskussionen über Sicherheit, die sich
nicht auf die Änderung von Quellcode beziehen, finden
auf der Mailingliste &a.security; statt. Auf der anderen
Seite sind aber alle Entwickler aufgefordert, ihre
Korrekturen zur Überprüfung an diese Liste zu
senden. Dies trifft besonders auf Änderungen zu, in
denen ein Fehler die Integrität des Gesamtsystems
gefährdet.FREEBSD-BINUP
-
+
FreeBSD Binary Update ProjectAuf dieser Liste wird das Design und die Implementierung
von binup diskutiert. Weitere
Themen sind Fehlerbehebungen, Fehlerberichte und Anfragen
nach Neuerungen. Die CVS-Logmeldungen des Projekts werden
ebenfalls auf diese Liste gesendet.FREEBSD-BUGBUSTERS
-
+
Bearbeitung der Fehlerberichte
-
+
Auf dieser Liste wird die Bearbeitung der Fehlerberichte
(PR, engl. problem report)
koordiniert. Sie dient dem Bugmeister und
allen Leuten, die ein Interesse an der Datenbank der
Fehlerberichte haben, als Diskussionsforum. Auf dieser Liste
werden keine spezifischen Fehler, Fehlerbehebungen oder PRs
diskutiert.FREEBSD-BUGS
-
+
Fehlerberichte
-
+
Auf dieser Liste werden Fehlerberichte gesammelt.
Fehlerberichte sollten immer mit &man.send-pr.1; oder dem
Web Formular
erstellt werden.FREEBSD-CHAT
-
+
Nicht technische Themen, die die FreeBSD
Gemeinschaft betreffenAuf dieser Liste werden nicht-technische soziale Themen
diskutiert, die nicht auf die anderen Listen passen. Hier
kann diskutiert werden, ob Jordan wie ein Frettchen aus einem
Zeichentrickfilm aussieht oder nicht, ob grundsätzlich
in Großbuchstaben geschrieben werden soll, wer zuviel
Kaffee trinkt, wo das beste Bier gebraut wird und wer Bier in
seinem Keller braut. Gelegentlich können auf den
technischen Listen wichtige Ereignisse wie Feste, Hochzeiten
oder Geburten angekündigt werden, aber nachfolgende
Nachrichten sollten auf die Liste &a.chat; gesendet
werden.FREEBSD-CORE
-
+
FreeBSD Core Team
-
+
Dies ist eine interne Mailingliste des FreeBSD Core
Teams. Wenn in einer wichtigen Angelegenheit, die FreeBSD
betrifft, entschieden werden muss oder die
Angelegenheit einer genauen Prüfung unterzogen werden
muss, können Nachrichten an diese Liste gesendet
werden.FREEBSD-CURRENT
-
+
Gebrauch von &os.current;Diese Mailingliste ist für die Benutzer von
&os.current; eingerichtet. Auf ihr finden sich
Ankündigungen über Besonderheiten von -CURRENT, von
denen Benutzer betroffen sind. Sie enthält weiterhin
Anweisungen, wie man ein System auf -CURRENT hält.
Jeder, der ein -CURRENT System besitzt, muss diese Liste
lesen. Die Liste ist nur für technische Inhalte
bestimmt.FREEBSD-CURRENT-DIGEST
-
+
Gebrauch von &os.current;Dies ist die Zusammenfassung der Mailingliste
&a.current;. Alle Nachrichten der Liste &a.current; werden
gesammelt und in einer E-Mail versendet. Die Zusammenfassung
ist nur zum Lesen gedacht, schicken Sie
keine Nachrichten an diese Liste.FREEBSD-CVSWEB
-
+
FreeBSD CVSweb ProjectTechnische Diskussion über den Gebrauch, die
Entwicklung und die Pflege von FreeBSD-CVSweb.FREEBSD-DOC
-
+
Documentation ProjectAuf dieser Mailingliste werden Themen und Projekte
diskutiert, die im Zusammenhang mit der Erstellung der FreeBSD
Dokumentation stehen. The FreeBSD Documentation
Project besteht aus den Mitgliedern dieser Liste.
Diese Liste steht jedem offen, Sie sind herzlich eingeladen
teilzunehmen und mitzuhelfen.FREEBSD-FIREWIREFirewire (iLink, IEEE 1394)Auf dieser Liste wird das Design und die Implementierung
eines Firewire-Subsystems (auch IEEE 1394 oder iLink)
für FreeBSD diskutiert. Relevante Themen sind die
Standards, Busse und ihre Protokolle, sowie Adapter, Karten
und Chipsätze. Des Weiteren die Architektur und der
Quellcode, die nötig sind, diese Geräte zu
unterstützen.FREEBSD-FS
-
+
Dateisysteme
-
+
Diskussionen über FreeBSD Dateisysteme. Dies ist
eine technische Liste, in der nur technische Inhalte erwartet
werden.FREEBSD-GNOME
-
+
GNOME
-
+
Diskussionen über die grafische
Benutzeroberfläche GNOME.
Dies ist eine technische Liste, in der nur technische Inhalte
erwartet werden.FREEBSD-IPFW
-
+
IP FirewallDiskussionen über eine Neubearbeitung des
IP-Firewall Quelltexts in FreeBSD. Dies ist eine technische
Liste, in der nur technische Inhalte erwartet werden.FREEBSD-IA64Portierung von FreeBSD auf die
IA64-PlattformDies ist eine technische Liste für diejenigen, die
FreeBSD auf die IA-64 Plattform von Intel portieren. Themen
sind die Probleme bei der Portierung und deren Lösung.
Interessierte, die der Diskussion folgen wollen, sind
ebenfalls willkommen.FREEBSD-ISDN
-
+
ISDN Subsystem
-
+
Mailingliste für die Entwickler des ISDN Subsystems
von FreeBSD.FREEBSD-JAVA
-
+
Java Entwicklung
-
+
Mailingliste, auf der die Entwicklung von Java
Anwendungen für FreeBSD sowie die Portierung und Pflege
von JDKs diskutiert wird.FREEBSD-HACKERS
-
+
Technische Diskussionen
-
+
Dies ist ein Forum für technische Diskussionen
über FreeBSD. Leute, die aktiv an FreeBSD arbeiten,
können hier Probleme und deren Lösungen
diskutieren. Interessierte, die den Diskussionen folgen
wollen, steht die Liste ebenfalls offen. Auf dieser Liste
finden nur technische Diskussionen statt.FREEBSD-HACKERS-DIGEST
-
+
Technische Diskussionen
-
+
Dies ist die Zusammenfassung der Mailingliste
&a.hackers;. Alle Nachrichten der Liste &a.hackers; werden
gesammelt und in einer E-Mail versendet. Die Zusammenfassung
ist nur zum Lesen gedacht, schicken Sie
keine Nachrichten an diese Liste.
-
+
FREEBSD-HARDWARE
-
+
Allgemeine Diskussionen über
HardwareAllgemeine Diskussionen über die Hardware, auf der
FreeBSD läuft: Probleme und Ratschläge welche
Hardware man kaufen sollte und welche nicht.FREEBSD-HUBSFreeBSD SpiegelAnkündigungen und Diskussionsforum für Leute,
die FreeBSD Spiegel betreiben.FREEBSD-INSTALL
-
+
Entwicklung von
Installations-Werkzeugen
-
+
Auf dieser Liste wird die Entwicklung von
Installations-Werkzeugen für künftige Releases
diskutiert.FREEBSD-ISP
-
+
Themen für Internet Service
Provider
-
+
Diese Liste ist für Internet Service Provider (ISP),
die FreeBSD benutzen. Auf dieser Liste finden nur technische
Diskussionen statt.FREEBSD-NEWBIES
-
+
Starthilfen für neue FreeBSD
Benutzer
-
+
Ein Forum für Aktivitäten von Neulingen, die
anderswo nicht behandelt werden, wieselbständiges Lernen,Techniken zur Problemlösung,Suchen und Benutzen von Ressourcen,wo man Hilfe findet,wie Mailinglisten benutzt werden und welche Listen
man abonnieren sollte,allgemeine Unterhaltungen und Geschichten,Berichte über Fehler, die man gemacht hat,Prahlen mit eigenen Erfolgen,Mitteilen von Ideen,moralische (aber keine technische)
Unterstützung undwie man aktiver Teil der FreeBSD Gesellschaft
wird.Fragen und Probleme werden auf der Liste &a.questions;
behandelt, die Mailingliste &a.newbies; gibt neuen FreeBSD
Benutzern die nötigen Starthilfen.FREEBSD-OPENOFFICE
-
+
OpenOffice.orgPortierung und Pflege von
OpenOffice.org und
StarOffice.FREEBSD-PLATFORMS
-
+
Portierung auf nicht-Intel
PlattformenPlattformübergreifende Themen und Vorschläge
für die Portierung auf nicht-Intel Plattformen.
Auf dieser Liste finden nur technische Diskussionen
statt.FREEBSD-POLICY
-
+
Grundsatzentscheidungen des Core
TeamsDiese Mailingliste ist für Grundsatzentscheidungen
des FreeBSD Core Teams. Sie trägt wenige Nachrichten und
ist nur zum Lesen gedacht.FREEBSD-PORTS
-
+
Diskussion über die
Ports-SammlungDiskussionen über die FreeBSD Ports-Sammlung, neue
Ports, Veränderungen am System der Ports-Sammlung. Die
Liste dient auch der allgemeinen Koordination der Dinge, die
die Ports-Sammlung betreffen. Auf dieser Liste finden nur
technische Diskussionen statt.FREEBSD-QUESTIONS
-
+
BenutzerfragenAuf dieser Mailingliste können Fragen über
FreeBSD gestellt werden. Fragen Sie bitte nicht nach
Anleitungen, wenn Sie nicht sicher sind, dass Ihre
Frage wirklich technischer Natur ist.FREEBSD-QUESTIONS-DIGEST
-
+
Benutzerfragen
-
+
Dies ist die Zusammenfassung der Mailingliste
&a.questions;. Die Nachrichten der Liste werden gesammelt
und in einer E-Mail versendet.FREEBSD-SCSI
-
+
SCSI Subsystem
-
+
Diese Mailingliste ist für die Entwickler des SCSI
Subsystems von FreeBSD. Auf dieser Liste finden nur
technische Diskussionen statt.FREEBSD-SECURITY
-
+
Sicherheitsthemen
-
+
Sicherheitsthemen, die FreeBSD betreffen, wie DES,
Kerberos, bekannte Sicherheitslöcher und Fehlerbehebungen.
Stellen Sie bitte auf dieser Liste keine allgemeinen Fragen
zum Thema Sicherheit. Willkommen sind allerdings Beiträge
zur FAQ, das heißt eine Frage mit der passenden
Antwort. Auf dieser Liste finden nur technische Diskussionen
statt.FREEBSD-SECURITY-NOTIFICATIONS
-
+
Ankündigungen zum Thema
SicherheitAnkündigungen über Sicherheitsprobleme von
FreeBSD und deren Behebungen. Diese Liste ist kein
Diskussionsforum, benutzen Sie &a.security;, um
Sicherheitsthemen zu diskutieren.FREEBSD-SMALL
-
+
Gebrauch von FreeBSD in
eingebetteten Systemen.Diese Liste für ungewöhnlich kleine FreeBSD
Installation oder den Einsatz von FreeBSD in eingebetteten
Systemen gedacht. Auf dieser Liste finden nur technische
Diskussionen statt.FREEBSD-STABLE
-
+
Gebrauch von &os.stable;.
-
+
Diese Mailingliste ist für die Benutzer von
&os.stable; eingerichtet. Auf ihr finden sich
Ankündigungen über Besonderheiten von -STABLE, von
denen Benutzer betroffen sind. Sie enthält weiterhin
Anweisungen, wie man ein System auf -STABLE hält. Jeder,
der ein -STABLE System besitzt, muss diese Liste lesen. Die
Liste ist nur für technische Inhalte bestimmt.FREEBSD-STANDARDSKonformität von FreeBSD mit den C99- und
POSIX-StandardsDieses Forum ist für technische Diskussionen
über die Konformität von FreeBSD mit den C99- und
POSIX-Standards.FREEBSD-USER-GROUPS
-
+
Koordination von BenutzergruppenDiese Liste ist für Koordinatoren lokaler
Benutzergruppen und einem ausgesuchten Mitglied des Core Teams
eingerichtet worden. Der Inhalt sollte Inhalte von Treffen
und die Koordination von Projekten mehrerer Benutzergruppen
beschränkt sein.FREEBSD-VENDORS
-
+
Koordination von Händlern
-
+
Koordination zwischen dem FreeBSD Projekt und
Händlern, die Soft- und Hardware für FreeBSD
verkaufen.
-
+
Usenet-News
-
+
Neben den Gruppen, die sich ausschließlich mit BSD
beschäftigen, gibt es viele weitere in denen über FreeBSD
diskutiert wird, oder die für FreeBSD Benutzer wichtig sind.
Warren Toomey wkt@cs.adfa.edu.au stellte
großzügig suchbare
Archive einiger dieser Gruppen bereit.
-
+
BSD spezifische Gruppen
-
+
comp.unix.bsd.freebsd.announcecomp.unix.bsd.freebsd.miscde.comp.os.unix.bsd (Deutsch)fr.comp.os.bsd (Französisch)
-
+
Weitere UNIX Gruppen
-
+
comp.unixcomp.unix.questionscomp.unix.admincomp.unix.programmercomp.unix.shellcomp.unix.user-friendlycomp.security.unixcomp.sources.unixcomp.unix.advocacycomp.unix.misccomp.bugs.4bsdcomp.bugs.4bsd.ucb-fixescomp.unix.bsd
-
+
X Window System
-
+
comp.windows.x.i386unixcomp.windows.xcomp.windows.x.appscomp.windows.x.announcecomp.windows.x.intrinsicscomp.windows.x.motifcomp.windows.x.pexcomp.emulators.ms-windows.wine
-
+
World Wide Web Server
-
+
http://www.FreeBSD.org/
– Hauptserver.
-
+
http://www.ar.FreeBSD.org/ – Armenien.
-
+
http://www.au.FreeBSD.org/ – Australien/1.
-
+
http://www2.au.FreeBSD.org/ – Australien/2.
-
+
http://www3.au.FreeBSD.org/ – Australien/3.http://www4.au.FreeBSD.org/ – Australien/4.http://www5.au.FreeBSD.org/ – Australien/5.http://www6.au.FreeBSD.org/ – Australien/6.http://http://freebsd.itworks.com.au/ – Australien/7.
-
+
freebsd.unixtech.be/ – Belgien.
-
+
http://www.br.FreeBSD.org/ – Brasilien/1.http://www2.br.FreeBSD.org/ – Brasilien/2.http://www3.br.FreeBSD.org/ – Brasilien/3.
-
+
http://www.bg.FreeBSD.org/ – Bulgarien.
-
+
http://www.cn.FreeBSD.org/ – China.
-
+
http://www.dk.FreeBSD.org/ – Dänemark.
-
+
http://www3.dk.FreeBSD.org/ – Dänemark/3.
-
+
http://www.de.FreeBSD.org/ – Deutschland/1.
-
+
http://www1.de.FreeBSD.org/ – Deutschland/2.
-
+
http://www2.de.FreeBSD.org/ – Deutschland/3.
-
+
http://www.ee.FreeBSD.org/ – Estland.
-
+
http://www.fi.FreeBSD.org/ – Finnland.
-
+
http://www2.fi.FreeBSD.org/ – Finnland/2.http://www.fr.FreeBSD.org/ – Frankreich.
-
+
http://www.gr.FreeBSD.org/ – Griechenland.
-
+
http://www.uk.FreeBSD.org/ – Großbritannien/1.http://www2.uk.FreeBSD.org/ – Großbritannien/2.http://www3.uk.FreeBSD.org/ – Großbritannien/3.http://www4.uk.FreeBSD.org/ – Großbritannien/4.http://www.hk.FreeBSD.org/ – Hong Kong.
-
+
http://www.ie.FreeBSD.org/ – Irland.
-
+
http://www2.ie.FreeBSD.org/ – Irland/2.
-
+
http://www.is.FreeBSD.org/ – Island.
-
+
http://www.it.FreeBSD.org/ – Italien.
-
+
http://www.gufi.org/mirrors/www.freebsd.org/data/ – Italien/2.
-
+
http://www.jp.FreeBSD.org/www.FreeBSD.org/ – Japan.
-
+
http://www.ca.FreeBSD.org/ – Kanada.
-
+
-
+
http://www3.ca.FreeBSD.org/ – Kanada/3.
-
+
http://www.kr.FreeBSD.org/ – Korea/1.
-
+
http://www2.kr.FreeBSD.org/ – Korea/2.
-
+
http://www3.kr.FreeBSD.org/ – Korea/3.http://www.lv.FreeBSD.org/ – Lettland.http://www.lt.FreeBSD.org/ – Litauen.
-
+
http://rama.asiapac.net/freebsd/ – Malaysia.
-
+
http://www.nz.FreeBSD.org/ – Neuseeland.
-
+
http://www.nl.FreeBSD.org/ – Niederlande/1.http://www2.nl.FreeBSD.org/ – Niederlande/2.
-
+
http://www.no.FreeBSD.org/ – Norwegen.
-
+
http://www.no2.FreeBSD.org/ – Norwegen/2.http://www.FreeBSD.org.ph/ – Philippinen.http://www.at.FreeBSD.org/ – Österreich.http://www2.at.FreeBSD.org/ – Österreich/2.http://www.pl.FreeBSD.org/ – Polen/1.http://www2.pl.FreeBSD.org/ – Polen/2.
-
+
-
+
http://www2.pt.FreeBSD.org/ – Portugal/2.
-
+
http://www3.pt.FreeBSD.org/ – Portugal/3.
-
+
http://www4.pt.FreeBSD.org/ – Portugal/4.
-
+
http://www.ro.FreeBSD.org/ – Rumänien.
-
+
http://www2.ro.FreeBSD.org/ – Rumänien/2.
-
+
http://www3.ro.FreeBSD.org/ – Rumänien/3.
-
+
http://www4.ro.FreeBSD.org/ – Rumänien/4.
-
+
http://www.ru.FreeBSD.org/ – Russland/1.
-
+
http://www2.ru.FreeBSD.org/ – Russland/2.
-
+
http://www3.ru.FreeBSD.org/ – Russland/3.
-
+
http://www4.ru.FreeBSD.org/ – Russland/4.
-
+
http://www.sm.FreeBSD.org/ – San Marino.
-
+
http://www.se.FreeBSD.org/ – Schweden.
-
+
http://www.se2.FreeBSD.org/ – Schweden/2.http://www.ch.FreeBSD.org/ – Schweiz.http://www.ch2.FreeBSD.org/ – Schweiz/2.http://www2.sg.FreeBSD.org/ – Singapur.http://www.sk.FreeBSD.org/ – Slowakische Republik.http://www.sk2.FreeBSD.org/ – Slowakische Republik/2.
-
+
http://www.si.FreeBSD.org/ – Slowenien.
-
+
http://www2.si.FreeBSD.org/ – Slowenien/2.
-
+
http://www.es.FreeBSD.org/ – Spanien.
-
+
http://www2.es.FreeBSD.org/ – Spanien/2.
-
+
http://www3.es.FreeBSD.org/ – Spanien/3.
-
+
http://www.za.FreeBSD.org/ – Südafrika/1.
-
+
http://www2.za.FreeBSD.org/ – Südafrika/2.http://www.tw.FreeBSD.org/www.freebsd.org/data/ – Taiwan.http://www2.tw.FreeBSD.org/ – Taiwan/2.http://www3.tw.FreeBSD.org/ – Taiwan/3.http://www4.tw.FreeBSD.org/ – Taiwan/4.http://www.cz.FreeBSD.org/ – Tschechische Republik.
-
+
http://www.tr.FreeBSD.org/ – Türkei.
-
+
http://www.tr2.FreeBSD.org/ – Türkei/2.
-
+
http://www.enderunix.org/freebsd/ – Türkei/3.
-
+
http://www.ua.FreeBSD.org/www.freebsd.org/ – Ukraine/1.
-
+
http://www2.ua.FreeBSD.org/ – Ukraine/2.http://www4.ua.FreeBSD.org/ – Ukraine/Crimea.http://www5.ua.FreeBSD.org/ – Ukraine/5.http://www.hu.FreeBSD.org/ – Ungarn.http://www.hu2.FreeBSD.org/ – Ungarn/2.
-
+
http://www2.FreeBSD.org/ – USA/Texas.
-
+
http://www3.FreeBSD.org/ – USA/3.
-
+
http://www7.FreeBSD.org/ – USA/7.E-Mail AdressenDie folgenden Benutzergruppen stellen ihren Mitgliedern für
die Arbeit an FreeBSD E-Mail Adressen zur Verfügung. Der
aufgeführte Administrator behält sich das Recht vor,
die Adresse zu sperren, wenn sie missbraucht wird.DomainAngebotBenutzergruppeAdministrator
-
+
ukug.uk.FreeBSD.orgnur zum Weiterleitenfreebsd-users@uk.FreeBSD.orgLee Johnston
lee@uk.FreeBSD.orgShell AccountsDie folgenden Benutzergruppen stellen Personen, die das FreeBSD
Projekt aktiv unterstützen, Shell-Accounts zur Verfügung.
Der aufgeführte Administrator behält sich das Recht vor,
den Account zu sperren, wenn er missbraucht wird.RechnerZugriffAngebotAdministrator
-
+
storm.uk.FreeBSD.orgnur SSHlesender Zugriff auf CVS, persönliche Webseiten,
E-Mail&a.brian;dogma.freebsd-uk.eu.orgTelnet/FTP/SSHE-Mail, Webseiten, Anonymous FTPLee Johnston
lee@uk.FreeBSD.org
-
diff --git a/de_DE.ISO8859-1/books/handbook/install/chapter.sgml b/de_DE.ISO8859-1/books/handbook/install/chapter.sgml
index 13bd580eff..ec89698c30 100644
--- a/de_DE.ISO8859-1/books/handbook/install/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/install/chapter.sgml
@@ -1,30 +1,30 @@
-
+
Installing FreeBSD (noch nicht übersetzt)
-
+
Dieses Kapitel ist noch nicht übersetzt.
Lesen Sie bitte
das Original in englischer Sprache.
-
diff --git a/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml b/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml
index c07f46b1e4..569e6ac324 100644
--- a/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml
@@ -1,30 +1,30 @@
-
+
Einführung (noch nicht übersetzt)
-
+
Dieses Kapitel ist noch nicht übersetzt.
Lesen Sie bitte
das Original in englischer Sprache.
-
diff --git a/de_DE.ISO8859-1/books/handbook/mail/chapter.sgml b/de_DE.ISO8859-1/books/handbook/mail/chapter.sgml
index 766f2d7c37..5fde512925 100644
--- a/de_DE.ISO8859-1/books/handbook/mail/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/mail/chapter.sgml
@@ -1,1374 +1,1374 @@
BillLloydUrsprüglicher Text von JimMockNeugeschrieben von RobertDrehmelÜbersetzt von Elektronische Post (E-Mail)TerminologieE-MailTerminologieDas Akronym MTA steht für
Mail Transfer Agent was übersetzt
Mailübertragungs-Agent bedeutet.Während die Bezeichnung Server-Dämon
die Komponente eines MTA benennt, die für eingehende Verbindungen
zuständig ist, wird mit dem Begriff Mailer
öfters die Komponente des MTA bezeichnet, die E-Mails versendet.
ÜbersichtE-Mailelektronische PostElektronische Post, besser bekannt als E-Mail, ist
eine der am weit verbreitetsten Formen der Kommunikation heutzutage.
Dieses Kapitel bietet eine grundlegende Einführung in das Betreiben
eines E-Mail-Servers unter FreeBSD. Es ist jedoch keine komplette
Referenz und es werden viele wichtige Überlegungen außer
Acht gelassen. Wenn Sie das Thema detaillierter betrachten
möchten, werden Sie bei einem der exzellenten Bücher
fündig, die in aufgelistet sind.
Nachdem Sie dieses Kapitel gelesen haben, werden Sie wissen:Welche Software-Komponenten beim Senden und
Empfangen von elektronischer Post involviert sind.Wo sich grundlegende sendmail
Konfigurationsdateien in FreeBSD befinden.Wie man Versender von Massennachrichten daran hindern kann,
Ihren E-Mail-Server illegalerweise als Weiterleitung zu verwenden.
Wie man den Standard-Mailer des Systems,
sendmail, ersetzt.Wie man oft auftretende E-Mail-Server Probleme behebt.Wie Sie die SMTP-Authentifizierung einrichten.Bevor Sie dieses Kapitel lesen, sollten Sie:Ihre Netzwerk-Verbindung richtig einrichten.
().Die DNS-Information für Ihren E-Mail-Server einstellen
().Wissen, wie man zusätzliche Dritthersteller-Software
installiert ().Elektronische Post benutzenPOPIMAPDNSFünf größere Teile sind am E-Mail-Austausch beteiligt:
Das Benutzerprogramm,
der Server-Dämon,
DNS,
ein POP- oder IMAP-Dämon
und natürlich
der E-Mail-Server selbst.Das BenutzerprogrammDas beinhaltet Kommandozeilenprogramme wie
mutt, pine,
elm, mail
und Programme mit grafischer Benutzeroberfläche, wie
balsa und xfmail
um einige zu nennen, und aufwändigere, wie WWW-Browser.
Diese Programme geben die E-Mail-Transaktionen an den lokalen
E-Mail-Server,
weiter, entweder über einen der verfügbaren
Server-Dämonen oder eine
TCP-Verbindung.E-Mail-Server DämonE-Mail-Server DämonensendmailE-Mail-Server DämonenpostfixE-Mail-Server DämonenqmailE-Mail-Server DämoneneximNormalerweise ist das sendmail
(standardmäßig bei FreeBSD) oder einer der anderen E-Mail-Server
Dämonen wie qmail,
postfix oder
exim. Es gibt andere, aber die eben
genannten werden am häufigsten verwendet.Der Server-Dämon hat üblicherweise zwei
Funktionen – er kümmert sich um das Empfangen von
eingehenden E-Mails und stellt ausgehende E-Mails zu. Er erlaubt
Ihnen nicht, ihn per POP oder IMAP zu kontaktieren um Ihre E-Mails
zu lesen. Sie benötigen einen zusätzlichen
Dämon dafür.Bedenken Sie, dass ältere Versionen von
sendmail schwerwiegende Sicherheitsprobleme
haben. Solange Sie jedoch eine aktuelle Version benutzen, sollten
Sie keine Probleme haben. Wie immer ist es eine gute Idee, aktuelle
Programmversionen zu benutzen.E-Mail und DNSDas Domain Name System (DNS) und sein Dämon
named spielen eine große Rolle in der
Auslieferung von E-Mails. Um E-Mails von Ihrer Stelle zu einer
anderen zu transportieren, sucht der Server-Dämon im DNS nach
der Gegenstelle um den Rechner zu ermitteln, der die E-Mails für
das Ziel empfangen wird.Genauso funktioniert es, wenn Ihnen E-Mails geschickt werden.
Das DNS enthält einen Datenbankeintrag mit dem Rechnernamen und
dazugehöriger IP-Adresse sowie einen Eintrag mit Rechnername und
dazugehörigem E-Mail-Server. Die IP-Adresse wird in einem
A-Eintrag angegeben. Der MX
(Mail eXchanger)-Eintrag beschreibt den
E-Mail-Server, der Ihre E-Mails empfängt. Wenn Sie keinen
MX-Eintrag für Ihren Rechnernamen haben, wird die E-Mail direkt
an Ihren Rechner geliefert.E-Mails empfangenE-MailempfangenDas Empfangen von E-Mails für Ihre Domäne wird von dem
E-Mail-Server übernommen. Er sammelt die an Sie gesendeten
E-Mails und lagert diese zum Lesen oder Abholen. Damit Sie die
gelagerten E-Mails abholen können, müssen Sie mit POP oder
IMAP eine Verbindung zum E-Mail-Server herstellen. Wenn Sie die
E-Mails direkt auf dem E-Mail-Server lesen möchten, wird kein
POP- oder IMAP-Server gebraucht.POPIMAPWollen Sie einen POP- oder IMAP-Server laufen lassen, gibt es zwei
Dinge, die Sie tun müssen:Besorgen Sie sich einen POP- oder IMAP-Dämon aus der
Ports-Sammlung
und installieren Sie diesen auf Ihrem System.Verändern Sie /etc/inetd.conf
um den POP- oder IMAP-Server zu starten.Der E-Mail-ServerE-Mail-ServerE-Mail-Server wird der Rechner genannt, welcher
für die Zustellung und das Empfangen von E-Mails auf Ihrem
Rechner oder vielleicht Ihrem Netzwerk zuständig ist.ChristopherShumwayBeigesteuert von sendmail-Konfigurationsendmail&man.sendmail.8; ist das standardmäßig in
FreeBSD installierte Mailübertragungsprogramm (MTA).
Die Aufgabe von sendmail ist es, E-Mails von
E-Mail-Benutzerprogrammen anzunehmen und diese zu den
entsprechenden Mailern zu liefern, die in der Konfigurationsdatei
definiert sind. sendmail kann auch
Netzwerkverbindungen annehmen und E-Mails zu lokalen
MailboxenMailbox = Post- beziehungsweise Briefkasten
oder anderen Programmen liefern.sendmail benutzt folgende
Konfigurationsdateien:/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableDateinameFunktion/etc/mail/accessDatenbank, in der Zugriffsrechte auf
sendmail verwaltet werden/etc/mail/aliasesMailbox Aliase/etc/mail/local-host-namesListe der Rechner für die
sendmail E-Mails akzeptiert/etc/mail/mailer.confMailer Programmkonfiguration/etc/mail/mailertableMailer Versand-Zuordnungstabelle/etc/mail/sendmail.cfHauptkonfigurationsdatei für
sendmail/etc/mail/virtusertableVirtuelle Benutzer und Domänen-Tabellen/etc/mail/accessDie Zugriffsdatenbank bestimmt, welche(r) Rechner oder IP-Adresse(n)
Zugriff auf den lokalen E-Mail-Server haben und welche Art von Zugriff
ihnen gestattet wird.
Rechner können als ,
oder eingetragen oder einfach an
sendmails Fehlerbehandlungsroutine mit einem
angegebenen Mailer-Fehler übergeben werden.
Rechner, die als eingetragen sind, was die
Grundeinstellung ist, sind berechtigt E-Mails zu diesem Rechner zu
schicken, solange die endgültige Zieladresse der lokale Rechner ist.
Verbindungen von Rechnern, die als
aufgelistet sind, werden abgelehnt.
Rechnern mit gesetzter -Option für
ihren Rechnernamen wird erlaubt Post für jede Zieladresse
durch diesen Mail-Server zu senden.Konfigurieren der sendmail
Zugriffsdatenbankcyberspammer.com 550 We don't accept mail from spammers
FREE.STEALTH.MAILER@ 550 We don't accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAYIn diesem Beispiel haben wir fünf Einträge.
E-Mail-Versender, die mit der linken Spalte der Tabelle
übereinstimmen, sind betroffen von der Aktion in der rechten
Spalte. Die ersten beiden Beispiele übergeben einen Fehlercode an
sendmails Fehlerbehandlungsroutine.
Die Nachricht wird an den entfernten Rechner gesendet, wenn eine
Nachricht mit der linken Spalte der Tabelle übereinstimmt.
Der nächste Eintrag lehnt Post von einem bestimmten Rechner
des Internets ab (another.source.of.spam).
Der nächste Eintrag akzeptiert E-Mail-Verbindungen des Rechners
okay.cyberspammer.com, der exakter angegeben
wurde als cyberspammer.com in der Zeile
darüber.
Genauere Übereinstimmungen haben den Vorrang vor weniger genauen.
Der letzte Eintrag erlaubt die Weiterleitung von elektronischer Post
von Rechnern mit einer IP-Adresse die mit 128.32
beginnt. Diese Rechner würden E-Mails durch diesen
E-Mail-Server senden können, die für andere E-Mail-Server
bestimmt sind.Wenn diese Datei geändert wird, müssen Sie
make in /etc/mail/
ausführen um die Datenbank zu aktualisieren./etc/mail/aliasesDie Alias-Datenbank enthält eine Liste der virtuellen
Mailboxen, die in andere Benutzer, Dateien, Programme oder
andere Aliase expandiert werden. Hier sind ein paar Beispiele,
die in /etc/mail/aliases benutzt werden
können:E-Mail Aliasesroot: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"Das Dateiformat ist simpel; Der Name der Mailbox auf der linken
Seite des Doppelpunkts wird mit den Zielen auf der rechten Seite
ersetzt.
Das erste Beispiel ersetzt die Mailbox root
mit der Mailbox localuser, die dann wieder in der
Alias-Datenbank gesucht wird. Wird kein passender Eintrag
gefunden, wird die Nachricht zum lokalen Benutzer
localuser geliefert. Das nächste Beispiel
zeigt eine E-Mail-Verteilerliste. E-Mails an die Mailbox
ftp-bugs werden zu den drei lokalen Mailboxen
joe, eric und
paul gesendet. Eine lokale Mailbox kann auch
als user@example.com angegeben werden. Das
nächste Beispiel zeigt das Schreiben von E-Mails in eine Datei,
in diesem Fall /dev/null. Das letzte Beispiel
verdeutlicht das Senden von E-Mails an ein Programm, in diesem Fall
wird die Nachricht in die Standardeingabe von
/usr/local/bin/procmail mittels einer UNIX Pipe
geschrieben.Wenn diese Datei geändert wird, müssen Sie
make in /etc/mail/
ausführen um die Änderungen in die Datenbank zu
übernehmen./etc/mail/local-host-namesDas ist die Liste der Rechnernamen, die &man.sendmail.8; als
lokalen Rechnernamen akzeptiert. Setzen Sie alle Domänen oder
Rechner, für die sendmail
Mail empfangen soll, in diese Datei.
Wenn dieser Mail-Server zum Beispiel E-Mails für die
Domäne example.com und den Rechner
mail.example.com annehmen soll,
könnte seine local-host-names Datei so
aussehen:example.com
mail.example.comWird diese Datei geändert, muss &man.sendmail.8; neu
gestartet werden, damit es die Neuerungen einliest./etc/mail/sendmail.cfDie Hauptkonfigurations-Datei von
sendmail (sendmail.cf)
kontrolliert das allgemeine Verhalten von
sendmail, einschließlich allem vom
Umschreiben von E-Mail Adressen bis hin zum Übertragen von
Ablehnungsnachrichten an entfernte E-Mail-Server.
Mit solch einer mannigfaltigen Rolle ist die Konfigurationsdatei
natürlich ziemlich komplex und ihre Einzelheiten liegen
ein wenig außerhalb des Rahmens dieses Kapitels.
Glücklicherweise muss diese Datei selten für
Standard E-Mail-Server geändert werden.Die sendmail Hauptkonfigurationsdatei
kann mit &man.m4.1; Makros erstellt werden, die Eigenschaften
und Verhalten von sendmail definieren.
Einige der Details finden Sie in
/usr/src/contrib/sendmail/cf/README.Wenn Änderungen an dieser Datei vorgenommen werden, muss
sendmail neu gestartet werden, damit die
Änderungen Wirkung zeigen./etc/mail/virtusertableDie Datei virtusertable ordnet
Adressen für virtuelle Domänen und Mailboxen reellen
Mailboxen zu. Diese Mailboxen können lokal, auf entfernten
Systemen, Aliase in /etc/mail/aliases oder
eine Datei sein.Beispiel einer virtuellen Domänen Zuordnungroot@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joeIn dem obigen Beispiel haben wir einen Eintrag für die
Domäne example.com. Diese
Datei wird nach dem ersten übereinstimmenden Eintrag durchsucht.
Die erste Zeile ordnet root@example.com der
lokalen Mailbox root zu. Der nächste Eintrag ordnet
postmaster@example.com der Mailbox
postmaster auf dem Rechner
noc.example.net zu. Zuletzt, wenn keine
Übereinstimmung von example.com
gefunden wurde, wird der letzte Eintrag verglichen, der mit jeder
Mail-Nachricht übereinstimmt, die an jemanden bei
example.com adressiert wurde.
Diese werden der lokalen Mailbox joe zugeordnet.AndrewBoothmanGeschrieben von GregoryNeil ShapiroInformationen entnommen aus E-Mails geschrieben von
Wechseln des Mailübertragungs-AgentenE-MailMTA, wechselnWie bereits erwähnt, ist bei FreeBSD
sendmail schon als Ihr
Mailübertragungs-Agent installiert.
Deswegen ist es standardmäßig für Ihre aus- und
eingehenden E-Mails verantwortlich.Jedoch wollen einige Systemadministratoren den MTA ihres Systems
wechseln, was eine Reihe von Gründen haben kann. Diese Gründe
reichen von einfach einen anderen MTA ausprobieren wollen bis hin dazu
eine bestimmte Besonderheit zu benötigen oder ein Paket, welches
auf einen anderen Mailer angewiesen ist. Glücklicherweise macht
FreeBSD das Wechseln einfach, egal aus welchem Grund.Installieren eines neuen MTASie haben eine große Auswahl an verfügbaren
MTA-Programmen. Ein guter Startpunkt ist die
FreeBSD Ports-Sammlung, wo Sie viele
finden werden. Selbstverständlich steht es Ihnen frei, jeden
MTA von überall her zu verwenden, solange Sie ihn unter
FreeBSD zum Laufen bekommen.Fangen Sie an, indem Sie Ihren neuen MTA installieren. Sobald
er installiert ist, gibt er Ihnen die Chance zu entscheiden ob er
wirklich Ihren Bedürfnissen genügt. Zusätzlich gibt
er Ihnen die Möglichkeit die neue Software zu konfigurieren,
bevor sie den Job von sendmail
übernimmt. Dabei sollten Sie sicherstellen, dass beim
Installieren der neuen Software keine Versuche unternommen werden,
System-Programme wie /usr/bin/sendmail zu
überschreiben. Ansonsten wurde Ihre neue E-Mail-Software in
den Dienst gestellt, bevor Sie sie konfiguriert haben.Für Informationen über die Konfiguration des von
Ihnen gewählten MTAs sehen Sie bitte in der dazugehörigen
Dokumentation nach.Ausschalten von sendmailDie Prozedur des Startens von sendmail
hat sich zwischen 4.5-RELEASE und 4.6-RELEASE signifikant
verändert. Daher beinhaltet auch die Prozedur des Abschaltens
subtile Unterschiede.FreeBSD 4.5-STABLE vor dem 4.4.2002 (inklusive 4.5-RELEASE und
frühere Versionen)Schreiben Siesendmail_enable="NO"in /etc/rc.conf. Das schaltet die
Verarbeitung eingehender E-Mails durch
sendmail ab. Aber bis
/etc/mail/mailer.conf nicht geändert
ist, wird sendmail weiterhin zum
Senden von E-Mails verwendet.FreeBSD 4.5-STABLE nach dem 4.4.2002 (inklusive 4.6-RELEASE
und spätere Versionen)Um sendmail komplett abzuschalten,
müssen Siesendmail_enable="NONE"in Ihre /etc/rc.conf schreiben.Wenn Sie sendmails Dienst für
ausgehende E-Mails auf diesem Weg abschalten, ist es wichtig,
dass Sie es mit einem voll funktionsfähigen alternativen
E-Mail-Zustellungssystem ersetzen. Wenn Sie wählen das nicht
zu tun, werden System-Funktionen wie &man.periodic.8; nicht
fähig sein, Ihre Ergebnisse per E-Mail zuzustellen, wie sie
es normalerweise erwarten. Viele Teile Ihres Systems können
erwarten, ein funktionierendes
sendmail-kompatibles System zu haben.
Wenn Anwendungen weiterhin versuchen mit
sendmails Programmdateien E-Mails zu
verschicken, nachdem Sie sie abgeschaltet haben, könnten
E-Mails in einer inaktiven
sendmail-Warteschlange landen, und
niemals geliefert werden.Wenn Sie nur sendmails Dienst
für eingehende E-Mail abschalten möchten, sollten Sie
sendmail_enable="NO"in /etc/rc.conf setzen. Mehr
Informationen zu sendmails Start-Optionen
sind vorhanden auf der &man.sendmail.8; Manual Page.Starten Ihres neuen MTA beim Hochfahren des SystemsAbhängig davon, welche FreeBSD Version Sie verwenden,
haben Sie die Wahl zwischen zwei Methoden, um Ihren
neuen MTA beim Hochfahren des System zu starten.FreeBSD 4.5-STABLE vor dem 11.4.2002 (inklusive 4.5-RELEASE
und frühere VersionenFügen Sie ein Skript zu
/usr/local/etc/rc.d, dessen Dateiname mit
.sh endet und von root
ausführbar ist. Das Skript sollte start
und stop Parameter annehmen. Beim Hochfahren
des Systems werden die System-Skripte den Befehl/usr/local/etc/rc.d/supermailer.sh startausführen, den Sie auch manuell zum Starten des Dienstes
verwenden können. Beim Herunterfahren des Systems werden die
System-Skripte die stop Option einsetzen, also
den Befehl/usr/local/etc/rc.d/supermailer.sh stopausführen, der ebenso manuell von Ihnen zum Stoppen des
Dienstes während das System läuft, verwendet werden kann.
FreeBSD 4.5-STABLE nach dem 11.4.2000 (inklusive 4.6-RELEASE
und spätere Versionen)Für neuere FreeBSD Versionen, können Sie die oben
dargestellte Möglichkeit verwenden, oder Sie setzenmta_start_script="filename"in /etc/rc.conf, wobei
filename den Namen des Skripts darstellt,
das beim Hochfahren des Systems ausgeführt wird, um Ihren MTA
zu starten.Ersetzen von sendmail als
Standard-Mailer des SystemsDas Programm sendmail ist so
allgegenwärtig als Standard-Software auf &unix; Systemen, dass
einige Programme einfach annehmen es sei bereits installiert und
konfiguriert.
Aus diesem Grund stellen viele alternative MTAs ihre eigenen
kompatiblen Implementierung der sendmail
Kommandozeilen-Schnittstelle zur Verfügung. Das vereinfacht
ihre Verwendung als drop-in Ersatz für
sendmail.Folglich werden Sie, wenn Sie einen alternativen Mailer benutzen,
sicherstellen müssen, dass ein Programm, das versucht
sendmails Standard-Dateien wie
/usr/bin/sendmail auszuführen,
stattdessen Ihr gewähltes Mailübertragungsprogramm
ausführt.
Zum Glück stellt FreeBSD das &man.mailwrapper.8;-System
zur Verfügung, das diese Arbeit für Sie erledigt.Wenn sendmail arbeitet wie es
installiert wurde, werden Sie in
/etc/mail/mailer.conf etwas wie das Folgende
vorfinden:sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmailDas bedeutet, dass wenn eines der gewöhnlichen Kommandos
(wie zum Beispiel /usr/bin/sendmail selbst)
ausgeführt wird, das System tatsächlich eine Kopie des
mailwrapper mit dem Namen sendmail startet, die
mailer.conf überprüft und
/usr/libexec/sendmail/sendmail ausführt.
Mit diesem System lassen sich die Programme, die für die
sendmail-Funktionen gestartet werden,
leicht ändern.Daher könnten Sie, wenn Sie wollten, dass
/usr/local/supermailer/bin/sendmail-compat
anstelle von sendmail ausgeführt
wird, /etc/mailer.conf wie folgt abändern:
sendmail /usr/local/supermailer/bin/sendmail-compat
send-mail /usr/local/supermailer/bin/sendmail-compat
mailq /usr/local/supermailer/bin/mailq-compat
newaliases /usr/local/supermailer/bin/newaliases-compat
hoststat /usr/local/supermailer/bin/hoststat-compat
purgestat /usr/local/supermailer/bin/purgestat-compatFertigstellenSobald Sie alles Ihren Wünschen entsprechend
konfiguriert haben, sollten Sie entweder die
sendmail Prozesse beenden, die Sie
nicht mehr benötigen, und die zu Ihrer neuen Software
zugehörigen Prozesse starten, oder einfach das System
neustarten. Das Neustarten des Systems gibt Ihnen auch die
Gelegenheit sicherzustellen, dass Sie Ihr System korrekt
konfiguriert haben, um Ihren neuen MTA automatisch beim
Hochfahren zu starten.FehlerbeseitigungHier finden sich ein paar häufig gestellte Fragen und ihre
Antworten, die von der FAQ übernommen
wurden.Warum muss ich einen FQDN (fully-qualified domain name/
voll ausgeschriebenen Domänennamen) für meine Rechner
verwenden?Vielleicht liegen die Rechner in einer unterschiedlichen
Domäne; zum Beispiel, wenn Sie sich in
foo.bar.edu befinden, und einen Rechner
namens mumble in der
bar.edu Domäne erreichen
wollen, müssen Sie ihn mit dem voll ausgeschriebenen
Domänennamen mumble.bar.edu
kontaktieren, anstatt bloß mit mumble.Traditionell wurde das von dem BSD BIND
Resolver erlaubt. Wie auch immer,
die aktuelle Version von BIND, die mit
FreeBSD ausgeliefert wird, bietet keine Standardabkürzungen
für nicht komplett angegebene Domänennamen außerhalb der
Domäne, in der Sie sich befinden. Daher muss ein
nicht-qualifizierter Rechner mumble entweder als
mumble.foo.bar.edu gefunden werden,
oder er wird in der root Domäne gesucht.Damit unterscheidet es sich von vorherigem Verhalten, bei dem
die Suche über mumble.bar.edu
und mumble.edu lief. Schauen Sie
sich RFC 1535 an, wenn Sie wissen möchten, warum das als
schlecht und sogar als Sicherheitsloch angesehen wurde.Um das zu umgehen, können Sie die Linie
search foo.bar.edu bar.edu
anstatt der vorherigen
domain foo.bar.edu
in Ihre /etc/resolv.conf einsetzen. Aber
stellen Sie sicher, dass die Suchordnung nicht die Begrenzung von
lokaler und öffentlicher Administration, wie
RFC 1535 sie nennt, überschreitet.Warum meldet Sendmail mail loops back to myself?Dies wird in der Sendmail-FAQ wie folgt beantwortet: * Ich erhalte "Local configuration error" Meldungen, wie:
553 relay.domain.net config error: mail loops back to myself
554 <user@domain.net>... Local configuration error
Wie kann ich dieses Problem lösen?
Sie haben durch die Benutzung eines MX-Eintrags eingestellt, dass
Mail für die Domäne (z.B. domain.net) an einen speziellen
Host (in diesem Fall relay.domain.net) weitergeleitet wird,
aber der Relay-Host erkennt sich selbst nicht als
domain.net. Fügen Sie domain.net in /etc/mail/local-host-names
(falls Sie FEATURE(use_cw_file) benutzen) oder "Cw domain.net"
in /etc/mail/sendmail.cf ein.
Die aktuelle Version der Sendmail-FAQ
wird nicht mehr mit dem Sendmail-Release verwaltet. Sie
wird jedoch regelmäßig nach comp.mail.sendmail,
comp.mail.misc,
comp.mail.smail,
comp.answers und
news.answers
gepostet. Sie können auch eine Kopie per E-Mail
bekommen, indem Sie eine Mail mit dem Inhalt send
usenet/news.answers/mail/sendmail-faq an
mail-server@rtfm.mit.edu schicken.PPPWie kann ich einen E-Mail-Server auf einem
Anwahl-PPP Rechner betreiben?Sie wollen einen FreeBSD Rechner in einem LAN an das
Internet anbinden. Der FreeBSD Rechner wird ein E-Mail
Gateway für das LAN.
Die PPP-Verbindung ist keine Standleitung.Es gibt mindestens zwei Wege um dies zu tun. Einer davon ist
UUCP zu verwenden.Ein anderer Weg ist, von einem immer mit dem Internet
verbundenen Server einen sekundären MX-Dienst für Ihre
Domäne zur Verfügung gestellt zu bekommen. Wenn die
Domäne Ihrer Firma
example.com ist, und Ihr
Internet-Dienstanbieter
example.net so eingestellt hat,
dass er Ihrer Domäne einen sekundären MX-Dienst zur
Verfügung stellt:example.com. MX 10 bigco.com.
MX 20 example.net.Nur ein Rechner sollte als Endempfänger angegeben sein
(fügen Sie Cw example.com zu
/etc/sendmail.cf auf example.com).Wenn das sendmail des Versenders versucht,
die E-Mail zuzustellen, wird es versuchen, Sie über die
Modem-Verbindung (example.com)
zu erreichen. Wahrscheinlich wird es keine Verbindung zustande
bringen können, da Sie nicht eingewählt sind.
sendmail wird die E-Mail automatisch zu der
sekundären MX-Stelle geliefert, zu Ihrem Internet-Provider
(example.net).
Die sekundäre MX-Stelle wird periodisch versuchen
versuchen eine Verbindung zu Ihnen aufzubauen, um die E-Mail zu
der primären MX-Stelle
(example.com zu liefern.Eventuell wollen Sie etwas wie dies als Login-Skript:#!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyisp
Wenn Sie ein separates Login-Skript für einen Benutzer
erstellen wollen, könnten Sie stattdessen
sendmail -qRexample.com in dem oben gezeigten
Skript verwenden. Das erzwingt die sofortige Verarbeitung der
E-Mails in Ihrer Warteschlange für
example.comEine weitere Verfeinerung der Situation ist wie folgt:Die Nachricht wurde der &a.isp; entnommen.> wir stellen einem Kunden den sekundären MX zur Verfügung.
> Der Kunde verbindet sich mit unseren Diensten mehrmals am Tag
> automatisch um die E-Mails zu seinem primären MX zu holen
> (wir wählen uns nicht bei ihm ein, wenn E-Mails für seine
> Domäne eintreffen). Unser sendmail sendet den Inhalt der
> E-Mail-Warteschlange alle 30 Minuten. Momentan muss er 30 Minuten
> eingewählt bleiben um sicher zu sein, dass alle seine E-Mails
> beim primären MX eingetroffen sind.
>
> Gibt es einen Befehl, der sendmail dazu bringt, alle E-Mails sofort
> zu senden? Der Benutzer hat natürlich keine root-Rechte auf
> unserer Maschine.
In der privacy flags Sektion von sendmail.cf befindet sich die
Definition Opgoaway,restrictqrun
Entferne restrictqrun um nicht-root Benutzern zu erlauben, die Verarbeitung
der Nachrichten-Warteschlangen zu starten. Möglicherweise willst du
auch die MX neu sortieren. Wir sind der primäre MX für unsere
Kunden mit diesen Wünschen und haben definiert:
# Wenn wir der beste MX für einen Rechner sind, versuche es direkt
# anstatt einen lokalen Konfigurationsfehler zu generieren.
OwTrue
Auf diesem Weg liefern Gegenstellen direkt zu dir, ohne die Kundenverbindung
zu versuchen. Dann sendest du zu deinem Kunden. Das funktioniert nur
für Rechner, du musst also deinen Kunden dazu bringen,
ihre E-Mail Maschine customer.com zu nennen, sowie
hostname.customer.com im DNS. Setze einfach einen A-Eintrag
in den DNS für customer.com.Warum bekomme ich die Fehlermeldung Relaying
Denied, wenn ich E-Mails von anderen Rechnern
verschicke?In der standardmäßigen FreeBSD Installation wird
sendmail nur dazu konfiguriert,
E-Mails von dem Rechner auf dem es läuft zu senden. Wenn zum
Beispiel ein POP3-Server installiert ist, werden die Benutzer
in der Lage sein, Ihre E-Mails von der Schule, Arbeit oder anderen
entfernten Orten zu überprüfen, jedoch werden sie keine
E-Mails von außerhalb verschicken können.
Typischerweise wird ein paar Sekunden nach dem Versuch eine E-Mail
von MAILER-DAEMON mit einer
5.7 Relaying Denied Fehlermeldung
versendet werden.Es sind mehrere Wege möglich, dies zu umgehen. Die
geradlinigste Lösung ist die Adresse Ihres
Internet-Dienstanbieters in die Datei für die
Weiterleitungs-Domänen zu platzieren. Das lässt sich
schnell erreichen mit:&prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domainsNach Erstellen oder Editieren dieser Datei müssen Sie
sendmail neu starten. Das funktioniert
großartig wenn Sie ein Server-Administrator sind und E-Mails
nicht lokal versenden, oder gerne ein Client/System mit grafischer
Oberfläche auf einer anderen Maschine oder sogar über
einen anderen Internet-Dienstanbieter verwenden wollen. Es ist auch
sehr nützlich, wenn Sie nur ein oder zwei E-Mail Accounts
eingerichtet haben. Soll eine größere Anzahl Adressen
hinzugefügt werden, können Sie die Datei einfach in Ihrem
favorisierten Editor öffnen und die Domänen anfügen,
je eine pro Zeile:your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.orgJetzt wird jede E-Mail, die durch Ihr System von einem der
in diese Liste eingetragenen Rechner geschickt wurde, ihr Ziel
erreichen (vorausgesetzt, der Benutzer hat einen Account auf Ihrem
System). Dies ist ein sehr schöner Weg, um Benutzern das
entfernte E-Mail Versenden von Ihrem System zu erlauben, ohne
dem Massenversand (SPAM) die Tür zu
öffnen.
Weiterführende ThemenDie folgenden Abschnitte behandeln kompliziertere Themen wie
E-Mail-Konfiguration und das Einrichten von E-Mail für Ihre
ganze Domäne.Grundlegende KonfigurationMit der Software im Auslieferungszustand sollten Sie fähig
sein, E-Mails an externe Rechner zu senden, solange Sie
/etc/resolv.conf eingerichtet haben oder Ihren
eigenen Name Server laufen lassen. Wenn Sie die E-Mails für
Ihren Rechner zu einem anderen Rechner geliefert haben wollen, gibt
es zwei Methoden:Betreiben Sie Ihren eigenen Name Server und haben Sie Ihre
eigene Domäne, zum Beispiel
FreeBSD.org.Lassen Sie sich E-Mails direkt zu Ihrem Rechner liefern.
Dies geschieht indem E-Mails direkt zu dem aktuellen DNS Namen
Ihrer Maschine geliefert werden. Zum Beispiel
example.FreeBSD.org.Ungeachtet welche Methode Sie auswählen, um E-Mails direkt
zu Ihrem Rechner geliefert zu bekommen, benötigen Sie eine
permanente (statische) IP-Adresse (keine dynamische PPP-Anwahl).
Wenn Sie sich hinter einer Firewall befinden, muss diese den
SMTP-Verkehr an Sie weiterleiten. Wollen Sie E-Mails an Ihrem
Rechner selbst empfangen, müssen Sie eines der folgenden
Dinge sicherstellen:Vergewissern Sie sich, dass der MX-Eintrag in Ihrem DNS zu
der IP-Adresse Ihres Rechners zeigt.Stellen Sie sicher, dass sich für Ihren Rechner kein
MX-Eintrag im DNS befindet.Jede der erwähnten Konfigurationsmöglichkeiten erlaubt
Ihnen, E-Mails direkt auf Ihrem Rechner zu empfangen.Versuchen Sie das:&prompt.root; hostname
example.FreeBSD.org
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XXWenn Sie diese Ausgabe erhalten, sollten direkt an
yourlogin@example.FreeBSD.org geschickte E-Mails
ohne Probleme funktionieren.Sehen Sie stattdessen etwas wie dies:&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.orgSo wird jede an Ihren Rechner
(example.FreeBSD.org) gesandte E-Mail
auf hub unter dem gleichen Benutzernamen gesammelt
anstatt direkt zu Ihrem Rechner geschickt zu werden.Die obige Information wird von Ihrem DNS-Server verwaltet.
Der DNS-Eintrag, der die E-Mail Routen-Information enthält, ist der
Mail
eXchange Eintrag. Existiert kein
MX-Eintrag, werden E-Mails direkt anhand der IP-Adresse geliefert.
Der MX-Eintrag für
freefall.FreeBSD.org sah einmal so aus:
freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.comWie Sie sehen können, hatte freefall
viele MX-Einträge. Die kleinste MX-Nummer ist der Rechner, der
die E-Mails letztendlich bekommt, wobei die anderen temporär
E-Mails in Warteschlangen einreihen während
freefall beschäftigt oder unerreichbar ist.
Um besonders nützlich zu sein, sollten stellvertretende
MX-Seiten nicht dieselben Internet-Verbindungen wie Ihre eigene
verwenden. Für Ihren Internet-Dienstleister oder andere
sollte es kein Problem darstellen, Ihnen diesen Dienst zur
Verfügung zu stellen.E-Mails für Ihre DomäneUm einen E-Mail-Server (auch bekannt als
Mail-Server) einzurichten, benötigen Sie eine Umlenkung
jeglicher E-Mails zu Ihm, die an die verschiedenen Workstations
gesendet werden. Im Grunde wollen Sie jede an Ihre Domäne
gesendete E-Mail abfangen (in diesem Fall
*.FreeBSD.org), damit Ihre Benutzer
E-Mails mittels POP oder direkt auf dem Server
überprüfen können.Am einfachsten ist es, wenn Accounts mit gleichen
Benutzernamen auf beiden
Maschinen existieren. Verwenden Sie &man.adduser.8;, um
dies zu erreichen.Der E-Mail-Server, den Sie verwenden wollen, muss als
für den E-Mail-Austausch zuständiger Rechner
auf jeder Workstation im Netzwerk gekennzeichnet werden. Dies wird
in der DNS-Konfiguration so ausgeführt:example.FreeBSD.org A 204.216.27.XX ; Workstation
MX 10 hub.FreeBSD.org ; MailhostDiese Einstellung wird E-Mail für die Workstations zu dem
E-Mail-Server leiten, wo auch immer der A-Eintrag hinzeigt.
Die E-Mails werden zum MX-Rechner gesandt.Sofern Sie nicht einen DNS-Server laufen haben, können
Sie diese Einstellung nicht selbst vornehmen. Ist es Ihnen nicht
möglich einen eigenen DNS-Server laufen zu lassen, reden Sie
mit Ihren Internet-Dienstleister oder wer auch immer Ihre
DNS-Verwaltung übernimmt.
Wenn Sie ein virtuelles E-Mail System anbieten, werden
die folgenden Informationen nützlich sein. Für ein Beispiel
nehmen wir an, Sie haben einen Kunden mit einer eigenen Domäne,
in diesem Fall customer1.org und
Sie wollen jegliche E-Mails für
customer1.org zu Ihrem
E-Mail-Server gesendet haben, der
mail.myhost.com heißt.
Der Eintrag in Ihrem DNS sollte wie folgender aussehen:customer1.org MX 10 mail.myhost.com
Sie benötigen keinen A-Eintrag, wenn
Sie für die Domain nur E-Mails verwalten wollen.Bedenken Sie, dass das Pingen von
customer1.org nicht möglich
ist, solange kein A-Eintrag für diese Domäne existiert.
Jetzt müssen Sie nur noch
sendmail auf Ihrem Mailrechner mitteilen,
für welche Domänen und/oder Rechnernamen es Mails akzeptieren
soll. Es gibt einige Wege wie dies geschehen kann. Die Folgenden
funktionieren alle gleichermaßen:Fügen Sie die Rechnernamen zu Ihrer
/etc/sendmail.cw Datei hinzu, wenn Sie
FEATURE(use_cw_file) verwenden. Ab
sendmail 8.10 heißt diese Datei
/etc/mail/local-host-names.Tragen Sie eine Zeile mit dem Inhalt
Cwyour.host.com in Ihre
/etc/sendmail.cf Datei (beziehungsweise
/etc/mail/sendmail.cf ab
sendmail 8.10) ein.
-
+
SMTP-Authentifizierung
-
+
Ein Mail-Server, der SMTP-Authentifizierung
verwendet, bietet einige Vorteile. Die erforderliche
Authentifizierung erhöht die Sicherheit von
sendmail und Benutzer, die auf wechselnden
entfernten Rechnern arbeiten, können denselben Mail-Server
verwenden ohne Ihr Benutzerprogramm jedes Mal neu zu
konfigurieren.Installieren Sie den Port security/cyrus-sasl. Der Port
verfügt über einige Optionen, die während
der Übersetzung festgelegt werden. Das in diesem Abschnitt
diskutierte Beispiel verwendet die Option
.Editieren Sie nach der Installation von security/cyrus-sasl die Datei
/usr/local/lib/sasl/Sendmail.conf (erstellen
Sie die Datei, wenn sie nicht existiert) und fügen Sie die
folgende Zeile hinzu:pwcheck_method: passwdZur Authentifizierung eines Benutzers verwendet
sendmail dann die
passwd-Datenbank von FreeBSD. Damit
müssen zum Versenden von E-Mails keine zusätzlichen
Accounts und Passwörter angelegt werden. Die Benutzer
verwenden dasselbe Passwort zum Anmelden wie zum Verschicken von
E-Mails.Fügen Sie jetzt in /etc/make.conf
die nachstehenden Zeilen hinzu:SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsaslBeim Übersetzen von sendmail
werden damit die cyrus-sasl-Bibliotheken benutzt.
Stellen Sie daher vor dem Übersetzen von
sendmail sicher, dass der Port
cyrus-sasl installiert
ist.Übersetzen Sie sendmail mit
den nachstehenden Kommandos:&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir
&prompt.root; make obj
&prompt.root; make
&prompt.root; make installsendmail sollte sich ohne Probleme
übersetzen lassen, wenn die Dateien in
/usr/src nicht verändert wurden und die
benötigten Bibliotheken installiert sind.Nachdem Sie sendmail installiert
haben, editieren Sie /etc/mail/freebsd.mc
beziehungsweise die verwendete .mc-Datei.
Viele Administratoren verwenden die Ausgabe von &man.hostname.1;,
um der .mc-Datei einen eindeutigen Namen
zu geben. Fügen Sie die folgenden Zeilen in die
.mc-Datei ein:dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnlDiese Anweisungen konfigurieren die Methoden, die
sendmail zur Authentifizierung
verwendet. Lesen Sie die mitgelieferte Dokumentation, wenn
Sie eine andere Methode als verwenden
wollen.Abschließend rufen Sie &man.make.1; im Verzeichnis
/etc/mail auf. Damit wird aus der
.mc-Datei eine neue
.cf-Datei (zum Beispiel
freebsd.cf) erzeugt. Kopieren Sie die
.cf-Datei nach
sendmail.cf und starten Sie
sendmail mit
kill -HUP neu.Wenn alles funktioniert hat, tragen Sie in Ihrem
Mail-Benutzerprogramm das Passwort für die Authentifizierung ein
und versenden Sie zum Testen eine E-Mail. Wenn Sie Probleme haben,
setzen Sie den von
sendmail auf 13 und
untersuchen die Fehlermeldungen in
/var/log/maillog.Weitere Information erhalten Sie im WWW auf der
Webseite von
sendmail.
diff --git a/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml b/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml
index ad3f7930f9..319c00579d 100644
--- a/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml
@@ -1,661 +1,661 @@
MosesMooreVon BenediktKöhlerÜbersetzt von UwePierau
-
+
Sound
-
+
Zusammenfassung
-
+
FreeBSD unterstützt viele unterschiedliche Soundkarten,
die Ihnen den Genuss von Highfidelity-Klängen auf Ihrem
Computer ermöglichen. Dazu gehört unter anderem die
Möglichkeit, Tonquellen in den Formaten MPEG Audio Layer 3
(MP3), WAV, Ogg Vorbis und vielen weiteren Formaten aufzunehmen
und wiederzugeben. Darüber hinaus enthält die FreeBSD
Ports-Sammlung Anwendungen, die Ihnen das Bearbeiten Ihrer
aufgenommenen Tonspuren, das Hinzufügen von Klangeffekten
und die Kontrolle der angeschlossenen MIDI-Geräte
erlauben.
-
+
Nach dem Lesen dieses Kapitels werden Sie wissen:Wie Sie Ihre Soundkarte
bestimmen.Wie Sie Ihr System so einstellen, dass die
Soundkarte richtig erkannt wird.Einige Methoden und Beispielanwendungen, mit
denen Sie das korrekte Funktionieren Ihrer Soundkarte
überprüfen können.Wie Sie Fehler in Ihren
Soundkarten-Einstellungen finden.Wie Sie MP3s wiedergeben und
erzeugen.Wie Sie CD-Tonspuren in Dateien
rippen.
-
+
Bevor Sie dieses Kapitel leben, sollten Sie:
-
+
Wissen, wie Sie einen neuen Kernel
konfigurieren und installieren ().
-
+
Bestimmen des korrekten GerätsPCIISASoundkartenZunächst sollten Sie in Erfahrung bringen, welches
Modell Ihrer Soundkarte Sie haben, welchen Chip sie benutzt und
ob es sich um eine PCI- oder ISA-Karte handelt. FreeBSD
unterstützt eine ganze Reihe sowohl von PCI- als auch von
ISA-Karten. Wenn Ihre Soundkarte in der folgenden Liste nicht
auftaucht, konsultieren Sie die &man.pcm.4; Manualpage. Diese
Liste ist zwar nicht vollständig, deckt jedoch einige der
verbreitetsten Karten ab.Crystal 4237, 4236, 4232, 4231Yamaha OPL-SAxOPTi931Ensoniq AudioPCI 1370/1371ESS Solo-1/1ENeoMagic 256AV/ZXSound Blaster Pro, 16, 32, AWE64, AWE128, LiveCreative ViBRA16Advanced Asound 100, 110, and Logic ALS120ES 1868, 1869, 1879, 1888Gravis UltraSoundAureal Vortex 1 or 2
-
+
KernelKonfigurationUm Ihre Soundkarte benutzen zu können, müssen Sie
den richtigen Gerätetreiber laden. Dafür gibt es mehrere
Möglichkeiten: Am einfachsten ist es, mit &man.kldload.8; das
entsprechende Kernel-Modul für Ihre Soundkarte zu laden. Sie
können aber auch die Unterstützung Ihrer Soundkarte
statisch in den Kernel hineinkompilieren. Der folgende Abschnitt
erklärt diese Methode. Weitere Informationen über das
Kompilieren eines Kernels erhalten sie in dem Kapitel Kernelkonfiguration.
-
+
Creative, Advance und ESS SoundkartenFür jede dieser Karten fügen Sie die folgende Zeile
zu Ihrer Kernelkonfiguration hinzu:
-
+
device pcm
-
+
ISA-Karten benötigen zusätzlich noch die
Zeile:device sbcNicht-PnP fähige ISA-Karten benötigen die Zeilen:device pcm
device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15Dies sind die
Voreinstellungen. Sie werden unter Umständen den IRQ oder
andere Einstellungen anpassen müssen. In der &man.sbc.4;
Manualpage finden Sie weitere Informationen dazu.Die Karte Sound Blaster Live wird unter FreeBSD 4.0
nicht unterstützt. Dazu benötigen Sie einen Patch,
der in diesem Dokument nicht behandelt wird. Es ist deshalb
empfehlenswert, dass Sie in diesem Fall Ihr System auf den
neuesten -STABLE Stand aktualisieren, bevor Sie diese Karte
benutzen können.Gravis UltraSound KartenEine PnP ISA-Karte benötigt die folgenden Zeilen in der
Kernelkonfiguration:device pcm
device guscWenn Sie eine nicht-PnP fähige ISA-Karte besitzen,
fügen Sie die folgenden Zeilen ein:device pcm
device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13Es kann sein, dass Sie den
IRQ oder andere Einstellungen Ihrer Karte anpassen
müssen. Lesen Sie dazu die &man.gusc.4; Manualpage
für weitere Informationen.Crystal SoundkartenIn der Kernelkonfiguration geben Sie für Crystal Karten
die beiden folgenden Zeilen an:device pcm
device csaAllgemeine UnterstützungFür PnP ISA- oder PCI-Karten fügen Sie die folgende
Zeile zu Ihrer Kernelkonfiguration hinzu:device pcmWenn Sie eine nicht-PnP ISA-Karte besitzen, die keinen
Bridge-Treiber hat, geben Sie zusätzlich die folgende Zeile
an:device pcm0 at isa? irq 10 drq 1 flags 0x0Ändern Sie den IRQ oder
andere Einstellungen so, dass sie Ihrer Soundkarte
entsprechen.Onboard Sound
-
+
Einige Systeme besitzen direkt auf dem Motherboard
eingebaute Soundgeräte. Diese benötigen die folgende
Angabe in Ihrer Kernelkonfiguration:
-
+
options PNPBIOSErstellen und Testen der Device NodesDevice NodeGerätedateiNach einem Neustart loggen Sie sich ein und geben
dmesg | grep pcm ein. Sie sollten etwas wie das
folgende sehen:&prompt.root; dmesg | grep pcm
pcm0: <SB16 DSP 4.11> on sbc0Die Ausgabe Ihres Systems kann anders aussehen. Erscheinen
keine pcm Geräte, dann ist zuvor
ein Fehler aufgetreten. Wenn das passiert, schauen Sie sich Ihre
Kernelkonfiguration noch einmal an und vergewissern Sie sich,
dass Sie den richtigen Treiber gewählt haben. Weitere
Hinweise zur Fehlersuche gibt .Ergab der vorige Befehl pcm0 als
Ausgabe, dann müssen Sie folgendes als root
ausführen:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV snd0Wenn auf den vorigen Befehl pcm1
als Ausgabe erschienen ist, dann müssen Sie dieselben
Befehle ausführen, nur dass Sie
snd0 durch
snd1 ersetzen.
-
+
- Die obigen Kommandos legen kein
+ Die obigen Kommandos legen kein/dev/snd Device an.Der Befehl MAKEDEV erzeugt eine Gruppe
von Device Nodes, darunter:
-
+
DeviceBeschreibung/dev/audioSPARC-compatible audio device/dev/dspDigitized voice device/dev/dspW/dev/dsp-ähnliches
Device mit 16 bits pro Sample/dev/midiRaw midi access device/dev/mixerControl port mixer device/dev/musicLevel 2 sequencer interface/dev/sequencerSequencer device/dev/pssProgrammable device interfaceWenn alles geklappt hat, haben Sie jetzt eine
funktionierende Soundkarte. Nun können Sie eine Anwendung
wie audio/mpg123 installieren,
um Audiodateien anhören zu können.
-
+
Häufige ProblemeFehlerLösungDevice NodeGerätedateiunsupported subdevice XXEin oder mehrere Device Nodes wurden nicht
korrekt angelegt. Wiederholen Sie die oben angegebenen
Schritte.I/O portsb_dspwr(XX) timed outDer I/O Port ist nicht korrekt angegeben.IRQbad irq XXDer IRQ ist falsch angegeben. Stellen Sie
sicher, dass der angegebene IRQ mit dem Sound IRQ
übereinstimmt.
- xxx: gus pcm not attached, out of
+ xxx: gus pcm not attached, out of
memoryEs ist nicht genug Speicher verfügbar,
um das Gerät betreiben zu können.DSPxxx: can't open /dev/dsp!Überprüfen Sie mit fstat |
grep dsp ob eine andere Anwendung das
Gerät geöffnet hat. Häufige
Störenfriede sind esound
oder die Sound-Unterstützung von
KDE.ChernLeeEin Beitrag von BenediktKöhlerÜbersetzt von MP3 AudioMP3 (MPEG Layer 3 Audio) ermöglicht eine
Klangwiedergabe in CD-ähnlicher Qualität, was Sie sich
auf Ihrem FreeBSD Rechner nicht entgehen lassen sollten.MP3-PlayerXMMS (X Multimedia System) ist
bei weitem der beliebteste XFree86 MP3-Player.
WinAmp-Skins können auch mit
XMMS genutzt werden, da die
Benutzerschnittstelle fast identisch mit der von Nullsofts
WinAmp ist. Daneben
unterstützt XMMS auch eigene
Plugins.
-
+
XMMS kann als
audio/xmms Port oder Package installiert
werden.Die Benutzerschnittstelle von
XMMS ist leicht zu erlernen und
beinhaltet eine Playlist, einen graphischen Equalizer und
vieles mehr. Diejenigen, die mit WinAmp vertraut sind, werden
XMMS sehr leicht zu benutzen
finden.Der Port audio/mpg123 ist
ein alternativer, kommandozeilenorientierter MP3-Player.
-
+
mpg123 kann ausgeführt
werden, in dem man das zu benutzende Sound Device und die
abzuspielende MP3-Datei in der Kommandozeile wie unten
angibt:&prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from BT - Foobar-GreastHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
/dev/dsp1.0 sollten Sie dabei mit dem
dsp-Device Ihres Systems ersetzen.
-
+
CD-Audio Tracks rippen
-
+
Bevor man eine ganze CD oder einen CD-Track in das
MP3-Format umwandeln kann, müssen die Audiodaten von der
CD auf die Festplatte gerippt werden. Dabei werden die CDDA
(CD Digital Audio) Rohdaten in WAV-Dateien kopiert.Die Anwendung cdda2wav die in dem
sysutils/cdrtools Paket enthalten
ist, kann zum Rippen der Audiodaten und anderen Informationen von CDs
genutzt werden.
-
+
Wenn die Audio CD in dem Laufwerk liegt, können Sie
mit folgendem Befehl (als root) eine
ganze CD in einzelne WAV-Dateien (eine Datei für jeden
Track) rippen:
-
+
&prompt.root; cdda2wav -D 0,1,0 -BDer Schalter bezieht sich auf
das SCSI Device 0,1,0, dass sich aus
dem Ergebnis des Befehls cdrecord -scanbus
ergibt.
-
+
Um einzelne Tracks zu rippen, benutzen Sie den
Schalter wie folgt:
-
+
&prompt.root; cdda2wav -D 0,1,0 -t 7
-
+
Dieses Beispiel rippt den siebten Track der Audio
CD-ROM. Um mehrere Tracks zu rippen, zum Beispiel die Tracks
eins bis sieben, können Sie wie folgt einen Bereich
angeben:
-
+
&prompt.root; cdda2wav -D 0,1,0 -t 1+7cdda2wav unterstützt auch ATAPI
(IDE) CD-ROM Laufwerke. Wenn Sie ein IDE Laufwerk benutzen, geben
Sie beim Aufruf von cdda2wav den
Gerätenamen anstelle der SCSI Gerätenummern an. Um den
siebten Track eines IDE Laufwerkes zu rippen, benutzen Sie das
folgende Kommando:&prompt.root; cdda2wav -D /dev/acd0a -t 7
-
+
MP3-Dateien kodierenGegenwärtig ist Lame der
meistbenutzte MP3-Encoder. Lame
finden Sie unter audio/lame im
Ports-Verzeichnis.
-
+
Benutzen Sie die WAV-Dateien, die sie von CD gerippt
haben, und wandeln sie mit dem folgenden Befehl die Datei
audio01.wav in
audio01.mp3 um:&prompt.root; lame -h -b 128 \
--tt "Foo Liedtitel" \
--ta "FooBar Künstler" \
--tl "FooBar Album" \
--ty "2001" \
--tc "Geripped und kodiert von Foo" \
--tg "Musikrichtung" \
audio01.wav audio01.mp3
-
+
128 kbits ist die gewöhnliche MP3 Bitrate. Viele
bevorzugen mit 160 oder 192 kbits eine höhere Qualität. Je
höher die Bitrate ist, desto mehr Speicherplatz
benötigt die resultierende MP3-Datei, allerdings wird die
Qualität dadurch auch besser. Der Schalter
verwendet den higher quality but a
little slower (höhere Qualität, aber etwas
langsamer) Modus. Die Schalter, die mit
beginnen, sind ID3-Tags, die in der Regel
Informationen über das Lied enthalten und in die
MP3-Datei eingebettet sind. Weitere Optionen können in
der Manualpage von Lame nachgelesen
werden.
-
+
MP3-Dateien dekodierenUm aus MP3-Dateien eine Audio CD zu erstellen, müssen
diese in ein nicht komprimiertes WAV-Format umgewandelt
werden. Sowohl XMMS als auch
mpg123 unterstützen die Ausgabe
der MP3-Dateien in unkomprimierte Dateiformate.Dekodieren mit XMMS:Starten Sie XMMS.Klicken Sie mit der rechten Maustaste, um das
XMMS-Menu zu öffnen.Wählen Sie Preference im
Untermenü Options.Ändern Sie das Output-Plugin in Disk
Writer Plugin.Drücken Sie Configure.Geben Sie ein Verzeichnis ein (oder wählen Sie
browse), in das Sie die unkomprimierte Datei schreiben
wollen.Laden Sie die MP3-Datei wie gewohnt in
XMMS mit einer Lautstärke
von 100% und einem abgeschalteten EQ.Drücken Sie Play und es wird
so aussehen, als spiele XMMS
die MP3-Datei ab, aber keine Musik ist zu hören. Der
Player überspielt die MP3-Datei in eine Datei.Vergessen Sie nicht, das Output Plugin wieder in den
Ausgangszustand zurückzusetzen um wieder MP3-Dateien
anhören zu können.Mit mpg123 nach stdout schreiben:Geben Sie mpg123 -s
audio01.mp3 > audio01.pcm
ein
-
+
XMMS schreibt die Datei in dem
WAV-Formal während mpg123 die
MP3-Datei in rohe PCM Audiodaten umwandelt. Beide Formate
können von cdrecord oder
burncd verwendet werden, um Audio
CDs zu schreiben.
-
+
Lesen Sie in diesem Handbuch,
um mehr Informationen zur Benutzung von CD-Brennern mit FreeBSD zu
erhalten.
-
diff --git a/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml b/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml
index c54ef61e69..6873ffc0af 100644
--- a/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml
@@ -1,1650 +1,1650 @@
UwePierauÜbersetzt von Installieren von Anwendungen: Pakete und PortsÜbersichtPortsPaketeFreeBSD enthält sehr viele Systemwerkzeuge, die Teil des
Basissystems sind. Allerdings sind Sie früher oder später
auf Software Dritter angewiesen, damit Sie bestimmte Arbeiten
durchführen können. Um diese Software zu installieren,
stellt FreeBSD zwei, sich ergänzende, Methoden zur
Verfügung: Die Ports-Sammlung und binäre Softwarepakete.
Sie können beide Methoden benutzen, um Ihre Lieblingsanwendungen
von lokalen Medien oder über das Netzwerk zu
installieren.Nachdem Sie dieses Kapitel durchgearbeitet haben, werden Sie
wissenwie Sie binäre Softwarepakete installieren,wie Sie Software Dritter mit der Ports-Sammlung bauen
undwie Sie zuvor installierte Pakete oder Ports von einem
System entfernen.Installation von SoftwareWenn Sie schon einmal ein &unix; System benutzt haben, werden Sie
wissen, dass zusätzliche Software meist wie folgt
installiert wird:Download der Software, die als Quelltext oder im
Binärformat vorliegen kann.Auspacken der Software, die typischerweise ein mit
&man.compress.1; oder &man.gzip.1; komprimiertes Tar-Archiv
enthält.Durchsuchen der Dokumentation, die sich meist in Dateien wie
INSTALL, README oder
mehreren Dateien im Verzeichnis doc/
befindet, nach Anweisungen, wie die Software
zu installieren ist.Kompilieren der Software wenn sie als Quelltext vorliegt.
Dazu müssen Sie vielleicht das Makefile
anpassen, oder configure laufen lassen, oder
andere Arbeiten durchführen.Testen und installieren der Software.Das beschreibt aber nur den optimalen Fall. Wenn Sie
Software installieren, die nicht speziell für FreeBSD
geschrieben wurde, müssen Sie vielleicht sogar den Quelltext
anpassen, damit die Software funktioniert.Wenn Sie unbedingt wollen, können Sie mit FreeBSD Software
nach der althergebrachten Methode installieren. Mit
Paketen oder Ports bietet Ihnen FreeBSD allerdings zwei Methoden an,
die Ihnen sehr viel Zeit sparen können. Zurzeit werden über
&os.numports; Anwendungen Dritter über diese Methoden zur
Verfügung gestellt.Das FreeBSD Paket einer Anwendung besteht aus einer einzigen
Datei, die Sie sich herunterladen müssen. Das Paket
enthält schon übersetzte Kommandos der Anwendung, sowie
zusätzliche Konfigurationsdateien oder Dokumentation. Zur
Handhabung der Pakete stellt FreeBSD Kommandos wie &man.pkg.add.1;,
&man.pkg.delete.1; oder &man.pkg.info.1; zur Verfügung.Mit diesem System können neue Anwendungen mit einem
Kommando, pkg_add, installiert werden.Der FreeBSD Port einer Anwendung ist eine Sammlung von Dateien,
die das Kompilieren der Quelltexte einer Anwendung
automatisieren.Die Dateien eines Ports führen für Sie alle oben
aufgeführten Schritte zum Installieren einer Anwendung durch.
Mit einigen wenigen Kommandos wird der Quellcode der Anwendung
automatisch heruntergeladen, ausgepackt, gepatcht, übersetzt und
installiert.Tatsächlich kann das Portsystem auch dazu benutzt werden,
Pakete zu generieren, die Sie mit den gleich beschriebenen Kommandos,
wie pkg_add, manipulieren können.Pakete und Ports beachten Abhängigkeiten zwischen
Anwendungen. Angenommen, Sie wollen eine Anwendung installieren,
die von einer Bibliothek abhängt und die Anwendung wie die
Bibliothek sind als Paket oder Port für FreeBSD verfügbar.
Wenn Sie pkg_add oder das Portsystem benutzen,
um die Anwendung zu installieren, werden Sie bemerken, dass
die Bibliothek zuerst installiert wird, wenn sie nicht schon vorher
installiert war.Sie werden sich fragen, warum FreeBSD Pakete und Ports
unterstützt, wo doch beide Methoden fast gleiches leisten.
Beide Methoden haben ihre Stärken und welche Sie einsetzen,
hängt letztlich von Ihren Vorlieben ab.Vorteile von Paketen
-
+
Das komprimierte Paket einer Anwendung ist normalerweise
kleiner als das komprimierte Archiv der Quelltexte.Pakete müssen nicht mehr kompiliert werden. Dies ist
ein Vorteil, wenn Sie große Pakete, wie
Mozilla, KDE
oder GNOME auf langsamen Maschinen
installieren.Wenn Sie Pakete verwenden, brauchen Sie nicht zu verstehen,
wie Sie Software unter FreeBSD kompilieren.Vorteile von Ports
-
+
Da die Pakete auf möglichst vielen System laufen sollen,
werden Optionen beim Übersetzen zurückhaltend gesetzt.
Wenn Sie eine Anwendung über die Ports installieren,
können Sie die Angabe der Optionen optimieren. Zum Beispiel
können Sie spezifischen Code für Pentium III oder
Athlon Prozessoren erzeugen.Die Eigenschaften einiger Anwendungen werden über
Optionen zum Zeitpunkt des Übersetzens festgelegt.
Apache kann zum Beispiel über
viele eingebaute Optionen konfiguriert werden. Wenn Sie das
Portsystem benutzen, können Sie die Vorgaben für die
Optionen überschreiben.Für einige Fälle existieren verschiedene
Pakete einer Anwendung, die beim Übersetzen
unterschiedlich konfiguriert wurden. Für
Ghostscript gibt es ein
ghostscript-Paket und ein
ghostscript-nox11-Paket, die sich durch die
X11 Unterstützung unterscheiden. Diese grobe Unterscheidung
ist mit dem Paketsystem möglich, wird aber schnell
unhandlich, wenn eine Anwendung mehr als ein oder zwei Optionen
zum Zeitpunkt des Übersetzens besitzt.Die Lizenzbestimmungen mancher Software verbietet ein
Verbreiten in binärer Form. Diese Software muss als
Quelltext ausgeliefert werden.Einige Leute trauen binären Distributionen nicht. Wenn
Sie den Quelltext besitzen, können Sie sich diesen
(zumindest theoretisch) durchlesen und nach möglichen Problemen
durchsuchen.Wenn Sie eigene Anpassungen besitzen, benötigen Sie den
Quelltext, um diese anzuwenden.Manch einer besitzt gerne den Quelltext, um ihn zu lesen,
wenn es einmal langweilig ist, ihn zu hacken, oder sich einfach
ein paar Sachen abzugucken (natürlich nur, wenn es die
Lizenzbestimmungen erlauben).Wenn Sie über aktualisierte Ports informiert sein wollen,
lesen Sie bitte die Mailinglisten &a.ports; und &a.ports-bugs;.Der Rest dieses Kapitels beschreibt, wie Sie Software Dritter mit
Paketen oder Ports auf einem FreeBSD System installieren und
verwalten.Suchen einer AnwendungBevor Sie eine Anwendung installieren, müssen Sie deren
Art und Namen kennen.Die Anzahl der nach FreeBSD portierten Anwendungen steigt
ständig. Zum Glück gibt es einige Wege, die richtige zu
finden.Eine aktuelle Liste verfügbarer Anwendungen, die sich
auch durchsuchen lässt, finden Sie unter http://www.FreeBSD.org/ports/.
Die Anwendungen sind in Kategorien unterteilt und Sie
können sich alle Anwendungen einer Kategorie anzeigen
lassen. Wenn Sie den Namen der Anwendung kennen, können
Sie natürlich auch direkt nach dem Namen suchen.FreshPortsFreshPorts, das von Dan Langille gepflegt wird, erreichen Sie
unter
http://www.FreshPorts.org/. FreshPorts verfolgt
Änderungen an Anwendungen aus den Ports. Mit FreshPorts
können Sie ein oder mehrere Ports beobachten und sich eine
E-Mail schicken lassen, wenn ein Port aktualisiert wird.FreshMeatWenn Sie den Namen einer Anwendung nicht kennen, versuchen
Sie eine Webseite wie FreshMeat (http://www.freshmeat.net/),
um eine passende Anwendung zu finden. Schauen Sie dann auf der
FreeBSD Webseite nach, ob die Anwendung schon portiert
wurde.
-
+ ChernLeeBeigesteuert von Benutzen des PaketsystemsInstallieren eines PaketsPaketeinstallieren
-
+
pkg_addMit &man.pkg.add.1; können Sie ein FreeBSD Paket von einer
lokalen Datei oder über das Netzwerk installieren.Download vor Installation eines Pakets&prompt.root; ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp>get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp>exit
&prompt.root; pkg_add lsof-4.56.4.tgzWenn Sie die Pakete nicht lokal vorliegen haben (zum Beispiel
auf den FreeBSD CD-ROMs), ist es wahrscheinlich einfacher den
Schalter von &man.pkg.add.1; zu verwenden. Das
Werkzeug bestimmt dann automatisch das nötige Objektformat und
die richtige Version des Pakets, lädt dieses dann von einem
FTP-Server und installiert das Paket.pkg_add&prompt.root; pkg_add -r lsofDas obige Beispiel würde ohne weitere Interaktion das
richtige Paket herunterladen und installieren. Die Dateien werden
mit &man.fetch.3;, das Umgebungsvariablen wie
FTP_PASSIVE_MODE, FTP_PROXY und
FTP_PASSWORD berücksichtigt, heruntergeladen.
Wenn Sie durch eine Firewall geschützt werden, müssen Sie
vielleicht eine oder mehrere dieser Umgebungsvariablen setzen oder
einen FTP oder HTTP Proxy verwenden. Eine Liste der
unterstützten Umgebungsvariablen finden Sie in &man.fetch.3;.
Beachten Sie, dass im obigen Beispiel lsof
anstelle von lsof-4.56.4 verwendet wird. Wenn
Sie &man.pkg.add.1; zum Herunterladen eines Pakets verwenden, darf
die Versionsnummer des Pakets nicht angegeben werden, da
automatisch die neuste Version der Anwendung geholt wird.Pakete werden im .tgz Format ausgeliefert.
Sie finden Sie unter
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/ oder
auf der FreeBSD CD-ROM Distribution. Jede CD der FreeBSD
Distribution (oder des PowerPaks) enthält Pakete im
Verzeichnis /packages. Die Struktur des
Paketbaums entspricht dem /usr/ports Baum.
Jede Kategorie besitzt ein eigenes Verzeichnis und alle
Pakete befinden sich im Verzeichnis
All.Die Verzeichnisstruktur des Paketbaums ist ein Abbild der
Ports, da beide Systeme eng zusammenarbeiten.Verwalten von PaketenPaketeverwalten&man.pkg.info.1; zeigt alle installierten Pakete und deren
Beschreibung an.pkg_info&prompt.root; pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...&man.pkg.version.1; vergleicht die Version installierter Pakete
mit der Version aus der Ports-Sammlung.pkg_version&prompt.root; pkg_version
cvsup =
docbook =
...Die Symbole in der zweiten Spalte zeigen das Alter des Pakets
im Vergleich zu der lokalen Version aus der Ports-Sammlung an.
SymbolBedeutung=Die Version des installierten Paketes stimmt mit der
Version aus der lokalen Ports-Sammlung überein.
-
+
<Die installierte Version ist älter als die der
verfügbaren Version aus der Ports-Sammlung.>Die installierte Version ist neuer als die aus der
Ports-Sammlung (Eventuell ist die lokale Ports-Sammlung
veraltet).?Das installierte Paket konnte in der Ports-Sammlung
nicht gefunden werden.*In der Ports-Sammlung befinden sich mehrere Versionen
der Anwendung.Entfernen eines Paketspkg_deletePaketeentfernenUm ein zuvor installiertes Paket zu entfernen, benutzen Sie das
Werkzeug &man.pkg.delete.1;.&prompt.root; pkg_delete xchat-1.7.1VerschiedenesInformationen über alle installierte Pakete werden in
/var/db/pkg abgelegt. Das Verzeichnis
enthält Dateien, in denen sich die Beschreibungen der Pakete
und Listen von Dateien, die zu einem Paket gehören,
befinden.
-
+
Benutzen der Ports-SammlungDie folgenden Abschnitte stellen die grundlegenden Anweisungen
vor, um Anwendungen aus der Ports-Sammlung auf
Ihren Rechner zu installieren oder zu löschen.Installation der Ports-SammlungBevor Sie einen Port installieren können, müssen Sie
zuerst die Ports-Sammlung installieren, die aus Makefiles, Patches
und Beschreibungen besteht. Die Ports-Sammlung wird
für gewöhnlich unter /usr/ports
installiert.Bei der FreeBSD Installation hatten Sie in
Sysinstall die Möglichkeit, die
Ports-Sammlung zu installieren. Wenn Sie die Sammlung damals nicht
installiert haben, können Sie das mit den folgenden
Anweisungen nachholen:Installieren mit SysinstallSie können die Ports-Sammlung nachträglich mit
sysinstall installieren.Führen Sie als root/stand/sysinstall aus:&prompt.root; /stand/sysinstallWählen Sie den Punkt Configure
aus und drücken Sie Enter.Wählen Sie dann Distributions
aus und drücken Sie Enter.In diesem Menü wählen Sie
ports aus und drücken die
Leertaste.Danach wählen Sie Exit aus und
drücken Enter.Legen Sie nun ein geeignetes Installationsmedium, wie CD-ROM
oder FTP, fest.Wählen Sie nun Exit aus und
drücken Enter.Verlassen Sie sysinstall mit
X.Alternativ können Sie die Ports-Sammlung auch mit
CVSup installieren und aktualisieren.
Ein Beispiel für die Konfiguration von
CVSup finden Sie in
/usr/share/examples/cvsup/ports-supfile.
Weitere Informationen über CVSup
und dessen Konfiguration finden Sie in Benutzen
von CVSup ().Installieren mit CVSupDies ist eine schnelle Methode um die Ports-Sammlung zu
aktualisieren.Installieren Sie den net/cvsup Port. Weitere
Informationen finden Sie in
Installation von CVSup
().Kopieren Sie als root/usr/share/examples/cvsup/ports-supfile an
einen neuen Ort, beispielsweise nach /root
oder in Ihr Heimatverzeichnis.Editieren Sie die Kopie von
ports-supfile.Ersetzen Sie
CHANGE_THIS.FreeBSD.org durch einen
CVSup-Server in Ihrer Nähe.
Eine vollständige Liste der
CVSup-Spiegel finden Sie in
CVSup Spiegel
().Führen Sie cvsup aus:&prompt.root; cvsup -g -L 2 /root/ports-supfileMit diesem Kommando können Sie später die
Ports-Sammlung aktualisieren. Die installierten Ports werden
mit diesem Kommando nicht aktualisiert.Ports installierenPortsinstallierenWas ist mit einem Gerüst im Zusammenhang
mit der Ports-Sammlung gemeint? In aller Kürze: ein
Gerüst eines Ports ist ein minimaler Satz von Dateien, mit
denen das FreeBSD System eine Anwendung sauber übersetzen und
installieren kann. Ein jeder Port beinhaltet:Eine Datei Makefile. Das
- Makefile enthält verschiedene
- Anweisungen, die spezifizieren, wie eine Anwendung kompiliert
+ Makefile enthält verschiedene
+ Anweisungen, die spezifizieren, wie eine Anwendung kompiliert
wird und wo sie auf Ihrem System installiert werden
sollte.Eine Datei distinfo. Diese
enthält Informationen, welche Dateien heruntergeladen
werden müssen, sowie Prüfsummen, um sicher zu gehen,
dass diese Dateien während des Herunterladens nicht
beschädigt wurden.Ein files Verzeichnis. Hierin
liegen Patches, welche das Übersetzen und Installieren
der Anwendung ermöglichen. Patches sind im Wesentlichen
kleine Dateien, die Änderungen an speziellen Dateien
spezifizieren. Sie liegen als reiner Text vor und sagen
ungefähr:
Lösche Zeile 10 oder
Ändere Zeile 26 zu .... Patches sind
auch bekannt unter dem Namen diffs, weil
Sie mit dem Programm &man.diff.1;
erstellt werden.Dieses Verzeichnis kann auch noch andere Dateien enthalten,
welche zum Bauen des Ports benutzt werden.Eine Datei pkg-comment. Eine
einzeilige Beschreibung der Anwendung.Eine Datei pkg-descr. Eine
ausführlichere, oft mehrzeilige Beschreibung der
Anwendung.
-
+
Eine Datei pkg-plist. Das ist eine
Liste aller Dateien, die durch diesen Port installiert werden.
Außerdem sind hier Informationen enthalten, die zum
Entfernen des Ports benötigt werden.Einige Ports besitzen noch andere Dateien, wie
pkg-message, die vom Portsystem benutzt
werden, um spezielle Situationen zu handhaben. Wenn Sie mehr
über diese Dateien oder das Port-System erfahren sollen, lesen
Sie bitte im FreeBSD
FreeBSD Porter's Handbook weiter.Nun haben Sie genug Hintergrund Informationen über
die Ports-Sammlung und Sie können Ihren ersten Port
installieren. Es gibt dazu zwei Möglichkeiten, die
im Folgenden erläutert werden.Bevor Sie damit beginnen, müssen Sie sich natürlich
einen Port zum Installieren aussuchen. Sie können
dazu mehrere Wege gehen, als einfachste Methode gibt es die
Liste aller Ports auf
dem FreeBSD Web-Server. Sie können dort suchen
oder in der Liste schmökern. Jeder Port enthält
- außerdem eine Beschreibung, so dass Sie sich vor der
- Entscheidung, welchen Port Sie installieren wollen, über den Port
+ außerdem eine Beschreibung, so dass Sie sich vor der
+ Entscheidung, welchen Port Sie installieren wollen, über den Port
informieren können.Sie können einen Port auch mit &man.whereis.1; suchen.
Geben Sie einfach
whereis Datei ein,
wobei Datei der Name des
Programms ist, das Sie suchen:&prompt.root; whereis lsof
lsof: /usr/ports/sysutils/lsofDamit haben wir herausgefunden, dass sich
lsof, ein Systemwerkzeug, in
/usr/ports/sysutils/lsof befindet.Ein weiterer Weg, einen bestimmten Port zu finden, ist es,
die eingebaute Suchfunktion der Ports-Sammlung zu benutzen.
- Dazu müssen Sie im Verzeichnis /usr/ports
- sein. Darin geben Sie
+ Dazu müssen Sie im Verzeichnis /usr/ports
+ sein. Darin geben Sie
make search name=Anwendungsname ein, worin Anwendungsname
der Name der von Ihnen gesuchten Anwendung ist. Wenn Sie
zum Beispiel nach lsof suchen:&prompt.root; cd /usr/ports
&prompt.root; make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps: Der Teil der Ausgabe der Sie interessiert ist die Zeile, die
mit Path: beginnt, weil sie Ihnen sagt, wo der Port
zu finden ist. Die anderen Informationen werden zum Installieren
des Ports nicht direkt benötigt, Sie brauchen sich darum
jetzt nicht weiter zu kümmern.Mit make search key=Text können Sie erweiterte Suchen durchführen.
Damit werden Portnamen, Kommentare, Beschreibungen und
Abhängigkeiten nach Text
durchsucht. Dies kann sehr nützlich sein, wenn Sie den Namen
des Programms, nach dem Sie suchen, nicht kennen.In beiden Fällen wird Groß- und Kleinschreibung bei
der Suche ignoriert. Die Suche nach LSOF wird
dieselben Ergebnisse wie die Suche nach lsof
liefern.Zum Installieren von Ports müssen Sie als Benutzer
root angemeldet sein.Jetzt, wo Sie den gewünschten Port gefunden haben, kann es
mit der eigentlichen Installation losgehen. Der Port enthält
Anweisungen, wie der Quelltext zu bauen ist, enthält aber
nicht den Quelltext selbst. Den Quelltext erhalten Sie von einer
CD-ROM oder aus dem Internet. Quelltexte werden in einem Format
nach Wahl des jeweiligen Software-Autors ausgeliefert. Häufig
ist dies ein gezipptes Tar-Archiv, aber es kann auch mit einem
anderen Tool komprimiert oder gar nicht komprimiert sein. Der
Quelltext, in welcher Form er auch immer vorliegen mag, wird
Distfile genannt.Installation von einer CD-ROMPortsInstallation von einer CD-ROMDie offiziellen FreeBSD CD-ROMs enthalten keine Distfiles
mehr, da diese sehr viel Platz beanspruchen, der besser von
vorkompilierten Paketen genutzt werden kann. Andere FreeBSD CD-ROMs,
wie der FreeBSD PowerPak, enthalten Distfiles.
Diese CD-ROMs können Sie über einen Händler wie
FreeBSD Mall
beziehen. Dieser Abschnitt geht davon aus, dass Sie eine
solche CD-ROM Distribution besitzen.&prompt.root; cd /usr/ports/sysutils/lsofIm Verzeichnis lsof kann man das
Gerüst erkennen. Der
nächste Schritt ist das Übersetzen (auch Bauen genannt)
des Ports. Dies wird durch Eingabe von make
- getan. Haben Sie das eingegeben, so werden Sie etwas lesen
+ getan. Haben Sie das eingegeben, so werden Sie etwas lesen
wie:&prompt.root; make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from file:/cdrom/ports/distfiles/.
===> Extracting for lsof-4.57
...
[Ausgabe des Auspackens weggelassen]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[configure-Ausgabe weggelassen]
...
===> Building for lsof-4.57
...
[Ausgabe der Übersetzung weggelassen]
...
&prompt.root;Ist die Übersetzungsprozedur beendet, sind Sie wieder
- in der Kommandozeile und der nächste Schritt ist die
+ in der Kommandozeile und der nächste Schritt ist die
Installation. Erweitern Sie dazu einfach die
make-Kommandozeile um das Wort
install:&prompt.root; make install
===> Installing for lsof-4.57
...
[Ausgabe der Installation weggelassen]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Wenn Sie wieder den Prompt haben, sollten Sie in der Lage
sein, die gerade installierte Anwendung laufen zu lassen. Da
lsof eine Anwendung ist, die mit erhöhten
Rechten läuft, wird eine Sicherheitswarnung angezeigt. Sie
sollten alle Warnungen während des Baus und der Installation
eines Ports beachten.
- Sie können einen Schritt sparen, wenn Sie gleich
+ Sie können einen Schritt sparen, wenn Sie gleich
make install anstelle von
make und dem anschließenden
make install eingeben.Um die Suche nach Kommandos zu beschleunigen, speichern
einige Shells eine Liste der verfügbaren Kommandos in den
durch die Umgebungsvariable PATH gegebenen
Verzeichnissen. Nach der Installation eines Ports müssen
Sie in einer solchen Shell vielleicht das Kommando
rehash absetzen, um die neu installierten
Kommandos benutzen zu können. Dies betrifft sowohl die
beiden Shells des Basissystems, wie die
tcsh, und Shells aus den Ports, zum
Beispiel die shells/zsh.Beachten Sie bitte, dass die Lizenzen einiger Ports
die Einbeziehung auf der CD-ROM verbieten. Das kann
verschiedene Gründe haben. Beispielsweise eine
Registrierung vor dem Herunterladen erforderlich oder die
Weiterverteilung ist verboten. Wenn Sie einen Port
installieren wollen, der nicht auf
der CD-ROM enthalten ist, müssen Sie Online sein. Folgen
Sie bitte den Anweisungen des
nächsten Abschnitts.Ports vom Internet installierenDieser Abschnitt setzt voraus, dass Sie eine Verbindung
mit dem Internet haben. Haben Sie dies nicht, müssen Sie
eine CD-ROM Installation
durchführen oder das Distfile selber nach
/usr/ports/distfiles stellen.Das Installieren eines Ports vom Internet wird genauso
durchgeführt wie das Installieren von CD-ROM. Der einzige
Unterschied zwischen beiden ist, dass das Distfile des
- Ports vom Internet heruntergeladen und nicht von der CD-ROM
+ Ports vom Internet heruntergeladen und nicht von der CD-ROM
gelesen wird.Die durchgeführten Schritte sind identisch:&prompt.root; make install
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps)
===> Extracting for lsof-4.57
...
[Ausgabe des Auspackens weggelassen]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[configure-Ausgabe weggelassen]
...
===> Building for lsof-4.57
...
[Ausgabe der Übersetzung weggelassen]
...
===> Installing for lsof-4.57
...
[Ausgabe der Installation weggelassen]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
-===> SECURITY NOTE:
+===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Wie Sie sehen können, besteht der einzige Unterschied in
der Zeile, die Ihnen sagt, woher das System den Quellcode
holt.Die Ports-Sammlung benutzt zum Herunterladen von Dateien
&man.fetch.3;, das Umgebungsvariablen wie
FTP_PASSIVE_MODE, FTP_PROXY und
FTP_PASSWORD berücksichtigt. Wenn Sie durch
eine Firewall geschützt werden, müssen Sie vielleicht
eine oder mehrere dieser Umgebungsvariablen setzen, oder einen FTP
oder HTTP Proxy verwenden. Eine Liste der unterstützten
Umgebungsvariablen finden Sie in &man.fetch.3;.Entfernen installierter PortsPortsentfernenDa Sie nun wissen, wie man einen Port installiert, wollen Sie
sicher auch wissen, wie man einen Port entfernt, für den
Fall, dass Sie versehentlich einen falschen installiert haben.
Nun wollen wir mal unser vorheriges Beispiel wieder
löschen (für alle die nicht aufgepasst haben, das
war lsof).
Wie beim Installieren wechseln Sie zuerst in das Verzeichnis des
Ports /usr/ports/sysutils/lsof. Nachdem Sie
das Verzeichnis gewechselt haben, können Sie
lsof mit make deinstall
entfernen:&prompt.root; cd /usr/ports/sysutils/lsof
&prompt.root; make deinstall
===> Deinstalling for lsof-4.57Das war leicht, Sie haben lsof
von Ihrem System entfernt. Möchten Sie den Port doch
- wieder neu installieren, geben Sie
+ wieder neu installieren, geben Sie
make reinstall im Verzeichnis
/usr/ports/sysutils/lsof ein.make deinstall und make
reinstall funktionieren nicht mehr, wenn Sie einmal
make clean ausgeführt haben. Wenn Sie
dennoch einen Port nach einem make clean
entfernen möchten, benutzen Sie &man.pkg.delete.1;
wie im Abschnitt Benutzen des
Paketsystems beschrieben.Nach der InstallationNach der Installation einer neuen Anwendung wollen Sie
wahrscheinlich die mitgelieferte Dokumentation lesen und die
Konfigurationsdateien der Anwendung anpassen. Wenn die Anwendung
ein Dæmon ist, sollten Sie sicherstellen, dass die
Anwendung beim Booten startet.Die einzelnen Schritte sind natürlich von Anwendung zu
Anwendung verschieden. Wenn Sie sich allerdings nach der Installation
einer Anwendung die Frage Was nun? stellen, helfen die
folgenden Hinweise vielleicht weiter.Finden Sie mit &man.pkg.info.1; heraus, welche Dateien die
Anwendung wo installiert hat. Wenn Sie beispielsweise gerade
die Version 1.0.0 von FooPackage installiert haben, zeigt Ihnen
das folgende Kommando alle installierten Dateien des
Pakets:&prompt.root; pkg_info -L foopackage-1.0.0 | lessAchten Sie besonders auf die Manualpages, die Sie in
man/ Verzeichnissen finden und auf
Konfigurationsdateien, die in etc/ abgelegt
werden. Manche Pakete enthalten in doc/
zusätzliche Dokumentation.Wenn Sie sich nicht sicher sind, welche Version einer
Anwendung Sie gerade installiert haben, können Sie mit dem
folgenden Kommando nach der Anwendung suchen:&prompt.root; pkg_info | grep foopackageDas Kommando zeigt alle installierten Pakete, deren
Paketname foopackage enthält.
Ersetzen Sie foopackage durch den
Namen der Anwendung, die Sie suchen.Nachdem Sie die Manualpages der Anwendung gefunden haben,
lesen Sie diese bitte mit &man.man.1;. Schauen Sie sich auch die
Beispiele für Konfigurationsdateien und die zusätzliche
Dokumentation, wenn es welche gibt, an.Wenn es für die Anwendung eine Webseite gibt, suchen
Sie dort nach zusätzlicher Dokumentation wie FAQs
(häufig gestellte Fragen). Wenn Sie die Adresse der Webseite
nicht kennen, versuchen Sie das folgende Kommando:&prompt.root; pkg_info foopackage-1.0.0
-
+
Die Ausgabe enthält oft eine Zeile, die mit
WWW: beginnt und die URL der Webseite
enthält.Fehlersuche und -behebungDer folgende Abschnitt beschreibt einige einfache
Fehlerbehebungsmöglichkeiten beim Benutzen der Ports-Sammlung
und ein paar Fehlerbehandlungen, falls ein Port kaputt ist.Einige Fragen und AntwortenIch dachte hierbei ging es um Modems??!Ah, Sie müssen an die serielle Schnittstelle auf der
Rückseite Ihres Computers gedacht haben (engl.
port). Wir
benutzen hier Port als Ergebnis des
Portierens einer Anwendung von einem
Betriebssystem auf ein anderes.Was ist ein Patch?Ein Patch ist eine kleine Datei, die beschreibt, wie man
von einer Version einer Datei zu einer anderen kommt. Sie
enthält reinen Text und sagt im Prinzip Dinge wie
lösche Zeile 23,
füge diese zwei Zeilen hinter Zeile 468 an
oder ändere Zeile 197 hierzu. Patche werden
mit &man.diff.1; erstellt, daher werden die resultierenden
Dateien auch diffs genannt.TarballWorum gehts eigentlich bei diesen
Tarballs?Das ist eine Datei mit der Endung .tar
oder als Varianten mit .tar.gz,
.tar.Z, .tar.bz2,
oder auch .tgz.Vereinfacht ist das ein Verzeichnisbaum, welcher in eine
- einzelne Datei (.tar) archiviert und
+ einzelne Datei (.tar) archiviert und
optional gepackt (.gz) wurde. Diese
- Technik wurde ursprünglich für
- Tape ARchives
+ Technik wurde ursprünglich für
+ Tape ARchives
benutzt (daher der Name tar), aber stellt
heute einen weit verbreiteten Weg da, im Internet Quellcode
zu verbreiten und zu verteilen.Sie können nachsehen, welche Dateien im Archiv
enthalten sind oder diese auspacken, indem Sie das Programm
&man.tar.1;, das Teil des FreeBSD Basissystems ist,
benutzen. Das sähe in etwa so aus:&prompt.user; tar tvzf foobar.tar.gz
&prompt.user; tar xzvf foobar.tar.gz
&prompt.user; tar tvf foobar.tar
&prompt.user; tar xvf foobar.tarPrüfsummeEine Prüfsumme?Das ist eine Zahl, die dadurch generiert wird, indem man
die ganzen Daten einer Datei aufaddiert. Ändert sich ein
Zeichen in dieser Datei, ist die Prüfsumme nicht mehr die
gleiche und ein einfacher Vergleich ermöglicht das
Erkennen des Unterschieds.Ich tat, was ihr zum Übersetzen von Ports von der
- CD-ROM geschrieben habt und es funktionierte auch prima, bis ich
+ CD-ROM geschrieben habt und es funktionierte auch prima, bis ich
zum Port Kermit kam.&prompt.root; make install
>> cku190.tar.gz doesn't seem to exist on this system.
>> Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/.Warum kann die Datei nicht gefunden werden? Habe ich
eine kaputte CD-ROM?Wie im Abschnitt Installation von
CD-ROM erläutert, dürfen einige Ports wegen
Lizenz-Beschränkungen nicht auf CD-ROM veröffentlicht
werden. Kermit ist ein solches
Beispiel. Die Lizenz-Bestimmungen
verbieten uns das Brennen des Tarballs auf CD-ROM, leider
- müssen Sie es sich von Hand aus dem Netz
+ müssen Sie es sich von Hand aus dem Netz
herunterladen – sorry!Der Grund für die ganzen Fehlermeldungen liegt darin,
dass Sie zu diesem Zeitpunkt nicht mit dem Internet verbunden
waren. Haben Sie den Tarball von einer der
MASTER_SITES (aufgeführt im
Makefile) gezogen, können Sie die
Installation erneut starten.Das habe ich getan, aber als ich ihn in das Verzeichnis
/usr/ports/distfiles legen wollte, erhielt
ich eine Fehlermeldung bezüglich der Zugriffsrechte.Der Port-Mechanismus versucht heruntergeladene Tarballs in
/usr/ports/distfiles abzulegen. Dieses
Verzeichnis verweist aber oft auf ein Verzeichnis eines
Fileservers oder eine CD-ROM, die nur gelesen werden
können. Wenn dies der Fall ist, können Sie einen
anderen Ort zum Speichern der Tarballs angeben:&prompt.root; make DISTDIR=/Verzeichnis/mit/Schreibberechtigung installFunktioniert das Konzept der Ports nur, wenn alles in
- /usr/ports abläuft? Mein
+ /usr/ports abläuft? Mein
Systemadministrator sagt, dass ich alles unter
/u/people/guests/wurzburger haben
muss, aber das scheint nicht zu klappen.Die Variablen PORTSDIR und
PREFIX legen die Verzeichnisse fest, die das
Ports-System benutzt.&prompt.root; make PORTSDIR=/u/people/guests/wurzburger/ports installDer obige Befehl übersetzt den Port in
/u/people/guests/wurzburger/ports und
installiert alles unter /usr/local. Der
folgende Befehl kompiliert in /usr/ports
und installiert den Port in
/u/people/guests/wurzburger/local:&prompt.root; make PREFIX=/u/people/guests/wurzburger/local installSie können beide Variablen auch zusammen benutzen:&prompt.root; make PORTSDIR=../ports PREFIX=../local installDie Kommandozeile ist zu lang, um es hier komplett
wiederzugeben, aber Sie sollten die zugrunde liegende Idee
erkennen.imakeEinige Ports, welche &man.imake.1; (Teil des X Window
- Systems) benutzen, funktionieren nicht gut mit
+ Systems) benutzen, funktionieren nicht gut mit
PREFIX und bestehen darauf, unter
/usr/X11R6 installiert zu werden. In
ähnlicher Weise verhalten sich einige Perl Ports, die
PREFIX ignorieren und sich in den Perl
Verzeichnisbaum installieren. Zu erreichen, dass solche
Ports PREFIX beachten, ist schwierig oder
sogar unmöglich.Wenn Sie keine Lust haben, dies jedes Mal zu tippen,
sollten Sie diese Variablen als Umgebungsvariablen setzen.
Lesen Sie die Manualpage Ihrer Shell, um zu erfahren, wie man
das anstellt.
- Ich habe keine FreeBSD CD-ROM, würde aber gerne die
+ Ich habe keine FreeBSD CD-ROM, würde aber gerne die
Tarballs auf meinem Rechner liegen haben, damit ich nicht
jedes Mal auf das Herunterladen warten muss, wenn ich mal einen
Port installieren will. Gibt es einen Weg, alle auf einmal
zu holen?Um jeden einzelnen Tarball für die Ports-Sammlung zu
holen geben Sie ein:&prompt.root; cd /usr/ports
&prompt.root; make fetchFür alle Tarballs eines Ports-Verzeichnis:&prompt.root; cd /usr/ports/Verzeichnis
&prompt.root; make fetchund für nur einen Port – gut, das haben Sie sicher
schon erraten.Ich weiß, das es wohl schneller geht, wenn ich die
Tarballs von einem FreeBSD Spiegel in der Nähe hole. Kann
- ich sagen, dass andere als in MASTER_SITES angegebene
+ ich sagen, dass andere als in MASTER_SITES angegebene
Server genommen werden sollen?
- Ja. Zum Beispiel, wenn Ja. Zum Beispiel, wenn ftp.FreeBSD.org näher bei Ihnen
ist, als der in MASTER_SITES angegebene,
machen Sie das wie folgt:&prompt.root; cd /usr/ports/directory
&prompt.root; make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
- Ich würde gerne vorher wissen, welche Dateien
+ Ich würde gerne vorher wissen, welche Dateien
make holen wird, bevor es das versucht.make fetch-list gibt aus, welche Dateien
für den Port benötigt werden.Gibt es einen Weg einen Port am Kompilieren zu hindern? Ich
möchte gerne vor der Installation etwas im Quellcode hacken.
- Es ist aber etwas nervig, immer aufzupassen und im richtigen
+ Es ist aber etwas nervig, immer aufzupassen und im richtigen
Moment mit
CtrlC
abzubrechen.Die Eingabe von make extract erreicht,
dass der Port Quellcode nur geholt und entpackt wird.Ich versuche einen eigenen Port zu erstellen und will,
dass der Port vor dem Übersetzen anhält, damit
ich eine Chance habe zu sehen, ob meine Patches sauber
funktionieren. Gibt es etwas wie make
extract für Patches?Klar, make patch ist alles was Sie
wünschen. Sie werden wahrscheinlich die Variable
PATCH_DEBUG auch recht nützlich finden.
Ach ja, und vielen Dank für Ihre Bemühungen!Stimmt es, dass einige Compiler Fehler machen? Wie
kann ich sicher gehen, dass ich mit den richtigen
Einstellungen übersetze?Ja, in der Version 2.6.3 des gcc (diese
Version ist bei FreeBSD 2.1.0 und 2.1.5 dabei) kann die Option
fehlerhafte Ergebnisse liefern, sofern man
nicht auch die Option
benutzt. (Die meisten Ports benutzen
nicht). Sie sollten die Compiler-Optionen
etwa wie folgt spezifizieren können:&prompt.root; make CFLAGS='-O2 -fno-strength-reduce' installDie Compiler-Optionen können Sie auch in
/etc/make.conf angeben,
allerdings beachten das nicht alle Ports. Der sicherste Weg ist,
nach einem make configure in das Verzeichnis
mit dem Quellcode zu gehen und dort die
Makefiles von Hand zu
untersuchen. Das kann aber sehr mühselig werden, da es
oft sehr viele Unterverzeichnisse mit eigenen
Makefiles geben
kann.Die bei FreeBSD voreingestellten Compiler Optionen sind
recht konservativ, Sie sollten eigentlich keine Probleme
bekommen, wenn Sie diese nicht verändert haben.Das sind aber ganz schön viele Ports und es ist nicht
leicht, den einen zu finden, den ich gerade möchte. Gibt es
eine Liste der erhältlichen Ports?Schauen Sie in die Datei INDEX im
Verzeichnis /usr/ports. Sie können
auch die Ports-Sammlung nach einem Stichwort durchsuchen.
Wollen Sie zum Beispiel alle Ports finden, die mit der
Programmiersprache LISP zu tun haben, geben Sie ein:&prompt.user; cd /usr/ports
&prompt.user; make search key=lispAls ich den Port bla installieren
wollte, hört das System auf einmal mit dem Kompilieren auf
und fing an, den Port sülz zu
erstellen. Was ist hier los?Der Port bla braucht etwas aus dem
Port sülz – beispielsweise,
wenn bla Grafik benutzt, könnte der Port
sülz eine Bibliothek mit
nützlichen grafischen Routinen enthalten. Oder
sülz könnte ein Werkzeug sein, das zum
- Übersetzen des Ports bla notwendig
+ Übersetzen des Ports bla notwendig
ist. Wenn sülz einmal installiert ist,
sollte das System mit dem Bau von bla
fortfahren. Ich habe aus der Ports-Sammlung die
Anwendung grizzle installiert und nun
festgestellt, dass es reine Verschwendung von Plattenplatz
ist. Ich will ihn wieder löschen, weiß aber nicht
wohin der Port seine Dateien installiert hat. Tips?Alles kein Problem, tippen Sie einfach:&prompt.root; pkg_delete grizzle-6.5Sie können alternativ auch eingeben:&prompt.root; cd /usr/ports/somewhere/grizzle
&prompt.root; make deinstallMoment, man muss die Versionsnummer wissen, um das
Kommando benutzen zu können. Es wird aber nicht wirklich
erwartet, dass ich mich daran noch erinnere, oder?Nein, Sie finden diese Nummer durch folgende Eingabe
heraus:&prompt.root; pkg_info -a | grep 'grizzle*'
Information for grizzle-6.5:
grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up
arcade game.Die Versionsnummer finden Sie auch mit
pkg_info heraus, oder indem Sie
ls /var/db/pkg eingeben.Apropos Plattenplatz, die Ports-Sammlung scheint recht viel
Platz einzunehmen. Ist es gefährlich darin
Sachen zu löschen?
- Nun, wenn Sie Anwendungen installiert haben und sicher sind,
- dass Sie den Quellcode nicht benötigen, gibt es
+ Nun, wenn Sie Anwendungen installiert haben und sicher sind,
+ dass Sie den Quellcode nicht benötigen, gibt es
keinen Grund diesen herumliegen zu haben. Der sicherste Weg
aufzuräumen ist:&prompt.root; cd /usr/ports
&prompt.root; make cleanDas geht durch alle Ports-Verzeichnisse und löscht
für jeden Port alles bis auf das Gerüst.Dasselbe können Sie auch erreichen, ohne
rekursiv jedes Makefile aufzurufen. Die
work/ Verzeichnisse können Sie auch
mit dem folgenden Kommando löschen:
&prompt.root; find /usr/ports -depth -name work -exec rm -rf {} \;Das habe ich probiert, aber da liegen immer noch diese
Tarballs (oder wie die genannt werden) im Verzeichnis
distfiles herum. Darf ich die auch
löschen?Ja, wenn Sie mit denen fertig sind, können die auch
verschwinden. Man kann sie von Hand löschen oder das
Kommando make distclean benutzen.Ich finde es toll, tierisch viele Anwendungen zu haben und
damit rumzuspielen. Gibt es einen Weg alle Ports auf einmal
zu installieren?Machen Sie einfach:&prompt.root; cd /usr/ports
&prompt.root; make installVorsicht: Einige Ports könnten Dateien mit dem
gleichen Namen installieren. Wenn man zwei grafische Ports
installiert und beide eine Datei
/usr/local/bin/plot anlegen, haben Sie
ein Problem.Okay, das habe ich gemacht und da ich dachte, dass das
sicherlich ziemlich lange dauert, ging ich zu Bett. Als ich heute
morgen zum Computer kam, waren erst dreieinhalb Ports
installiert. Hat da etwas nicht geklappt?Nein, das Problem ist, dass es Ports gibt, die Ihnen
Fragen stellen, auf die wir die Antworten nicht für Sie
- geben konnten (z.B. Drucken Sie auf Papier im A4 oder US
+ geben konnten (z.B. Drucken Sie auf Papier im A4 oder US
Letter Format?). In solchen Fällen muss
jemand da sein und die Fragen beantworten.Ich möchte aber nicht wirklich einen ganzen Tag damit
verbringen, auf den Monitor zu starren. Irgendeine bessere
Idee?Klar, bevor Sie zu Bett/zur Arbeit/in den Park gehen,
geben Sie ein:&prompt.root; cd /usr/ports
&prompt.root; make -DBATCH installDas installiert Ihnen alle Ports, die
keine Eingaben des Benutzers erfordern.
Die restlichen Ports installieren Sie, wenn Sie zurück
sind, mit dem Kommando:&prompt.root; cd /usr/ports
&prompt.root; make -DINTERACTIVE install
- Auf der Arbeit benutzen wir die Anwendung
+ Auf der Arbeit benutzen wir die Anwendung
frobble, die in der Ports-Sammlung ist. Wir
haben sie aber etwas auf unsere Bedürfnisse angepasst.
Können wir irgendwie ein eigenes Paket erstellen, so
dass wir die Anwendung leichter auf unsere Rechner
verteilen können?Kein Problem. Angenommen Sie wissen, wie Sie für Ihre
Anpassungen Patches erzeugen:&prompt.root; cd /usr/ports/somewhere/frobble
&prompt.root; make extract
&prompt.root; cd work/frobble-2.8
[Ihre patche einspielen]
&prompt.root; cd ../..
&prompt.root; make packageDiese Geschichte mit den Ports ist wirklich clever. Ich
habe keine Ahnung, wie ihr das hinbekommen habt. Was ist das
Geheimnis dahinter?Keine Geheimnisse. Sehen Sie einfach in die Dateien
bsd.port.mk und
bsd.port.subdir.mk im Verzeichnis
/usr/ports/Mk/.Lesern mit einer Aversion gegen komplizierte Shell-Skripten
wird geraten, dieses Verzeichnis nicht zu besuchen.Hilfe! Dieser Port ist kaputt!Stolpern Sie mal über einen Port, der bei Ihnen nicht
funktioniert, könnten Sie zum Beispiel Folgendes tun:Reparieren Sie ihn! Das
FreeBSD Porter's Handbook enthält eine detaillierte Beschreibung
des Portsystems. Damit sind Sie in der Lage, einen gelegentlich
kaputten Port zu reparieren oder einen eigenen Port zu
erstellen.Rummeckern – nur mittels E-Mail!
Senden Sie zuerst eine E-Mail an den Betreuer des Ports. Geben
Sie dazu make maintainer ein oder lesen Sie das
Makefile im Verzeichnis des Ports, um an
die E-Mail-Adresse zu kommen. Vergessen Sie nicht den Namen und
die Version des Ports (schicken Sie die Zeile mit
$FreeBSD: aus dem
Makefile)
und die Ausgabe bis zur Fehlermeldung mitzuschicken. Erhalten
Sie vom Betreuer keine Resonanz, können mit
&man.send-pr.1; einen Fehler-Report senden.Holen Sie sich das Paket von einem FTP-Server in Ihrer
Nähe. Die Basis Sammlung aller Pakete
liegt auf ftp.de.FreeBSD.org im
Verzeichnis packages.
Aber versuchen Sie zuerst einen Spiegel in
Ihrer Nähe! Benutzen Sie das Programm &man.pkg.add.1;, um
Pakete auf Ihrem Rechner zu installieren. Dies hat zudem den
Vorteil, dass es schneller geht.
diff --git a/de_DE.ISO8859-1/books/handbook/preface/preface.sgml b/de_DE.ISO8859-1/books/handbook/preface/preface.sgml
index 207c478986..a6c5715065 100644
--- a/de_DE.ISO8859-1/books/handbook/preface/preface.sgml
+++ b/de_DE.ISO8859-1/books/handbook/preface/preface.sgml
@@ -1,558 +1,558 @@
Vorwort
-
+
Über dieses
BuchDer erste Teil dieses Buchs führt FreeBSD-Einsteiger durch den
Installationsprozess und stellt leicht verständlich Konzepte
und Konventionen vor, die &unix; zu Grunde liegen. Sie müssen nur
neugierig sein und bereitwillig neue Konzepte aufnehmen, wenn diese
vorgestellt werden, um diesen Teil durchzuarbeiten.Wenn Sie den ersten Teil bewältigt haben, bietet der
umfangreichere zweite Teil eine verständliche Darstellung vieler
Themen, die für FreeBSD-Administratoren relevant sind. Wenn
Kapitel auf anderen Kapiteln aufbauen, wird das in der Übersicht
am Anfang eines Kapitels erläutert.Weitere Informationsquellen entnehmen Sie bitte
.Änderungen seit der
ersten AuflageDie zweite Auflage ist das Ergebnis der engagierten Arbeit der
Mitglieder des FreeBSD Documentation Projects über zwei Jahre.
Die wichtigsten Änderungen gegenüber der ersten Auflage
sind:Ein Index wurde erstellt.Alle ASCII-Darstellungen wurden durch Grafiken ersetzt.Jedes Kapitel wird durch eine Übersicht eingeleitet, die
den Inhalt des Kapitels zusammenfasst und die Voraussetzungen
für ein erfolgreiches Durcharbeiten des Kapitels
darstellt.Der Inhalt wurde in die logischen Abschnitte Erste
Schritte, System Administration und
Anhänge unterteilt. (FreeBSD
Installation) wurde komplett neu geschrieben und mit
Abbildungen versehen, die Einsteigern das Verständnis des Texts
erleichtern. (Grundlagen des &unix; Betriebssystems)
wurde um den Abschnitt Dämonen, Signale und Stoppen von
Prozessen erweitert.Das (Installieren von
Anwendungen) behandelt nun auch Pakete. (Das X Window System)
wurde neu geschrieben. Der Schwerpunkt liegt auf modernen
Benutzeroberflächen unter XFree86 4.X wie
KDE und
GNOME.Das (FreeBSDs Bootvorgang)
wurde erweitert. (Speichermedien) ist
aus den beiden Kapiteln Laufwerke und
Sicherungen entstanden. Die in den beiden Kapiteln
diskutierten Themen sind so leichter zu verstehen. Hinzugekommen
ist ein Abschnitt über Software- und Hardware-RAID.Das (Serielle
Datenübertragung) wurde umorganisiert und auf
FreeBSD 4.X/5.X angepasst.Das (PPP und SLIP)
wurde aktualisiert. (Weiterführende
Netzwerkthemen) wurde um viele neue Abschnitte erweitert. (Electronic Mail) wurde
um einen Abschnitt über die Konfiguration von
sendmail erweitert. (Linux
Compatibility) behandelt zusätzlich die Installation
von Oracle und
SAP/R3.Neu hinzugekommen sind:Konfiguration und Tuning ()
und Multimedia ().GliederungDieses Buch ist in drei Abschnitte unterteilt. Der erste
Abschnitt, Erste Schritte, behandelt die
Installation und die Grundlagen von FreeBSD. Dieser Abschnitt sollte
in der vorgegebenen Reihenfolge durchgearbeitet werden, schon Bekanntes
darf aber übersprungen werden. Der zweite Abschnitt,
System Administration behandelt weiterführende
Themen für erfahrene Benutzer. Jeder Abschnitt beginnt mit einer
kurzen Übersicht, die das Thema des Abschnitts und das nötige
Vorwissen erläutert. Die Übersichten sollen dem Leser
helfen, interessante Kapitel zu finden und das Stöbern im Handbuch
erleichtern. Der dritte Abschnitt enthält Anhänge und
Verweise auf weitere Informationen.,
EinführungDieses Kapitel macht Einsteiger mit FreeBSD vertraut. Es
behandelt die Geschichte, die Ziele und das Entwicklungsmodell
des FreeBSD Projekts., InstallationBeschreibt den Ablauf der Installation. Spezielle
Installationsmethoden, wie die Installation mit einer seriellen
Konsole, werden ebenfalls behandelt., Grundlagen des &unix; BetriebssystemsErläutert die elementaren Kommandos und Funktionen
von FreeBSD. Wenn Sie schon mit Linux oder einem anderen
&unix; System vertraut sind, können Sie dieses Kapitel
überspringen., Installieren von
AnwendungenZeigt wie mit der innovativen Ports-Sammlung oder mit Paketen
Software von Fremdherstellern installiert wird., Das X Window
SystemBeschreibt das X Window System und geht
speziell auf XFree86 unter FreeBSD
ein. Weiterhin werden grafische Benutzeroberflächen wie
KDE und
GNOME behandelt., Konfiguration und
TuningBeschreibt die Einstellungen, die ein Systemadministrator
vornehmen kann, um die Leistungsfähigkeit eines FreeBSD
Systems zu verbessern. In diesem Kapitel werden auch
verschiedene Konfigurationsdateien besprochen., FreeBSDs
BootvorgangErklärt den Bootprozess von FreeBSD und beschreibt die
Optionen, mit denen sich der Bootprozess beeinflussen
lässt., Benutzer und grundlegende
Account-VerwaltungBeschreibt, wie Benutzer-Accounts angelegt, verändert
und verwaltet werden. Weiterhin wird beschrieben, wie dem
Benutzer zur Verfügung stehende Ressourcen beschränkt
werden können., Konfiguration des
FreeBSD KernelsErklärt, warum Sie einen angepassten Kernel erzeugen
sollten und gibt ausführliche Anweisungen wie Sie einen
angepassten Kernel konfigurieren, bauen und installieren., SicherheitBeschreibt die Werkzeuge mit denen Sie Ihr FreeBSD System
absichern. Unter Anderem werden Kerberos, IPsec, OpenSSH und
Firewalls besprochen., DruckenBeschreibt, wie Sie Drucker unter FreeBSD verwalten.
Diskutiert werden Deckblätter, das Einrichten eines Druckers
und ein Abrechnungssystem für ausgedruckte Seiten., SpeichermedienErläutert den Umgang mit Speichermedien und
Dateisystemen. Behandelt werden Plattenlaufwerke, RAID-Systeme,
optische Medien, Bandlaufwerke, RAM-Laufwerke und
verteilte Dateisysteme., VinumBeschreibt den Vinum Volume Manager, der virtuelle Laufwerke,
RAID-0, RAID-1 und RAID-5 auf Software-Ebene zur Verfügung
stellt., LokalisierungZeigt wie Sie FreeBSD mit anderen Sprachen als Englisch
einsetzen. Es wird sowohl die Lokalisierung auf der System-Ebene
wie auch auf der Anwendungs-Ebene betrachtet.,
Desktop-AnwendungenEnthält eine Aufstellung verbreiteter Anwendungen wie
Browser, Büroanwendungen und Office-Pakete und beschreibt
wie diese Anwendungen installiert werden., MultimediaErklärt, wie Sie auf Ihrem System Musik und Videos
abspielen können. Beispielhaft werden auch Anwendungen aus
dem Multimedia-Bereich beleuchtet., Serielle
DatenübertragungErläutert, wie Sie Terminals und Modems an Ihr FreeBSD
System anschließen und sich so ein- und auswählen
können., PPP und
SLIPErklärt wie Sie mit PPP, SLIP oder PPP über
Ethernet ein FreeBSD System mit einem entfernten System
verbinden.,
Weiterführende NetzwerkthemenBehandelt viele Netz-Themen zum Beispiel wie eine
Internet-Verbindung anderen Rechnern im LAN zugänglich
gemacht wird, wie Dateisysteme über das Netz genutzt werden,
wie Account-Informationen mit NIS zugänglich gemacht werden
oder wie ein Nameserver eingerichtet wird., Electronic MailErläutert die verschiedenen Bestandteile eines E-Mail
Servers und zeigt einfache Konfigurationen für
sendmail, dem meist genutzten
E-Mail-Server., Das Neueste und
BesteErklärt die Unterschiede zwischen FreeBSD-STABLE,
FreeBSD-CURRENT und FreeBSD Releases. Das Kapitel enthält
Kriterien anhand derer Sie entscheiden können, ob es sich
lohnt, ein Entwickler-System zu installieren und aktuell zu
halten. Die Vorgehensweise dazu wird ebenfalls
beschrieben.,
Linux-BinärkompatibilitätBeschreibt die binäre Kompatibilität zu Linux.
Weiterhin werden ausführliche Installationsanleitungen
für Oracle,
SAP/R3 und
Mathematica gegeben., Bezugsquellen für
FreeBSDEnthält eine Aufstellung der Quellen von denen Sie
FreeBSD beziehen können: CD-ROM, DVD sowie
Internet-Sites.,
BibliografieDieses Buch behandelt viele Themen und kann nicht alle
Fragen erschöpfend beantworten. Die Bibliografie enthält
weiterführende Bücher, die im Text zitiert
werden., Ressourcen im
InternetEnthält eine Aufstellung der Foren, die FreeBSD
Benutzern für Fragen und Diskussionen zur Verfügung
stehen., PGP
SchlüsselEnthält PGP-Fingerabdrücke von etlichen FreeBSD
Entwicklern.Konventionen in diesem
BuchDamit der Text einheitlich erscheint und leicht zu lesen ist,
werden im ganzen Buch die nachstehenden Konventionen beachtet:
TypographieKursivFür Dateinamen, URLs, betonte Teile eines Satzes und
das erste Vorkommen eines Fachbegriffs wird ein
kursiver Zeichensatz benutzt.FixschriftFehlermeldungen, Kommandos, Umgebungsvariablen, Namen von
Ports, Hostnamen, Benutzernamen, Gruppennamen, Gerätenamen,
Variablen und Code-Ausschnitte werden in einer
Fixschrift dargestellt.FettFett kennzeichnet Anwendungen,
Kommandozeilen und Tastensymbole.BenutzereingabenTasten werden fett dargestellt, um sie von dem
umgebenden Text abzuheben. Tasten, die gleichzeitig gedrückt
werden müssen, werden durch ein `+' zwischen
den einzelnen Tasten dargestellt:CtrlAltDelTasten, die nacheinander gedrückt werden müssen, sind
durch Kommas getrennt:CtrlX,
CtrlSDas letzte Beispiel bedeutet, dass die Tasten
Ctrl und X gleichzeitig
betätigt werden und danach die Tasten Ctrl
und S gleichzeitig gedrückt werden
müssen.BeispieleBeispiele, die durch E:\> eingeleitet
werden, zeigen ein MS-DOS Kommando. Wenn nichts Anderes angezeigt
wird, können diese Kommandos unter neuen Versionen von Microsoft
Windows auch in einem DOS-Fenster ausgeführt werden.E:\>tools\fdimage floppies\kern.flp A:Beispiele, die mit &prompt.root; beginnen, müssen unter
FreeBSD mit Superuser-Rechten ausgeführt werden. Dazu melden Sie
sich entweder als root an oder Sie wechseln von
Ihrem normalen Account mit &man.su.1; zu dem Benutzer
root.&prompt.root; dd if=kern.flp of=/dev/fd0Beispiele, die mit &prompt.user; anfangen, werden unter einem
normalen Benutzer-Account ausgeführt. Sofern nichts Anderes
angezeigt wird, verwenden die Beispiele die Syntax der C-Shell.&prompt.user; topDanksagungDieses Buch ist aus Beiträgen von vielen Leuten aus allen
Teilen der Welt entstanden. Alle eingegangen Beiträge, zum Beispiel
Korrekturen oder vollständige Kapitel, waren wertvoll.Einige Firmen haben dieses Buch dadurch unterstützt, dass Sie
Autoren in Vollzeit beschäftigt und die Veröffentlichung
des Buchs finanziert haben. Besonders BSDi, das später von
Wind River Systems
übernommen wurde, beschäftigte Mitglieder des FreeBSD
Documentation Projects, mit dem Ziel dieses Buch zu verbessern.
Dadurch wurde die erste (englische) gedruckte Auflage im
März 2000 möglich (ISBN 1-57176-241-8).
Wind River Systems bezahlte dann weitere Autoren, die die zum Drucken
nötige Infrastruktur verbesserten und zusätzliche Kapitel
beisteuerten. Das Ergebnis dieser Arbeit ist die zweite (englische)
Auflage vom November 2001 (ISBN 1-57176-303-1).
-
diff --git a/de_DE.ISO8859-1/books/handbook/security/chapter.sgml b/de_DE.ISO8859-1/books/handbook/security/chapter.sgml
index 78c984fafd..b27b43b1ad 100644
--- a/de_DE.ISO8859-1/books/handbook/security/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/security/chapter.sgml
@@ -1,4093 +1,4093 @@
MatthewDillonViel von diesem Kapitel stammt aus der security(7)
Manualpage von MartinHeinenÜbersetzt von SicherheitSicherheitÜbersichtDieses Kapitel bietet eine Einführung in die Konzepte
der Systemsicherheit. Neben einigen Daumenregeln werden
weiterführende Themen wie S/Key, OpenSSL und Kerberos
diskutiert. Die meisten der hier besprochenen Punkte treffen
sowohl auf die Systemsicherheit sowie die Internetsicherheit zu.
Das Internet hat aufgehört ein friedlicher
Ort zu sein, an dem Sie nur nette Leute finden werden. Es ist
unumgänglich, dass Sie Ihre Daten, Ihr geistiges Eigentum,
Ihre Zeit und vieles mehr vor dem Zugriff von Hackern
schützen.FreeBSD besitzt eine Reihe von Werkzeugen und Mechanismen, um die
Integrität und die Sicherheit Ihrer Systeme und Netzwerke
zu gewährleisten.Nach dem Sie dieses Kapitel durchgearbeitet haben, werden
Sie:Grundlegende auf FreeBSD bezogene Sicherheitsaspekte
kennen.Die verschiedenen Verschlüsselungsmechanismen von FreeBSD,
wie DES oder MD5, kennen.Wissen, wie Sie S/Key, ein Einmal-Passwort
Authentifizierungssystem konfigurieren.Wissen, wie Sie Kerberos, ein weiteres Authentifizierungssystem,
einrichten.Firewalls mit IPFW erstellen können.Wissen, wie Sie IPsec konfigurieren.
-
+
OpenSSH, FreeBSDs Implementierung von SSH, konfigurieren
und benutzen können.Wie sie mithilfe des TrustedBSD-MAC-Frameworks
Zugrifsskontrollen konfigurieren.Bevor Sie dieses Kapitel lesen, sollten SieGrundlegende Konzepte von FreeBSD und dem Internet
verstehen.EinführungSicherheit ist ein Konzept, das beim Systemadministrator anfängt
und aufhört. Obwohl alle BSD &unix; Mehrbenutzersysteme über
Sicherheitsfunktionen verfügen, ist es wohl eine der
größten Aufgaben eines Systemadministrators zusätzliche
Sicherheitsmechanismen zu erstellen und zu pflegen. Maschinen sind
nur so sicher wie sie gemacht werden und Sicherheitsanforderungen
stehen oft der Benutzerfreundlichkeit entgegen. Auf &unix; Systemen
können sehr viele Prozesse gleichzeitig laufen und viele dieser
Prozesse sind Server, das heißt von außen kann auf sie
zugegriffen werden. In einer Zeit, in der die Minicomputer und
Mainframes von gestern die Desktops von heute sind und Rechner
immer mehr vernetzt werden, kommt der Sicherheit eine große
Bedeutung zu.Sicherheit wird am besten in mehreren Schichten implementiert.
Kurz gesagt wollen Sie eine angemessene Anzahl Schichten einrichten,
- und dann das System auf Einbrüche hin beobachten. Die
+ und dann das System auf Einbrüche hin beobachten. Die
Sicherheitsmaßnahmen sollten nicht überzogen werden,
da sie sonst das Entdecken von Einbrüchen stören und die
Möglichkeit, Einbrüche zu entdecken, ist einer der wichtigsten
Aspekte einer Sicherheitsmaßnahme. Es macht zum Beispiel wenig
Sinn, jedes Programm mit der schg Option (siehe auch
&man.chflags.1;) zu schützen, weil dies verhindert, dass ein
Angreifer eine leicht zu entdeckende Veränderung vornimmt und
vielleicht dazu führt, dass Ihre Sicherheitsvorkehrungen den
Angreifer überhaupt nicht entdecken.Zur Systemsicherheit gehört auch die Beschäftigung mit
verschiedenen Arten von Angriffen, auch solchen, die versuchen,
ein System still zu legen, oder sonst unbrauchbar zu machen ohne
root zu kompromittieren. Sicherheitsaspekte
lassen sich in mehrere Kategorien unterteilen:Denial of Service Angriffe.Kompromittierte Accounts.Kompromittierter root-Account durch
zugreifbare Server.Kompromittierter root-Account durch
kompromittierte Accounts.Einrichten von Hintertüren.DoS AngriffeDenial of Service (DoS)SicherheitDoS AngriffeDenial of Service (DoS)Denial of Service (DoS)Ein Denial of Service (Verhinderung von Diensten, DoS) Angriff
entzieht einer Maschine Ressourcen, die sie zur Bereitstellung
von Diensten benötigt. Meist versuchen Denial of Service Angriffe
die Dienste oder den Netzwerkstack einer Maschine zu überlasten,
um so die Maschine auszuschalten oder nicht nutzbar zu machen. Einige
Angriffe versuchen, Fehler im Netzwerkstack auszunutzen, und die
Maschine mit einem einzigen Paket auszuschalten. Diese Art des
Angriffs kann nur verhindert werden, indem der entsprechende Fehler
im Kernel behoben wird. Oft können Angriffe auf Dienste durch
die Angabe von Optionen verhindert werden, die die Last, die ein
Dienst auf das System unter widrigen Umständen ausüben kann,
begrenzt. Angriffen auf das Netzwerk ist schwerer zu begegnen.
Außer durch Trennen der Internetverbindung ist zum Beispiel
einem Angriff mit gefälschten Paketen nicht zu begegnen.
Diese Art von Angriff wird Ihr System zwar nicht unbrauchbar machen,
kann aber die Internetverbindung sättigen.Sicherheitkompromittierte AccountsKompromittierte Accounts kommen noch häufiger als
DoS Angriffe vor. Viele Systemadministratoren lassen auf ihren
Maschinen noch die Dienste telnetd,
rlogind, rshd
und ftpd laufen. Verbindungen zu diesen
Servern werden nicht verschlüsselt. Wenn Sie eine
größere Benutzerzahl auf Ihrem System haben, die sich von
einem entfernten System anmelden, ist die Folge davon, dass
das Passwort eines oder mehrerer Benutzer ausgespäht wurde.
Ein aufmerksamer Systemadministrator wird die Logs über Anmeldungen
von entfernten Systemen auf verdächtige Quelladressen, auch
für erfolgreiche Anmeldungen, untersuchen.Es ist immer davon auszugehen, dass ein Angreifer, der
Zugriff auf einen Account hat, Zugang zum
root-Account erlangt. Allerdings gibt der
Zugriff auf einen Account auf einem gut gesicherten und
gepflegten System nicht notwendig Zugriff auf den
root-Account. Diese Unterscheidung ist wichtig,
da ein Angreifer, der keinen Zugang zu root
besitzt, seine Spuren nicht verwischen kann. Er kann höchstens
die Dateien des betreffenden Benutzers verändern oder die
Maschine stilllegen. Kompromittierte Accounts sind sehr
häufig, da Benutzer meist nicht dieselben Vorsichtsmaßnahmen
wie Administratoren treffen.SicherheitHintertürenEs gibt viele Wege, Zugang zum root-Account
eines Systems zu bekommen: Ein Angreifer kann das Passwort von
root kennen, er kann einen Fehler in einem
Server entdecken, der unter root läuft und
dann über eine Netzwerkverbindung zu diesem Server einbrechen.
Oder er kennt einen
Fehler in einem SUID-root Programm, der es
ihm erlaubt, root zu werden, wenn er einmal
einen Account kompromittiert hat. Wenn ein Angreifer einen
Weg gefunden hat, root zu werden, braucht er
vielleicht keine Hintertür auf dem System installieren.
Viele der heute
bekannten und geschlossenen Sicherheitslöcher, die zu einem
root Zugriff führen, verlangen vom Angreifer
einen erheblichen Aufwand, um seine Spuren zu verwischen. Aus diesem
Grund wird er sich wahrscheinlich entschließen, eine Hintertür
(engl. Backdoor) zu installieren.
Eine Hintertür erlaubt es
dem Angreifer leicht auf den root-Account
zuzugreifen. Einem klugen Systemadministrator erlaubt sie allerdings
auch, den Einbruch zu entdecken. Wenn Sie es einem Angreifer verwehren,
Hintertüren zu installieren, kann das schädlich für
Ihre Sicherheit sein, da es vielleicht verhindert, dass die
Lücke, die der Angreifer für den Einbruch ausgenutzt hat,
entdeckt wird.Sicherheitsmaßnahmen sollten immer in mehreren Schichten
angelegt werden. Die Schichten können wie folgt eingeteilt
werden:Absichern von root und
Accounts.Absichern von unter root laufenden
Servern und SUID/SGID Programmen.Absichern von Accounts.Absichern der Passwort-Datei.Absichern des Kernels, der Geräte und von
Dateisystemen.Schnelles Aufdecken von unbefugten Veränderungen des
Systems.Paranoia.Die einzelnen Punkte der obigen Liste werden im nächsten
Abschnitt genauer behandelt.SicherheitAbsichernAbsichern von FreeBSDKommandos und ProtokolleIn diesem Abschnitt wird fett verwendet,
um Kommandos oder Anwendungen zu kennzeichnen. Zum Beispiel
wird ssh so gekennzeichnet, da es
sowohl ein Protokoll wie auch ein Kommando ist.Die folgenden Abschnitte behandeln die im
letzten Abschnitt erwähnten
Methoden Ihr FreeBSD-System zu sichern.Absichern von root und
AccountssuZuallererst, kümmern Sie sich nicht um die Absicherung
von Accounts, wenn Sie root
noch nicht abgesichert haben. Auf den meisten Systemen ist
root ein Passwort zugewiesen. Sie
sollten immer davon ausgehen, dass
dieses Passwort kompromittiert ist. Das heißt nicht,
dass Sie das Passwort entfernen sollten, da es meist
für den Konsolenzugriff notwendig ist. Vielmehr heißt
es, dass Sie das Passwort nicht außerhalb der
Konsole, auch nicht zusammen mit &man.su.1;, verwenden sollten.
Stellen Sie sicher, dass Ihre PTYs in ttys als
unsicher markiert sind und damit Anmeldungen von
root mit telnet oder
rlogin verboten sind. Wenn Sie andere
Anwendungen wie sshd zum Anmelden
benutzen, vergewissern Sie sich, dass dort ebenfalls
Anmeldungen als root verboten sind. Für
ssh editieren Sie
/etc/ssh/sshd_config und überprüfen,
dass PermitRootLogin auf NO
gesetzt ist. Beachten Sie jede Zugriffsmethode – Dienste
wie FTP werden oft vergessen. Nur an der Systemkonsole sollte
ein direktes Anmelden als root möglich
sein.wheelNatürlich müssen Sie als Systemadministrator
root-Zugriff erlangen können. Dieser
sollte aber durch zusätzliche Passwörter
geschützt sein. Ein Weg, Zugang zu root
zu ermöglichen, ist es, berechtigte Mitarbeiter in
/etc/group in die Gruppe
wheel aufzunehmen. Die Personen, die
Mitglieder in der Gruppe wheel sind,
können mit su zu root
wechseln. Ihre Mitarbeiter sollten niemals die Gruppe
wheel als primäre Gruppe in
/etc/passwd besitzen. Mitarbeiter sollten
der Gruppe staff angehören und über
/etc/group in wheel
aufgenommen werden. Es sollten auch nur die Mitarbeiter, die
wirklich root Zugriff benötigen in
wheel aufgenommen werden. Mit anderen
- Authentifizierungsmethoden müssen Sie niemanden in
+ Authentifizierungsmethoden müssen Sie niemanden in
wheel aufnehmen. Wenn Sie z.B.
Kerberos benutzen, wechseln Sie mit
&man.ksu.1; zu root und der Zugriff wird
mit der Datei .k5login geregelt. Dies ist
- vielleicht eine bessere Lösung, da es der
+ vielleicht eine bessere Lösung, da es der
wheel-Mechanismus einem Angreifer immer
noch möglich macht, den root-Account
zu knacken, nachdem er einen Mitarbeiter-Account geknackt hat.
Obwohl der wheel-Mechanismus besser als
gar nichts ist, ist er nicht unbedingt die sicherste Lösung.Indirekt können Sie die Accounts von Mitarbeitern und
damit auch den Zugriff auf root schützen,
indem Sie eine alternative Zugangsmethode verwenden und die
Accounts der Mitarbeiter mit einem ungültigen verschlüsselten
Passwort versehen. Mit &man.vipw.8; können Sie jedes
verschlüsselte Passwort mit einem
* Zeichen ersetzen. Das Kommando
wird /etc/master.passwd und die
Benutzer/Passwort Datenbank aktualisieren und die Passwort
Authentifizierung abstellen.Ein Account wiefoobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcshsollte wie folgt abgeändert werden:foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcshDa ein verschlüsseltes Passwort niemals
ein * sein kann, verhindert dies
die normale Anmeldung. Damit müssen sich die Mitarbeiter
mit anderen Mechanismen wie &man.kerberos.1; oder &man.ssh.1;
authentifizieren. Wenn Sie etwas wie
Kerberos benutzen, müssen Sie
die Maschinen, die die Kerberos-Server
beheimaten und die Maschinen der Benutzer absichern. Wenn Sie
öffentliche/private Schlüssel mit
ssh benutzen, muss die Maschine
von der die Anmeldung gestartet wird, gesichert
werden. Als zusätzliche Sicherheitsschicht können Sie
das Schlüsselpaar beim Erstellen mit &man.ssh-keygen.1; durch
ein Passwort schützen. Dadurch, dass Sie die
Passwörter Ihrer Mitarbeiter als ungültig markiert
haben, stellen Sie sicher, dass sich die Mitarbeiter nur mit
den sicheren Methoden, die Sie aufgesetzt haben, anmelden können.
Dies zwingt alle Mitarbeiter, verschlüsselte Verbindungen
für ihre Sitzungen zu verwenden, und schließt ein
wichtiges Loch, dass gerne von Angreifern ausgenutzt wird:
Das Abhören des Netzwerks von einer anderen weniger gesicherten
Maschine.Die indirekten Sicherheitsmechanismen setzen voraus, dass
Sie sich von einer restriktiven Maschine auf einer weniger restriktiven
Maschine anmelden. Wenn zum Beispiel auf Ihrem Hauptrechner alle
möglichen Arten von Servern laufen, so sollten auf Ihrer
Workstation keine Server laufen. Um Ihre Workstation vernünftig
abzusichern, sollten auf Ihr so wenig Server wie möglich bis hin
zu keinem Server laufen. Sie sollten zudem über einen
Bildschirmschoner verfügen, der mit einem Passwort
gesichert ist. Natürlich kann ein Angreifer, der physikalischen
Zugang zu einer Maschine hat, jede Art von Sicherheitsmechanismen
umgehen. Dieses Problem sollten Sie daher auch in Ihren
Überlegungen berücksichtigen. Beachten Sie dabei aber,
dass der Großteil der Einbrüche über das
Netzwerk erfolgt und die Einbrecher keinen Zugang zu der Maschine
besitzen.KerberosMit Kerberos können Sie das
Passwort eines Mitarbeiters an einer Stelle ändern
und alle Maschinen, auf denen der Mitarbeiter einen Account hat,
beachten die Änderung sofort. Wird der Account eines
Mitarbeiters einmal kompromittiert, so sollte die Fähigkeit, das
Passwort mit einem Schlag auf allen Maschinen zu ändern,
nicht unterschätzt werden. Mit einzelnen Passwörtern
wird es schwierig, das Passwort auf N Maschinen zu ändern.
Mit Kerberos können Sie auch
Beschränkungen für Passwörter festlegen:
Nicht nur das Ticket kann nach einiger Zeit ungültig werden,
Sie können auch festlegen, dass ein Benutzer nach einer
bestimmten Zeit, z.B. nach einem Monat, das Passwort wechseln
muss.Absichern von unter root laufenden
Servern und SUID/SGID ProgrammenntalkcomsatfingerSandkästensshdtelnetdrshdrlogindEin kluger Systemadministrator lässt nur die
Dienste, die er wirklich braucht, laufen; nicht mehr und auch
nicht weniger. Beachten Sie, dass Server von Dritten die
fehleranfälligsten sind. Wenn Sie z.B. eine alte Version von
imapd oder popper
laufen lassen, ist das so, als würden Sie der ganzen Welt
freien Zugang zu root geben. Lassen Sie keine
Server laufen, die Sie vorher nicht genau überprüft haben.
Viele Server müssen nicht unter root
laufen, zum Beispiel können ntalk,
comsat und finger
in speziellen Sandkästen unter
einem Benutzer laufen. Ein Sandkasten ist keine perfekte Lösung,
wenn Sie nicht eine Menge Arbeit in die Konfiguration investieren,
doch bewährt sich hier das Prinzip, die Sicherheit in Schichten
aufzubauen. Wenn es einem Angreifer gelingt, in einen Server,
der in einem Sandkasten läuft, einzubrechen, dann muss
er immer noch aus dem Sandkasten selber ausbrechen. Je mehr Schichten
der Angreifer zu durchbrechen hat, desto kleiner sind seine Aussichten
auf Erfolg. In der Vergangenheit wurden praktisch in jedem
Server, der unter root läuft, Lücken
gefunden, die zu einem root Zugriff führten.
Dies betrifft selbst die grundlegenden Systemdienste. Wenn Sie eine
Maschine betreiben, auf der man sich nur mit
sshd anmelden kann, dann stellen Sie die
Dienste telnetd,
rshd oder rlogind
ab!
-
+
In der Voreinstellung laufen unter FreeBSD
ntalkd, comsat
und finger nun in einem Sandkasten. Ein
weiteres Programm, das in einem Sandkasten laufen sollte, ist
&man.named.8;. In /etc/defaults/rc.conf sind
die notwendigen Argumente, um named in
einem Sandkasten laufen zu lassen, in kommentierter Form schon
enthalten. Abhängig davon, ob Sie ein neues System installieren
oder ein altes System aktualisieren, sind die hierfür
benötigten Benutzer noch nicht installiert.
Ein kluger Systemadministrator sollte immer nach Möglichkeiten
suchen, Server in einem Sandkasten laufen zu lassen.sendmailEinige Server wie sendmail,
popper, imapd
und ftpd werden normalerweise nicht in
Sandkästen betrieben. Zu einigen Servern gibt es Alternativen,
aber diese wollen Sie vielleicht wegen der zusätzlich nötigen
Arbeit nicht installieren (ein weiteres Beispiel für den
Widerspruch zwischen Sicherheit und Benutzerfreundlichkeit).
In diesem Fall müssen Sie die
Server unter root laufen lassen und auf die
eingebauten Mechanismen vertrauen, Einbrüche zu entdecken.
- Weitere potentielle Löcher, die zu einem
+ Weitere potentielle Löcher, die zu einem
root-Zugriff führen können, sind
die auf dem System installierten SUID- und SGID-Programme. Die
meisten dieser Programme wie rlogin stehen
in /bin, /sbin,
/usr/bin, oder /usr/sbin.
Obwohl nichts 100% sicher ist, können Sie davon ausgehen,
dass die SUID- und SGID-Programme des Basissystems ausreichend
sicher sind. Allerdings werden ab und an in diesen Programmen
Löcher gefunden. 1998 wurde in Xlib ein
Loch gefunden, das xterm, der
normal mit SUID installiert wird, verwundbar machte. Es ist besser
auf der sicheren Seite zu sein, als sich später zu beklagen,
darum wird ein kluger Systemadministrator den Zugriff auf
SUID-Programme mit einer Gruppe, auf die nur Mitarbeiter zugreifen
können, beschränken. SUID-Programme, die niemand benutzt,
sollten mit chmod 000 deaktiviert werden. Zum
- Beispiel braucht ein Server ohne Bildschirm kein
+ Beispiel braucht ein Server ohne Bildschirm kein
xterm Programm. SGID-Programme sind
vergleichbar gefährlich. Wenn ein Einbrecher Zugriff auf
SGID-kmem Programm erhält, kann er
vielleicht /dev/kmem und damit die
verschlüsselte Passwortdatei lesen. Dies kompromittiert
unter Umständen jeden Account, der mit einem Passwort
geschützt ist. Alternativ kann ein Einbrecher, der in die
Gruppe kmem eingebrochen ist, die
Tastendrücke auf PTYs verfolgen. Dies schließt
auch PTYs mit ein, auf denen sich ein Benutzer mit sicheren
Methoden anmeldet. Ein Einbrecher, der Zugriff auf die
tty Gruppe hat, kann auf fast jeden Terminal
anderer Benutzer schreiben. Wenn der Benutzer einen Terminal-Emulator
benutzt, der über eine Tastatur-Simulation verfügt,
könnte der Angreifer Daten generieren, die den Terminal
veranlassen, ein Kommando unter diesem Benutzer laufen zu lassen.Absichern von AccountsAccounts sind für gewöhnlich sehr schwierig
abzusichern. Während Sie drakonische Beschränkungen
für Ihre Mitarbeiter einrichten und deren Passwörter
als ungültig markieren können, werden Sie das
vielleicht bei den normalen Accounts nicht durchsetzen.
Wenn Sie über ausreichend Macht verfügen, gelingt es Ihnen
vielleicht doch, ansonsten müssen Sie diese Accounts
aufmerksam überwachen. Wegen der zusätzlichen
Administrationsarbeit und der nötigen technischen
Unterstützung ist die Verwendung von
ssh und Kerberos
mit normalen Accounts erschwert, obwohl das natürlich
sicherer als die Verwendung von verschlüsselten
Passwörtern ist.Absichern der Passwort-DateiDer einzig sichere Weg ist, so viele Accounts wie möglich als
ungültig zu markieren und ssh oder
Kerberos zu benutzen, um auf sie
zuzugreifen. Obwohl die Datei /etc/spwd.db,
die die verschlüsselten Passwörter enthält,
nur von root gelesen werden kann, mag ein
Angreifer lesenden Zugriff auf diese Datei erlangen, ohne die
Fähigkeit sie auch zu beschreiben.Ihre Überwachungsskripten sollten Änderungen
an der Passwort-Datei melden (siehe Überprüfen der
Integrität von Dateien weiter unten).Absichern des Kernels, der Geräte und von
DateisystemenWenn ein Angreifer root-Zugriff erlangt,
kann er so ziemlich alles mit Ihrem System anstellen, doch sollten Sie
es ihm nicht zu leicht machen. Die meisten modernen Kernel haben
zum Beispiel einen Gerätetreiber, der es erlaubt, Pakete
abzuhören. Unter FreeBSD wird das Gerät
bpf genannt. Für gewöhnlich
wird ein Angreifer versuchen, dieses Gerät zu nutzen, um
Pakete abzuhören. Sie sollten ihm diese Gelegenheit nicht
geben und auf den meisten Systemen ist das Gerät
bpf nicht nötig.sysctlAuch wenn Sie bpf nicht verwenden,
müssen Sie sich immer noch um /dev/mem
und /dev/kmem sorgen. Außerdem
kann der Angreifer immer noch auf die rohen Geräte
(raw devices)
schreiben. Weiterhin gibt es ein Programm zum Nachladen von
Modulen in den Kernel: &man.kldload.8;. Ein unternehmungslustiger
Angreifer kann dies benutzen, um sein eigenes
bpf oder ein anderes zum Abhören
geeignetes Gerät in den laufenden Kernel einzubringen. Um diese
Probleme zu vermeiden, müssen Sie den Kernel auf einer
höheren Sicherheitsstufe, mindestens 1,
laufen lassen. Die Sicherheitsstufe wird durch die Variable
kern.securelevel, die mit sysctl
gesetzt werden kann, angegeben. Nachdem Sie die Sicherheitsstufe
auf 1 gesetzt haben, sind schreibende Zugriffe
auf rohe Geräte verboten und die speziellen
chflags Optionen, wie schg
werden erzwungen. Sie müssen sicherstellen, dass die
schg Option auf allen kritischen Programmen,
Verzeichnissen und Skripten, die bis zum Setzen der Option laufen,
aktiviert ist. Das mag übertrieben sein da eine Migration
des Systems erschwert wird, wenn Sie auf einer höheren
Sicherheitsstufe arbeiten. Sie können einen Kompromiss
erreichen, indem Sie das System auf einer erhöhten
Sicherheitsstufe laufen lassen, aber die schg
Option nicht für jede Datei und jedes Verzeichnis auf der Welt
setzen. Eine andere Möglichkeit besteht darin,
/ und /usr einfach
schreibgeschützt einzuhängen. Bedenken Sie, dass
Sie das Aufdecken eines Einbruchs vielleicht verhindern, wenn
Sie zu drastische Maßnahmen zum Schutz Ihres Systems
verwenden.Überprüfen der Integrität von DateienSie können die Systemkonfiguration und die Dateien
nur so weit schützen, wie es die Benutzbarkeit des
Systems nicht einschränkt. Wenn Sie zum Beispiel
mit chflags die Option schg
auf die meisten Dateien in / und
/usr setzen, kann das Ihre Arbeit mehr behindern
als nützen. Die Maßnahme schützt zwar die
Dateien, schließt aber auch eine Möglichkeit,
Veränderungen zu entdecken, aus. Die letzte Schicht des
Sicherheitsmodells – das Aufdecken von Einbrüchen –
ist sicherlich die wichtigste. Alle Sicherheitsmaßnahmen sind
nichts wert, oder wiegen Sie in falscher Sicherheit, wenn Sie
nicht in der Lage sind, einen möglichen Einbruch zu entdecken.
Die Hälfte der Sicherheitsmaßnahmen hat die Aufgabe,
einen Einbruch zu verlangsamen, um es zu ermöglichen, den
Einbrecher auf frischer Tat zu ertappen.Der beste Weg, einen Einbruch zu entdecken, ist es, nach
veränderten, fehlenden oder unerwarteten Dateien zu suchen.
Der wiederum beste Weg, nach veränderten Dateien zu suchen, ist
es, die Suche von einem anderen (oft zentralen) besonders
geschützten System durchzuführen. Es ist wichtig, dass
Ihre Sicherheitsüberprüfungen vor einem Angreifer
verborgen bleiben und daher sind sie auf einem besonders
geschützten System gut aufgehoben. Um dies optimal auszunutzen,
müssen Sie dem besonders geschützten System Zugriffsrechte
auf die zu schützenden Systeme geben. Sie können die
Dateisysteme der zu schützenden Systeme schreibgeschützt
für das besonders geschützte System exportieren, oder
Sie können der besonders geschützten Maschine
ssh auf die anderen Maschinen erlauben,
indem Sie ssh Schlüsselpaare
installieren. Mit Ausnahme des verursachten Netzwerkverkehrs
ist die NFS-Methode die am wenigsten sichtbare. Sie erlaubt es Ihnen,
nahezu unentdeckt die Dateisysteme der Clients zu beobachten. Wenn
Ihr besonders geschütztes System mit den Clients über
einen Switch verbunden ist, ist die NFS-Methode oft das Mittel der
Wahl. Wenn das besonders geschützte System allerdings
mit einem Hub verbunden ist, oder der Zugriff über mehrere
Router geschieht, ist die NFS-Methode aus der Netzwerksicht zu
unsicher. In einem solchen Fall ist ssh
besser geeignet, auch wenn es deutliche Spuren
hinterlässt.Wenn das besonders geschützte System lesenden Zugriff
auf die Clients hat, müssen Sie Skripten schreiben, die die
Überwachung durchführen. Wenn Sie die NFS-Methode
verwenden, können Sie dazu einfache Systemwerkzeuge wie
&man.find.1; und &man.md5.1; benutzen. Am besten berechnen
Sie einmal am Tag MD5-Prüfsummen der Dateien, Konfigurationsdateien
in /etc und /usr/local/etc
sollten öfter überprüft werden. Wenn Unstimmigkeiten
zwischen den auf der besonders geschützten Maschine gehaltenen
MD5-Prüfsummen und den ermittelten Prüfsummen festgestellt
werden, sollte Ihr System einen Systemadministrator benachrichtigen,
der den Unstimmigkeiten dann nachgehen sollte. Ein gutes Skript
überprüft das System auch auf verdächtige
SUID-Programme sowie gelöschte oder neue Dateien in
/ und /usr.Wenn Sie ssh anstelle von NFS
benutzen, wird das Erstellen der Skripten schwieriger. Sie müssen
die Skripten und die Programme wie find mit
scp auf den Client kopieren. Damit machen
Sie die Überprüfung für einen Angreifer sichtbar.
Außerdem kann der ssh-Client auf dem
Zielsystem schon kompromittiert sein. Zusammenfassend, kann der
Einsatz von ssh nötig sein,
wenn Sie über ungesicherte Verbindungen arbeiten, aber
der Umgang mit dieser Methode ist auch sehr viel schwieriger.Ein gutes Sicherheitsskript wird auch Dateien von Benutzern,
die den Zugriff auf ein System ermöglichen, wie
.rhosts, .shosts,
.ssh/authorized_keys usw., auf
Veränderungen untersuchen, die über die Möglichkeiten
einer Überprüfung mit MD5,
die ja nur Veränderungen feststellen kann, hinausgehen.Wenn Sie über große Partitionen verfügen, kann
es zu lange dauern, jede Datei zu überprüfen. In diesem
Fall sollten Sie beim Einhängen des Dateisystems Optionen
setzen, die das Ausführen von SUID-Programmen und den
Zugriff auf Geräte verbieten. &man.mount.8; stellt dazu
die Optionen und
zur Verfügung. Sie sollten diese Dateien aber trotzdem
mindestens einmal die Woche überprüfen, da das Ziel
dieser Schicht das Aufdecken eines Einbruchs, auch wenn er nicht
erfolgreich war, ist.Die Prozessüberwachung (siehe &man.accton.8;)
des Betriebssystems steht ein günstiges Werkzeug zur
Verfügung, dass sich bei der Analyse eines Einbruchs
als nützlich erweisen kann. Insbesondere können Sie
damit herausfinden, wie der Einbrecher in das System eingedrungen ist,
vorausgesetzt die Dateien der Prozessüberwachung sind
noch alle intakt.Schließlich sollten die Sicherheitsskripten die Logdateien
analysieren. Dies sollte so sicher wie möglich durchgeführt
werden, nützlich ist das Schreiben von Logdateien auf
entfernte Systeme mit syslog. Ein Einbrecher
wird versuchen, seine Spuren zu verwischen. Die Logdateien
sind wichtig für den Systemadministrator, da er aus ihnen
den Zeitpunkt und die Art des Einbruchs bestimmen kann. Eine
Möglichkeit, die Logdateien unverändert aufzuheben,
ist es, die Systemkonsole auf einen seriellen Port zu legen
und die Informationen dort von einer gesicherten Maschine
auszulesen.ParanoiaEs schadet nicht, ein bisschen paranoid zu sein.
Grundsätzlich darf ein Systemadministrator jede
Sicherheitsmaßnahme treffen, die die Bedienbarkeit des
Systems nicht einschränkt. Er kann auch Maßnahmen
treffen, die die Bedienbarkeit einschränken,
wenn er diese vorher genau durchdacht hat. Was noch wichtiger
ist: Halten Sie sich nicht sklavisch an dieses Dokument, sondern
führen Sie eigene Maßnahmen ein, um nicht einem
künftigen Angreifer, der auch Zugriff auf dieses Dokument
hat, alle Ihre Methoden zu verraten.Denial of Service AngriffeDenial of Service (DoS)Dieser Abschnitt behandelt Denial of Service Angriffe (DoS).
Ein DoS-Angriff findet typischerweise auf der Paketebene statt.
Während Sie nicht viel gegen moderne Angriffe mit falschen
Paketen, die das Netzwerk sättigen, ausrichten können,
können Sie allerdings den Schaden in der Hinsicht begrenzen,
dass Ihre Server von einem solchen Angriff nicht gestoppt
werden.Begrenzen von fork() Aufrufen.Begrenzen von Sprungbrett-Angriffen (ICMP response Angriffen,
ping zu Broadcast-Adressen usw.).Kernel-Cache für Routen.Ein häufiger DoS-Angriff gegen forkende Server versucht
den Server dazu zu bringen, möglichst viele Prozesse, viele
Dateideskriptoren und viel Speicher zu verbrauchen, bis hin zu
dem Punkt, an dem die Maschine ausfällt. &man.inetd.8;
besitzt einige Optionen, um diese Art von Angriffen zu begrenzen.
Beachten Sie bitte, dass es möglich ist, einen
Ausfall einer Maschine zu verhindern, doch ist es generell nicht
möglich, den Ausfall eines Dienstes bei dieser Art
von Angriffen zu verhindern. Lesen Sie sich bitte die Manualpages
von inetd gut durch und achten Sie speziell
auf die Optionen , und
. Angriffe mit gefälschten IP-Adressen
umgehen , so dass normalerweise eine
Kombination der Optionen benutzt werden muss. Manche Server,
die nicht von inetd gestartet werden,
besitzen Optionen, um den Start über fork()
einzuschränken.Sendmail besitzt die Option
, die besser als die
eingebauten Optionen zur Begrenzung der Systemauslastung funktioniert.
Sie sollten beim Start von sendmailMaxDaemonChildren so hoch setzen, dass Sie
die erwartete Auslastung gut abfangen können. Allerdings
sollten Sie den Wert nicht so hoch setzen, dass der
Rechner über seine eigenen Füße fällt.
Es ist auch klug, sendmail im
Queue-Modus () laufen zu
lassen. Der Dæmon (sendmail -bd) sollte
getrennt von den Queue-Läufen (sendmail -q15m)
laufen. Wenn Sie trotzdem eine sofortige Auslieferung der Post
wünschen, können Sie die Queue in einem geringeren
Intervall, etwa , abarbeiten. Geben Sie
für diesessendmail aber einen vernünftigen
Wert für MaxDaemonChildren an, um
Fehler zu verhindern.Syslogd kann direkt angegriffen
werden. Daher empfehlen wir Ihnen unbedingt die Option
zu benutzen. Sollte das nicht möglich
sein, benutzen Sie bitte .
Vorsicht ist auch mit Diensten geboten, die automatisch
eine Rückverbindung eröffnen, wie der
reverse-identd der tcpwrapper.
Diese Funktion der tcpwrapper
sollten Sie normalerweise nicht benutzen.Es empfiehlt sich sehr, interne Dienste vor externen Zugriffen
durch eine Firewall an der Grenze Ihres Netzwerks zu schützen.
Dahinter steckt mehr die Idee, das Netzwerk vor Überlastung
durch Angriffe von außen zu schützen, als interne
Dienste vor einem root-Zugriff aus dem Netz
zu schützen. Konfigurieren Sie immer eine Firewall, die
alle Zugriffe blockiert, das heißt blockieren Sie
alles außer den Ports A, B, C, D
und M-Z. Damit können Sie Zugriffe auf alle niedrigen
Ports blockieren und Zugriffe auf spezielle Dienste wie
named, wenn Sie den primären
Namensdienst für eine Zone anbieten,
ntalkd oder
sendmail erlauben. Wenn Sie die
Firewall so konfigurieren, das sie in der Voreinstellung alle
Zugriffe erlaubt, ist es sehr wahrscheinlich, dass Sie
vergessen, eine Reihe von Diensten zu blockieren bzw. einen
internen Dienst einführen und dann vergessen die Firewall
zu aktualisieren. Sie können immer die höheren
Portnummern öffnen, ohne die niedrigen Portnummern,
die nur von root benutzt werden dürfen,
zu kompromittieren. Beachten Sie bitte auch, dass es
FreeBSD erlaubt, die Portnummern, die für dynamische
Verbindungen zur Verfügung stehen, zu konfigurieren.
Mit sysctl lassen sich verschiedene
Bereiche der net.inet.ip.portrange Variablen
setzen (eine Liste erhalten Sie mit sysctl -a | fgrep
portrange).
So können Sie zum Beispiel die Portnummern 4000 bis 5000
für den normalen Bereich und die Nummern 49152 bis 65535
für den hohen Bereich vorsehen. Dies erleichtert Ihnen
die Konfiguration der Firewall, da Sie nun Zugriffe auf Ports
unterhalb von 4000, mit Ausnahme der Dienste, die von außen
erreichbar sein sollen, blockieren können.ICMP_BANDLIMEine andere Form eines DoS-Angriffs nutzt einen Server
als Sprungbrett, der Server wird dabei so angegriffen, dass
seine Antworten ihn selber, das lokale Netzwerk oder einen
anderen Server überlasten. Der am häufigsten verwendete
Angriff dieser Art ist der ICMP ping broadcast
Angriff. Der Angreifer fälscht dazu
ping-Pakete, die zu der Broadcast-Adresse
Ihres LANs gesendet werden, indem er darin als Quelladresse
die Adresse des Opfers einsetzt. Wenn die Router an der Grenze
Ihres Netzwerks ping-Pakete auf
Broadcast-Adressen nicht abwehren, wird Ihr LAN genügend
Netzwerkverkehr generieren, um das Ziel des Angriffs zu
überlasten. Dies kann besonders effektiv sein, wenn der
Angreifer diese Methode mit mehreren Dutzend Broadcast-Adressen
über mehrere Netzwerke einsetzt. Es wurden schon
Broadcast-Angriffe mit über 120 Megabit pro Sekunde
gemessen. Ein zweiter Sprungbrett-Angriff wird gegen
das Fehlerbehandlungssystem von ICMP eingesetzt. Indem ein Angreifer
Pakete konstruiert, die eine ICMP-Fehlermeldung hervorrufen, kann
er das einkommende Netzwerk des Servers sättigen und diesen
wiederum veranlassen sein ausgehendes Netzwerk mit ICMP-Antworten
zu sättigen. Diese Art des Angriffs kann alle mbuf-Strukturen
auf dem Server aufbrauchen und damit den Server stilllegen,
insbesondere wenn der Server nicht in der Lage ist, die generierten
ICMP-Antworten schnell genug abzuführen. Der FreeBSD-Kernel
besitzt eine neue Option , die die
Auswirkungen von solchen Angriffen begrenzen kann. Die letzte
weit verbreitete Form von Sprungbrett-Angriffen verwendet
interne inetd-Dienste wie den
UDP echo-Dienst. Der Angreifer fälscht
dazu einfach ein UDP-Paket, indem er als Quellport den
echo-Port von Server A
und als Zielport den echo-Port von
Server B angibt, wobei beide
Server in Ihrem LAN stehen. Die beiden Server werden nun
dieses Paket zwischen sich hin und her schicken. Der Angreifer
kann die beiden Server und das LAN einfach damit überlasten,
dass er mehrere Pakete dieser Art generiert. Ähnliche
Probleme gibt es mit dem internen
chargen-Port, daher sollten Sie
die internen inetd-Testdienste
abstellen.Gefälschte IP-Pakete können dazu benutzt werden,
den Kernel-Cache für Routen zu überlasten. Schauen Sie
sich bitte die sysctl-Parameter
net.inet.ip.rtexpire, rtminexpire
und rtmaxcache an. Ein Angriff der gefälschte
Pakete mit zufälligen Quelladressen einsetzt, bewirkt, dass
der Kernel eine Route im Route-Cache anlegt, die Sie sich mit
netstat -rna | fgrep W3 ansehen können.
Diese Routen verfallen für gewöhnlich nach 1600 Sekunden.
Wenn der Kernel feststellt, dass die Routingtabelle im Cache
zu groß geworden ist, wird er dynamisch den Wert von
rtexpire verringern. Dieser Wert wird aber nie
kleiner werden als rtminexpire. Daraus
ergeben sich zwei Probleme:
-
+
Der Kernel reagiert nicht schnell genug, wenn ein
Server mit einer niedrigen Grundlast plötzlich angegriffen
wird.
-
+
rtminexpire ist nicht klein genug,
um einen anhaltenden Angriff zu überstehen.
-
+
Wenn Ihre Server über eine T3 oder eine noch schnellere
Leitung mit dem Internet verbunden sind, ist es klug, mit
&man.sysctl.8; die Werte für rtexpire und
rtminexpire händisch zu setzen. Setzen
Sie bitte keinen der Werte auf Null, außer Sie wollen die
Maschine zum Erliegen bringen. Ein Wert von 2 Sekunden für
beide Parameter sollte ausreichen, um die Routingtabelle vor
einem Angriff zu schützen.Anmerkungen zum Zugriff mit Kerberos und sshsshKerberosEs gibt ein paar Punkte, die Sie beachten sollten, wenn Sie
Kerberos oder ssh
einsetzen wollen. Kerberos V ist ein
ausgezeichnetes Authentifizierungsprotokoll. Leider gibt es
Fehler, in den für Kerberos
angepassten Versionen von telnet und
rlogin, die sie ungeeignet für den
Umgang mit binären Datenströmen machen. Weiterhin
verschlüsselt Kerberos Ihre Sitzung
nicht, wenn Sie nicht die Option verwenden,
mit ssh wird dagegen alles
verschlüsselt.Ein Problem mit SSH sind Weiterleitungen von Verbindungen.
Wenn Sie von einer sicheren Maschine, auf der sich Ihre
Schlüssel befinden, eine Verbindung zu einer
ungesicherten Maschine aufmachen, wird für die Dauer der
Sitzung ein Port für Weiterleitungen geöffnet.
Ein Angreifer, der auf der unsicheren Maschine Zugang zu
root hat, kann diesen Port
benutzen, um Zugriff auf andere Maschinen zu
erlangen, die mit Ihren Schlüsseln zugänglich
sind.Wir empfehlen Ihnen, für die Logins Ihrer Mitarbeiter immer
ssh zusammen mit
Kerberos einzusetzen. Damit reduzieren
Sie die Abhängigkeit von potentiell gefährdeten
Schlüsseln und schützen gleichzeitig die Passwörter
mit Kerberos.
ssh-Schlüsselpaare sollten nur
für automatisierte Aufgaben von einem besonders gesicherten
Server eingesetzt werden (Kerberos
kann für diese Art von Aufgaben nicht eingesetzt werden).
Weiterhin empfehlen wir Ihnen, das Weiterreichen von Schlüsseln
in der ssh-Konfiguration abzustellen bzw.
die from=IP/DOMAIN Option in
authorized_keys zu verwenden, die den
Schlüssel nur von bestimmten Maschinen aus nutzbar macht.BillSwingleTeile umgeschrieben und aktualisiert von DES, MD5, und crypt()Sicherheitcrypt()crypt()DESMD5Jedem Benutzer eines &unix; Systems ist ein Passwort zugeordnet.
Es scheint offensichtlich, dass das Passwort nur dem Benutzer
und dem System bekannt sein muss. Um die Passwörter
geheim zu halten, werden sie mit einer nicht umkehrbaren Hash-Funktion
verschlüsselt, das heißt sie können leicht
verschlüsselt aber nicht entschlüsselt werden. Was wir
gerade als offensichtlich dargestellt haben, ist also nicht wahr: Das
Betriebssystem kennt das Passwort wirklich
nicht, es kennt nur das verschlüsselte
Passwort. Die einzige Möglichkeit, das originale Passwort
herauszufinden, besteht darin, alle möglichen Passwörter
auszuprobieren (brute force Suche).Zu der Zeit als &unix; entstanden ist, war die einzig sichere
Möglichkeit Passwörter zu verschlüsseln, leider
DES (Data Encryption Standard). Für die Einwohner der USA
stellte das kein Problem dar, aber da der Quellcode von DES nicht aus
den USA exportiert werden durfte, musste ein Weg gefunden werden,
der die Gesetze der USA nicht verletzte und gleichzeitig die
Kompatibilität mit anderen &unix; Systemen, die immer noch DES
benutzten, wahrte.Die Lösung bestand darin, die Verschlüsselungsbibliotheken
aufzuspalten. Benutzer in den USA konnten die DES-Bibliotheken
installieren und nutzen. In der Grundeinstellung benutzt FreeBSD
MD5 als Verschlüsselungsmethode, das exportiert werden durfte
und damit von jedem genutzt werden konnte. Es wird davon ausgegangen,
dass MD5 sicherer als DES ist, so dass DES nur aus
Kompatibilitätsgründen installiert werden sollte.Erkennen der VerschlüsselungsmethodeVor FreeBSD 4.4 war libcrypt.a ein
symbolischer Link, der auf die Library zeigte, die die
Verschlüsselungsroutinen enthielt. Seit FreeBSD 4.4 enthält
libcrypt.a verschiedene Hash-Funktionen, deren
Anwendung sich konfigurieren lässt. Momentan werden
DES-, MD5- und Blowfish-Hash Funktionen unterstützt. In der
Voreinstellung benutzt FreeBSD die MD5-Hash Funktion.Sie können leicht herausfinden, welche
Verschlüsselungsmethode von FreeBSD verwendet wird. Ein Weg
besteht darin, die verschlüsselten Passwörter in
/etc/master.passwd zu untersuchen.
Passwörter, die mit MD5 verschlüsselt wurden,
sind länger als die mit DES verschlüsselten und
beginnen mit den Zeichen $1$.
Passwörter, die mit $2$
anfangen, wurden mit der Blowfish-Funktion verschlüsselt.
DES Passwörter besitzen keine offensichtlichen Merkmale,
an denen sie identifiziert werden könnten. Sie sind aber
kürzer als MD5-Passwörter und sind in einem
64 Zeichen umfassenden Alphabet kodiert, das das
$-Zeichen nicht enthält. Ein relativ
kurzes Passwort, das nicht mit einem
$-Zeichen anfängt, ist wahrscheinlich
ein DES-Passwort.Die Verschlüsselungsmethode für neue
Passwörter wird durch in
/etc/login.conf bestimmt. Der Wert dieser
Variablen kann entweder des, md5
oder blf sein. Näheres schlagen Sie bitte
in &man.login.conf.5; nach.S/KeyS/KeySicherheitS/KeyS/Key ist ein Einmal-Passwort System, das auf einer nicht
umkehrbaren Hash-Funktion basiert. Aus Kompatibilitätsgründen
benutzt FreeBSD MD4-Hashes, andere Systeme benutzen MD5 und DES-MAC.
S/Key ist seit Version 1.1.5 Teil des FreeBSD Basissystems und wird
auch auf einer wachsenden Anzahl anderer Systeme benutzt. S/Key
ist eine geschützte Warenmarke von
Bell Communications Research, Inc.Ab der FreeBSD Version 5.0 wurde S/Key durch OPIE
(Onetime Passwords In Everything), das die gleichen Funktionen
bietet, abgelöst. OPIE benutzt MD5 Hash-Funktionen.In der folgenden Diskussion werden drei verschiedene
Passwörter verwendet. Das Erste ist Ihr normales System- oder
Kerberos-Passwort und wird im Folgenden System-Passwort
genannt. Das Zweite ist das Einmal-Passwort, das bei S/Key
von key oder bei OPIE von
opiekey generiert wird. Dieses Passwort wird von
den Programmen keyinit oder
opiepasswd und dem Login-Programm akzeptiert. Im
Folgenden wird es Einmal-Passwort genannt. Das Dritte
Passwort ist das geheime Passwort, das Sie mit den Programmen
key/opiekey (manchmal auch mit
keyinit/opiepasswd) zum Erstellen
der Einmal-Passwörter verwenden. Dieses Passwort
werden wir im Folgenden geheimes Passwort
oder schlicht Passwort nennen.Das geheime Passwort steht in keiner Beziehung zu Ihrem
System-Passwort, beide können gleich sein, obwohl das nicht
empfohlen wird. Die geheimen Passwörter von S/Key oder
OPIE sind nicht auf eine Länge von 8 Zeichen beschränkt.
Sie können so lang sein, wie Sie wollen. Gebräuchlich sind
Passwörter, die sich aus sechs bis sieben Wörtern
zusammensetzen. Das S/Key oder OPIE System arbeitet
- größtenteils unabhängig von den
+ größtenteils unabhängig von den
auf &unix; Systemen verwendeten Passwort-Mechanismen.Neben dem Passwort gibt es noch zwei Werte, die für
S/Key und OPIE wichtig sind. Der erste ist der
Initialwert (engl. seed
oder key), der aus zwei Buchstaben
und fünf Ziffern besteht. Der andere Wert ist der
Iterationszähler, der eine Zahl zwischen
1 und 100 ist. S/Key generiert das Einmal-Passwort, indem
es den Initialwert und das geheime Passwort aneinander hängt
und dann die MD4/MD5 Hash-Funktion so oft, wie durch den
Iterationszähler gegeben, anwendet. Das Ergebnis wird in
sechs englische Wörter umgewandelt, die Ihr Einmal-Passwort
sind. Das Authentifizierungssystem (meistens PAM) merkt sich das
zuletzt benutzte Einmal-Passwort und Sie sind authentisiert,
wenn die Hash-Funktion des Passworts dem vorigen Passwort
entspricht. Da nicht umkehrbare Hash-Funktionen benutzt werden,
ist es unmöglich, aus einem bekannten Passwort weitere
gültige Einmal-Passwörter zu berechnen. Der
Iterationszähler wird nach jeder erfolgreichen Anmeldung um
eins verringert und stellt so die Synchronisation zwischen Benutzer
und Login-Programm sicher. Wenn der Iterationszähler den
Wert 1 erreicht, müssen S/Key und OPIE neu initialisiert
werden.In jedem System werden drei Programme verwendet, die weiter unten
beschrieben werden. Die Programme key und
opiekey verlangen einen Iterationszähler,
einen Initialwert und ein geheimes Passwort. Daraus generieren
sie ein Einmal-Passwort oder eine Liste von
Einmal-Passwörtern. Die Programme keyinit
und opiepasswd werden benutzt, um S/Key bzw.
OPIE zu initialisieren. Mit ihnen können Passwörter,
Iterationszähler oder Initialwerte geändert werden.
Als Parameter verlangen sie entweder ein geheimes Passwort
oder einen Iterationszähler oder einen Initialwert und ein
Einmal-Passwort. Die Programme keyinfo
und opieinfo geben den momentanen
Iterationszähler und Initialwert eines Benutzers aus. Diese
werden aus den Dateien /etc/skeykeys bzw.
/etc/opiekeys ermittelt.Im Folgenden werden vier verschiedene Tätigkeiten beschrieben.
Zuerst wird erläutert, wie keyinit oder
opiepasswd über eine gesicherte Verbindung
eingesetzt werden, um Einmal-Passwörter das erste Mal
zu konfigurieren oder das Passwort oder den Initialwert
zu ändern. Als nächstes wird erklärt, wie
keyinit oder opiepasswd
über eine nicht gesicherte Verbindung, zusammen mit
key oder opiekey über eine
gesicherte Verbindung, eingesetzt werden, um dasselbe zu erreichen.
Als drittes wird beschrieben, wie
key/opiekey genutzt werden,
um sich über eine nicht gesicherte Verbindung anzumelden.
Die vierte Tätigkeit beschreibt, wie mit key
oder opiekey eine Reihe von Schlüsseln
generiert werden, die Sie sich aufschreiben oder ausdrucken können,
um sich von Orten anzumelden, die über keine gesicherten
Verbindungen verfügen.Einrichten über eine gesicherte VerbindungBenutzen Sie keyinit um S/Key das erste
Mal einzurichten, das Passwort oder den Initialwert
zu ändern, während Sie über eine gesicherte
Verbindung, das heißt an der Konsole oder über ssh
angemeldet, sind:&prompt.user; keyinit
Adding unfurl:
Reminder - Only use this method if you are directly connected.
If you are using telnet or rlogin exit with no password and use keyinit -s.
-Enter secret password:
-Again secret password:
+Enter secret password:
+Again secret password:
ID unfurl s/key is 99 to17757
DEFY CLUB PRO NASH LACE SOFTMit OPIE benutzen Sie stattdessen
opiepasswd:&prompt.user; opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c
Adding unfurl:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase:
Again new secret pass phrase:
ID unfurl OTP key is 499 to4268
MOS MALL GOAT ARM AVID COED
Nach der Aufforderung Enter new secret pass phrase:
oder Enter secret password: geben Sie bitte Ihr
Passwort ein. Dies ist nicht das Passwort, mit dem Sie sich
anmelden, sondern es wird genutzt, um das Einmal-Passwort
zu generieren. Die Zeile, die mit ID anfängt,
enthält Ihren Login-Namen, den Iterationszähler und den
Initialwert. Diese Werte müssen Sie sich nicht behalten, da
das System sie zeigen wird, wenn Sie sich anmelden. In der letzten
Zeile steht das Einmal-Passwort, das aus diesen Parametern
und Ihrem geheimen Passwort ermittelt wurde. Wenn sie sich jetzt
wieder anmelden wollten, dann müssten Sie dieses
Passwort benutzen.Einrichten über eine nicht gesicherte Verbindung
-
+
Um Einmal-Passwörter über eine nicht gesicherte
Verbindung einzurichten, oder das geheime Passwort zu ändern,
müssen Sie über eine gesicherte Verbindung zu einer Stelle
verfügen, an der Sie die Kommandos key
oder opiekey ausführen. Dies kann
ein Desk Accessory auf einem Macintosh oder
die Eingabeaufforderung auf einer Maschine, der Sie vertrauen, sein.
Zudem müssen Sie einen Iterationszähler vorgeben (100
ist ein guter Wert) und einen Initialwert wählen, wobei
Sie auch einen zufällig generierten benutzen können.
Benutzen Sie keyinit -s über die ungesicherte
Verbindung zu der Maschine, die Sie einrichten wollen:&prompt.user; keyinit -s
Updating unfurl:
Old key: to17758
Reminder you need the 6 English words from the key command.
Enter sequence count from 1 to 9999: 100
-Enter new key [default to17759]:
+Enter new key [default to17759]:
s/key 100 to 17759
s/key access password:
s/key access password:CURE MIKE BANE HIM RACY GOREMit OPIE benutzen Sie opiepasswd:&prompt.user; opiepasswd
Updating unfurl:
You need the response from an OTP generator.
Old secret pass phrase:
otp-md5 498 to4268 ext
Response: GAME GAG WELT OUT DOWN CHAT
New secret pass phrase:
otp-md5 499 to4269
Response: LINE PAP MILK NELL BUOY TROY
ID mark OTP key is 499 gr4269
LINE PAP MILK NELL BUOY TROY
Drücken Sie Return, um die Vorgabe
für den Initialwert, der von keyinitkey genannt wird, zu akzeptieren. Bevor
Sie nun das Zugriffspasswort
- (engl. access password)
+ (engl. access password)
eingeben, rufen Sie über die gesicherte Verbindung
key mit denselben Parametern auf:&prompt.user; key 100 to17759
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: <secret password>
CURE MIKE BANE HIM RACY GOREMit OPIE benutzen Sie opiekey:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT
Gehen Sie nun zurück zu der nicht gesicherten Verbindung
und geben dort das eben generierte Einmal-Passwort ein.Erzeugen eines einzelnen Einmal-PasswortesNachdem Sie S/Key oder OPIE eingerichtet haben, werden Sie beim
nächsten Anmelden wie folgt begrüßt:&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
s/key 97 fw13894
Password: OPIE begrüßt Sie wie folgt:&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
otp-md5 498 gr4269 ext
Password: Anmerkung: S/Key und OPIE besitzen eine nützliche Eigenschaft,
die hier nicht gezeigt ist. Wenn Sie an der Eingabeaufforderung
Return eingeben, wird die echo-Funktion eingeschaltet,
das heißt Sie sehen, was Sie tippen. Dies ist besonders
nützlich, wenn Sie ein generiertes Passwort von einem
Ausdruck abtippen müssen.MS-DOSWindowsMacOSJetzt müssen Sie Ihr Einmal-Passwort generieren,
um der Anmeldeaufforderung nachzukommen. Dies muss auf
einem gesicherten System geschehen, auf dem Sie key
oder opiekey ausführen können.
Diese Programme gibt es übrigens auch für DOS, Windows und
MacOS. Beide Programme benötigen den Iterationszähler
sowie den Initialwert als Parameter, die Sie mittels
cut-and-paste direkt von der Login Aufforderung
nehmen können.Auf dem sicheren System:&prompt.user; key 97 fw13894
Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password:
+Enter secret password:
WELD LIP ACTS ENDS ME HAAGMit OPIE:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHATMit dem jetzt generierten Einmal-Passwort können
Sie die Anmeldeprozedur fortsetzen:login: <username>
s/key 97 fw13894
Password: <return to enable echo>
s/key 97 fw13894
Password [echo on]: WELD LIP ACTS ENDS ME HAAG
Last login: Tue Mar 21 11:56:41 from 10.0.0.2 ...Erzeugen von mehreren Einmal-PasswörternManchmal müssen Sie sich an Orte begeben, an denen
Sie keinen Zugriff auf eine sichere Maschine oder eine
sichere Verbindung haben. In diesem Fall können Sie
vorher mit key einige Einmal-Passwörter
generieren, die Sie sich ausdrucken und mitnehmen können.
Zum Beispiel:&prompt.user; key -n 5 30 zz99999
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: <secret password>
-26: SODA RUDE LEA LIND BUDD SILT
-27: JILT SPY DUTY GLOW COWL ROT
-28: THEM OW COLA RUNT BONG SCOT
-29: COT MASH BARR BRIM NAN FLAG
+26: SODA RUDE LEA LIND BUDD SILT
+27: JILT SPY DUTY GLOW COWL ROT
+28: THEM OW COLA RUNT BONG SCOT
+29: COT MASH BARR BRIM NAN FLAG
30: CAN KNEE CAST NAME FOLK BILKMit fordern Sie fünf
Passwörter der Reihe nach an. Der letzte
Iterationszähler wird durch gegeben.
Beachten Sie bitte, dass die Passwörter in der
umgekehrten Reihenfolge, in der sie
zu benutzen sind, ausgeben werden. Wenn Sie wirklich paranoid
sind, schreiben Sie sich jetzt die Passwörter auf,
ansonsten drucken Sie sie mit lpr aus.
Beachten Sie, dass jede Zeile den Iterationszähler
und das Einmal-Passwort zeigt, trotzdem finden Sie es
vielleicht hilfreich, eine Zeile nach Gebrauch durchzustreichen.Einschränken der Benutzung von
System-PasswörternBasierend auf dem Hostnamen, Benutzernamen, Terminal oder
IP-Adresse, können Sie die Verwendung von
System-Passwörtern einschränken. Die Beschränkungen
- werden in /etc/skey.access definiert. Die
+ werden in /etc/skey.access definiert. Die
Manualpage &man.skey.access.5; beschreibt das Format dieser
Datei sowie einige Vorsichtsmaßnahmen,
die Sie treffen sollten, bevor Sie diese Datei einsetzen.Wenn /etc/skey.access nicht existiert und
das ist unter FreeBSD die Vorgabe, dann dürfen sich alle Benutzer
mit ihren System-Passwörtern anmelden. Wenn die Datei existiert,
dann müssen alle Benutzer S/Key zum Anmelden benutzen. Ausnahmen
müssen explizit in skey.access konfiguriert
werden. In allen Fällen werden System-Passwörter
beim Anmelden auf der Konsole erlaubt.Das folgende Beispiel zeigt die drei häufigsten
Ausnahmen:permit internet 192.168.0.0 255.255.0.0
permit user fnord
permit port ttyd0Die erste Zeile (permit internet) erlaubt
es Benutzern, deren IP-Adresse, die immer noch gefälscht werden
kann, mit dem angegebenen Wert und der angegebenen Maske
übereinstimmt, System-Passwörter zu benutzen. Dies
sollte nicht als Sicherheitsmechanismus missverstanden werden,
sondern sollte autorisierte Benutzer daran erinnern, dass sie
ein ungesichertes Netzwerk benutzen und sich mit S/Key anmelden
müssen.Die zweite Zeile (permit user) erlaubt
es dem angegebenen Benutzer, hier fnord,
jederzeit System-Passwörter zu verwenden. Dies sollte
allerdings nur für Benutzer konfiguriert werden, die das
key Programm nicht benutzen können (Leute
mit dumb Terminals oder wirklich uneinsichtige).
Die dritte Zeile (permit port) erlaubt allen
Benutzern, die sich an dem angegebenen Terminal anmelden,
System-Passwörter zu benutzen. Sie sollte für
Einwählverbindungen genutzt werden.MarkMurrayBeigesteuert von MarkDapozBasiert auf einem Beitrag von KerberosKerberos
-
+
Kerberos ist ein zusätzliches Netzwerkprotokoll, das es
Benutzern erlaubt, sich über einen sicheren Server zu
authentifizieren. Dienste wie rlogin,
rcp oder das sichere Kopieren von Dateien
zwischen Systemen und andere risikoreiche Tätigkeiten werden
durch Kerberos erheblich sicherer und kontrollierbarer.Die folgende Anleitung kann nur als Wegweiser dazu dienen, wie
Sie Kerberos für FreeBSD konfigurieren. Für eine komplette
Beschreibung des Systems, sollten Sie sich auf jeden Fall die
entsprechenden Manualpage ansehen.Installation von KerberosMITKerberosInstallationKerberos ist eine optionale Komponente von FreeBSD. Am leichtesten
installieren Sie die Software, wenn Sie bei der ersten Installation
von FreeBSD in sysinstall die
Distribution 'krb4' oder 'krb5' auswählen. Damit installieren
Sie entweder die 'eBones' (KerberosIV) oder 'Heimdal' (Kerberos5)
Version von Kerberos. Beide Versionen werden mit FreeBSD ausgeliefert,
da sie außerhalb von den USA oder Kanada entwickelt werden.
Sie unterliegen deshalb auch nicht den restriktiven
Exportbeschränkungen der USA und sind auch für
Bewohner anderer Länder zugänglich.Als Alternative steht die MIT Variante von Kerberos in der
Ports-Kollektion unter security/krb5 zur
Verfügung.Erstellen der initialen Datenbank
-
+
Die folgenden Schritte werden nur auf dem Kerberos-Server
durchgeführt. Stellen Sie bitte vorher sicher, dass
keine alten Kerberos-Datenbanken mehr vorhanden sind. Im
Verzeichnis /etc/kerberosIV sollten sich nur
die folgenden Dateien befinden:
-
+
&prompt.root; cd /etc/kerberosIV
&prompt.root; ls
README krb.conf krb.realms
-
+
Wenn noch andere Dateien, wie principal.*
oder master_key, existieren, müssen
Sie die alte Kerberos-Datenbank mit kdb_destroy
löschen. Wenn Kerberos nicht läuft, können Sie
die Dateien auch einfach löschen.
-
+
Sie sollten nun die Dateien krb.conf und
krb.realms editieren, um Ihr Kerberos-Realm zu
definieren. Das folgende Beispiel zeigt dies für das Realm
EXAMPLE.COM auf dem Server
grunt.example.com.
krb.conf sollte wie folgt aussehen:
-
+
&prompt.root; cat krb.conf
EXAMPLE.COM
EXAMPLE.COM grunt.example.com admin server
CS.BERKELEY.EDU okeeffe.berkeley.edu
ATHENA.MIT.EDU kerberos.mit.edu
ATHENA.MIT.EDU kerberos-1.mit.edu
ATHENA.MIT.EDU kerberos-2.mit.edu
ATHENA.MIT.EDU kerberos-3.mit.edu
LCS.MIT.EDU kerberos.lcs.mit.edu
TELECOM.MIT.EDU bitsy.mit.edu
ARC.NASA.GOV trident.arc.nasa.gov
-
+
Die zusätzlich aufgeführten Realms brauchen Sie nicht
anzulegen. Sie zeigen hier nur, wie man Kerberos dazu bringt, andere
Realms zu erkennen. Sie können Sie also auch weglassen.
-
+
Die erste Zeile benennt das Realm, in dem das System arbeitet.
Die anderen Zeilen enthalten Realm/Host Paare. Der erste Wert jeder
Zeile ist das Realm, der zweite Teil ein Host, der in diesem
Realm Key Distribution Center ist. Die
Schlüsselwörter admin server nach einem
Hostnamen bedeuten, dass dieser Host auch einen administrativen
Datenbankserver zur Verfügung stellt. Weitere Erklärungen zu
diesen Begriffen finden Sie in den Kerberos Manualpages.
-
+
Als nächstes muss
grunt.example.com in das Realm
EXAMPLE.COM aufgenommen werden. Des Weiteren
erstellen wir einen Eintrag, der alle Rechner der Domäne
.example.com in das Realm
EXAMPLE.COM aufnimmt.
krb.realms sollte danach so aussehen:
-
+
&prompt.root; cat krb.realms
grunt.example.com EXAMPLE.COM
.example.com EXAMPLE.COM
.berkeley.edu CS.BERKELEY.EDU
.MIT.EDU ATHENA.MIT.EDU
.mit.edu ATHENA.MIT.EDU
-
+
Die zusätzlichen Realms sind hier wieder als Beispiel
gedacht. Sie können sie der Einfachheit halber auch
weglassen.
-
+
Die erste Zeile nimmt ein einzelnes System
in das Realm auf. Die anderen Zeilen zeigen, wie bestimmte
Subdomänen einem bestimmten Realm zugeordnet werden.
-
+
Das folgende Kommando muss nur auf dem Kerberos-Server
(oder Key Distribution Center) laufen. Mit
kdb_init können wir die Datenbank
anlegen:
-
+
&prompt.root; kdb_initRealm name [default ATHENA.MIT.EDU ]:EXAMPLE.COM
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
-
+
Enter Kerberos master key:
-
+
Anschließend muss der Schlüssel gespeichert
werden, damit Server auf der lokalen Maschine darauf zugreifen
können. Dies geschieht mit kstash:
-
+
&prompt.root; kstash
-
+
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
-
+
Das verschlüsselte Master-Passwort wurde in
/etc/kerberosIV/master_key gesichert.
-
+
Anlegen von Prinzipals
-
+
Für jedes System, das mit Kerberos
gesichert werden soll, müssen zwei Prinzipale in die
Datenbank eingetragen werden. Ihre Namen sind
kpasswd und rcmd. Beide
Prinzipale müssen für jedes System angelegt werden, wobei
die Instanz der Name des jeweiligen Systems ist.
-
+
Die Dæmonen kpasswd und
rcmd erlauben es anderen Systemen,
Kerberos-Passwörter zu ändern und Kommandos wie
rcp, rlogin und
rsh laufen zu lassen.
-
+
Beide Einträge werden im Folgenden angelegt:
-
+
&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:passwdInstance:grunt
<Not found>, Create [y] ?y
Principal: passwd, Instance: grunt, kdc_key_ver: 1
New Password: <---- geben Sie hier Zufallswerte ein
Verifying password
New Password: <---- geben Sie hier Zufallswerte ein
Random password [y] ?y
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name:rcmdInstance:grunt
<Not found>, Create [y] ?
Principal: rcmd, Instance: grunt, kdc_key_ver: 1
New Password: <---- geben Sie hier Zufallswerte ein
Verifying password
New Password: <---- geben Sie hier Zufallswerte ein
Random password [y] ?
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- geben Sie nichts an, um das Programm zu verlassenErstellen der Server-Datei
-
+
Wir müssen nun für jede Maschine die Instanzen,
die Dienste definieren, aus der Datenbank mit
ext_srvtab extrahieren. Die erstelle Datei
muss auf einem sicheren Weg in das
/etc/kerberosIV Verzeichnis jedes Clients
kopiert werden. Die Datei muss auf jedem Server und auf
jedem Client vorhanden sein und ist unabdingbar für
Kerberos.
-
+
&prompt.root; ext_srvtab gruntEnter Kerberos master key:
-
+
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Generating 'grunt-new-srvtab'....
-
+
Das Kommando erzeugt Dateien mit einem temporären Namen,
der es anderen Servern erlaubt, ihre Datei abzuholen. Die Datei
muss auf dem entsprechenden System in srvtab
umbenannt werden. Auf dem originalen System können Sie
mv benutzen, um die Datei umzubenennen:
-
+
&prompt.root; mv grunt-new-srvtab srvtab
-
+
Wenn die Datei für ein Client-System bestimmt ist und das
Netzwerk nicht sicher ist, kopieren Sie die Datei auf ein bewegliches
Medium und transportieren sie physikalisch. Kopieren Sie die Datei
auf den Client in das Verzeichnis /etc/kerberosIV.
Benennen Sie die Datei in srvtab um und setzen Sie
schließlich noch die Berechtigungen auf 600:
-
+
&prompt.root; mv grumble-new-srvtab srvtab
&prompt.root; chmod 600 srvtab
-
+
Füllen der Datenbank
-
+
Wir können nun Benutzer in der Datenbank anlegen. Mit
kdb_edit legen wir zuerst die Benutzerin
jane an:
-
+
&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janeInstance:
<Not found>, Create [y] ?y
Principal: jane, Instance: , kdc_key_ver: 1
New Password: <---- geben Sie ein sicheres Passwort ein
Verifying password
New Password: <---- wiederholen Sie die Eingabe
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- geben Sie nichts an, um das Programm zu verlassenTesten
-
+
Zuerst müssen die Kerberos-Dæmonen gestartet sein.
Wenn Sie /etc/rc.conf richtig angepasst haben,
passiert das automatisch, wenn Sie booten. Dieser Schritt ist nur
auf dem Kerberos-Server notwendig, die Clients bekommen alles
was sie brauchen aus dem /etc/kerberosIV
Verzeichnis.
-
+
&prompt.root; kerberos &
Kerberos server starting
Sleep forever on error
Log file is /var/log/kerberos.log
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Current Kerberos master key version is 1
Local realm: EXAMPLE.COM
&prompt.root; kadmind -n &
KADM Server KADM0.0A initializing
Please do not use 'kill -9' to kill this job, use a
regular kill instead
Current Kerberos master key version is 1.
Master key entered. BEWARE!
-
+
Jetzt können wir mit kinit versuchen,
ein Ticket für die ID jane, die wir
oben angelegt haben, zu erhalten:
-
+
&prompt.user; kinit jane
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane"
Password:
-
+
Mit klist können Sie sich vergewissern,
dass Sie die Tickets auch erhalten haben:
-
+
&prompt.user; klist
Ticket file: /tmp/tkt245
Principal: jane@EXAMPLE.COM
Issued Expires Principal
Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COM
-
+
Versuchen Sie nun das Passwort mit passwd
zu ändern, um zu überprüfen, dass der
kpasswd Dæmon auch auf der
Kerberos-Datenbank autorisiert ist:
-
+
&prompt.user; passwd
realm EXAMPLE.COM
Old password for jane:New Password for jane:
Verifying password
New Password for jane:
Password changed.Anlegen von su Privilegien
-
+
Mit Kerberos kann jedem Benutzer, der
root-Privilegien braucht, ein
eigenes Passwort für
su zugewiesen werden. Dies wird dadurch
erreicht, dass die Instanz eines Prinzipals
root ist. Mit kbd_edit
legen wir nun den Eintrag jane.root in der
Kerberos-Datenbank an:
-
+
&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janeInstance:root
<Not found>, Create [y] ? y
Principal: jane, Instance: root, kdc_key_ver: 1
New Password: <---- geben Sie ein sicheres Passwort ein
Verifying password
New Password: <---- geben Sie das Passwort erneut ein
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?12 <--- Keep this short!
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- geben Sie nichts an, um das Programm zu verlassen
-
+
Versuchen Sie nun, für diesen Prinzipal Tickets zu
bekommen:
-
+
&prompt.root; kinit jane.root
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane.root"
Password:
-
+
Als nächstes fügen wir den Prinzipal in
.klogin von root ein:
-
+
&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COM
-
+
Jetzt benutzen wir su:
-
+
&prompt.user; su
Password:
-
+
und kontrollieren, welche Tickets wir haben:
-
+
&prompt.root; klist
Ticket file: /tmp/tkt_root_245
Principal: jane.root@EXAMPLE.COM
Issued Expires Principal
May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COMWeitere Kommandos
-
+
In einem der Beispiele haben wir einen Prinzipal mit
dem Namen jane und der Instanz
root angelegt. Der Prinzipal entstand aus
einem Benutzer mit dem gleichen Namen. Unter Kerberos ist es
Standard, dass ein
principal.instance der Form
username.root es dem
Benutzer username erlaubt, mit
suroot zu werden, wenn die
entsprechenden Einträge in .klogin von
root existieren:
-
+
&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COM
-
+
Das gilt auch für die .klogin-Datei
im Heimatverzeichnis eines Benutzers:
-
+
&prompt.user; cat ~/.klogin
jane@EXAMPLE.COM
jack@EXAMPLE.COM
-
+
Die Einträge erlauben jedem, der sich im Realm
EXAMPLE.COM als jane oder
jack mit kinit authentifiziert
hat, über rlogin, rsh
oder rcp Zugriff auf den Account
jane und dessen Dateien.
-
+
Im folgenden Beispiel meldet sich jane
mit Kerberos auf grunt an:
-
+
&prompt.user; kinit
MIT Project Athena (grunt.example.com)
Password:
&prompt.user; rlogin grunt
Last login: Mon May 1 21:14:47 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
-
+
Im folgenden Beispiel wurde der Prinzipal jack
mit einer Instanz null angelegt. Mit der obigen
.klogin-Datei kann er sich nun auf derselben
Maschine als jane anmelden:
-
+
&prompt.user; kinit
&prompt.user; rlogin grunt -l jane
MIT Project Athena (grunt.example.com)
Password:
Last login: Mon May 1 21:16:55 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
-
+
GaryPalmerBeigetragen von AlexNashFirewallsFirewallSicherheitFirewallsFirewalls sind sehr wichtig für Leute, die mit dem Internet
verbunden sind. Weiterhin halten sie Einzug in private Netzwerke, um
dort die Sicherheit zu verbessern. Dieser Abschnitt erklärt,
was Firewalls sind, wie sie benutzt werden und wie man die
Möglichkeiten von FreeBSD benutzen kann, um eine Firewall zu
implementieren.Es wird oft gedacht, dass eine Firewall zwischen dem internen
Netzwerk und dem weiten, schlechten Internet
alle Sicherheitsprobleme löst. Eine Firewall kann die Sicherheit
erhöhen, doch eine schlecht aufgesetzte Firewall ist ein
größeres Sicherheitsrisiko als gar keine Firewall. Eine
Firewall ist nur eine weitere Sicherheitsschicht, sie verhindert
aber nicht, dass ein wirklich entschlossener Cracker in
Ihr internes Netz eindringt. Wenn Sie Ihre interne Sicherheit
vernachlässigen, weil Sie Ihre Firewall für undurchdringlich
halten, machen Sie den Crackern die Arbeit leichter.Was ist eine Firewall?
-
+
Auf dem Internet sind momentan zwei Arten von Firewalls
gebräuchlich. Die erste Art ist ein
Paketfilter, in dem ein Kernel auf einer
Maschine mit mehreren Netzwerkverbindungen auf Grund von Regeln
entscheidet, ob er ein Paket weiterleitet oder nicht. Der zweite
Typ sind Proxy-Server, die auf Dæmonen
angewiesen sind. Die Dæmonen authentifizieren Benutzer
und leiten Pakete weiter, das heißt sie können auf
Maschinen mit mehreren Netzwerkverbindungen laufen, auf denen
das Weiterleiten von Paketen durch den Kernel ausgeschaltet ist.
-
+
Manchmal werden beide Arten einer Firewall kombiniert und es
ist nur einer besonderen Maschine, die
Bastion Host genannt wird, erlaubt, Pakete
in das interne Netzwerk über einen Paketfilter zu schicken.
Auf dem Bastion Host laufen Proxy-Dienste, die im Allgemeinen
sicherer als normale Authentifizierungsmechanismen sind.
-
+
FreeBSD besitzt einen Kernel-Paketfilter (IPFW), der im Rest
dieses Abschnitts behandelt wird. Proxy-Server können
mit Hilfe von Software von Drittherstellern auf FreeBSD realisiert
werden, doch gibt es so viele Proxy-Server, dass deren
Behandlung den Rahmen dieses Abschnitts sprengen würde.
-
+
Paket-FilterEin Router ist eine Maschine, die Pakete zwischen zwei oder
mehr Netzwerken weiterleitet. Ein Paketfilter ist ein spezieller
Router, der extra Code im Kernel hat, der es im erlaubt, die
Pakete mit Regeln zu vergleichen, bevor er das Paket weiterleitet.
Um die Filter zu aktivieren, müssen Sie zuerst die Regeln
definieren, die festlegen, ob ein Paket weitergeleitet wird oder
nicht.
-
+
Um zu entscheiden, ob ein Paket weitergeleitet wird, sucht der
Code des Paketfilters eine Regel, die auf den Inhalt des Paketheaders
passt. Wenn eine passende Regel gefunden wurde, wird die Aktion
der Regel ausgeführt. Die Aktion kann das Paket blockieren,
weiterleiten oder auch dem Sender eine ICMP-Nachricht schicken.
Die Regeln werden der Reihenfolge nach durchsucht und nur die
erste passende Regel wird angewandt. Daher wird auch von einer
Regelkette gesprochen.
-
+
Die Kriterien, nach denen Sie ein Paket spezifizieren
können, hängen von der eingesetzten Software ab.
Typischerweise können Sie Pakete nach der Quell IP-Adresse,
der Ziel IP-Adresse, dem Quellport, dem Zielport (bei Protokollen,
die diese unterscheiden) oder dem Pakettyp (UDP, TCP, ICMP)
unterscheiden.
-
+
Proxy-Server
-
+
Auf Proxy-Servern werden die normalen Systemdienste
(telnetd, ftpd,
usw.) durch besondere Server ersetzt. Diese Server werden
Proxy-Server genannt, da sie normalerweise
nur weitergehende Verbindungen erlauben
(proxy engl. für
Stellvertreter). Zum Beispiel können Sie auf Ihrer
Firewall einen Proxy-Telnet Server laufen lassen, der es Personen
erlaubt, aus dem Internet auf die Firewall eine Telnet-Verbindung
zu öffnen. Dort laufen Sie durch einen
Authentifizierungsmechanismus und haben dann Zugriff auf Ihr
internes Netzwerk. Für den umgekehrten Weg können Sie
natürlich auch Proxy-Server einsetzen.
-
+
Proxy-Server sind in aller Regel sicherer als normale Server
und bieten oft eine Reihe von Authentifizierungsmechanismen. Dazu
gehören Einmal-Passwort Systeme, bei denen das zum
Anmelden verwendete Passwort sofort ungültig wird und
nicht zu einer weiteren Anmeldung benutzt werden kann, auch wenn
es abgehört wurde. Da Proxy-Server den Benutzern keinen
Zugang zu dem System geben, wird es für einen Angreifer
sehr schwer, Hintertüren zur Umgehung Ihres Sicherheitssystems
zu installieren.
-
+
Mit Proxy-Servern lassen sich die Zugriffe meist noch weiter
beschränken. Der Zugriff kann auf bestimmte Rechner
eingeschränkt werden und oft ist es möglich,
festzulegen, welcher Benutzer mit welcher Zielmaschine kommunizieren
darf. Welche Möglichkeiten Sie haben, hängt stark
von der Proxy-Software ab, die Sie einsetzen.Was kann ich mit IPFW machen?ipfw
-
+
IPFW, das von FreeBSD zur Verfügung gestellt wird,
ist ein Paketfilter und ein Accounting-System, das im Kernel
läuft und mit &man.ipfw.8; ein Werkzeug im Userland
zur Verfügung stellt. Beide Teile zusammen erlauben es Ihnen,
die Regeln für Routing Entscheidungen im Kernel zu definieren
oder abzufragen.
-
+
In IPFW gibt es zwei zusammenhängende Teile. Mit der
Firewall können Sie einen Paketfilter konfigurieren. Das
IP-Accounting Modul erlaubt es Ihnen, mit ähnlichen Regeln
wie den Firewall-Regeln, die Nutzung Ihres Routers zu überwachen.
Damit können Sie zum Beispiel sehen, wie viel Verkehr auf
Ihrem Router von einer bestimmten Maschine kommt oder wie viel
WWW (World Wide Web) Verkehr durch Ihren Router geht.
-
+
Durch das Design von IPFW können Sie IPFW auch auf
Maschinen, die keine Router sind, einsetzen und einen Paketfilter
für eingehende und ausgehende Verbindungen konfigurieren.
Dies ist ein Spezialfall der normalen Verwendung von IPFW
und daher werden dieselben Kommandos und Techniken benutzt.Aktivieren von IPFWipfwaktivieren
-
+
Der größte Teil des IPFW-Systems befindet sich im
Kernel, daher müssen Sie die Konfigurationsdatei des Kernels
editieren und anschließend den Kernel neu übersetzen.
Das Kapitel Konfiguration des
FreeBSD Kernels beschreibt, wie Sie dazu
vorzugehen haben.In der Voreinstellung verbietet IPFW
alle Verbindungen. Sie
haben sich ausgesperrt, wenn Sie den Kernel mit
Firewall-Unterstützung starten und keine eigenen Regeln,
die einen Zugriff erlauben, definiert haben. Zum ersten
Überprüfen der Firewall-Funktion können Sie die
Firewall öffnen, indem Sie
firewall_type=open in
/etc/rc.conf eintragen und danach, wenn
alles funktioniert hat, die Regeln in
/etc/rc.firewall anpassen. Um zu vermeiden,
dass Sie sich aus Versehen aussperren, konfigurieren Sie die
Firewall nicht über eine
ssh-Verbindung sondern an der Konsole.
Sie können auch in der Voreinstellung alle Verbindungen
zulassen, indem Sie die Option
IPFIREWALL_DEFAULT_TO_ACCEPT in die
Kernelkonfiguration aufnehmen.
-
+
Momentan gibt es vier Optionen in der Kernelkonfiguration, die
IPFW betreffen:
-
+
options IPFIREWALLFügt den Paketfilter-Code in den Kernel ein.
-
+
options IPFIREWALL_VERBOSE
-
+
Aktiviert das Loggen von Paketen mit &man.syslogd.8;.
Ohne diese Option werden keine Pakete geloggt, auch wenn Sie
in den Filterregeln das Loggen angeben.options IPFIREWALL_VERBOSE_LIMIT=10
-
+
Begrenzt die Anzahl der über &man.syslogd.8;
geschriebenen Einträge. Die Option ist in Umgebungen
mit hoher Aktivität nützlich, in denen Sie die
Firewall Aktivitäten loggen möchten, aber einem
Angreifer nicht die Möglichkeit eines Denial of Service
Angriffs durch das Überlasten von syslog geben
wollen.Erreicht eine Regel der Regelkette die angegebene Grenze,
so wird für diesen Eintrag das Loggen abgestellt. Um
das Loggen von Paketen wieder zu aktivieren, müssen Sie
den Zähler mit &man.ipfw.8; zurücksetzen:
-
+
&prompt.root; ipfw zero 4500Hier ist 4500 die Nummer der Regel in
der Regelkette, für die Sie das Log weiterführen
möchten.options IPFIREWALL_DEFAULT_TO_ACCEPTÄndert die Voreinstellung der Firewall, sodass alle
Verbindungen erlaubt anstatt verboten sind. Diese
Einstellung vermeidet, dass Sie sich aussperren, wenn Sie
einen Kernel mit IPFIREWALL und ohne
eigene Regeln starten. Wenn Sie &man.ipfw.8; wie einen
Filter zum Lösen spezieller Probleme bei deren
Auftreten verwenden, kann diese Option sehr nützlich
sein. Diese Einstellung öffnet die Firewall und
verändert ihre Arbeitsweise. Gehen Sie daher sehr
vorsichtig mit ihr um.
-
+
Frühere Versionen von FreeBSD stellten die Option
IPFIREWALL_ACCT zur Verfügung. Die Option
ist mittlerweile überholt, da der Firewall Code automatisch
Accounting Möglichkeiten bereitstellt.Konfiguration von IPFWipfwKonfiguration
-
+
Mit &man.ipfw.8; konfigurieren Sie die IPFW-Software. Die
Syntax dieses Kommandos sieht ziemlich kompliziert aus, doch wenn
Sie einmal den Aufbau der Kommandos verstanden haben, ist es sehr
einfach.Das Kommando unterstützt vier verschiedene Operationen:
Hinzufügen/Löschen, Anzeigen und Zurücksetzen von
Regeln, sowie das Zurücksetzen von Paketzählern. Die
Operationen Hinzufügen/Löschen werden genutzt, um die
Regeln, nach denen Pakete akzeptiert, blockiert oder geloggt
werden, zu erstellen. Die Operation Anzeigen zeigt die Regelkette
und die Paketzähler an. Die Operation Zurücksetzen
löscht alle Regeln der Regelkette. Mit der letzten Operation
können Sie ein oder mehrere Paketzähler auf den Wert Null
zurücksetzen.
-
+
Ändern der IPFW-RegelnDie Syntax für diese Operation lautet:
ipfw-NKommandoindexAktionlogProtokollAdressenOptionenDieser Aufruf unterstützt eine Option:-NLöst Adressen und Namen von Diensten in der
Ausgabe auf.Kommando kann auf die kürzeste
eindeutige Länge reduziert werden. Gültig sind die
Werte:
-
+
addFügt einen Eintrag in die Firewall/Accounting
Regelkette ein.
-
+
delete
-
+
Löscht einen Eintrag in der Firewall/Accounting
Regelkette.Frühere Versionen von IPFW verfügten über
getrennte Firewall- und Accounting-Einträge in der Regelkette.
In der jetzigen Version steht das Accounting für jeden
Eintrag in der Firewall-Regelkette zur Verfügung.
-
+
Wenn ein Wert für index angegeben
ist, so wird die Regel an entsprechender Stelle in die Regelkette
eingefügt. Ansonsten wird die Regel an das Ende der Kette
gestellt, wobei der Index um 100 größer ist als der
Index der letzten Regel (die voreingestellte letzte Regel mit der
Nummer 65535 wird in diesem Verfahren nicht
berücksichtigt).
-
+
Wenn der Kernel mit IPFIREWALL_VERBOSE
erstellt wurde, gibt die Regel mit der Option
log Meldungen auf der Systemkonsole
aus.
-
+
Gültige Werte für Aktion
sind:
-
+
rejectBlockiert das Paket und schickt dem Sender die
ICMP-Nachricht host or port unreachable.
-
+
allow
-
+
Leitet das Paket normal weiter. Zulässige Aliase
sind pass und
accept.
-
+
deny
-
+
Blockiert das Paket und benachrichtigt den Sender
nicht mit einer ICMP-Nachricht. Dem
Sender kommt es so vor, als hätte das Paket sein Ziel
nie erreicht.
-
+
count
-
+
Erhöht den Paketzähler für diese Regel,
trifft aber keine Entscheidung wie mit dem Paket zu
verfahren ist, das heißt die nächste Regel der
Kette wird auf das Paket angewendet.Es ist möglich, die kürzeste eindeutige Form der
Aktion anzugeben.
-
+
Für Protokoll können die
folgenden Werte angegeben werden:
-
+
allTrifft auf jedes IP-Paket zu.
-
+
icmp
-
+
Passt auf jedes ICMP-Paket.
-
+
tcp
-
+
Passt auf jedes TCP-Paket.
-
+
udp
-
+
Trifft auf jedes UDP-Paket zu.Die Syntax für Adresse
lautet:fromAdresse/MaskePorttoAdresse/MaskePortvia Interface
-
+
Port können Sie nur angeben,
wenn das Protokoll auch Ports
unterstützt (UDP und TCP).
-
+
ist optional und gibt die IP-Adresse,
den Domainnamen eines lokalen Interfaces oder den Namen des
Interfaces (z.B. ed0) an und trifft nur
auf Pakete zu, die durch dieses Interface gehen. Die Nummern der
Interfaces können mit einem Platzhalter angegeben werden,
ppp* trifft auf alle Kernel-PPP Interfaces
zu.
-
+
Adresse/Maske können Sie wie
folgt angeben:
-
+
Adresse
-
+
oder
-
+
Adresse/Bitmaske
-
+
oder
-
+
Adresse:MaskenmusterAnstelle einer IP-Adresse können Sie einen gültigen
Hostnamen angeben.
ist eine
dezimale Zahl, die angibt, wie viele Bits in der Adressmaske
gesetzt werden sollen. Die Angabe
192.216.222.1/24 erstellt
eine Maske, die auf jede Adresse des Klasse C Subnetzes
192.216.222 zutrifft.
Das
wird mit der gegebenen IP-Adresse logisch UND verknüpft.
Das Schlüsselwort any trifft auf jede
IP-Adresse zu.
-
+
Die Portnummern werden wie folgt angegeben:
-
+
Port,Port,Port…
Dies gibt entweder einen Port oder eine Liste von Ports an.
-
+
Port-Port
Gibt einen Portbereich an. Sie können einen einzelnen
Bereich mit einer Liste kombinieren, müssen aber den Bereich
immer zuerst angeben.
-
+
Die verfügbaren Optionen
sind:fragTrifft auf Pakete zu, die nicht das erste Fragment
eines Datagrams sind.
-
+
in
-
+
Trifft auf eingehende Pakete zu.
-
+
out
-
+
Trifft auf ausgehende Pakete zu.
-
+
ipoptions spec
-
+
Trifft auf alle IP-Pakete zu, deren Header die in
spec angegebenen, durch Kommata
separierte, Optionen enthalten. Die unterstützten
IP-Optionen sind: ssrr (strict source
route), lsrr (loose source route),
rr (record packet route), und
ts (time stamp). Ein führendes
! trifft auf alle Pakete zu, die diese
Option nicht gesetzt haben.
-
+
established
-
+
Trifft auf alle Pakete zu, die zu einer schon
bestehenden TCP-Verbindung gehören, das heißt
das RST- oder ACK-Bit ist gesetzt. Sie können den
Durchsatz der Firewall verbessern, wenn Sie die
established Regeln soweit wie
möglich an den Anfang der Regelkette stellen.
-
+
setup
-
+
Passt auf alle Pakete, die versuchen eine
TCP-Verbindung aufzubauen, das heißt das SYN-Bit ist
gesetzt und das ACK-Bit ist nicht gesetzt.
-
+
tcpflags flags
-
+
Trifft auf alle Pakete zu, die im TCP-Header eine der
durch Kommata getrennten Option gesetzt haben. Die
gültigen Optionen sind: fin,
syn, rst,
psh, ack und
urg. Mit einem führenden
! kann die Abwesenheit einer Option
angegeben werden.
-
+
icmptypes types
-
+
Trifft auf ICMP-Pakete vom Typ
types. Hier kann eine
Kommata separierte Aufzählung von Bereichen oder
einzelnen Typen angegeben werden. Gebräuchliche Typen
sind: 0 echo reply (ping reply),
3 destination unreachable,
5 redirect, 8 echo
request (ping request) und 11 time
exceeded, das die Überschreitung der TTL angibt und
zum Beispiel von &man.traceroute.8; genutzt wird.
-
+
Anzeigen der IPFW-RegelnDie Syntax für dieses Kommando lautet:
ipfw-a-c-d-e-t-N-SlistSieben Optionen sind für diese Form gültig:
-
+
-aZeigt die Paketzähler zu den Regeln an. Diese
Option ist die einzige Möglichkeit, die Zähler zu
sehen.
-
+
-cZeigt die Regeln in einer kompakten
Darstellung an.
-
+
-dZeigt zusätzlich zu den statischen Regeln
die dynamischen Regeln an.
-
+
-eZeigt auch abgelaufene dynamische Regeln an, wenn
die Option zusammen mit angegeben
wird.
-
+
-t
-
+
Zeigt die Zeit, zu der die Regel zuletzt aktiviert
wurde. Die Syntax dieser Ausgabe ist nicht kompatibel mit
der Eingabesyntax von &man.ipfw.8;.
-
+
-N
-
+
Versucht Adressen und Namen von Diensten
aufzulösen.
-
+
-S
-
+
Zeigt den Regelsatz an, zu dem die Regel gehört.
Inaktive Regeln werden ohne diesen Schalter nicht
angezeigt.
-
+
Zurücksetzen der IPFW-RegelnDie Regeln setzen Sie wie folgt zurück:
ipfwflushDamit werden alle Regeln der Regelkette, mit Ausnahme der
Vorgaberegel 65535 gelöscht. Seien Sie
vorsichtig, wenn Sie die Regeln zurücksetzen. Die Vorgabe
für die Regel 65535 ist es, alle Pakete
zu blockieren, das heißt, das System ist solange vom
Netzwerk abgeschnitten, bis wieder neue Regeln in die Kette
eingefügt werden.
-
+
Zurücksetzen der PaketzählerUm einen oder mehrere Paketzähler zurückzusetzen,
verwenden Sie folgende Syntax:
ipfwzeroindexWenn Sie das Argument index nicht
angeben, werden alle Paketzähler zurückgesetzt. Wenn
Sie das Argument angeben, wird nur der Zähler der
angegebenen Regel zurückgesetzt.Beispiel für ipfw
Kommandozeilen
-
+
Das folgende Kommando blockiert alle Pakete, die von dem Host
evil.crackers.org auf den Telnet-Port
von nice.people.org gehen:
-
+
&prompt.root; ipfw add deny tcp from evil.crackers.org to nice.people.org 23
-
+
Das nächste Beispiel verbietet jeden IP-Verkehr von dem
ganzen crackers.org Klasse C
Netzwerk zu der Maschine nice.people.org:
-
+
&prompt.root; ipfw add deny log tcp from evil.crackers.org/24 to nice.people.org
-
+
Wenn Sie X-Sitzungen zu Ihrem internen Netzwerk, einem Subnetz
eines C Klasse Netzwerkes, verbieten wollen, wenden Sie das
folgende Kommando an:
-
+
&prompt.root; ipfw add deny tcp from any to my.org/28 6000 setup
-
+
Um die Accounting Einträge zu sehen:
-
+
&prompt.root; ipfw -a list
oder kürzer
-
+
&prompt.root; ipfw -a lDen Zeitpunkt, an dem eine Regel das letzte Mal aktiviert
wurde, sehen Sie mit:
-
+
&prompt.root; ipfw -at l
-
+
Aufbau einer Firewall mit Paketfiltern
-
+
Beachten Sie bitte, dass die folgenden Vorschläge
wirklich nur Vorschläge sind. Die Anforderungen jeder
Firewall sind verschieden und wir können Ihnen wirklich
nicht sagen, wie Sie Ihre maßgeschneiderte Firewall einrichten
müssen.
-
+
Wenn Sie Ihre Firewall außerhalb eines kontrollierten
Testumfelds aufbauen, empfehlen wir Ihnen dringend, das Loggen der
Regeln im Kernel zu aktivieren und Regeln zu verwenden, die loggen.
Das macht es Ihnen leichter, Fehler zu finden und diese ohne
große Unterbrechungen zu beheben. Auch nachdem Sie die
Firewall aufgesetzt haben, empfehlen wir Ihnen, die `deny'-Regeln
zu loggen. Dies macht es leichter, Angriffen nachzugehen und das
Regelwerk Ihrer Firewall zu ändern, wenn sich die Anforderungen
einmal ändern.
-
+
Wenn Sie Pakete der accept-Regel loggen,
denken Sie bitte daran, dass Sie leicht sehr
große Datenmengen erzeugen können, da jedes
durchgelassene Paket einen Eintrag im Log generiert. Es kann
vorkommen, das große FTP oder HTTP Übertragungen das
System langsamer machen. Weiterhin wird für jedes der
betroffenen Pakete die Latenzzeit erhöht, da von Seiten des
Kernels mehr Arbeit zum Weiterleiten des Paketes erforderlich ist.
Da alle Daten auf die Platte ausgeschrieben werden wird
syslogd auch mehr Prozessorzeit
beanspruchen und es kann leicht passieren, dass die
Partition, die /var/log enthält voll
läuft.
-
+
Sie sollten Ihre Firewall aus
/etc/rc.conf.local oder
/etc/rc.conf aktivieren. Die entsprechende
Manualpage zeigt Ihnen, welche Einstellungen Sie vornehmen
müssen und zeigt einige vorgegebene Firewall-Konfigurationen.
Wenn Sie keine der Vorgaben verwenden, können Sie Ihre
Regelkette mit ipfw list in eine Datei ausgeben
und diese Datei in /etc/rc.conf angeben. Wenn
sie weder /etc/rc.conf.local oder
/etc/rc.conf benutzen, um Ihre Firewall zu
aktivieren, stellen Sie bitte sicher, dass die Firewall
aktiviert ist, bevor die IP-Interfaces konfiguriert werden.
-
+
Als nächstes müssen Sie festlegen, was Ihre Firewall
machen soll. Das wird sehr stark davon abhängen welche
Zugriffe Sie von außen auf Ihr Netzwerk erlauben wollen und
welche Zugriffe von innen nach außen erlaubt sein sollen.
Einige gebräuchliche Regeln sind:
-
+
Blockieren Sie jeden einkommenden Zugriff auf Ports unter
1024 für TCP. Dort befinden sich die meisten der
sicherheitsrelevanten Dienste wie finger, SMTP (Post) und
telnet.Blockieren Sie jeden einkommenden
UDP-Verkehr. Es gibt wenige nützliche UDP-Dienste und
die, die nützlich sind, stellen meist eine Bedrohung der
Sicherheit dar (z.B. die RPC- und NFS-Protokolle von Sun).
Dies bringt allerdings auch Nachteile mit sich. Da UDP ein
verbindungsloses Protokoll ist, verbieten Sie auch die
Antworten auf ausgehende UDP-Pakete, wenn Sie eingehende
UDP-Verbindungen blockieren. Dies kann zum Beispiel Probleme
für Anwender des internen Netzwerks hervorrufen, wenn
diese einen externen Archie-Server (prospero) verwenden. Wenn
Sie den Zugriff auf Archie erlauben wollen, müssen Sie
Pakete von den Ports 191 und 1525 zu jedem internen UDP-Port
durch Ihre Firewall lassen. Ein anderer Dienst, den Sie
vielleicht erlauben wollen, ist ntp,
der vom Port 123 ausgeht.
-
+
Verbieten Sie Verkehr von außen zum Port 6000. Der
Port 6000 wird für den Zugriff auf X-Server genutzt und
kann eine Bedrohung der Sicherheit darstellen, insbesondere
wenn die Anwender gewohnt sind xhost + zu
benutzen. Tatsächlich kann X einen Bereich von Ports
verwenden, der bei 6000 anfängt. Die Obergrenze ist durch
die Anzahl der Displays, die auf einer Maschine laufen, gegeben.
Laut RFC 1700 (Assigned Numbers) hat der höchst
mögliche Port die Nummer 6063.
-
+
Überprüfen Sie, welche Ports von internen Servern
(z.B. SQL-Servern) benutzt werden. Da diese normalerweise aus
dem oben angesprochenen Bereich von 1-1024 fallen, ist es
wahrscheinlich gut, diese Ports ebenfalls zu blockieren.
-
+
Eine Checkliste zum Aufbau einer Firewall ist vom CERT unter
http://www.cert.org/tech_tips/packet_filtering.html
erhältlich.
-
+
Wie oben schon gesagt, können wir Ihnen nur
Richtlinien geben. Sie müssen selbst
entscheiden, welche Regeln Sie auf Ihrer Firewall einsetzen wollen.
Wir übernehmen keine Verantwortung
dafür, dass jemand in Ihr Netzwerk eindringt, auch wenn
Sie die obigen Ratschläge befolgt haben.IPFW Overhead und OptimierungenViele Leute wollen wissen, wie viel zusätzliche Last IPFW
auf einem System erzeugt. Hauptsächlich hängt dies von
der Art der Regelkette und der Geschwindigkeit des Prozessors ab.
Für die meisten Anwendungen mit einer kleinen Regelkette auf
einem Ethernet ist der Aufwand vernachlässigbar klein. Wenn
Sie genaue Zahlen brauchen, lesen Sie bitte weiter.
- Die folgenden Messungen wurden auf einem 486-66 mit
+ Die folgenden Messungen wurden auf einem 486-66 mit
2.2.5-STABLE durchgeführt. Obwohl sich IPFW in
späteren FreeBSD Versionen leicht geändert hat, läuft
es doch mit vergleichbarer Geschwindigkeit. Zur Durchführung
der Messungen wurde in IPFW die verbrauchte Zeit in der Routine
ip_fw_chk gemessen. Die Ergebnisse wurden alle
1000 Pakete auf der Konsole ausgegeben.Zwei Regelsätze mit je 1000 Regeln wurden getestet. Der
erste Regelsatz sollte den schlimmsten Fall durch wiederholte
Anwendung der folgenden Regel demonstrieren:&prompt.root; ipfw add deny tcp from any to any 55555Da ein Großteil der Routine, die die Pakete
überprüft, durchlaufen werden muss, bevor
entschieden werden kann, ob das Paket wegen der Portnummer nicht
auf die Regel passt, wird mit dieser Regel der schlimmste Fall gut
simuliert. Nach 999 Wiederholungen dieser Regel folgte die Regel
allow ip from any to any.Der zweite Regelsatz wurde so entworfen, dass die
Überprüfung der Regel schnell abgeschlossen werden
kann:&prompt.root; ipfw add deny ip from 1.2.3.4 to 1.2.3.4Die Regel kann aufgrund einer nicht passenden IP-Adresse sehr
schnell verlassen werden. Nach 999 Wiederholungen dieser Regel
folgte wie im ersten Fall die Regel allow ip from any to
any.Im ersten Fall betrug der zusätzliche Aufwand 2,703 ms pro
Paket also ungefähr 2,7 µs pro Regel. Damit könnten
maximal ungefähr 370 Pakete pro Sekunde verarbeitet werden.
Mit einem 10 Mbps Ethernet und Paketen, die ungefähr 1500
Bytes groß sind, entspricht dies einer Ausnutzung von 55% der zur
Verfügung stehenden Bandbreite.Im letzten Fall wurde jedes Paket in 1,172 ms abgearbeitet, was
ungefähr 1,2 µs pro Regel entspricht. In diesem Fall
könnten maximal 853 Pakete pro Sekunde verarbeitet werden, was
die Bandbreite eines 10 Mbps Ethernet vollständig
ausnutzt.Die große Anzahl und die Beschaffenheit der Regeln in den
Beispielen entsprechen nicht der Wirklichkeit. Die Regeln dienten
nur der Messung der Geschwindigkeit. Wenn Sie eine effiziente
Regelkette aufbauen wollen, sollten Sie die folgenden
Ratschläge berücksichtigen:Setzen Sie eine established Regel so
früh wie möglich in die Regelkette, um den
Großteil des TCP Verkehrs abzudecken. Vor dieser Regel
sollten Sie keine allow tcp Regeln stehen
haben.Plazieren Sie häufig benutzte Regeln vor selten
benutzten Regeln, ohne dabei den Sinn der Regelkette zu
ändern. Welche Regeln häufig durchlaufen werden,
können Sie den Paketzählern mit ipfw
-a l entnehmen.OpenSSLsecurityOpenSSLOpenSSLDas OpenSSL-Toolkit ist seit FreeBSD 4.0 Teil des Basissystems.
OpenSSL stellt eine
universale Kryptographie Bibliothek sowie die Protokolle Secure
Sockets Layer v2/v3 (SSLv2/SSLv3) und Transport Layer Security v1
(TLSv1) zur Verfügung.Einer der Algorithmen, namentlich IDEA, in OpenSSL ist durch
Patente in den USA und anderswo geschützt und daher nicht frei
verfügbar. IDEA ist Teil des Quellcodes von OpenSSL wird aber
in der Voreinstellung nicht kompiliert. Wenn Sie den Algorithmus
benutzen wollen und die Lizenzbedingungen erfüllen, können
Sie MAKE_IDEA in
/etc/make.conf aktivieren und das System mit
make world neu bauen.Der RSA-Algorithmus ist heute in den USA und anderen Ländern
frei verfügbar. Früher wurde er ebenfalls durch ein Patent
geschützt.OpenSSLInstallationInstallation des Quellcodes
-
+
OpenSSL ist Teil der src-crypto und
src-secure CVSup-Kollektionen. Mehr Informationen
über die Erhältlichkeit und das Aktualisieren des FreeBSD
Quellcodes erhalten Sie im Abschnitt
Bezugsquellen für FreeBSD.YoshinobuInoueBeigetragen von IPsecIPsecSicherheitIPsecAbschließende ZeichenAm Ende der Beispiele in diesem und anderen Abschnitten werden
Sie oft ein ^D sehen. Das bedeutet, dass Sie
die Control-Taste zusammen mit der Taste
D drücken sollen. Eine weiterere häufig
genutzte Kombination ist ^C. Hier drücken Sie
die Taste Control zusammen mit der
C-Taste.HOWTOs, die die Implementierung von IPsec in FreeBSD
beschreiben, finden Sie unter
und .IPsec stellt eine sichere Kommunikation auf IP- und Socket-Ebene
zur Verfügung. Der folgende Abschnitt zeigt wie Sie IPsec
benutzen. Weitere Einzelheiten können Sie dem
FreeBSD Developers' Handbook entnehmen.Die aktuelle Version von IPsec unterstützt den
Transport-Modus sowie den Tunnel-Modus, wobei der Tunnel-Modus einige
Beschränkungen besitzt. Unter http://www.kame.net/newsletter/
finden Sie weitere Beispiele.Um IPsec benutzen zu können, müssen Sie folgende
Optionen in Ihren Kernel kompiliert haben:options IPSEC #IP security
options IPSEC_ESP #IP security (crypto; define w/IPSEC)Transport-Modus mit IPv4Um zwischen zwei Rechnern, im folgenden Beispiel HOST A
(10.2.3.4) und HOST B
(10.6.7.8) sicher zu kommunizieren,
müssen wir zuerst eine
Sicherheitsassoziation einrichten. Das
folgende Beispiel benutzt den alten AH (Authentication Header)
von HOST A zu HOST B. Für die Kommunikation von HOST B
zu HOST A wird der neue AH mit dem neuen ESP (Encapsulating
Security Payload) kombiniert.Zu den Verfahren AH, neuer AH,
ESP und neuem ESP müssen nun
Algorithmen ausgewählt werden. Die zur Verfügung
stehenden Algorithmen werden in &man.setkey.8; erläutert. Wir
entschieden uns für die Kombinationen MD5 für AH,
new-HMAC-SHA1 für neuen AH und new-DES-expIV mit 8 Byte IV
für den neuen ESP.Die Schlüssellänge hängt stark vom
gewählten Algorithmus ab. Für MD5 beträgt sie 16
Bytes, für new-HMAC-SHA1 20 Bytes und 8 Bytes für
new-DES-expIV. Wie wählten jeweils die Schlüssel
MYSECRETMYSECRET,
KAMEKAMEKAMEKAMEKAME und PASSWORD.Als nächstes müssen wir jedem Protokoll einen SPI
(Security Parameter Index) zuweisen. Beachten Sie bitte, dass
wir drei SPIs benötigen, da drei Header erzeugt werden (einer
für die Kommunikation von HOST A zu HOST B und zwei für
die Kommunikation von HOST B zu HOST A). Beachten Sie weiterhin,
dass die SPIs größer oder gleich 256 sein
müssen. Im folgenden Beispiel haben wir uns für 1000,
2000 und 3000 entschieden.
(1)
HOST A ------> HOST B
(1)PROTO=AH
ALG=MD5(RFC1826)
KEY=MYSECRETMYSECRET
SPI=1000
(2.1)
HOST A <------ HOST B
<------
(2.2)
(2.1)
PROTO=AH
ALG=new-HMAC-SHA1(new AH)
KEY=KAMEKAMEKAMEKAMEKAME
SPI=2000
(2.2)
PROTO=ESP
ALG=new-DES-expIV(new ESP)
IV length = 8
KEY=PASSWORD
SPI=3000
Um die Sicherheitsassoziation einzurichten, führen Sie
&man.setkey.8; auf HOST A und HOST B aus:&prompt.root; setkey -c
add 10.2.3.4 10.6.7.8 ah-old 1000 -m transport -A keyed-md5 "MYSECRETMYSECRET" ;
add 10.6.7.8 10.2.3.4 ah 2000 -m transport -A hmac-sha1 "KAMEKAMEKAMEKAMEKAME" ;
add 10.6.7.8 10.2.3.4 esp 3000 -m transport -E des-cbc "PASSWORD" ;
^DBevor Sie die Kommunikation mit IPsec benutzen können,
müssen Sie noch eine Sicherheits-Policy auf beiden Rechnern
einrichten:
Auf Host A:
&prompt.root; setkey -c
spdadd 10.2.3.4 10.6.7.8 any -P out ipsec
ah/transport/10.2.3.4-10.6.7.8/require ;
^D
Auf Host B:
&prompt.root; setkey -c
spdadd 10.6.7.8 10.2.3.4 any -P out ipsec
esp/transport/10.6.7.8-10.2.3.4/require ;
spdadd 10.6.7.8 10.2.3.4 any -P out ipsec
ah/transport/10.6.7.8-10.2.3.4/require ;
^D
HOST A --------------------------------------> HOST E
10.2.3.4 10.6.7.8
| |
========== old AH keyed-md5 ==========>
<========= new AH hmac-sha1 ===========
<========= new ESP des-cbc ============
Transport-Modus mit IPv6Das folgende Beispiel zeigt die Nutzung von IPsec mit
IPv6.Das folgende Beispiel richtet den ESP Transport-Modus für
TCP Verbindungen zwischen HOST B Port 110 und HOST A ein.
============ ESP ============
| |
Host-A Host-B
fec0::10 -------------------- fec0::11
Der Algorithmus zum Verschlüsseln ist blowfish-cbc, der
zugehörige Schlüssel ist kamekame.
Für die Authentifizierung wird hmac-sha1 mit dem
Schlüssel this is the test key verwendet. Auf
HOST A geben Sie die folgenden Befehle ein:
&prompt.root; setkey -c <<EOF
spdadd fec0::10[any] fec0::11[110] tcp -P out ipsec
esp/transport/fec0::10-fec0::11/use ;
spdadd fec0::11[110] fec0::10[any] tcp -P in ipsec
esp/transport/fec0::11-fec0::10/use ;
add fec0::10 fec0::11 esp 0x10001
-m transport
-E blowfish-cbc "kamekame"
-A hmac-sha1 "this is the test key" ;
add fec0::11 fec0::10 esp 0x10002
-m transport
-E blowfish-cbc "kamekame"
-A hmac-sha1 "this is the test key" ;
EOFEntsprechend auf HOST B:&prompt.root; setkey -c <<EOF
spdadd fec0::11[110] fec0::10[any] tcp -P out ipsec
esp/transport/fec0::11-fec0::10/use ;
spdadd fec0::10[any] fec0::11[110] tcp -P in ipsec
esp/transport/fec0::10-fec0::11/use ;
add fec0::10 fec0::11 esp 0x10001 -m transport
-E blowfish-cbc "kamekame"
-A hmac-sha1 "this is the test key" ;
add fec0::11 fec0::10 esp 0x10002 -m transport
-E blowfish-cbc "kamekame"
-A hmac-sha1 "this is the test key" ;
EOFBeachten Sie bitte die Richtung der erstellen Security
Policy.Tunnel-Modus mit IPv4Das folgende Beispiel baut einen Tunnel zwischen zwei Gateways
auf.Als Protokoll wird der alte AH Tunnel-Modus (RFC 1826)
verwendet. Zur Authentifizierung wird keyed-md5 mit dem
Schlüssel this is the test verwendet.
======= AH =======
| |
Network-A Gateway-A Gateway-B Network-B
10.0.1.0/24 ---- 172.16.0.1 ----- 172.16.0.2 ---- 10.0.2.0/24
Der Gateway A wird wie folgt konfiguriert:
&prompt.root; setkey -c <<EOF
spdadd 10.0.1.0/24 10.0.2.0/24 any -P out ipsec
ah/tunnel/172.16.0.1-172.16.0.2/require ;
spdadd 10.0.2.0/24 10.0.1.0/24 any -P in ipsec
ah/tunnel/172.16.0.2-172.16.0.1/require ;
add 172.16.0.1 172.16.0.2 ah-old 0x10003 -m any
-A keyed-md5 "this is the test" ;
add 172.16.0.2 172.16.0.1 ah-old 0x10004 -m any
-A keyed-md5 "this is the test" ;
EOFWenn wie oben die Portnummer weggelassen wird, wird
[any] verwendet. Mit -m wird
der Modus der Sicherheitsassoziation angegeben.
-m any gilt für den Transport- sowie den
Tunnel-Modus.Auf Gateway B geben Sie Folgendes ein:
&prompt.root; setkey -c <<EOF
spdadd 10.0.2.0/24 10.0.1.0/24 any -P out ipsec
ah/tunnel/172.16.0.2-172.16.0.1/require ;
spdadd 10.0.1.0/24 10.0.2.0/24 any -P in ipsec
ah/tunnel/172.16.0.1-172.16.0.2/require ;
add 172.16.0.1 172.16.0.2 ah-old 0x10003 -m any
-A keyed-md5 "this is the test" ;
add 172.16.0.2 172.16.0.1 ah-old 0x10004 -m any
-A keyed-md5 "this is the test" ;
EOFTunnel-Modus mit IPv6Transport- und Tunnel-Modus zwischen zwei GatewaysZwischen Gateway A und Gateway B soll der AH Transport-Modus
und der ESP Tunnel-Modus eingerichtet werden. In diesem Fall wird
zuerst der ESP-Tunnel eingerichtet, danach folgt das Einrichten des
AH Transport-Modus.
========== AH =========
| ======= ESP ===== |
| | | |
Network-A Gateway-A Gateway-B Network-B
fec0:0:0:1::/64 --- fec0:0:0:1::1 ---- fec0:0:0:2::1 --- fec0:0:0:2::/64
Für ESP wird 3des-cbc zur Verschlüsselung und hmac-sha1
zur Authentifizierung verwendet. Bei AH wird zur Authentifizierung
hmac-md5 benutzt. Auf Gateway A sieht die Konfiguration wie folgt
aus:
&prompt.root; setkey -c <<EOF
spdadd fec0:0:0:1::/64 fec0:0:0:2::/64 any -P out ipsec
esp/tunnel/fec0:0:0:1::1-fec0:0:0:2::1/require
ah/transport/fec0:0:0:1::1-fec0:0:0:2::1/require ;
spdadd fec0:0:0:2::/64 fec0:0:0:1::/64 any -P in ipsec
esp/tunnel/fec0:0:0:2::1-fec0:0:0:1::1/require
ah/transport/fec0:0:0:2::1-fec0:0:0:1::1/require ;
add fec0:0:0:1::1 fec0:0:0:2::1 esp 0x10001 -m tunnel
-E 3des-cbc "kamekame12341234kame1234"
-A hmac-sha1 "this is the test key" ;
add fec0:0:0:1::1 fec0:0:0:2::1 ah 0x10001 -m transport
-A hmac-md5 "this is the test" ;
add fec0:0:0:2::1 fec0:0:0:1::1 esp 0x10001 -m tunnel
-E 3des-cbc "kamekame12341234kame1234"
-A hmac-sha1 "this is the test key" ;
add fec0:0:0:2::1 fec0:0:0:1::1 ah 0x10001 -m transport
-A hmac-md5 "this is the test" ;
EOFIm Folgenden werden zwei Sicherheitsassoziationen mit
unterschiedlichen Endpunkten erstellt.Zwischen Host A und Gateway A soll ein ESP-Tunnel eingerichtet
werden. Zur Verschlüsselung wird cast128-cbc und zur
Authentifizierung wird hmac-sha1 verwendet. Zusätzlich wird
zwischen Host A und Host B der ESP Transport-Modus eingerichtet.
Zur Verschlüsselung wird rc5-cbc verwendet. Die
Authentifizierung verwendet hmac-md5.
================== ESP =================
| ======= ESP ======= |
| | | |
Host-A Gateway-A Host-B
fec0:0:0:1::1 ---- fec0:0:0:2::1 ---- fec0:0:0:2::2
Host A wird wie folgt konfiguriert:
&prompt.root; setkey -c <<EOF
spdadd fec0:0:0:1::1[any] fec0:0:0:2::2[80] tcp -P out ipsec
esp/transport/fec0:0:0:1::1-fec0:0:0:2::2/use
esp/tunnel/fec0:0:0:1::1-fec0:0:0:2::1/require ;
spdadd fec0:0:0:2::1[80] fec0:0:0:1::1[any] tcp -P in ipsec
esp/transport/fec0:0:0:2::2-fec0:0:0:l::1/use
esp/tunnel/fec0:0:0:2::1-fec0:0:0:1::1/require ;
add fec0:0:0:1::1 fec0:0:0:2::2 esp 0x10001
-m transport
-E cast128-cbc "12341234"
-A hmac-sha1 "this is the test key" ;
add fec0:0:0:1::1 fec0:0:0:2::1 esp 0x10002
-E rc5-cbc "kamekame"
-A hmac-md5 "this is the test" ;
add fec0:0:0:2::2 fec0:0:0:1::1 esp 0x10003
-m transport
-E cast128-cbc "12341234"
-A hmac-sha1 "this is the test key" ;
add fec0:0:0:2::1 fec0:0:0:1::1 esp 0x10004
-E rc5-cbc "kamekame"
-A hmac-md5 "this is the test" ;
EOFChernLeeBeigetragen von OpenSSHOpenSSHSicherheitOpenSSHSecure Shell stellt Werkzeuge bereit, um sicher auf entfernte
Maschinen zuzugreifen. Die Kommandos rlogin,
rsh, rcp und
telnet können durch ssh ersetzt werden.
Zusätzlich können andere TCP/IP-Verbindungen sicher durch
ssh weitergeleitet (getunnelt) werden. Mit ssh werden alle
Verbindungen verschlüsselt, dadurch wird verhindert, dass
die Verbindung zum Beispiel abgehört oder übernommen
(Hijacking) werden kann.OpenSSH wird vom OpenBSD Projekt gepflegt und basiert auf
SSH v1.2.12 mit allen aktuellen Fixen und Aktualisierungen. OpenSSH
ist mit den SSH Protokollen der Versionen 1 und 2 kompatibel. Seit
FreeBSD 4.0 ist die OpenSSH Teil des Basissystems.Vorteile von OpenSSH
-
+
Mit &man.telnet.1; oder &man.rlogin.1; werden Daten in einer
unverschlüsselten Form über das Netzwerk gesendet. Daher
besteht die Gefahr, das Benutzer/Passwort Kombinationen
oder alle Daten an
beliebiger Stelle zwischen dem Client und dem Server abgehört
werden. Mit OpenSSH stehen eine Reihe von Authentifizierungs- und
Verschlüsselungsmethoden zur Verfügung, um das zu
verhindern.Aktivieren von sshdOpenSSHAktivierenStellen Sie sicher, dass /etc/rc.conf
- die folgende Zeile enthält:
+ die folgende Zeile enthält:
sshd_enable="YES"Der ssh Dæmon wird damit bei
dem nächsten Neustart des Systems geladen. Alternativ
können Sie den Dæmon auch händisch starten.SSH ClientOpenSSHClient&man.ssh.1; arbeitet ähnlich wie &man.rlogin.1;:&prompt.root; ssh user@example.com
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? yes
Host 'example.com' added to the list of known hosts.
user@example.com's password: *******Der Anmeldevorgang wird danach, wie von
rlogin oder telnet gewohnt,
weiterlaufen. SSH speichert einen Fingerabdruck des
Serverschlüssels. Die Aufforderung, yes
einzugeben, erscheint nur bei der ersten Verbindung zu einem
Server. Weitere Verbindungen zu dem Server werden gegen den
gespeicherten Fingerabdruck des Schlüssels geprüft und
der Client gibt eine Warnung aus, wenn sich der empfangene
Fingerabdruck von dem gespeicherten unterscheidet. Die
Fingerabdrücke der Version 1 werden in
~/.ssh/known_hosts, die der Version 2 in
~/.ssh/known_hosts2 gespeichert.In der Voreinstellung akzeptieren OpenSSH Server Verbindungen
mit SSH v1 und SSH v2. Die Clients können sich aber das
Protokoll auswählen, dabei wird das Protokoll der Version 2
als robuster und sicherer als die Vorgängerversion
angesehen.Mit den Optionen oder
kann die Protokollversion, die ssh verwendet,
erzwungen werden.
-
+
Secure CopyOpenSSHsecure copyscpMit scp lassen sich Dateien analog wie mit
rcp auf entfernte Maschinen kopieren. Mit
scp werden die Dateien allerdings in einer
sicheren Weise übertragen.&prompt.root; scp user@example.com:/COPYRIGHT COPYRIGHT
-user@example.com's password:
-COPYRIGHT 100% |*****************************| 4735
-00:00
+user@example.com's password:
+COPYRIGHT 100% |*****************************| 4735
+00:00
&prompt.root;Da der Fingerabdruck schon im vorigen Beispiel abgespeichert
wurde, wird er bei der Verwendung von scp in
diesem Beispiel überprüft. Da die Fingerabdrücke
übereinstimmen, wird keine Warnung ausgegeben.Die Argumente, die scp übergeben
werden, gleichen denen von cp in der Beziehung,
dass die ersten Argumente die zu kopierenden Dateien sind und
das letzte Argument den Bestimmungsort angibt. Da die Dateien
über das Netzwerk kopiert werden, können ein oder mehrere
Argumente die Form
besitzen.KonfigurationOpenSSHKonfigurationDie für das ganze System gültigen
Konfigurationsdateien des OpenSSH Dæmons und des Clients
finden sich in dem Verzeichnis
/etc/ssh.Die Client-Konfiguration befindet sich in
ssh_config, die des Servers befindet sich in
sshd_config.Das SSH-System lässt sich weiterhin über die
Anweisungen (Vorgabe ist
/usr/sbin/sshd) und
in /etc/rc.conf
konfigurieren.ssh-keygenMit &man.ssh-keygen.1; können RSA-Schlüssel für
einen Benutzer erzeugt werden, die anstelle von
Passwörtern verwendet werden können.&prompt.user; ssh-keygen
Initializing random number generator...
Generating p: .++ (distance 66)
Generating q: ..............................++ (distance 498)
Computing the keys...
Key generation complete.
Enter file in which to save the key (/home/user/.ssh/identity):
Enter passphrase:
Enter the same passphrase again:
Your identification has been saved in /home/user/.ssh/identity.
...&man.ssh-keygen.1; erzeugt einen öffentlichen und einen
privaten Schlüssel für die Authentifizierung. Der private
Schlüssel wird in ~/.ssh/identity, der
öffentliche Schlüssel in
~/.ssh/identity.pub gespeichert. Damit die
RSA-Schlüssel zur Authentifizierung verwendet werden
können, muss der öffentliche Schlüssel in der
Datei ~/.ssh/authorized_keys auf der
entfernten Maschine abgelegt werden.Damit werden Verbindungen zu der entfernten Maschine über
den RSA-Mechanismus anstelle von Passwörtern
authentifiziert.Wenn bei der Erstellung der Schlüssel mit
&man.ssh-keygen.1; ein Passwort angegeben wurde, wird der
Benutzer bei jeder Anmeldung zur Eingabe des Passworts
aufgefordert.Zum gleichen Zweck kann ein DSA-Schlüssel zur Verwendung
mit SSH v2 erstellt werden. Dazu rufen Sie das Kommando
ssh-keygen -d oder ssh-keygen -t
dsa mit FreeBSD &os.current; auf. Sie erzeugen damit ein
DSA-Schlüsselpaar, das nur in SSH v2 Verbindungen genutzt
wird. Der öffentliche Schlüssel wird in
~/.ssh/id_dsa.pub, der private Schlüssel
in ~/.ssh/id_dsa gespeichert.Die öffentlichen DSA-Schlüssel werden in
~/.ssh/authorized_keys2 auf der entfernten
Maschine abgelegt.Mit &man.ssh-agent.1; und &man.ssh-add.1; können Sie
mehrere durch Passwörter geschützte private
Schlüssel verwalten.SSH TunnelOpenSSHTunnelMit OpenSSH ist es möglich, einen Tunnel zu erstellen, in
dem ein anderes Protokoll verschlüsselt übertragen
wird.Das folgende Kommando erzeugt einen Tunnel für
telnet:&prompt.user; ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
&prompt.user;Dabei wurden die folgenden Optionen von ssh
verwendet:
-
+
Erzwingt die Version 2 des Protokolls (Benutzen Sie die
Option nicht mit langsamen
ssh-Servern).Zeigt an, dass ein Tunnel erstellt werden soll.
Ohne diese Option würde ssh eine
normale Sitzung öffnen.Zwingt ssh im Hintergrund zu
laufen.Ein lokaler Tunnel wird in der Form
localport:remotehost:remoteport
angegeben. Die Verbindung wird dabei von dem lokalen Port
localport auf einen entfernten
Rechner weitergeleitet.Gibt den entfernten SSH server an.Ein SSH-Tunnel erzeugt ein Socket auf
localhost und dem angegebenen Port. Jede
Verbindung, die auf dem angegebenen Socket aufgemacht wird, wird
dann auf den spezifizierten entfernten Rechner und Port
weitergeleitet.Im Beispiel wird der Port 5023 auf
die entfernte Maschine und dort auf localhost
Port 23 weitergeleitet. Da der Port
23 für Telnet reserviert ist,
erzeugt das eine sichere Telnet Verbindung durch einen
SSH-Tunnel.Diese Vorgehensweise kann genutzt werden, um jedes unsichere
TCP-Protokoll wie SMTP, POP3, FTP, usw. weiterzuleiten.Mit SSH einen sicheren Tunnel für SMTP erstellen&prompt.user; ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com
user@mailserver.example.com's password: *****
&prompt.user; telnet localhost 5025
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
-220 mailserver.example.com ESMTP
+220 mailserver.example.com ESMTP
Zusammen mit &man.ssh-keygen.1; und zusätzlichen
Benutzer-Accounts können Sie leicht benutzbare SSH-Tunnel
aufbauen. Anstelle von Passwörtern können Sie
Schlüssel benutzen und jeder Tunnel kann unter einem eigenen
Benutzer laufen.Beispiel für SSH-TunnelSicherer Zugriff auf einen POP3-ServerNehmen wir an, an Ihrer Arbeitsstelle gibt es einen
SSH-Server, der Verbindungen von außen akzeptiert. Auf
dem Netzwerk Ihrer Arbeitsstelle soll sich zudem noch ein
Mail-Server befinden, der POP3 spricht. Das Netzwerk oder die
Verbindung von Ihrem Haus zu Ihrer Arbeitsstelle ist unsicher
und daher müssen Sie Ihre E-Mail über eine gesicherte
Verbindung abholen können. Die Lösung zu diesem
Problem besteht darin, eine SSH-Verbindung von Ihrem Haus zu
dem SSH-Server an Ihrer Arbeitsstelle aufzubauen, und von dort
weiter zum Mail-Server zu tunneln.&prompt.user; ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com
user@ssh-server.example.com's password: ******Wenn Sie den Tunnel eingerichtet haben, konfigurieren Sie
Ihren Mail-Client so, dass er POP3 Anfragen zu
localhost Port 2110 sendet. Die Verbindung
wird dann sicher zu mail.example.com
weitergeleitet.Umgehen einer strengen FirewallEinige Netzwerkadministratoren stellen sehr drakonische
Firewall-Regeln auf, die nicht nur einkommende Verbindungen
filtern, sondern auch ausgehende. Es kann sein, dass Sie
externe Maschinen nur über die Ports 22 und 80 (SSH und
Web) erreichen.Sie wollen auf einen Dienst, der vielleicht nichts mit
Ihrer Arbeit zu tun hat, wie einen Ogg Vorbis Musik-Server,
zugreifen. Wenn der Ogg Vorbis Server nicht auf den Ports 22
oder 80 läuft, können Sie aber nicht auf ihn
zugreifen.Die Lösung hier ist es, eine SSH-Verbindung zu einer
Maschine außerhalb der Firewall aufzumachen und durch
diese zum Ogg Vorbis Server zu tunneln.&prompt.user; ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled.myserver.com
user@unfirewalled.myserver.com's password: *******Konfigurieren Sie Ihren Client so, dass er
localhost und Port 8888 benutzt. Die Verbindung
wird dann zu music.example.com Port 8000
weitergeleitet und Sie haben die Firewall erfolgreich
umgangen.Weiterführende Informationen:OpenSSH
- &man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
+ &man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
&man.ssh-agent.1; &man.ssh-add.1;&man.sshd.8; &man.sftp-server.8;RobertWatsonGefördert von DARPA und Network Associates Laboratories.
Beigetragen von MACVorgeschriebene Zugriffskontrolle (MAC)In FreeBSD 5.0 wurde ein neues kernelbasiertes
Sicherheitssystem eingeführt: das TrustedBSD-MAC-Framework.
Das MAC-Framework erlaubt die Erweiterung der Zugriffskontrollen des
Kernels beim Übersetzen, beim Systemstart und zur Laufzeit.
Damit lassen sich Module laden, die vorgeschriebene Zugriffskontrollen
(Mandatory Access Control,
MAC) bereitstellen, oder angepasste Module laden,
die zur Systemhärtung eingesetzt werden können. Das
MAC-Framework befindet sich noch im Teststadium und sollte daher
erst nach sorgfältigen Überlegungen auf produktiven Systemen
eingesetzt werden. Voraussichtlich wird das MAC-Framework ab
FreeBSD 5.2 produktionsreif sein.Wenn das MAC-Framework im Kernel aktiviert ist, können
Sicherheitsmodule die Zugriffskontrollen des Kernels erweitern und
damit Zugriffe auf Systemdienste oder Systemobjekte
einschränken. Beispielsweise erweitert das
&man.mac.bsdextended.4;-Modul die Zugriffskontrollen
auf Dateisysteme und erlaubt es, Regelsätze, wie sie analog
in Firewalls verwendet werden, aufzustellen, die Zugriffe auf
Dateisystemobjekte anhand der Benutzer-ID und der Zugehörigkeit
zu Gruppen regeln. Einige Module, wie das
&man.mac.seeotheruids.4;-Modul, müssen gar nicht
oder nur minimal konfiguriert werden, andere Module, wie das
&man.mac.biba.4;-Modul oder das
&man.mac.mls.4;-Modul, sind aufwändig zu
konfigurieren, da sie Objekte systemweit kennzeichnen.Fügen Sie die nachstehende Zeile der Kernelkonfiguration
hinzu, um das MAC-Framework zu aktivieren:options MACDie Sicherheitsmodule des Basissystems können Sie mit
&man.kldload.8; oder während des Systemstarts mit &man.loader.8;
laden oder mit den nachstehenden Optionen fest in den Kernel
einbinden.Die Zugriffsrichtlinien (policy)
der Module werden unterschiedlich konfiguriert. Oft lässt sich
ein Modul über den Namensraum security.mac
der &man.sysctl.8;-MIB konfigurieren. Richtlinien,
die vom Dateisystem oder bestimmten Kennzeichen abhängen,
erfordern vielleicht eine initiale Konfiguration, in der
Systemobjekten Kennzeichen zugeordnet werden müssen oder eine
Konfigurationsdatei für die Richtlinie erstellt werden muss.
Die erforderlichen Schritte werden in den Hilfeseiten des
betreffenden Moduls beschrieben.Zur Konfiguration des MAC-Frameworks und der Kennzeichen, die von
verschiedenen Richtlinien verwendet werden, stehen eine Reihe von
Werkzeugen zur Verfügung. Das Anmeldeverfahren und die
Verwaltung von Berechtigungsnachweisen (&man.setusercontext.3;)
wurden erweitert, so dass Kennzeichen für Benutzerkonten mit
&man.login.conf.5; eingerichtet werden können. Um Kennzeichen
auf Prozessen, Dateien und Adaptern lesen und schreiben zu
können, wurden &man.su.1;, &man.ps.1;, &man.ls.1; und
&man.ifconfig.8; geändert. Zur Verwaltung der Kennzeichen
wurden neue Werkzeuge eingeführt, beispielsweise &man.getfmac.8;,
&man.setfmac.8; und &man.setfsmac.8; zur Verwaltung von
Dateikennzeichen oder &man.getpmac.8; und &man.setpmac.8;.Die folgende Aufstellung beschreibt alle mit FreeBSD 5.0
ausgelieferten Sicherheitsmodule.Biba-Richtlinie zur Sicherung der Integrität
(mac_biba)RichtlinieBiba-Richtlinie,
Biba Integrity PolicyHersteller: TrustedBSD ProjectModulname: mac_biba.koKerneloption: MAC_BIBADie Biba-Richtlinie (Biba Integrity
Policy, &man.mac.biba.4;) kennzeichnet die
Integrität aller Systemobjekte (die Kennzeichnung kann
hierarchisch oder nicht-hierarchisch erfolgen) und erzwingt
einen Informationsfluß, der verhindert, dass Objekte
mit hoher Integrität von Subjekten mit niedriger Integrität
verändert werden. Die Integrität der Objekte wird
dadurch sichergestellt, dass Subjekte mit hoher Integrität
(üblicherweise Prozesse) nicht lesend auf Objekte niedrigerer
Integrität (häufig Dateien) zugreifen dürfen
und Subjekte niedrigerer Integrität nicht schreibend auf
Objekte höherer Integrität zugreifen dürfen.
Diese Richtlinie dient häufig zum Schutz der
Trusted Code Base in
kommerziellen Sicherheitssystemen. Da die Biba-Richtlinie
systemweite Kennzeichen zur Verfügung stellt, muss Sie
fest in den Kernel integriert sein oder zum Zeitpunkt des
Systemstarts geladen werden.Dateisystem-Richtlinie (mac_bsdextended)RichtlinieDateisystem-Richtlinie,
File System Firewall PolicyHersteller: TrustedBSD ProjectModulname: mac_bsdextended.koKerneloption: MAC_BSDEXTENDEDDie Dateisystem-Richtlinie (File System Firewall
Policy, &man.mac.bsdextended.4;) erweitert
die Zugriffsrechte des BSD-Dateisystems. Ein Administrator kann
für Zugriffe auf Dateisystemobjekte anderer Benutzer
und Gruppen Regelsätze, analog den von Firewalls verwendeten,
definieren. Die Regelsätze, die mit &man.ugidfw.8; verwaltet
werden, beschränken den Zugriff auf Dateien und Verzeichnisse
aufgrund der UID und der GID des zugreifenden Prozesses sowie dem
Besitzer und der Gruppe des Objekts auf das zugegriffen werden
soll. Da alle Regeln die möglichen Zugriffe beschränken,
können sie in beliebiger Reihenfolge angelegt werden. Diese
Richtlinie erfordert keine gesonderte Konfiguration oder die
Vergabe von Kennzeichen und mag für Mehrbenutzer-Umgebungen
geeignet sein, in denen vorgeschriebene Zugriffskontrollen für
den Datenaustausch zwischen Benutzern erforderlich sind. Seien Sie
vorsichtig, wenn Sie die Zugriffe auf Dateien von
root oder anderen System-Accounts
einschränken. Viele nützliche Programme und
Verzeichnisse gehören diesen Benutzern und die falsche
Anwendung der Dateisystem-Richtlinie kann, wie ein falscher
Regelsatz einer Firewall, das System unbrauchbar machen. Mithilfe
der Bibliothek &man.libugidfw.3; können leicht neue Werkzeuge zur
Verwaltung der Regelsätze geschrieben werden.Interface-silencing-Richtlinie (mac_ifoff)RichtlinieInterface-silencing-Richtlinie,
Interface Silencing PolicyHersteller: TrustedBSD ProjectModulname: mac_ifoff.koKerneloption: MAC_IFOFFDie Interface-silencing-Richtlinie (&man.mac.ifoff.4;)
verhindert, das die Netzwerkkarte vom Systemstart an bis zu dem
Zeitpunkt, an dem sie explizit aktiviert wird, benutzt werden kann.
Damit verhindert die Richtlinie ungewollte Antworten auf
eingehende Pakete. Diese Richtlinie eignet sich für
Umgebungen, in denen der Netzverkehr passiv, das heißt ohne
eigene Pakete zu erzeugen, beobachtet werden soll.Low-Watermark Mandatory Access Control (mac_lomac)RichtlinieLow-Watermark Mandatory Access Control (LOMAC)LOMACHersteller: Network Associates LaboratoriesModulname: mac_lomac.koKerneloption: MAC_LOMACWie die Biba-Richtlinie kennzeichnet die LOMAC-Richtlinie
(&man.mac.lomac.4;) systemweit die Integrität aller Objekte.
Im Gegensatz zur Biba-Richtlinie können allerdings Subjekte
hoher Integrität lesend auf Objekte niedrigerer
Integrität zugreifen. In diesem Fall wird aber die
Integrität des lesenden Subjekts heruntergesetzt, damit dieses
nicht mehr schreibend auf Objekte mit hoher Integrität
zugreifen kann. Diese Richtlinie ist leichter als die
Biba-Richtlinie zu benutzen und zu konfigurieren. Da sie
allerdings systemweit die Objekte kennzeichnet, muss sie, wie die
Biba-Richtlinie, fest in den Kernel eingebunden sein oder beim
Systemstart geladen werden.Multi-Level-Security Richtlinie (mac_mls)RichtlinieMulti-Level-Security Richtlinie (MLS)MLSHersteller: TrustedBSD ProjectModulname: mac_mls.koKerneloption: MAC_MLSDie Multi-Level-Security Richtlinie (MLS,
&man.mac.mls.4;) stellt systemweit hierarchische und
nicht-hierarchische Kennzeichen zur Markierung der Vertraulichkeit
von Objekten zur Verfügung. Die Richtlinie stellt einen
Informationsfluß sicher, der garantiert, dass vertrauliche
Daten nicht unberechtigt weitergeleitet werden. Die MLS-Richtlinie
wird häufig zusammen mit der Biba-Richtlinie in sicheren
kommerziellen Mehrbenutzerumgebungen verwendet.
Mit hierarchischen Kennzeichen können Zugangsberechtigungen zu
Verschlusssachen (Einteilung in streng geheim,
geheim, usw.) abgebildet werden. Nicht-hierarchische
Kennzeichen dienen zur Verwirklichung des Prinzips Kenntnis
nur, wenn nötig (need to
know). Alle Systemobjekte müssen wie bei
der Biba-Richtlinie vorher gekennzeichnet werden, so dass die
Richtlinie fest in den Kernel eingebunden werden muss oder beim
Systemstart als Modul geladen werden muss. Der
Konfigurationsaufwand der MLS-Richtlinie kann analog zur
Biba-Richtlinie sehr hoch sein.Rumpf-Richtlinie (mac_none)RichtlinieRumpf-Richtlinie,
MAC Stub PolicyHersteller: TrustedBSD ProjectModulname: mac_none.koKerneloption: MAC_NONEDie Rumpf-Richtlinie (MAC Stub
Policy, &man.mac.none.4;) ist als Beispiel
für Entwickler gedacht. Sie stellt alle benötigten
Funktionen zur Verfügung, ohne die Zugriffsrechte im System zu
verändern. Auf einem Produktionssystem ist die Anwendung
dieser Richtlinie nicht sehr sinnvoll.Partitions-Richtlinie (mac_partition)RichtliniePartitions-Richtlinie,
Process Partition PolicyHersteller: TrustedBSD ProjectModulname: mac_partition.koKerneloption: MAC_PARTITIONDie Partitions-Richtlinie (Process Partition
Policy, &man.mac.partition.4;) schränkt
die Sichtbarkeit von Prozessen ein, indem Prozessen Partitionsnummern
zugewiesen werden. Besitzt ein Prozess keine Partitionsnummer,
so kann er alle Prozesse auf dem System sehen, besitzt er hingegen
eine Partitionsnummer, so kann er nur Prozesse in derselben
Partition sehen. Die Richtlinie kann
fest in den Kernel eingebunden werden, beim Systemstart oder zur
Laufzeit geladen werden.See Other Uids (mac_seeotheruids)Richtlinie
See Other UidsHersteller: TrustedBSD ProjectModulname: mac_seeotheruids.koKerneloption: MAC_SEEOTHERUIDSDie Richtlinie See Other Uids
(&man.mac.seeotheruids.4;) schränkt wie &man.mac.partition.4;
die Sichtbarkeit von Prozessen ein. Allerdings wird die
Sichtbarkeit anderer Prozesse von den Berechtigungen eines
Prozesses anstelle einer Partitionsnummer bestimmt. Die Richtlinie
kann so konfiguriert werden, dass sie für bestimmte Accounts
oder Gruppen nicht gilt, so dass beispielsweise Systemverwalter
alle Prozesse sehen können. Die Richtlinie kann
fest in den Kernel eingebunden werden, beim Systemstart oder zur
Laufzeit geladen werden.Test-Richtlinie (mac_test)RichtlinieTest-Richtlinie,
MAC Framework Test PolicyHersteller: TrustedBSD ProjectModulname: mac_test.koKerneloption: MAC_TESTDie Test-Richtlinie (MAC Framework Test
Policy, &man.mac.test.4;) stellt einen
Regressions-Test für das MAC-Framework bereit. Die Richtlinie
führt zu einem Systemstopp für den Fall, dass interne
Prüfungen auf korrekte Kennzeichen fehlschlagen. Sie kann
fest in den Kernel eingebunden werden, beim Systemstart oder zur
Laufzeit geladen werden.
-
diff --git a/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml b/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml
index 906dde438c..6f3611e6b3 100644
--- a/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml
@@ -1,2796 +1,2796 @@
MartinHeinenÜbersetzt von Serielle Datenübertragung
-
+
Übersichtserielle Datenübertragung&unix; Systeme unterstützten schon immer die serielle
Datenübertragung. Tatsächlich wurden Ein- und Ausgaben auf
den ersten &unix; Maschinen über serielle Leitungen
durchgeführt. Seit der Zeit, in der ein durchschnittlicher
Terminal aus einem seriellen Drucker mit
10 Zeichen/Sekunde und einer Tastatur bestand, hat sich viel
verändert. Dieses Kapitel behandelt einige Möglichkeiten,
serielle Datenübertragung unter FreeBSD zu verwenden.Nachdem Sie dieses Kapitel durchgearbeitet haben, werden
Sie Folgendes wissen:Wie Sie Terminals an Ihr FreeBSD anschließen.
Wie Sie sich mit einem Modem auf einem entfernten
Rechner einwählen.Wie Sie entfernten Benutzern erlauben, sich mit einem
Modem in Ihr System einzuwählen.Wie Sie Ihr System über eine serielle Konsole
booten.Bevor Sie dieses Kapitel lesen, sollten Sieeinen neuen Kernel konfigurieren und installieren
können ().Das Berechtigungskonzept von &unix; und Prozesse
verstehen ().Zudem sollten Sie Zugriff auf die Handbücher der
seriellen Komponenten (Modem oder Multiportkarte) haben, die Sie
mit FreeBSD verwenden wollen.Einführung
-
+
Begriffebits-per-secondbpsBits pro Sekunde – Einheit für die
Übertragungsgeschwindigkeit.
-
+
DEE (DTE)DEEDTEDatenendeinrichtung (Data Terminal Equipment) –
zum Beispiel Ihr Computer.
-
+
DÜE (DCE)DÜEDCEDatenübertragungseinrichtung (Data Communications
Equipment) – Ein Modem.
-
+
RS-232RS-232C KabelEIA (Electronic Industries Association) Norm für
die serielle Datenübertragung.In diesem Abschnitt wird der Begriff Baud nicht
für Übertragungsgeschwindigkeiten gebraucht. Baud
bezeichnet elektrische Zustandswechsel pro Zeiteinheit, die Taktrate,
während bps (Bits pro Sekunde) der
richtige Begriff für die
Übertragungsgeschwindigkeit ist (die meisten Pedanten sollten
damit zufrieden sein).Kabel und Schnittstellen
-
+
Um ein Modem oder einen Terminal an Ihr FreeBSD System
anzuschließen, muss Ihr Computer über eine serielle
Schnittstelle verfügen. Zusätzlich brauchen Sie noch das
passende Kabel, um das Gerät mit der Schnittstelle zu
verbinden. Wenn Sie mit Ihren Geräten und den nötigen
Kabeln schon vertraut sind, können Sie diesen Abschnitt
überspringen.
-
+
KabelEs gibt verschiedene serielle Kabel. Die zwei häufigsten
sind Nullmodemkabel und Standard RS-232 Kabel. Die
Dokumentation Ihrer Hardware sollte beschreiben, welchen Kabeltyp
Sie benötigen.
-
+
NullmodemkabelNullmodemkabelEin Nullmodemkabel verbindet einige Signale, wie die
Betriebserde, eins zu eins, andere Signale werden getauscht:
Die Sende- und Empfangsleitungen werden zum Beispiel
gekreuzt.
-
+
Wenn Sie Ihre Kabel selber herstellen möchten,
zeigt die folgende Tabelle die RS-232C Signalnamen und Pinbelegung
für einen DB-25 Stecker:SignalPin #Pin #Signal
-
+
SG7verbunden mit7SG
-
+
TxD2verbunden mit3RxD
-
+
RxD3verbunden mit2TxD
-
+
RTS4verbunden mit5CTS
-
+
CTS5verbunden mit4RTS
-
+
DTR20verbunden mit6DSR
-
+
DCD86DSR
-
+
DSR6verbunden mit20DTR
-
+
Das Signal Data Terminal Ready (DTR) wird
mit den Signalen Data Set Ready (DSR) und
Data Carrier Detect (DCD) der Gegenstelle
verbunden.Standard RS-232C KabelRS-232C KabelEin Standard RS-232C Kabel verbindet alle Signale direkt,
das heißt das Signal Sendedaten wird mit
dem Signal Sendedaten der Gegenstelle verbunden.
Dieses Kabel wird benötigt, um ein Modem mit einem FreeBSD
System zu verbinden. Manche Terminals benötigen dieses
Kabel ebenfalls.
-
+
SchnittstellenÜber serielle Schnittstellen werden Daten zwischen dem
FreeBSD System und dem Terminal übertragen. Dieser
Abschnitt beschreibt die verschiedenen Schnittstellen und wie sie
unter FreeBSD angesprochen werden.Arten von Schnittstellen
-
+
Da es verschiedene Schnittstellen gibt, sollten Sie vor
dem Kauf oder Selbstbau eines Kabels sicherstellen, dass
dieses zu den Schnittstellen Ihres Terminals und FreeBSD
Systems passt.
-
+
Die meisten Terminals besitzen DB25 Stecker.
Personal Computer haben DB25 oder DB9 Stecker. Wenn
Sie eine serielle Multiportkarte für Ihren PC besitzen,
haben Sie vielleicht RJ-12 oder RJ-45 Anschlüsse.
-
+
Die Dokumentation Ihrer Geräte sollte Aufschluss
über den Typ der benötigten Anschlüsse geben.
Oft hilft es, wenn Sie sich den Anschluss einfach
ansehen.Schnittstellenbezeichnung
-
+
Unter FreeBSD sprechen Sie die serielle Schnittstelle
(Port) über einen Eintrag im /dev
Verzeichnis an. Es gibt dort zwei verschiedene
Einträge:
-
+
Schnittstellen für eingehende Verbindungen werden
/dev/ttydN
genannt. Dabei ist N die Nummer
der Schnittstelle, deren Zählung bei Null beginnt.
Allgemein wird diese Schnittstelle für Terminals
benutzt. Diese Schnittstelle funktioniert nur, wenn ein
Data Carrier Detect Signal (DCD)
vorliegt.
-
+
Für ausgehende Verbindungen wird
/dev/cuaaN
verwendet. Dieser Port wird normalerweise nur von
Modems genutzt. Sie können ihn allerdings für
Terminals benutzen, die das Data Carrier Detect
Signal nicht unterstützen.
-
+
Wenn Sie einen Terminal an die erste serielle Schnittstelle
(COM1 in MS-DOS), angeschlossen haben,
sprechen Sie ihn über /dev/ttyd0 an.
Wenn er an der zweiten seriellen Schnittstelle angeschlossen
ist, verwenden Sie /dev/ttyd1, usw.Kernelkonfiguration
-
+
In der Voreinstellung benutzt FreeBSD vier serielle
Schnittstellen, die in MS-DOS Kreisen als
COM1, COM2,
COM3 und COM4
bekannt sind. Momentan unterstützt FreeBSD einfache
Multiportkarten (z.B. die BocaBoard 1008 und 2016) und bessere wie
die von Digiboard und Stallion Technologies. In der Voreinstellung
sucht der Kernel allerdings nur nach den
Standardanschlüssen.
-
+
Um zu überprüfen, ob der Kernel eine Ihrer seriellen
Schnittstellen erkennt, achten Sie auf die Meldungen beim Booten,
oder schauen sich diese später mit
/sbin/dmesg an. Insbesondere sollten Sie auf
Meldungen achten, die mit den Zeichen sio
anfangen.Das folgende Kommando zeigt Ihnen nur die Meldungen an,
die die Folge sio enthalten:
-
+
&prompt.root; /sbin/dmesg | grep 'sio'
-
+
Auf einem System mit vier seriellen Schnittstellen sollte der
Kernel die folgenden Meldungen ausgeben:
-
+
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2 at 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
sio3 at 0x2e8-0x2ef irq 9 on isa
sio3: type 16550A
-
+
Wenn Ihr Kernel nicht alle seriellen Schnittstellen erkennt,
müssen Sie unter Umständen einen angepassten Kernel
für Ihr System erstellen. Eine ausführliche Anleitung
dazu finden Sie in .Die Kernelkonfiguration für FreeBSD 4.X sieht
wie folgt aus:
-
+
device sio0 at isa? port IO_COM1 tty irq 4
device sio1 at isa? port IO_COM2 tty irq 3
device sio2 at isa? port IO_COM3 tty irq 5
device sio3 at isa? port IO_COM4 tty irq 9FreeBSD 5.X verwendet die folgende Zeile:device sio
-
+
Mit FreeBSD 4.X können Sie nicht vorhandene
Schnittstellen entfernen oder auskommentieren. Unter
FreeBSD 5.X werden die Schnittstellen in
/boot/device.hints konfiguriert. Die
Hilfeseite &man.sio.4; enthält weitere Informationen über
serielle Schnittstellen und Multiportkarten.
Seien Sie vorsichtig, wenn Sie Konfigurationsdateien
von älteren FreeBSD Versionen verwenden, da sich die Syntax
und die Bedeutung der Optionen zwischen verschiedenen
Versionen geändert hat.port IO_COM1 ist ein Ersatz für
port 0x3f8, IO_COM2
bedeutet port 0x2f8, IO_COM3
bedeutet port 0x3e8 und IO_COM4
steht für port 0x2e8. Die angegebenen
IO-Adressen sind genau wie die Interrupts 4, 3, 5 und 9
üblich für serielle Schnittstellen. Beachten Sie
bitte, dass sich normale serielle Schnittstellen auf ISA-Bussen
keine Interrupts teilen können.
Multiportkarten besitzen zusätzliche Schaltkreise, die es
allen 16550As auf der Karte erlauben, sich einen oder zwei
Interrupts zu teilen.
-
+
Gerätedateien
-
+
Die meisten Geräte im Kernel werden durch
Gerätedateien in /dev angesprochen. Die
sio Geräte werden durch
/dev/ttydN
für eingehende Verbindungen und durch
/dev/cuaaN für
ausgehende Verbindungen angesprochen. Zum Initialisieren der
Geräte stellt FreeBSD die Dateien
/dev/ttyidN und
/dev/cuai0N zur
Verfügung. Diese Dateien werden benutzt, um
Kommunikationsparameter beim Öffnen eines Ports vorzugeben.
Für Modems, die zur Flusskontrolle
RTS/CTS benutzen, kann damit
crtscts gesetzt werden. Die Geräte
/dev/ttyldN und
/dev/cual0N (locking
devices) werden genutzt, um bestimmte Parameter festzuschreiben und
vor Veränderungen zu schützen. Weitere Informationen
zu Terminals finden Sie in &man.termios.4;, &man.sio.4; erklärt
die Dateien zum Initialisieren und Sperren der Geräte,
&man.stty.1; beschreibt schließlich
Terminal-Einstellungen.
-
+
Erstellen von GerätedateienIn FreeBSD 5.0 werden Gerätedateien im Dateisystem
&man.devfs.5; bei Bedarf automatisch angelegt. Wenn
Sie eine FreeBSD Version mit devfs benutzen,
können Sie diesen Abschnitt überspringen.MAKEDEVZum Anlegen der Gerätedateien in
/dev wird MAKEDEV
benutzt. Um die Geräte der ersten seriellen Schnittstelle
für eingehende Verbindungen zu erstellen, wechseln Sie nach
/dev und setzen dort den Befehl
MAKEDEV ttyd0 ab. Für die zweite
serielle Schnittstelle (COM2 bzw. die
Schnittstelle mit der Nummer 1 führen Sie
analog MAKEDEV ttyd1 aus.
-
+
Dabei erstellt MAKEDEV nicht nur die
/dev/ttydN
Gerätedateien, sondern auch die folgenden Dateien:
/dev/cuaaN,
/dev/cuaiaN,
/dev/cualaN,
/dev/ttyldN
und
/dev/ttyidN.
-
+
Nachdem Sie die Gerätedateien erstellt haben, sollten
Sie die Zugriffsrechte der neuen Dateien, besonders die der
/dev/cua* Dateien überprüfen, um
sicherzustellen, dass wirklich nur jene Benutzer, die auf
diese Geräte zugreifen sollen, Schreib- und Leseberechtigungen
haben. Die Vorgabe der Zugriffsrechte sollte ausreichend
sein:
-
+
crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cuaa1
crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuaia1
crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1
-
+
Auf die Geräte für ausgehende Verbindungen
dürfen uucp und Mitglieder der Gruppe
dialer zugreifen.Konfiguration der seriellen SchnittstellettydcuaaAnwendungen benutzen normalerweise die Geräte
ttydN oder
cuaaN. Das
Gerät besitzt einige Voreinstellungen für Terminal-I/O,
wenn es von einem Prozess geöffnet wird. Mit dem folgenden
Kommando können Sie sich diese Einstellungen ansehen:&prompt.root; stty -a -f /dev/ttyd1
-
+
Sie können diese Einstellungen verändern, sie bleiben
allerdings nur solange wirksam, bis das Gerät geschlossen wird.
Wenn das Gerät danach wieder geöffnet wird, sind die
Voreinstellungen wieder wirksam. Um die Voreinstellungen zu
ändern, öffnen Sie das Gerät, das zum Initialisieren
dient und verändern dessen Einstellungen. Um beispielsweise
für ttyd5 den
Modus, 8-Bit Kommunikation und
Flusssteuerung einzuschalten, setzen Sie das folgende
Kommando ab:&prompt.root; stty -f /dev/ttyid5 clocal cs8 ixon ixoff
-
+
rc Dateienrc.serialIn /etc/rc.serial werden die
Voreinstellungen für seriellen Geräte vorgenommen.Um zu verhindern, dass Einstellungen von Anwendungen
verändert werden, können Sie die Geräte zum
Festschreiben von Einstellungen (locking devices)
benutzen. Wenn sie beispielsweise die Geschwindigkeit von
ttyd5 auf 57600 bps festlegen wollen,
benutzen Sie das folgende Kommando:
-
+
&prompt.root; stty -f /dev/ttyld5 57600Eine Anwendung, die ttyd5 öffnet,
kann nun nicht mehr die Geschwindigkeit ändern und muss
57600 bps benutzen.Die Geräte zum Initialisieren und Festschreiben von
Einstellungen sollten selbstverständlich nur von
root beschreibbar sein.
-
+
SeanKellyBeigetragen von Terminals
-
+
TerminalsWenn Sie sich nicht an der Konsole oder über ein Netzwerk an
Ihrem FreeBSD System anmelden können, sind Terminals ein
bequemer und billiger Weg auf Ihr System zuzugreifen. Dieser
Abschnitt beschreibt wie Sie Terminals mit FreeBSD benutzen.Terminaltypen
-
+
Das ursprüngliche &unix; System besaß keine Konsolen.
Zum Anmelden und Starten von Programmen wurden stattdessen
Terminals benutzt, die an den seriellen Schnittstellen des Rechners
angeschlossen waren. Dies entspricht der Benutzung eines Modems
zum Anmelden auf einem entfernten System, um dort mit einem
Terminalemulator im Textmodus zu arbeiten.
-
+
Die Konsolen heutiger PCs besitzen sehr gute
Grafikfähigkeiten, trotzdem gibt es in fast jedem &unix; System
die Möglichkeit, sich über die serielle Schnittstelle
anzumelden; FreeBSD ist da keine Ausnahme. Sie können sich an
einem Terminal anmelden und dort jedes Textprogramm, das Sie
normalerweise an der Konsole oder in einem xterm
Fenster im X Window System benutzen, laufen lassen.
-
+
Im kommerziellen Umfeld können Sie viele Terminals an ein
FreeBSD System anschließen und diese auf den
Arbeitsplätzen Ihrer Angestellten aufstellen. Im privaten
Umfeld kann ein älterer IBM PC oder Macintosh als Terminal
dienen. Damit verwandeln Sie einen Einzelarbeitsplatz in ein
leistungsfähiges Mehrbenutzersystem.
-
+
FreeBSD kennt drei verschiedene Terminals:
-
+
Dumb terminals,PCs, die als Terminals
fungieren,X Terminals.
-
+
Die folgenden Abschnitte beschreiben jeden dieser Terminals.
-
+
Dumb-TerminalsDumb-Terminals (unintelligente Datenstationen) sind
Geräte, die über die serielle Schnittstelle mit einem
Rechner verbunden werden. Sie werden
unintelligent genannt, weil sie nur Text senden
und empfangen und keine Programme laufen lassen können.
Alle Programme, wie Texteditoren, Compiler oder Spiele befinden
sich auf dem Rechner, der mit dem Terminal verbunden ist.Es gibt viele Dumb-Terminals, die von verschiedenen
Herstellern produziert werden, wie zum Beispiel der VT-100 von
Digital Equipment Corporation oder der WY-75 von Wyse. So gut
wie jeder der verschiedenen Terminals sollte mit FreeBSD
zusammenarbeiten. Manche High-End Geräte verfügen
sogar über Grafikfähigkeiten, die allerdings nur von
spezieller Software genutzt werden kann.
-
+
Dumb-Terminals sind in Umgebungen beliebt, in denen keine
Grafikanwendungen, wie zum Beispiel X-Programme, laufen
müssen.
-
+
PCs, die als Terminal fungierenJeder PC kann die Funktion eines
Dumb-Terminals, der ja nur
Text senden und empfangen kann, übernehmen. Dazu brauchen
Sie nur das richtige Kabel und eine
Terminalemulation, die auf dem PC
läuft.Diese Konfiguration ist im privaten Umfeld sehr beliebt. Wenn
Ihr Ehepartner zum Beispiel gerade an der FreeBSD Konsole arbeitet,
können Sie einen weniger leistungsstarken PC, der als
Terminal mit dem FreeBSD System verbunden ist, benutzen, um dort
gleichzeitig im Textmodus zu arbeiten.
-
+
X-TerminalsX-Terminals sind die ausgereiftesten der verfügbaren
Terminals. Sie werden nicht mit der seriellen Schnittstelle
sondern mit einem Netzwerk, wie dem Ethernet, verbunden. Diese
Terminals sind auch nicht auf den Textmodus beschränkt,
sondern können jede X-Anwendung darstellen.X-Terminals sind hier nur der Vollständigkeit halber
aufgezählt. Die Einrichtung von X-Terminals wird in diesem
Abschnitt nicht beschrieben.
-
+
Konfiguration
-
+
Im Folgenden wird beschrieben, wie Sie Ihr FreeBSD System
konfigurieren müssen, um sich an einem Terminal anzumelden.
Dabei wird vorausgesetzt, dass der Kernel bereits die
serielle Schnittstelle, die mit dem Terminal verbunden ist,
unterstützt. Weiterhin sollte der Terminal schon
angeschlossen sein.
-
+
Aus wissen Sie, dass
init für das Initialisieren des Systems und
den Start von Prozessen zum Zeitpunkt des Systemstarts
verantwortlich ist. Unter anderem liest init/etc/ttys ein und startet für jeden
verfügbaren Terminal einen getty
Prozess. getty wiederum fragt beim
Anmelden den Benutzernamen ab und startet
login.
-
+
Um Terminals auf Ihrem FreeBSD System einzurichten, führen
Sie folgenden Schritte als root durch:Wenn er noch nicht da ist, fügen Sie einen Eintrag in
/etc/ttys für die serielle
Schnittstelle aus /dev ein.Geben Sie /usr/libexec/getty als
auszuführendes Programm an. Als Parameter für
getty geben Sie den passenden Verbindungstyp
aus /etc/gettytab an.Geben Sie den Terminaltyp an.Aktivieren Sie den Anschluss.
-
+
Geben Sie die Sicherheit des Anschlusses an.Veranlassen Sie init/etc/ttys erneut zu lesen.
-
+
Optional können Sie in /etc/gettytab
auch einen auf Ihre Zwecke angepassten Terminaltyp erstellen.
Die genaue Vorgehensweise wird in diesem Abschnitt nicht
erklärt, aber die Manualpages von &man.gettytab.5; und
&man.getty.8; enthalten dazu weitere Informationen.
-
+
Hinzufügen eines Eintrags in
/etc/ttysIn /etc/ttys werden alle Terminals
aufgeführt, an denen Sie sich auf dem FreeBSD System
anmelden können. Hier findet sich zum Beispiel ein Eintrag
für die erste virtuelle Konsole
/dev/ttyv0, der es Ihnen ermöglicht,
sich dort anzumelden. Die Datei enthält des Weiteren
Einträge für andere virtuelle Konsolen, serielle
Schnittstellen und Pseudoterminals. Wenn Sie einen Terminal
konfigurieren wollen, fügen sie einen Eintrag für den
Namen des Gerätes aus /dev ohne das
Präfix /dev hinzu. Zum Beispiel wird
/dev/ttyv0 als
ttyv0 aufgeführt.In der Voreinstellung enthält
/etc/ttys Einträge für die ersten
vier seriellen Schnittstellen. Wenn Sie an eine von diesen einen
Terminal anschließen, brauchen Sie keinen weiteren Eintrag
hinzuzufügen.Einträge in /etc/ttys
- hinzufügen
+ hinzufügen
Angenommen, wir wollen an ein System zwei Terminals
anschließen: Einen Wyse-50 und einen alten 286 IBM PC,
der mit Procomm einen VT-100
Terminal emuliert. Den Wyse-Terminal verbinden wir mit der
zweiten seriellen Schnittstelle und den 286 mit der sechsten
seriellen Schnittstelle (einem Anschluss auf einer
Multiportkarte). Die entsprechenden Einträge in
/etc/ttys würden dann wie folgt
aussehen:
- ttyd1ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
-
+
Das erste Feld gibt normalerweise den Namen der
Gerätedatei aus /dev an.Im zweiten Feld wird das auszuführende Kommando,
normal ist das &man.getty.8;, angegeben.
getty initialisiert und öffnet die
Verbindung, setzt die Geschwindigkeit und fragt den
Benutzernamen ab. Danach führt es &man.login.1;
aus.getty akzeptiert einen optionalen
Parameter auf der Kommandozeile, den Verbindungstyp, der
die Eigenschaften der Verbindung, wie die Geschwindigkeit
und Parität, festlegt. Die Typen und die damit
verbundenen Eigenschaften liest getty
aus /etc/gettytab./etc/gettytab enthält viele
Einträge sowohl für neue wie auch alte
Terminalverbindungen. Die meisten Einträge, die mit
std beginnen, sollten mit einem
festverdrahteten Terminal funktionieren. Für jede
Geschwindigkeit zwischen 110 bps und 115200 bps
gibt es einen std Eintrag. Natürlich
können Sie auch eigene Einträge erstellen,
Informationen dazu finden Sie in &man.gettytab.5;.Wenn Sie den Verbindungstyp in
/etc/ttys eintragen, stellen Sie
bitte sicher, dass die Kommunikationseinstellungen
auch mit denen des Terminals übereinstimmen.
-
+
In unserem Beispiel verwendet der Wyse-50 keine
Parität und 38400 bps, der 286 PC benutzt ebenfalls
keine Parität und arbeitet mit 19200 bps.Das dritte Feld gibt den Terminaltyp an, der
normalerweise mit diesem Anschluss verbunden ist.
Für Einwählverbindungen wird oft
unknown oder dialup
benutzt, da sich die Benutzer praktisch mit beliebigen
Terminals oder Emulatoren anmelden können. Bei
festverdrahteten Terminals ändert sich der Typ nicht,
so dass Sie in diesem Feld einen richtigen Typ aus der
&man.termcap.5; Datenbank angeben können.In unserem Beispiel benutzen wir für den Wyse-50
den entsprechenden Typ aus &man.termcap.5;, der 286 PC
wird als VT-100, den er ja emuliert, angegeben.Das vierte Feld gibt an, ob der Anschluss
aktiviert werden soll. Wenn Sie hier on
angeben, startet init das Programm, das
- im zweiten Feld angegeben wurde (normal
+ im zweiten Feld angegeben wurde (normal
getty). Wenn Sie off
angeben, wird das Kommando aus dem zweiten Feld nicht
ausgeführt und folglich können Sie sich dann an
dem betreffenden Terminal nicht anmelden.Im letzten Feld geben Sie die Sicherheit des
Anschlusses an. Wenn Sie hier secure
angeben, darf sich root (oder jeder
Account mit der UID 0) über diese
Verbindung anmelden. Wenn Sie insecure
angeben, dürfen sich nur unprivilegierte Benutzer
anmelden. Diese können später mit &man.su.1;
oder einem ähnlichen Mechanismus zu
root wechseln.Es wird dringend empfohlen, insecure
nur für Terminals hinter verschlossenen Türen
zu verwenden, da Sie mit su leicht zum
Superuser werden können.
-
+
init zwingen,
/etc/ttys erneut zu lesenNachdem Sie die nötigen Änderungen in
/etc/ttys vorgenommen haben, schicken Sie
init ein SIGHUP-Signal (hangup), um es zu
veranlassen, seine Konfigurationsdatei neu zu lesen:&prompt.root; kill -HUP 1Da init immer der erste Prozess auf
einem System ist, besitzt es immer die PID
1.Wenn alles richtig eingerichtet ist, alle Kabel angeschlossen
und die Terminals eingeschaltet sind, sollte für jeden
Terminal ein getty Prozess laufen und auf
jedem Terminal sollten Sie eine Anmeldeaufforderung sehen.
-
+
Fehlersuche
-
+
Selbst wenn Sie den Anweisungen akribisch gefolgt sind, kann es
immer noch zu Fehlern beim Einrichten eines Terminals kommen. Die
folgende Aufzählung von Symptomen beschreibt mögliche
Lösungen:
-
+
Es erscheint kein Anmeldeprompt.Stellen Sie sicher, dass der Terminal verbunden und
eingeschaltet ist. Wenn ein PC als Terminal fungiert,
überprüfen Sie, dass die Terminalemulation auf
den richtigen Schnittstellen läuft.
-
+
Stellen Sie sicher, dass Sie das richtige Kabel
verwenden und dass das Kabel fest mit dem Terminal und
dem FreeBSD Rechner verbunden ist.
-
+
Stellen Sie sicher, dass die Einstellungen für
die Geschwindigkeit (bps) und Parität auf dem FreeBSD
System und dem Terminal gleich sind. Wenn Ihr Terminal einen
Bildschirm besitzt, überprüfen Sie die richtige
Einstellung von Helligkeit und Kontrast. Wenn Ihr Terminal
druckt, stellen Sie die ausreichende Versorgung mit Papier
und Tinte sicher.
-
+
Überprüfen Sie mit ps,
dass der getty Prozess für
den Terminal läuft:&prompt.root; ps -axww|grep gettyFür jeden Terminal sollten Sie einen Eintrag sehen.
Aus dem folgenden Beispiel erkennen Sie, dass
getty auf der zweiten seriellen
Schnittstelle läuft und den Verbindungstyp
std.38400 aus
/etc/gettytab benutzt:
-
+
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1
-
+
Wenn getty nicht läuft,
überprüfen Sie, ob der Anschluss in
/etc/ttys aktiviert ist. Haben Sie
kill -HUP 1 abgesetzt, nachdem Sie
/etc/ttys geändert hatten?Wenn getty läuft, aber der
Terminal immer noch kein Anmeldeprompt ausgibt, oder Sie am
Anmeldeprompt nichts eingeben können, kann es sein,
dass Ihr Terminal oder Kabel keinen Hardware-Handshake
unterstützt. Ändern Sie dann den Eintrag
std.38400 in /etc/ttys
zu 3wire.38400. Nachdem Sie
/etc/ttys geändert haben, setzen
Sie das Kommando kill -HUP 1 ab. Der
Eintrag 3wire besitzt ähnliche
Eigenschaften wie der Eintrag std,
ignoriert aber den Hardware-Handshake. Wenn Sie den Eintrag
3wire verwenden, müssen Sie
vielleicht die Geschwindigkeit verkleinern oder die
Software-Flusssteuerung aktivieren, um
Pufferüberläufe zu vermeiden.Anstelle eines Anmeldeprompts erscheinen
nur unverständliche Zeichen:
-
+
Stellen Sie sicher, dass die Einstellungen für
die Geschwindigkeit (bps) und Parität auf dem FreeBSD
System und dem Terminal gleich sind. Kontrollieren Sie den
getty Prozess und stellen Sie sicher,
dass der richtige Verbindungstyp aus
/etc/gettytab benutzt wird. Wenn das
nicht der Fall ist, editieren Sie
/etc/ttys und setzen das Kommando
kill-HUP 1 ab.Zeichen erscheinen doppelt und eingegebene
Passwörter erscheinen im Klartext.
-
+
Stellen Sie den Terminal oder die Terminalemulation von
half duplex oder local echo auf
full duplex. um.
-
+
GuyHelmerBeigetragen von SeanKellyMit Anmerkungen von EinwählverbindungenEinwählverbindungenDas Einrichten von Einwählverbindungen ähnelt dem
Anschließen von Terminals, nur dass Sie anstelle eines
Terminals ein Modem verwenden.Externe und interne ModemsExterne Modems sind für Einwählverbindungen besser
geeignet, da sie die Konfiguration in nicht flüchtigem RAM
speichern können. Zudem verfügen Sie über
Leuchtanzeigen, die den Status wichtiger RS-232 Signale
anzeigen und unter Umständen Besucher beeindrucken
können.
-
+
Interne Modems verfügen normalerweise nicht über
nicht flüchtiges RAM und lassen sich meist nur über
DIP-Schalter konfigurieren. Selbst wenn ein internes Modem
Leuchtanzeigen besitzt, sind diese meist schwer einzusehen, wenn
das Modem eingebaut ist.
-
+
Modems und KabelModemMit einem externen Modem müssen Sie das richtige Kabel
benutzen: Ein Standard RS-232C Kabel, bei dem die folgenden
Signale miteinander verbunden sind, sollte ausreichen:Transmitted Data (SD)
-
+
Received Data (RD)
-
+
Request to Send (RTS)
-
+
Clear to Send (CTS)
-
+
Data Set Ready (DSR)
-
+
Data Terminal Ready (DTR)
-
+
Carrier Detect (CD)
-
+
Signal Ground (SG)Ab Geschwindigkeiten von 2400 bps benötigt FreeBSD die
Signale RTS und CTS
für die Flusssteuerung. Das Signal
CD zeigt an, ob ein Träger vorliegt, das
heißt ob die Verbindung aufgebaut ist oder beendet wurde.
DTR zeigt an, dass das Gerät
betriebsbereit ist. Es gibt einige Kabel, bei denen nicht alle
nötigen Signale verbunden sind. Wenn Sie Probleme der Art
haben, dass zum Beispiel die Sitzung nicht beendet wird,
obwohl die Verbindung beendet wurde, kann das an einem solchen
Kabel liegen.
-
+
Wie andere &unix; Betriebssysteme auch, benutzt FreeBSD
Hardwaresignale, um festzustellen, ob ein Anruf
beantwortet wurde, eine Verbindung beendet wurde, oder um die
Verbindung zu schließen und das Modem zurückzusetzen.
FreeBSD vermeidet es, dem Modem Kommandos zu senden, oder den
Statusreport des Modems abzufragen. Falls Sie ein Benutzer
von PC-basierenden Bulletin Board Systemen sind, mag Sie das
verwundern.
-
+
SchnittstellenbausteineFreeBSD unterstützt EIA RS-232C (CCITT V.24) serielle
Schnittstellen, die auf den NS8250, NS16450, NS16550 oder NS16550A
Bausteinen basieren. Die Bausteine der Serie 16550 verfügen
über einen 16 Byte großen Puffer, der als FIFO angelegt
ist. Wegen Fehler in der FIFO-Logik kann der Puffer in einem 16550
Baustein allerdings nicht genutzt werden, das heißt der
Baustein muss als 16450 betrieben werden. Bei allen
Bausteinen ohne Puffer und dem 16550 Baustein muss jedes
Byte einzeln von dem Betriebssystem verarbeitet werden, was
Fehler bei hohen Geschwindigkeiten oder großer Systemlast
erzeugt. Es sollten daher nach Möglichkeit serielle
Schnittstellen, die auf 16550A Bausteinen basieren, eingesetzt
werden.
-
+
ÜberblickgettyWie bei Terminals auch, startet init für
jede serielle Schnittstelle, die eine Einwählverbindung zur
Verfügung stellt, einen getty Prozess.
Wenn das Modem beispielsweise an /dev/ttyd0
angeschlossen ist, sollte in der Ausgabe von ps
ax eine Zeile wie die folgende erscheinen:
-
+
4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0
-
+
Wenn sich ein Benutzer einwählt und die Verbindung
aufgebaut ist, zeigt das Modem dies durch das CD
Signal (Carrier Detect) an. Der Kernel merkt, dass ein Signal
anliegt und vollendet das Öffnen der Schnittstelle durch
getty. Dann sendet getty das
Anmeldeprompt mit der ersten für die Verbindung vereinbarten
Geschwindigkeit und wartet auf eine Antwort. Wenn die Antwort
unverständlich ist, weil zum Beispiel die Geschwindigkeit des
Modems von gettys Geschwindigkeit abweicht,
versucht getty die Geschwindigkeit solange
anzupassen, bis es eine verständliche Antwort
erhält.
-
+
/usr/bin/logingetty führt, nachdem der Benutzer seinen
Namen eingegeben hat, /usr/bin/login aus,
welches das Passwort abfragt und danach die Shell des
Benutzers startet.
-
-
+
+
Konfigurationsdateien
-
+
Drei Konfigurationsdateien in /etc
steuern, ob eine Einwahl in Ihr FreeBSD System möglich ist.
Die erste, /etc/gettytab, konfiguriert den
/usr/libexec/getty Dæmon. In
/etc/ttys wird festgelegt, auf welchen
Schnittstellen /sbin/init einen
getty Prozess startet. Schließlich
haben Sie in /etc/rc.serial die
Möglichkeit, Schnittstellen zu initialisieren.
-
+
Es gibt zwei Ansichten darüber, wie Modems für
Einwählverbindungen unter &unix; zu konfigurieren sind. Zum
einen kann die Geschwindigkeit zwischen dem Modem und dem Computer
fest eingestellt werden. Sie ist damit unabhängig von der
Geschwindigkeit, mit der sich der entfernte Benutzer einwählt.
Dies hat den Vorteil, dass der entfernte Benutzer das
Anmeldeprompt sofort bekommt. Der Nachteil bei diesem Verfahren
ist, dass das System die tatsächliche Geschwindigkeit
der Verbindung nicht kennt. Damit können bildschirmorientierte
Programme wie Emacs ihren
Bildschirmaufbau nicht an langsame Verbindungen anpassen,
um die Antwortzeiten zu verbessern.
-
+
Die andere Möglichkeit besteht darin, die Geschwindigkeit
der RS-232 Schnittstelle des lokalen Modems an die Geschwindigkeit
des entfernten Modems anzupassen. Bei einer V.32bis (14400 bps)
Verbindung kann das lokale Modem die RS-232 Schnittstelle mit
19200 bps betreiben, während bei einer Verbindung mit
2400 bps die RS-232 Schnittstelle mit 2400 bps
betrieben wird. Da getty die
Verbindungsgeschwindigkeit des Modems nicht kennt, startet es
den Anmeldevorgang mit der Ausgabe
von login: und wartet auf eine Antwort. Wenn der
Benutzer der Gegenstelle nun nur unverständliche Zeichen
erhält, muss er solange Enter
drücken, bis das Anmeldeprompt erscheint. Solange die
Geschwindigkeiten nicht übereinstimmen, sind die Antworten der
Gegenstelle für getty ebenfalls
unverständlich. In diesem Fall wechselt
getty zur nächsten Geschwindigkeit und gibt
wieder login: aus. In aller Regel erhält der
Benutzer der Gegenstelle nach ein bis zwei Tastendrücken
eine erkennbare Anmeldeaufforderung. Diese Anmeldeprozedur sieht
nicht so sauber wie die Methode mit einer festen Geschwindigkeit
aus, bietet dem Benutzer einer langsamen Verbindung allerdings den
Vorteil, dass sich bildschirmorientierte Programme an die
Geschwindigkeit anpassen können.Im Folgenden wird die Konfiguration für beide Methoden
besprochen, doch die Methode der angepassten Geschwindigkeit
wird bei der Diskussion bevorzugt./etc/gettytab/etc/gettytabMit /etc/gettytab wird &man.getty.8; im
Stil von &man.termcap.5; konfiguriert. Das Format dieser Datei und
die Bedeutung der Einträge wird in &man.gettytab.5;
beschrieben.Konfiguration für feste Geschwindigkeit
-
+
Wenn Sie die Modemgeschwindigkeit vorgeben, werden Sie in
/etc/gettytab nichts ändern
müssen.Konfiguration für angepasste Geschwindigkeit
-
+
In /etc/gettytab müssen
Einträge für die Geschwindigkeiten, die Sie benutzen
wollen, sein. Wenn Sie ein 2400 bps Modem besitzen,
können Sie wahrscheinlich den schon vorhandenen
D2400 Eintrag benutzen.
-
+
#
# Fast dialup terminals, 2400/1200/300 rotary (can start either way)
#
D2400|d2400|Fast-Dial-2400:\
:nx=D1200:tc=2400-baud:
3|D1200|Fast-Dial-1200:\
:nx=D300:tc=1200-baud:
5|D300|Fast-Dial-300:\
:nx=D2400:tc=300-baud:
-
+
Wenn Sie ein Modem mit einer höheren Geschwindigkeit
besitzen, müssen Sie wahrscheinlich in
/etc/gettytab weitere Einträge
erstellen. Hier ist ein Beispiel, das Sie mit einem 14400 bps
Modem benutzen können:
-
+
#
# Additions for a V.32bis Modem
#
um|V300|High Speed Modem at 300,8-bit:\
:nx=V19200:tc=std.300:
un|V1200|High Speed Modem at 1200,8-bit:\
:nx=V300:tc=std.1200:
uo|V2400|High Speed Modem at 2400,8-bit:\
:nx=V1200:tc=std.2400:
up|V9600|High Speed Modem at 9600,8-bit:\
:nx=V2400:tc=std.9600:
uq|V19200|High Speed Modem at 19200,8-bit:\
:nx=V9600:tc=std.19200:
-
+
Die damit erzeugten Verbindungen verwenden 8 Bit und keine
Parität.
-
+
Im obigen Beispiel startet die Geschwindigkeit bei
19200 bps (eine V.32bis Verbindung) und geht dann
über 9600 bps (V.32), 400 bps, 1200 bps
und 300 bps wieder zurück zu 19200 bps.
Das Schlüsselwort nx=
(next table) sorgt für
das zyklische Durchlaufen der Geschwindigkeiten. Jede Zeile
zieht zudem noch mit tc=
(table continuation)
die Vorgabewerte für die jeweilige Geschwindigkeit an.
-
+
Wenn Sie ein 28800 bps Modem besitzen und/oder Kompression
mit einem 14400 bps Modem benutzen wollen, brauchen Sie
höhere Geschwindigkeiten als 19200 bps. Das folgende
Beispiel startet mit 57600 bps:
-
+
#
# Additions for a V.32bis or V.34 Modem
# Starting at 57600 bps
#
vm|VH300|Very High Speed Modem at 300,8-bit:\
:nx=VH57600:tc=std.300:
vn|VH1200|Very High Speed Modem at 1200,8-bit:\
:nx=VH300:tc=std.1200:
vo|VH2400|Very High Speed Modem at 2400,8-bit:\
:nx=VH1200:tc=std.2400:
vp|VH9600|Very High Speed Modem at 9600,8-bit:\
:nx=VH2400:tc=std.9600:
vq|VH57600|Very High Speed Modem at 57600,8-bit:\
:nx=VH9600:tc=std.57600:Wenn Sie eine langsame CPU oder ein stark ausgelastetes
System besitzen und sich kein 16550A in Ihrem System befindet,
erhalten Sie bei 57600 bps vielleicht
sio Fehlermeldungen der Form silo
overflow.
-
+
/etc/ttys/etc/ttys/etc/ttys wurde bereits in besprochen. Die Konfiguration für
Modems ist ähnlich, allerdings braucht
getty ein anderes Argument und es muss
ein anderer Terminaltyp angegeben werden. Der Eintrag für
beide Methoden (feste und angepasste Geschwindigkeit) hat die
folgende Form:
-
+
ttyd0 "/usr/libexec/getty xxx" dialup on
-
+
Das erste Feld der obigen Zeile gibt die Gerätedatei
für diesen Eintrag an – ttyd0
bedeutet, dass getty mit
/dev/ttyd0 arbeitet. Das zweite Feld
"/usr/libexec/getty xxx"
gibt das Kommando an, das init für dieses
Gerät startet (xxx wird durch
einen passenden Eintrag aus /etc/gettytab
ersetzt). Die Vorgabe für den Terminaltyp, hier
dialup, wird im dritten Feld angegeben. Das
vierte Feld, on, zeigt
init an, dass die Schnittstelle aktiviert
ist. Im fünften Feld könnte noch
secure angegeben werden, um Anmeldungen von
root zu erlauben, doch sollte das wirklich
nur für physikalisch sichere Terminals, wie die
Systemkonsole, aktiviert werden.
-
+
Die Vorgabe für den Terminaltyp,
dialup im obigen Beispiel, hängt von lokalen
Gegebenheiten ab. Traditionell wird dialup
für Einwählverbindungen verwendet, so dass die
Benutzer in ihren Anmeldeskripten den Terminaltyp auf ihren
Terminal abstimmen können, wenn der Typ auf
dialup gesetzt ist. Wenn Sie aber
beispielsweise nur VT102 Terminals oder Emulatoren einsetzen,
können Sie den Terminaltyp hier auch fest auf
vt102 setzen.
-
+
Nachdem Sie /etc/ttys geändert
haben, müssen Sie init ein
HUP Signal schicken, damit es die Datei wieder
einliest. Sie können dazu das folgende Kommando
verwenden:&prompt.root; kill -HUP 1Wenn Sie das System zum ersten Mal konfigurieren, sollten Sie
dieses Kommando erst ausführen, wenn Sie Ihr Modem richtig
konfiguriert und angeschlossen haben.Konfiguration für feste Geschwindigkeit
-
+
Das Argument von getty muss in
diesem Fall eine feste Geschwindigkeit vorgeben. Der Eintrag
für ein Modem, das fest auf 19200 bps eingestellt ist,
könnte wie folgt aussehen:
-
+
ttyd0 "/usr/libexec/getty std.19200" dialup on
-
+
Wenn Ihr Modem auf eine andere Geschwindigkeit eingestellt
ist, setzen Sie anstelle von std.19200 einen
passenden Eintrag der Form
std.speed ein.
Stellen Sie sicher, dass dies auch ein gültiger
Verbindungstyp aus /etc/gettytab
ist.Konfiguration für angepasste Geschwindigkeit
-
+
Das Argument von getty muss hier auf
einen der Einträge aus /etc/gettytab
zeigen, der zu einer Kette von Einträgen gehört, die
die zu probierenden Geschwindigkeiten beschreiben. Wenn Sie
dem obigen Beispiel gefolgt sind und zusätzliche
Einträge in /etc/gettytab erzeugt
haben, können Sie die folgende Zeile verwenden:
-
+
ttyd0 "/usr/libexec/getty V19200" dialup on
-
+
/etc/rc.serialrc Dateienrc.serialModems, die höhere Geschwindigkeiten unterstützen,
zum Beispiel V.32, V.32bis und V.34 Modems, benutzen
Hardware-Flusssteuerung (RTS/CTS). Für die
entsprechenden Schnittstellen können Sie die
Flusssteuerung mit stty in
/etc/rc.serial einstellen.
-
+
Um beispielsweise die Hardware-Flusssteuerung
für die Geräte zur Ein- und Auswahl der zweiten
seriellen Schnittstelle (COM2)
zu aktivieren, benutzen Sie die Dateien zur Initialisierung der
entsprechenden Geräte und fügen die folgenden Zeilen in
/etc/rc.serial hinzu:# Serial port initial configuration
stty -f /dev/ttyid1 crtscts
stty -f /dev/cuai01 crtscts
-
+
-
+
Modemkonfiguration
-
+
Wenn Sie ein Modem besitzen, das seine Konfiguration in nicht
flüchtigem RAM speichert, werden Sie ein Terminalprogramm wie
Telix unter MS-DOS oder tip unter FreeBSD
benötigen, um die Parameter einzustellen. Verbinden Sie sich
mit derselben Geschwindigkeit, die getty
zuerst benutzen würde, mit dem Modem und treffen Sie folgende
Einstellungen:
-
+
DCD ist eingeschaltet, wenn das
Trägersignal des entfernten Modems erkannt wird.Im Betrieb liegt DTR an. Bei einem Verlust
von DTR legt das Modem auf und setzt sich zurück.CTS Flusssteuerung ist für
ausgehende Daten aktiviert.XON/XOFF Flusssteuerung ist
ausgeschaltet.RTS Flusssteuerung ist für
eingehende Daten aktiviert.Keine Rückmeldungen ausgeben.Die Echo-Funktion ist deaktiviert.
-
+
In der Dokumentation Ihres Modems finden Sie die nötigen
Befehle, die Sie absetzen müssen, und/oder nötigen
DIP-Schalterstellungen, um die obigen Einstellungen zu
treffen.
-
+
Für ein externes 14400 USRobotics Sportster gelten zum
Beispiel die folgenden Befehle:
-
+
ATZ
AT&C1&D2&H1&I0&R2&W
-
+
Bei dieser Gelegenheit können Sie auch gleich andere
Einstellungen, zum Beispiel ob Sie V42.bis und/oder MNP5
Kompression benutzen wollen, an Ihrem Modem vornehmen.
-
+
Bei einem externen 14400 USR Sportster müssen Sie auch noch
einige DIP-Schalter einstellen. Die folgenden Einstellungen
können Sie vielleicht als Beispiel für andere Modems
verwenden:
-
+
Schalter 1: OBEN – DTR normalSchalter 2: N/A (Rückmeldungen als Text/numerische
Rückmeldungen)Schalter 3: OBEN – Keine Rückmeldungen
ausgebenSchalter 4: UNTEN – Echo-Funktion ausSchalter 5: OBEN – Rufannahme aktiviertSchalter 6: OBEN – Carrier Detect normalSchalter 7: OBEN – Einstellungen aus dem NVRAM ladenSchalter 8: N/A (Smart Mode/Dumb Mode)
-
+
Für Einwählverbindungen sollten die
Rückmeldungen deaktiviert sein, da sonst
getty dem Modem das Anmeldeprompt
login: schickt und das Modem im Kommandomodus das
Prompt wieder ausgibt (Echo-Funktion) oder eine Rückmeldung gibt.
Das führt dann zu einer länglichen und fruchtlosen
Kommunikation zwischen dem Modem und
getty.
-
+
Konfiguration für feste GeschwindigkeitDie Geschwindigkeit zwischen Modem und Computer muss auf
einen festen Wert eingestellt werden. Mit einem externen 14400
USR Sportster Modem setzen die folgenden Kommandos die
Geschwindigkeit auf den Wert der Datenendeinrichtung fest:
-
+
ATZ
AT&B1&W
-
+
Konfiguration für angepasste GeschwindigkeitIn diesem Fall muss die Geschwindigkeit der seriellen
Schnittstelle des Modems der eingehenden Geschwindigkeit
angepasst werden. Für ein externes 14400 USR Sportster
Modem erlauben die folgenden Befehle eine Anpassung der
Geschwindigkeit der seriellen Schnittstelle für
Verbindungen, die keine Fehlerkorrektur verwenden:
-
+
ATZ
AT&B2&WVerbindungen mit Fehlerkorrektur (V.42, MNP) verwenden die
Geschwindigkeit der Datenendeinrichtung.
-
+
Überprüfen der ModemkonfigurationDie meisten Modems verfügen über Kommandos, die die
Konfiguration des Modems in lesbarer Form ausgeben. Auf einem
externen 14400 USR Sportster zeigt ATI5 die
Einstellungen im nicht flüchtigen RAM an. Um die wirklichen
Einstellungen unter Berücksichtigung der DIP-Schalter zu
sehen, benutzen Sie ATZ gefolgt von
ATI4.
-
+
Wenn Sie ein anderes Modem benutzen, schauen Sie bitte in der
Dokumentation Ihres Modems nach, wie Sie die Konfiguration des
Modems überprüfen können.
-
+
Fehlersuche
-
+
Bei Problemen können Sie die Einwählverbindung anhand
der folgenden Punkte überprüfen:
-
+
Überprüfen des FreeBSD SystemsSchließen Sie das Modem an das FreeBSD System an und
booten Sie das System. Wenn Ihr Modem über
Statusindikatoren verfügt, überprüfen Sie, ob der
DTR Indikator leuchtet, wenn das Anmeldeprompt
erscheint. Dies zeigt an, dass das FreeBSD System einen
getty Prozess auf der entsprechenden
Schnittstelle gestartet hat und das Modem auf einkommende
Verbindungen wartet.
-
+
Wenn der DTR Indikator nicht leuchtet,
melden Sie sich an dem FreeBSD System an und überprüfen mit
ps ax, ob FreeBSD einen
getty Prozess auf der entsprechenden
Schnittstelle gestartet hat. Unter den angezeigten Prozessen
sollten Sie ähnliche wie die folgenden finden: 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0
115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1
-
+
Wenn das Modem noch keinen Anruf entgegengenommen hat und Sie
stattdessen die folgende Zeile sehen
-
+
114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0
-
+
bedeutet dies, dass getty die
Schnittstelle schon geöffnet hat und zeigt Kabelprobleme
oder eine falsche Modemkonfiguration an, da
getty die Schnittstelle erst dann öffnen
kann, wenn das CD Signal (Carrier Detect) vom
Modem anliegt.
-
+
Wenn Sie keine getty Prozesse auf den
gewünschten ttydN
Ports finden, untersuchen Sie bitte /etc/ttys
auf Fehler. Suchen Sie auch in /var/log/messages
nach Meldungen von init oder
getty. Wenn Sie dort Meldungen finden,
sollten Sie noch einmal die beiden Konfigurationsdateien
/etc/ttys und /etc/gettytab
nach Fehlern durchsehen. Überprüfen Sie auch, ob die
Gerätedateien
/dev/ttydN
vorhanden sind.
-
+
EinwählversuchVersuchen Sie, sich in Ihr System einzuwählen. Auf dem
entfernten System stellen Sie bitte die folgenden
Kommunikationsparameter ein: 8 Bit, keine Parität, ein
Stop-Bit. Wenn Sie kein Anmeldeprompt erhalten oder nur
unleserliche Zeichen sehen, drücken Sie mehrmals, in
Abständen von ungefähr einer Sekunde,
Enter. Wenn Sie immer noch nicht die
login: Meldung sehen, schicken Sie ein
BREAK Kommando. Wenn Sie zur Einwahl ein
Highspeed-Modem benutzen, verwenden Sie eine feste
Geschwindigkeit auf der seriellen Schnittstelle des Modems
(AT&B1 für ein USR Sportster).
-
+
Wenn Sie jetzt immer noch kein Anmeldeprompt erhalten,
überprüfen Sie nochmals /etc/gettytab
und stellen sicher, dassder Verbindungstyp in /etc/ttys zu
einem gültigen Eintrag in /etc/gettytab
gehört,
-
+
jeder der nx= Einträge in
gettytab gültig ist und
-
+
jeder tc= Eintrag auf einen
gültigen Eintrag in gettytab
verweist.Wenn das Modem an Ihrem FreeBSD System auf einen eingehenden Anruf
nicht antwortet, stellen Sie sicher, dass das Modem so
konfiguriert ist, dass es einen Anruf beantwortet, wenn
DTR anliegt. Wenn Ihr Modem Statusindikatoren
besitzt, können Sie das Anliegen von DTR
anhand der Leuchten überprüfen.
-
+
Wenn Sie alles schon mehrfach überprüft haben und
es immer noch noch nicht funktioniert, machen Sie erst einmal
eine Pause, bevor Sie weitermachen. Wenn es immer noch nicht
funktioniert, können Sie eine Mail an die Mailingliste
&a.de.questions; schicken, in der Sie Ihr Modem und Ihr Problem
beschreiben und Ihnen sollte geholfen werden.
-
+
-
+
Verbindungen nach Außen
-
+
Die folgenden Ratschläge beschreiben, wie Sie mit einem
Modem eine Verbindung zu einem anderen Computer herstellen. Dies
können Sie nutzen, um sich auf einem entfernten Computer
anzumelden, oder um eine Verbindung zu einem BBS (Bulletin Board
System) herzustellen.
-
+
Weiterhin ist diese Art von Verbindungen nützlich, wenn mal
Ihr PPP nicht funktioniert. Wenn Sie zum Beispiel eine Datei
mit FTP übertragen wollen und das über PPP gerade nicht
möglich ist, melden Sie sich auf dem entfernten Rechner an und
führen dort die FTP Sitzung durch. Die Dateien können Sie
danach mit zmodem auf den lokalen Rechner übertragen.Mein Hayes Modem wird nicht unterstützt – was kann
ich tun?
-
+
Eigentlich ist die Onlinehilfe für tip
nicht mehr aktuell. Es gibt einen eingebauten, allgemeinen
Hayes Wähler. Verwenden Sie einfach at=hayes
in /etc/remote.
-
+
Der Hayes Treiber ist nicht schlau genug, um ein paar der
erweiterten Funktionen von neueren Modems zu erkennen –
Nachrichten wie BUSY,
NO DIALTONE oder CONNECT 115200
verwirren ihn nur. Sie sollten diese Nachrichten mit Hilfe von
ATX0&W abschalten, wenn Sie
tip benutzen.
-
+
Der Anwahl-Timeout von tip beträgt 60
Sekunden. Ihr Modem sollte weniger verwenden, oder
tip denkt, dass ein Kommunikationsfehler
vorliegt. Versuchen Sie es mit
ATS7=45&W.
-
+
Tatsächlich unterstützt die ausgelieferte Version
von tip Hayes Modems noch nicht
vollständig. Die Lösung ist,
tipconf.h in
/usr/src/usr.bin/tip/tip zu editieren.
Dafür benötigen Sie natürlich die Quellcode
Distribution.
-
+
Ändern Sie die Zeile #define HAYES 0
zu #define HAYES 1. Dann führen Sie
make und make install aus.
Es sollte jetzt funktionieren.
-
+
Wie soll ich die AT Befehle eingeben?
-
+
/etc/remoteErstellen Sie einen so genannten direct
Eintrag in /etc/remote. Wenn Ihr Modem zum
Beispiel an der ersten seriellen Schnittstelle,
/dev/cuaa0, angeschlossen ist, dann
fügen Sie die folgende Zeile hinzu:cuaa0:dv=/dev/cuaa0:br#19200:pa=noneVerwenden Sie die höchste bps Rate, die Ihr Modem in der
br Fähigkeit unterstützt. Geben Sie dann tip
cuaa0 ein und Sie sind mit Ihrem
Modem verbunden.
-
+
Wenn auf Ihrem System keine /dev/cuaa0
Datei existiert, geben Sie Folgendes ein:
-
+
&prompt.root; cd /dev
&prompt.root; sh MAKEDEV cuaa0
-
+
Oder benutzen Sie cu als
root mit dem folgenden Befehl:
-
+
&prompt.root; cu -lline -sspeed
-
+
line steht für die serielle
Schnittstelle (/dev/cuaa0) und
speed für die Geschwindigkeit
(57600). Wenn Sie mit dem Eingeben der AT
Befehle fertig sind, beenden Sie mit ~..
-
+
Wieso funktioniert das @ Zeichen für
die pn Fähigkeit nicht?
-
+
Das @ Zeichen in der
Telefonnummerfähigkeit sagt tip, dass
es in der Datei /etc/phones nach einer Nummer
suchen soll. Aber @ ist auch ein spezielles
Zeichen in den Dateien, in denen Fähigkeiten beschrieben
werden, wie /etc/remote. Schreiben Sie es mit
einem Backslash:pn=\@
-
+
Wie kann ich von der Kommandozeile eine Telefonnummer
wählen?
-
+
Stellen Sie einen allgemeinen Eintrag in
/etc/remote. Zum Beispiel:tip115200|Dial any phone number at 115200 bps:\
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600 bps:\
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
-
+
Mit dem folgenden Befehl können Sie dann
wählen:
-
+
&prompt.root; tip -115200 5551234
-
+
Sollten Sie cu gegenüber
tip bevorzugen, verwenden Sie einen allgemeinen
cu-Eintrag:cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:und benutzen zum Wählen das Kommando:&prompt.root; cu 5551234 -s 115200
-
+
Muss ich dabei jedes Mal die bps Rate angeben?
-
+
Schreiben Sie einen tip1200 oder einen
cu1200 Eintrag, aber geben Sie auch die bps Rate
an, die Ihr Modem wirklich unterstützt. Leider denkt
&man.tip.1;, dass 1200 bps ein guter Standardwert ist und
deswegen sucht es nach einem tip1200-Eintrag.
Natürlich müssen Sie nicht wirklich 1200 bps
benutzen.
-
+
Wie kann ich möglichst komfortabel über einen
Terminal-Server auf verschiedene Rechner zugreifen?
-
+
Sie müssen nicht warten bis Sie verbunden sind, und
jedes Mal CONNECT Rechner
eingeben, benutzen Sie tip's cm Fähigkeit.
Sie können diese Einträge in
/etc/remote verwenden:pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
:cm=CONNECT muffin\n:tc=deep13:
deep13:Gizmonics Institute terminal server:\
:dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:
-
+
Mit den Befehlen tip pain oder tip
muffin können Sie eine Verbindungen zu den Rechnern
pain oder muffin herstellen; mit
tip deep13 verbinden Sie sich mit dem Terminal
Server.
-
+
Kann tip mehr als eine Verbindung für jede Seite
ausprobieren?
-
+
Das ist oft ein Problem, wenn eine Universität mehrere
Telefonleitungen hat und viele tausend Studenten diese benutzen
wollen.
-
+
Erstellen Sie einen Eintrag für Ihre Universität in
/etc/remote und benutzen Sie
@ für die pn
Fähigkeit:big-university:\
:pn=\@:tc=dialout
dialout:\
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
-
+
Listen Sie die Telefonnummern der Universität in
/etc/phones auf:big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114
-
+
tip probiert jede der Nummern in der
aufgelisteten Reihenfolge und gibt dann auf. Möchten Sie,
dass tip beim Versuchen eine Verbindung
herzustellen nicht aufgibt, lassen Sie es in einer while-Schleife
laufen.
-
+
Warum muss ich zweimal
- Ctrl
+ CtrlP
tippen, um ein
CtrlP
zu senden?
-
+
CtrlP
ist das voreingestellte Zeichen, mit dem eine Übertragung
erzwungen werden kann und wird benutzt, um tip
zu sagen, dass das nächste Zeichen direkt gesendet werden
soll und nicht als Fluchtzeichen interpretiert werden soll. Mit
Hilfe der ~s Fluchtsequenz, mit der man
Variablen setzen kann, können Sie jedes andere Zeichen als
force-Zeichen definieren.
-
+
Geben Sie
~sforce=Zeichen
gefolgt von Enter ein. Für
Zeichen können Sie ein beliebiges
einzelnes Zeichen einsetzen. Wenn Sie
Zeichen weglassen, ist das
force-Zeichen nul, das Sie mit
Ctrl2
oder
CtrlLeertaste eingeben können. Ein guter Wert für
Zeichen ist
ShiftCtrl6, welches nur auf wenigen Terminal Servern benutzt
wird.
-
+
Sie können das force-Zeichen auch
bestimmen, indem Sie in $HOME/.tiprc das
Folgende einstellen:force=<single-char>
-
+
Warum ist auf einmal alles was ich schreibe in
GROSSBUCHSTABEN??
-
+
Sie müssen
CtrlA, eingegeben haben, das raise-Zeichen von
tip, das speziell für Leute mit defekten
caps-lock Tasten eingerichtet wurde. Benutzen Sie
~s wie oben und setzen Sie die Variable
raisechar auf etwas, das Ihnen angemessen
erscheint. Tatsächlich kann die Variable auf das gleiche
Zeichen wie das force-Zeichen gesetzt werden, wenn
Sie diese Fähigkeiten niemals benutzen wollen.
-
+
Hier ist ein Muster der .tiprc Datei,
perfekt für Emacs Benutzer, die oft
Ctrl2
und
CtrlA
tippen müssen:force=^^
raisechar=^^Geben Sie für ^^ShiftCtrl6 ein.
-
+
Wie kann ich Dateien mit tip
übertragen?
-
+
Wenn Sie mit einem anderen &unix; System kommunizieren,
können Sie mit ~p (put) und
~t (take) Dateien senden und empfangen. Diese
Befehle lassen cat und echo
auf dem entfernten System laufen, um Dateien zu empfangen und zu
senden. Die Syntax ist:~plocal-fileremote-file
-
+
~tremote-filelocal-file
-
+
Es gibt keine Fehlerkontrolle, deshalb sollten Sie besser ein
anderes Protokoll, wie zmodem, benutzen.
-
+
Wie kann ich zmodem mit tip laufen
lassen?
-
+
Um Dateien zu empfangen, starten Sie das Programm zum Senden
auf dem entfernten Computer. Geben Sie dann
~C rz ein, um die Dateien lokal zu empfangen.
-
+
Um Dateien zu senden, starten Sie das Programm zum Empfangen
auf dem entfernten Computer. Geben Sie dann
~C sz Dateien ein,
um Dateien auf das entfernte System zu senden.KazutakaYOKOTABeigesteuert von BillPaulAuf Grundlage eines Dokuments von Einrichten der seriellen Konsoleserial console
-
+
Einführung
-
+
FreeBSD kann ein System mit einem Dumb-Terminal (unintelligente
Datenstation) an einer seriellen Schnittstelle als Konsole booten.
Diese Konfiguration ist besonders nützlich für
Systemadministratoren, die FreeBSD auf Systemen ohne Tastatur oder
Monitor installieren wollen, und Entwickler, die den Kernel oder
Gerätetreiber debuggen.
-
+
Wie in beschrieben, besitzt FreeBSD drei
Bootphasen. Der Code für die ersten beiden Bootphasen befindet
sich im Bootsektor am
Anfang der FreeBSD Slice der Bootplatte. Dieser Bootblock
lädt den Bootloader (/boot/loader) in
Phase drei.
-
+
Um eine serielle Konsole einzurichten, müssen Sie den
Bootblock, den Bootloader und den Kernel konfigurieren.
-
+
-
+
Konfiguration der Konsole
-
+
Bereiten Sie ein serielles Kabel vor.
-
+
NullmodemkabelSie benötigen entweder ein Nullmodemkabel oder ein
serielles Standard Kabel mit einem Nullmodemkabel-Adapter. In
wurden serielle Kabel
beschrieben.Trennen Sie die Tastatur vom Computer.
-
+
Die meisten PC Systeme suchen beim Power On Self Test
(POST) nach einer Tastatur und geben eine Fehlermeldung aus,
wenn sie keine finden. Einige Maschinen werden sich sogar
weigern, ohne Tastatur zu booten.
-
+
Wenn Ihr Rechner trotz einer Fehlermeldung normal
weiterbootet, brauchen Sie weiter nichts zu tun.
Beispielsweise geben einige Maschinen mit einem Phoenix BIOS
nur Keyboard failed aus und booten dann
normal weiter.Wenn Ihr System ohne Tastatur nicht booten will,
müssen Sie das BIOS so konfigurieren, das es diesen Fehler
ignoriert (wenn das möglich ist). Das Handbuch zu Ihrem
Motherboard sollte beschreiben, wie das zu bewerkstelligen
ist.
-
+
Wenn Sie im BIOS Not installed für
die Tastatur einstellen, heißt das nicht, dass Sie
die Tastatur nicht benutzen können, sondern dies weist
das BIOS nur an, nicht nach einer Tastatur zu suchen. Trotz
dieser Einstellung können Sie die Tastatur angeschlossen
lassen und sie später verwenden.
-
+
Wenn Ihr System über eine PS/2 Maus verfügt,
müssen Sie diese wahrscheinlich auch abziehen. Da sich
die PS/2 Maus und die Tastatur einige Hardwarekomponenten
teilen, kann das dazu führen, dass die
Hardwareerkennung fälschlicherweise eine Tastatur findet,
wenn eine PS/2 Maus angeschlossen ist. Gateway 2000
Pentium 90 MHz Systemen wird dieses Verhalten nachgesagt.
Normalerweise ist das kein Problem, da eine Maus ohne
Tastatur sowieso nicht sinnvoll einsetzbar ist.Schließen Sie einen Dumb-Terminal an
COM1 (sio0)
an.
-
+
Wenn Sie keinen Dumb-Terminal besitzen, können Sie
einen alten PC/XT mit einem Terminalemulator oder die serielle
Schnittstelle eines anderen &unix; Rechners benutzen. Sie
benötigen auf jeden Fall eine freie erste serielle
Schnittstelle (COM1). Zurzeit ist es
nicht möglich, in den Bootblöcken eine andere
Schnittstelle zu konfigurieren, ohne diese neu zu kompilieren.
Wenn Sie COM1 bereits für ein
anderes Gerät benutzen, müssen Sie dieses Gerät
temporär entfernen und einen neuen Bootblock sowie Kernel
installieren, wenn Ihr FreeBSD erst einmal installiert ist.
Auf einem Server sollte COM1 ohnehin
verfügbar sein. Wenn Sie die Schnittstelle für ein
anderes Gerät benutzen und Sie dieses nicht auf
COM2 (sio1)
legen können, sollten Sie sich nicht an erster Stelle mit
dem Aufsetzen einer seriellen Konsole beschäftigen.
-
+
Stellen Sie sicher, dass Ihre Kernelkonfiguration die
richtigen Optionen für COM1
(sio0) enthält.
-
+
Relevante Optionen sind:
-
+
0x10
-
+
Aktiviert die Konsolenunterstützung für
dieses Gerät. Zurzeit kann nur ein Gerät die
Konsolenunterstützung aktiviert haben. Das erste,
in der Konfigurationsdatei aufgeführte Gerät,
mit dieser Option, verfügt über eine aktivierte
Konsolenunterstützung. Beachten Sie, dass
diese Option alleine nicht ausreicht, um die serielle
Konsole zu aktivieren. Setzen Sie entweder noch die
nachfolgend diskutierte Option oder verwenden Sie beim
Booten, wie unten beschrieben, den Schalter
.
-
+
0x20
-
+
Das erste Gerät in der Kernelkonfigurationsdatei
mit dieser Option wird, unabhängig von dem unten
diskutierten Schalter , zur Konsole.
Dies ersetzt COMCONSOLE der FreeBSD
Versionen 2.X. Die Option
muss zusammen mit
verwendet werden.
-
+
0x40
-
+
Reserviert dieses Gerät und sperrt es für
normale Zugriffe. Sie sollten diese Option nicht auf dem
Gerät setzen, das Sie als serielle Konsole verwenden
wollen. Der Zweck dieser Option ist es, dieses
Gerät für das Remote-Debuggen zu reservieren.
Das
FreeBSD Developers' Handbook enthält dazu weitere
Informationen.
-
+
In FreeBSD 4.0 und späteren Versionen hat sich
die Bedeutung dieser Option leicht geändert und es
existiert eine weitere Option, um ein Gerät zum
Remote-Debuggen zu verwenden.
-
+
Beispiel:
-
+
device sio0 at isa? port IO_COM1 tty flags 0x10 irq 4
-
+
Weitere Einzelheiten entnehmen Sie bitte
&man.sio.4;.
-
+
Wenn diese Optionen nicht gesetzt sind, müssen Sie auf
einer anderen Konsole beim Booten UserConfig starten oder den
Kernel neu kompilieren.Erstellen Sie boot.config im
Rootverzeichnis der a-Partition des
Bootlaufwerks.
-
+
Der Code des Bootblocks entnimmt dieser Datei, wie Sie Ihr
System booten möchten. Um die serielle Konsole zu
aktivieren, müssen Sie hier eine oder mehrere Optionen
(alle in derselben Zeile) angeben. Die folgenden Optionen
stehen zur Auswahl der Konsole zur Verfügung:
-
+
-
+
Schaltet zwischen der internen und der seriellen
Konsole um. Wenn Sie beispielsweise von der internen
Konsole (Bildschirm) booten, weist
den Bootloader und den Kernel an, die serielle
Schnittstelle als Konsole zu nehmen. Wenn die Konsole
normal auf der seriellen Schnittstelle liegt, wählen
Sie mit den Bildschirm aus.
-
+
-
+
Schaltet zwischen Einzelkonsole und Dual-Konsole um.
Die Einzelkonsole ist entweder die interne Konsole
(der Bildschirm) oder die serielle Schnittstelle, je nach
dem Stand von . Im
Dual-Konsolen Betrieb ist die Konsole, unabhängig
von , gleichzeitig der Bildschirm und
die serielle Schnittstelle. Dies trifft aber nur zu,
wenn der Bootblock ausgeführt wird. Sobald der
Bootloader ausgeführt wird, wird die durch
gegebene Konsole die alleinige
- Konsole.
+ Konsole.
-
+
-
+
Veranlasst den Bootblock nach einer Tastatur zu
suchen. Wenn keine Tastatur gefunden wird, werden
und automatisch
gesetzt.
-
+
Wegen Platzbeschränkungen in den
Bootblöcken kann nur
erweiterte Tastaturen erkennen. Tastaturen mit weniger
als 101 Tasten (und ohne F11 und F12 Tasten) werden
wahrscheinlich, wie vielleicht auch die Tastaturen
einiger Laptops, nicht erkannt. Wenn dies bei Ihrem
System der Fall ist, können Sie
nicht verwenden, da es leider noch keine Umgehung
für dieses Problem gibt.
-
+
Benutzen Sie also entweder , um die
Konsole automatisch zu setzen, oder , um die
serielle Konsole zu verwenden.
-
+
In boot.config können Sie auch
andere, in &man.boot.8; beschriebene Optionen,
aufnehmen.
-
+
Mit Ausnahme von werden die Optionen an
den Bootloader (/boot/loader)
weitergegeben. Der Bootloader untersucht dann einzig
um festzustellen, welches Gerät die
Konsole wird. Wenn Sie also nur angegeben
haben, können Sie die serielle Schnittstelle nur als
Konsole verwenden während der Bootblock ausgeführt
wird. Danach wird der Bootloader, da ja
fehlt, den Bildschirm zur Konsole machen.Booten Sie die Maschine.
-
+
Wenn Sie das FreeBSD System starten, werden die
Bootblöcke den Inhalt von /boot.config
auf der Konsole ausgeben:
-
+
/boot.config: -P
Keyboard: no
-
+
Die zweite Zeile sehen Sie nur, wenn Sie in
/boot.config angegeben
haben. Sie zeigt an, ob eine Tastatur angeschlossen ist oder
nicht. Die Meldungen gehen je nach den Einstellungen in
/boot.config auf die interne Konsole, die
serielle Konsole, oder beide Konsolen.
-
+
OptionenMeldungen erscheinen auf
-
+
keineder internen Konsole
-
+
der seriellen Konsole
-
+
der seriellen und der internen Konsole
-
+
der seriellen und der internen Konsole
-
+
, mit Tastaturder internen Konsole
-
+
, ohne Tastaturder seriellen Konsole
-
+
Nach den oben gezeigten Meldungen gibt es eine kleine
Verzögerung bevor die Bootblöcke den Bootloader
laden und weitere Meldungen auf der Konsole erscheinen. Sie
können die Ausführung der Bootblöcke
unterbrechen, um zu überprüfen, ob auch alles richtig
aufgesetzt ist, brauchen das aber unter normalen Umständen
nicht zu tun.
-
+
Drücken Sie eine Taste außer
Enter um den Bootvorgang zu unterbrechen. Sie
erhalten dann ein Prompt, an dem Sie weitere Eingaben
tätigen können:
-
+
>> FreeBSD/i386 BOOT
Default: 0:wd(0,a)/boot/loader
boot:
-
+
Je nach Inhalt von /boot.config
erscheint das Prompt auf der seriellen Konsole, der internen
Konsole oder beiden Konsolen. Wenn die Meldung auf der
richtigen Konsole erscheint, drücken Sie
Enter um fortzufahren.
-
+
Wenn Sie das Prompt auf der seriellen Konsole erwartet
haben, dort aber nichts sehen, liegt ein Fehler in Ihren
Einstellungen vor. Als Umgehung geben Sie an der momentanen
Konsole ein, um den Bootblock und den
Bootloader auf die serielle Konsole umzustellen. Führen
Sie dann den Bootvorgang mit Enter weiter
und wenn das System gebootet hat, können Sie die
fehlerhaften Einstellungen korrigieren.
-
+
Nachdem der Bootloader geladen wurde und Sie sich in der
dritten Bootphase befinden, können Sie immer noch zwischen der
internen und der seriellen Konsole auswählen. Setzen Sie dazu,
wie in beschrieben, die
entsprechenden Variablen des Bootloaders.
-
+
Zusammenfassung
-
+
Die folgende Übersicht zeigt, welche Konsole, abhängig
von den getroffenen Einstellungen, ausgewählt wird.
-
+
Fall 1: Option 0x10 für
sio0device sio0 at isa? port IO_COM1 tty flags 0x10 irq 4Optionen in /boot.configKonsole in den BootblöckenKonsole im BootloaderKonsole im Kernel
-
+
keineinterneinterneinterne
-
+
serielleserielleserielle
-
+
serielle und interneinterneinterne
-
+
serielle und interneserielleserielle
-
+
, mit Tastaturinterneinterneinterne
-
+
, ohne Tastaturserielle und interneserielleserielle
-
+
Fall 2: Option 0x30 für
sio0device sio0 at isa? port IO_COM1 tty flags 0x30 irq 4
-
+
Optionen in /boot.configKonsole in den BootblöckenKonsole im BootloaderKonsole im Kernel
-
+
keineinterneinterneserielle
-
+
serielleserielleserielle
-
+
serielle und interneinterneserielle
-
+
serielle und interneserielleserielle
-
+
, mit Tastaturinterneinterneserielle
-
+
, ohne Tastaturserielle und interneserielleserielle
-
+
Hinweise zur seriellen Konsole
-
+
Verwenden einer höheren GeschwindigkeitDie Vorgabewerte für die Kommunikationsparameter der
seriellen Schnittstelle sind: 9600 baud, 8 Bit, keine
Parität und ein Stopp-Bit. Wenn Sie die Geschwindigkeit
ändern wollen, müssen Sie mindestens die
Bootblöcke neu kompilieren. Fügen Sie die folgende
Zeile in /etc/make.conf hinzu und
kompilieren Sie Bootblöcke neu:BOOT_COMCONSOLE_SPEED=19200
-
+
Wenn die serielle Konsole auf einem anderen Weg als durch die
Verwendung von konfiguriert wird, oder die
serielle Konsole des Kernels eine andere als die der
Bootblöcke ist, müssen der Kernelkonfiguration zudem
noch die folgende Option hinzufügen und einen neuen Kernel
kompilieren:
-
+
options CONSPEED=19200
-
+
Eine andere Schnittstelle als sio0
benutzenWenn Sie, warum auch immer, ein anderes Gerät als
sio0 für die serielle Konsole
einsetzen wollen, kompilieren Sie bitte die Bootblöcke, den
Bootloader und den Kernel nach dem folgenden Verfahren
neu.
-
+
Installieren Sie die Kernelquellen (siehe
).
-
+
Setzen Sie in /etc/make.confBOOT_COMCONSOLE_PORT auf die Adresse der
Schnittstelle (0x3F8, 0x2F8, 0x3E8 oder 0x2E8), die Sie
benutzen möchten. Sie können nur
sio0 bis
sio3 (COM1
bis COM4) benutzen, Multiportkarten
können Sie nicht als Konsole benutzen. Interrupts
müssen Sie hier nicht angeben.
-
+
Erstellen Sie eine angepasste Kernelkonfiguration
und geben Sie dort die richtigen Optionen für die
Schnittstelle, die Sie benutzen möchten, an. Wenn Sie
zum Beispiel sio1
(COM2) zur Konsole machen wollen,
geben Sie dort entweder
-
+
device sio1 at isa? port IO_COM2 tty flags 0x10 irq 3
-
+
oder
-
+
device sio1 at isa? port IO_COM2 tty flags 0x30 irq 3
-
+
an. Keine andere serielle Schnittstelle sollte als
Konsole definiert werden.
-
+
Übersetzen und installieren Sie die
Bootblöcke und den Bootloader:
-
+
&prompt.root; cd /sys/boot
&prompt.root; make
&prompt.root; make install
-
+
Bauen und installieren Sie einen neuen Kernel.
-
+
Schreiben Sie die Bootblöcke mit &man.disklabel.8;
auf die Bootplatte und booten Sie den neuen Kernel.
-
+
DDB Debugger über die serielle SchnittstelleWenn Sie den Kerneldebugger über eine serielle
Verbindung bedienen möchten (nützlich, kann aber
gefährlich sein, wenn auf der Leitung falsche BREAK Signale
generiert werden), sollten Sie einen Kernel mit
den folgenden Optionen erstellen:
-
+
options BREAK_TO_DEBUGGER
options DDB
-
+
Benutzung der seriellen Konsole zum AnmeldenDa Sie schon die Bootmeldungen auf der Konsole verfolgen
können und den Kerneldebugger über die Konsole bedienen
können, wollen Sie sich vielleicht auch an der Konsole
anmelden.
-
+
Öffnen Sie /etc/ttys in einem
Editor und suchen Sie nach den folgenden Zeilen:
-
+
ttyd0 "/usr/libexec/getty std.9600" unknown off secure
ttyd1 "/usr/libexec/getty std.9600" unknown off secure
ttyd2 "/usr/libexec/getty std.9600" unknown off secure
ttyd3 "/usr/libexec/getty std.9600" unknown off secure
-
+
ttyd0 bis ttyd3
entsprechen COM1 bis
COM4. Ändern Sie für die
entsprechende Schnittstelle off zu
on. Wenn Sie auch die Geschwindigkeit der
seriellen Schnittstelle geändert haben, müssen Sie
std.9600 auf die momentane Geschwindigkeit, zum
Beispiel std.19200, anpassen.
-
+
Sie sollten auch den Terminaltyp von
unknown auf den tatsächlich verwendeten
Terminal setzen.Damit die Änderungen an der Datei wirksam werden,
müssen Sie noch kill -HUP 1
absetzen.
-
+
Die Konsole im Bootloader ändern
-
+
In den vorigen Abschnitten wurde beschrieben, wie Sie die
serielle Konsole durch Änderungen im Bootblock aktivieren.
Dieser Abschnitt zeigt Ihnen, wie Sie mit Kommandos und
Umgebungsvariablen die Konsole im Bootloader definieren. Da der
Bootloader die dritte Phase im Bootvorgang ist und nach den
Bootblöcken ausgeführt wird, überschreiben
seine Einstellungen die des Bootblocks.
-
+
Festlegen der KonsoleMit einer einzigen Zeile in
/boot/loader.rc können Sie den
Bootloader und den Kernel anweisen, die serielle Schnittstelle
zur Konsole zu machen:
-
+
set console=comconsole
-
+
Unabhängig von den Einstellungen im Bootblock legt dies
die Konsole fest.
-
+
Die obige Zeile sollte die erste Zeile in
/boot/loader.rc sein, so dass Sie die
Bootmeldungen so früh wie möglich auf der Konsole
sehen.
-
+
Analog können Sie die interne Konsole verwenden:set console=vidconsole
-
+
Wenn Sie console nicht setzen, bestimmt der
Bootloader (und damit auch der Kernel) die Konsole über
die Option des Bootblocks.
-
+
Ab FreeBSD 3.2 können Sie die Bootkonsole in
/boot/loader.conf.local oder
/boot/loader.conf anstatt in
/boot/loader.rc angeben. In
/boot/loader.rc finden Sie bei dieser Methode
den folgenden Inhalt:
-
+
include /boot/loader.4th
start
-
+
Erstellen Sie /boot/loader.conf.local
und fügen die Zeile
-
+
console=comconsole
-
+
oderconsole=vidconsole
-
+
ein. Weitere Informationen erhalten Sie in
&man.loader.conf.5;.Momentan gibt es im Bootloader nichts vergleichbares zu
im Bootblock. Damit kann die Konsole nicht
automatisch über das Vorhandensein einer Tastatur
festgelegt werden.
-
+
Eine andere Schnittstelle als sio0
benutzenSie müssen den Bootloader neu kompilieren, wenn Sie eine
andere Schnittstelle als sio0 benutzen
wollen. Folgen Sie der Anleitung aus
.
-
+
Vorbehalte
-
+
Hinter dem ganzen steckt die Idee, Server ohne Hardware
für Grafik und ohne Tastatur zu betreiben. Obwohl es die
meisten Systeme erlauben, ohne Tastatur zu booten, gibt es leider
nur wenige Systeme, die ohne eine Grafikkarte booten. Maschinen
mit einem AMI BIOS können ohne Grafik booten, indem Sie den
Grafikadapter im CMOS-Setup auf Not installed
setzen.
-
+
Viele Maschinen unterstützen diese Option allerdings nicht.
Damit diese Maschinen booten, müssen sie über eine
Grafikkarte, auch wenn es nur eine alte Monochromkarte ist,
verfügen. Allerdings brauchen Sie keinen Monitor an die Karte
anzuschließen. Sie können natürlich auch
versuchen, auf diesen Maschinen ein AMI BIOS zu
installieren.
-
diff --git a/de_DE.ISO8859-1/books/handbook/sound/chapter.sgml b/de_DE.ISO8859-1/books/handbook/sound/chapter.sgml
index ad3f7930f9..319c00579d 100644
--- a/de_DE.ISO8859-1/books/handbook/sound/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/sound/chapter.sgml
@@ -1,661 +1,661 @@
MosesMooreVon BenediktKöhlerÜbersetzt von UwePierau
-
+
Sound
-
+
Zusammenfassung
-
+
FreeBSD unterstützt viele unterschiedliche Soundkarten,
die Ihnen den Genuss von Highfidelity-Klängen auf Ihrem
Computer ermöglichen. Dazu gehört unter anderem die
Möglichkeit, Tonquellen in den Formaten MPEG Audio Layer 3
(MP3), WAV, Ogg Vorbis und vielen weiteren Formaten aufzunehmen
und wiederzugeben. Darüber hinaus enthält die FreeBSD
Ports-Sammlung Anwendungen, die Ihnen das Bearbeiten Ihrer
aufgenommenen Tonspuren, das Hinzufügen von Klangeffekten
und die Kontrolle der angeschlossenen MIDI-Geräte
erlauben.
-
+
Nach dem Lesen dieses Kapitels werden Sie wissen:Wie Sie Ihre Soundkarte
bestimmen.Wie Sie Ihr System so einstellen, dass die
Soundkarte richtig erkannt wird.Einige Methoden und Beispielanwendungen, mit
denen Sie das korrekte Funktionieren Ihrer Soundkarte
überprüfen können.Wie Sie Fehler in Ihren
Soundkarten-Einstellungen finden.Wie Sie MP3s wiedergeben und
erzeugen.Wie Sie CD-Tonspuren in Dateien
rippen.
-
+
Bevor Sie dieses Kapitel leben, sollten Sie:
-
+
Wissen, wie Sie einen neuen Kernel
konfigurieren und installieren ().
-
+
Bestimmen des korrekten GerätsPCIISASoundkartenZunächst sollten Sie in Erfahrung bringen, welches
Modell Ihrer Soundkarte Sie haben, welchen Chip sie benutzt und
ob es sich um eine PCI- oder ISA-Karte handelt. FreeBSD
unterstützt eine ganze Reihe sowohl von PCI- als auch von
ISA-Karten. Wenn Ihre Soundkarte in der folgenden Liste nicht
auftaucht, konsultieren Sie die &man.pcm.4; Manualpage. Diese
Liste ist zwar nicht vollständig, deckt jedoch einige der
verbreitetsten Karten ab.Crystal 4237, 4236, 4232, 4231Yamaha OPL-SAxOPTi931Ensoniq AudioPCI 1370/1371ESS Solo-1/1ENeoMagic 256AV/ZXSound Blaster Pro, 16, 32, AWE64, AWE128, LiveCreative ViBRA16Advanced Asound 100, 110, and Logic ALS120ES 1868, 1869, 1879, 1888Gravis UltraSoundAureal Vortex 1 or 2
-
+
KernelKonfigurationUm Ihre Soundkarte benutzen zu können, müssen Sie
den richtigen Gerätetreiber laden. Dafür gibt es mehrere
Möglichkeiten: Am einfachsten ist es, mit &man.kldload.8; das
entsprechende Kernel-Modul für Ihre Soundkarte zu laden. Sie
können aber auch die Unterstützung Ihrer Soundkarte
statisch in den Kernel hineinkompilieren. Der folgende Abschnitt
erklärt diese Methode. Weitere Informationen über das
Kompilieren eines Kernels erhalten sie in dem Kapitel Kernelkonfiguration.
-
+
Creative, Advance und ESS SoundkartenFür jede dieser Karten fügen Sie die folgende Zeile
zu Ihrer Kernelkonfiguration hinzu:
-
+
device pcm
-
+
ISA-Karten benötigen zusätzlich noch die
Zeile:device sbcNicht-PnP fähige ISA-Karten benötigen die Zeilen:device pcm
device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15Dies sind die
Voreinstellungen. Sie werden unter Umständen den IRQ oder
andere Einstellungen anpassen müssen. In der &man.sbc.4;
Manualpage finden Sie weitere Informationen dazu.Die Karte Sound Blaster Live wird unter FreeBSD 4.0
nicht unterstützt. Dazu benötigen Sie einen Patch,
der in diesem Dokument nicht behandelt wird. Es ist deshalb
empfehlenswert, dass Sie in diesem Fall Ihr System auf den
neuesten -STABLE Stand aktualisieren, bevor Sie diese Karte
benutzen können.Gravis UltraSound KartenEine PnP ISA-Karte benötigt die folgenden Zeilen in der
Kernelkonfiguration:device pcm
device guscWenn Sie eine nicht-PnP fähige ISA-Karte besitzen,
fügen Sie die folgenden Zeilen ein:device pcm
device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13Es kann sein, dass Sie den
IRQ oder andere Einstellungen Ihrer Karte anpassen
müssen. Lesen Sie dazu die &man.gusc.4; Manualpage
für weitere Informationen.Crystal SoundkartenIn der Kernelkonfiguration geben Sie für Crystal Karten
die beiden folgenden Zeilen an:device pcm
device csaAllgemeine UnterstützungFür PnP ISA- oder PCI-Karten fügen Sie die folgende
Zeile zu Ihrer Kernelkonfiguration hinzu:device pcmWenn Sie eine nicht-PnP ISA-Karte besitzen, die keinen
Bridge-Treiber hat, geben Sie zusätzlich die folgende Zeile
an:device pcm0 at isa? irq 10 drq 1 flags 0x0Ändern Sie den IRQ oder
andere Einstellungen so, dass sie Ihrer Soundkarte
entsprechen.Onboard Sound
-
+
Einige Systeme besitzen direkt auf dem Motherboard
eingebaute Soundgeräte. Diese benötigen die folgende
Angabe in Ihrer Kernelkonfiguration:
-
+
options PNPBIOSErstellen und Testen der Device NodesDevice NodeGerätedateiNach einem Neustart loggen Sie sich ein und geben
dmesg | grep pcm ein. Sie sollten etwas wie das
folgende sehen:&prompt.root; dmesg | grep pcm
pcm0: <SB16 DSP 4.11> on sbc0Die Ausgabe Ihres Systems kann anders aussehen. Erscheinen
keine pcm Geräte, dann ist zuvor
ein Fehler aufgetreten. Wenn das passiert, schauen Sie sich Ihre
Kernelkonfiguration noch einmal an und vergewissern Sie sich,
dass Sie den richtigen Treiber gewählt haben. Weitere
Hinweise zur Fehlersuche gibt .Ergab der vorige Befehl pcm0 als
Ausgabe, dann müssen Sie folgendes als root
ausführen:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV snd0Wenn auf den vorigen Befehl pcm1
als Ausgabe erschienen ist, dann müssen Sie dieselben
Befehle ausführen, nur dass Sie
snd0 durch
snd1 ersetzen.
-
+
- Die obigen Kommandos legen kein
+ Die obigen Kommandos legen kein/dev/snd Device an.Der Befehl MAKEDEV erzeugt eine Gruppe
von Device Nodes, darunter:
-
+
DeviceBeschreibung/dev/audioSPARC-compatible audio device/dev/dspDigitized voice device/dev/dspW/dev/dsp-ähnliches
Device mit 16 bits pro Sample/dev/midiRaw midi access device/dev/mixerControl port mixer device/dev/musicLevel 2 sequencer interface/dev/sequencerSequencer device/dev/pssProgrammable device interfaceWenn alles geklappt hat, haben Sie jetzt eine
funktionierende Soundkarte. Nun können Sie eine Anwendung
wie audio/mpg123 installieren,
um Audiodateien anhören zu können.
-
+
Häufige ProblemeFehlerLösungDevice NodeGerätedateiunsupported subdevice XXEin oder mehrere Device Nodes wurden nicht
korrekt angelegt. Wiederholen Sie die oben angegebenen
Schritte.I/O portsb_dspwr(XX) timed outDer I/O Port ist nicht korrekt angegeben.IRQbad irq XXDer IRQ ist falsch angegeben. Stellen Sie
sicher, dass der angegebene IRQ mit dem Sound IRQ
übereinstimmt.
- xxx: gus pcm not attached, out of
+ xxx: gus pcm not attached, out of
memoryEs ist nicht genug Speicher verfügbar,
um das Gerät betreiben zu können.DSPxxx: can't open /dev/dsp!Überprüfen Sie mit fstat |
grep dsp ob eine andere Anwendung das
Gerät geöffnet hat. Häufige
Störenfriede sind esound
oder die Sound-Unterstützung von
KDE.ChernLeeEin Beitrag von BenediktKöhlerÜbersetzt von MP3 AudioMP3 (MPEG Layer 3 Audio) ermöglicht eine
Klangwiedergabe in CD-ähnlicher Qualität, was Sie sich
auf Ihrem FreeBSD Rechner nicht entgehen lassen sollten.MP3-PlayerXMMS (X Multimedia System) ist
bei weitem der beliebteste XFree86 MP3-Player.
WinAmp-Skins können auch mit
XMMS genutzt werden, da die
Benutzerschnittstelle fast identisch mit der von Nullsofts
WinAmp ist. Daneben
unterstützt XMMS auch eigene
Plugins.
-
+
XMMS kann als
audio/xmms Port oder Package installiert
werden.Die Benutzerschnittstelle von
XMMS ist leicht zu erlernen und
beinhaltet eine Playlist, einen graphischen Equalizer und
vieles mehr. Diejenigen, die mit WinAmp vertraut sind, werden
XMMS sehr leicht zu benutzen
finden.Der Port audio/mpg123 ist
ein alternativer, kommandozeilenorientierter MP3-Player.
-
+
mpg123 kann ausgeführt
werden, in dem man das zu benutzende Sound Device und die
abzuspielende MP3-Datei in der Kommandozeile wie unten
angibt:&prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from BT - Foobar-GreastHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
/dev/dsp1.0 sollten Sie dabei mit dem
dsp-Device Ihres Systems ersetzen.
-
+
CD-Audio Tracks rippen
-
+
Bevor man eine ganze CD oder einen CD-Track in das
MP3-Format umwandeln kann, müssen die Audiodaten von der
CD auf die Festplatte gerippt werden. Dabei werden die CDDA
(CD Digital Audio) Rohdaten in WAV-Dateien kopiert.Die Anwendung cdda2wav die in dem
sysutils/cdrtools Paket enthalten
ist, kann zum Rippen der Audiodaten und anderen Informationen von CDs
genutzt werden.
-
+
Wenn die Audio CD in dem Laufwerk liegt, können Sie
mit folgendem Befehl (als root) eine
ganze CD in einzelne WAV-Dateien (eine Datei für jeden
Track) rippen:
-
+
&prompt.root; cdda2wav -D 0,1,0 -BDer Schalter bezieht sich auf
das SCSI Device 0,1,0, dass sich aus
dem Ergebnis des Befehls cdrecord -scanbus
ergibt.
-
+
Um einzelne Tracks zu rippen, benutzen Sie den
Schalter wie folgt:
-
+
&prompt.root; cdda2wav -D 0,1,0 -t 7
-
+
Dieses Beispiel rippt den siebten Track der Audio
CD-ROM. Um mehrere Tracks zu rippen, zum Beispiel die Tracks
eins bis sieben, können Sie wie folgt einen Bereich
angeben:
-
+
&prompt.root; cdda2wav -D 0,1,0 -t 1+7cdda2wav unterstützt auch ATAPI
(IDE) CD-ROM Laufwerke. Wenn Sie ein IDE Laufwerk benutzen, geben
Sie beim Aufruf von cdda2wav den
Gerätenamen anstelle der SCSI Gerätenummern an. Um den
siebten Track eines IDE Laufwerkes zu rippen, benutzen Sie das
folgende Kommando:&prompt.root; cdda2wav -D /dev/acd0a -t 7
-
+
MP3-Dateien kodierenGegenwärtig ist Lame der
meistbenutzte MP3-Encoder. Lame
finden Sie unter audio/lame im
Ports-Verzeichnis.
-
+
Benutzen Sie die WAV-Dateien, die sie von CD gerippt
haben, und wandeln sie mit dem folgenden Befehl die Datei
audio01.wav in
audio01.mp3 um:&prompt.root; lame -h -b 128 \
--tt "Foo Liedtitel" \
--ta "FooBar Künstler" \
--tl "FooBar Album" \
--ty "2001" \
--tc "Geripped und kodiert von Foo" \
--tg "Musikrichtung" \
audio01.wav audio01.mp3
-
+
128 kbits ist die gewöhnliche MP3 Bitrate. Viele
bevorzugen mit 160 oder 192 kbits eine höhere Qualität. Je
höher die Bitrate ist, desto mehr Speicherplatz
benötigt die resultierende MP3-Datei, allerdings wird die
Qualität dadurch auch besser. Der Schalter
verwendet den higher quality but a
little slower (höhere Qualität, aber etwas
langsamer) Modus. Die Schalter, die mit
beginnen, sind ID3-Tags, die in der Regel
Informationen über das Lied enthalten und in die
MP3-Datei eingebettet sind. Weitere Optionen können in
der Manualpage von Lame nachgelesen
werden.
-
+
MP3-Dateien dekodierenUm aus MP3-Dateien eine Audio CD zu erstellen, müssen
diese in ein nicht komprimiertes WAV-Format umgewandelt
werden. Sowohl XMMS als auch
mpg123 unterstützen die Ausgabe
der MP3-Dateien in unkomprimierte Dateiformate.Dekodieren mit XMMS:Starten Sie XMMS.Klicken Sie mit der rechten Maustaste, um das
XMMS-Menu zu öffnen.Wählen Sie Preference im
Untermenü Options.Ändern Sie das Output-Plugin in Disk
Writer Plugin.Drücken Sie Configure.Geben Sie ein Verzeichnis ein (oder wählen Sie
browse), in das Sie die unkomprimierte Datei schreiben
wollen.Laden Sie die MP3-Datei wie gewohnt in
XMMS mit einer Lautstärke
von 100% und einem abgeschalteten EQ.Drücken Sie Play und es wird
so aussehen, als spiele XMMS
die MP3-Datei ab, aber keine Musik ist zu hören. Der
Player überspielt die MP3-Datei in eine Datei.Vergessen Sie nicht, das Output Plugin wieder in den
Ausgangszustand zurückzusetzen um wieder MP3-Dateien
anhören zu können.Mit mpg123 nach stdout schreiben:Geben Sie mpg123 -s
audio01.mp3 > audio01.pcm
ein
-
+
XMMS schreibt die Datei in dem
WAV-Formal während mpg123 die
MP3-Datei in rohe PCM Audiodaten umwandelt. Beide Formate
können von cdrecord oder
burncd verwendet werden, um Audio
CDs zu schreiben.
-
+
Lesen Sie in diesem Handbuch,
um mehr Informationen zur Benutzung von CD-Brennern mit FreeBSD zu
erhalten.
-
diff --git a/de_DE.ISO8859-1/books/handbook/users/chapter.sgml b/de_DE.ISO8859-1/books/handbook/users/chapter.sgml
index a235cb895f..7e7497e485 100644
--- a/de_DE.ISO8859-1/books/handbook/users/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/users/chapter.sgml
@@ -1,1121 +1,1121 @@
NeilBlakey-MilnerBeigetragen von RobertDrehmelÜbersetzt von Benutzer und grundlegende Account-Verwaltung
-
+
Übersicht
-
+
Einen FreeBSD Computer können mehrere Benutzer zur selben
Zeit benutzen, allerdings kann immer nur einer vor der Konsole sitzen
Außer Sie verwenden, wie in besprochen, zusätzliche Terminals, über das Netzwerk können beliebig viele
Benutzer angemeldet sein. Jeder Benutzer muss einen Account
haben, um das System benutzen zu können.Nachdem Sie dieses Kapitel gelesen haben, werden Siedie verschiedenen Account-Typen von FreeBSD kennen,wissen, wie Accounts angelegt werden,wissen, wie Sie Accounts löschen,wie Sie Attribute eines Accounts, wie den Loginnamen oder
die Login-Shell ändern,wissen, wie Sie Limits für einen Account setzen, um
beispielsweise Ressourcen, wie Speicher oder CPU-Zeit,
einzuschränken,wie Sie mit Gruppen die Verwaltung der Accounts
vereinfachen.Vor dem Lesen dieses Kapitels sollten Siedie Grundlagen von &unix; und FreeBSD ()
verstanden haben.EinführungJeder Zugriff auf das System geschieht über Accounts und alle
Prozesse werden von Benutzern gestartet, also sind Benutzer- und
Account-Verwaltung von wesentlicher Bedeutung in FreeBSD-Systemen.Mit jedem Account eines FreeBSD Systems sind bestimmte Informationen
verknüpft, die diesen Account identifizieren.LoginnamenDen Loginnamen geben Sie bei der Anmeldung ein, wenn Sie
dazu mit login: aufgefordert werden.
Loginnamen müssen auf dem System eindeutig sein, das
heißt auf einem System kann es nicht zwei Accounts mit
demselben Loginnamen geben. In &man.passwd.5; wird
beschrieben, wie ein gültiger Loginname gebildet wird.
Normalerweise sollten Sie Namen verwenden, die aus
Kleinbuchstaben bestehen und bis zu acht Zeichen lang sind.PasswortMit jedem Account ist ein Passwort verknüpft. Wenn
das Passwort leer ist, wird es bei der Anmeldung nicht
abgefragt. Das ist allerdings nicht zu empfehlen, daher sollte
jeder Account ein Passwort besitzen.User ID (UID)Die UID ist eine Zahl zwischen 0 und 65536, die einen
Account eindeutig identifiziert. Intern verwendet FreeBSD nur
die UID, Loginnamen werden zuerst in eine UID umgewandelt,
mit der das System dann weiter arbeitet. Das bedeutet, dass
Sie Accounts mit unterschiedlichen Loginnamen aber gleicher
UID einrichten können. Vom Standpunkt des Systems handelt
es sich dabei um denselben Account. In der Praxis werden Sie
diese Eigenschaft des Systems wahrscheinlich nicht
benutzen.Group ID (GID)Die GID ist eine Zahl zwischen 0 und 65536, die eine Gruppe
eindeutig identifiziert. Mit Gruppen kann der Zugriff auf
Ressourcen über die GID anstelle der UID geregelt werden.
Einige Konfigurationsdateien werden durch diesen Mechanismus
deutlich kleiner. Ein Account kann mehreren Gruppen
zugehören.Login-KlasseLogin-Klassen erweitern das Gruppenkonzept. Sie
erhöhen die Flexibilität des Systems in der Handhabung
der verschiedenen Accounts.Gültigkeit von PasswörternEin regelmäßiges Ändern des Passworts wird in
der Voreinstellung von FreeBSD nicht erzwungen. Sie
können allerdings einen Passwortwechsel nach einer
gewissen Zeit auf Basis einzelner Accounts erzwingen.Verfallszeit eines AccountsIn der Voreinstellung verfallen unter FreeBSD keine
Accounts. Wenn Sie Accounts einrichten, die nur für eine
bestimmte Zeit gültig sein sollen, beispielsweise Accounts
für Teilnehmer eines Praktikums, können Sie angeben,
wie lange der Account gültig sein soll. Nachdem die
angegebene Zeitspanne verstrichen ist, kann dieser Account
nicht mehr zum Anmelden verwendet werden, obwohl alle
Verzeichnisse und Dateien, die diesem Account gehören,
noch vorhanden sind.vollständiger BenutzernameFreeBSD identifiziert einen Account eindeutig über
den Loginnamen, der aber keine Ähnlichkeit mit dem
richtigen Namen des Benutzers haben muss. Der
vollständige Benutzername kann daher beim Einrichten eines
Accounts angegeben werden.HeimatverzeichnisDas Heimatverzeichnis gibt den vollständigen Pfad zu
dem Verzeichnis an, in dem sich der Benutzer nach erfolgreicher
Anmeldung befindet. Es ist üblich, alle
Heimatverzeichnisse unter
/home/Loginname
oder
/usr/home/Loginname
anzulegen. Im Heimatverzeichnis oder in dort angelegten
Verzeichnissen werden die Dateien eines Benutzers
gespeichert.Login-ShellGrundsätzlich ist die Schnittstelle zum System eine
Shell, von denen es viele unterschiedliche gibt. Die
bevorzugte Shell eines Benutzers kann seinem Account zugeordnet
werden.Es gibt drei Haupttypen von Accounts: Der
Superuser,
Systembenutzer und
Benutzer-Accounts. Der
Superuser-Account, normalerweise root genannt, wird
benutzt, um das System ohne Beschränkungen auf Privilegien zu
verwalten. Systembenutzer starten Dienste. Abschließend werden
Benutzer-Accounts von echten Menschen genutzt, die sich einloggen, Mails
lesen und so weiter.
-
+
Der Superuser-AccountAccountsSuperuser (root)
-
+
Der Superuser-Account, normalerweise root
genannt, ist vorkonfiguriert und erleichtert die Systemverwaltung, sollte
aber nicht für alltägliche Aufgaben wie das Verschicken und
Empfangen von Mails, Entdecken des Systems oder Programmierung benutzt
werden.
-
+
Das ist so, da der Superuser im Gegensatz zu normalen
Benutzer-Accounts ohne Beschränkungen operiert und falsche
Anwendung des Superuser-Accounts in spektakulären Katastrophen
resultieren kann. Benutzer-Accounts sind nicht in der Lage, das System
versehentlich zu zerstören, deswegen ist es generell am besten
normale Benutzer-Accounts zu verwenden, solange man nicht
hauptsächlich die extra Privilegien benötigt.Kommandos, die Sie als Superuser eingeben, sollten Sie immer
doppelt und dreifach überprüfen, da ein
zusätzliches Leerzeichen oder ein fehlender Buchstabe irreparablen
Datenverlust bedeuten kann.Das erste, das Sie tun sollten, nachdem Sie dieses Kapitel gelesen
haben, ist einen unprivilegierten Benutzer für Ihre eigene normale
Benutzung zu erstellen, wenn Sie das nicht bereits getan haben. Das
trifft immer zu, egal ob Sie ein Mehrbenutzersystem oder ein System
laufen haben, welches Sie alleine benutzen. Später in diesem
Kapitel besprechen wir, wie man zusätzliche Accounts erstellt und
wie man zwischen dem normalen Benutzer und dem Superuser wechselt.
-
+
System-AccountsAccountsSystem-AccountsSystembenutzer starten Dienste wie DNS, Mail-Server, Web-Server und so
weiter. Der Grund dafür ist die Sicherheit; wenn die Programme
von dem Superuser gestartet werden, können Sie ohne
Einschränkungen handeln.AccountsdaemonAccountsoperatorBeispiele von Systembenutzern sind daemon,
operator, bind (für den
Domain Name Service) und news. Oft erstellen
Systemadministratoren den Benutzer httpd, um
Web-Server laufen zu lassen, die sie installieren.Accountsnobodynobody ist der generische unprivilegierte
Systembenutzer. Bedenken Sie aber, dass je mehr Dienste
nobody benutzen, desto mehr Dateien und Prozesse
diesem Benutzer gehören und dieser Benutzer damit umso
privilegierter wird.Benutzer-AccountsAccountsBenutzer-AccountsBenutzer-Account sind das primäre Mittel des Zugriffs für
echte Menschen auf das System und isolieren Benutzer und Umgebung,
schützen die Benutzer davor, das System oder Daten anderer Benutzer
zu beschädigen und erlauben Benutzern ihre Umgebung selbst
einzurichten, ohne das sich dies auf andere auswirkt.Jede Person, die auf Ihr System zugreift, sollte ihren eigenen
Account besitzen. Das erlaubt Ihnen herauszufinden, wer was macht
und hält Leute davon ab, die Einstellungen der anderen zu
verändern oder Mails zu lesen, die nicht für sie bestimmt
waren.Jeder Benutzer kann sich eine eigene Umgebung mit alternativen
Shells, Editoren, Tastaturbelegungen und Sprachen einrichten.Accounts verändernAccountsverändernUnter &unix; gibt es verschiedene Kommandos, um Accounts zu
verändern. Die gebräuchlichsten Kommandos sind unten,
gefolgt von einer detaillierten Beschreibung, zusammengefasst.KommandoZusammenfassung&man.adduser.8;Das empfohlene Werkzeug, um neue Accounts zu
erstellen.&man.rmuser.8;Das empfohlene Werkzeug, um Accounts zu
löschen.&man.chpass.1;Ein flexibles Werkzeug, um Informationen in der
Account-Datenbank zu verändern.&man.passwd.1;Ein einfaches Werkzeug, um Passwörter von Accounts
zu ändern.&man.pw.8;Ein mächtiges und flexibles Werkzeug um alle
Informationen über Accounts zu ändern.adduserAccountserstellenadduser/usr/share/skel&man.adduser.8; ist ein einfaches Programm
um neue Benutzer hinzuzufügen. Es erstellt
passwd und group
Einträge für den
Benutzer, genauso wie ein home Verzeichnis, kopiert ein paar
vorgegebene Dotfiles aus /usr/share/skel und kann
optional dem Benutzer eine ,,Willkommen``-Nachricht zuschicken.Um die anfängliche Konfigurationsdatei zu erstellen,
benutzen Sie: adduser -s -config_create.
Das bringt &man.adduser.8;
dazu, weniger Fragen und Fehlermeldungen auszugeben.
Wir benutzen später, wenn wir die
Voreinstellungen ändern wollen.
Zunächst konfigurieren wir Voreinstellungen von
&man.adduser.8; und erstellen unseren ersten
Benutzer-Account, da es böse und unangenehm ist,
root für normale Aufgaben zu verwenden.adduser konfigurieren&prompt.root; adduser -v
Use option ``-silent'' if you don't want to see all warnings and questions.
Check /etc/shells
Check /etc/master.passwd
Check /etc/group
Enter your default shell: csh date no sh tcsh zsh [sh]: zsh
Your default shell is: zsh -> /usr/local/bin/zsh
Enter your default HOME partition: [/home]:
-Copy dotfiles from: /usr/share/skel no [/usr/share/skel]:
-Send message from file: /etc/adduser.message no
+Copy dotfiles from: /usr/share/skel no [/usr/share/skel]:
+Send message from file: /etc/adduser.message no
[/etc/adduser.message]: no
Do not send message
Use passwords (y/n) [y]: y
Write your changes to /etc/adduser.conf? (y/n) [n]: y
Ok, let's go.
Don't worry about mistakes. I will give you the chance later to correct any input.
Enter username [a-z0-9_-]: jru
Enter full name []: J. Random User
-Enter shell csh date no sh tcsh zsh [zsh]:
-Enter home directory (full path) [/home/jru]:
-Uid [1001]:
-Enter login class: default []:
-Login group jru [jru]:
-Login group is ``jru''. Invite jru into other groups: guest no
+Enter shell csh date no sh tcsh zsh [zsh]:
+Enter home directory (full path) [/home/jru]:
+Uid [1001]:
+Enter login class: default []:
+Login group jru [jru]:
+Login group is ``jru''. Invite jru into other groups: guest no
[no]: wheel
-Enter password []:
-Enter password again []:
+Enter password []:
+Enter password again []:
Name: jru
Password: ****
Fullname: J. Random User
Uid: 1001
Gid: 1001 (jru)
Class:
Groups: jru wheel
HOME: /home/jru
Shell: /usr/local/bin/zsh
OK? (y/n) [y]: y
Added user ``jru''
Copy files from /usr/share/skel to /home/jru
Add another user? (y/n) [y]: n
Goodbye!
&prompt.root;Zusammengefasst haben wir die vorgegebene Shell in
zsh (eine zusätzliche Shell aus
der Ports-Sammlung) geändert und das Senden einer
,,Willkommen``-Nachricht an neue Benutzer abgeschaltet.
Danach haben wir die Konfiguration abgespeichert und anschließend
einen Account für jru eingerichtet
und sichergestellt, dass jru in der
Gruppe wheel ist, so dass Sie mit
&man.su.1; zu root wechseln
kann.Wenn Sie das Passwort eingeben, werden weder Passwort noch
Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort nicht
zweimal falsch eingeben.Benutzen Sie ab jetzt &man.adduser.8; ohne Argumente,
dann müssen Sie nicht jedes mal die Vorgaben neu einstellen.
Wenn das Programm Sie fragt, ob Sie die Vorgaben ändern wollen,
verlassen und starten Sie es erneut mit der
Option.rmuserrmuserAccountslöschenBenutzen Sie &man.rmuser.8;, um einen Account
vollständig aus dem System zu entfernen.
&man.rmuser.8; führt die folgenden Schritte
durch:Entfernt den &man.crontab.1; Eintrag des Benutzers
(wenn dieser existiert).Entfernt alle &man.at.1; jobs, die dem Benutzer gehören.
Schließt alle Prozesse des Benutzers.Entfernt den Benutzer aus der lokalen Passwort-Datei des
Systems.Entfernt das Heimatverzeichnis des Benutzers (falls es dem
Benutzer gehört).Entfernt eingegange E-Mails des Benutzers
aus /var/mail.Entfernt alle Dateien des Benutzers aus temporären
Dateispeicherbereichen wie /tmp.Entfernt den Loginnamen von allen Gruppen, zu denen er
gehört, aus /etc/group.
Wenn eine Gruppe leer wird und der Gruppenname mit dem
Loginnamen identisch ist, wird die Gruppe entfernt; das
ergänzt sich mit den einzelnen Benutzer-Gruppen, die von
&man.adduser.8; für jeden neuen Benutzer erstellt werden.
Der Superuser-Account kann nicht mit &man.rmuser.8; entfernt
werden, da dies in den meisten Fällen das System unbrauchbar
macht.Als Vorgabe wird ein interaktiver Modus benutzt, der
sicherzustellen versucht, dass Sie wissen, was Sie tun.Interaktives Löschen von Account mit
rmuser&prompt.root; rmuser jru
Matching password entry:
jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
Is this the entry you wish to remove? y
Remove user's home directory (/home/jru)? y
Updating password file, updating databases, done.
Updating group file: trusted (removing group jru -- personal group is empty) done.
Removing user's incoming mail file /var/mail/jru: done.
Removing files belonging to jru from /tmp: done.
Removing files belonging to jru from /var/tmp: done.
Removing files belonging to jru from /var/tmp/vi.recover: done.
&prompt.root;chpasschpass&man.chpass.1; ändert Informationen der
Benutzerdatenbank wie Passwörter, Shells und persönliche
Informationen.Nur Systemadministratoren, mit Superuser-Rechten, können die
Informationen und Passwörter der anderen Benutzer mit
&man.chpass.1; verändern.Werden keine Optionen neben dem optionalen Loginnamen
angegeben, zeigt &man.chpass.1; einen Editor
mit Account-Informationen an und aktualisiert die
Account-Datenbank, wenn dieser Editor beendet wird.Interaktives chpass des Superusers#Changing user database information for jru.
Login: jru
Password: *
Uid [#]: 1001
Gid [# or name]: 1001
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /home/jru
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:Der normale Benutzer kann nur einen kleinen Teil dieser
Informationen verändern und natürlich nur die Daten des
eigenen Accounts.Interaktives chpass eines normalen
Benutzers#Changing user database information for jru.
Shell: /usr/local/bin/tcsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:&man.chfn.1; und &man.chsh.1; sind
nur Verweise auf &man.chpass.1; genauso wie
&man.ypchpass.1;, &man.ypchfn.1; und
&man.ypchsh.1;. NIS wird automatisch unterstützt,
deswegen ist es nicht notwendig das yp vor dem
Kommando einzugeben. NIS wird später
in besprochen.passwdpasswdAccountsPasswort wechseln&man.passwd.1; ist der übliche Weg, Ihr
eigenes Passwort als Benutzer zu ändern oder das Passwort eines
anderen Benutzers als Superuser.Benutzer müssen ihr ursprüngliches Passwort eingeben,
bevor sie es wechseln, um eine nicht autorisierte Person davon
abzuhalten ihr Passwort zu ändern, wenn der Benutzer gerade
nicht an seinem Gerät ist.Wechseln des Passworts&prompt.user; passwd
Changing local password for jru.
Old password:
New password:
Retype new password:
passwd: updating the database...
passwd: done
&prompt.root; passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: doneAls Superuser das Passwort eines anderen Accounts
verändern&prompt.root; passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: doneWie bei &man.chpass.1; ist &man.yppasswd.1;
nur ein Verweis auf &man.passwd.1;. NIS wird von
jedem dieser Kommandos unterstützt.pwpw&man.pw.8; ist ein Kommandozeilenprogramm, mit
dem man Accounts und Gruppen erstellen, entfernen, verändern
und anzeigen kann. Dieses Kommando dient als Schnittstelle zu den
Benutzer- und Gruppendateien des Systems. &man.pw.8;
besitzt eine Reihe mächtiger Kommandozeilenschalter, die es
für die Benutzung in Shell-Skripten geeignet machen, doch
finden neue Benutzer die Bedienung des Kommandos komplizierter, als
die der anderen hier vorgestellten Kommandos.Benutzer einschränkenBenutzer einschränkenAccountseinschränkenWenn ein System von mehreren Benutzern verwendet wird, ist es
vielleicht notwendig, den Gebrauch des Systems zu beschränken.
FreeBSD bietet dem Systemadministrator mehrere Möglichkeiten
die System-Ressourcen, die ein einzelner Benutzer verwenden kann,
einzuschränken. Diese Limitierungen sind in zwei Kategorien
eingeteilt: Festplattenkontingente und andere
Ressourcenbeschränkungen.QuotasBenutzer einschränkenQuotasFestplatten QuotasFestplatten-Kontingente schränken den Plattenplatz, der
einem Benutzer zur Verfügung steht, ein. Sie bieten zudem,
ohne aufwändige Berechnung, einen schnellen Überblick
über den verbrauchten Plattenplatz.
Kontingente werden in diskutiert./etc/login.confDie Login-Klassen werden in /etc/login.conf
definiert. Auf die präzisen Semantiken gehen wir hier nicht
weiter ein, sie können jedoch in &man.login.conf.5;
nachgelesen werden. Es ist ausreichend zu sagen, dass jeder
Benutzer einer Login-Klasse zugewiesen wird (standardmäßig
default) und dass jede Login-Klasse mit einem Satz
von Login-Fähigkeiten verbunden ist. Eine Login-Fähigkeit
ist ein Name=Wert
Paar, in dem Name
die Fähigkeit bezeichnet und Wert
ein willkürlicher Text ist, der je nach Name
entsprechend verarbeitet wird. Login-Klassen und
-Fähigkeiten zu definieren ist fast schon selbsterklärend
- und wird auch in &man.login.conf.5; beschrieben.
+ und wird auch in &man.login.conf.5; beschrieben.
Ressourcenbeschränkungen unterscheiden sich von normalen
Login-Fähigkeiten zweifach. Erstens gibt es für jede
Beschränkung ein aktuelles und ein maximales Limit. Das
aktuelle Limit kann vom Benutzer oder einer Anwendung beliebig
bis zum maximalen Limit verändert werden. Letzteres kann
der Benutzer nur heruntersetzen. Zweitens gelten die meisten
Ressourcenbeschränkungen für jeden vom Benutzer
gestarteten Prozess, nicht für den Benutzer selbst.
Beachten Sie jedoch, dass diese Unterschiede durch das spezifische
Einlesen der Limits und nicht durch das System der
Login-Fähigkeiten entstehen (das heißt,
Ressourcenbeschränkungen sind keine
- Login-Fähigkeiten).
+ Login-Fähigkeiten).
Hier befinden sich die am häufigsten benutzten
Ressourcenbeschränkungen (der Rest kann zusammen mit den
anderen Login-Fähigkeiten in &man.login.conf.5; gefunden
werden):coredumpsizecoredumpsizeBenutzer einschränkencoredumpsizeDas Limit der Größe einer core-Datei, die
von einem Programm generiert wird, unterliegt aus
offensichtlichen Gründen anderen Limits der
Festplattenbenutzung (zum Beispiel filesize
oder Festplattenkontingenten). Es wird aber trotzdem
oft als weniger harte Methode zur Kontrolle des
Festplattenplatz-Verbrauchs verwendet: Da Benutzer die
core-Dateien nicht selbst erstellen, und sie oft nicht
löschen, kann sie diese Option davor retten, dass
ihnen kein Festplattenspeicher mehr zur Verfügung
steht, sollte ein großes Programm, wie
emacs, abstürzen.cputimecputimeBenutzer einschränkencputimeDie maximale Rechenzeit, die ein Prozess eines Benutzers
verbrauchen darf. Überschreitet der Prozess diesen Wert,
- wird er vom Kernel beendet.
+ wird er vom Kernel beendet.
Die Rechenzeit wird limitiert,
nicht die prozentuale Prozessorenbenutzung, wie es in
einigen Feldern in &man.top.1; und &man.ps.1; dargestellt
wird. Letzteres war zu der Zeit, als dies hier geschrieben
wurde nicht möglich und würde eher nutzlos sein:
Ein Compiler – ein wahrscheinlich legitimer
Vorgang – kann leicht fast 100% des Prozessors in
Anspruch nehmen.filesizefilesizeBenutzer einschränkenfilesizeHiermit lässt sich die maximale Größe einer Datei
bestimmen, die der Benutzer besitzen darf. Im Gegensatz zu
Festplattenkontingenten ist diese
Beschränkung nur für jede einzelne Datei gültig
und nicht für den Platz, den alle Dateien eines Benutzers
verwenden.maxprocmaxprocBenutzer einschränkenmaxprocDas ist die maximale Anzahl von Prozessen, die ein
Benutzer starten darf, und beinhaltet sowohl Vordergrund-
als auch Hintergrundprozesse. Natürlich darf dieser
Wert nicht höher sein als das System-Limit, das in
kern.maxproc angegeben ist. Vergessen
Sie auch nicht, dass ein zu kleiner Wert den Benutzer in
seiner Produktivität einschränken könnte;
es ist oft nützlich, mehrfach eingeloggt zu sein, oder
PipelinesPipeline =
Leitung.
Mit Pipes sind Verbindungen
zwischen zwei Sockets in meistens zwei verschiedenen
Prozessen gemeint.
zu verwenden. Ein paar Aufgaben, wie die Kompilierung eines
großen Programms, starten mehrere Prozesse (zum Beispiel
&man.make.1;, &man.cc.1; und andere).memorylockedmemorylockedBenutzer einschränkenmemorylockedDieses Limit gibt an, wie viel virtueller Speicher von einem
Prozess maximal im Arbeitsspeicher festgesetzt werden kann.
(siehe auch &man.mlock.2;). Ein paar systemkritische Programme,
wie &man.amd.8;, verhindern damit einen Systemzusammenbruch, der
auftreten könnte, wenn sie aus dem Speicher genommen werden.
memoryusememoryuseBenutzer einschränkenmemoryuseBezeichnet den maximalen Speicher, den ein Prozess benutzen
darf und beinhaltet sowohl Arbeitsspeicher-, als auch Swap-
Benutzung. Es ist kein allübergreifendes Limit für
den Speicherverbrauch, aber ein guter Anfang.openfilesopenfilesBenutzer einschränkenopenfilesMit diesem Limit lässt sich die maximale Anzahl
der von einem Prozess des Benutzers geöffneten Dateien
festlegen. In FreeBSD werden Dateien auch verwendet, um Sockets
und IPC-Kanäle
IPC steht für
Interprocess Communication.
darzustellen. Setzen Sie es deshalb nicht zu niedrig. Das
System-Limit ist im kern.maxfiles
&man.sysctl.8; definiert.sbsizesbsizeBenutzer einschränkensbsizeDieses Limit beschränkt den Netzwerk-Speicher, und damit
die mbufs, die ein Benutzer verbrauchen darf. Es stammt aus einer
Antwort auf einen DoS-Angriff, bei dem viele Netzwerk-Sockets
geöffnet wurden, kann aber generell dazu benutzt werden
Netzwerk-Verbindungen zu beschränken.stacksizeDas ist die maximale Größe, auf die der Stack
eines Prozesses heranwachsen darf. Das allein ist natürlich
nicht genug, um den Speicher zu beschränken, den ein Programm
verwenden darf. Es sollte deshalb in Verbindung mit anderen
Limits gesetzt werden.Beim Setzen von Ressourcenbeschränkungen sind noch andere
Dinge zu beachten. Nachfolgend ein paar generelle Tipps, Empfehlungen
und verschiedene Kommentare.Von /etc/rc beim Hochfahren des Systems
gestartete Prozesse werden der daemon
Login-Klasse zugewiesen.Obwohl das mitgelieferte /etc/login.conf
eine Quelle von vernünftigen Limits darstellt, können nur
Sie, der Administrator, wissen, was für Ihr System angebracht
ist. Ein Limit zu hoch anzusetzen könnte Ihr System für
Missbrauch öffnen, und ein zu niedriges Limit der
Produktivität einen Riegel vorschieben.Benutzer des X-Window Systems (X11) sollten wahrscheinlich
mehr Ressourcen zugeteilt bekommen als andere Benutzer. X11
beansprucht selbst schon eine Menge Ressourcen, verleitet die
Benutzer aber auch, mehrere Programme gleichzeitig laufen zu
lassen.Bedenken Sie, dass viele Limits für einzelne Prozesse
gelten und nicht für den Benutzer selbst. Setzt man
zum Beispiel openfiles auf 50, kann jeder
Prozess des Benutzers bis zu 50 Dateien öffnen. Dadurch
ist die maximale Anzahl von Dateien, die von einem Benutzer
geöffnet werden können, openfiles
mal maxproc. Das gilt auch für den
Speicherverbrauch.Für weitere Informationen über
Ressourcenbeschränkungen, Login-Klassen und -Fähigkeiten
generell, sehen Sie sich die entsprechenden Manualpages an:
&man.cap.mkdb.1;, &man.getrlimit.2; und &man.login.conf.5;.Benutzer personalisierenDie Lokalisierung ist eine Umgebung, die vom Systemadministrator
oder Benutzer eingerichtet wird, um verschiedene Sprachen,
Zeichensätze, Datum- und Zeitstandards und so weiter
unterzubringen. Dies wird im Kapitel über die
Lokalisierung
besprochen.GruppenGruppen/etc/groupsAccountsGruppenEine Gruppe ist einfach eine Zusammenfassung von Accounts.
Gruppen werden durch den Gruppennamen und die GID (group ID)
identifiziert. Der Kernel von FreeBSD (und den meisten anderen &unix;
Systemen) entscheidet anhand der UID und der Gruppenmitgliedschaft
eines Prozesses, ob er dem Prozess etwas erlaubt oder nicht. Im
Unterschied zur UID kann ein Prozess zu einer Reihe von Gruppen
gehören. Wenn jemand von der GID eines
Benutzers oder Prozesses spricht, meint er damit meistens die erste
Gruppe der Gruppenliste.Die Zuordnung von Gruppennamen zur GID steht in
/etc/group, einer Textdatei mit vier durch
Doppelpunkte getrennten Feldern. Im ersten Feld steht der
Gruppenname, das zweite enthält ein verschlüsseltes
Passwort, das dritte gibt die GID an und das vierte besteht aus einer
Komma separierten Liste der Mitglieder der Gruppe. Diese Datei kann
einfach editiert werden (natürlich nur, wenn Sie dabei keine
Syntaxfehler machen). Eine ausführliche Beschreibung der Syntax
dieser Datei finden Sie in &man.group.5;.Wenn Sie /etc/group nicht händisch
editieren möchten, können Sie &man.pw.8; zum Editieren
benutzen. Das folgende Beispiel zeigt das Hinzufügen einer
Gruppe mit dem Namen teamtwo:Hinzufügen einer Gruppe mit pw&prompt.root; pw groupadd teamtwo
&prompt.root; pw groupshow teamtwo
teamtwo:*:1100:Die Zahl 1100 ist die GID der Gruppe
teamtwo. Momentan hat
teamtwo noch keine Mitglieder und ist daher
ziemlich nutzlos. Um das zu ändern, nehmen wir nun
jru in teamtwo
auf.Ein Gruppenmitglied mit pw
hinzufügen&prompt.root; pw groupmod teamtwo -M jru
&prompt.root; pw groupshow teamtwo
teamtwo:*:1100:jruAls Argument von geben Sie eine Komma
separierte Liste von Mitgliedern an, die Sie in die Gruppe aufnehmen
möchten. Aus den vorherigen Abschnitten ist bekannt, dass die
Passwort-Datei ebenfalls eine Gruppe für jeden Benutzer
enthält. Das System teilt dem Benutzer automatisch eine Gruppe
zu, die aber vom Kommando von &man.pw.8;
nicht angezeigt wird. Diese Information wird allerdings von
&man.id.1; und ähnlichen Werkzeugen angezeigt. Das heißt,
dass &man.pw.8; nur /etc/group manipuliert,
es wird nicht versuchen, zusätzliche Informationen aus
/etc/passwd zu lesen.Mit id die Gruppenzugehörigkeit
bestimmen&prompt.user; id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)Wie Sie sehen, ist jru Mitglied von
jru und teamtwo.Weitere Informationen entnehmen Sie bitte &man.pw.8;.
-
diff --git a/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml b/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml
index 9751c02d88..c2f1c6bb27 100644
--- a/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml
@@ -1,30 +1,30 @@
-
+
Vinum (noch nicht übersetzt)
-
+
Dieses Kapitel ist noch nicht übersetzt.
Lesen Sie bitte
das Original in englischer Sprache.
-
diff --git a/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml b/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml
index d1288774dd..89b80c7ce1 100644
--- a/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml
@@ -1,1580 +1,1580 @@
MartinHeinenÜbersetzt von Das X-Window-SystemÜbersichtMit XFree86 steht unter FreeBSD eine
leistungsfähige grafische Benutzeroberfläche zur
Verfügung. XFree86 ist eine
Open-Source Realisierung des X-Window-Systems. Dieses Kapitel
behandelt die Installation und Konfiguration von
XFree86 auf einem FreeBSD-System. Weitere
Informationen über XFree86 und
unterstützte Video-Hardware finden Sie auf der XFree86-Website.Nachdem Sie dieses Kapitel gelesen haben, werden Siedie Komponenten des X-Window-Systems und ihr
Zusammenspiel kennen.Wissen, wie XFree86 installiert
und konfiguriert wird.Wissen, wie Sie verschiedene Window-Manager installieren und
benutzen.Wissen, wie TrueType-Schriftarten mit
XFree86 benutzt werden.Wissen, wie Sie die grafische Anmeldung
(XDM) einrichten.Bevor Sie dieses Kapitel lesen, sollten Siewissen, wie Sie Software Dritter installieren
().X-GrundlagenAnwendern anderer grafischer Benutzeroberflächen, wie
Microsoft Windows oder MacOS, kommt X beim ersten Mal oft
befremdlich vor.Man braucht kein weitreichendes Verständnis der
X-Komponenten und Ihres Zusammenspiels, um X anzuwenden. Um die
Stärken von X auszunutzen, sollten Sie allerdings die Grundlagen
verstehen.Warum heißt es X?X ist nicht die erste grafische Benutzeroberfläche, die
für &unix; geschrieben wurde. Die Entwickler von X arbeiteten
vorher an einem anderen System, das W (von engl.
window: Fenster) hieß.
X ist schlicht der nächste Buchstabe im Alphabet.X wird X, X-Window-System
oder X11 genannt. Sagen Sie bitte nicht
X-Windows: das kommt bei einigen Leuten schlecht an
(die Hilfeseite &man.X.1; führt dies näher aus).Das Client/Server-Modell von XX wurde von Anfang an netzwerktransparent entworfen und
verwendet ein Client-Server-Modell. In diesem Modell läuft
der Server auf dem Rechner, an dem die Tastatur, der Bildschirm
und die Maus angeschlossen ist. Der Server ist für Dinge
wie die Verwaltung des Bildschirms und die Verarbeitung von
Tastatur- und Maus-Eingaben verantwortlich. Jede X-Anwendung,
beispielsweise ein XTerm oder
Netscape ist ein Client. Der Client
sendet dem Server Nachrichten wie Zeichne an diesen
Koordinaten ein Fenster und der Server sendet dem Client
Nachrichten der Art Der Benutzer hat gerade den Ok-Knopf
gedrückt.Wenn, wie oft in kleinen Umgebungen, nur ein Rechner zur
Verfügung steht, laufen der X-Server und die X-Clients auf
demselben Rechner. Es ist aber durchaus möglich, den X-Server
auf einem weniger leistungsfähigen Arbeitsplatzrechner laufen
zu lassen und die X-Anwendungen (die Clients) auf dem
leistungsfähigen und teuren Server der Arbeitsgruppe
zu betreiben. In diesem Fall kommunizieren der X-Server und die
X-Clients über das Netz.Dieses Modell verwirrt viele Leute, die erwarten, dass der
X-Server der dicke Rechner im Maschinenraum und der X-Client ihr
Arbeitsplatzrechner ist.Merken Sie sich einfach, dass der X-Server der Rechner mit dem
Bildschirm und der Maus ist und die X-Clients Programme sind, die
in den Fenstern laufen.Das X-Protokoll ist unabhängig vom verwendeten
Betriebssystem und Rechnertyp. Ein X-Server kann durchaus auch
unter Microsoft Windows oder Apples MacOS betrieben werden,
wie viele kostenlose und kommerzielle Anwendungen zeigen.Der X-Server von FreeBSD heißt
XFree86 und steht kostenlos unter einer
Lizenz, die ähnlich der FreeBSD-Lizenz ist, zur
Verfügung. Kommerzielle X-Server sind ebenfalls
erhältlich.Der Window-ManagerDie X-Philosophie Werkzeuge statt Richtlinien
ist wie die UNIX-Philosophie. Es wird nicht vorgeschrieben, wie
eine Aufgabe zu lösen ist, stattdessen erhält der
Benutzer Werkzeuge, über die er frei verfügen
kann.Dies geht so weit, dass X nicht bestimmt, wie Fenster auf dem
Bildschirm auszusehen haben, wie sie mit der Maus zu verschieben
sind, welche Tastenkombination benutzt werden muss, um zwischen
den Fenstern zu wechseln (z.B.
AltTab unter Microsoft Windows), oder ob die
Fensterrahmen Schaltflächen zum Schließen haben.X gibt die Verantwortung für all diese Sachen an eine
Anwendung ab, die Window-Manager genannt
wird. Unter X gibt es zahlreiche Window-Manager:
AfterStep,
Blackbox, ctwm,
Enlightenment,
fvwm, Sawfish,
twm,
Window Maker um nur einige zu nennen.
Jeder dieser Window-Manager sieht anders aus: manche stellen
virtuelle Bildschirme zur Verfügung, in anderen lassen sich
die Tastenkombinationen zur Verwaltung des Bildschirms anpassen,
einige besitzen eine Startleiste
oder etwas Ähnliches und in manchen läßt sich das
Aussehen und Verhalten über die Anwendung von
Themes beliebig einstellen. Die
eben genannten Window-Manager und viele weitere finden Sie in der
Kategorie x11-wm der Ports-Sammlung.Die grafischen Benutzeroberflächen
KDE und
GNOME besitzen eigene Window-Manager,
die in den grafischen Arbeitsplatz integriert sind.Die Window-Manager werden unterschiedlich konfiguriert. Einige
erwarten eine manuell erstellte Konfigurationsdatei, andere bieten
grafische Werkzeuge für die meisten Konfigurations-Arbeiten
an. Die Konfigurationsdatei von sawfish
ist sogar in einem Lisp-Dialekt geschrieben.FokusWeiterhin ist der Window-Manager für die Methode, mit
der ein Fenster den Fokus bekommt, verantwortlich. Jedes System,
das Fenster verwendet, muss entscheiden, wie ein Fenster
aktiviert wird, damit es Eingaben empfangen kann. Das aktive
Fenster sollte zudem sichtbar gekennzeichnet werden.Eine geläufige Methode, den Fokus zu wechseln,
wird click-to-focus genannt. Die Methode wird
in Microsoft Windows benutzt: Ein Fenster wird aktiv, wenn
es mit der Maus angeklickt wird.X legt nicht fest, wie der Fokus einzustellen ist,
stattdessen bestimmt der Window-Manager welches Fenster den Fokus
zu einem gegebenen Zeitpunkt erhält. Alle Window-Manager
stellen die Methode click-to-focus bereit, die
meisten stellen auch noch andere Methoden bereit.Verbreitete Methoden, den Fokus einzustellen, sind:focus-follows-mouseDen Fokus hat das Fenster, unter dem sich der
Mauszeiger befindet. Das muss nicht unbedingt das Fenster,
sein, das sich vorne befindet. Wird der Mauszeiger in ein
anderes Fenster bewegt, so erhält dieses Fenster den
Fokus, ohne das es angeklickt werden muss.sloppy-focusDiese Methode erweitert die Methode
focus-follows-mouse. Wenn die Maus mit
focus-follows-mouse aus dem Fenster auf die
Oberfläche bewegt wird, verliert das aktive Fenster
den Fokus. Da dann kein Fenster mehr den Fokus hat,
gehen alle Eingaben verloren. Die Methode
sloppy-focus wechselt
den Fokus nur, wenn sich der Mauszeiger in ein neues
Fenster bewegt und nicht, wenn er das aktive Fenster
verläßt.click-to-focusDas aktive Fenster wird durch einen Mausklick
festgelegt (dabei kann das Fenster vor alle anderen
Fenster gesetzt werden).
Alle Eingaben werden dann, unabhängig von der Position
des Mauszeigers, dem aktiven Fenster zugeordnet.Viele Window-Manager unterstützen noch andere Methoden,
so wie Abwandlungen der hier vorgestellten Methoden. Schauen Sie
sich dazu bitte die Hilfeseiten Ihres Window-Managers an.WidgetsDie X-Philosophie dehnt sich auch auf die Widgets aus, die von
den Anwendungen benutzt werden.Ein Widget bezeichnet Objekte, die
manipuliert werden können, wie
buttons (Schaltflächen),
check buttons (Mehrfachauswahlknopf),
radio buttons (Einfachauswahlknopf),
Icons und Auswahllisten. Unter Microsoft Windows werden Widgets
Controls genannt.Microsoft Windows und Apples MacOS geben strenge
Richtlinien für Widgets vor: Von den Entwicklern wird erwartet,
dass Sie Anwendungen mit einheitlichem Aussehen und einheitlicher
Bedienung (look and feel) entwickeln.
X gibt weder einen Stil noch Widgets vor, die benutzt werden
müssen.Erwarten Sie daher nicht, dass alle X-Anwendungen gleich
aussehen oder sich gleich bedienen lassen. Es gibt mehrere
verbreitete Widget-Sammlungen, beispielsweise die Athena-Widgets
vom MIT, Motif (abgeschrägte
Ecken und drei Grautöne, danach wurden die Widgets von
Microsoft Windows entworfen) oder
OpenLook.Die meisten neuen X-Anwendungen benutzen heute modern
aussehende Widgets, wie Qt, das von KDE
benutzt wird oder GTK, das von
GNOME benutzt wird. Damit wird eine
gewisse Einheitlichkeit in Bedienung und Aussehen erreicht, die
sicher neuen Benutzern die Arbeit erleichtert.XFree86 installierenLegen Sie zuerst die XFree86-Version
fest, die Sie einsetzen wollen. XFree86
3.X ist sehr stabil und unterstützt zahlreiche
Grafikkarten, allerdings wird dieser Entwicklungszweig nicht mehr
weiterentwickelt. XFree86 4.X wurde
komplett neu entworfen und besitzt neue Merkmale wie die verbesserte
Unterstützung von Schriftarten und Anti-aliasing.
Leider mussten dafür auch die Grafiktreiber neu geschrieben
werden und einige der alten Karten, die in 3.X unterstützt
wurden, werden in 4.X noch nicht unterstützt. Da Treiber
für neue Grafikkarten nur noch in XFree86
4.X erstellt werden, ist diese Version in FreeBSD
voreingestellt.Während Sie FreeBSD einrichten, haben Sie Gelegenheit
XFree86 4.X zu installieren. XFree86 3.X
müssen Sie nach dem Basissystem installieren. Aus der
Ports-Sammlung installieren Sie XFree86
3.X wie folgt:&prompt.root; cd /usr/ports/x11/XFree86
&prompt.root; make all install cleanBeide Versionen von XFree86
können Sie auch direkt mit den binären Distributionen von
der XFree86 Website
installieren. XFree86 4.X steht ebenfalls
als Paket für &man.pkg.add.1; zur Verfügung. Soll das Paket
auch mit &man.pkg.add.1; heruntergeladen werden, darf die
Versionsnummer auf der Kommandozeile nicht verwendet werden, da
&man.pkg.add.1; automatisch die neuste Version herunterlädt.
Die neuste Version von XFree86 4.X wird
mit dem folgenden Kommando heruntergeladen und installiert:&prompt.root; pkg_add -r XFree86XFree86 4.X lässt sich auch aus
der Ports-Sammlung installieren:&prompt.root; cd /usr/ports/x11/XFree86-4
&prompt.root; make install cleanDer Rest dieses Kapitels erklärt, wie Sie
XFree86 konfigurieren und sich eine
Arbeitsumgebung einrichten.ChristopherShumwayBeigetragen von XFree86 konfigurierenXFree86 4.XXFree86VorarbeitenBevor Sie XFree86 4.X konfigurieren,
benötigen Sie folgende Informationen:die Spezifikationen des Monitorsden Chipset des Grafikadaptersdie Speichergröße des
Grafikadaptershorizontale Synchronisationsfrequenzvertikale SynchronisationsfrequenzAus den Spezifikationen des Monitors ermittelt
XFree86 die Auflösung und die
Wiederholrate für den Betrieb des X-Servers. Die
Spezifikationen entnehmen Sie der Dokumentation des Monitors
oder der Webseite des Herstellers. Sie benötigen die
horizontale und die vertikale Synchronisationsfrequenz.Der Chipsatz der Grafikkarte bestimmt den Treiber, den
XFree86 verwendet. Die meisten
Chipsätze werden automatisch erkannt, Sie brauchen die
Information jedoch, wenn die Erkennung fehlschlägt.Die Speichergröße der Grafikkarte bestimmt die
maximal mögliche Auflösung und Farbtiefe.XFree86 4.X konfigurierenXFree86 4.X wird in mehreren
Schritten konfiguriert. Mit der Option
von XFree86 wird zuerst eine Vorgabe
für die Konfigurationsdatei erstellt. Setzen Sie dazu als
root den folgenden Befehl ab:&prompt.root; XFree86 -configureDie Vorgabe-Konfiguration wird dann unter dem Namen
XF86Config.new im Verzeichnis
/root abgespeichert (das verwendete
Verzeichnis wird durch die Umgebungsvariable $HOME
bestimmt und hängt davon ab, wie Sie zu
root gewechselt sind).
XFree86 hat in diesem Schritt versucht,
die Grafik-Hardware des Systems zu erkennen und eine
Konfigurationsdatei ausgeschrieben, die die zur Hardware passenden
Treiber lädt.Im nächsten Schritt wird geprüft, ob
XFree86 die Grafik-Hardware des Systems
verwenden kann. Setzen Sie dazu den folgenden Befehl ab:&prompt.root; XFree86 -xf86config XF86Config.newWenn jetzt ein graues Raster und der X-Mauszeiger erscheinen,
war die Konfiguration erfolgreich. Beenden Sie den Test indem Sie
CtrlAltBackspace drücken.Wenn die Maus nicht funktioniert, überprüfen Sie,
ob die Maus, wie im
Kapitel Installation von FreeBSD
beschrieben, konfiguriert wurde.XFree86 4 anpassenAls Nächstes passen Sie
XF86Config.new an. Öffnen Sie die Datei
in einem Editor, wie &man.emacs.1; oder &man.ee.1; und fügen
Sie die Synchronisationsfrequenzen des Monitors ein. Die
Frequenzen werden im Abschnitt "Monitor"
eingetragen:Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30-107
VertRefresh 48-120
EndSectionUnter Umständen fehlen die Schlüsselwörter
HorizSync und VertRefresh,
die Sie dann nachtragen müssen. Geben Sie, wie im Beispiel
gezeigt, die horizontale Synchronisationsfrequenz hinter
Horizsync und die vertikale
Synchronisationsfrequenz hinter VertRefresh
an.X unterstützt die Energiesparfunktionen (DPMS,
Energy Star) Ihres Monitors. Mit &man.xset.1; können Sie
Zeitschranken für die DPMS-Modi standby,
suspend, off vorgeben, oder diese
zwingend aktivieren. Die DPMS-Funktionen können Sie mit der
nachstehenden Zeile im "Monitor"-Abschnitt
aktivieren:
Option "DPMS"XF86ConfigDie gewünschte Auflösung und Farbtiefe stellen Sie im
Abschnitt "Screen" ein:Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSectionMit DefaultDepth wird die Farbtiefe des
X-Servers vorgegeben. Mit der Option -bpp von
&man.XFree86.1; lässt sich die vorgegebene Farbtiefe
überschreiben. Modes gibt die
Auflösung für die angegebene Farbtiefe an. Die Farbtiefe
im Beispiel beträgt 24 Bits pro Pixel, die
zugehörige Auflösung ist 1024x768 Pixel. Beachten Sie,
dass in der Voreinstellung nur Standard-VESA-Modi
der Grafikkarte angegeben werden können.Sichern Sie die Konfigurationsdatei und testen Sie sie wie oben
beschrieben. Installieren Sie dann die Datei an einen Ort, an dem
&man.XFree86.1; sie findet (typischerweise
/etc/X11/XF86Config oder
/usr/X11R6/etc/X11/XF86Config):&prompt.root; cp XF86Config.new /etc/X11/XF86ConfigDamit ist die Konfiguration beendet. Wenn Sie
XFree86 4.X mit &man.startx.1; starten
wollen, müssen Sie noch den Port x11/wrapper installieren. Sie
können XFree86 4.X aber auch mit
&man.xdm.1; starten.Spezielle KonfigurationenKonfiguration des Intel i810 Graphics ChipsetsIntel i810 ChipsetDer Intel i810 Chipset benötigt den Treiber
agpgart, die AGP-Schnittstelle
von XFree86. Der Treiber
agpgart wird durch das Laden des Moduls
agp.ko mit &man.kldload.8; aktiviert. Das
kann mit dem &man.loader.8; schon zum Zeitpunkt des Systemstarts
erfolgen. Fügen Sie dazu einfach die nachstehende Zeile in
/boot/loader.conf ein:agp_load="YES"Wenn Sie FreeBSD 4.X oder eine frühere Version
benutzen, müssen Sie noch die Gerätedateien im
Verzeichnis /dev erstellen:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV agpgartWenn Sie FreeBSD 5.X oder eine neuere Version verwenden,
werden die Gerätedateien automatisch von &man.devfs.5;
angelegt. Lassen Sie dann diesen Schritt aus.Ab jetzt kann die Hardware wie jede andere Grafikkarte auch
konfiguriert werden.Ab XFree86 4.1.0 kann es sein,
dass Sie Meldungen über unresolved
symbols wie fbPictureInit
erhalten. Fügen Sie in diesem Fall die nachstehende Zeile
hinter Driver "i810" in der
XFree86-Konfigurationsdatei
ein:Option "NoDDC"MurrayStokelyBeigetragen von Schriftarten in XFree86 benutzenType 1 SchriftartenDie Schriftarten, die mit XFree86
geliefert werden, eignen sich ganz und gar nicht für
Desktop-Publishing-Anwendungen. Große Schriftarten zeigen bei
Präsentationen deutliche Treppenstufen und die kleinen
Schriftarten in Netscape sind fast
unleserlich. Es gibt allerdings mehrere hochwertige
Type 1 Schriftarten (PostScript), die mit
XFree86 (Version 3.X oder 4.X) benutzt
werden können. Beispielsweise enthalten die URW-Schriftarten
(x11-fonts/urwfonts) hochwertige
Versionen gängiger Type 1 Schriftarten (z.B. Times Roman,
Helvetica, Palatino). Die Freefont-Sammlung (x11-fonts/freefont) enthält noch
mehr Schriftarten, doch sind diese für den Einsatz in
Grafik-Programmen wie The Gimp gedacht.
Es fehlen auch einige Schriftarten, so dass sich die Sammlung nicht
für den alltäglichen Gebrauch eignet. Weiterhin kann
XFree86 leicht so konfiguriert werden,
dass es TrueType-Schriftarten verwendet (dies wird später im
Abschnitt TrueType Schriftarten
beschrieben).Die Type 1 Schriftarten lassen sich aus der Ports-Sammlung wie
folgt installieren:&prompt.root; cd /usr/ports/x11-fonts/urwfonts
&prompt.root; make install cleanAnalog lassen sich Freefont und andere Sammlungen installieren.
Die neuen Schriftarten müssen dem X-Server in der Datei
- XF86Config bekannt gegeben werden.
+ XF86Config bekannt gegeben werden.
In der Version 3 von XFree86 befindet
diese Datei in /etc, in Version 4 befindet
sich die Datei im Verzeichnis /etc/X11/.
Fügen Sie die folgende Zeile hinzu:FontPath "/usr/X11R6/lib/X11/fonts/URW/"Sie können aber auch in der X-Sitzung das folgende
Kommando absetzen:&prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/URW
&prompt.user; xset fp rehashDann kennt der X-Server die neuen Schriftarten nur bis zum Ende
der Sitzung. Wenn die Änderung dauerhaft sein soll, müssen
Sie die Kommandos in ~/.xinitrc eintragen,
wenn Sie X mit startx starten, oder in
~/.xsession, wenn Sie
XDM benutzen. Sie können die
Schriftarten auch in die neue Datei XftConfig,
die im Abschnitt Anti-aliasing
beschrieben wird, eintragen.TrueType-SchriftartenXFree86 4.X kann TrueType-Schriftarten
mithilfe von zwei Modulen darstellen. Im folgenden Beispiel wird das
Freetype-Modul benutzt, da es besser mit anderen Werkzeugen, die
TrueType-Schriftarten darstellen, übereinstimmt. Das
Freetype-Modul aktivieren Sie im Abschnitt "Module"
von /etc/X11/XF86Config durch Einfügen der
Zeile:Load "freetype"XFree86 3.3.X benötigt einen
gesonderten TrueType-Schriftserver. Üblicherweise wird
dafür Xfstt verwendet, den Sie aus
dem Port x11-servers/Xfstt
installieren können.Erstellen Sie ein Verzeichnis für die
TrueType-Schriftarten (z.B.
/usr/X11R6/lib/X11/fonts/TrueType) und kopieren
Sie alle Schriftarten dorthin. Die Schriftarten müssen im
UNIX/DOS/Windows-Format liegen, Schriftarten von einem Macintosh
können Sie nicht direkt übernehmen. Die Schriftarten
müssen noch in der Datei fonts.dir
katalogisiert werden. Den Katalog können Sie mit
ttmkfdir aus dem Port x11-fonts/ttmkfdir erzeugen:&prompt.root; cd /usr/X11R6/lib/X11/fonts/TrueType
&prompt.root; ttmkfdir > fonts.dirGeben Sie dem System das TrueType-Verzeichnis, wie im Abschnitt
Type 1 Schriftarten beschrieben,
bekannt:&prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/TrueType
&prompt.user; xset fp rehashOder fügen Sie eine -Zeile in
XF86Config hinzu.Das war's. Jetzt sollten Netscape,
Gimp, StarOffice
und alle anderen X-Anwendungen die TrueType-Schriftarten benutzen.
Extrem kleine Schriftarten (Webseiten, die mit hoher Auflösung
betrachtet werden) und sehr große Schriftarten (in
StarOffice) sollten jetzt viel besser
aussehen.Anti-aliasingAb der Version 4.0.2 kann XFree86
Schriftarten mit dem Anti-aliasing-Verfahren
darstellen. Die meisten Programme benutzen diese neue
Funktion noch nicht, Qt (das KDE-Toolkit)
ist da eine Ausnahme. Wenn Sie XFree86
4.0.2 mit Qt 2.3 und
KDE einsetzen, können alle
KDE/Qt-Anwendungen das Anti-aliasing-Verfahren zur Darstellung von
Schriftarten benutzen.Um das Anti-aliasing-Verfahren zu benutzen, legen Sie die Datei
/usr/X11R6/lib/X11/XftConfig an oder editieren
Sie die Datei, wenn sie schon existiert. In dieser Datei
können vielfältige Einstellungen vorgenommen werden,
dieser Abschnitt beschreibt nur die einfachsten
Möglichkeiten.Legen Sie zuerst fest, welche Schriftarten mit dem
Anti-aliasing-Verfahren dargestellt werden sollen. Für jedes
Schriftarten-Verzeichnis fügen Sie eine Zeile wie die folgende in
die Datei ein:dir "/usr/X11R6/lib/X11/fonts/Type1"Verfahren Sie genauso für jedes andere
Schriftarten-Verzeichnis (z.B. URW, TrueType). Das Verfahren
kann nur mit skalierbaren Schriftarten (im Wesentlichen
Type 1 und TrueType) sinnvoll angewendet werden.
Nehmen Sie also nicht die Bitmap-Zeichensätze in die Datei auf.
Die Verzeichnisse, die in die Datei aufgenommen wurden, können
jetzt in XF86Config auskommentiert
werden.Das Anti-aliasing-Verfahren zeichnet Ränder leicht unscharf,
dadurch werden kleine Schriften besser lesbar und der
Treppenstufen-Effekt bei wird großen Schriften vermieden. Auf
normale Schriftgrößen sollte das Verfahren aber nicht
angewendet werden, da dies die Augen zu sehr anstrengt. Um
Schriftgrößen zwischen 9 und 13 Punkt von dem
Verfahren auszunehmen, fügen Sie in
XftConfig die nachstehenden Zeilen ein:match
any size > 8
any size < 14
edit
antialias = false;Das Anit-aliasing-Verfahren kann die Abstände einiger
Fixschriften falsch darstellen, dies fällt besonders unter
KDE auf. Sie können das Problem
umgehen, indem Sie die Abstände dieser Schriften auf den Wert
100 festsetzen. Fügen Sie die nachstehenden
Zeilen hinzu:match any family == "fixed" edit family =+ "mono";
match any family == "console" edit family =+ "mono";Damit werden die Namen der gebrächlichen Fixschriften auf
"mono" abgebildet. Für diese Schriften
setzen Sie dann den Abstand fest:match any family == "mono" edit spacing = 100;Wenn Sie jede Fixschrift durch die Schriftart
Lucidux (sie sieht gut aus und das Problem
mit den Abständen gibt es bei dieser Schriftart nicht)
ersetzen wollen, tauschen Sie die letzte Zeile mit den
nachstehenden aus:match any family == "mono" edit family += "LuciduxMono";
match any family == "Lucidux Mono" edit family += "LuciduxMono";
match any family == "LuciduxMono" edit family =+ "Lucidux Mono";Die letzten Zeilen fassen verschiedene gleichwertige
Schriftfamilien zusammen.Schließlich sollten Sie es den Benutzern erlauben, eigene
Einstellungen in .xftconfig vorzunehmen.
Dazu fügen Sie am Ende der Datei die nachstehende Zeile
ein:includeif "~/.xftconfig"Mit einem LCD können Sie
sub-pixel sampling anstelle von
Anti-aliasing einsetzen. Dieses Verfahren behandelt die horizontal
getrennten Rot-, Grün- und Blau-Komponenten eines Pixels
gesondert und verbessert damit (teilweise sehr wirksam) die
horizontale Auflösung. Die nachstehende Zeile in
XftConfig aktiviert diese Funktion:match edit rgba=rgb;Abhängig von der Organisation Ihres Bildschirms
müssen Sie ,
oder anstelle von
verwenden. Experimentieren Sie und schauen Sie, was besser
aussieht.Der nächste Start des X-Servers aktiviert das
Anti-aliasing-Verfahren. Beachten Sie, dass die Anwendungen dieses
Verfahren auch benutzen müssen. Zurzeit wird das Verfahren
von Qt und damit von KDE benutzt
(Details finden Sie in ).
Ein Patch für GTK+ erlaubt es GNOME und Mozilla das
Anti-aliasing-Verfahren zu benutzen. Der Port x11/gdkxft erlaubt sogar das Verfahren
ohne eine neue Übersetzung der Quellen zu benutzen (genaueres
erfahren Sie in ).Das Anti-aliasing-Verfahren ist erst neu in FreeBSD und
XFree86 integriert. Mit der Zeit wird
es einfacher zu konfigurieren sein und mehr Anwendungen werden dieses
Verfahren benutzen.SethKingsleyBeigetragen von Der X-Display-ManagerEinführungDer X-Display-Manager
(XDM), eine optionale
Komponente des X-Window-Systems, verwaltet Sitzungen. Er kann mit
vielen Komponenten, wie minimal ausgestatteten X-Terminals,
Arbeitsplatz-Rechnern und leistungsfähigen Netzwerkservern,
nutzbringend eingesetzt werden. Da das X-Window-System
netzwerktransparent ist, gibt es zahlreiche
Möglichkeiten, X-Clients und X-Server auf unterschiedlichen
Rechnern im Netz laufen zu lassen. XDM
stellt eine grafische Anmeldemaske zur Verfügung, in der Sie
den Rechner, auf dem eine Sitzung laufen soll, auswählen
können und in der Sie die nötigen
Autorisierungs-Informationen, wie Benutzername und Passwort,
eingeben können.Die Funktion des X-Display-Managers läßt sich mit
der von &man.getty.8; (siehe )
vergleichen. Er meldet den Benutzer am ausgesuchten System an,
startet ein Programm (meist einen Window-Manager) und
wartet darauf, dass dieses Programm beendet wird, das heißt
der Benutzer die Sitzung beendet hat. Nachdem die Sitzung beendet
ist, zeigt XDM den grafischen
Anmeldebildschirm für den nächsten Benutzer an.XDM einrichtenDer XDM-Dæmon befindet sich in
/usr/X11R6/bin/xdm und kann jederzeit von
root gestartet werden. Er verwaltet dann den
X-Bildschirm des lokalen Rechners. XDM
läßt sich bequem mit einem Eintrag in
/etc/ttys (siehe )
bei jedem Start des Rechners aktivieren. In
/etc/ttys sollte schon der nachstehende
Eintrag vorhanden sein:ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secureIn der Voreinstellung ist dieser Eintrag nicht aktiv. Um den
Eintrag zu aktivieren, ändern Sie den Wert in Feld 5 von
off zu on und starten Sie
&man.init.8; entsprechend der Anleitung in neu. Das erste Feld gibt den Namen des
Terminals an, auf dem das Programm läuft. Im Beispiel wird
ttyv8 verwendet, das heißt
XDM läuft auf dem neunten
virtuellen Terminal.XDM konfigurierenDas Verhalten und Aussehen von XDM
steuern Sie mit Konfigurationsdateien, die im Verzeichnis
/usr/X11R6/lib/X11/xdm stehen.
Üblicherweise finden Sie dort die folgenden Dateien vor:DateiBeschreibungXaccessRegelsatz, der zur Autorisierung von Clients benutzt
wird.XresourcesVorgabewerte für X-Ressourcen.XserversListe mit lokalen und entfernten Bildschirmen, die
verwaltet werden.XsessionVorgabe für das Startskript der
Sitzung.Xsetup_*Skript, das dazu dient, Anwendungen vor der Anmeldung
zu starten.xdm-configKonfiguration für alle auf der Maschine
verwalteten Bildschirme.xdm-errorsFehlermeldungen des Servers.xdm-pidDie Prozess-ID des gerade laufenden
XDM-Prozesses.Im Verzeichnis /usr/X11R6/lib/X11/xdm
befinden sich auch noch Skripten und Programme, die zum Einrichten
der XDM-Oberfläche dienen. Der
Zweck dieser Dateien und der Umgang mit ihnen wird in der
Hilfeseite &man.xdm.1; erklärt. Wir gehen im Folgenden nur
kurz auf ein paar der Dateien ein.Die vorgegebene Einstellung zeigt ein rechteckiges
Anmeldefenster, in dem der Rechnername in großer Schrift
steht. Darunter befinden sich die Eingabeaufforderungen
Login: und Password:.
Mit dieser Maske können Sie anfangen, wenn Sie das
Erscheinungsbild von XDM
verändern wollen.XaccessVerbindungen zu XDM werden mit
dem X Display Manager Connection Protocol
(XDMCP) hergestellt.
XDMCP-Verbindungen von entfernten Maschinen
werden über den Regelsatz in Xaccess
kontrolliert. In der Vorgabe sind alle Verbindungen erlaubt,
doch muss auch xdm-config geändert
werden, damit XDM Verbindungen
entfernter Maschinen annimmt.XresourcesIn dieser Datei kann das Erscheinungsbild der
Bildschirmauswahl und der Anmeldemasken festgelegt werden. Das
Format entspricht den Dateien im Verzeichnis
app-defaults, die in der
XFree86-Dokumentation beschrieben
sind.XserversDiese Datei enthält eine Liste entfernter Maschinen, die
in der Bildschirmauswahl angeboten werden.XsessionDieses Skript wird vom XDM
aufgerufen, nachdem sich ein Benutzer erfolgreich angemeldet hat.
Üblicherweise besitzt jeder Benutzer eine angepasste Version
dieses Skripts in ~/.xsession, das dann
anstelle von Xsession ausgeführt
wird.Xsetup_*Diese Skripten werden automatisch ausgeführt bevor die
Bildschirmauswahl oder die Anmeldemasken angezeigt werden.
Für jeden lokalen Bildschirm gibt es ein Skript, dessen
Namen aus Xsetup_ gefolgt von der
Bildschirmnummer gebildet wird (zum Beispiel
Xsetup_0). Normalerweise werden damit ein
oder zwei Programme, wie xconsole, im
Hintergrund gestartet.xdm-configDiese Datei enthält Einstellungen, die für jeden
verwalteten Bildschirm zutreffen. Das Format entspricht dem der
Dateien aus app-defaults.xdm-errorsDie Ausgaben jedes X-Servers, den
XDM versucht zu starten, werden in
dieser Datei gesammelt. Wenn ein von
XDM verwalteter Bildschirm aus
unbekannten Gründen hängen bleibt, sollten Sie in
dieser Datei nach Fehlermeldungen suchen. Für jede Sitzung
werden die Meldungen auch in die Datei
~/.xsession-errors des Benutzers
geschrieben.Einrichten eines Bildschirm-Servers auf dem NetzwerkDamit sich Clients mit dem Bildschirm-Server verbinden
können, muss der Zugriffsregelsatz editiert werden und der
Listener aktiviert werden. Die Vorgabewerte sind sehr
restriktiv eingestellt. Damit XDM
Verbindungen annimmt, entfernen Sie einen Kommentar in
xdm-config:! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort: 0Starten Sie danach XDM neu.
Beachten Sie, dass Kommentare in den
Ressourcen-Konfigurationsdateien mit einem !
anstelle des sonst üblichen Zeichens #
beginnen. Wenn Sie strengere Zugriffskontrollen einrichten wollen,
sehen Sie sich die Beispiele in Xaccess und
die Hilfeseite &man.xdm.1; an.XDM ersetzenEs gibt mehrere Anwendungen, die
XDM ersetzen können, zum Beispiel
KDM, der Teil von
KDE ist und später in diesem
Kapitel besprochen wird. KDM ist
ansprechender gestaltet und bietet neben einigen Schnörkeln
die Möglichkeit, den zu verwendenden Window-Manager bei der
Anmeldung auszuwählen.ValentinoVaschettoBeigetragen von Grafische OberflächenDieser Abschnitt beschreibt verschiedene grafische
Oberflächen, die es für X unter FreeBSD gibt. Eine
Oberfläche (desktop environment)
kann alles von einem einfachen Window-Manager bis hin zu kompletten
Anwendungen wie KDE oder
GNOME sein.GNOMEÜber GNOMEGNOME ist eine benutzerfreundliche
Oberfläche, mit der Rechner leicht benutzt und konfiguriert
werden können. GNOME besitzt
eine Leiste, mit der Anwendungen gestartet werden und die
Statusinformationen anzeigen kann. Programme und Daten
können auf der Oberfläche abgelegt werden und
Standardwerkzeuge stehen zur Verfügung. Es gibt
Konventionen, die es Anwendungen leicht machen,
zusammenzuarbeiten und ein konsistentes Erscheinungsbild
garantieren. Benutzer anderer Betriebssysteme oder anderer
Arbeitsumgebungen sollten mit der leistungsfähigen
grafischen Oberfläche von GNOME
sehr gut zurechtkommen.GNOME installierenAm einfachsten installieren Sie GNOME
während der Installation des FreeBSD Systems wie in
beschrieben. Es ist aber ebenfalls leicht möglich,
GNOME als Paket oder über die
Ports-Sammlung zu installieren.Wenn Sie das GNOME-Paket über
das Netz installieren wollen, setzen Sie den nachstehenden Befehl
ab:&prompt.root; pkg_add -r gnomeWenn Sie den Quellcode von GNOME
übersetzen wollen, benutzen Sie die Ports-Sammlung:&prompt.root; cd /usr/ports/x11/gnome
&prompt.root; make install cleanNachdem GNOME installiert ist,
muss der X-Server GNOME anstelle eines
Window-Managers starten. Wenn Sie bereits eine angepasste
.xinitrc besitzen, ersetzen Sie dort den
Start des Window-Managers durch
/usr/X11R6/bin/gnome-session. Wenn
.xinitrc nicht gesondert angepasst wurde,
reicht es, den nachstehenden Befehl abzusetzen:&prompt.user; echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrcRufen Sie dann startx auf, um die
GNOME Oberfläche zu starten.Wenn Sie einen Display-Manager wie
XDM verwenden, müssen Sie
anders vorgehen. Legen Sie eine ausführbare
.xsession an, die das Kommando
zum Start von GNOME enthält.
Ersetzen Sie dazu den Start des Window-Managers durch
/usr/X11R6/bin/gnome-session:&prompt.user; echo "#!/bin/sh" > ~/.xsession
&prompt.user; echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession
&prompt.user; chmod +x ~/.xsessionSie können auch den Display-Manager so konfigurieren,
dass der Window-Manager beim Anmelden ausgesucht werden kann. Im
Abschnitt Details zu KDE
wird das für kdm, den
Display-Manager von KDE
erklärt.Anti-aliasing-Verfahren mit GNOMEMit dem Anti-aliasing-Verfahren behandelte Schriftarten
tauchten unter XFree86 zuerst auf der
KDE-Oberfläche auf und werden
dort in der Standardinstallation bereitgestellt. Es ist
allerdings auch möglich, das Verfahren mit GTK-Anwendungen
wie GNOME zu benutzen. Das geht am
einfachsten, indem Sie die Bibliothek
libgdkxft aus dem Port x11/gdkxft installieren. Lesen Sie
nach der Installation bitte die Datei
/usr/X11R6/share/doc/gdkxft/README.GTK-Anwendungen müssen dann zur Darstellung von
Schriften zuerst in libgdkxft.so nachsehen,
bevor sie libgdk.so verwenden. Dies wird
durch eine Umgebungsvariable erreicht, die auf die richtige
Bibliothek zeigt. Wenn Sie eine Bourne-Shell oder eine
ähnliche Shell benutzen, können Sie mit dem
nachstehenden Kommando beispielsweise The
Gimp starten:&prompt.user; LD_PRELOAD=/usr/X11R6/lib/libgdkxft.so gimpIn einer csh oder ähnlichen
Shell benutzen Sie die nachstehenden Kommandos:&prompt.user; setenv LD_PRELOAD /usr/X11R6/lib/libgdkxft.so
&prompt.user; gimpSie können die Umgebungsvariable auch beim Start der
Sitzung setzen. Setzen Sie dazu die folgenden Kommandos,
abhängig von der Art und Weise, wie die Sitzung gestartet
wird, in .xinitrc oder
.xsession oder an die passenden Stellen in
/usr/X11R6/lib/X11/xdm/Xsession ein:LD_PRELOAD=/usr/X11R6/lib/libgdkxft.so
export LD_PRELOADDiese Vorgehensweise ist zwar einfacher, kann aber bei der
Verwendung von Linux-GTK-Programmen zu Problemen
führen.KDEÜber KDEKDE ist eine moderne, leicht zu
benutzende Oberfläche, die unter anderem Folgendes
bietet:eine schöne und moderne Oberfläche,eine Oberfläche, die völlig netzwerktransparent
ist,ein integriertes Hilfesystem, das bequem und konsistent
Hilfestellungen bezüglich der Bedienung
der KDE-Oberfläche und
ihrer Anwendungen gibt,ein konstantes Erscheinungsbild (look and
feel) aller
KDE-Anwendungen,einheitliche Menüs, Werkzeugleisten,
Tastenkombinationen und Farbschemata,Internationalisierung: KDE
ist in mehr als 40 Sprachen erhältlich,durch Dialoge gesteuerte zentrale Konfiguration der
Oberfläche,viele nützliche
KDE-Anwendungen.In KDE ist ein Office-Paket
integriert, das die KParts-Technik benutzt. Das
Paket enthält neben anderem eine Tabellenkalkulation, ein
Präsentationsprogramm, einen Terminkalender und einen
News-Client. Ein Webbrowser mit Namen
Konqueror, der sich mit anderen
Webbrowsern von &unix; Systemen messen kann, ist ebenfalls
Bestandteil von KDE. Weitere
Informationen über KDE erhalten
Sie auf den KDE-Webseiten.KDE installierenAm einfachsten installieren Sie KDE,
wie jede andere grafische Oberfläche auch, während der
Installation des FreeBSD Systems wie in
beschrieben. Die Anwendung kann natürlich auch als Paket
oder über die Ports-Sammlung installiert werden.Um KDE über das Netz zu
installieren, setzen Sie den nachstehenden Befehl ab:&prompt.root; pkg_add -r kde3Benutzen Sie die Ports-Sammlung, wenn Sie den Quellcode von
KDE übersetzen wollen:&prompt.root; cd /usr/ports/x11/kde3
&prompt.root; make install cleanNachdem KDE installiert ist, muss
der X-Server KDE anstelle eines
Window-Managers starten. Legen Sie dazu die Datei
.xinitrc an:&prompt.user; echo "exec startkde" > ~/.xinitrcWenn das X-Window-System danach mit startx
gestartet wird, erscheint die
KDE-Oberfläche.Wird ein Display-Manager wie xdm
benutzt, muss .xsession angepasst werden.
Eine Anleitung für kdm folgt
gleich in diesem Kapitel.Details zu KDEWenn KDE erst einmal installiert
ist, erschließen sich die meisten Sachen durch das
Hilfesystem oder durch Ausprobieren. Benutzer von Windows oder
MacOS werden sich sehr schnell zurecht finden.Die beste Referenz für KDE
ist die Online-Dokumentation. KDE
besitzt einen eigenen Webbrowser, sehr viele nützliche
Anwendungen und ausführliche Dokumentation. Der Rest dieses
Abschnitts beschäftigt sich daher mit Dingen, die schlecht
durch einfaches Ausprobieren erlernbar sind.Der KDE-Display-ManagerDer Administrator eines Mehrbenutzersystems will den
Benutzern vielleicht eine grafische Anmeldung wie mit
xdm
ermöglichen. KDE besitzt einen
eigenen Display-Manager, der schöner aussieht und auch
über mehr Optionen verfügt. Insbesondere können
sich die Benutzer die Oberfläche für die Sitzung
(beispielsweise KDE oder
GNOME) aussuchen.Starten Sie das KDE
Kontrollzentrum, kcontrol, als
root. Lassen Sie bitte nicht die gesamte
X-Umgebung unter root laufen, dies ist sehr
unsicher. Öffnen Sie stattdessen als normaler Benutzer ein
Terminalfenster (zum Beispiel einen xterm
oder die konsole von
KDE) und wechseln Sie darin mit
su zu root (dazu muss der
Benutzer der Gruppe wheel angehören).
Rufen Sie dann kcontrol auf, um das
Kontrollzentrum zu starten.Klicken Sie auf das Icon System und
dann auf Login manager. Auf der rechten
Seite befinden sich verschiedene Optionen, die alle
ausführlich im KDE-Handbuch
beschrieben werden. Klicken Sie auf
sessions und dann auf
New type. Jetzt können Sie Namen
für Window-Manager oder grafische Oberflächen eingeben.
Die Namen müssen nicht mit den zu startenden Programmen
übereinstimmen, so dass Sie KDE
anstelle von startkde oder
GNOME anstelle von
gnome-session eingeben
können. Legen Sie bitte auch eine Sitzung mit dem Namen
failsafe an.Sehen Sie sich auch die anderen Menüs an. Wenn Sie
fertig sind, klicken Sie Apply und beenden
Sie das Kontrollzentrum.Damit kdm mit den vergebenen
Namen (KDE,
GNOME) etwas anfangen kann, editieren
Sie die Dateien, die von xdm benutzt
werden.
Ab KDE 2.2 benutzt
kdm eigene Konfigurationsdateien.
Schauen Sie die Einzelheiten bitte in der
KDE 2.2-Dokumentation nach.
Wechseln Sie in einem Terminalfenster zu root
und editieren Sie die Datei
/usr/X11R6/lib/X11/xdm/Xsession.
Ungefähr in der Mitte Datei finden Sie einen Abschnitt wie
den folgenden:case $# in
1)
case $1 in
failsafe)
exec xterm -geometry 80x24-0-0
;;
esac
esacFür die vergebenen Namen müssen nun einige Zeilen
hinzugefügt werden. Wenn Sie KDE und
GNOME verwendet haben, sollte der Abschnitt wie
folgt aussehen:case $# in
1)
case $1 in
kde)
exec /usr/local/bin/startkde
;;
GNOME)
exec /usr/X11R6/bin/gnome-session
;;
failsafe)
exec xterm -geometry 80x24-0-0
;;
esac
esacWenn Sie den KDE-Hintergrund schon
während der Anmeldung benutzen wollen, fügen Sie die
nachstehende Zeile in
/usr/X11R6/lib/X11/xdm/Xsetup_0 ein:/usr/local/bin/kdmdesktopDamit kdm beim nächsten
Systemstart gestartet wird, muss ein entsprechender Eintrag in
/etc/ttys vorhanden sein. Folgen Sie dazu
den Anweisungen aus dem Anschnitt über
xdm und ersetzen Sie alle Bezüge auf
/usr/X11R6/bin/xdm durch
/usr/local/bin/kdm.Anti-aliasing-Verfahren mit KDEAb der Version 4.0.2 beherrscht
XFree86 durch die
RENDER-Erweiterung das Anti-aliasing-Verfahren.
Die Erweiterung wird ab der Version 2.3 von Qt, dem
KDE-Toolkit, benutzt. In
wird beschrieben wie das
Anti-aliasing-Verfahren eingerichtet wird. Im KDE-Menü
wählen Sie Preferences ->
Look and Feel ->
Fonts. Klicken Sie dann in das
Kontrollkästchen Use Anti-Aliasing for Fonts and
Icons. Für nicht zu
KDE gehörende Qt-Anwendungen
muss die Umgebungsvariable QT_XFT vor dem Start
der Anwendung auf true gesetzt werden.XFceÜber XFceXFce ist eine grafische
Oberfläche, die auf den GTK-Bibliotheken, die auch von
GNOME benutzt werden, beruht. Die
Oberfläche ist allerdings weniger aufwändig und
für diejenigen gedacht, die eine schlichte und effiziente
Oberfläche wollen, die dennoch einfach zu benutzen
und zu konfigurieren ist. Die Oberfläche sieht
ähnlich wie CDE aus, das in
kommerziellen &unix; Systemen verwendet wird. Einige Merkmale
von XFce sind:eine schlichte einfach zu benutzende
Oberfläche,vollständig mit Mausoperationen konfigurierbar,
Unterstützung von drag and
drop,ähnliche Hauptleiste wie
CDE, die Menüs enthält
und über die Anwendungen gestartet werden
können,integrierter Window-Manager, Datei-Manager und
Sound-Manager,
GNOME-compliance-Modul,mit Themes anpassbar (da
GTK benutzt wird),schnell, leicht und effizient: ideal für ältere
oder langsamere Maschinen oder Maschinen mit wenig
Speicher.Weitere Information über
XFce erhalten Sie auf der
XFce-Webseite.XFce installierenDas XFce-Paket installieren Sie
mit dem nachstehenden Kommando:&prompt.root; pkg_add -r xfceMit der Ports-Sammlung können Sie auch den Quellcode
übersetzen:&prompt.root; cd /usr/ports/x11-wm/xfce
&prompt.root; make install cleanDamit beim nächsten Start des X-Servers
XFce benutzt wird, setzen Sie das
folgende Kommando ab:&prompt.user; echo "/usr/X11R6/bin/startxfce" > ~/.xinitrcWenn Sie einen Display-Manager benutzen, erstellen Sie die
Datei .xsession, wie im GNOME Abschnitt beschrieben.
Verwenden Sie jetzt allerdings das Kommando
/usr/X11R6/bin/startxfce. Sie können
auch den Display-Manager wie im kdm Abschnitt beschrieben, so
konfigurieren, dass die Oberfläche für die Sitzung
ausgewählt werden kann.