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 dc6863d695..8dc272f69d 100644
--- a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
@@ -1,2979 +1,4578 @@
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.BGPRIPOSPFIhr 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. BGP v4,
OSPF v2 und andere Protokolle werden von
net/zebra
unterstützt. Es stehen auch kommerzielle Produkte
wie gated zur Verfügung.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
(beispielsweise durch Nichterreichbarkeit eines
Gateway-Rechners).Für weitere Informationen lesen Sie bitte die
Dokumentation zu &man.traceroute.8;.
+
+
+ Multicast-Routing
+
+ Multicast-Routing
+ options MROUTING
+
+ &os; unterstützt sowohl Multicast-Anwendungen als
+ auch Multicast-Routing. Multicast-Anwendungen müssen
+ nicht konfiguriert werden; sie laufen einfach. Multicast-Routing
+ muss in der Kernelkonfiguration aktiviert werden:
+
+ options MROUTING
+
+ Zusätzlich müssen für den
+ Multicast-Routing-Dæmon, &man.mrouted.8;,
+ Tunnel und DVMRP in der Datei /etc/mrouted.conf
+ eingerichtet werden. Weitere Informationen erhalten
+ Sie in der Hilfeseite &man.mrouted.8;.
+ EricAndersonGeschrieben von Drahtlose Netzwerkedrahtlose Netzwerke802.11drahtlose 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.Betriebsmodi drahtloser GeräteDrahtlose 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. Im folgenden wird
keiner der ad-hoc-Modi behandelt.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 installierendrahtlose NetzwerkeZugangspunkteVoraussetzungenUm 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.
+ überhaupt erkannt und angezeigt wird. Wenn die
+ Karte eine PC Card ist und überhaupt nicht
+ erkannt wird, schauen Sie in den Hilfeseiten
+ &man.pccardc.8; und &man.pccardd.8; nach weiteren
+ Hinweisen.
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üsselungdrahtlose NetzwerkeVerschlü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;.WEPWEPWEP 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
+ Das Kommando ifconfigifconfig&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 FirewallFirewallIP-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.RouterDSLISDNEine 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 KernelkonfigurationKernelkonfigurationKernelkonfigurationoptions BRIDGEUm die Kernelunterstützung für die LAN-Kopplung
zu aktivieren, fügen Sieoptions BRIDGEin Ihre Kernelkonfigurationsdatei ein, und erzeugen einen
neuen Kernel.FirewallunterstützungFirewallWenn 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 ARP-Pakete) 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=1Sonstige 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.Eine Bridge kann, besonders für Verkehr über
Segmente, die Laufzeiten von Paketen erhöhen.TomRhodesReorganisiert und erweitert von BillSwingleGeschrieben von NFS – Network File SystemNFSEines der vielen von FreeBSD unterstützten Dateisysteme
ist das Netzwerkdateisystem, das auch als NFS
bekannt ist. NFS ermöglicht es einem
System, Dateien und Verzeichnisse über ein Netzwerk mit anderen
zu teilen. Über NFS können Benutzer
und Programme auf Daten entfernter Systeme zugreifen, und zwar
genauso, wie wenn es sich um lokale Daten handeln würde.Einige der wichtigsten Vorteile von NFS
sind:Lokale Arbeitsstationen benötigen weniger Plattenplatz,
da gemeinsam benutzte Daten nur auf einem einzigen Rechner
vorhanden sind. Alle anderen Stationen greifen über das
Netzwerk auf diese Daten zu.Benutzer benötigen nur noch ein zentrales
Heimatverzeichnis auf einem NFS-Server.
Diese Verzeichnisse sind über das Netzwerk auf allen
Stationen verfügbar.Speichergeräte wie Disketten-, CD-ROM-
oder ZIP-Laufwerke können über das Netzwerk von
anderen Arbeitstationen genutzt werden. Dadurch sind für
das gesamte Netzwerk deutlich weniger Speichergeräte
nötig.Wie funktioniert NFS?NFS besteht aus zwei Hauptteilen: Einem
Server und einem oder mehreren Clients. Der Client greift
über das Netzwerk auf die Daten zu, die auf dem Server
gespeichert sind. Damit dies korrekt funktioniert, müssen
einige Prozesse konfiguriert und gestartet werden:
+
+ In &os;nbsp;5.X wurde portmap
+ durch rpcbind ersetzt. Benutzer von
+ &os;nbsp;5.X müssen in den folgenden Beispielen
+ portmap durch
+ rpcbind ersetzen.
+
+
Der Server benötigt folgende Daemonen:NFSServerportmapmountdnfsdDaemonBeschreibungnfsdDer NFS-Daemon. Er bearbeitet
Anfragen der NFS-Clients.mountdDer NFS-Mount-Daemon. Er
bearbeitet die Anfragen, die &man.nfsd.8; an ihn
weitergibt.portmap Der Portmapper-Daemon. Durch ihn erkennen die
NFS-Clients, welchen Port der
NFS-Server verwendet.Der Client kann ebenfalls einen Daemon aufrufen, und zwar den
nfsiod-Daemon. Der
nfsiod-Daemon bearbeitet Anfragen vom
NFS-Server. Er ist optional und verbessert
die Leistung des Netzwerks. Für eine normale und korrekte
Arbeit ist er allerdings nicht erforderlich. Lesen Sie
&man.nfsiod.8;, wenn Sie weitere Informationen benötigen.NFS einrichtenNFSeinrichtenNFS läßt sich leicht
einrichten. Die nötigen Prozesse werden durch einige
Änderungen in /etc/rc.conf bei
jedem Systemstart gestartet.Stellen Sie sicher, dass auf dem NFS-Server
folgende Optionen in /etc/rc.conf
gesetzt sind:
portmap_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"
mountd läuft automatisch, wenn der
NFS-Server aktiviert ist.Auf dem Client muss in /etc/rc.conf
folgende Option gesetzt sein:nfs_client_enable="YES"/etc/exports legt fest, welche Dateisysteme
NFS exportieren (manchmal auch als
teilen bezeichnet) soll. Jede Zeile in
/etc/exports legt ein Dateisystem sowie
die Arbeitsstationen, die darauf Zugriff haben, fest. Außerdem
ist es möglich, Zugriffsoptionen festzulegen. Es gibt viele
verschiedene Optionen, allerdings werden hier nur einige von
ihnen erwähnt. Wenn Sie Informationen über weitere
Optionen benötigen, lesen Sie &man.exports.5;.Nun folgen einige Beispieleinträge für
/etc/exports:NFSExport von DateisystemenDie folgenden Beispiele geben Ihnen Anhaltspunkte zum
Exportieren von Dateisystemen, obwohl diese Einstellungen
natürlich von Ihrer Arbeitsumgebung und Ihrer
Netzwerkkonfiguration abhängen. Das nächste
Beispiel exportiert das Verzeichnis /cdrom
für drei Rechner, die sich in derselben Domäne wie
der Server befinden oder für die entsprechende Einträge
in /etc/hosts existieren.
Die Option kennzeichnet das
exportierte Dateisystem als schreibgeschützt. Durch dieses
Flag ist das entfernte System nicht in der Lage, das exportierte
Dateisystem zu verändern./cdrom -ro host1 host2 host3Die nächste Zeile exportiert /home
auf drei durch IP-Adressen bestimmte Rechner. Diese Einstellung
ist nützlich, wenn Sie über ein privates Netzwerk ohne
DNS-Server verfügen. Optional
könnten interne Rechnernamen auch in
/etc/hosts konfiguriert werden.
Benötigen Sie hierzu weitere Informationen, lesen Sie bitte
&man.hosts.5;. Durch das Flag wird es
möglich, auch Unterverzeichnisse als Mountpunkte
festzulegen. Dies bedeutet aber nicht, dass alle
Unterverzeichnisse eingehängt werden, vielmehr wird es dem
Client ermöglicht, nur diejenigen Verzeichnisse
einzuhängen, die auch benötigt werden./home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4Die nächste Zeile exportiert /a,
damit Clients von verschiedenen Domänen auf das Dateisystem
zugreifen können. Das -Flag
erlaubt es dem Benutzer root des entfernten
Systems, als root auf das exportierte
Dateisystem zu schreiben. Wenn dieses Flag nicht gesetzt ist,
kann selbst root nicht auf das exportierte
Dateisystem schreiben./a -maproot=root host.example.com box.example.orgDamit ein Client auf ein exportiertes Dateisystem zugreifen
kann, muss ihm dies explizit gestattet werden. Stellen Sie also
sicher, dass der Client in /etc/exports
aufgeführt wird.Jede Zeile in /etc/exports entspricht
der Exportinformation für ein Dateisystem auf einen Rechner.
Ein entfernter Rechner kann für jedes Dateisystem nur
einmal festgelegt werden, und kann auch nur einen Standardeintrag
haben. Nehmen wir an, dass /usr
ein einziges Dateisystem ist. Dann wären folgende Zeilen
ungültig:
/usr/src client
/usr/ports client
Das Dateisystem /usr wird hier zweimal
auf den selben Rechner (client)
exportiert. Dies ist aber nicht zulässig. Der richtige
Eintrag sieht daher so aus:/usr/src /usr/ports clientDie Eigenschaften eines auf einen anderen Rechner
exportierten Dateisystems müssen alle in einer Zeile
stehen. Zeilen, in denen kein Rechner festgelegt wird, werden
als einzelner Rechner behandelt. Dies schränkt die
Möglichkeiten zum Export von Dateisystemen ein, für
die meisten Anwender ist dies aber kein Problem.Eine gültige Exportliste, in der
/usr und /exports
lokale Dateisysteme sind, sieht so aus:
# Export src and ports to client01 and client02, but only
# client01 has root privileges on it
/usr/src /usr/ports -maproot=root client01
/usr/src /usr/ports client02
# The client machines have root and can mount anywhere
# on /exports. Anyone in the world can mount /exports/obj read-only
/exports -alldirs -maproot=root client01 client02
/exports/obj -ro
Sie müssen mountd nach jeder
Änderung von /etc/exports neu
starten, damit die Änderungen wirksam werden. Dies
kann durch das Senden des HUP-Signals an den
mountd-Prozess erfolgen:&prompt.root; kill -HUP `cat /var/run/mountd.pid`Alternativ können Sie auch das System neu starten.
Dies ist allerdings nicht nötig. Wenn Sie die folgenden
Befehle als root ausführen, sollte
alles korrekt gestartet werden.Auf dem NFS-Server:&prompt.root; portmap
&prompt.root; nfsd -u -t -n 4
&prompt.root; mountd -rAuf dem NFS-Client:&prompt.root; nfsiod -n 4Nun sollte alles bereit sein, um ein entferntes Dateisystem
einhängen zu können. In unseren Beispielen nennen wir
den Server server, den Client
client. Wenn Sie ein entferntes Dateisystem
nur zeitweise einhängen wollen, oder nur Ihre Konfiguration
testen möchten, führen Sie auf dem Client als
root einen Befehl ähnlich dem
folgenden aus:NFSDateisysteme einhängen&prompt.root; mount server:/home /mntDadurch wird das Verzeichnis /home des
Servers auf dem Client unter /mnt eingehängt.
Wenn alles korrekt konfiguriert wurde, sehen Sie auf dem Client
im Verzeichnis /mnt alle Dateien des
Servers.Wenn Sie ein entferntes Dateisystem nach jedem Systemstart
automatisch einhängen wollen, fügen Sie das Dateisystem
in /etc/fstab ein. Dazu ein Beispiel:server:/home /mnt nfs rw 0 0Für Informationen zu allen möglichen Optionen lesen
Sie bitte &man.fstab.5;.Praktische AnwendungenNFS ist in vielen Situationen
nützlich. Einige Anwendungsbereiche finden Sie in der
folgenden Liste:NFSAnwendungsbeispieleMehrere Maschinen können sich ein CD-ROM-Laufwerk
oder andere Medien teilen. Dies ist billiger und außerdem
praktischer, um Programme auf mehreren Rechnern zu
installieren.In größeren Netzwerken ist es praktisch,
einen zentralen NFS-Server einzurichten,
auf dem die Heimatverzeichnisse der Benutzer gespeichert
werden. Diese Heimatverzeichnisse werden über das
Netzwerk exportiert. Dadurch haben die Benutzer immer das
gleiche Heimatverzeichnis zur Verfügung,
unabhängig davon, an welchem Arbeitsplatz sie sich
anmelden.Verschiedene Rechner können auf ein gemeinsames
/usr/ports/distfiles-Verzeichnis
zugreifen. Wenn Sie nun einen Port auf mehreren Rechnern
installieren wollen, greifen Sie einfach auf dieses
Verzeichnis zu, ohne die Quelldateien auf jede Maschine
zu kopieren.WylieStilwellBeigetragen von ChernLeeÜberarbeitet von
- AMD
+ AMDamdAutomatic Mounter Daemon&man.amd.8; (Automatic Mounter Daemon) hängt ein
entferntes Dateisystem automatisch ein,
wenn auf eine Datei oder ein Verzeichnis in diesem Dateisystem
zugegriffen wird. Dateisysteme, die über einen gewissen
Zeitraum inaktiv sind, werden von amd
automatisch abgehängt.
amd ist eine einfache
Alternative zum dauerhaften Einhängen von Dateisystemen
in /etc/fstab.In der Voreinstellung stellt amd
die Verzeichnisse /host und
/net als NFS-Server bereit. Wenn auf eine Datei
in diesen Verzeichnissen zugegriffen wird, sucht
amd den entsprechenden Mountpunkt
und hängt das Dateisystem automatisch ein.
/net wird zum Einhängen von
exportierten Dateisystemen von einer IP-Adresse verwendet,
während /host zum Einhängen
von exportierten Dateisystemen eines durch seinen Namen
festgelegten Rechners dient.Ein Zugriff auf eine Datei in
/host/foobar/usr würde
amd veranlassen,
das von foobar exportierte Dateisystem
/usr einzuhängen.Ein exportiertes Dateisystem mit
amd in den Verzeichnisbaum
einhängenSie können sich die verfügbaren Mountpunkte
eines entfernten Rechners mit showmount
ansehen. Wollen Sie sich die Mountpunkte des Rechners
foobar ansehen, so verwenden Sie:&prompt.user; showmount -e foobar
Exports list on foobar:
/usr 10.10.10.0
/a 10.10.10.0
&prompt.user; cd /host/foobar/usrWie Sie an diesem Beispiel erkennen können, zeigt
showmount/usr
als exportiertes Dateisystem an. Wenn man in das Verzeichnis
/host/foobar/usr wechselt, versucht
amd den Rechnernamen
foobar aufzulösen und den gewünschten
Export in den Verzeichnisbaum einzuhängen.amd kann durch das Einfügen
der folgenden Zeile in /etc/rc.conf
automatisch gestartet werden:amd_enable="YES"Mit der Option amd_flags kann
amd angepasst werden.
Die Voreinstellung für amd_flags sieht
so aus:amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"/etc/amd.map legt die Standardoptionen
fest, mit denen exportierte Dateisysteme in den Verzeichnisbaum
eingehängt werden. /etc/amd.conf
hingegen legt einige der erweiterten Optionen von
amd fest.Für weitere Informationen lesen Sie bitte &man.amd.8;
und &man.amd.conf.5;.JohnLindBeigetragen von Integrationsprobleme mit anderen SystemenBestimmte ISA-Ethernetadapter haben Beschränkungen, die
zu ernsthaften Netzwerkproblemen, insbesondere mit NFS
führen können. Es handelt sich dabei nicht um ein
FreeBSD-spezifisches Problem, aber FreeBSD-Systeme sind davon
ebenfalls betroffen.Das Problem tritt fast ausschließlich dann auf, wenn
(FreeBSD)-PC-Systeme mit Hochleistungsrechnern verbunden werden,
wie Systemen von Silicon Graphics, Inc. oder
Sun Microsystems, Inc. Das Einhängen via NFS funktioniert
problemlos, auch einige Dateioperationen können erfolgreich
sein. Plötzlich aber wird der Server nicht mehr auf den
Client reagieren, obwohl Anfragen an und von anderen Rechnern
weiter bearbeitet werden. Dieses Problem betrifft stets den
Client, egal ob es sich beim Client um das FreeBSD-System oder
den Hochleistungsrechner handelt. Auf vielen Systemen gibt es
keine Möglichkeit mehr, den Client ordnungsgemäß
zu beenden. Die einzige Lösung ist oft, den Rechner neu
zu starten, da dieses NFS-Problem nicht mehr behoben werden kann.Die korrekte Lösung für dieses
Problem ist es, sich eine schnellere Ethernetkarte für
FreeBSD zu kaufen. Allerdings gibt es auch eine einfache und
meist zufriedenstellende Lösung, um dieses Problem zu
umgehen. Wenn es sich beim FreeBSD-System um den
Server handelt, verwenden Sie beim
Einhängen in den Verzeichnisbaum auf der Clientseite
zusätzlich die Option . Wenn es
sich beim FreeBSD-System um den Client
handelt, dann hängen Sie das NFS-Dateisystem mit der
zusätzlichen Option ein.
Diese Optionen können auf der Clientseite auch durch
das vierte Feld der Einträge in /etc/fstab
festgelegt werden, damit die Dateisysteme automatisch eingehängt
werden. Um die Dateisysteme manuell einzuhängen, verwendet
man bei mount zusätzlich die Option
.Es gibt ein anderes Problem, das oft mit diesem verwechselt
wird. Dieses andere Problem tritt auf, wenn sich über NFS
verbundene Server und Clients in verschiedenen Netzwerken
befinden. Wenn dies der Fall ist, stellen Sie
sicher, dass Ihre Router die
nötigen UDP-Informationen weiterleiten, oder Sie werden
nirgends hingelangen, egal was Sie machen.In den folgenden Beispielen ist fastws der
Name des Hochleistungsrechners (bzw. dessen Schnittstelle),
freebox hingegen ist der Name des
FreeBSD-Systems, das über eine Netzkarte mit geringer
Leistung verfügt. /sharedfs ist das
exportierte NFS -Dateisystem (lesen Sie dazu auch
&man.exports.5;). Bei /project handelt es
sich um den Mountpunkt, an dem das exportierte Dateisystem auf
der Clientseite eingehängt wird. In allen Fällen
können zusätzliche Optionen, wie z.B.
, oder
wünschenswert sein.FreeBSD als Client (eingetragen in
/etc/fstab auf freebox):fastws:/sharedfs /project nfs rw,-r=1024 0 0Manuelles Einhängen auf freebox:&prompt.root; mount -t nfs -o -r=1024 fastws:/sharedfs /projectFreeBSD als Server (eingetragen in
/etc/fstab auf fastws):freebox:/sharedfs /project nfs rw,-w=1024 0 0Manuelles Einhängen auf fastws:&prompt.root; mount -t nfs -o -w=1024 freebox:/sharedfs /projectNahezu alle 16-bit Ethernetadapter erlauben Operationen
ohne obengenannte Einschränkungen auf die Lese- oder
Schreibgröße.Für alle technisch Interessierten wird nun beschrieben,
was passiert, wenn dieser Fehler auftritt, und warum er
irreversibel ist. NFS arbeitet üblicherweise mit einer
Blockgröße von 8 kByte (obwohl
es kleinere Fragmente zulassen würde). Da die maximale
Rahmengröße von Ethernet 1500 Bytes
beträgt, wird der NFS-Block in einzelne
Ethernetrahmen aufgeteilt, obwohl es sich nach wie vor um eine
Einheit handelt, die auch als Einheit empfangen, verarbeitet
und bestätigt werden muss. Der
Hochleistungsrechner verschickt die Pakete, aus denen der
NFS-Block besteht, so eng hintereinander, wie es der Standard
erlaubt. Auf der anderen Seite (auf der sich die langsamere
Netzkarte befindet), überschreiben die späteren
Pakete ihre Vorgänger, bevor diese vom System verarbeitet
werden (Überlauf!). Dies hat zur Folge, dass der NFS-Block
nicht mehr rekonstruiert und bestätigt werden kann. Als
Folge davon glaubt der Hochleistungsrechner, dass der andere
Rechner nicht erreichbar ist (Timeout!) und versucht die
Sendung zu wiederholen. Allerdings wird wiederum der komplette
NFS-Block verschickt, so dass sich der ganze Vorgang wiederholt,
und zwar immer wieder (oder bis zum Systemneustart).Indem wir die Einheitengröße unter der maximalen
Größe der Ethernetpakete halten, können wir
sicherstellen, dass jedes vollständig erhaltene
Ethernetpaket individuell angesprochen werden kann und vermeiden
die Blockierung des Systems.Überläufe können zwar nach wie vor auftreten,
wenn ein Hochleistungsrechner Daten auf ein PC-System
transferiert. Durch die besseren (und schnelleren) Netzkarten
treten solche Überläufe allerdings nicht mehr
zwingend auf, wenn
NFS-Einheiten übertragen werden. Tritt nun
ein Überlauf auf, wird die betroffene Einheit erneut
verschickt, und es besteht eine gute Chance, dass sie nun
erhalten, verarbeitet und bestätigt werden kann.Jean-FrançoisDockèsAktualisiert von Start und Betrieb von FreeBSD über ein Netzwerkplattenloser Arbeitsplatzplattenloser BetriebFreeBSD kann über ein Netzwerk starten und arbeiten, ohne
eine lokale Festplatte zu verwenden, indem es Dateisysteme eines
NFS-Servers in den eigenen Verzeichnisbaum einhängt. Dazu
sind, von den Standardkonfigurationsdateien abgesehen, keine
Systemänderungen nötig. Ein solches System kann leicht
installiert werden, da alle notwendigen Elemente bereits vorhanden
sind:Es gibt mindestens zwei Möglichkeiten, den Kernel
über das Netzwerk zu laden:PXE: Das
Preboot Execution Environment System von
Intel ist eine Art intelligentes Boot-ROM, das in einigen
Netzkarten oder Hauptplatinen verwendet wird. Lesen Sie
&man.pxeboot.8; für weitere Informationen.Der Port
etherboot
(net/etherboot) erzeugt
ROM-fähigen Code, um einen Kernel über das
Netzwerk zu laden. Dieser Code kann entweder auf ein
Boot-PROM einer Netzkarte gebrannt werden, was von vielen
Netzkarten unterstützt wird. Oder er kann von einer
lokalen Diskette, Festplatte oder von einem laufenden
MS-DOS-System geladen werden.Das Beispielskript
(/usr/share/examples/diskless/clone_root)
erleichtert die Erzeugung und die Wartung des root-Dateisystems
auf dem Server. Das Skript muss wahrscheinlich angepasst
werden, dennoch werden Sie schnell zu einem Ergebnis kommen.
Die Startdateien, die einen plattenlosen Systemstart
erkennen und unterstützen, sind nach der Installation
in /etc vorhanden.Dateiauslagerungen können sowohl via NFS als auch
auf die lokale Platte erfolgen.Es gibt verschiedene Wege, einen plattenlosen Rechner
einzurichten. Viele Elemente sind daran beteiligt, die fast
immer an den persönlichen Geschmack angepasst werden
können. Die folgende Beschreibung erklärt die
Installation eines kompletten Systems, wobei der Schwerpunkt auf
Einfachheit und Kompatibilität zu den Standardstartskripten
von FreeBSD liegt. Das beschriebene System hat folgende
Eigenschaften:Die plattenlosen Rechner haben ein gemeinsames
root- sowie ein gemeinsames
/usr-Dateisystem, die jeweils
schreibgeschützt sind.Das root-Dateisystem ist eine Kopie
eines Standardwurzelverzeichnisses von FreeBSD
(üblicherweise das des Servers), bei dem einige
Konfigurationsdateien durch für den plattenlosen
Betrieb geeignete Versionen ersetzt wurden.Für die Bereiche von root, die
beschreibbar sein müssen, werden mit &man.mfs.8;
virtuelle Dateisysteme erzeugt. Dies bedeutet aber auch, dass
alle Veränderungen verloren gehen, wenn das System neu
gestartet wird.Der Kernel wird von etherboot
geladen. Dazu werden DHCP (oder BOOTP) und TFTP verwendet.Das hier beschriebene System ist nicht sicher. Es
sollte nur in einem gesicherten Bereich eines Netzwerks verwendet
werden und für andere Rechner nicht erreichbar sein.Installationsanweisungenplattenloser BetriebSystemstartDHCP/BOOTP konfigurierenEs gibt zwei häufig verwendete Protokolle, um Rechner
zu starten, die ihre Konfiguration über ein Netzwerk
erhalten: BOOTP und DHCP. Diese werden in verschiedenen
Phasen des Startvorganges verwendet:etherboot verwendet
DHCP (Voreinstellung) oder BOOTP (muss vorher konfiguriert
werden), um den Kernel zu finden (PXE verwendet DHCP).Der Kernel verwendet BOOTP, um das
NFS-Wurzelverzeichnis zu finden.Es ist möglich, das System so zu konfigurieren, dass
es nur BOOTP verwendet. Das &man.bootpd.8;-Serverprogramm ist
bereits im Basissystem enthalten.DHCP hat im Vergleich zu BOOTP allerdings mehrere Vorteile
(bessere Konfigurationsdateien, die Möglichkeit zur
Verwendung von PXE, sowie viele andere, die nicht in direktem
Zusammenhang mit dem plattenlosen Betrieb stehen), daher werden
hier beide Methoden, die ausschließliche Verwendung von
BOOTP sowie die gemeinsame Nutzung von BOOTP und DHCP
beschrieben. Der Schwerpunkt liegt dabei auf der Betrachtung
von DHCP. Dazu wird das Softwarepaket ISC-DHCP verwendet.Konfiguration unter Verwendung von ISC DHCPDHCPplattenloser BetriebDer isc-dhcp-Server kann
Anfragen sowohl von BOOTP als auch von DHCP beantworten.
isc-dhcp 3.0 ist nicht Teil
des Basissystems. Sie müssen es daher zuerst
installieren. Verwenden Sie dazu den Port
net/isc-dhcp3 oder das
entsprechende Paket. Für allgemeine Informationen zu
Ports und Paketen lesen Sie bitte .
Nachdem isc-dhcp installiert
ist, muss das Programm konfiguriert werden (normalerweise in
/usr/local/etc/dhcpd.conf). Nachfolgend
finden Sie dazu ein kommentiertes Beispiel:
default-lease-time 600;
max-lease-time 7200;
authoritative;
option domain-name "example.com";
option domain-name-servers 192.168.4.1;
option routers 192.168.4.1;
subnet 192.168.4.0 netmask 255.255.255.0 {
use-host-decl-names on;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.4.255;
host margaux {
hardware ethernet 01:23:45:67:89:ab;
fixed-address margaux.example.com;
next-server 192.168.4.4;
filename "/tftpboot/kernel.diskless";
option root-path "192.168.4.4:/data/misc/diskless";
}
}
Diese Option
weist dhcpd an, den Wert der
host-Deklaration als Rechnernamen des
plattenlosen Rechners zu senden. Alternativ kann man der
Hostdeklaration Folgendes hinzufügen:
option host-name
margauxDie Anweisung
next-server bestimmt den TFTP-Server
(in der Voreinstellung ist das der DHCP-Server
selbst).Die Anweisung
filename bestimmt die Datei, die
etherboot als Kernel lädt.
PXE erfordert einen relativen Dateinamen und
lädt pxeboot (dies geschieht
also nicht über die Kerneloption
option filename "pxeboot").Die Option
root-path bestimmt den Pfad des
root-Dateisystems in normaler NFS-Schreibweise.Konfiguration bei Verwendung von BOOTPBOOTPplattenloser BetriebEs folgt nun eine der Konfiguration von DHCP
entsprechende Konfiguration für
bootpd. Zu finden ist die
Konfigurationsdatei unter /etc/bootptab.
Beachten Sie bitte, dass
etherboot mit der Option
NO_DHCP_SUPPORT kompiliert werden muss,
damit BOOTP verwendet werden kann. PXE hingegen
benötigt DHCP. Der einzige
offensichtliche Vorteil von bootpd
ist, dass es bereits im Basissystem vorhanden ist.
.def100:\
:hn:ht=1:sa=192.168.4.4:vm=rfc1048:\
:sm=255.255.255.0:\
:ds=192.168.4.1:\
:gw=192.168.4.1:\
:hd="/tftpboot":\
:bf="/kernel.diskless":\
:rp="192.168.4.4:/data/misc/diskless":
margaux:ha=0123456789ab:tc=.def100
Ein Startprogramm unter Verwendung von
Etherboot erstellenEtherboot
Die Internetseite von Etherboot enthält
ausführliche Informationen, die zwar vor allem
für Linux gedacht sind, aber dennoch nützliche
Informationen enthalten. Im Folgenden wird daher nur grob
beschrieben, wie Sie etherboot auf
einem FreeBSD-System einsetzen können.Als erstes müssen Sie
net/etherboot als Paket
oder als Port installieren. Der Port
etherboot befindet sich unter
/usr/ports/net/etherboot. Wenn Sie
die Portssammlung installiert haben, reicht es aus, in dieses
Verzeichnis zu wechseln, und make install
aufzurufen.
Alles Weitere sollte automatisch ablaufen. Ist dies nicht der
Fall, lesen Sie bitte , das
Informationen zu Ports und Paketen enthält.Für unsere Installation verwenden wir eine
Startdiskette. Für Informationen zu anderen Methoden
(PROM oder DOS-Programme) lesen Sie bitte die Dokumentation zu
etherboot.Um eine Startdiskette zu erzeugen, legen Sie eine Diskette
in das Laufwerk des Rechners ein, auf dem Sie
etherboot installiert haben. Danach
wechseln Sie in das Verzeichnis src des
etherboot-Verzeichnisbaums und geben
Folgendes ein:
&prompt.root; gmake bin32/devicetype.fd0devicetype hängt vom Typ
der Ethernetkarte ab, über die der plattenlose Rechner
verfügt. Lesen Sie dazu NIC im
gleichen Verzeichnis, um den richtigen Wert für
devicetype zu bestimmen.Serverkonfiguration - TFTP und NFSTFTPplattenloser BetriebNFSplattenloser BetriebSie müssen auf dem TFTP-Server
tftpd aktivieren:Erzeugen Sie ein Verzeichnis, in dem
tftpd seine Dateien ablegt,
beispielsweise /tftpboot.Fügen Sie folgende Zeile in
/etc/inetd.conf ein:tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpbootAnscheinend benötigen zumindest einige
PXE-Versionen die TCP-Version von TFTP. Sollte dies der
Fall sein, fügen Sie eine zweite Zeile ein, in der
Sie dgram udp durch
stream tcp ersetzen.Weisen Sie inetd an, seine
Konfiguration erneut einzulesen:&prompt.root; kill -HUP `cat /var/run/inetd.pid`Sie können das Verzeichnis
/tftpboot an einem beliebigen Ort auf dem
Server ablegen. Stellen Sie aber sicher, dass Sie diesen Ort
sowohl in inetd.conf als auch in
dhcpd.conf eingetragen.Außerdem müssen Sie NFS aktivieren und die
entsprechenden Verzeichnisse exportieren.Fügen Sie folgende Zeile in
/etc/rc.conf ein:nfs_server_enable="YES"Exportieren Sie das Verzeichnis, in dem sich das
Wurzelverzeichnis für den plattenlosen Betrieb
befindet, indem Sie folgende Zeile in
/etc/exports einfügen (passen
Sie dabei den Einhängpunkt an und ersetzen Sie
margaux durch den Namen Ihres
plattenlosen Rechners):/data/misc -alldirs -ro margauxWeisen sie nun mountd an, seine
Konfigurationsdatei erneut einzulesen. Wenn Sie NFS erst
in /etc/rc.conf aktivieren mussten,
sollten Sie stattdessen den Rechner neu starten. Dadurch
wird die Konfigurationsdatei ebenfalls neu eingelesen.
&prompt.root; kill -HUP `cat /var/run/mountd.pid`Einen plattenlosen Kernel erzeugenplattenloser BetriebKernelkonfigurationFügen Sie in Ihre Kernelkonfigurationsdatei
zusätzlich folgende Optionen ein:
options BOOTP # Use BOOTP to obtain IP address/hostname
options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
options BOOTP_COMPAT # Workaround for broken bootp daemons.
Außerdem können Sie die Optionen
BOOTP_NFSV3 und
BOOTP_WIRED_TO verwenden (sehen Sie sich
dazu auch LINT an).Erzeugen Sie den neuen Kernel (lesen Sie dazu auch
) und kopieren Sie ihn unter dem
in dhcpd.conf angegebenen Namen ins
TFTP-Verzeichnis.Das root-Dateisystem erzeugenRoot-Dateisystemplattenloser BetriebSie müssen für den plattenlosen Rechner ein
root-Dateisystem erzeugen, und zwar an dem in
dhcpd.conf als
root-path festgelegten Ort.Der einfachste Weg, dies zu tun, ist die Verwendung des
Shellskripts
/usr/share/examples/diskless/clone_root.
Dieses Skript muss von Ihnen allerdings noch angepasst werden.
Unbedingt nötig ist der Ort, an dem das Dateisystem
erzeugt werden soll. Dies geschieht über die Variable
DEST.
Lesen Sie die Kommentare am Beginn des Skripts für
weitere Informationen. Dort wird erklärt, wie das
Basisdateisystem erzeugt wird und wie einzelne Dateien durch
angepasste Versionen für den plattenlosen Betrieb,
für ein Subnetzwerk oder für einen speziellen
Rechner ersetzt werden. Ebenfalls enthalten sind Beispiele
für /etc/fstab und
/etc/rc.conf, die für den
plattenlosen Betrieb angepasst sind.Die README-Dateien unter
/usr/share/examples/diskless enthalten
sehr viele interessante Hintergrundinformationen. Gemeinsam
mit den Beispielen im Verzeichnis diskless
beschreiben sie allerdings eine Konfigurationsmethode, die von
der in clone_root und
/etc/rc.diskless[12] abweicht. Dies kann
etwas verwirrend sein. Verwenden Sie diese Dateien also nur,
wenn Sie weitere Informationen benötigen. Es sei denn,
Sie wollen die dort beschriebene Methode verwenden. In diesem
Fall müssen Sie allerdings die
rc-Skripte anpassen.Den Auslagerungsbereich konfigurierenFalls nötig, kann eine auf dem NFS-Server liegende
Datei als Auslagerungsdatei eingerichtet werden. Die
genauen Optionen für bootptab
oder dhcpd.conf sind zurzeit allerdings
nicht vollständig dokumentiert. Die folgenden
Einstellungen wurden bereits auf einigen Systemen mit
isc-dhcp 3.0rc11 erfolgreich getestet.
Fügen Sie folgende Zeilen in
dhcpd.conf ein:
# Global section
option swap-path code 128 = string;
option swap-size code 129 = integer 32;
host margaux {
... # Standard lines, see above
option swap-path "192.168.4.4:/netswapvolume/netswap";
option swap-size 64000;
}
Die Idee dahinter ist, dass es sich bei der Option 128
von DHCP/BOOTP (zumindest auf einem FreeBSD-Client) um den
Pfad zur NFS-Auslagerungsdatei handelt. Option 129
hingegen gibt die Größe der Auslagerungsdatei
in Kilobytes an. Ältere Versionen von
dhcpd erlaubten auch Folgendes:
option option-128 ".... Diese Option
scheint allerdings nicht mehr zu funktionieren./etc/bootptab würde hingegen
folgende Syntax verwenden:T128="192.168.4.4:/netswapvolume/netswap":T129=64000Erzeugen Sie die Auslagerungsdatei(en) auf dem
NFS-Server.
&prompt.root; mkdir /netswapvolume/netswap
&prompt.root; cd /netswapvolume/netswap
&prompt.root; dd if=/dev/zero bs=1024 count=64000 of=swap.192.168.4.6
&prompt.root; chmod 0600 swap.192.168.4.6192.168.4.6 ist die
IP-Adresse des plattenlosen Clients.Auf dem NFS-Server, auf dem die Auslagerungsdatei
liegt, fügen Sie in /etc/exports
folgende Zeile ein:/netswapvolume -maproot=0:10 -alldirs margauxAnschließend weisen Sie (wie bereits
beschrieben) mountd an, die
Exportdatei erneut einzulesen.VerschiedenesSchreibgeschütztes Dateisystem
/usr
- /usr
- plattenloser Betrieb
- schreibgeschützt
+ plattenloser Betrieb
+ /usr schreibgeschütztWenn am plattenlosen Rechner X läuft, müssen
Sie die Konfigurationsdatei von xdm
anpassen, da Fehlermeldungen per Voreinstellung auf
/usr geschrieben werden.Der Server läuft nicht unter FreeBSDWenn das root-Dateisystem nicht auf einem FreeBSD-Rechner
liegt, muss das Dateisystem zuerst unter FreeBSD erzeugt
werden. Anschließend wird es beispielsweise mit
tar oder cpio
an den gewünschten Ort kopiert.Dabei kann es Probleme mit den Gerätedateien
in /dev geben, die durch eine
unterschiedliche Darstellung der Major- und Minor-Number
von Geräten auf beiden Systemen hervorgerufen werden.
Eine Problemlösung besteht darin, das root-Verzeichnis
auf einem FreeBSD einzuhängen und die
Gerätedateien dort mit MAKEDEV
zu erzeugen (seit FreeBSD 5.0
werden Gerätedateien allerdings mit
&man.devfs.5; erzeugt, ein Ausführen von
MAKEDEV ist unter diesen Versionen
daher sinnlos).
- ISDN - diensteintegrierendes digitales Netzwerk
+ ISDN – diensteintegrierendes digitales NetzwerkISDNEine gute Quelle für Informationen zu ISDN ist die
ISDN-Seite von Dan Kegel.Welche Informationen finden Sie in diesem Abschnitt?Wenn Sie in Europa leben, könnte der Abschnitt
über ISDN-Karten für Sie interessant sein.Wenn Sie ISDN hauptsächlich dazu verwenden wollen, um
sich über einen Anbieter ins Internet einzuwählen,
sollten Sie den Abschnitt über Terminaladapter lesen.
Dies ist die flexibelste Methode, die auch die wenigsten
Probleme verursacht.Wenn Sie zwei Netzwerke miteinander verbinden, oder sich
über eine ISDN-Standleitung mit dem Internet verbinden
wollen, finden Sie entsprechende Informationen im Abschnitt
über Router und Bridges.Bei der Wahl der gewünschten Lösung sind die
entstehenden Kosten ein entscheidender Faktor. Die folgenden
Beschreibungen reichen von der billigsten bis zur teuersten
Variante.HellmuthMichaelisBeigetragen von ISDN-KartenISDNKarten
- Die ISDN-Implementation von FreeBSD unterstützt den
+ Das ISDN-Subsystem von FreeBSD unterstützt den
DSS1/Q.931- (oder Euro-ISDN)-Standard nur für passive
Karten. Beginnend mit FreeBSD 4.4 werden auch einige
aktive Karten unterstützt, bei denen die Firmware auch
andere Signalprotokolle unterstützt; dies schließt
auch die erste ISDN-Karte mit
Primärmultiplex-Unterstützung mit ein.isdn4bsd erlaubt es Ihnen, sich
unter Verwendung von IP over raw HDLC oder
synchronem PPP mit anderen ISDN-Routern zu
verbinden. Dazu verwenden Sie entweder Kernel-&man.ppp.8;
(via isppp, einem modifizierten sppp-Treiber), oder Sie benutzen
User-&man.ppp.8;. Wenn Sie User-&man.ppp.8; verwenden,
können Sie zwei oder mehrere ISDN-B-Kanäle
bündeln. Im Paket enthalten ist auch ein Programm mit
Anrufbeantworterfunktion sowie verschiedene Werkzeuge, wie ein
Softwaremodem, das 300 Baud unterstützt.FreeBSD unterstützt eine ständig wachsende Anzahl
von PC-ISDN-Karten, die weltweit erfolgreich eingesetzt werden.
Von FreeBSD unterstützte passive ISDN-Karten enthalten
fast immer den ISAC/HSCX/IPAC ISDN-Chipsatz von Infineon
(ehemals Siemens). Unterstützt werden aber auch Karten mit
Cologne Chip (diese allerdings nur für den ISA-Bus),
PCI-Karten mit Winbond W6692 Chipsatz, einige Karten mit dem
Tiger 300/320/ISAC Chipsatz sowie einige Karten mit einem
herstellerspezifischen Chipsatz, wie beispielsweise die
Fritz!Card PCI V.1.0 und die Fritz!Card PnP von AVM.An aktiven ISDN-Karten werden derzeit die AVM B1 BRI-Karten
(ISA und PCI-Version) sowie die AVM T1 PRI-Karten (PCI-Version)
unterstützt.Informationen zu isdn4bsd finden
Sie im Verzeichnis /usr/share/examples/isdn/
Ihres FreeBSD-Systems, oder auf der
Internetseite
von isdn4bsd. Dort finden Sie auch
Verweise zu Tipps, Korrekturen, sowie weiteren Informationen,
wie dem
isdn4bsd-Handbuch.
Falls Sie an der Unterstützung eines zusätzlichen
ISDN-Protokolls, einer weiteren ISDN-Karte oder an einer anderen
Erweiterung von isdn4bsd interessiert
sind, wenden Sie sich bitte an &a.hm;.Für Fragen zur Installation, Konfiguration und zu
sonstigen Problemen von isdn4bsd gibt
es die Mailingliste &a.isdn.name;.ISDN-TerminaladapterTerminaladapterTerminaladapter (TA) sind für ISDN, was Modems für
analoge Telefonleitungen sind.ModemDie meisten Terminaladapter verwenden den Standardbefehlssatz
für Modems von Hayes (AT-Kommandos) und können daher als
Modemersatz verwendet werden.Ein Terminaladapter funktioniert prinzipiell wie ein Modem,
allerdings erfolgt der Verbindungsaufbau um einiges schneller. Die
Konfiguration von PPP entspricht
dabei exakt der eines Modems. Stellen Sie dabei allerdings
die serielle Geschwindigkeit so hoch wie möglich ein.PPPDer Hauptvorteil bei der Verwendung eines Terminaladapters zur
Verbindung mit einem Internetanbieter ist die Möglichkeit
zur Nutzung von dynamischem PPP. Da IP-Adressen immer knapper
werden, vergeben die meisten Provider keine statischen
IP-Adressen mehr. Die meisten Router unterstützen
allerdings keine dynamische Zuweisung von IP-Adressen.Der PPP-Daemon bestimmt die Stabilität und
Eigenschaften der Verbindung, wenn Sie einen Terminaladapter
verwenden. Daher können Sie unter FreeBSD einfach von einer
Modemverbindung auf eine ISDN-Verbindung wechseln, wenn
Sie PPP bereits konfiguriert haben. Allerdings bedeutet
dies auch, das bereits bestehende Probleme mit PPP auch unter
ISDN auftreten werden.Wenn Sie an maximaler Stabilität interessiert sind,
verwenden Sie Kernel-PPP, und
nicht das User-PPP.
Folgende Terminaladapter werden von FreeBSD
unterstützt:Motorola BitSurfer und Bitsurfer ProAdtranDie meisten anderen Terminaladapter werden wahrscheinlich
ebenfalls funktionieren, da die Hersteller von Terminaladaptern
darauf achten, dass ihre Produkte den Standardbefehlssatz
möglichst gut unterstützen.Das wirkliche Problem mit einem externen Terminaladapter ist,
dass, ähnlich wie bei Modems, eine gute serielle Karte
eine Grundvoraussetzung ist.Sie sollten sich die
Anleitung für die Nutzung serieller Geräte unter
FreeBSD ansehen, wenn Sie detaillierte Informationen
über serielle Geräte und die Unterschiede zwischen
asynchronen und synchronen seriellen Ports benötigen.Ein Terminaladapter, der an einem (asynchronen)
seriellen Standardport angeschlossen ist, beschränkt
Sie auf 115,2 Kbs. Dies
selbst dann, wenn Sie eine Verbindung mit 128 Kbs haben.
Um die volle Leistungsfähigkeit von ISDN (128 Kbs)
nutzen zu können, müssen Sie den Terminaladapter
daher an eine synchrone serielle Karte anschließen.Kaufen Sie keinen internen Terminaladapter in der Hoffnung,
damit das synchron/asynchron-Problem vermeiden zu können.
Interne Terminaladapter haben einen (asynchronen) seriellen
Standardportchip eingebaut. Der einzige Vorteil interner
Terminaladapter ist es, dass Sie sich den Kauf eines seriellen
Kabels ersparen und dass Sie ein Stromkabel weniger haben.Eine synchrone Karte mit einem Terminaladapter ist
mindestens so schnell wie ein autonomer ISDN-Router,
und, in Kombination mit einem einfachen 386-FreeBSD-System,
wahrscheinlich flexibler.Die Entscheidung zwischen synchroner Karte/Terminaladapter
und einem autonomen ISDN-Router ist eine beinahe religiöse
Angelegenheit. Zu diesem Thema gibt es viele Diskussionen
in den Mailinglisten. Suchen Sie in den
Archiven danach, wenn Sie an der kompletten Diskussion
interessiert sind.ISDN-Bridges und RouterISDNAutonome Bridge/RouterISDN-Bridges und Router sind keine Eigenheit von
FreeBSD oder eines anderen Betriebssystems. Für eine
vollständigere Beschreibung von Routing und
Netzwerkkopplungen mit einer Bridge informieren Sie sich
bitte durch weiterführende Literatur.In diesem Abschnitt werden die Begriffe Router und
Bridge synonym verwendet.ISDN-Router und Bridges werden immer günstiger und damit
auch immer beliebter. Ein ISDN-Router ist eine kleine Box, die
direkt an Ihr lokales Ethernet-Netzwerk angeschlossen wird und
sich mit mit einem Router oder einer Bridge verbindet. Die
eingebaute Software ermöglicht die Kommunikation über
PPP oder andere beliebte Protokolle.Ein Router ermöglicht einen deutlich höheren
Datendurchsatz als ein herkömmlicher Terminaladapter,
da er eine vollsynchrone ISDN-Verbindung nutzt.Das Hauptproblem mit ISDN-Routern und Bridges ist,
dass die Zusammenarbeit zwischen Geräten verschiedener
Hersteller nach wie vor ein Problem ist. Wenn Sie sich auf
diese Weise mit einem Internetanbieter verbinden wollen,
klären Sie daher vorher ab, welche Anforderungen Ihre
Geräte erfüllen müssen.Eine ISDN-Bridge ist eine einfache und wartungsarme
Lösung, zwei Netze, beispielsweise Ihr privates Netz
und Ihr Firmennetz, miteinander zu verbinden. Da Sie die
technische Ausstattung für beide Seiten kaufen müssen,
ist sichergestellt, dass die Verbindung funktionieren
wird.Um beispielsweise einen privaten Computer oder eine
Zweigstelle mit dem Hauptnetzwerk zu verbinden, könnte
folgende Konfiguration verwendet werden:Kleines Netzwerk (Privatnetz)10 base 2Das Netzwerk basiert auf der Bustopologie mit 10base2
Ethernet (Thinnet). Falls nötig, stellen
Sie die Verbindung zwischen Router und Netzwerkkabel mit einem
AUI/10BT-Transceiver her.
---Sun Workstation
|
---FreeBSD Rechner
|
---Windows 95
|
Autonomer Router
|
ISDN BRI Verbindung
10Base2 - EthernetWenn Sie nur einen einzelnen Rechner verbinden wollen,
können Sie auch ein Twisted-Pair-Kabel (Cross-Over)
verwenden, das direkt an den Router angeschlossen wird.Großes Netzwerk (Firmennetz)10 base TDieses Netzwerk basiert auf der Sterntopologie und 10baseT
Ethernet (Twisted Pair).
-------Novell Server
| H |
| ---Sun
| |
| U ---FreeBSD
| |
| ---Windows 95
| B |
|___---Autonomer Router
|
ISDN BRI Verbindung
ISDN NetzwerkdiagrammEin großer Vorteil der meisten Router und Bridges
ist es, dass man gleichzeitig zwei
unabhängige PPP-Verbindungen
zu zwei verschiedenen Zielen aufbauen kann. Diese
Funktion bieten die meisten Terminaladapter nicht. Die
Ausnahme sind spezielle (meist teure) Modelle, die über
zwei getrennte serielle Ports verfügen. Verwechseln Sie
dies aber nicht mit Kanalbündelung oder MPP.Dies kann sehr nützlich sein, wenn Sie eine
ISDN-Standleitung in Ihrem Büro haben, die sie
aufteilen wollen, ohne eine zusätzliche ISDN-Leitung
zu installieren. Ein ISDN-Router kann über einen B-Kanal
(64 Kbps) eine dedizierte Verbindung ins Internet aufbauen,
und gleichzeitig den anderen B-Kanal für eine separate
Datenverbindung nutzen. Der zweite B-Kanal kann beispielsweise
für ein- oder ausgehende Verbindungen verwendet werden.
Sie können ihn aber auch dynamisch mit dem ersten B-Kanal
bündeln, um Ihre Bandbreite zu erhöhen.IPX/SPXEine Ethernet-Bridge kann Daten nicht nur im IP-Protokoll,
sondern auch in beliebigen anderen Protokollen versenden.
- NIS / YP (Network Information Service)
+
- Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
- bitte
- das Original in englischer Sprache.
+
+
+
+ Bill
+ Swingle
+ Beigetragen von
+
+
+
+
+
+ Eric
+ Ogren
+ Erweitert von
+
+
+
+ Udo
+ Erdelhoff
+
+
+
+
+ NIS/YP (Network Information Service)
+
+
+ Was ist NIS?
+
+ NIS
+ Solaris
+ HP-UX
+ AIX
+ Linux
+ NetBSD
+ OpenBSD
+
+ NIS (Network Information Service) wurde von Sun Microsystems
+ entwickelt, um UNIX-Systeme (ursprünglich SunOS) zentral
+ verwalten zu können. Mittlerweile hat es sich zu einem
+ Industriestandard entwickelt, der von allen wichtigen
+ UNIX-Systemen (Solaris, HP-UX, AIX, Linux, NetBSD, OpenBSD,
+ FreeBSD und anderen) unterstützt wird.
+
+
+ yellow pages
+ NIS
+
+
+ NIS war ursprünglich als
+ Yellow Pages bekannt, aus markenrechtlichen
+ Gründen wurde der Name aber geändert. Die alte
+ Bezeichnung (sowie die Abkürzung YP) wird aber nach wie vor
+ häufig verwendet.
+
+
+ NIS
+ Domänen
+
+
+ Bei NIS handelt es sich um ein RPC-basiertes
+ Client/Server-System. Eine Gruppe von Rechnern greift dabei
+ innerhalb einer NIS-Domäne auf gemeinsame
+ Konfigurationsdateien zu. Ein Systemadministrator wird dadurch
+ in die Lage versetzt, NIS-Clients mit minimalem Aufwand
+ einzurichten, sowie Änderungen an der Systemkonfiguration
+ von einem zentralen Ort aus durchzuführen.
+
+
+ Windows NT
+
+
+ Die Funktion entspricht dem Domänensystem von
+ Windows NT; auch wenn sich die interne Umsetzung unterscheidet,
+ sind die Basisfunktionen vergleichbar.
+
+
+
+ Wichtige Prozesse und Begriffe
+
+ Es gibt verschiedene Begriffe und Anwenderprozesse, auf die
+ Sie stoßen werden, wenn Sie NIS unter FreeBSD einrichten,
+ egal ob Sie einen Server oder einen Client konfigurieren:
+
+
+ portmap
+
+
+
+
+
+
+ Begriff
+
+ Beschreibung
+
+
+
+
+
+ NIS-Domänenname
+
+ Ein NIS-Masterserver sowie alle Clients (inklusive
+ der Slaveserver) haben einen NIS-Domänennamen.
+ Dieser hat (ähnlich den NT-Domänennamen)
+ nichts mit DNS zu tun.
+
+
+
+ portmap
+
+ Muss laufen, damit RPC (Remote Procedure Call, ein
+ von NIS verwendetes Netzwerkprotokoll) funktioniert.
+ NIS-Server sowie Clients funktionieren ohne
+ portmap nicht.
+
+
+
+ ypbind
+
+ Bindet einen NIS-Client an seinen
+ NIS-Server. Der Client bezieht den
+ NIS-Domänennamen vom System und stellt über
+ das RPC-Protokoll eine Verbindung zum NIS-Server her.
+ ypbind ist der zentrale Bestandteil
+ der Client-Server-Kommunikation in einer NIS-Umgebung.
+ Wird ypbind auf einem Client beendet,
+ ist dieser nicht mehr in der Lage, auf den NIS-Server
+ zuzugreifen.
+
+
+
+ ypserv
+
+ Sollte nur auf dem NIS-Server laufen, da es sich um
+ den Serverprozess selbst handelt. Wenn &man.ypserv.8;
+ nicht mehr läuft, kann der Server nicht mehr auf
+ NIS-Anforderungen reagieren (wenn ein Slaveserver
+ existiert, kann dieser als Ersatz fungieren). Einige
+ NIS-Systeme (allerdings nicht das von
+ FreeBSD) versuchen allerdings erst gar nicht, sich mit
+ einem anderen Server zu verbinden, wenn der bisher
+ verwendete Server nicht mehr reagiert. Die einzige
+ Lösung dieses Problems besteht dann darin, den
+ Serverprozess (oder gar den Server selbst) oder den
+ ypbind-Prozess auf dem Client neu
+ zu starten.
+
+
+
+ rpc.yppasswdd
+
+ Ein weiterer Prozess, der nur auf dem
+ NIS-Masterserver laufen sollte. Es handelt sich um einen
+ Daemonprozess, der es NIS-Clients ermöglicht, sich
+ auf dem NIS-Masterserver anzumelden, um ihr Passwort zu
+ ändern.
+
+
+
+
+
+
+
+
+ Wie funktioniert NIS?
+
+
+ Funktion
+
+
+ In einer NIS-Umgebung gibt es drei Rechnerarten:
+ Masterserver, Slaveserver und Clients. Server dienen als
+ zentraler Speicherort für Rechnerkonfigurationen.
+ Masterserver speichern die maßgebliche Kopie dieser
+ Informationen, während Slaveserver diese Informationen
+ aus Redundanzgründen spiegeln. Die Clients beziehen
+ ihre Informationen immer vom Server.
+
+ Auf diese Art und Weise können Informationen aus
+ verschiedenen Dateien von mehreren Rechnern gemeinsam
+ verwendet werden. master.passwd,
+ group, und hosts
+ werden oft gemeinsam über NIS verwendet. Immer, wenn
+ ein Prozess auf einem Client auf Informationen zugreifen will,
+ die normalerweise in lokalen Dateien vorhanden wären,
+ wird stattdessen eine Anfrage an den NIS-Server gestellt, an
+ den der Client gebunden ist.
+
+
+ Arten von NIS-Rechnern
+
+
+ Rechnerarten
+
+
+
+
+ NIS
+ Masterserver
+
+
+
+ Ein NIS-Masterserver verwaltet,
+ ähnlich einem Windows NT-Domänencontroller, die
+ von allen NIS-Clients gemeinsam verwendeten Dateien.
+ passwd, group,
+ sowie verschiedene andere von den Clients verwendete
+ Dateien existieren auf dem Masterserver.
+
+ Ein Rechner kann auch für mehrere
+ NIS-Domänen als Masterserver fungieren. Dieser
+ Abschnitt konzentriert sich im Folgenden allerdings auf
+ eine relativ kleine NIS-Umgebung.
+
+
+
+ NIS
+ Slaveserver
+
+
+
+ NIS-Slaveserver. Ähnlich
+ einem NT-Backupdomänencontroller, verwalten
+ NIS-Slaveserver Kopien der Daten des NIS-Masterservers.
+ NIS-Slaveserver bieten die Redundanz, die für
+ kritische Umgebungen benötigt wird. Zusätzlich
+ entlasten Slaveserver den Masterserver: NIS-Clients
+ verbinden sich immer mit dem NIS-Server, der zuerst
+ reagiert. Dieser Server kann auch ein Slaveserver sein.
+
+
+
+ NIS
+ Client
+
+
+
+ NIS-Clients. NIS-Clients
+ identifizieren sich gegenüber dem NIS-Server
+ (ähnlich den NT-Workstations), um sich am Server
+ anzumelden.
+
+
+
+
+
+
+ NIS/YP konfigurieren
+
+ Dieser Abschnitt beschreibt an Hand eines Beispiels die
+ Einrichtung einer NIS-Umgebung.
+
+ Es wird dabei davon ausgegangen, dass Sie
+ FreeBSD 3.3 oder eine aktuellere Version verwenden.
+ Wahrscheinlich funktioniert diese Anleitung
+ auch für FreeBSD-Versionen ab 3.0, es gibt dafür aber
+ keine Garantie.
+
+
+ Planung
+
+ Nehmen wir an, Sie seien der Administrator eines kleinen
+ Universitätsnetzes. Dieses Netz besteht aus
+ fünfzehn FreeBSD-Rechnern, für die derzeit keine
+ zentrale Verwaltung existiert, jeder Rechner hat also eine
+ eigene Version von /etc/passwd und
+ /etc/master.passwd. Diese Dateien werden
+ manuell synchron gehalten; legen Sie einen neuen Benutzer an,
+ so muss dies auf allen fünfzehn Rechnern manuell
+ erledigt werden (unter Verwendung von
+ adduser). Da diese Lösung sehr
+ ineffizient ist, soll das Netzwerk in Zukunft NIS verwenden,
+ wobei zwei der Rechner als Server dienen sollen.
+
+ In Zukunft soll das Netz also wie folgt aussehen:
+
+
+
+
+
+ Rechnername
+ IP-Adresse
+ Rechneraufgabe
+
+
+
+
+ ellington
+ 10.0.0.2
+ NIS-Master
+
+
+ coltrane
+ 10.0.0.3
+ NIS-Slave
+
+
+ basie
+ 10.0.0.4
+ Workstation der Fakultät
+
+
+ bird
+ 10.0.0.5
+ Clientrechner
+
+
+ cli[1-11]
+ 10.0.0.[6-17]
+ Verschiedene andere Clients
+
+
+
+
+
+ Wenn Sie NIS das erste Mal einrichten, ist es ratsam, sich
+ zuerst über die Vorgangsweise Gedanken zu machen.
+ Unabhängig von der Größe Ihres Netzwerks
+ müssen Sie stets einige Entscheidungen treffen.
+
+
+ Einen NIS-Domänennamen wählen
+
+
+ NIS
+ Domänenname
+
+
+ Dies muss nicht der Domainname sein. Es
+ handelt sich vielmehr um den NIS-Domainnamen.
+ Wenn ein Client Informationen anfordert, ist in dieser
+ Anforderung der Name der NIS-Domäne enthalten.
+ Dadurch weiß jeder Server im Netzwerk, auf welche
+ Anforderung er antworten muss. Stellen Sie sich den
+ NIS-Domänennamen als den Namen einer Gruppe von
+ Rechnern vor, die etwas gemeinsam haben.
+
+ Manchmal wird der Name der Internetdomäne auch
+ für die NIS-Domäne verwendet. Dies ist allerdings
+ nicht empfehlenswert, da dies bei der Behebung von Problemen
+ verwirrend sein kann. Der Name der NIS-Domäne sollte
+ innerhalb Ihres Netzwerks einzigartig sein. Hilfreich ist
+ es, wenn der Name die Gruppe der in ihr zusammengefassten
+ Rechner beschreibt. Die Kunstabteilung von Acme Inc.
+ hätte daher die NIS-Domäne
+ acme-art. Für unser Beispiel verwenden
+ wir den NIS-Domänennamen
+ test-domain.
+
+ SunOS
+
+ Es gibt jedoch auch Betriebssysteme (vor allem SunOS),
+ die als NIS-Domänennamen den Name der
+ Internetdomäne verwenden. Wenn dies für einen
+ oder mehrere Rechner Ihres Netzwerks zutrifft,
+ müssen Sie den Namen der
+ Internetdomäne als Ihren NIS-Domänennamen
+ verwenden.
+
+
+
+ Anforderungen an den Server
+
+
+ Server
+ Anforderungen
+
+
+ Wenn Sie einen NIS-Server einrichten wollen, müssen
+ Sie einige Dinge beachten. Eine unangenehme Eigenschaft
+ von NIS ist die Abhängigkeit der Clients vom Server.
+ Wenn sich der Client nicht über den Server mit seiner
+ NIS-Domäne verbinden kann, wird der Rechner oft
+ unbenutzbar, da das Fehlen von Benutzer- und
+ Gruppeninformationen zum Einfrieren des Clients führt.
+ Daher sollten Sie für den Server einen Rechner
+ auswählen, der nicht regelmäßig neu
+ gestartet werden muss und der nicht für Testversuche
+ verwendet wird. Idealerweise handelt es sich um einen
+ alleinstehenden Rechner, dessen einzige Aufgabe es ist, als
+ NIS-Server zu dienen. Wenn Sie ein Netzwerk haben, das
+ nicht zu stark ausgelastet ist, ist es auch möglich,
+ den NIS-Server als weiteren Dienst auf einem anderen Rechner
+ laufen zu lassen. Denken Sie aber daran, dass ein Ausfall
+ des NIS-Servers alle NIS-Clients
+ betrifft.
+
+
+
+
+ NIS-Server
+
+ NIS-Server
+
+ Die verbindlichen Kopien aller NIS-Informationen befinden
+ sich auf einem einzigen Rechner, dem NIS-Masterserver. Die
+ Datenbanken, in denen die Informationen gespeichert sind,
+ bezeichnet man als NIS-Maps. Unter FreeBSD werden diese
+ Maps unter /var/yp/[domainname]
+ gespeichert, wobei [domainname] der
+ Name der NIS-Domäne ist. Ein einzelner NIS-Server
+ kann gleichzeitig mehrere NIS-Domänen verwalten, daher
+ können auch mehrere Verzeichnisse vorhanden sein. Jede
+ Domäne verfügt über ein eigenes Verzeichnis
+ sowie einen eigenen, von anderen Domänen
+ unabhängigen Satz von NIS-Maps.
+
+ NIS-Master- und Slaveserver verwenden den
+ ypserv-Daemon, um NIS-Anfragen zu
+ bearbeiten. ypserv empfängt
+ eingehende Anfragen der NIS-Clients, ermittelt aus der
+ angeforderten Domäne und Map einen Pfad zur
+ entsprechenden Datenbank, und sendet die angeforderten
+ Daten von der Datenbank zum Client.
+
+
+ Einen NIS-Masterserver einrichten
+
+
+ NIS
+ Serverkonfiguration
+
+
+ Abhängig von Ihren Anforderungen ist die
+ Einrichtung eines NIS-Masterservers relativ einfach, da
+ NIS von FreeBSD bereits in der Standardkonfiguration
+ unterstützt wird. Sie müssen nur folgende
+ Zeilen in /etc/rc.conf einfügen:
+
+
+
+
+ nisdomainname="test-domain"
+
+ Diese Zeile setzt den NIS-Domänennamen auf
+ test-domain, wenn Sie das Netzwerk
+ initialisieren (beispielsweise nach einem Systemstart).
+
+
+
+
+ nis_server_enable="YES"
+ Dadurch werden die NIS-Serverprozesse gestartet.
+
+
+
+ nis_yppasswdd_enable="YES"
+ Durch diese Zeile wird der
+ rpc.yppasswdd-Daemon aktiviert, der,
+ wie bereits erwähnt, die Änderung von
+ NIS-Passwörtern von einem Client aus
+ ermöglicht.
+
+
+
+
+ In Abhängigkeit von Ihrer NIS-Konfiguration
+ können weitere Einträge erforderlich sein.
+ Lesen Sie den Abschnitt über
+ NIS-Server, die auch
+ als NIS-Clients arbeiten für weitere
+ Informationen.
+
+
+ Nun müssen Sie nur noch
+ /etc/netstart als Superuser
+ ausführen, um alles entsprechend Ihren Vorgaben in
+ /etc/rc.conf einzurichten.
+
+
+
+ Die NIS-Maps initialisieren
+
+
+ NIS
+ maps
+
+
+ NIS-Maps sind Datenbanken, die
+ sich im Verzeichnis /var/yp befinden.
+ Sie werden am NIS-Masterserver aus den Konfigurationsdateien
+ unter /etc erzeugt. Einzige Ausnahme:
+ /etc/master.passwd. Dies ist auch
+ sinnvoll, da Sie die Passwörter für Ihr
+ root- bzw. andere
+ Administratorkonten nicht an alle Server der NIS-Domäne
+ verteilen wollen. Bevor Sie also die NIS-Maps des
+ Masterservers einrichten, sollten Sie Folgendes tun:
+
+
+&prompt.root; cp /etc/master.passwd /var/yp/master.passwd
+&prompt.root; cd /var/yp
+&prompt.root; vi master.passwd
+
+
+ Entfernen Sie alle Systemkonten
+ (wie bin, tty,
+ kmem oder games),
+ sowie alle Konten, die Sie nicht an die NIS-Clients
+ weitergeben wollen (beispielsweise root
+ und alle Konten mit der UID 0 (=Superuser).
+
+ Stellen Sie sicher, dass
+ /var/yp/master.passwd weder von der
+ Gruppe noch von der Welt gelesen werden kann (Zugriffsmodus
+ 600)! Ist dies nicht der Fall, ändern Sie dies mit
+ chmod.
+
+ Tru64 Unix
+
+ Nun können Sie die NIS-Maps initialisieren.
+ FreeBSD verwendet für diese Aufgabe das Skript
+ ypinit (lesen Sie &man.ypinit.8;
+ für weitere Informationen). Dieses Skript ist auf
+ fast allen UNIX-Betriebssystemen verfügbar. Bei
+ Digitals Unix/Compaq Tru64 Unix nennt es sich allerdings
+ ypsetup. Da wir Maps für einen
+ NIS-Masterserver erzeugen, verwenden wir
+ ypinit mit der Option
+ . Nachdem Sie die beschriebenen
+ Aktionen durchgeführt haben, erzeugen Sie nun die
+ NIS-Maps:
+
+
+ellington&prompt.root; ypinit -m test-domain
+Server Type: MASTER Domain: test-domain
+Creating an YP server will require that you answer a few questions.
+Questions will all be asked at the beginning of the procedure.
+Do you want this procedure to quit on non-fatal errors? [y/n: n] n
+Ok, please remember to go back and redo manually whatever fails.
+If you don't, something might not work.
+At this point, we have to construct a list of this domains YP servers.
+rod.darktech.org is already known as master server.
+Please continue to add any slave servers, one per line. When you are
+done with the list, type a <control D>.
+master server : ellington
+next host to add: coltrane
+next host to add: ^D
+The current list of NIS servers looks like this:
+ellington
+coltrane
+Is this correct? [y/n: y] y
+
+[..output from map generation..]
+
+NIS Map update completed.
+ellington has been setup as an YP master server without any errors.
+
+
+ Dadurch erzeugt ypinit
+ /var/yp/Makefile aus der Datei
+ /var/yp/Makefile.dist.
+ Durch diese Datei wird festgelegt, dass Sie in einer
+ NIS-Umgebung mit nur einem Server arbeiten und dass alle
+ Clients unter FreeBSD laufen. Da
+ test-domain aber auch über einen
+ Slaveserver verfügt, müssen Sie
+ /var/yp/Makefile entsprechend anpassen:
+
+
+ ellington&prompt.root; vi /var/yp/Makefile
+
+ Sie sollten die Zeile
+
+ NOPUSH = "True"
+
+ auskommentieren (falls dies nicht bereits der Fall ist).
+
+
+
+ Einen NIS-Slaveserver einrichten
+
+
+ NIS
+ Slaveserver
+
+
+ Ein NIS-Slaveserver ist noch einfacher einzurichten als
+ ein Masterserver. Melden Sie sich am Slaveserver an und
+ ändern Sie /etc/rc.conf analog
+ zum Masterserver. Der einzige Unterschied besteht in der
+ Verwendung der Option , wenn Sie
+ ypinit aufrufen. Die Option
+ erfordert den Namen des
+ NIS-Masterservers, daher sieht unsere Ein- und Ausgabe wie
+ folgt aus:
+
+
+coltrane&prompt.root; ypinit -s ellington test-domain
+
+Server Type: SLAVE Domain: test-domain Master: ellington
+
+Creating an YP server will require that you answer a few questions.
+Questions will all be asked at the beginning of the procedure.
+
+Do you want this procedure to quit on non-fatal errors? [y/n: n] n
+
+Ok, please remember to go back and redo manually whatever fails.
+If you don't, something might not work.
+There will be no further questions. The remainder of the procedure
+should take a few minutes, to copy the databases from ellington.
+Transferring netgroup...
+ypxfr: Exiting: Map successfully transferred
+Transferring netgroup.byuser...
+ypxfr: Exiting: Map successfully transferred
+Transferring netgroup.byhost...
+ypxfr: Exiting: Map successfully transferred
+Transferring master.passwd.byuid...
+ypxfr: Exiting: Map successfully transferred
+Transferring passwd.byuid...
+ypxfr: Exiting: Map successfully transferred
+Transferring passwd.byname...
+ypxfr: Exiting: Map successfully transferred
+Transferring group.bygid...
+ypxfr: Exiting: Map successfully transferred
+Transferring group.byname...
+ypxfr: Exiting: Map successfully transferred
+Transferring services.byname...
+ypxfr: Exiting: Map successfully transferred
+Transferring rpc.bynumber...
+ypxfr: Exiting: Map successfully transferred
+Transferring rpc.byname...
+ypxfr: Exiting: Map successfully transferred
+Transferring protocols.byname...
+ypxfr: Exiting: Map successfully transferred
+Transferring master.passwd.byname...
+ypxfr: Exiting: Map successfully transferred
+Transferring networks.byname...
+ypxfr: Exiting: Map successfully transferred
+Transferring networks.byaddr...
+ypxfr: Exiting: Map successfully transferred
+Transferring netid.byname...
+ypxfr: Exiting: Map successfully transferred
+Transferring hosts.byaddr...
+ypxfr: Exiting: Map successfully transferred
+Transferring protocols.bynumber...
+ypxfr: Exiting: Map successfully transferred
+Transferring ypservers...
+ypxfr: Exiting: Map successfully transferred
+Transferring hosts.byname...
+ypxfr: Exiting: Map successfully transferred
+
+coltrane has been setup as an YP slave server without any errors.
+Don't forget to update map ypservers on ellington.
+
+
+ Sie sollten nun über das Verzeichnis
+ /var/yp/test-domain verfügen.
+ Die Kopien der NIS-Masterserver-Maps sollten sich in diesem
+ Verzeichnis befinden. Allerdings müssen Sie diese
+ auch aktuell halten. Die folgenden Einträge in
+ /etc/crontab erledigen diese Aufgabe:
+
+
+
+20 * * * * root /usr/libexec/ypxfr passwd.byname
+21 * * * * root /usr/libexec/ypxfr passwd.byuid
+
+
+ Diese zwei Zeilen zwingen den Slaveserver, seine Maps
+ mit denen des Masterservers zu synchronisieren. Diese
+ Einträge sind nicht zwingend, da der Masterserver
+ versucht, alle Änderungen seiner NIS-Maps an seine
+ Slaveserver weiterzugeben. Da Passwortinformationen aber
+ für vom Server abhängige Systeme vital sind, ist
+ es eine gute Idee, diese Aktualisierungen zu erzwingen.
+ Besonders wichtig ist dies in stark ausgelasteten Netzen,
+ in denen Map-Aktualisierungen unvollständig sein
+ könnten.
+
+ Führen Sie nun /etc/netstart
+ auch auf dem Slaveserver aus, um den NIS-Server erneut zu
+ starten.
+
+
+
+
+ NIS-Clients
+
+
+ NIS
+ Client
+
+
+ Ein NIS-Client bindet sich unter
+ Verwendung des ypbind-Daemons an einen
+ NIS-Server. ypbind prüft die
+ Standarddomäne des Systems (die durch
+ domainname gesetzt wird), und beginnt
+ RPCs über das lokale Netzwerk zu verteilen (broadcast).
+ Diese Anforderungen legen den Namen der Domäne fest,
+ für die ypbind eine Bindung erzeugen
+ will. Wenn der Server der entsprechenden Domäne eine
+ solche Anforderung erhält, schickt er eine Antwort an
+ ypbind. ybind speichert
+ daraufhin die Adresse des Servers. Wenn mehrere Server
+ verfügbar sind (beispielsweise ein Master- und mehrere
+ Slaveserver), verwendet ypbind die erste
+ erhaltene Adresse. Ab diesem Zeitpunkt richtet der Client alle
+ Anfragen an genau diesen Server. ypbind
+ pingt den Server gelegentlich an, um
+ sicherzustellen, dass der Server funktioniert. Antwortet der
+ Server innerhalb eines bestimmten Zeitraums nicht (Timeout),
+ markiert ypbind die Domäne als
+ ungebunden und beginnt erneut, RPCs über das Netzwerk zu
+ verteilen, um einen anderen Server zu finden.
+
+
+ Einen NIS-Client konfigurieren
+
+
+ NIS
+ Clientkonfiguration
+
+
+ Einen FreeBSD-Rechner als NIS-Client einzurichten, ist
+ recht einfach.
+
+
+
+ Fügen Sie folgende Zeilen in
+ /etc/rc.conf ein, um den
+ NIS-Domänennamen festzulegen, und um
+ ypbind bei der Initialisierung des
+ Netzwerks zu starten:
+
+
+nisdomainname="test-domain"
+nis_client_enable="YES"
+
+
+
+
+ Um alle Passworteinträge des NIS-Servers zu
+ importieren, löschen Sie alle Benutzerkonten in
+ /etc/master.passwd und fügen
+ mit vipw folgende Zeile am Ende der
+ Datei ein:
+
+ +:::::::::
+
+
+ Diese Zeile legt für alle gültigen
+ Benutzerkonten der NIS-Server-Maps einen Zugang an.
+ Es gibt verschiedene Wege, Ihren NIS-Client durch
+ Änderung dieser Zeile zu konfigurieren. Lesen
+ Sie dazu auch den Abschnitt über
+ Netzgruppen weiter
+ unten. Weitere detaillierte Informationen finden Sie
+ im Buch Managing NFS and NIS von
+ O'Reilly.
+
+
+
+ Sie sollten zumindest ein lokales Benutzerkonto,
+ das nicht über NIS importiert wird, in Ihrer
+ /etc/master.passwd behalten.
+ Dieser Benutzer sollte außerdem ein Mitglied der
+ Gruppe wheel sein. Wenn es
+ mit NIS Probleme gibt, können Sie diesen Zugang
+ verwenden, um sich anzumelden,
+ root zu werden und das Problem
+ zu beheben.
+
+
+
+
+ Um alle möglichen Gruppeneinträge vom
+ NIS-Server zu importieren, fügen sie folgende Zeile
+ in /etc/group ein:
+
+ +:*::
+
+
+
+ Nachdem Sie diese Schritte erledigt haben, sollten Sie
+ mit ypcat passwd die
+ passwd-Map des NIS-Server anzeigen
+ können.
+
+
+
+
+
+
+ Sicherheit unter NIS
+
+
+ NIS
+ Sicherheit
+
+
+ Im Allgemeinen kann jeder entfernte Anwender einen RPC an
+ &man.ypserv.8; schicken, um den Inhalt Ihrer NIS-Maps abzurufen,
+ falls er Ihren NIS-Domänennamen kennt. Um solche
+ unautorisierten Transaktionen zu verhindern, unterstützt
+ &man.ypserv.8; securenets, durch die man den
+ Zugriff auf bestimmte Rechner beschränken kann.
+ &man.ypserv.8; versucht, beim Systemstart die Informationen
+ über securenets aus der Datei
+ /var/yp/securenets zu laden.
+
+
+ Die Datei securenets kann auch
+ in einem anderen Verzeichnis stehen, das mit der Option
+ angegeben wird. Diese Datei
+ enthält Einträge, die aus einer Netzwerkadresse und
+ einer Netzmaske bestehen, die durch Leerzeichen getrennt
+ werden. Kommentarzeilen beginnen mit #.
+ /var/yp/securnets könnte
+ beispielsweise so aussehen:
+
+
+
+# allow connections from local host -- mandatory
+127.0.0.1 255.255.255.255
+# allow connections from any host
+# on the 192.168.128.0 network
+192.168.128.0 255.255.255.0
+# allow connections from any host
+# between 10.0.0.0 to 10.0.15.255
+# this includes the machines in the testlab
+10.0.0.0 255.255.240.0
+
+
+ Wenn &man.ypserv.8; eine Anforderung von einer zu diesen
+ Regeln passenden Adresse erhält, wird die Anforderung
+ bearbeitet. Gibt es keine passende Regel, wird die
+ Anforderung ignoriert und eine Warnmeldung aufgezeichnet. Wenn
+ /var/yp/securenets nicht vorhanden ist,
+ erlaubt ypserv Verbindungen von jedem Rechner
+ aus.
+
+ ypserv unterstützt auch das
+ tcpwrapper-Paket von Wietse Venema.
+ Mit diesem Paket kann der Administrator für
+ Zugriffskontrollen die Konfigurationsdateien von
+ tcpwrapper anstelle von
+ /var/yp/securenets verwenden.
+
+
+ Während beide Kontrollmechanismen einige Sicherheit
+ gewähren, beispielsweise durch privilegierte Ports, sind
+ sie gegenüber IP spoofing-Attacken
+ verwundbar. Jeder NIS-Verkehr sollte daher von Ihrer Firewall
+ blockiert werden.
+
+ Server, die /var/yp/securenets
+ verwenden, können Schwierigkeiten bei der Anmeldung von
+ Clients haben, die ein veraltetes TCP/IP-Subsystem
+ besitzen. Einige dieser TCP/IP-Subsysteme setzen alle
+ Rechnerbits auf Null, wenn Sie einen
+ Broadcast durchführen und/oder
+ können die Subnetzmaske nicht auslesen, wenn sie die
+ Broadcast-Adresse berechnen. Einige Probleme können durch
+ Änderungen der Clientkonfiguration behoben werden.
+ Andere hingegen lassen sich nur durch das Entfernen des
+ betreffenden Rechners aus dem Netzwerk oder den Verzicht auf
+ /var/yp/securenets umgehen.
+
+ Die Verwendung von /var/yp/securenets
+ auf einem Server mit einem solch veralteten
+ TCP/IP-Subsystem ist eine sehr schlechte Idee, die zu
+ einem Verlust der NIS-Funktionalität für große
+ Teile Ihres Netzwerks führen kann.
+
+
+ tcpwrapper
+
+
+ Die Verwendung von tcpwrapper
+ verlangsamt die Reaktion Ihres NIS-Servers. Diese
+ zusätzliche Reaktionszeit kann in Clientprogrammen zu
+ Timeouts führen. Dies vor allem in Netzwerken, die
+ stark ausgelastet sind, oder nur über langsame NIS-Server
+ verfügen. Wenn ein oder mehrere Ihrer Clientsysteme
+ dieses Problem aufweisen, sollten Sie die betreffenden Clients
+ in NIS-Slaveserver umwandeln, und diese an sich selbst binden.
+
+
+
+
+
+ Bestimmte Benutzer an der Anmeldung hindern
+
+
+ NIS
+ Benutzer blockieren
+
+
+ In unserem Labor gibt es den Rechner basie,
+ der nur für Mitarbeiter der Fakultät bestimmt ist.
+ Wir wollen diesen Rechner nicht aus der NIS-Domäne
+ entfernen, obwohl passwd des
+ NIS-Masterservers Benutzerkonten sowohl für
+ Fakultätsmitarbeiter als auch für Studenten
+ enthält. Was können wir also tun?
+
+ Es gibt eine Möglichkeit, bestimmte Benutzer an der
+ Anmeldung an einem bestimmten Rechner zu hindern, selbst wenn
+ diese in der NIS-Datenbank vorhanden sind. Dazu müssen
+ Sie lediglich an diesem Rechner den Eintrag
+ -Benutzername an
+ das Ende von /etc/master.passwd setzen,
+ wobei Benutzername der zu
+ blockierende Benutzername ist. Diese Änderung sollte
+ bevorzugt durch vipw erledigt werden, da
+ vipw Ihre Änderungen an
+ /etc/master.passwd auf Plausibilität
+ überprüft und nach erfolgter Änderung die
+ Passwortdatenbank automatisch aktualisiert. Um also den
+ Benutzer bill an der Anmeldung am Rechner
+ basie zu hindern, gehen wir wie folgt vor:
+
+
+
+basie&prompt.root; vipw
+[add -bill to the end, exit]
+vipw: rebuilding the database...
+vipw: done
+
+basie&prompt.root; cat /etc/master.passwd
+
+root:[password]:0:0::0:0:The super-user:/root:/bin/csh
+toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh
+daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
+operator:*:2:5::0:0:System &:/:/sbin/nologin
+bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin
+tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
+kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
+games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin
+news:*:8:8::0:0:News Subsystem:/:/sbin/nologin
+man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin
+bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
+uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
+xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin
+pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin
+nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
++:::::::::
+-bill
+
+basie&prompt.root;
+
+
+
+
+
+
+
+ Udo
+ Erdelhoff
+ Beigetragen von
+
+
+
+
+ Netzgruppen verwenden
+
+ Netzgruppen
+
+ Die im letzten Abschnitt beschriebene Methode eignet sich
+ besonders, wenn Sie spezielle Regeln für wenige
+ Benutzer oder wenige Rechner benötigen. In großen
+ Netzwerken werden Sie allerdings
+ mit Sicherheit vergessen, einige Benutzer
+ von der Anmeldung an bestimmten Rechnern auszuschließen.
+ Oder Sie werden gezwungen sein, jeden Rechner einzeln zu
+ konfigurieren. Dadurch verlieren Sie aber den Hauptvorteil von
+ NIS, die zentrale Verwaltung.
+
+ Die Lösung für dieses Problem sind
+ Netzgruppen. Ihre Aufgabe und Bedeutung
+ ist vergleichbar mit normalen, von UNIX-Dateisystemen
+ verwendeten Gruppen. Die Hauptunterschiede sind das Fehlen
+ einer numerischen ID sowie die Möglichkeit, Netzgruppen
+ zu definieren, die sowohl Benutzer als auch andere Netzgruppen
+ enthalten.
+
+ Netzgruppen wurden entwickelt, um große, komplexe
+ Netzwerke mit Hunderten Benutzern und Rechnern zu verwalten.
+ Sie sind also von Vorteil, wenn Sie von dieser Situation
+ betroffen sind. Andererseits ist es dadurch beinahe
+ unmöglich, Netzgruppen mit einfachen Beispielen zu
+ erklären. Das hier verwendete Beispiel veranschaulicht
+ dieses Problem.
+
+ Nehmen wir an, dass Ihre erfolgreiche Einführung von
+ NIS die Aufmerksamkeit Ihrer Vorgesetzten geweckt hat. Ihre
+ nächste Aufgabe besteht nun darin, Ihre NIS-Domäne
+ um zusätzliche Rechner zu erweitern. Die folgenden
+ Tabellen enthalten die neuen Benutzer und Rechner inklusive
+ einer kurzen Beschreibung.
+
+
+
+
+
+ Benutzername(n)
+ Beschreibung
+
+
+
+
+
+ alpha, beta
+ Beschäftigte der IT-Abteilung
+
+
+
+ charlie, delta
+ Die neuen Lehrlinge der IT-Abteilung
+
+
+
+ echo, foxtrott, golf, ...
+ Normale Mitarbeiter
+
+
+
+ able, baker, ...
+ Externe Mitarbeiter
+
+
+
+
+
+
+
+
+
+ Rechnername(n)
+ Beschreibung
+
+
+
+
+
+
+ war, death, famine, pollution
+ Ihre wichtigsten Server. Nur IT-Fachleute
+ dürfen sich an diesen Rechnern anmelden.
+
+
+
+
+ pride, greed, envy, wrath, lust, sloth
+ Weniger wichtige Server. Alle Mitarbeiter der
+ IT-Abteilung dürfen sich auf diesen Rechnern
+ anmelden.
+
+
+
+ one, two, three, four, ...
+ Gewöhnliche Arbeitsrechner. Nur die
+ wirklichen Mitarbeiter dürfen
+ diese Rechner verwenden.
+
+
+
+ trashcan
+ Ein sehr alter Rechner ohne kritische Daten. Sogar
+ externe Mitarbeiter dürfen diesen Rechner
+ verwenden.
+
+
+
+
+
+ Wollten Sie diese Einschränkungen umsetzen, indem Sie
+ jeden Benutzer einzeln blockieren, müssten Sie auf jedem
+ System für jeden Benutzer eine Zeile in
+ passwd einfügen. Wenn Sie nur einen
+ Eintrag vergessen, haben Sie ein Problem. Es mag noch angehen,
+ dies während der ersten Installation zu erledigen, im
+ täglichen Betrieb werden Sie allerdings
+ mit Sicherheit einmal vergessen, die
+ entsprechenden Einträge anzulegen. Vergessen Sie nicht:
+ Murphy war Optimist.
+
+ Die Verwendung von Netzgruppen hat in dieser Situation
+ mehrere Vorteile. Sie müssen nicht jeden Benutzer einzeln
+ verwalten; weisen Sie stattdessen den Benutzer einer Netzgruppe
+ zu und erlauben oder verbieten Sie allen Mitglieder dieser
+ Gruppe die Anmeldung an einem Server. Wenn Sie einen neuen
+ Rechner hinzufügen, müssen Sie
+ Zugangsbeschränkungen nur für die Netzgruppen
+ festlegen. Legen Sie einen neuen Benutzer an, müssen Sie
+ ihn nur einer oder mehrere Netzgruppen zuweisen. Diese
+ Veränderungen sind voneinander unabhängig; Anweisungen
+ der Form für diese Kombination aus Benutzer und
+ Rechner mache Folgendes ... sind nicht mehr nötig.
+ Wenn Sie die Einrichtung von NIS sorgfältig geplant haben,
+ müssen Sie nur noch eine zentrale Konfigurationsdatei
+ bearbeiten, um den Zugriff auf bestimmte Rechner zu erlauben
+ oder zu verbieten.
+
+ Der erste Schritt ist die Initialisierung der NIS-Maps
+ der Netzgruppe. &man.ypinit.8; kann dies unter FreeBSD nicht
+ automatisch durchführen. Sind die Maps aber erst einmal
+ erzeugt, werden sie jedoch von NIS problemlos unterstützt.
+ Um eine leere Map zu erzeugen, geben Sie Folgendes ein:
+
+
+ellington&prompt.root; vi /var/yp/netgroup
+
+
+ Danach legen Sie die Einträge an. Für unser
+ Beispiel benötigen wir mindestens vier Netzgruppen:
+ IT-Beschäftige, IT-Lehrlinge, normale Beschäftigte
+ sowie Externe.
+
+
+IT_EMP (,alpha,test-domain) (,beta,test-domain)
+IT_APP (,charlie,test-domain) (,delta,test-domain)
+USERS (,echo,test-domain) (,foxtrott,test-domain) \
+ (,golf,test-domain)
+INTERNS (,able,test-domain) (,baker,test-domain)
+
+
+ Bei IT_EMP, IT_APP
+ usw. handelt es sich um Netzgruppennamen. In den Klammern
+ werden diesen Netzgruppen jeweils ein oder mehrere
+ Benutzerkonten hinzugefügt. Die drei Felder in der
+ Klammer haben folgende Bedeutung:
+
+
+
+ Der Name des Rechners, auf dem die folgenden Werte
+ gültig sind. Legen Sie keinen Rechnernamen fest, ist
+ der Eintrag auf allen Rechnern gültig. Dadurch
+ gehen Sie vielen Problemen aus dem Weg.
+
+
+
+ Der Name des Benutzerkontos, der zu dieser Netzgruppe
+ gehört.
+
+
+
+ Die NIS-Domäne für das Benutzerkonto. Sie
+ können Benutzerkonten von anderen NIS-Domänen in
+ Ihre Netzgruppe importieren, wenn Sie mehrere
+ NIS-Domänen verwalten.
+
+
+
+ Jedes Feld kann Wildcards enthalten. Lesen Sie
+ &man.netgroup.5; für weitere Informationen.
+
+
+ Netzgruppen
+
+ Netzgruppennamen sollten nicht länger als 8 Zeichen
+ sein, vor allem dann, wenn Sie Rechner mit verschiedenen
+ Betriebssystemen in Ihrer NIS-Domäne haben. Es wird
+ zwischen Groß- und Kleinschreibung unterschieden.
+ Die Verwendung von Großbuchstaben für
+ Netzgruppennamen ermöglicht eine leichte Unterscheidung
+ zwischen Benutzern, Rechnern und Netzgruppen.
+
+ Einige NIS-Clients (dies gilt nicht für FreeBSD)
+ können keine Netzgruppen mit einer großen Anzahl
+ von Einträgen verwalten. Einige ältere Versionen
+ von SunOS haben beispielsweise Probleme, wenn Netzgruppen mehr
+ als fünfzehn Einträge
+ enthalten. Sie können dieses Problem umgehen, indem Sie
+ mehrere Subnetzgruppen mit weniger als fünfzehn Benutzern
+ anlegen und diese Subnetzgruppen wiederum in einer Netzgruppe
+ zusammenfassen:
+
+
+BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
+BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
+BIGGRP3 (,joe31,domain) (,joe32,domain)
+BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3
+
+
+ Sie können diesen Vorgang wiederholen, wenn Sie mehr
+ als 255 Benutzer in einer einzigen Netzgruppe benötigen.
+
+
+
+ Das Aktivieren und Verteilen Ihre neuen NIS-Map ist
+ einfach:
+
+
+ellington&prompt.root; cd /var/yp
+ellington&prompt.root; make
+
+
+ Dadurch werden die NIS-Maps netgroup,
+ netgroup.byhost und
+ netgroup.byuser erzeugt. Prüfen Sie
+ die Verfügbarkeit Ihrer neuen NIS-Maps mit &man.ypcat.1;.
+
+
+
+ellington&prompt.user; ypcat -k netgroup
+ellington&prompt.user; ypcat -k netgroup.byhost
+ellington&prompt.user; ypcat -k netgroup.byuser
+
+
+ Die Ausgabe des ersten Befehls gibt den Inhalt von
+ /var/yp/netgroup wieder. Der zweite Befehl
+ erzeugt nur dann eine Ausgabe, wenn Sie rechnerspezifische
+ Netzgruppen erzeugt haben. Der dritte Befehl gibt die
+ Netzgruppen nach Benutzern sortiert aus.
+
+ Die Einrichtung der Clients ist einfach. Sie müssen
+ lediglich auf dem Server war
+ &man.vipw.8; aufrufen und die Zeile
+
+ +:::::::::
+
+ durch
+
+ +@IT_EMP:::::::::
+
+ ersetzen.
+
+ Ab sofort werden nur noch die Daten der in der Netzgruppe
+ IT_EMP vorhandenen Benutzer in die
+ Passwortdatenbank von war importiert.
+ Nur diese Benutzer dürfen sich am Server anmelden.
+
+ Unglücklicherweise gilt diese Einschränkung auch
+ für die ~-Funktion der Shell und für alle Routinen,
+ die auf Benutzernamen und numerische Benutzer-IDs zugreifen.
+ Oder anders formuliert,
+ cd ~user ist nicht
+ möglich, ls -l zeigt die numerische
+ Benutzer-ID statt dem Benutzernamen und
+ find . -user joe -print erzeugt die
+ Fehlermeldung No such user. Um dieses
+ Problem zu beheben, müssen Sie alle Benutzereinträge
+ importieren, ohne ihnen jedoch zu erlauben, sich an
+ Ihrem Server anzumelden.
+
+ Dazu fügen Sie eine weitere Zeile in
+ /etc/master.passwd ein. Diese Zeile sollte
+ ähnlich der folgenden aussehen:
+
+ +:::::::::/sbin/nologin, was in etwa
+ Importiere alle Einträge, aber ersetze die Shell in
+ den importierten Einträgen durch
+ /sbin/nologin entspricht. Sie
+ können jedes Feld dieses Eintrages ersetzen, indem Sie
+ einen Standardwert in /etc/master.passwd
+ eintragen.
+
+
+ Stellen Sie sicher, dass die Zeile
+ +:::::::::/sbin/nologin
+ nach der Zeile
+ +@IT_EMP::::::::: eingetragen ist. Sonst
+ haben alle via NIS importierten Benutzerkonten
+ /sbin/nologin als Loginshell.
+
+
+ Danach müssen Sie nur mehr eine einzige NIS-Map
+ ändern, wenn ein neuer Mitarbeiter berücksichtigt
+ werden muss. Für weniger wichtige Server gehen Sie analog
+ vor, indem Sie den alten Eintrag +:::::::::
+ in den lokalen Versionen von
+ /etc/master.passwd durch folgende
+ Einträge ersetzen:
+
+
++@IT_EMP:::::::::
++@IT_APP:::::::::
++:::::::::/sbin/nologin
+
+
+ Die entsprechenden Zeilen für normale Arbeitsplätze
+ lauten:
+
+
++@IT_EMP:::::::::
++@USERS:::::::::
++:::::::::/sbin/nologin
+
+
+ Ab jetzt wäre alles wunderbar, allerdings ändert
+ sich kurz darauf die Firmenpolitik: Die IT-Abteilung beginnt
+ damit, externe Mitarbeiter zu beschäftigen. Externe
+ dürfen sich an normalen Arbeitsplätzen sowie an den
+ weniger wichtigen Servern anmelden. Die IT-Lehrlinge
+ dürfen sich nun auch an den Hauptservern anmelden. Sie
+ legen also die neue Netzgruppe IT_INTERN an, weisen Ihr die
+ neuen IT-Externen als Benutzer zu und beginnen damit,
+ die Konfiguration auf jedem einzelnen Rechner zu ändern ...
+ Halt. Sie haben gerade die alte Regel Fehler in der
+ zentralisierten Planung führen zu globaler
+ Verwirrung. bestätigt.
+
+ Da NIS in der Lage ist, Netzgruppen aus anderen Netzgruppen
+ zu bilden, lassen sich solche Situationen leicht vermeiden.
+ Eine Möglichkeit ist die Erzeugung rollenbasierter
+ Netzgruppen. Sie könnten eine Netzgruppe
+ BIGSRV erzeugen, um den Zugang zu
+ den wichtigsten Servern zu beschränken, eine weitere
+ Gruppe SMALLSRV für die weniger
+ wichtigen Server und eine dritte Netzgruppe
+ USERBOX für die normalen
+ Arbeitsplatzrechner. Jede dieser Netzgruppen enthält die
+ Netzgruppen, die sich auf diesen Rechnern anmelden dürfen.
+ Die Einträge der Netzgruppen in der NIS-Map sollten
+ ähnlich den folgenden aussehen:
+
+
+BIGSRV IT_EMP IT_APP
+SMALLSRV IT_EMP IT_APP ITINTERN
+USERBOX IT_EMP ITINTERN USERS
+
+
+ Diese Methode funktioniert besonders gut, wenn Sie
+ Rechner in Gruppen mit identischen Beschränkungen einteilen
+ können. Unglücklicherweise ist dies die Ausnahme und
+ nicht die Regel. Meistens werden Sie die Möglichkeit zur
+ rechnerspezischen Zugangsbeschränkung benötigen.
+
+ Rechnerspezifische Netzgruppen sind die zweite
+ Möglichkeit, um mit den oben beschriebenen Änderungen
+ umzugehen. In diesem Szenario enthält
+ /etc/master.passwd auf jedem Rechner zwei
+ mit + beginnende Zeilen. Die erste Zeile
+ legt die Netzgruppe mit den Benutzern fest, die sich auf diesem
+ Rechner anmelden dürfen. Die zweite Zeile weist allen
+ anderen Benutzern /sbin/nologin als Shell
+ zu. Verwenden Sie auch hier (analog zu den Netzgruppen)
+ Großbuchstaben für die Rechnernamen. Die Zeilen
+ sollten also ähnlich den folgenden aussehen:
+
+
++@BOXNAME:::::::::
++:::::::::/sbin/nologin
+
+
+ Wenn Sie dies für alle Rechner erledigt haben, werden
+ Sie die lokalen Versionen von
+ /etc/master.passwd nie mehr verändern
+ müssen. Alle weiteren Änderungen geschehen über
+ die NIS-Maps. Nachfolgend ein Beispiel für eine
+ mögliche Netzgruppen-Map, die durch einige Besonderheiten
+ erweitert wurde:
+
+ # Define groups of users first
+IT_EMP (,alpha,test-domain) (,beta,test-domain)
+IT_APP (,charlie,test-domain) (,delta,test-domain)
+DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
+DEPT2 (,golf,test-domain) (,hotel,test-domain)
+DEPT3 (,india,test-domain) (,juliet,test-domain)
+ITINTERN (,kilo,test-domain) (,lima,test-domain)
+D_INTERNS (,able,test-domain) (,baker,test-domain)
+#
+# Now, define some groups based on roles
+USERS DEPT1 DEPT2 DEPT3
+BIGSRV IT_EMP IT_APP
+SMALLSRV IT_EMP IT_APP ITINTERN
+USERBOX IT_EMP ITINTERN USERS
+#
+# And a groups for a special tasks
+# Allow echo and golf to access our anti-virus-machine
+SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain)
+#
+# machine-based netgroups
+# Our main servers
+WAR BIGSRV
+FAMINE BIGSRV
+# User india needs access to this server
+POLLUTION BIGSRV (,india,test-domain)
+#
+# This one is really important and needs more access restrictions
+DEATH IT_EMP
+#
+# The anti-virus-machine mentioned above
+ONE SECURITY
+#
+# Restrict a machine to a single user
+TWO (,hotel,test-domain)
+# [...more groups to follow]
+
+
+ Wenn Sie eine Datenbank verwenden, um Ihre Benutzerkonten zu
+ verwalten, sollten Sie den ersten Teil der NIS-Map mit Ihren
+ Datenbanktools erstellen können. Auf diese Weise haben
+ neue Benutzer automatisch Zugriff auf die Rechner.
+
+ Eine letzte Warnung: Es ist nicht immer ratsam,
+ rechnerbasierte Netzgruppen zu verwenden. Wenn Sie Dutzende
+ oder gar Hunderte identische Rechner einrichten müssen,
+ sollten Sie rollenbasierte Netzgruppen verwenden, um die
+ Grösse der NIS-Maps in Grenzen zu halten.
+
+
+
+ Weitere wichtige Punkte
+
+
+ NIS
+ Wichtiges
+
+
+ Nachdem Sie Ihre NIS-Umgebung eingerichtet haben,
+ müssen Sie einige Dinge anders als bisher erledigen.
+
+
+
+ Jedes Mal, wenn Sie einen neuen Benutzer anlegen wollen,
+ tun Sie dies ausschließlich am
+ NIS-Masterserver. Außerdem
+ müssen Sie anschließend die
+ NIS-Maps neu erzeugen. Wenn Sie diesen Punkt vergessen,
+ kann sich der neue Benutzer nur am
+ NIS-Masterserver anmelden. Wenn Sie also den neuen Benutzer
+ jsmith anlegen, gehen Sie wie folgt vor:
+
+ &prompt.root; pw useradd jsmith
+&prompt.root; cd /var/yp
+&prompt.root; make test-domain
+
+ Statt pw useradd jsmith könnten
+ Sie auch adduser jsmith verwenden.
+
+
+
+ Tragen Sie die Administratorkonten nicht
+ in die NIS-Maps ein. Administratorkonten und
+ Passwörter dürfen nicht auf Rechnern verbreitet
+ werden, auf denen sich Benutzer anmelden können, die
+ auf diese Konten keine Zugriff haben sollen.
+
+
+
+ Sichern Sie die NIS-Master- und Slaveserver
+ und minimieren Sie die Ausfallzeiten. Wenn
+ diese Rechner gehackt oder einfach nur ausgeschaltet werden,
+ haben viele Leute keinen Netzwerkzugriff mehr.
+
+ Dies ist die größte und wichtigste Schwäche
+ jeder zentralen Verwaltung. Wenn Sie Ihre NIS-Server nicht
+ schützen, werden Sie viele verärgerte Anwender
+ haben.
+
+
+
+
+
+ Kompatibilität zu NIS v1
+
+
+ NIS
+ v1 Kompatibilität
+
+
+ ypserv unterstützt NIS v1
+ unter FreeBSD nur eingeschränkt. Die NIS-Implementierung
+ von FreeBSD verwendet nur NIS v2, andere Implementierungen
+ unterstützen aus Gründen der
+ Abwärtskompatibilität mit älteren Systemen auch
+ NIS v1. Die mit diesen Systemen gelieferten
+ ypbind-Daemonen versuchen, sich an
+ einen NIS-v1-Server zu binden (Dies selbst dann, wenn sie ihn
+ nie benötigen. Außerdem versuchen Sie auch dann, einen
+ v1-Server zu erreichen, wenn Sie zuvor eine Antwort von einem
+ v2-Server erhalten.). Während normale Clientaufrufe
+ unter FreeBSD unterstützt werden, sind Anforderungen zum
+ Transfer von v1-Maps nicht möglich. Daher kann FreeBSD
+ nicht als Client oder Server verwendet werden, wenn ein
+ NIS-Server vorhanden ist, der nur NIS v1 unterstützt.
+ Glücklicherweise sollte es heute keine Server mehr geben,
+ die nur NIS v1 unterstützen.
+
+
+
+ NIS-Server, die auch als NIS-Clients arbeiten
+
+ Wenn Sie ypserv in einer Multi-Serverdomäne verwenden,
+ in der NIS-Server gleichzeitig als NIS-Clients arbeiten, ist es
+ eine gute Idee, diese Server zu zwingen, sich an sich selbst zu
+ binden. Damit wird verhindert, dass Bindeanforderungen gesendet
+ werden und sich die Server gegenseitig binden. Sonst
+ könnten seltsame Fehler auftreten, wenn ein Server
+ ausfällt, auf den andere Server angewiesen sind. Letztlich
+ werden alle Clients einen Timeout melden, und versuchen, sich an
+ andere Server zu binden. Die dadurch entstehende
+ Verzögerung kann beträchtlich sein. Außerdem kann
+ der Fehler erneut auftreten, da sich die Server wiederum
+ aneinander binden könnten.
+
+ Sie können einen Rechner durch die Verwendung von
+ ypbind sowie der Option
+ zwingen, sich an einen bestimmten Server zu binden. Um diesen
+ Vorgang zu automatisieren, können Sie folgende Zeilen in
+ /etc/rc.conf einfügen:
+
+
+nis_client_enable="YES" # run client stuff as well
+nis_client_flags="-S NIS domain,server"
+
+
+ Lesen Sie &man.ypbind.8;, wenn Sie weitere Informationen
+ benötigen.
+
+
+
+ Passwort Formate
+
+ NIS
+ Passwort Formate
+
+ Unterschiedliche Passwort-Formate sind die Hauptprobleme,
+ die beim Einrichten eines NIS-Servers auftreten können.
+ Wenn der NIS-Server mit DES verschlüsselte Passwörter
+ verwendet, werden nur Clients unterstützt, die ebenfalls
+ DES benutzen. Wenn sich auf Ihrem Netzwerk beispielsweise
+ Solaris NIS-Clients befinden, müssen die Passwörter
+ mit DES verschlüsselt werden.
+
+ Welches Format die Server und Clients verwenden,
+ steht in /etc/login.conf. Wenn ein
+ System Passwörter mit DES verschlüsselt,
+ enthält die default-Klasse einen
+ Eintrag wie den folgenden:
+
+ default:\
+ :passwd_format=des:\
+ :copyright=/etc/COPYRIGHT:\
+ [weitere Einträge]
+
+ Mögliche Werte für passwd_format
+ sind unter anderem blf und
+ md5 (mit Blowfish und MD5 verschlüsselte
+ Passwörter).
+
+ Wenn die Datei /etc/login.conf
+ geändert wird, muss die Login-Capability Datenbank
+ neu erstellt werden. Setzen Sie dazu als root
+ den folgenden Befehl ab:
+
+ &prompt.root; cap_mkdb /etc/login.conf
+
+
+ Das Format der schon in
+ /etc/master.passwd befindlichen
+ Passwörter wird erst aktualisiert, wenn ein Benutzer
+ sein Passwort ändert, nachdem
+ die Datenbank neu erstellt wurde.
+
+
+ Damit die Passwörter auch im gewählten
+ Format abgespeichert werden, muss mit
+ crypt_default in der Datei
+ /etc/auth.conf die richtige
+ Priorität der Formate eingestellt werden. Das
+ gewählte Format sollte als erstes in der Liste
+ stehen. Sollen die Passwörter mit DES verschlüsselt
+ werden, verwenden Sie den folgenden Eintrag:
+
+ crypt_default = des blf md5
+
+ Wenn Sie alle &os; NIS-Server und NIS-Clients entsprechend
+ den obigen Schritten eingestellt haben, wird im ganzen
+ Netzwerk dasselbe Passwort-Format verwendet. Falls Sie
+ Probleme mit der Authentifizierung eines NIS-Clients
+ haben, kontrollieren Sie die verwendeten Passwort-Formate.
+ In einer heterogenen Umgebung werden Sie DES benutzen
+ müssen, da dies der meist unterstützte Standard
+ ist.
+ 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/disks/chapter.sgml b/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml
index 1ee7b7203d..56de27c5e2 100644
--- a/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml
@@ -1,3539 +1,3537 @@
BerndWarkenÜbersetzt von MartinHeinenSpeichermedienÜbersichtDieses Kapitel behandelt die Benutzung von Laufwerken unter
FreeBSD. Laufwerke können speichergestützte Laufwerke,
Netzwerklaufwerke oder normale SCSI/IDE Geräte sein.Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes
wissen:Die Begriffe, die FreeBSD verwendet, um die
Organisation der Daten auf einem physikalischen Laufwerk
zu beschreiben (Partitionen und Slices).Wie Sie Dateisysteme an- und abhängen.Wie Sie ein weiteres Laufwerk zu Ihrem System
hinzufügen.Wie virtuelle Dateisysteme, zum Beispiel RAM-Disks,
eingerichtet werden.Wie Sie mit Quotas die Benutzung von Laufwerken
einschränken können.Wie Sie Partitionen verschlüsseln, um Ihre Daten
zu schützen.Wie unter FreeBSD CDs und DVDs gebrannt werden.Sie werden die Speichermedien, die Sie für
Backups einsetzen können, kennen.Wie Sie die unter FreeBSD erhältlichen Backup
Programme benutzen.Wie Sie ein Backup mit Disketten erstellen.Was Schnappschüsse sind und wie sie eingesetzt
werden.GerätenamenDie folgende Tabelle zeigt die von FreeBSD unterstützten
Speichergeräte und deren Gerätenamen.
Namenskonventionen von physikalischen LaufwerkenLaufwerkstypGerätenameIDE-FestplattenadIDE-CD-ROM LaufwerkeacdSCSI-Festplatten und USB-SpeichermediendaSCSI-CD-ROM LaufwerkecdVerschiedene proprietäre CD-ROM-Laufwerkemcd Mitsumi CD-ROM,
scd Sony CD-ROM,
matcd Matsushita/Panasonic CD-ROM
Der &man.matcd.4;-Treiber wurde am 5. Oktober
vom FreeBSD 4.X Zweig entfernt und existiert in
FreeBSD 5.0 und späteren Versionen
nicht.DiskettenlaufwerkefdSCSI-BandlaufwerkesaIDE-BandlaufwerkeastFlash-Laufwerkefla für DiskOnChip Flash deviceRAID-Laufwerkeaacd für Adaptec AdvancedRAID,
mlxd und mlyd
für Mylex,
amrd für AMI MegaRAID,
idad für Compaq Smart RAID,
twed für 3Ware RAID.
DavidO'BrianIm Original von Hinzufügen von LaufwerkenLaufwerkehinzufügenAngenommen, Sie wollen ein neues SCSI-Laufwerk zu einer Maschine
hinzufügen, die momentan nur ein Laufwerk hat. Dazu schalten
Sie zuerst den Rechner aus und installieren das Laufwerk entsprechend
der Anleitungen Ihres Rechners, Ihres Controllers und Laufwerk
Herstellers. Den genauen Ablauf können wir wegen der
großen Abweichungen leider nicht beschreiben.Nachdem Sie das Laufwerk installiert haben, melden Sie sich als
Benutzer root an und kontrollieren Sie
/var/run/dmesg.boot, um sicherzustellen,
dass das neue Laufwerk gefunden wurde. Das neue Laufwerk
wird, um das Beispiel fortzuführen, da1
heißen und soll unter /1 angehangen
werden. Fügen Sie eine IDE-Platte hinzu, wird sie
wd1 auf FreeBSD Systemen vor 4.0 und
ad1
auf den meisten 4.X Systemen heißen.PartitionenSlicesfdiskDa FreeBSD auf IBM-PC kompatiblen Rechnern läuft, muss
es die PC BIOS-Partitionen, die verschieden von den traditionellen
BSD-Partitionen sind, berücksichtigen. Eine PC Platte kann
bis zu vier BIOS-Partitionen enthalten. Wenn die Platte
ausschließlich für FreeBSD verwendet wird, können
Sie den dedicated Modus benutzen, ansonsten
muss FreeBSD in eine der BIOS-Partitionen installiert werden.
In FreeBSD heißen die PC BIOS-Partitionen
Slices, um sie nicht mit den traditionellen
BSD-Partitionen zu verwechseln. Sie können auch Slices auf
einer Platte verwenden, die ausschließlich von FreeBSD
benutzt wird, sich aber in einem Rechner befindet, der noch ein
anderes Betriebssystem installiert hat. Dadurch stellen Sie sicher,
dass Sie fdisk des anderen Betriebssystems noch
benutzen können.Im Fall von Slices wird die Platte als
/dev/da1s1e hinzugefügt. Das heißt:
SCSI-Platte, Einheit 1 (die zweite SCSI-Platte), Slice 1
(PC BIOS-Partition 1) und die e BSD-Partition.
Wird die Platte ausschließlich für FreeBSD verwendet
(dangerously dedicated), wird sie einfach als
/dev/da1e hinzugefügt.Verwenden von &man.sysinstall.8;sysinstallhinzufügen von LaufwerkensuDas sysinstall MenüUm ein Laufwerk zu partitionieren und zu labeln, kann das
menügestützte /stand/sysinstall
benutzt werden. Dazu melden Sie sich als root
an oder benutzen su, um
root zu werden. Starten Sie
/stand/sysinstall und wählen das
Configure Menü, wählen Sie dort
den Punkt Fdisk aus.Partitionieren mit fdiskInnerhalb von fdisk geben Sie
A ein, um die ganze Platte für
FreeBSD zu benutzen. Beantworten Sie die Frage remain
cooperative with any future possible operating systems mit
YES. W schreibt die
Änderung auf die Platte, danach können Sie
fdisk mit q
verlassen. Da Sie eine Platte zu einem schon laufenden System
hinzugefügt haben, beantworten Sie die Frage nach dem
Master Boot Record mit None.Disk Label EditorBSD PartitionenAls nächstes müssen Sie
sysinstall verlassen und es erneut
starten. Folgen Sie dazu bitte den Anweisungen von oben, aber
wählen Sie dieses Mal die Option Label,
um in den Disk Label Editor zu gelangen.
Hier werden die traditionellen BSD-Partitionen erstellt.
Ein Laufwerk kann acht Partitionen, die mit den Buchstaben
a-h gekennzeichnet werden,
besitzen. Einige Partitionen sind für spezielle Zwecke
reserviert. Die a Partition ist für die
Root-Partition (/) reserviert. Deshalb
sollte nur das Laufwerk, von dem gebootet wird, eine
a Partition besitzen. Die b
Partition wird für Swap-Partitionen benutzt, wobei Sie
diese auf mehreren Platten benutzen dürfen.
Im dangerously dedicated Modus spricht
die c Partition die gesamte Platte an,
werden Slices verwendet, wird damit die ganze Slice angesprochen.
Die anderen Partitionen sind für allgemeine Zwecke
verwendbar.Der Label Editor von sysinstall
bevorzugt die e
Partition für Partitionen, die weder Root-Partitionen noch
Swap-Partitionen sind. Im Label
Editor können Sie ein einzelnes Dateisystem
mit C erstellen. Wählen Sie
FS, wenn Sie gefragt werden, ob Sie ein
FS (Dateisystem) oder Swap erstellen wollen, und geben Sie einen
Mountpoint z.B. /mnt an. Wenn Sie nach einer
FreeBSD Installation ein Dateisystem mit
sysinstall erzeugen,
so werden die Einträge in /etc/fstab
nicht erzeugt, so dass die Angabe des Mountpoints nicht
wichtig ist.Sie können nun das Label auf das Laufwerk schreiben und
das Dateisystem erstellen, indem Sie W
drücken. Ignorieren Sie die Meldung von
sysinstall, dass die neue Partition
nicht angehangen werden konnte, und verlassen Sie den Label Editor
sowie sysinstall.EndeIm letzten Schritt fügen Sie noch in
/etc/fstab den Eintrag für das neue
Laufwerk ein.Die KommandozeileAnlegen von SlicesMit der folgenden Vorgehensweise wird eine Platte mit
anderen Betriebssystemen, die vielleicht auf Ihrem Rechner
installiert sind, zusammenarbeiten und nicht das
fdisk Programm anderer Betriebssysteme
stören. Bitte benutzen
Sie den dedicated Modus nur dann, wenn
Sie dazu einen guten Grund haben!&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; fdisk -BI da1 # Initialisieren der neuen Platte
&prompt.root; disklabel -B -w -r da1s1 auto # Labeln
&prompt.root; disklabel -e da1s1 # Editieren des Disklabels und Hinzufügen von Partitionen
&prompt.root; mkdir -p /1
&prompt.root; newfs /dev/da1s1e # Wiederholen Sie diesen Schritt für jede Partition
&prompt.root; mount /dev/da1s1e /1 # Anhängen der Partitionen
&prompt.root; vi /etc/fstab # Ändern Sie /etc/fstab entsprechendWenn Sie ein IDE-Laufwerk besitzen, ändern Sie
da in ad. Auf
Systemen vor 4.0 benutzen Sie wd.DedicatedOS/2Wenn das neue Laufwerk nicht von anderen Betriebssystemen
benutzt werden soll, können Sie es im
dedicated Modus betreiben. Beachten Sie bitte,
dass Microsoft Betriebssysteme mit diesem Modus eventuell nicht
zurechtkommen, aber es entsteht kein Schaden am Laufwerk. Im
Gegensatz dazu wird IBMs OS/2 versuchen, jede ihm nicht bekannte
Partition zu reparieren.&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; disklabel -Brw da1 auto
&prompt.root; disklabel -e da1 # Erstellen der `e' Partition
&prompt.root; newfs -d0 /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # /dev/da1e hinzufügen
&prompt.root; mount /1Eine alternative Methode:&prompt.root; dd if=/dev/zero of=/dev/da1 count=2
&prompt.root; disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin
&prompt.root; newfs /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # /dev/da1e hinzufügen
&prompt.root; mount /1RAIDSoftware RAIDChristopherShumwayOriginal von JimBrownÜberarbeitet von Concatenated Disk (CCD) konfigurierenRAIDSoftwareRAIDCCDDie wichtigsten Faktoren bei der Auswahl von Massenspeichern
sind Geschwindigkeit, Zuverlässigkeit und Preis.
Selten findet sich eine ausgewogene Mischung aller drei Faktoren.
Schnelle und zuverlässige Massenspeicher sind für
gewöhnlich teuer. Um die Kosten zu senken, muss
entweder an der Geschwindigkeit oder an der Zuverlässigkeit
gespart werden.Das unten beschriebene System sollte vor allem
preiswert sein. Der nächst wichtige Faktor war
die Geschwindigkeit gefolgt von der Zuverlässigkeit.
Die Geschwindigkeit war nicht so wichtig, da über
das Netzwerk auf das System zugegriffen wird. Da alle
Daten schon auf CD-Rs gesichert sind, war die
Zuverlässigkeit, obwohl wichtig, ebenfalls nicht
von entscheidender Bedeutung.Die Bewertung der einzelnen Faktoren ist der erste
Schritt bei der Auswahl von Massenspeichern. Wenn Sie
vor allem ein schnelles und zuverlässiges Medium
benötigen und der Preis nicht wichtig ist, werden
Sie ein anderes System als das hier beschriebene
zusammenstellen.Installation der HardwareNeben der IDE-Systemplatte besteht das System
aus drei Western Digital IDE-Festplatten mit
5400 RPM und einer Kapazität von je
30 GB. Insgesamt stehen also 90 GB
Speicherplatz zur Verfügung. Im Idealfall sollte
jede Festplatte an einen eigenen Controller angeschlossen
werden. Um Kosten zu sparen, wurde bei diesem System
darauf verzichtet und an jeden IDE-Controller eine
Master- und eine Slave-Platte angeschlossen.Beim Reboot wurde das BIOS so konfiguriert, dass es
die angeschlossenen Platten automatisch erkennt und FreeBSD
erkannte die Platten ebenfalls:ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33
ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33
ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33
ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33Wenn FreeBSD die Platten nicht erkennt,
überprüfen Sie, ob die Jumper korrekt
konfiguriert sind. Die meisten IDE-Festplatten
verfügen über einen
Cable Select-Jumper. Die Master-
und Slave-Platten werden mit einem anderen
Jumper konfiguriert. Bestimmen Sie den richtigen
Jumper mithilfe der Dokumentation Ihrer
Festplatte.Als nächstes sollten Sie überlegen,
auf welche Art der Speicher zur Verfügung
gestellt werden soll. Schauen Sie sich dazu
&man.vinum.8; ()
und &man.ccd.4; an. Im hier beschriebenen
System wird &man.ccd.4; eingesetzt.Konfiguration von CCDMit &man.ccd.4; können mehrere
gleiche Platten zu einem logischen Dateisystem
zusammengefasst werden. Um &man.ccd.4;
zu benutzen, muss der Kernel mit der entsprechenden
Unterstützung übersetzt werden.
Ergänzen Sie die Kernelkonfiguration um die
nachstehende Zeile. Anschließend müssen
Sie den Kernel neu übersetzen und installieren.pseudo-device ccd 4Für 5.X-Systeme verwenden Sie die folgende
Zeile:pseudo-device ccdAb FreeBSD 5.0 muss die gewünschte
Geräteanzahl nicht mehr angegeben werden,
da die Geräte automatisch zur Laufzeit
erzeugt werden.Ab FreeBSD 3.0 kann &man.ccd.4; auch als
Kernelmodul geladen werden.Um &man.ccd.4; zu benutzen, müssen
die Laufwerke zuerst mit einem Label versehen werden.
Die Label werden mit &man.disklabel.8; erstellt:disklabel -r -w ad1 auto
disklabel -r -w ad2 auto
disklabel -r -w ad3 autoDamit wurden die Label ad1c,
ad2c und ad3c
erstellt, die jeweils das gesamte Laufwerk umfassen.Im nächsten Schritt muss der Typ des Labels
geändert werden. Die Labels können Sie
mit &man.disklabel.8; editieren:disklabel -e ad1
disklabel -e ad2
disklabel -e ad3Für jedes Label startet dies den durch
EDITOR gegebenen Editor, typischerweise
&man.vi.1;.Ein unverändertes Label sieht zum Beispiel
wie folgt aus:8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)Erstellen Sie eine e-Partition
für &man.ccd.4;. Dazu können Sie normalerweise
die Zeile der c-Partition kopieren,
allerdings muss auf
4.2BSD gesetzt werden.
Das Ergebnis sollte wie folgt aussehen:8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)Erstellen des DateisystemsWenn die Gerätedatei für
ccd0c noch nicht existiert,
erstellen Sie diese wie folgt:cd /dev
sh MAKEDEV ccd0Ab FreeBSD 5.0 werden die Gerätedateien
automatisch von &man.devfs.5; erzeugt.
MAKEDEV muss also nicht aufgerufen
werden.Nachdem alle Platten ein Label haben, kann das
&man.ccd.4;-RAID aufgebaut werden. Dies geschieht
mit &man.ccdconfig.8;:ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3eDie folgende Aufstellung erklärt die
verwendeten Kommandozeilenargumente:Das erste Argument gibt das zu konfigurierende
Gerät, hier /dev/ccd0c,
an. Die Angabe von /dev/ ist
dabei optional.Der Interleave für das Dateisystem. Der
Interleave definiert die Größe eines
Streifens in Blöcken, die normal 512 Bytes
groß sind. Ein Interleave von 32 ist
demnach 16384 Bytes groß.Weitere Argumente für &man.ccdconfig.8;.
Wenn Sie spiegeln wollen, können Sie das
hier angeben. Die gezeigte Konfiguration
verwendet keine Spiegel, sodass der Wert
0 angegeben ist.Das letzte Argument gibt die Geräte des
Plattenverbundes an. Benutzen Sie für jedes
Gerät den kompletten Pfadnamen.Nach Abschluß von &man.ccdconfig.8; ist der
Plattenverbund konfiguriert und es können Dateisysteme
auf dem Plattenverbund angelegt werden. Das Anlegen
von Dateisystemen wird in der Hilfeseite &man.newfs.8;
beschrieben. Für das Beispiel genügt
der folgende Befehl:newfs /dev/ccd0cAutomatisierungDamit &man.ccd.4; beim Start automatisch
aktiviert wird, ist die Datei /etc/ccd.conf
mit dem folgenden Kommando zu erstellen:ccdconfig -g > /etc/ccd.confWenn /etc/ccd.conf existiert, wird beim
Reboot ccdconfig -C von
/etc/rc aufgerufen. Damit wird
&man.ccd.4; eingerichtet und die darauf
befindlichen Dateisysteme können angehängt
werden.Wenn Sie in den Single-User Modus booten, müssen Sie
den Verbund erst konfigurieren, bevor Sie darauf befindliche
Dateisysteme anhängen können:ccdconfig -CIn /etc/fstab ist noch ein Eintrag
für das auf dem Verbund befindliche Dateisystem zu
erstellen, damit dieses beim Start des Systems immer
angehängt wird:/dev/ccd0c /media ufs rw 2 2Der Vinum Volume ManagerRAIDSoftwareRAIDVinumDer Vinum Volume Manager ist ein Block-Gerätetreiber,
der virtuelle Platten zur Verfügung stellt. Er trennt die
Verbindung zwischen der Festplatte und dem zugehörigen
Block-Gerät auf. Im Gegensatz zur konventionellen
Aufteilung einer Platte in Slices lassen sich dadurch Daten
flexibler, leistungsfähiger und zuverlässiger verwalten.
&man.vinum.8; stellt RAID-0, RAID-1 und RAID-5 sowohl einzeln wie
auch in Kombination zur Verfügung.Mehr Informationen über &man.vinum.8; erhalten Sie in
.Hardware RAIDRAIDHardwareFreeBSD unterstützt eine Reihe von
RAID-Controllern. Diese Geräte
verwalten einen Plattenverbund; zusätzliche Software
wird nicht benötigt.Der Controller steuert mithilfe eines
BIOS auf der Karte die Plattenoperationen.
Wie ein RAID System eingerichtet wird,
sei kurz am Beispiel des Promise
IDE RAID-Controllers gezeigt. Nachdem
die Karte eingebaut ist und der Rechner neu gestartet wurde,
erscheint eine Eingabeaufforderung. Wenn Sie den Anweisungen
auf dem Bildschirm folgen, gelangen Sie in eine Maske, in der
Sie mit den vorhandenen Festplatten ein
RAID-System aufbauen können.
FreeBSD behandelt das RAID-System wie
eine einzelne Festplatte.Wiederherstellen eines ATA-RAID-1 VerbundsMit FreeBSD können Sie eine ausgefallene Platte in
einem RAID-Verbund während des Betriebs auswechseln,
vorausgesetzt Sie bemerken den Ausfall vor einem Neustart.Einen Ausfall erkennen Sie, wenn in der Datei
/var/log/messages oder in der
Ausgabe von &man.dmesg.8; Meldungen wie die folgenden
auftauchen:ad6 on monster1 suffered a hard error.
ad6: READ command timeout tag=0 serv=0 - resetting
ad6: trying fallback to PIO mode
ata3: resetting devices .. done
ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11) status=59 error=40
ar0: WARNING - mirror lostÜberprüfen Sie den RAID-Verbund mit
&man.atacontrol.8;:&prompt.root; atacontrol list
ATA channel 0:
Master: no device present
Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
ATA channel 3:
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADEDDamit Sie die Platte ausbauen können, muss sie zuerst
aus dem Verbund entfernt werden:&prompt.root; atacontrol detach 3Ersetzen Sie dann die Platte.Nehmen Sie die neue Platte in den Verbund auf:&prompt.root; atacontrol attach 3
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device presentStellen Sie die Organisation des Verbunds wieder her:&prompt.root; atacontrol rebuild ar0Das Kommando blockiert den Terminal bis der Verbund
wiederhergestellt ist. Den Fortgang des Prozesses können
Sie in einem anderen Terminal (die Tastenkombination
AltFn schaltet auf einen anderen Terminal um)
mit den folgenden Befehlen
kontrollieren:&prompt.root; dmesg | tail -10
[output removed]
ad6: removed from configuration
ad6: deleted from ar0 disk1
ad6: inserted into ar0 disk1 as spare
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completedWarten Sie bis die Wiederherstellung beendet ist.MikeMeyerBeigesteuert von Handhabung von optischen Speichermedien (CDs & DVDs)CD-ROMerstellenEinführungCDs besitzen einige Eigenschaften, die sie von
konventionellen Laufwerken unterscheiden. Zuerst konnten
sie nicht beschrieben werden. Sie wurden so entworfen, dass
sie ununterbrochen, ohne Verzögerungen durch Kopfbewegungen
zwischen den Spuren, gelesen werden können. Sie konnten
früher auch leichter als vergleichbar große Medien zwischen
Systemen bewegt werden.CDs besitzen Spuren, aber damit ist der Teil Daten
gemeint, der ununterbrochen gelesen wird, und nicht eine
physikalische Eigenschaft der CD. Um eine CD mit FreeBSD
zu erstellen, werden die Daten jeder Spur der CD in
Dateien vorbereitet und dann die Spuren auf die CD
geschrieben.ISO 9660DateisystemeISO 9660Das ISO 9660-Dateisystem wurde entworfen, um mit diesen
Unterschieden umzugehen. Leider hat es auch damals übliche
Grenzen für Dateisysteme implementiert. Glücklicherweise
existiert ein Erweiterungsmechanismus, der es korrekt
geschriebenen CDs erlaubt, diese Grenzen zu überschreiten
und dennoch auf Systemen zu funktionieren, die diese
Erweiterungen nicht unterstützen.sysutils/mkisofsMit sysutils/mkisofs
wird eine Datei erstellt, die ein ISO 9660-Dateisystem enthält.
Das Kommando hat Optionen, um verschiedene Erweiterungen
zu unterstützen, und wird unten beschrieben. Sie
können es aus dem Port
sysutils/mkisofs
installieren.CD-BrennerATAPIWelches Tool Sie zum Brennen von CDs benutzen, hängt davon
ab, ob Ihr CD-Brenner ein ATAPI Gerät ist oder nicht.
Mit ATAPI-CD-Brennern wird burncd benutzt, das Teil des Basissystems ist.
SCSI und USB CD-Brenner werden mit
cdrecord aus
sysutils/cdrtools
benutzt.Von burncd wird nur eine beschränkte
Anzahl von Laufwerken unterstützt. Um herauszufinden, ob
ein Laufwerk unterstützt wird, sehen Sie bitte unter
CD-R/RW supported drives
nach.CD-BrennerATAPI/CAM TreiberWenn Sie &os; 5.X oder &os; 4.8-RELEASE
und spätere Versionen benutzen, können Sie
mithilfe des ATAPI/CAM Treibers
die Werkzeuge für SCSI-Laufwerke, wie
cdrecord,
benutzen.mkisofssysutils/mkisofs erstellt ein
ISO 9660-Dateisystem,
das ein Abbild eines Verzeichnisbaumes des Dateisystems
ist. Die einfachste Anwendung ist wie folgt:&prompt.root; mkisofs -o Imagedatei/path/to/treeDateisystemeISO 9660Dieses Kommando erstellt eine Imagedatei,
die ein ISO 9660-Dateisystem enthält, das eine Kopie des
Baumes unter /path/to/tree ist.
Dabei werden die Dateinamen auf Namen abgebildet, die den
Restriktionen des ISO 9660-Dateisystems entsprechen. Dateien
mit Namen, die im ISO 9660-Dateisystem nicht gültig sind,
bleiben unberücksichtigt.DateisystemeHFSDateisystemeJolietEs einige Optionen, um diese Beschränkungen
zu überwinden. Die unter &unix; Systemen üblichen
Rock Ridge Erweiterungen werden durch
aktiviert, aktiviert die von Microsoft
Systemen benutzten Joliet Erweiterungen und
dient dazu, um das von MacOS benutzte HFS zu erstellen.
Für CDs, die nur auf FreeBSD-Systemen verwendet werden
sollen, kann genutzt werden, um alle
Beschränkungen für Dateinamen aufzuheben. Zusammen
mit wird ein Abbild des
Dateisystems, ausgehend von dem Startpunkt im FreeBSD-Dateibaum,
erstellt, obwohl dies den ISO 9660 Standard
verletzen kann.CD-ROMbootbare erstellenDie letzte übliche Option ist .
Sie wird benutzt, um den Ort eines Bootimages einer
El Torito bootbaren CD anzugeben. Das Argument
zu dieser Option ist der Pfad zu einem Bootimage ausgehend
von der Wurzel des Baumes, der auf die CD geschrieben werden
soll. Wenn /tmp/myboot ein bootbares
FreeBSD-System enthält, dessen Bootimage sich in
/tmp/myboot/boot/cdboot befindet, können
Sie ein Abbild eines ISO 9660-Dateisystems in
/tmp/bootable.iso wie folgt
erstellen:&prompt.root; mkisofs -U -R -b boot/cdboot -o /tmp/bootable.iso /tmp/mybootWenn Sie vn (mit FreeBSD 4.X)
oder md (mit FreeBSD 5.X) in Ihrem
Kernel konfiguriert haben, können Sie danach das Dateisystem
einhängen. Mit FreeBSD 4.X setzen Sie dazu die
nachstehenden Kommandos ab:&prompt.root; vnconfig -e vn0c /tmp/bootable.iso
&prompt.root; mount -t cd9660 /dev/vn0c /mntMit FreeBSD 5.X verwenden Sie die Kommandos:&prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
&prompt.root; mount -t cd9660 /dev/md0 /mntJetzt können Sie überprüfen, dass
/mnt und /tmp/myboot
identisch sind.Sie können das Verhalten von
sysutils/mkisofs
mit einer Vielzahl von Optionen beeinflussen. Insbesondere können
Sie das ISO 9660 Dateisystem modifizieren und Joliet- oder
HFS-Dateisysteme brennen. Details dazu entnehmen Sie
bitte der Manualpage von
sysutils/mkisofs.burncdCD-ROMbrennenWenn Sie einen ATAPI-CD-Brenner besitzen, können
Sie burncd benutzen, um ein ISO-Image
auf CD zu brennen. burncd ist Teil
des Basissystems und unter /usr/sbin/burncd
installiert. Da es nicht viele Optionen hat, ist es leicht
zu benutzen:&prompt.root; burncd -f cddevice data imagefile.iso fixateDieses Kommando brennt eine Kopie von
imagefile.iso auf das Gerät
cddevice. In der Grundeinstellung
wird das Gerät /dev/acd0c benutzt.
&man.burncd.8; beschreibt, wie die Schreibgeschwindigkeit
gesetzt wird, die CD ausgeworfen wird und Audio Daten
geschrieben werden.cdrecordWenn Sie keinen ATAPI-CD-Brenner besitzen, benutzen Sie
cdrecord, um CDs zu brennen.
cdrecord ist nicht Bestandteil des Basissystems.
Sie müssen es entweder aus den Ports in
sysutils/cdrtools oder dem
passenden Paket installieren. Änderungen im Basissystem
können Fehler im binären Programm verursachen und
führen möglicherweise dazu, dass Sie einen
Untersetzer brennen. Sie sollten
daher den Port aktualisieren, wenn Sie Ihr System aktualisieren
bzw. wenn Sie
STABLE verfolgen,
den Port aktualisieren, wenn es eine neue Version gibt.Obwohl cdrecord viele Optionen besitzt,
ist die grundlegende Anwendung einfacher als burncd.
Ein ISO 9660 Image erstellen Sie mit:&prompt.root; cdrecord dev=deviceimagefile.isoDer Knackpunkt in der Benutzung von cdrecord
besteht darin, das richtige Argument zu zu
finden. Benutzen Sie dazu den Schalter
von cdrecord, der eine ähnliche Ausgabe
wie die folgende produziert:CD-ROMbrennen&prompt.root; cdrecord -scanbus
Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 Jörg Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk
0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk
0,2,0 2) *
0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk
0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) *
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM
1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner
1,7,0 107) *Für die aufgeführten Geräte in der Liste
wird das passende Argument zu gegeben.
Benutzen Sie die drei durch Kommas separierten Zahlen, die zu
Ihrem CD-Brenner angegeben sind, als Argument für
. Im Beispiel ist das CDRW Gerät
1,5,0, so dass die passende Eingabe
dev=1,5,0 wäre.
Einfachere Wege das Argument anzugeben, sind in &man.cdrecord.1;
beschrieben. Dort sollten Sie auch nach
Informationen über Audio Spuren, das Einstellen der
Geschwindigkeit und ähnlichem suchen.Kopieren von Audio-CDsUm eine Kopie einer Audio-CD zu erstellen, kopieren Sie die
Stücke der CD in einzelne Dateien und brennen diese Dateien
dann auf eine leere CD. Das genaue Verfahren hängt davon ab,
ob Sie ATAPI-Laufwerke oder SCSI-Laufwerke verwenden.SCSI-LaufwerkeKopieren Sie die Audio-Daten mit
cdda2wav:&prompt.user; cdda2wav -v255 -D2,0 -B -OwavDie erzeugten .wav Dateien schreiben
Sie mit cdrecord auf eine leere CD:&prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wavDas Argument von gibt das verwendete
Gerät an, das Sie, wie in
beschrieben, ermitteln können.ATAPI-LaufwerkeDer ATAPI-CD-Treiber stellt die einzelnen Stücke der
CD über die Dateien
/dev/acddtnn,
zur Verfügung. d bezeichnet
die Laufwerksnummer und nn ist die
Nummer des Stücks. Die Nummer ist immer zweistellig,
das heißt es wird, wenn nötig, eine führende
Null ausgegeben. Die Datei /dev/acd0t01
ist also das erste Stück des ersten CD-Laufwerks.
/dev/acd0t02 ist das zweite Stück
und /dev/acd0t03 das dritte.Die entsprechenden Dateien in /dev
erstellen Sie mit MAKEDEV:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV acd0t99Ab FreeBSD 5.0 werden die Gerätedateien
automatisch von &man.devfs.5; erzeugt, so dass Sie
MAKEDEV nicht laufen lassen
müssen.Die einzelnen Stücke kopieren Sie mit &man.dd.1;. Sie
müssen dazu eine spezielle Blockgröße
angeben:&prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352
&prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352
...
Die kopierten Dateien können Sie dann mit
burncd brennen. Auf der Kommandozeile
müssen Sie angeben, dass Sie Audio-Daten brennen
wollen und dass das Medium fixiert werden soll:&prompt.root; burncd -f /dev/acd0c audio track1.cdr track2.cdr ... fixateKopieren von Daten-CDsSie können eine Daten-CD in eine Datei kopieren, die einem
Image entspricht, das mit
sysutils/mkisofs erstellt
wurde. Mit Hilfe dieses Images können Sie jede Daten-CD
kopieren. Das folgende Beispiel verwendet
acd0 für das CD-ROM Gerät. Wenn
Sie ein anderes Laufwerk benutzen, setzen Sie bitte den richtigen
Namen ein. An den Gerätenamen muss ein
c angehangen werden, um die ganze Partition,
in diesem Fall ist das die ganze CD-ROM, anzusprechen.&prompt.root; dd if=/dev/acd0c of=file.iso bs=2048Danach haben Sie ein Image, das Sie wie oben beschrieben, auf
eine CD brennen können.Einhängen von Daten-CDsNachdem Sie eine Daten-CD gebrannt haben, wollen Sie
wahrscheinlich auch die Daten auf der CD lesen. Dazu müssen
Sie die CD in den Dateibaum einhängen. Die Voreinstellung
für den Typ des Dateisystems von &man.mount.8; ist
UFS. Das System wird die Fehlermeldung
Incorrect super block ausgeben, wenn Sie
versuchen, die CD mit dem folgenden Kommando
einzuhängen:&prompt.root; mount /dev/cd0c /mntAuf der CD befindet sich ja kein UFS
Dateisystem, so dass der Versuch, die CD einzuhängen
fehlschlägt. Sie müssen &man.mount.8; sagen, dass
es ein Dateisystem vom Typ ISO9660 verwenden
soll. Dies erreichen Sie durch die Angabe von auf der Kommandozeile. Wenn Sie also die CD-ROM
/dev/cd0c in /mnt
einhängen wollen, führen Sie folgenden Befehl aus:&prompt.root; mount -t cd9660 /dev/cd0c /mntAbhängig vom verwendeten CD-ROM kann der Gerätename
von dem im Beispiel (/dev/cd0c)
abweichen. Die Angabe von führt
&man.mount.cd9660.8; aus, so dass das Beispiel verkürzt
werden kann:&prompt.root; mount_cd9660 /dev/cd0c /mntAuf diese Weise können Sie
Daten-CDs von jedem Hersteller verwenden. Es kann allerdings zu
Problemen mit CDs kommen, die verschiedene ISO 9660 Erweiterungen
benutzen. So speichern Joliet CDs alle Dateinamen unter Verwendung
von zwei Byte langen Unicode Zeichen. Der FreeBSD Kernel
unterstützt zurzeit noch kein Unicode und manche
Sonderzeichen werden als Fragezeichen dargestellt. Ab
FreeBSD 4.3 sind im CD9660-Treiber Möglichkeiten vorgesehen,
eine Konvertierungstabelle zur Laufzeit zu laden. Module für
die gebräuchlisten Kodierungen finden Sie im Port
sysutils/cd9660_unicode.Manchmal werden Sie die Meldung Device
not configured erhalten, wenn Sie versuchen, eine
CD-ROM einzuhängen. Für gewöhnlich liegt das daran,
dass das Laufwerk meint es sei keine CD eingelegt, oder
dass das Laufwerk auf dem Bus nicht erkannt wird. Es kann
einige Sekunden dauern, bevor das Laufwerk merkt, dass eine CD
eingelegt wurde. Seien Sie also geduldig.Manchmal wird ein SCSI-CD-ROM nicht erkannt, weil es keine Zeit
hatte, auf das Zurücksetzen des Busses zu antworten. Wenn Sie
ein SCSI-CD-ROM besitzen, sollten Sie die folgende Zeile in Ihre
Kernelkonfiguration aufnehmen und einen neuen Kernel bauen:options SCSI_DELAY=15000Die Zeile bewirkt, dass nach dem Zurücksetzen des
SCSI-Busses beim Booten 15 Sekunden gewartet wird, um dem
CD-ROM-Laufwerk genügend Zeit zu geben, darauf zu
antworten.Brennen von rohen CDsSie können eine Datei auch direkt auf eine CD brennen,
ohne vorher auf ihr ein ISO 9660 Dateisystem einzurichten.
Einige Leute nutzen dies, um Datensicherungen durchzuführen.
Diese Vorgehensweise hat den Vorteil, dass Sie schneller als
das Brennen einer normalen CD ist.&prompt.root; burncd -f /dev/acd1c -s 12 data archive.tar.gz fixateWenn Sie die Daten von einer solchen CD wieder
zurückbekommen wollen, müssen Sie sie direkt von dem
rohen Gerät lesen:&prompt.root; tar xzvf /dev/acd1cEine auf diese Weise gefertigte CD können Sie nicht in das
Dateisystem einhängen. Sie können Sie auch nicht auf
einem anderen Betriebssystem lesen. Wenn Sie die erstellten CDs in
das Dateisystem einhängen oder mit anderen Betriebssystemen
austauschen wollen, müssen Sie
sysutils/mkisofs,
wie oben beschrieben, benutzen.CD-BrennerATAPI/CAM TreiberDer ATAPI/CAM TreiberMit diesem Treiber kann auf ATAPI-Geräte (wie
CD-ROM-, CD-RW- oder DVD-Laufwerke) mithilfe des
SCSI-Subsystems zugegriffen werden. Damit können
Sie SCSI-Werkzeuge, wie sysutils/cdrdao oder &man.cdrecord.1;,
zusammen mit einem ATAPI-Gerät benutzen.Wenn Sie den Treiber benutzen wollen, fügen Sie
die nachstehenden Zeilen zu der Kernelkonfiguration
hinzu:device atapicam
device scbus
device cd
device passDie folgenden Zeilen werden ebenfalls benötigt,
sollten aber schon Teil der Kernelkonfiguration sein:device ata
device atapicdÜbersetzen und installieren Sie dann den neuen
Kernel. Der CD-Brenner sollte beim Neustart des Systems
erkannt werden:acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4
cd0 at ata1 bus 0 target 0 lun 0
cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closedÜber den Gerätenamen /dev/cd0
können Sie nun auf das Laufwerk zugreifen. Wenn Sie
beispielsweise eine CD-ROM in /mnt
einhängen wollen, benutzen Sie das nachstehende
Kommando:&prompt.root; mount -t cd9660 /dev/cd0c /mntDie SCSI-Adresse des Brenners können Sie als
root wie folgt ermitteln:&prompt.root; camcontrol devlist
<MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)Die SCSI-Adresse 1,0,0 können
Sie mit den SCSI-Werkzeugen, zum Beispiel &man.cdrecord.1;,
verwenden.Weitere Informationen über das ATAPI/CAM- und
das SCSI-System erhalten Sie in den Hilfeseiten
&man.atapicam.4; und &man.cam.4;.JulioMerinoOriginal von MartinKarlssonUmgeschrieben von Handhabung von DiskettenDisketten sind nützlich, wenn kein anderes
bewegliches Speichermedium vorhanden ist oder wenn
nur kleine Datenmengen transferiert werden sollen.
- Sieser Abschnitt beschreibt die Handhabung von Disketten
+ Dieser Abschnitt beschreibt die Handhabung von Disketten
unter FreeBSD. Hauptsächlich geht es um die
Formatierung und Benutzung von 3,5 Zoll Disketten,
- doch lassen sich die Konzepte auf Disketten anderer
- Formate leicht übertragen.
+ doch lassen sich die Konzepte leicht auf Disketten anderer
+ Formate übertragen.Disketten formatierenDie GerätedateienWie auf jedes andere Gerät auch, greifen Sie
auf Disketten über Einträge im Verzeichnis
/dev zu. Unter &os; 4.X und
früheren Versionen greifen Sie auf das Laufwerk
über die Gerätedateien
/dev/fdN
(N ist Laufwerksnummer,
für gewöhnlich 0) oder
/dev/fdNX
(X ist ein Buchstabe) zu.Unter &os; 5.0 oder neueren Versionen
verwenden Sie einfach die Datei
/dev/fdN.Diskettenkapazitäten unter 4.X oder
früherEs gibt Gerätedateien der Form
- /dev/fdX.
- Größe.
+ /dev/fdX.Größe.
Größe gibt die
Kapazität der Diskette in Kilobytes an. Diese
Einträge bestimmen bei der Low-Level-Formatierung
die Speicherkapazität der Diskette. In den folgenden
Beispiel wird die Größe 1440 kb
verwendet.Manchmal müssen die Gerätedateien
in /dev (neu) erstellt werden.
Dies geschieht mit dem folgenden Befehl:&prompt.root; cd /dev && ./MAKEDEV "fd*"Diskettenkapazitäten unter 5.0 oder
neueren VersionenUnter &os; 5.X werden die Gerätedateien
von &man.devfs.5; verwaltet. Der Befehl
MAKEDEV wird nicht mehr
benötigt.Die gewünschte Kapazität wird &man.fdformat.1;
über die Option mitgeteilt. Die
unterstützten Kapazitäten sind in der
Hilfeseite &man.fdcontrol.8; aufgezählt.
1440 kB ist eine gängige Kapazität und
funktioniert am besten.FormatierungBevor eine Diskette benutzt werden kann, muss Sie
(low-level) formatiert werden, was normalerweise der
- Hersteller schon gemacht hat. Sie können sie
- allerdings noch einmal formatieren, um das Medium zu
+ Hersteller schon gemacht hat. Sie können die
+ Diskette allerdings noch einmal formatieren, um das Medium zu
überprüfen. Es ist möglich, die
Kapazität der Diskette zu verändern,
allerdings sind die meisten Disketten auf 1440 kB
ausgelegt.
- >Mit &man.fdformat.1; formatieren Sie eine
+ Mit &man.fdformat.1; formatieren Sie eine
Diskette. Das Kommando erwartet die Angabe eines
Gerätenamens.Achten Sie bei der Formatierung
auf Fehlermeldungen, die schlechte Speichermedien
anzeigen.Formatierung unter 4.X oder
früheren VersionenDie Disketten werden mithilfe der Gerätedatei
- /dev/fdX.
- Größe
+ /dev/fdX.Größe
formatiert. Legen Sie eine 3,5 Zoll Diskette in
Ihr Laufwerk ein und führen das folgende Kommando
aus:&prompt.root; /usr/sbin/fdformat /dev/fd0.1440Formatierung unter 5.X oder
neueren VersionenDie Disketten werden mithilfe der Gerätedatei
/dev/fdN
formatiert. Legen Sie eine 3,5 Zoll Diskette in
Ihr Laufwerk ein und führen das folgende Kommando
aus:&prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0Das DisklabelNach dem Formatieren muss auf der Diskette ein Disklabel
erstellt werden. Das Disklabel wird später zerstört, ist
aber notwendig, um die Größe und Geometrie der Diskette
zu erkennen.Das Disklabel gilt für die ganze Diskette und enthält
alle Informationen über die Geometrie der Diskette. Eine
Liste der möglichen Geometrien finden Sie in
/etc/disktab.Erstellen Sie nun das Label mit &man.disklabel.8;:&prompt.root; /sbin/disklabel -B -r -w /dev/fd0 fd1440Das DateisystemAuf der Diskette muss nun ein Dateisystem erstellt werden
(high-level Formatierung), damit FreeBSD von der Diskette lesen und
auf sie schreiben kann. Das Disklabel wird durch das Anlegen eines
Dateisystems zerstört. Falls Sie die Diskette später erneut
formatieren wollen, müssen Sie dann auch ein neues Disklabel
anlegen.Sie können entweder UFS oder FAT als Dateisystem
verwenden. Für Floppies ist FAT das beste Dateisystem.Das folgende Kommando legt ein Dateisystem auf der Diskette
an:&prompt.root; /sbin/newfs_msdos /dev/fd0Die Diskette kann nun benutzt werden.Verwenden der DisketteUnter &os; 4.X und früheren Versionen
können Sie die Diskette mit &man.mount.msdos.8; in
den Dateibaum einhängen. Unter &os; 5.X und
neueren Versionen verwenden Sie dazu den Befehl
&man.mount.msdosfs.8;. Sie können auch den
- Port mtools
+ Port emulators/mtools
verwenden, um mit der Diskette zu arbeiten.Handhabung von BandmedienBandmedienDie wichtigsten Bandmedien sind 4mm, 8mm, QIC,
Mini-Cartridge und DLT.4mm (DDS: Digital Data Storage)BandmedienDDS (4mm) BänderBandmedienQIC BänderDie 4mm-Bänder ersetzen mehr und mehr das QIC-Format als
Backupmedium der Wahl für Workstations. Dieser Trend nahm stark
zu, als Conner die Firma Archive, einen führenden Hersteller von
QIC-Laufwerken, aufkaufte und die Produktion von QIC-Laufwerken
stoppte. 4mm-Laufwerke sind klein und ruhig, haben aber nicht den
gleichen Ruf der Zuverlässigkeit, den die 8mm-Laufwerke
genießen. Die 4mm-Kassetten sind preiswerter und mit den
Maßen 76,2 x 50,8 x 12,7 mm
(3 x 2 x 0,5 Inch) kleiner als die
8mm-Kassetten. Sowohl die 4mm- als auch die 8mm-Magnetköpfe
haben eine relativ kurze Lebensdauer, weil beide die gleiche
Helical-Scan-Technologie benutzen.Der Datendurchsatz dieser Laufwerke beginnt bei etwa
150 kByte/s, Spitzenwerte liegen bei etwa 500 kByte/s.
Die Datenkapazität liegt zwischen 1,3 GB und 2 GB.
Die meisten Geräte haben eine Hardwarekompression eingebaut,
die die Kapazität ungefähr verdoppelt. Es gibt
Multi-Drive-Einheiten für Bandbibliotheken mit bis zu 6
Laufwerken in einem Gehäuse und automatischem Bandwechsel. Die
Kapazität einer solchen Bibliothek liegt bei 240 GB.Der Standard DDS-3 unterstützt nun Bandkapazitäten bis
zu 12 GB (oder komprimiert 24 GB).4mm-Laufwerke, ebenso wie 8mm-Laufwerke, verwenden Helical-Scan.
Alle Vor- und Nachteile von Helical-Scan gelten sowohl für 4mm-
als auch für 8mm-Laufwerke.Bänder sollten nach 2.000 Banddurchläufen oder 100
vollen Backups ersetzt werden.8mm (Exabyte)BandmedienExabyte (8mm) Bänder8mm-Bänder sind die verbreitetsten SCSI-Bandlaufwerke; sie
sind das geeignetste Bandformat zum Austausch von Bändern.
Fast an jedem Standort gibt es ein 8mm-Bandlaufwerk mit 2 GB.
8mm-Bänder sind zuverlässig, gut zu handhaben und
arbeiten leise. Bandkassetten sind preiswert und klein mit
122 x 84 x 15 mm
(4,8 x 3,3 x 0,6 Inch). Ein Nachteil
der 8mm-Technologie ist die relativ kurze Lebensdauer des
Schreib-/Lesekopfs und der Bänder auf Grund der hohen
Relativgeschwindigkeit des Bandes über die Köpfe
hinweg.Der Datendurchsatz liegt ungefähr zwischen
250 kByte/s und 500 kByte/s. Die Datenkapazität
beginnt bei 300 MB und erreicht bis zu 7 GB bei den
Spitzengeräten. Die meisten Geräte
haben eine Hardwarekompression eingebaut, die die Kapazität
ungefähr verdoppelt. Diese Laufwerke sind erhältlich in
Form von Einzelgeräten oder als Multi-Drive-Bandbibliotheken mit
6 Laufwerken und 120 Bändern in einem Gehäuse. Die
Bänder werden von der Geräteeinheit automatisch gewechselt.
Die Kapazität einer solchen Bibliothek liegt bei 840 GB und
mehr.Das Exabyte-Modell Mammoth unterstützt
12 GB auf einem Band (24 GB mit Kompression) und kostet
etwa doppelt so viel wie ein konventionelles Bandlaufwerk.Die Daten werden mittels Helical-Scan auf das Band
aufgezeichnet, die Köpfe sind leicht schräg zum Medium
angebracht (mit einem Winkel von etwa 6 Grad). Das Band wickelt
sich 270 Grad um die Spule, die die Köpfe trägt.
Die Spule dreht sich, während das Band darüberläuft.
Das Resultat ist eine hohe Datendichte und eng gepackte Spuren,
die von einem Rand des Bands zum gegenüberliegenden quer
über das Band abgewinkelt verlaufen.QICBandmedienQIC-150QIC-150-Bänder und -Laufwerke sind wohl der am weitesten
verbreitete Bandtyp überhaupt. QIC-Bandlaufwerke sind die
preiswertesten seriösen Backupgeräte,
die angeboten werden. Der Nachteil dabei ist der hohe Preis
der Bänder. QIC-Bänder sind im Vergleich zu 8mm- oder
4mm-Bändern bis zu fünf Mal teurer, wenn man den Preis
auf 1 GB Datenkapazität umrechnet. Aber wenn Ihr Bedarf
mit einem halben Dutzend Bänder abgedeckt werden kann,
mag QIC die richtige Wahl sein.QIC ist der gängigste
Bandlaufwerkstyp. Jeder Standort hat ein QIC-Laufwerk der einen oder
anderen Dichte. Aber gerade das ist der Haken an der Sache, QIC
bietet eine große Anzahl verschiedener Datendichten auf
physikalisch ähnlichen (manchmal gleichen) Bändern.
QIC-Laufwerke sind nicht leise. Diese Laufwerke suchen lautstark die
richtige Bandstelle, bevor sie mit der Datenaufzeichnung beginnen.
Sie sind während des Lesens, Schreibens und Suchens deutlich
hörbar.Die Abmessungen der QIC-Kassetten betragen
152.4 x 101.6 x 17.78 mm
(6 x 4 x 0,7 Inch),
die QIC-Bandbreite beträgt 6,35 mm (1/4 Inch). Mini-Cartridges, die die
gleiche Bandbreite verwenden, werden gesondert vorgestellt.
Bandbibliotheken und Bandwechselgeräte gibt es im QIC-Format
keine.Der Datendurchsatz liegt ungefähr zwischen
150 kByte/s und 500 kByte/s. Die Datenkapazität
reicht von 40 MB bis zu 15 GB.
Hardwarekompression ist in vielen der neueren QIC-Laufwerke eingebaut.
QIC-Laufwerke werden heute seltener eingesetzt; sie werden von den
DAT-Laufwerken abgelöst.Die Daten werden auf dem Band in Spuren aufgezeichnet. Die
Spuren verlaufen entlang der Längsachse des Bandmediums von einem
Ende zum anderen. Die Anzahl der Spuren, und damit auch die Breite
einer Spur, variiert mit der Kapazität des Laufwerks. Die
meisten, wenn nicht alle neueren Laufwerke sind
rückwärtskompatibel, zumindest zum Lesen (aber oft auch zum
Schreiben). QIC hat einen guten Ruf bezüglich der
Datensicherheit (die Mechanik ist einfacher und robuster als diejenige
der Helical-Scan-Laufwerke).Bänder sollten nach 5,000 Backups ersetzt werden.XXX* Mini-CartridgeDLTBandmedienDLTDLT hat die schnellste Datentransferrate von allen hier
aufgelisteten Gerätetypen. Das 1/2-Inch-Band (12,7 mm)
befindet sich in einer Spulkassette mit den Abmessungen
101,6 x 101,6 x 25,4 mm
(4 x 4 x 1 Inch). Die eine Seite
der Kassette hat eine bewegliche Abdeckung. Der Laufwerksmechanismus
öffnet diese Abdeckung und zieht die Bandführung heraus.
Die Bandführung trägt ein ovales Loch, die das Laufwerk
zum Einhängen des Bandes benutzt. Die
Aufwickelspule befindet sich im Innern des Bandlaufwerks. Bei allen
anderen hier besprochenen Bandkassetten (9-Spur-Bänder
sind die einzige Ausnahme) befinden sich sowohl die Auf- als auch
die Abwickelspule im Inneren der Bandkassette.Der Datendurchsatz liegt bei etwa 1,5 MBytes/s, der dreifache
Durchsatz der 4mm-, 8mm- oder QIC-Bandlaufwerke. Die
Datenkapazität reicht von 10 GB bis 20 GB für
Einfachlaufwerke. Auch Mehrfachbandgeräte sind erhältlich,
sowohl als Bandwechsler wie auch als Multi-Drive-Bandbibliotheken, die
Platz für 5 bis 900 Bänder verteilt auf 1 bis 20 Laufwerke
enthalten, mit einer Speicherkapazität von 50 GB bis
9 TB.Mit Kompression unterstützt das Format DLT Type IV bis zu
70 GB Kapazität.Die Daten werden auf dem Band in Spuren aufgezeichnet, die
parallel zur Bewegungsrichtung verlaufen (gerade so wie bei den
QIC-Bändern). Zwei Spuren werden dabei gleichzeitig beschrieben.
Die Lebenszeit der Lese- und Schreibköpfe sind relativ lang; denn
sobald das Band anhält, gibt es keine Relativbewegung mehr
zwischen den Köpfen und dem Band.AITBandmedienAITAIT ist ein neues Format von Sony, das (mit Kompression) bis zu
50 GB pro Band speichern kann. Die Bänder haben einen
Speicherchip, der einen Index mit dem Inhalt des Bandes anlegt.
Dieser Index kann vom Bandlaufwerk zur schnellen Bestimmung der Lage
von Dateien auf dem Band benutzt werden, während andere
Bänder einige Minuten zur Lokalisierung benötigen.Entsprechende Software wie etwa
SAMS:Alexandria können 40
oder mehr AIT-Bandbibliotheken verarbeiten, indem sie
direkt mit dem Speicherchip des Bandes kommunizieren, wenn der
Bandinhalt am Bildschirm dargestellt werden soll oder bestimmt werden
soll, welche Dateien auf welchem Band gespeichert sind, oder um das
richtige Band zu lokalisieren, zu laden und Daten vom Band
zurückzuspielen. Bibliotheken dieser Art liegen in der
Preiskategorie von $20,000, womit sie etwas aus dem Hobbymarkt
herausfallen.Die erste Benutzung eines neuen BandsDer Versuch ein neues, vollkommen leeres Band ohne weiteres zu
lesen oder zu beschreiben wird schief gehen. Auf der Konsole werden
dann Meldungen ähnlich wie folgt ausgegeben:sa0(ncr1:4:0): NOT READY asc:4,1
0(ncr1:4:0): Logical unit is in process of becoming readyDas Band enthält nämlich keinen Identifier-Block
(Blocknummer 0). Alle QIC-Bandlaufwerke seit der Einführung des
QIC-525-Standards schreiben einen Identifier-Block auf das Band. Es
gibt zwei Lösungen:mt fsf 1 veranlasst das Bandlaufwerk
einen Identifier-Block auf das Band zu schreiben.Das Band durch Drücken des Bandauswurfknopfs an der
Vorderseite des Bandgeräts auswerfen.Danach das Band wieder einlegen und mit
dump Daten auf das Band
übertragen.Das Kommando dump gibt die Meldung
DUMP: End of tape detected zurück
und die Konsole zeigt:
HARDWARE FAILURE info:280 asc:80,96.Das Band zurückspulen mit dem Kommando:
mt rewind.Nachfolgende Bandoperationen werden dann erfolgreich
ausgeführt.Was ist mit Backups auf Disketten?Kann ich Disketten zum Backup meiner Daten verwenden?Backup DiskettenDiskettenDisketten sind kein wirklich geeignetes Medium für Backups
aus folgenden Gründen:Disketten sind unzuverlässig, besonders
langfristig.Speichern und Wiederherstellen ist sehr langsam.Sie haben eine sehr eingeschränkte Kapazität (Die
Zeiten sind längst vorbei, wo eine ganze Festplatte auf ein
Dutzend Floppies oder so gespeichert werden konnte).Wenn jedoch keine andere Möglichkeit zum Datenbackup
vorhanden ist, dann sind Disketten immer noch besser als gar kein
Backup.Wenn man gezwungen ist Disketten zu verwenden, dann sollte man
auf eine gute Qualität achten. Floppies, die schon einige Jahre
im Büro herumgelegen haben, sind eine schlechte Wahl. Ideal sind
neue Disketten von einem renommierten Hersteller.Wie mache ich ein Backup auf Disketten?Die beste Art eines Diskettenbackups ist der Befehl
&man.tar.1; mit der Mehrfachband-Option ,
die es ermöglicht ein Backup über mehrere
Floppies zu verteilen.Ein Backup aller Dateien im aktuellen Verzeichnis
einschließlich aller Unterverzeichnisse wird durch den folgenden
Befehl veranlasst (als root):&prompt.root; tar Mcvf /dev/fd0 *Wenn die erste Floppy voll ist, meldet sich &man.tar.1;
und verlangt einen Diskettenwechsel (weil &man.tar.1;
unabhängig vom
Medium arbeitet, wird das nächste Band (Volume) verlangt, was in
diesem Zusammenhang eine Diskette bedeutet), in etwa wie folgt:Prepare volume #2 for /dev/fd0 and hit return:Dies wird mit steigender Volumenzahl wiederholt, bis alle
angegebenen Dateien archiviert sind.Können Diskettenbackups komprimiert werden?targzipKompressionLeider erlaubt es &man.tar.1; nicht, die Option
für Multi-Volume-Archive zu verwenden.
Man kann natürlich alle Dateien mit &man.gzip.1;
komprimieren, sie mit &man.tar.1; auf die Floppies
aufspielen, und dann die Dateien wieder &man.gunzip.1;
entkomprimieren!Wie werden Diskettenbackups wieder hergestellt?Zur Wiederherstellung des gesamten Archivs verwendet man:&prompt.root; tar Mxvf /dev/fd0Eine Methode um nur bestimmte Dateien wieder her zu stellen ist
mit der ersten Diskette den folgenden Befehl auszuführen:&prompt.root; tar Mxvf /dev/fd0 filename&man.tar.1; wird dann die folgenden Disketten anfordern,
bis die benötigte Datei gefunden ist.Wenn man die Diskette kennt, auf der sich die Datei befindet,
kann man alternativ diese Diskette auch direkt einlegen und den
gleichen Befehl wie oben verwenden. Man beachte, dass, falls die
erste Datei eine Fortsetzung einer Datei von einer
der vorigen Disketten ist, &man.tar.1; die Warnung ausgibt,
dass diese Datei nicht wiederhergestellt werden kann, selbst dann,
wenn dies gar nicht verlangt wurde!DatensicherungDatensicherungBackupDie drei wichtigsten Programme zur Sicherung von Daten sind
&man.dump.8;, &man.tar.1; und &man.cpio.1;.Sichern und WiederherstellenBackup SoftwareSichern / Wiederherstellendumprestoredump und restore sind die
traditionellen
Backupprogramme in &unix; Systemen. Sie betrachten das Laufwerk als eine
Ansammlung von Blöcken, operieren also unterhalb dem
Abstraktionslevel von Dateien, Links und Verzeichnissen, die die
Grundlage des Dateisystemkonzepts bilden. dump
sichert ein ganzes Dateisystem auf einem Gerät, es ist nicht
möglich nur einen Teil des Dateisystems, oder einen
Verzeichnisbaum, der mehr als ein Dateisystem umfasst zu
sichern. dump schreibt keine Dateien oder
Verzeichnisse auf das Band, sondern die Blöcke, aus denen
Dateien und Verzeichnisse bestehen.Wenn Sie mit dump das Root-Verzeichnis
sichern, werden /home, /usr
und viele andere Verzeichnisse nicht gesichert, da dies normalerweise
Mountpunkte für andere Dateisysteme oder symbolische Links
zu diesen Dateisystemen sind.dump hat einige Eigenarten, die noch aus den
frühen
Tagen der Version 6 von ATT Unix (ca. 1975) stammen. Die Parameter
sind für 9-Spur-Bänder (6250 bpi) voreingestellt,
nicht auf die heute üblichen Medien hoher Dichte (bis zu
62.182 ftpi). Bei der Verwendung der Kapazitäten
moderner Bandlaufwerke muss diese Voreinstellung auf der
Kommandozeile überschrieben werden..rhostsrdump und rrestore
können Daten über
Netzwerk auf ein Band, das sich in einem Laufwerk eines anderen
Computers befindet, überspielen. Beide Programme benutzen die
Befehle rcmd und ruserok zum
Zugriff auf das entfernte
Bandlaufwerk. Daher muss der Anwender, der das Backup
durchführt, auf dem entfernten Rechner in
.rhosts eingetragen sein.Die Argumente zu rdump und
rrestore müssen
zur Verwendung auf dem entfernten Computer geeignet sein.
Wenn Sie zum Beispiel mit rdump von einem
FreeBSD Rechner aus auf ein Exabyte Bandlaufwerk einer Sun mit
Namen komodo zugreifen möchten, setzen Sie
das folgende Kommando ab:&prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1Zum Ausführen dieses Kommandos müssen Sie auf dem
entfernten Rechner in .rhosts eingetragen
sein. Die r-Kommandos sind ein großes Sicherheitsrisiko,
daher sollten Sie deren Verwendung sorgfältig
abwägen.Es ist auch möglich, dump und
restore über eine gesicherte Verbindung
mit ssh einzusetzen:dump mit ssh
benutzen&prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh1 -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gztarBackup Softwaretar&man.tar.1; stammt ebenfalls aus Version 6 von ATT Unix
(ca. 1975). tar arbeitet mit dem Dateisystem,
denn es schreibt Dateien und Verzeichnisse auf das Band.
tar unterstützt zwar nicht den vollen Umfang
von Optionen, die bei
&man.cpio.1; zur Verfügung stehen, aber dafür erfordert
tar nicht die ungewöhnliche Kommando-Pipeline,
die cpio verwendet.tarDie meisten Versionen von tar unterstützen
keine Backups über das Netzwerk. Die GNU-Version von
tar die in FreeBSD verwendet wird, unterstützt
jedoch entfernte Geräte mit der gleichen Syntax wie
rdump. Um tar
für ein Exabyte-Bandlaufwerk auf einer Sun
namens komodo auszuführen, muss folgendes
Kommando aufgerufen werden:&prompt.root; /usr/bin/tar cf komodo:/dev/nsa8 . 2>&1Bei den Versionen ohne Unterstützung
für entfernte Geräte kann man die Daten über eine
Pipeline und rsh an ein entferntes Laufwerk
senden.&prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20bWenn Sie Bedenken bezüglich der Sicherheit beim Backup
über das Netz haben, sollten Sie ssh anstatt
rsh benutzen.CpioBackup Softwarecpio&man.cpio.1; ist das ursprüngliche Programm von
&unix; Systemen zum Dateitransfer mit magnetischen Medien.
cpio hat (neben vielen anderen
Leistungsmerkmalen) Optionen zum Byte-Swapping, zum Schreiben
einer Anzahl verschiedener Archivformate und zum Weiterleiten von
Daten an andere Programme über eine Pipeline. Dieses letzte
Leistungsmerkmal macht cpio zu einer
ausgezeichneten Wahl für Installationsmedien. Leider kann
cpio keine
Dateibäume durchlaufen, so dass eine Liste der zu bearbeitenden
Dateien über stdin angegeben werden
muss.cpio unterstützt keine Backups
über das Netzwerk. Man kann aber eine Pipeline und
rsh verwenden, um
Daten an ein entferntes Bandlaufwerk zu senden.&prompt.root; for f in directory_list; dofind $f >> backup.listdone
&prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device"Dabei steht directory_list für
eine Aufzählung der Verzeichnisse, die Sie sichern wollen.
user@host
gibt den Benutzer auf dem Zielrechner an, der die Sicherung
laufen lässt. Der Ort der Sicherung wird durch
backup_device angegeben
(z.B. /dev/nsa0).paxBackup SoftwarepaxpaxPOSIXIEEE&man.pax.1; ist die Antwort von IEEE/POSIX auf
tar und cpio.
Über die Jahre hinweg sind die verschiedenen
Versionen von tar und cpio leicht
inkompatibel geworden. Daher hat POSIX, statt eine Standardisierung
zwischen diesen auszufechten, ein neues Archivprogramm geschaffen.
pax versucht viele der unterschiedlichen
cpio- und tar-Formate zu lesen
und zu schreiben, außerdem einige neue, eigene Formate. Die
Kommandostruktur ähnelt eher cpio als
tar.AmandaBackup SoftwareAmandaAmandaAmanda
(Advanced Maryland Network Disk Archiver) ist ein
Client/Server-Backupsystem, nicht nur ein einzelnes Programm.
Ein Amanda-Server kann auf einem
einzigen Bandlaufwerk Datensicherungen von jeder beliebigen
Anzahl von Computern speichern, sofern auf diesen jeweils ein
Amanda-Client läuft und sie
über Netzwerk mit dem Amanda-Server
verbunden sind.Ein häufiges Problem bei Standorten mit einer Anzahl
großer Festplatten ist, dass das Kopieren der Daten auf
Band langsamer vor sich geht als solche Daten anfallen.
Amanda löst dieses Problem
durch Verwendung einer Holding Disk, einer Festplatte
zum gleichzeitigen Zwischenspeichern mehrerer Dateisysteme.Für Datensicherungen über einen längeren
Zeitraum erzeugt AmandaArchivsets von allen Dateisystemen, die in
Amandas Konfigurationsdatei genannt
werden. Ein Archivset ist eine Gruppe von Bändern mit
vollen Backups und Reihen von inkrementellen (oder differentiellen)
Backups, die jeweils nur die Unterschiede zum vorigen
Backup enthalten. Zur Wiederherstellung von beschädigten
Dateisystemen benötigt man Das Letzte volle Backup und alle
darauf folgenden inkrementellen Backups.Die Konfigurationsdatei ermöglicht die Feineinstellung
der Backups und des Netzwerkverkehrs von
Amanda. Amanda
kann zum Schreiben der Daten auf das Band jedes der oben
beschriebenen Backuprogramme verwenden.
Amanda ist nicht Teil des Basissystems,
Sie müssen Amanda über
die Ports-Sammlung oder als Paket installieren.Tue nichtsTue nichts ist kein Computerprogramm, sondern die
am häufigsten angewendete Backupstrategie. Diese kostet nichts,
man muss keinen Backupplan befolgen, einfach nur nein sagen. Wenn
etwas passiert, einfach grinsen und ertragen!Wenn Ihre Zeit und Ihre Daten nicht so wichtig sind, dann ist
die Strategie Tue nichts das geeignetste Backupprogramm
für Ihren Computer. Aber &unix; ist ein nützliches Werkzeug,
Sie müssen damit rechnen, dass Sie innerhalb von sechs Monaten
eine Sammlung von Dateien haben, die für Sie wertvoll geworden
sind.Tue nichts ist die richtige Backupmethode für
/usr/obj und andere Verzeichnisbäume, die
vom Computer exakt wiedererzeugt werden können. Ein Beispiel
sind die Dateien, die diese Handbuchseiten darstellen – sie
wurden aus Quelldateien im Format SGML erzeugt.
Es ist nicht nötig, Sicherheitskopien der Dateien in den
sekundären Formaten wie etwa HTML zu
erstellen. Die Quelldateien in SGML sollten jedoch
in die regelmäßigen Backups mit einbezogen werden.Welches Backup-Programm ist am Besten?LISAdump, Punkt und Schluss.
Elizabeth D. Zwicky hat alle hier genannten Backup-Programme
bis zur Erschöpfung ausgetestet. Ihre eindeutige Wahl zur
Sicherung aller Daten mit Berücksichtigung aller Besonderheiten
von &unix; Dateisystemen ist dump.Elizabeth erzeugte Dateisysteme mit einer großen Vielfalt
ungewöhnlicher Bedingungen (und einiger gar nicht so
ungewöhnlicher) und testete jedes Programm durch ein Backup und
eine Wiederherstellung dieser Dateisysteme. Unter den Besonderheiten
waren Dateien mit Löchern, Dateien mit Löchern und einem
Block mit Null-Zeichen, Dateien mit ausgefallenen Buchstaben im
Dateinamen, unlesbare und nichtschreibbare Dateien,
Gerätedateien, Dateien, deren Länge sich während des
Backups ändert, Dateien, die während des Backups erzeugt und
gelöscht werden, u.v.m. Sie berichtete über ihre Ergebnisse
in LISA V im Oktober 1991, s. Torture-testing
Backup and Archive Programs.Die Wiederherstellung in einem NotfallVor dem UnglückEs sind nur vier Vorkehrungen zu treffen, um auf jedes
erdenkliche Unglück vorbereitet zu sein.disklabelAls erstes drucken Sie das Disklabel jeder Ihrer Festplatten
(z.B. mittels disklabel da0 | lpr), die
Partitions- und Dateisystemtabelle jeder Festplatte (mit
/etc/fstab) sowie alle Bootmeldungen, jeweils
in zweifacher Ausfertigung.fix-it floppiesZweitens, überzeugen Sie sich, dass sowohl die
Bootdiskette als auch die Reparaturdiskette
(boot.flp bzw. fixit.flp)
all Ihre Geräte ansprechen können. Die einfachste Methode
dies nachzuprüfen ist, Ihren Rechner mit der Boot-Diskette im
Floppylaufwerk neu zu starten und die Bootmeldungen zu durchzusehen.
Wenn all Ihre Geräte aufgelistet sind und funktionieren,
können Sie weiter zu Schritt drei gehen.Ist das nicht der Fall, müssen Sie sich eine eigene
Version der beiden zum Booten benötigten Disketten erstellen.
Diese müssen einen Kernel enthalten, der all Ihre Platten
mounten kann und Zugriff auf Ihr Bandlaufwerk gestattet. Diese
Disketten müssen ferner folgende Programme enthalten:
fdisk, disklabel,
newfs, mount sowie
jedes Backup-Programm, das Sie verwenden. Diese Programme
müssen statisch gelinkt sein. Falls Sie dump
verwenden, muss die Diskette auch restore
enthalten.Drittens, machen Sie oft Backups auf Band. Jede Änderung
seit Ihrem letzten Backup kann unwiederbringlich verloren gehen.
Versehen Sie die Backup-Bänder mit Schreibschutz.Viertens, testen Sie aus, wie die Disketten (entweder
boot.flp und fixit.flp
oder Ihre beiden eigenen Disketten aus Schritt zwei) und die
Bänder mit den Backups zu behandeln sind. Machen Sie sich
Notizen zu diesem Test. Bewahren Sie diese Notizen zusammen mit den
Bootdisketten, den Ausdrucken und den Bändern mit den Backups
auf. Wenn der Ernstfall eintritt, werden Sie vielleicht so genervt
sein, dass Sie ohne Ihre Notizen vielleicht das Backup auf Ihren
Bändern zerstören. (Wie das geht? Man braucht nur
unglücklicherweise den Befehl tar cvf
/dev/sa0 einzugeben um ein Band zu
überschreiben).Als zusätzliche Sicherheitsvorkehrung, kann man jeweils
die Disketten und Bänder zweifach erstellen. Eine der Kopien
sollte an einem entfernten Standort aufbewahrt werden. Ein
entfernter Standort ist NICHT der Keller im gleichen
Bürogebäude. Eine Anzahl von Firmen im World Trade Center
musste diese Lektion auf die harte Tour lernen. Ein entfernter
Standort sollte von Ihrem Computer und Ihren Festplatten
physikalisch durch eine erhebliche Entfernung getrennt sein.Ein Beispielskript zum Erstellen eigener Bootdisketten /mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore
gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync
cp /root/.profile /mnt/root
cp -f /dev/MAKEDEV /mnt/dev
chmod 755 /mnt/dev/MAKEDEV
chmod 500 /mnt/sbin/init
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore
#
# Geraetedateien erstellen
#
cd /mnt/dev
./MAKEDEV std
./MAKEDEV da0
./MAKEDEV da1
./MAKEDEV da2
./MAKEDEV sa0
./MAKEDEV pty0
cd /
#
# Minimale Dateisystemtabelle erstellen
#
cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd <Nach dem UnglückDie Schlüsselfrage ist, ob Ihre Hardware überlebt
hat. Denn da Sie ja regelmäßig Backups angefertigt
haben, brauchen Sie sich um die Software keine Sorgen zu
machen.Falls die Hardware beschädigt wurde, ersetzen Sie zuerst
die defekten Teile.Falls die Hardware funktioniert, überprüfen Sie die
Disketten. Wenn Sie eigene Bootdisketten verwenden, booten Sie im
Single-User-Modus (geben dazu Sie -s am
Boot-Prompt boot: ein). Überspringen Sie den
folgenden Paragrafen.Wenn Sie die Standarddisketten boot.flp
und fixit.flp verwenden, lesen Sie hier weiter.
Legen Sie die Bootdiskette boot.flp in das
erste Floppylaufwerk ein und starten Sie den Computer. Wie
üblich wird dann das originale Installationsmenü von
FreeBSD gestartet. Wählen Sie die Option
Fixit--Repair mode with CD-ROM or floppy. Legen
Sie die Diskette fixit.flp ein, wenn danach
gefragt wird. restore und die anderen Programme,
die Sie benötigen, befinden sich dann in
/mnt2/stand.Stellen Sie die Dateisysteme nacheinander, getrennt von
einander, wieder her.mountRoot-PartitiondisklabelnewfsVersuchen Sie die Root-Partition Ihrer ersten Festplatte
einzuhängen (z.B. mit mount /dev/sd0a
/mnt). Wenn das Disklabel beschädigt wurde,
benutzen Sie disklabel um die Platte
neu zu partitionieren und zu benennen und zwar so, dass die
Festplatte mit dem Label übereinstimmt, das Sie
ausgedruckt und aufbewahrt haben.Verwenden Sie newfs um neue Dateisysteme
auf den
Partitionen anzulegen. Hängen Sie nun die Root-Partition der
Festplatte mit Schreibzugriff ein (mit mount -u -o rw
/mnt). Benutzen Sie Ihr Backup-Programm um die Daten
für das jeweilige Dateisystem aus den Backup-Bändern
wieder her zu stellen (z.B. durch restore vrf
/dev/sta). Hängen Sie das Dateisystem wieder aus
(z.B. durch umount /mnt). Wiederholen Sie diesen
Ablauf für jedes betroffene Dateisystem.Sobald Ihr System wieder läuft, machen Sie gleich wieder
ein vollständiges Backup auf neue Bänder. Denn die
Ursache für den Absturz oder den Datenverlust kann wieder
zuschlagen. Eine weitere Stunde, die Sie jetzt noch
dranhängen, kann Ihnen später ein weiteres Missgeschick
ersparen.* Ich habe mich nicht auf Missgeschicke vorbereitet - was
nun?
]]>
MarcFonvieilleVerbessert und neu strukturiert von Netzwerk-, speicher- und dateibasierte DateisystemeLaufwerkevirtuelleNeben Laufwerken, die sich physikalisch im Rechner befinden
wie Floppylaufwerke, CDs, Festplatten usw., kann FreeBSD auch
mit anderen Laufwerken, den virtuellen Laufwerken,
umgehen.NFSCodaLaufwerkespeicherbasierteLaufwerkeRAM-DisksDazu zählen Netzwerkdateisysteme wie
Network Filesystem und Coda,
speicher- und dateibasierte Dateisysteme.Abhängig von der verwendeten FreeBSD Version werden
speicher- und dateibasierte Dateisysteme mit unterschiedlichen
Werkzeugen angelegt.In FreeBSD 4.X werden Gerätedateien mit
&man.MAKEDEV.8; angelegt. FreeBSD 5.X erzeugt
Gerätedateien automatisch mithilfe von &man.devfs.5;.Dateibasierte Laufwerke unter FreeBSD 4.XLaufwerkedateibasierte (4.X)Mit &man.vnconfig.8; werden vnode Pseudo-Platten
konfiguriert und aktiviert. Ein vnode
stellt eine Datei dar, auf der Dateioperationen ablaufen.
Das bedeutet, dass &man.vnconfig.8; Dateien benutzt,
um ein Dateisystem zu erstellen und zu verwalten. Damit
ist es z.B. möglich, Dateien, die Abbilder von Floppies
oder CDs enthalten, anzuhängen.In der Kernelkonfiguration muss die
&man.vn.4;-Unterstützung aktiviert sein, damit
&man.vnconfig.8; funktioniert:pseudo-device vnUm ein existierendes Abbild eines Dateisystems
einzuhängen:Einhängen eines existierenden Abbildes unter
FreeBSD 4.X&prompt.root; vnconfig vn0diskimage
&prompt.root; mount /dev/vn0c /mntUm ein neues Dateisystem mit &man.vnconfig.8; anzulegen:Anlegen eines dateibasierten Laufwerks&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; vnconfig -s labels -c vn0newimage
&prompt.root; disklabel -r -w vn0 auto
&prompt.root; newfs vn0c
Warning: 2048 sector(s) in last cylinder unallocated
/dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
super-block backups (for fsck -b #) at:
32
&prompt.root; mount /dev/vn0c /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/vn0c 4927 1 4532 0% /mntDateibasierte Laufwerke unter FreeBSD 5.XLaufwerkedateibasierte (5.X)Unter FreeBSD 5.0 werden virtuelle Laufwerke (&man.md.4;)
mit &man.mdconfig.8; erzeugt. Dazu muss das Modul &man.md.4;
geladen sein oder das entsprechende Gerät in der
Kernelkonfiguration aktiviert sein:device mdMit &man.mdconfig.8; können drei verschiedene virtuelle
Laufwerke angelegt werden: speicherbasierte Laufwerke, deren
Speicher von &man.malloc.9; zur Verfügung gestellt wird, oder
dateibasierte Laufwerke, deren Speicher von einer Datei oder dem
Swap-Bereich zur Verfügung gestellt wird. Eine mögliche
Anwendung ist das Einhängen von Dateien, die Abbilder von
CD-ROMs oder Floppies enthalten.Das Abbild eines Dateisystems wird wie folgt
eingehangen:Einhängen eines existierenden Abbildes unter
FreeBSD 5.X&prompt.root; mdconfig -a -t vnode -f diskimage -u 0
&prompt.root; mount /dev/md0c /mntEin neues Dateisystem-Abbild erstellen Sie mit
&man.mdconfig.8; wie folgt:Erstellen eines dateibasierten Laufwerks mit
mdconfig&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdconfig -a -t vnode -f newimage -u 0
&prompt.root; disklabel -r -w md0 auto
&prompt.root; newfs md0c
/dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
super-block backups (for fsck -b #) at:
32, 2624, 5216, 7808
&prompt.root; mount /dev/md0c /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0c 4846 2 4458 0% /mntWenn Sie keine Gerätenummer mit dem Schalter
angeben, wird von &man.md.4; automatisch eine
ungenutzte Gerätenummer zugewiesen. Das zugewiesene Gerät
wird auf der Standardausgabe ausgegeben (zum Beispiel
md4). Weitere Informationen entnehmen Sie
bitte der Hilfeseite &man.mdconfig.8;.Das Werkzeug &man.mdconfig.8; ist sehr nützlich, doch muss
man viele Kommandos absetzen, um ein dateibasiertes Dateisystem zu
erstellen. FreeBSD enthält das Werkzeug &man.mdmfs.8;, das
die notwendigen Schritte in einem Befehl zusammenfasst. Es
konfiguriert mit &man.mdconfig.8; ein &man.md.4;-Laufwerk, erstellt
darauf mit &man.newfs.8; ein Dateisystem und hängt es
anschließend mit &man.mount.8; ein. Das virtuelle Laufwerk
aus dem obigen Beispiel kann somit einfach mit den nachstehenden
Befehlen erstellt werden:&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records in
5120+0 records out
&prompt.root; mdmfs -F newimage -s 5m md0/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0 4846 2 4458 0% /mntWenn sie die Option ohne Gerätenummer
verwenden, wählt &man.md.4; automatisch ein ungenutztes
Gerät aus. Weitere Einzelheiten entnehmen Sie bitte der
Hilfeseite &man.mdmfs.8;.Speicherbasierte Laufwerke unter FreeBSD 4.XLaufwerkespeicherbasierte (4.X)LaufwerkeRAM-Disks (4.X)Mit dem Gerätetreiber &man.md.4; lassen sich unter
FreeBSD 4.X leicht speicherbasierte Laufwerke (RAM-disks)
anlegen. Der dazu nötige Speicher wird mit &man.malloc.9;
belegt.Nehmen Sie einfach ein Dateisystem, dass Sie
z.B. mit &man.vnconfig.8; vorbereitet haben:Speicherbasiertes Laufwerk unter FreeBSD 4.X&prompt.root; dd if=newimage of=/dev/md0
5120+0 records in
5120+0 records out
&prompt.root; mount /dev/md0c/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0c 4927 1 4532 0% /mntWeitere Einzelheiten entnehmen Sie bitte der Hilfeseite
&man.md.4;.Speicherbasierte Laufwerke unter FreeBSD 5.XLaufwerkespeicherbasierte (5.X)LaufwerkeRAM-Disks (5.X)Speicher- und dateibasierte Laufwerke werden in
FreeBSD 5.0 mit denselben Werkzeugen erstellt:
&man.mdconfig.8; oder &man.mdmfs.8;. Der Speicher für
speicherbasierte Laufwerke (RAM-disks) wird mit
&man.malloc.9; belegt.Erstellen eines speicherbasierten Laufwerks mit
mdconfig&prompt.root; mdconfig -a -t malloc -s 5m -u 1
&prompt.root; newfs -U md1
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
with soft updates
super-block backups (for fsck -b #) at:
32, 2624, 5216, 7808
&prompt.root; mount /dev/md1/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md1 4846 2 4458 0% /mntErstellen eines speicherbasierten Laufwerks mit
mdmfs&prompt.root; mdmfs -M -s 5m md2/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md2 4846 2 4458 0% /mntDer Speicher für das Dateisystem muss nicht mit
&man.malloc.9; zugewiesen werden, sondern kann auch aus dem
Swap-Bereich stammen. Auf der Kommandozeile von &man.mdconfig.8;
ist dazu durch
zu ersetzen. Ohne Angabe des Schalters
verwendet &man.mdmfs.8; Speicher aus dem Swap-Bereich.
Weitere Informationen entnehmen Sie bitte den Hilfeseiten
&man.mdconfig.8; und &man.mdmfs.8;.Virtuelle Laufwerke freigebenLaufwerkeFreigabe von virtuellen LaufwerkenWenn ein virtuelles Laufwerk nicht mehr gebraucht wird, sollten
Sie dem System die belegten Ressourcen zurückgeben.
Hängen Sie dazu zuerst das Dateisystem ab und geben Sie dann
die benutzten Ressourcen mit &man.mdconfig.8; frei.Alle von /dev/md4 belegten Ressourcen
werden mit dem nachstehenden Kommando freigegeben:&prompt.root; mdconfig -d -u 4Eingerichtete &man.md.4;-Geräte werden mit dem Befehl
mdconfig -l angezeigt.Unter FreeBSD 4.X geben Sie die Ressourcen mit
&man.vnconfig.8; frei. Die von /dev/vn4
belegten Ressourcen geben Sie wie folgt frei:&prompt.root; vnconfig -u vn4TomRhodesBeigetragen von Schnappschüsse von DateisystemenSchnappschüsse von DateisystemenSchnappschüsseZusammen mit Soft Updates
bietet FreeBSD 5.0 eine neue Funktion: Schnappschüsse von
Dateisystemen.Schnappschüsse sind Dateien, die ein Abbild eines
Dateisystems enthalten und müssen auf dem jeweiligen
Dateisystem erstellt werden. Pro Dateisystem darf es maximal
20 Schnappschüsse, die im Superblock vermerkt werden, geben.
Schnappschüsse bleiben erhalten, wenn das Dateisystem abgehangen,
neu eingehangen oder das System neu gestartet wird. Wenn Sie einen
Schnappschuss nicht mehr benötigen, können Sie ihn
mit &man.rm.1; löschen. Es ist egal, in welcher Reihenfolge
Schnappschüsse gelöscht werden. Es kann allerdings
vorkommen, dass nicht der gesamte Speicherplatz
wieder freigegeben wird, da ein anderer
Schnappschuss einen Teil der entfernten Blöcke für sich
beanspruchen kann.Schnappschüsse werden mit dem Flag
(siehe &man.chflags.1;) angelegt, um sicherzustellen, das nicht
einmal root den Schnappschuss beschreiben
kann. In &man.unlink.1; wird allerdings für
Schnappschüsse eine Ausnahme gemacht: Sie dürfen
gelöscht werden, ohne das das Flag
vorher entfernt werden muss.Schnappschüsse werden mit &man.mount.8; erstellt. Das
folgende Kommando legt einen Schnappschuss von
/var in /var/snapshot/snap
ab:&prompt.root; mount -u -o snapshot /var/snapshot/snap /varNachdem ein Schnappschuss erstellt wurde, können Sie
ihn für verschiedene Zwecke benutzen:Sie können den Schnappschuss für die
Datensicherung benutzen und ihn auf eine CD oder ein Band
schreiben.Sie können den Schnappschuss mit &man.fsck.8;
prüfen. Wenn das Dateisystem zum Zeitpunkt der Erstellung
des Schnappschusses in Ordnung war, sollte &man.fsck.8; immer
erfolgreich durchlaufen.Sie können den Schnappschuss mit &man.dump.8;
sichern. Sie erhalten dann eine konsistente Sicherung des
Dateisystems zu dem Zeitpunkt, der durch den Zeitstempel des
Schnappschusses gegeben ist. Der Schalter
von &man.dump.8; erstellt für die Sicherung einen
Schnappschuss und entfernt diesen am Ende der Sicherung
wieder.Sie können einen Schnappschuss in den
Verzeichnisbaum einhängen und sich dann den Zustand des
Dateisystems zu dem Zeitpunkt ansehen, an dem der
Schnappschuss erstellt wurde. Der folgende Befehl
hängt den Schnappschuss
/var/snapshot/snap ein:&prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4&prompt.root; mount -r /dev/md4 /mntSie können sich nun den eingefrorenen Stand des
/var Dateisystems unterhalb von
/mnt ansehen. Mit Ausnahme der früheren
Schnappschüsse, die als leere Dateien auftauchen, wird alles
so aussehen, wie zu dem Zeitpunkt als der Schnappschuss
erstellt wurde. Wenn Sie den Schnappschuss nicht mehr
benötigen, können Sie ihn, wie nachfolgend gezeigt,
abhängen:&prompt.root; umount /mnt&prompt.root; mdconfig -d -u 4Weitere Informationen über Soft Updates und
Schnappschüsse von Dateisystemen sowie technische Artikel finden
Sie auf der Webseite
von Marshall Kirk McKusick.Dateisystem QuotasAccountingPlattenplatzDisk QuotasQuotas sind eine optionale Funktion des Betriebssystems,
die es Ihnen erlauben, den Plattenplatz und/oder die Anzahl
der Dateien eines Benutzers oder der Mitglieder einer Gruppe,
auf Dateisystemebene zu beschränken. Oft wird dies
auf Timesharing-Systemen (Mehrbenutzersystemen) genutzt, da
es dort erwünscht ist, die Ressourcen, die ein Benutzer oder
eine Gruppe von Benutzern belegen können, zu limitieren. Das
verhindert, dass ein Benutzer oder eine Gruppe von Benutzern
den ganzen verfügbaren Plattenplatz belegt.Konfiguration des Systems, um Quotas zu
aktivierenBevor Quotas benutzt werden können, müssen
sie im Kernel konfiguriert werden, wozu die folgende Zeile
der Kernelkonfiguration hinzugefügt wird:options QUOTAIm gewöhnlichen GENERIC Kernel
sind Quotas nicht aktiviert, so dass Sie einen angepassten
Kernel konfigurieren und bauen müssen, um Quotas zu
benutzen. Weitere Informationen
finden Sie in .Durch Hinzufügen der folgenden Zeile in
/etc/rc.conf wird das Quota-System
aktiviert:enable_quotas="YES"Disk QuotasüberprüfenUm den Start des Quota-Systems zu beeinflussen, steht
eine weitere Variable zur Verfügung. Normalerweise
wird beim Booten die Integrität der Quotas auf
allen Dateisystemen mit &man.quotacheck.8;
überprüft. &man.quotacheck.8; stellt
sicher, dass die Quota-Datenbank mit den Daten auf
einem Dateisystem übereinstimmt. Dies ist allerdings
ein sehr zeitraubender Prozess, der die Zeit, die
das System zum Booten braucht, signifikant beeinflusst.
Eine Variable in /etc/rc.config erlaubt es Ihnen,
diesen Schritt zu überspringen:check_quotas="NO"Wenn Sie ein FreeBSD vor 3.2-RELEASE benutzen, ist
die Konfiguration einfacher. In /etc/rc.conf
setzen Sie nur eine Variable:check_quotas="YES"Schließlich müssen Sie noch in
/etc/fstab die Plattenquotas auf
Dateisystemebene aktivieren. Dort können Sie
für alle Dateisysteme Quotas für Benutzer, Gruppen
oder für beide aktivieren.Um Quotas pro Benutzer für ein Dateisystem zu
aktivieren, geben Sie für dieses Dateisystem die
Option im Feld Optionen von
/etc/fstab an. Beispiel:/dev/da1s2g /home ufs rw,userquota 1 2Um Quotas für Gruppen einzurichten, verwenden
Sie anstelle von
. Um Quotas für Benutzer
und Gruppen einzurichten, ändern Sie den Eintrag
wie folgt ab:/dev/da1s2g /home ufs rw,userquota,groupquota 1 2Die Quotas werden jeweils im Rootverzeichnis des Dateisystems
unter dem Namen quota.user für
Benutzer-Quotas und quota.group für
Gruppen-Quotas abgelegt. Obwohl &man.fstab.5; beschreibt,
dass diese Dateien an anderer Stelle gespeichert werden
können, wird das nicht empfohlen, da es den Anschein hat,
dass die verschiedenen Quota-Utilities das nicht richtig
unterstützen.Jetzt sollten Sie Ihr System mit dem neuen Kernel booten.
/etc/rc wird dann automatisch die
richtigen Kommandos aufrufen, die die Quota-Dateien für
alle Quotas, die Sie in /etc/fstab
definiert haben, anlegen. Deshalb müssen vorher auch keine
leeren Quota-Dateien angelegt werden.Normalerweise brauchen Sie die Kommandos
&man.quotacheck.8;, &man.quotaon.8; oder
&man.quotaoff.8; nicht händisch aufzurufen,
obwohl Sie vielleicht die entsprechenden Seiten im
Manual lesen sollten, um sich mit ihnen vertraut
zu machen.Setzen von Quota-LimitsDisk QuotasLimitsNachdem Sie Quotas in Ihrem System aktiviert haben, sollten
Sie überprüfen, dass Sie auch tatsächlich
aktiviert sind. Führen Sie dazu einfach den folgenden
Befehl aus:&prompt.root; quota -vFür jedes Dateisystem, auf dem Quotas aktiviert sind,
sollten Sie eine Zeile mit der Plattenauslastung und den
aktuellen Quota-Limits sehen.Mit &man.edquota.8; können Sie nun
Quota-Limits setzen.Sie haben mehrere Möglichkeiten, die Limits für
den Plattenplatz, den ein Benutzer oder eine Gruppe verbrauchen
kann, oder die Anzahl der Dateien, die angelegt werden dürfen,
festzulegen. Die Limits können auf dem Plattenplatz
(Block-Quotas) oder der Anzahl der Dateien (Inode-Quotas) oder
einer Kombination von beiden basieren.
Jedes dieser Limits wird weiterhin in zwei Kategorien geteilt:
Hardlimits und Softlimits.HardlimitEin Hardlimit kann nicht überschritten werden.
Hat der Benutzer einmal ein Hardlimit erreicht, so kann er
auf dem betreffenden Dateisystem keinen weiteren Platz mehr
beanspruchen. Hat ein Benutzer beispielsweise ein Hardlimit
von 500 Blöcken auf einem Dateisystem und benutzt davon
490 Blöcke, so kann er nur noch 10 weitere Blöcke
beanspruchen. Der Versuch, weitere 11 Blöcke zu beanspruchen,
wird fehlschlagen.SoftlimitIm Gegensatz dazu können Softlimits für eine
befristete Zeit überschritten werden. Diese Frist
beträgt in der Grundeinstellung
eine Woche. Hat der Benutzer das Softlimit über die
Frist hinaus überschritten, so wird das Softlimit in
ein Hardlimit umgewandelt und der Benutzer kann
keinen weiteren Platz mehr beanspruchen. Wenn er einmal
das Softlimit unterschreitet, wird die Frist wieder
zurückgesetzt.Das folgende Beispiel zeigt die Benutzung von
&man.edquota.8;. Wenn &man.edquota.8; aufgerufen wird,
wird der Editor gestartet, der durch EDITOR
gegeben ist oder vi falls
EDITOR nicht gesetzt ist. In dem Editor
können Sie die Limits eingeben.&prompt.root; edquota -u testQuotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)Für jedes Dateisystem, auf dem Quotas aktiv sind,
sehen Sie zwei Zeilen, eine für die Block-Quotas und die
andere für die Inode-Quotas. Um ein Limit zu modifizieren,
ändern Sie einfach den angezeigten Wert. Um beispielsweise
das Blocklimit dieses Benutzers von einem Softlimit von 50
und einem Hardlimit von 75 auf ein Softlimit von 500 und
ein Hardlimit von 600 zu erhöhen, ändern Sie
die Zeile/usr: blocks in use: 65, limits (soft = 50, hard = 75)zu: /usr: blocks in use: 65, limits (soft = 500, hard = 600)Die neuen Limits sind wirksam, wenn Sie den
Editor verlassen.Manchmal ist es erwünscht, die Limits für einen
Bereich von UIDs zu setzen. Dies kann mit der
Option von &man.edquota.8; bewerkstelligt werden.
Weisen Sie dazu die Limits einem Benutzer zu und rufen danach
edquota -p protouser startuid-enduid auf.
Besitzt beispielsweise der Benutzer test
die gewünschten Limits, können diese mit
dem folgenden Kommando für die UIDs 10.000 bis 19.999
dupliziert werden:&prompt.root; edquota -p test 10000-19999Weitere Informationen erhalten Sie in &man.edquota.8;.Überprüfen von Quota-Limits und PlattennutzungDisk QuotasüberprüfenSie können &man.quota.1; oder
&man.repquota.8; benutzen, um Quota-Limits
und Plattennutzung zu überprüfen. Um die Limits
oder die Plattennutzung individueller Benutzer und Gruppen
zu überprüfen, kann &man.quota.1;
benutzt werden. Ein Benutzer kann nur die eigenen Quotas und die
Quotas der Gruppe, der er angehört untersuchen. Nur der
Superuser darf sich alle Limits ansehen.
Mit &man.repquota.8; erhalten Sie eine Zusammenfassung
von allen Limits und der Plattenausnutzung für alle
Dateisysteme, auf denen Quotas aktiv sind.Das folgende Beispiel zeigt die Ausgabe von
quota -v für einen Benutzer, der
Quota-Limits auf zwei Dateisystemen besitzt:Disk quotas for user test (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60Disk QuotasFristIm Dateisystem /usr liegt der Benutzer
momentan 15 Blöcke über dem Softlimit von
50 Blöcken und hat noch 5 Tage seiner Frist übrig.
Der Stern * zeigt an, dass der
Benutzer sein Limit überschritten hat.In der Ausgabe von &man.quota.1; werden Dateisysteme,
auf denen ein Benutzer keinen Platz verbraucht, nicht angezeigt,
auch wenn diesem Quotas zugewiesen wurden. Mit
werden diese Dateisysteme, wie /usr/var
im obigen Beispiel, angezeigt.Quotas über NFSNFSQuotas werden von dem Quota-Subsystem auf dem NFS Server
erzwungen. Der &man.rpc.rquotad.8; Dæmon stellt
&man.quota.1; die Quota Informationen auf dem NFS Client
zur Verfügung, so dass Benutzer auf diesen
Systemen ihre Quotas abfragen können.Aktivieren Sie rpc.rquotad in
/etc/inetd.conf wie folgt:rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotadAnschließend starten Sie inetd
neu:&prompt.root; kill -HUP `cat /var/run/inetd.pid`LuckyGreenBeigetragen von shamrock@cypherpunks.toPartitionen verschlüsselnPartitionenverschlüsselnFreeBSD bietet ausgezeichnete Möglichkeiten, Daten vor
unberechtigten Zugriffen zu schützen. Wenn das
Betriebssystem läuft, schützen Zugriffsrechte und
vorgeschriebene Zugriffskontrollen (MAC) (siehe )
die Daten. Die Zugriffskontrollen des Betriebssystems
schützen allerdings nicht vor einem Angreifer, der
Zugriff auf den Rechner hat. Der Angreifer
kann eine Festplatte einfach in ein anderes System einbauen
und dort die Daten analysieren.GEOM Based Disk Encryption (gbde)
schützt Daten auf Dateisystemen auch vor hoch motivierten
Angreifern, die über erhebliche Mittel verfügen.
Der Schutz ist unabhängig von der Art und Weise, auf der
ein Angreifer Zugang zu einer Festplatte oder zu einem
Rechner erlangt hat. Im Gegensatz zu schwerfälligen
Systemen, die einzelne Dateien verschlüsseln,
verschlüsselt gbde transparent
ganze Dateisysteme. Auf der Festplatte werden keine Daten
im Klartext gespeichert.gbde im Kernel einrichtenWechseln sie zu rootSie benötigen Superuser-Rechte, um
gbde einzurichten.&prompt.user; su -
Password:Überprüfen Sie die FreeBSD-Version&man.gbde.4; benötigt FreeBSD 5.0
oder höher.&prompt.root; uname -r
5.0-RELEASEAktivieren Sie &man.gbde.4; in
der KernelkonfigurationFügen Sie mit Ihrem Lieblingseditor die
folgende Zeile in die Kernelkonfiguration ein:options GEOM_BDEÜbersetzen und installieren Sie den FreeBSD-Kernel.
In werden die dazu
notwendigen Schritte erklärt.Starten sie das System neu, um den neuen Kernel
zu benutzen.Einrichten eines verschlüsselten DateisystemsDas folgende Beispiel beschreibt, wie ein Dateisystem
auf einer neuen Festplatte verschlüsselt wird. Das
Dateisystem wird in /private eingehangen.
Mit gbde könnten auch
/home und /var/mail
verschlüsselt werden. Die dazu nötigen Schritte
können allerdings in dieser Einführung
nicht behandelt werden.Installieren der FestplatteInstallieren Sie die Festplatte wie in
beschrieben. Im Beispiel
verwenden wir die Partition /dev/ad4s1c.
Die Gerätedateien
/dev/ad0s1*
sind Standard-Partitionen des FreeBSD-Systems.&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4Verzeichnis für GBDE Lock-Dateien anlegen&prompt.root; mkdir /etc/gbdeDie Lock-Dateien sind für den Zugriff von
gbde auf verschlüsselte
Partitionen notwendig. Ohne die Lock-Dateien können
die Daten nur mit erheblichem manuellen Aufwand wieder
entschlüsselt werden (dies wird auch von der Software
nicht unterstützt). Jede verschlüsselte
Partition benötigt eine gesonderte Lock-Datei.Vorbereiten der gbde-PartitionEine von gbde benutzte
Partition muss einmalig vorbereitet werden:&prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c&man.gbde.8; öffnet eine Vorlage in Ihrem Editor,
in der Sie verschiedene Optionen einstellen können.
Setzen Sie sector_size auf
2048, wenn Sie
UFS1 oder UFS2 benutzen.$FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
#
# Sector size is the smallest unit of data which can be read or written.
# Making it too small decreases performance and decreases available space.
# Making it too large may prevent filesystems from working. 512 is the
# minimum and always safe. For UFS, use the fragment size
#
sector_size = 2048
[...]
&man.gbde.8; fragt dann zweimal eine Passphrase
zum Schutz der Daten ab. Die Passphrase muss beides
Mal gleich eingegeben werden. Die Sicherheit der
Daten hängt alleine von der Qualität der
gewählten Passphrase ab.
Die Auswahl einer sicheren und leicht zu merkenden
Passphrase wird auf der Webseite Diceware
Passphrase beschrieben.Mit gbde init wurde im Beispiel
auch die Lock-Datei /etc/gbde/ad4s1c
angelegt.Sichern Sie die Lock-Dateien von
gbde immer zusammen mit den
verschlüsselten Dateisystemen. Ein entschlossener
Angreifer kann die Daten vielleicht auch ohne die
Lock-Datei entschlüsseln. Ohne die Lock-Datei
können Sie allerdings nicht auf die
verschlüsselten Daten zugreifen. Dies ist nur noch
mit erheblichem manuellen Aufwand möglich, der
weder von &man.gbde.8; noch seinem Entwickler
unterstützt wird.Einbinden der verschlüsselten Partition
in den Kernel&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1cDas Kommando fragt die Passphrase ab, die Sie
beim Vorbereiten der Partition eingegeben haben. Das
neue Gerät erscheint danach als
/dev/device_name.bde im
Verzeichnis /dev:&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bdeDateisystem auf dem verschlüsselten Gerät
anlegenWenn der Kernel die verschlüsselte Partition
kennt, können Sie ein Dateisystem auf ihr anlegen.
Benutzen Sie dazu den Befehl &man.newfs.8;. Da ein
Dateisystem vom Typ UFS2 sehr viel schneller als eins
vom Typ UFS1 angelegt wird, empfehlen wir Ihnen, die
Option zu benutzen.Ab &os; 5.1-RELEASE wird
als Voreinstellung verwendet.&prompt.root; newfs -U -O2 /dev/ad4s1c.bde&man.newfs.8; muss auf einer dem Kernel bekannten
gbde-Partition (einem
Gerät mit dem Namen
*.bde
laufen.Einhängen der verschlüsselten PartitionLegen Sie einen Mountpunkt für das
verschlüsselte Dateisystem an:&prompt.root; mkdir /privateHängen Sie das verschlüsselte Dateisystem
ein:&prompt.root; mount /dev/ad4s1c.bde /privateÜberprüfen des verschlüsselten
DateisystemDas verschlüsselte Dateisystem sollte jetzt
von &man.df.1; erkannt werden und benutzt werden
können.&prompt.user; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1037M 72M 883M 8% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 8.1G 55K 7.5G 0% /home
/dev/ad0s1e 1037M 1.1M 953M 0% /tmp
/dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr
/dev/ad4s1c.bde 150G 4.1K 138G 0% /privateEinhängen eines existierenden verschlüsselten
DateisystemsNach jedem Neustart müssen verschlüsselte
Dateisysteme dem Kernel wieder bekannt gemacht werden,
auf Fehler überprüft werden und eingehangen
werden. Die dazu nötigen Befehle müssen als
root durchgeführt werden.gbde-Partition im Kernel bekannt geben&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1cDas Kommando fragt nach der Passphrase, die Sie
beim Vorbereiten der Partition eingegeben haben.Prüfen des DateisystemsDas verschlüsselte Dateisystem kann noch nicht
automatisch über /etc/fstab
eingehangen werden. Daher muss es vor dem Einhängen
mit &man.fsck.8; geprüft werden:&prompt.root; fsck -p -t ffs /dev/ad4s1c.bdeEinhängen des verschlüsselten
Dateisystems&prompt.root; mount /dev/ad4s1c.bde /privateDas verschlüsselte Dateisystem steht danach
zur Verfügung.Verschlüsselte Dateisysteme automatisch
einhängenMit einem Skript können verschlüsselte
Dateisysteme automatisch bekannt gegeben, geprüft
und eingehangen werden. Wir raten Ihnen allerdings
aus Sicherheitsgründen davon ab. Starten Sie das
Skript manuell an der Konsole oder in einer
&man.ssh.1;-Sitzung.Kryptographische Methoden von gbde&man.gbde.8; benutzt den 128-Bit AES im CBC-Modus,
um die Daten eines Sektors zu verschlüsseln. Jeder
Sektor einer Festplatte wird mit einem unterschiedlichen
AES-Schlüssel verschlüsselt. Mehr Informationen,
unter anderem wie die Schlüssel für einen Sektor
aus der gegebenen Passphrase ermittelt werden, erhalten
Sie in &man.gbde.4;.Kompatibilität&man.sysinstall.8; kann nicht mit verschlüsselten
gbde-Geräten umgehen. Vor
dem Start von &man.sysinstall.8; sind alle
*.bde-Geräte
zu deaktivieren, da &man.sysinstall.8; sonst bei der
Gerätesuche abstürzt. Das im Beispiel verwendete
Gerät wird mit dem folgenden Befehl deaktiviert:&prompt.root; gbde detach /dev/ad4s1c
diff --git a/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml
index 26ec7fe4bc..76a26484f0 100644
--- a/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml
@@ -1,3415 +1,3415 @@
JimMockRestrukturiert und teilweise aktualisiert von Brian N.HandyBeigetragen von RichMurpheyJohannKoisÜbersetzt von Linux-BinärkompatibilitätÜbersichtLinux-BinärkompatibilitätBinärkompatibilitätLinuxFreeBSD bietet Binärkompatibilität zu verschiedenen
anderen &unix; Betriebssystemen, darunter auch Linux. Nun
könnten Sie sich fragen, warum FreeBSD in der Lage sein
muss, Linux-Binärprogramme auszuführen? Die Antwort
auf diese Frage ist sehr einfach. Viele Unternehmen und Entwickler
programmieren bzw. entwickeln nur für Linux, da es
das Neueste und Beste in der Computerwelt ist.
Für uns FreeBSD-Anwender heißt dies, genau diese Unternehmen
und Entwickler zu bitten, FreeBSD-Versionen ihrer Programme
herauszubringen. Das Problem dabei ist nur, dass die meisten dieser
Firmen trotzdem nicht erkennen, wie viele zusätzliche
Anwender ihre Produkte benutzen würden, wenn es auch
FreeBSD-Versionen gäbe, und daher weiterhin
ausschließlich für Linux entwickeln. Was also kann ein
FreeBSD-Anwender tun? Genau an diesem Punkt kommt die Linux-
Binärkompatibilität ins Spiel.Um es auf den Punkt zu bringen, genau diese Kompatibilität
erlaubt es FreeBSD-Anwendern, etwa 90 % aller Linux-Anwendungen
ohne Code-Änderungen zu verwenden. Dies schließt
solche Anwendungen wie Star Office,
Open Office, die Linux-Versionen von
Netscape,
Adobe Acrobat,
RealPlayer 8,
VMWare, Oracle,
WordPerfect, Doom,
Quake und viele andere ein. Es wird
sogar berichtet, dass diese Linux-Anwendungen in manchen
Fällen unter FreeBSD eine bessere Leistung als unter
Linux aufweisen.Linux/proc DateisystemAllerdings gibt es nach wie vor einige Linux-spezifische
Betriebssystem-Eigenschaften, die unter FreeBSD nicht
unterstützt werden. Linux-Anwendungen, die in großem
Stil das Linux-/proc-Dateisystem verwenden,
werden unter FreeBSD nicht funktionieren, da sich dieses vom
FreeBSD-/proc-Dateisystem unterscheidet.
Auch i386-spezifische Aufrufe dieser Linux-Anwendungen (wie
z.B. die Aktivierung des virtuellen 8086-Modus) funktionieren
unter FreeBSD leider nicht.Nach dem Lesen dieses Kapitels werden Siewissen, wie Sie die Linux-Binärkompatibilität
installieren bzw. aktivieren.Wissen, wie man zusätzliche Linux-Systembibliotheken
unter FreeBSD installiert.Linux-Anwendungen unter FreeBSD installieren können.Wissen, wie die Linux-Binärkompatibilität
unter FreeBSD verwirklicht wurde.Bevor Sie dieses Kapitel lesen, sollten Siewissen, wie man Software Dritter installiert
().InstallationKLD (kernel loadable object)Die Linux-Binärkompatibilität ist per Voreinstellung
nicht aktiviert. Der einfachste Weg, dies zu tun, ist das
Linux KLD (Kernel LoaDable object)
zu laden. Dies geschieht durch die Eingabe von
linux an der Eingabeaufforderung.Wollen Sie die Linux-Binärkompatibilität dauerhaft
aktivieren, sollten Sie die folgende Zeile in
/etc/rc.conf einfügen:linux_enable="YES"Der &man.kldstat.8;-Befehl kann benutzt werden, um
festzustellen, ob KLD geladen wurde:&prompt.user; kldstat
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.koKerneloptionLINUXWenn Sie das KLD nicht laden können oder wollen, besteht
auch die Möglichkeit, die Linux-Binärkompatibiltät
statisch in den Kernel einzubinden. Dazu fügen Sie Ihrer
Kernelkonfigurationsdatei den Eintrag options LINUX
hinzu. Anschließend installieren Sie Ihren neuen Kernel
wie in beschrieben.Linux-Laufzeitbibliotheken installierenLinuxLinux-Laufzeitbibliotheken installierenDies kann auf zwei Arten geschehen, entweder über den
linux_base-Port,
oder durch manuelle Installation der Bibliotheken
.Installation unter Verwendung des linux_base-PortsPorts CollectionDies ist die einfachste Methode, um die Laufzeitbibliotheken
zu installieren. Sie funktioniert genauso wie die
Installation eines beliebigen anderen Ports aus der
Ports-Sammlung.
Dazu machen Sie einfach folgendes:&prompt.root; cd /usr/ports/emulators/linux_base
&prompt.root; make install distcleanSie sollten nun über eine funktionierende
Linux-Binärkompatibilität verfügen. Einige
Programme könnten sich zwar über falsche
Unterversionsnummern der Systembibliotheken beschweren, dies ist
im Allgemeinen aber kein Problem.Manuelle Installation der BibliothekenWenn Sie die Ports-Sammlung nicht installiert
haben, können Sie die Bibliotheken auch manuell
installieren. Dazu brauchen Sie die jeweiligen
Linux-Systembibliotheken, die das zu installierende Programm
verwendet sowie den Laufzeit-Linker. Zusätzlich müssen
Sie auf Ihrem FreeBSD-System einen
virtuellen Verzeichnisbaum für die
Linux-Bibliotheken einrichten. Alle unter FreeBSD gestarteten
Linux-Programme suchen zuerst in diesem Verzeichnisbaum
nach Systembibliotheken. Wenn also ein Linuxprogramm beispielsweise
/lib/libc.so lädt, versucht FreeBSD
zuerst, /compat/linux/lib/libc.so laden.
Ist diese Datei nicht vorhanden, wird
/lib/libc.so geladen. Systembibliotheken
sollten daher besser in den virtuellen Verzeichnisbaum
/compat/linux/lib als in den vom
Linux-ld.so vorgeschlagenen installiert
werden.Im Allgemeinen müssen Sie nur zu Beginn nach den
Systembibliotheken suchen, die von Linuxprogrammen
benötigt werden. Nach den ersten Installationen von
Linuxprogrammen auf Ihrem FreeBSD-System verfügen Sie
über eine Sammlung von Linux-Systembibliotheken,
die es Ihnen ermöglichen wird, neue Linuxprogramme
ohne Zusatzarbeit zu installieren.Installation zusätzlicher SystembibliothekenShared-LibrariesWas passiert, wenn Sie den linux_base-Port
installieren, und Ihr Programm beschwert sich trotzdem
über fehlende Systembibliotheken? Woher wissen Sie,
welche Systembibliotheken von Linux-Binärprogrammen
benötigt werden, und wo Sie diese finden? Grundsätzlich
gibt es dafür zwei Möglichkeiten (um dieser
Anleitung zu folgen, müssen Sie unter
FreeBSD als Benutzer root angemeldet
sein):Wenn Sie Zugriff auf ein Linux-System haben, können
Sie dort nachsehen, welche Systembibliotheken eine Anwendung
benötigt, und diese auf Ihr FreeBSD-System kopieren.
Dazu folgendes Beispiel:Nehmen wir an, Sie haben FTP verwendet, um die
Linux-Binärversion von Doom
zu bekommen und haben sie auf Ihrem Linux-System installiert.
Nun können Sie überprüfen, welche
Systembibliotheken das Programm benötigt, indem Sie
ldd linuxdoom eingeben. Das Resultat
sieht dann so aus:&prompt.user; ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29symbolische LinksSie müssten nun alle Dateien aus der
letzten Spalte kopieren und sie unter
/compat/linux speichern, wobei
die Namen der ersten Spalte als symbolische Links auf
diese Dateien zeigen. Damit haben Sie schließlich
folgende Dateien auf Ihrem FreeBSD-System:/compat/linux/usr/X11/lib/libXt.so.3.1.0
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
/compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Beachten Sie, dass wenn Sie bereits eine
Linux-Systembibliothek einer zur ersten Spalte
passenden Hauptversionsnummer (laut
ldd-Ausgabe) besitzen, Sie die Datei
aus der zweiten Spalte nicht mehr kopieren müssen,
da die bereits vorhandene Version funktionieren sollte.
Hat die Systembibliothek jedoch eine neuere
Versionsnummer, sollten Sie sie dennoch kopieren.
Sie können die alte Version löschen, solange
Sie einen symbolischen Link auf die neue
Version anlegen. Wenn Sie also folgende Bibliotheken
auf Ihrem System installiert haben:/compat/linux/lib/libc.so.4.6.27
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27und Sie haben eine neue Binärdatei, die
laut ldd
eine neuere Bibliothek benötigt:libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29Wenn diese sich nur um ein oder zwei Stellen
in der Unterversionsnummer unterscheiden, müssen
Sie /lib/libc.so.4.6.29
nicht auf Ihr System kopieren, da das Programm auch
mit der etwas älteren Version ohne Probleme
funktionieren sollte. Wenn Sie wollen,
können Sie libc.so aber
dennoch ersetzen (das heißt aktualisieren), was dann zu
folgender Ausgabe führt:/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Der Mechanismus der symbolischen Links wird
nur für Linux-Binärdateien
benötigt. Der FreeBSD-Laufzeitlinker sucht
sich die passenden Hauptversionsnummern selbst,
das heißt Sie müssen sich nicht darum
kümmern.
Linux ELF-Binärdateien installierenLinuxELF-BinärdateiELF-Binärdateien benötigen manchmal eine zusätzliche
Kennzeichnung. Wenn Sie versuchen, eine nicht
gekennzeichnete ELF-Binärdatei auszuführen,
werden Sie eine Fehlermeldung ähnlich der folgenden
erhalten:&prompt.user; ./my-linux-elf-binary
ELF binary type not known
AbortDamit der FreeBSD-Kernel eine Linux-ELF-Datei von einer
FreeBSD-ELF-Datei unterscheiden kann, gibt es das Werkzeug
&man.brandelf.1;:&prompt.user; brandelf -t Linux my-linux-elf-binaryGNU WerkzeugeDie GNU Werkzeuge schreiben nun automatisch die
passende Kennzeichnungsinformation in die ELF-Binärdateien,
so dass Sie diesen Schritt in Zukunft nur noch selten benötigen
werden.Namensauflösung konfigurierenWenn DNS nicht funktioniert, oder Sie folgende Fehlermeldung
erhalten:resolv+: "bind" is an invalid keyword resolv+:
"hosts" is an invalid keywordmüssen sie /compat/linux/etc/host.conf
wie folgt anlegen:order hosts, bind
multi onDiese Reihenfolge legt fest, dass zuerst
/etc/hosts und anschließend DNS
durchsucht werden. Wenn
/compat/linux/etc/host.conf nicht vorhanden
ist, finden Linux-Anwendungen FreeBSD's
/etc/host.conf und
beschweren sich über die inkompatible FreeBSD-Syntax. Wenn Sie
keinen Nameserver (in /etc/resolv.conf)
konfiguriert haben, sollten Sie den Eintrag
bind entfernen.MurrayStokelyFür Mathematica 4.x aktualisiert von BojanBistrovicMit der Unterstützung von Mathematica installierenLinux-AnwendungenMathematicaDieses Dokument beschreibt die Installation der Linux-Version von
Mathematica 4.x auf einem
FreeBSD-System.Die Linux-Version von Mathematica
läuft perfekt unter FreeBSD, allerdings müssen die
von Wolfram verschickten Binärdateien gekennzeichnet werden,
damit FreeBSD weiß, dass es die Linux-ABI verwenden muss,
um sie auszuführen.Die Linux-Version von Mathematica
oder Mathematica für Studenten kann
direkt von Wolfram unter
bestellt werden.Linux-Binärdateien kennzeichnenDie Linuxbinärdateien befinden sich im
Unix-Verzeichnis der von Wolfram
vertriebenen Mathematica-CD-ROM.
Sie müssen diesen Verzeichnisbaum auf Ihre Festplatte kopieren,
damit Sie die Linux-Binärdateien kennzeichnen können,
bevor Sie das Installationsprogramm aufrufen:&prompt.root; mount /cdrom
&prompt.root; cp -rp /cdrom/Unix/ /localdir/
&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Kernel/Binaries/Linux/*
&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/FrontEnd/Binaries/Linux/*
&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Installation/Binaries/Linux/*
&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Graphics/Binaries/Linux/*
&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Converters/Binaries/Linux/*
&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/LicenseManager/Binaries/Linux/mathlm
&prompt.root; cd /localdir/Installers/Linux/
&prompt.root; ./MathInstallerAlternativ können Sie mit folgendem Befehl auch die
Standard-ELF-Kennzeichnung für alle ungekennzeichneten
Binärdateien festlegen:&prompt.root; sysctl kern.fallback_elf_brand=3Danach wird FreeBSD annehmen, dass alle ungekennzeichneten
ELF-Binärdateien die Linux-ABI verwenden. Dadurch sollte es Ihnen
nun möglich sein, das Installationsprogramm direkt von der CD-ROM
zu starten.Ihr Mathematica-Passwort anfordernBevor Sie Mathematica
ausführen können, müssen Sie von Wolfram
ein zu Ihrer Rechner-ID passendes
Passwort anfordern.EthernetMAC-AdresseNachdem Sie die Linux-Kompatibilitätsbibliotheken
installiert und Mathematica entpackt
haben, können Sie Ihre
Rechner-ID durch das Ausführen von
mathinfo (im Installationsverzeichnis) ermitteln.
Diese Rechner-ID basiert ausschließlich auf der MAC-Adresse
Ihrer ersten Ethernet-Karte.&prompt.root; cd /localdir/Files/SystemFiles/Installation/Binaries/Linux
&prompt.root; mathinfo
disco.example.com 7115-70839-20412Wenn Sie sich bei Wolfram registrieren (durch E-Mail,
Telefon oder Fax), teilen Sie
Ihre Rechner-ID mit und erhalten dafür
ein aus Zahlengruppen
bestehendes Passwort. Diese Information geben Sie ein, wenn Sie
Mathematica das erste Mal starten,
genauso wie Sie es auch auf jeder anderen
Mathematica-Plattform machen
würden.Das Mathematica-Frontend über ein Netzwerk
ausführenMathematica verwendet einige
spezielle Schriftarten, um Zeichen anzuzeigen, die in den
Standardzeichensätzen nicht vorhanden
sind (z.B. Integrale, Summen, griechische Buchstaben). Das
X-Protokoll verlangt allerdings, dass diese Schriftarten
lokal installiert sind.
Das bedeutet, dass Sie diese Schriftarten von der CD-ROM oder
von einem Rechner, auf dem Mathematica
installiert ist, auf Ihren Rechner kopieren müssen.
Diese Schriftarten befinden sich normalerweise in
/cdrom/Unix/Files/SystemFiles/Fonts
(Mathematica-CD) oder in
/usr/local/mathematica/SystemFiles/Fonts
(Festplatte). Die aktuellen Schriftarten befinden sich dabei
in den Unterverzeichnissen Type1 und
X. Um diese Schriftarten zu verwenden,
gibt es mehrere Möglichkeiten, die nun beschrieben werden:Die erste Möglichkeit besteht darin, die Schriftarten
in eins der bereits existierenden Schriftartenverzeichnisse unter
/usr/X11R6/lib/X11/fonts zu kopieren.
Dies bedeutet, dass Sie fonts.dir editieren
müssen, indem Sie die Schriftnamen hinzufügen und
die Anzahl der Schriftarten in der ersten Zeile ändern.
Alternativ ist es auch möglich, im Verzeichnis, in das
Sie die Schriftarten kopiert haben, das Kommando
mkfontdir auszuführen.Die zweite Möglichkeit, besteht darin,
die Verzeichnisse nach
/usr/X11R6/lib/X11/fonts zu kopieren:&prompt.root; cd /usr/X11R6/lib/X11/fonts
&prompt.root; mkdir X
&prompt.root; mkdir MathType1
&prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts
&prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X
&prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; cd /usr/X11R6/lib/X11/fonts/X
&prompt.root; mkfontdir
&prompt.root; cd ../MathType1
&prompt.root; mkfontdirNun fügen Sie die neuen Schriftartenverzeichnisse in
Ihren Pfad ein:&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X
&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; xset fp rehashWenn Sie den XFree86-Server verwenden, können Sie die
Schriftarten-Verzeichnisse automatisch laden lassen, indem Sie sie
Ihrer XF86Config-Datei hinzufügen.SchriftartenWenn Sie noch kein/usr/X11R6/lib/X11/fonts/Type1-Verzeichnis
haben, können Sie das
MathType1-Verzeichnis im vorherigen
Beispiel in Type1 umbenennen.AaronKaplanBeigetragen von RobertGetschmannMit Unterstützung durch Maple installierenLinux-AnwendungenMapleMaple ist ein mit Mathematica vergleichbares kommerzielles
Mathematikprogramm. Sie können dieses Programm unter
kaufen und sich
anschließend registrieren, um eine Lizenz zu erhalten. Um
dieses Programm unter FreeBSD zu installieren, gehen Sie wie
folgt vor:Führen Sie das
INSTALL-Shell-Skript
der Softwaredistribution aus. Wählen Sie die
RedHat-Option aus, wenn Sie das
Installationsprogramm danach fragt. Ein typisches
Installationsverzeichnis wäre z.B.
/usr/local/maple.Wenn Sie dies noch nicht gemacht haben, besorgen Sie
sich nun eine Maple-Lizenz (von Maple Waterloo Software
(http://register.maplesoft.com)) und kopieren Sie diese nach
/usr/local/maple/license/license.dat.Installieren Sie den
FLEXlm-Lizenz-Manager, indem Sie
das INSTALL_LIC-Installations-Shellskript
ausführen, das mit Maple
ausgeliefert wird. Geben Sie Ihren primären
Rechnernamen für den Lizenz-Server an.Verändern Sie
usr/local/maple/bin/maple.system.type
wie folgt: ----- snip ------------------
*** maple.system.type.orig Sun Jul 8 16:35:33 2001
--- maple.system.type Sun Jul 8 16:35:51 2001
***************
*** 72,77 ****
--- 72,78 ----
# the IBM RS/6000 AIX case
MAPLE_BIN="bin.IBM_RISC_UNIX"
;;
+ "FreeBSD"|\
"Linux")
# the Linux/x86 case
# We have two Linux implementations, one for Red Hat and
----- snip end of patch -----Bitte beachten Sie, dass nach
"FreeBSD"|\ kein anderes
Zeichen eingefügt werden darf.Dieser Patch weist Maple an,
FreeBSD als eine Art von Linux-System zu erkennen.
Das Shell-Skript bin/maple ruft das
Shell-Skript bin/maple.system.type auf,
welches wiederum uname -a verwendet,
um den Namen des Betriebssystems herauszufinden.
Abhängig vom Betriebssystem weiß das System nun,
welche Binärdateien verwendet werden sollen.Starten Sie den Lizenz-Server.Das folgende, als
/usr/local/etc/rc.d/lmgrd.sh
installierte Shell-Skript ist ein komfortabler Weg,
um lmgrd zu starten: ----- snip ------------
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
export PATH
LICENSE_FILE=/usr/local/maple/license/license.dat
LOG=/var/log/lmgrd.log
case "$1" in
start)
lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2
echo -n " lmgrd"
;;
stop)
lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
;;
*)
echo "Usage: `basename $0` {start|stop}" 1>&2
exit 64
;;
esac
exit 0
----- snip ------------Versuchen Sie, Maple zu starten.&prompt.user; cd /usr/local/maple/bin
&prompt.user; ./xmapleNun sollte das Programm laufen und alles funktionieren.
Falls ja, vergessen Sie nicht, an Maplesoft zu schreiben
und sie wissen zu lassen, dass Sie gerne eine native
FreeBSD-Version hätten.Häufige FehlerquellenDer FLEXlm-Lizenzmanager kann schwierig
zu bedienen sein. Zusätzliche Dokumentation
zu diesem Thema finden Sie unter .Es ist bekannt, dass lmgrd
sehr pingelig ist, wenn es um die Lizenzdatei geht. Gibt
es Probleme, führt dies zu einem Speicherauszug
(core dump). Ein
korrekte Lizenzdatei sollte ähnlich der
folgenden aussehen:# =======================================================
# License File for UNIX Installations ("Pointer File")
# =======================================================
SERVER chillig ANY
#USE_SERVER
VENDOR maplelmg
FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \
ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \
SN=XXXXXXXXXSeriennummer und Schlüssel wurden durch mehrere
X unkenntlich gemacht. chillig ist ein
Rechnername.Veränderungen an der Lizenzdatei sind möglich,
solange Sie die FEATURE-Zeile nicht
verändern (diese ist durch den Lizenzschlüssel
geschützt).MarcelMoolenaarBeigetragen von Oracle installierenLinux-AnwendungenOracleÜbersichtDieses Dokument beschreibt die Installation von Oracle 8.0.5
und Oracle 8.0.5.1 Enterprise Edition für Linux auf
einem FreeBSD-Rechner.Installation der Linux-UmgebungStellen Sie sicher, dass Sie linux_base und
linux_devtools (aus der Ports-Sammlung)
installiert haben. Diese Ports wurden nach der Veröffentlichung
von FreeBSD 3.2 hinzugefügt. Wenn Sie FreeBSD 3.2
oder eine ältere Version verwenden, aktualisieren Sie Ihre
Ports-Sammlung. Sie könnten auch in Betracht ziehen,
Ihre FreeBSD-Version zu aktualisieren. Wenn
linux_base-6.1 oder
linux_devtools-6.1 Probleme verursachen,
kann es sein, dass Sie Version 5.2 dieser Pakete verwenden
müssen.Wenn Sie den Intelligent Agent verwenden wollen,
müssen Sie zusätzlich das RedHat Tcl-Paket
installieren: tcl-8.0.3-20.i386.rpm.
Die allgemeine Form des Befehls, um Pakete mit dem offiziellen
RPM-Port zu installieren, lautet:&prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm packageDie Installation dieses Paketes sollte ohne Fehlermeldung
ablaufen.Die Oracle Umgebung erzeugenBevor Sie Oracle installieren können, müssen
Sie eine entsprechende Umgebung erzeugen. Dieses Dokument
beschreibt nur, was Sie im Speziellen
tun müssen, um die Linux-Version von Oracle unter FreeBSD
zu installieren, nicht aber, was bereits in der Installationsanleitung
von Oracle beschrieben wird.Kernel TuningKernel TuningWie in der Oracle Installationsanleitung beschrieben,
müssen Sie die maximale Shared-Memory Größe
festlegen. Verwenden Sie
SHMMAX nicht unter FreeBSD.
SHMMAX wird lediglich aus
SHMMAXPGS und PGSIZE
berechnet. Definieren Sie stattdessen
SHMMAXPGS. Alle anderen Optionen
können wie in der Anleitung beschrieben verwendet werden.
Zum Beispiel:options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61Passen Sie diese Optionen entsprechend dem von Ihnen
gewünschten Einsatzzweck von Oracle an.Stellen Sie außerdem sicher, dass Sie folgende
Optionen in Ihren Kernel kompilieren:options SYSVSHM #SysV shared memory
options SYSVSEM #SysV semaphores
options SYSVMSG #SysV interprocess communicationOracle-Benutzer anlegenLegen Sie einen Oracle-Benutzerzugang an. Dies
funktioniert genauso wie für jeden anderen Zugang auch.
Der Oracle-Zugang hat allerdings die Besonderheit, dass er
eine Linux-Shell zugeordnet bekommen muss. Fügen
Sie daher /compat/linux/bin/bash in die
Datei /etc/shells ein und setzen Sie die
Shell für den Oracle-Benutzerzugang auf
/compat/linux/bin/bash.UmgebungNeben den normalen Oracle-Variablen, wie z.B.
ORACLE_HOME und ORACLE_SID
müssen Sie die folgenden Variablen setzen:VariableWertLD_LIBRARY_PATH$ORACLE_HOME/libCLASSPATH$ORACLE_HOME/jdbc/lib/classes111.zipPATH/compat/linux/bin
/compat/linux/sbin
/compat/linux/usr/bin
/compat/linux/usr/sbin
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
$ORACLE_HOME/binEs ist empfehlenswert, alle Variablen in der Datei
.profile zu setzen. Ein komplettes
Beispiel sieht folgendermaßen aus:ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATHOracle installierenAuf Grund einer kleinen Unregelmäßigkeit
im Linux-Emulator müssen Sie das Verzeichnis
.oracle unter /var/tmp
erzeugen, bevor Sie das Installationsprogramm
starten. Machen Sie es entweder für alle Benutzer
schreibbar oder belassen Sie den Oracle-Benutzer als Eigentümer.
Sie sollten Oracle nun ohne Probleme installieren können.
Treten dennoch Probleme auf, überprüfen Sie
zuerst Ihre Oracle-Dateien und/oder Ihre Konfiguration.
Nachdem Sie Oracle erfolgreich installiert haben, installieren
Sie die Patches wie in den zwei folgenden
Abschnitten beschrieben:Ein häufiges Problem ist, dass der
TCP Protokoll-Adapter nicht korrekt installiert wird.
Daraus folgt, dass Sie keine TCP Listener starten können.
Dieses Problem kann durch folgende Schritte behoben werden:&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk ntcontab.o
&prompt.root; cd $ORACLE_HOME/lib
&prompt.root; ar r libnetwork.a ntcontab.o
&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk installVergessen Sie nicht, root.sh
nochmals auszuführen!root.sh patchenWährend der Oracle-Installation werden einige
Aktionen, die als root
ausgeführt werden müssen, in ein Shell-Skript
mit dem Namen root.sh gespeichert.
root.sh befindet sich im Verzeichnis
orainst. Verwenden Sie folgenden
Patch für root.sh, damit es die richtige Position
von chown findet oder lassen Sie das
Skript alternativ unter einer Linux-Shell ablaufen:*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this scriptWenn Sie Oracle nicht von CD-ROM installieren, können
Sie Quelldatei für root.sh
verändern. Sie heißt rthd.sh
und befindet sich im orainst-Verzeichnis
des Quellcodebaums.genclntsh patchenDas Skript genclntsh wird verwendet,
um eine Shared-Library für Clients zu erzeugen.
Diese wird bei der Erzeugung der Demos verwendet. Verwenden
Sie folgenden Patch, um die PATH-Definition
auszukommentieren:*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lstOracle startenWenn Sie den Anweisungen gefolgt sind, sollten Sie nun
in der Lage sein, Oracle zu starten,
genau so, wie Sie dies auch unter Linux tun würden.HolgerKippBeigetragen von ValentinoVaschettoOriginalversion nach SGML konvertiert durch: SAP R/3 installierenLinux-AnwendungenSAP R/3SAP-Installationen unter FreeBSD werden vom SAP Support Team
nicht unterstützt – und SAP bietet Support nur
für zertifizierte Plattformen an! ÜbersichtDieses Dokument beschreibt einen möglichen Weg, um ein
SAP R/3-System mit
Oracle Datenbank
für Linux auf einem FreeBSD-Rechner zu installieren,
einschließlich der Installation von FreeBSD und
Oracle. Zwei verschiedene Konfigurationen
werden beschrieben:SAP R/3 4.6B (IDES) mit
Oracle 8.0.5 unter
FreeBSD 4.3-STABLESAP R/3 4.6C mit
Oracle 8.1.7 unter
FreeBSD 4.5-STABLEObwohl dieses Dokument versucht, alle wichtigen Schritte
ausführlich zu beschreiben, besteht nicht die Absicht,
die originalen Installationsanleitungen von
Oracle und
SAP R/3 zu ersetzen.Benutzen Sie die mit SAP R/3 Linux Edition
gelieferte Dokumentation für SAP- und
Oracle-spezifische Fragen,
sowie die Ressourcen von Oracle und
SAP OSS.Software/ProgrammeFolgende CD-ROMs wurden für die SAP-Installationen
verwendet:SAP R/3 4.6B, Oracle 8.0.5BezeichnungNummerBeschreibungKERNEL51009113SAP Kernel Oracle / Installation / AIX, Linux,
SolarisRDBMS51007558Oracle / RDBMS 8.0.5.X / LinuxEXPORT151010208IDES / DB-Export / Disc 1 of 6EXPORT251010209IDES / DB-Export / Disc 2 of 6EXPORT351010210IDES / DB-Export / Disc 3 of 6EXPORT451010211IDES / DB-Export / Disc 4 of 6EXPORT551010212IDES / DB-Export / Disc 5 of 6EXPORT651010213IDES / DB-Export / Disc 6 of 6Zusätzlich wurde die Oracle 8 Server
(Pre-production Version 8.0.5 für Linux, Kernel Version 2.0.33)
CD-ROM verwendet, die allerdings nicht unbedingt nötig ist
und natürlich FreeBSD 4.3-STABLE (die Installation wurde
nur ein paar Tage nach dem 4.3 RELEASE durchgeführt).SAP R/3 4.6C SR2, Oracle 8.1.7BezeichnungNummerBeschreibungKERNEL51014004SAP Kernel Oracle / SAP Kernel Version 4.6D / DEC,
LinuxRDBMS51012930Oracle 8.1.7/ RDBMS / LinuxEXPORT151013953Release 4.6C SR2 / Export / Disc 1 of 4EXPORT151013953Release 4.6C SR2 / Export / Disc 2 of 4EXPORT151013953Release 4.6C SR2 / Export / Disc 3 of 4EXPORT151013953Release 4.6C SR2 / Export / Disc 4 of 4LANG151013954Release 4.6C SR2 / Language / DE, EN, FR /
Disc 1 of 3Abhängig von den zu installierenden Sprachen kann
es sein, dass zusätzliche Sprach-CDs nötig sind.
Da hier nur Deutsch und Englisch verwendet wurden, ist die
erste Sprachen-CD ausreichend. Nebenbei bemerkt sind
die Nummern aller vier Export-CDs identisch. Das heißt alle
drei Sprachen-CDs haben diesselbe Nummer (das unterscheidet
sie von der Nummerierung der 4.6B IDES-Version).
Zum Zeitpunkt der Erstellung dieses Dokuments lief das
System unter FreeBSD 4.5-STABLE (20.03.2002).SAP-NotesDie folgenden Anmerkungen sollten vor der Installation
von SAP R/3 gelesen werden, da sie
sich während der Installation als nützlich
erwiesen haben.SAP R/3 4.6B, Oracle 8.0.5NummerBezeichnung0171356SAP Software on Linux: Essential Comments0201147INST: 4.6C R/3 Inst. on UNIX - Oracle0373203Update / Migration Oracle 8.0.5 --> 8.0.6/8.1.6
LINUX0072984Release of Digital UNIX 4.0B for Oracle0130581R3SETUP step DIPGNTAB terminates0144978Your system has not been installed correctly0162266Questions and tips for R3SETUP on
Windows NT/W2KSAP R/3 4.6C, Oracle 8.1.7NummerBezeichnung0015023Initializing table TCPDB (RSXP0004) (EBCDIC)0045619R/3 with several languages or typefaces0171356SAP Software on Linux: Essential Comments0195603RedHat 6.1 Enterprise version: Known problems0212876The new archiving tool SAPCAR0300900Linux: Released DELL Hardware0377187RedHat 6.2: important remarks0387074INST: R/3 4.6C SR2 Installation on UNIX0387077INST: R/3 4.6C SR2 Inst. on UNIX - Oracle0387078SAP Software on UNIX: OS Dependencies 4.6C SR2Hardware-AnforderungenDie folgende Ausstattung reicht für die Installation eines
SAP R/3 Systems aus. Für
Produktionszwecke benötigt man natürlich eine
exakte Bestimmung dieser Größen:Komponente4.6B4.6CProzessor2 x 800MHz Pentium III2 x 800MHz Pentium IIIHauptspeicher1GB ECC2GB ECCFestplattenplatz50-60GB (IDES)50-60GB (IDES)Für Produktionszwecke sind Xeon-Prozessoren mit
großem Cache, Hochgeschwindigkeitsspeicher (SCSI,
RAID Hardware Controller), USV (unterbrechungsfreie
Stromversorgung) und ECC-RAM empfehlenswert. Der große
Bedarf an Festplattenplatz ergibt sich durch das vorkonfigurierte
IDES System, welches während der Installation
27 GB Datenbankdateien erzeugt. Dieser Speicher ist
auch für neue Produktionssysteme und Anwendungsdaten
ausreichend.SAP R/3 4.6B, Oracle 8.0.5Folgende Standard-Hardware wurde verwendet: Ein
Doppelprozessorboard mit zwei 800 MHz Pentium III
Prozessoren, Adaptec 29160 Ultra160 SCSI Adaptern
(zum Anschluß eines 40/80 GB DLT Bandlaufwerks und eines
CD-ROM-Laufwerks), Mylex AcceleRAID (2 Kanäle,
Firmware 6.00-1-00 mit 32 MB RAM). An den
Mylex Raid-controller wurden 2 (gespiegelte) 17 GB
Festplatten sowie vier 36 GB Festplatten (RAID level 5)
angeschlossen.SAP R/3 4.6C, Oracle 8.1.7Für diese Installation wurde ein DELL PowerEdge 2500
verwendet: Ein Doppelprozessorboard mit zwei
1000 MHz Pentium III Prozessoren
(256 kB Cache), 2 GB PC133 ECC SDRAM, PERC/3 DC PCI Raid
Controller mit 128 MB, und einem EIDE DVD-ROM Laufwerk. An den
RAID-Controller sind zwei (gespiegelte) 18 GB Festplatten
sowie vier 36 GB Festplatten (RAID level 5) angeschlossen.Installation von FreeBSDAls erstes müssen Sie FreeBSD installieren.
Dazu gibt es mehrere Möglichkeiten (Hier wurde
FreeBSD 4.3 via FTP, FreeBSD 4.5 hingegen direkt
von CD installiert.).Aufteilung der FestplatteUm das Ganze zu vereinfachen, wurde sowohl für die
SAP R/3 46B- als auch die
SAP R/3 46C SR2-Installation die
gleiche Platteneinteilung verwendet. Nur die Gerätenamen
änderten sich, da die Installationen auf verschiedenen
Hardwareplattformen durchgeführt wurden.(insbesondere
/dev/da sowie
/dev/amr; wenn also jemand z.B.
ein AMI MegaRAID verwendet, so wird er
/dev/amr0s1a anstelle von
/dev/da0s1a vorfinden):DateisystemGröße (1k-blocks)HDD-Größe (GB)Gemountet nach/dev/da0s1a1.016.3031//dev/da0s1b6Swap/dev/da0s1e2.032.6232/var/dev/da0s1f8.205.3398/usr/dev/da1s1e45.734.36145/compat/linux/oracle/dev/da1s1f2.032.6232/compat/linux/sapmnt/dev/da1s1g2.032.6232/compat/linux/usr/sapKonfigurieren und initialisieren Sie die zwei
logischen Platten mit der Mylex- oder PERC/3 RAID Software,
bevor Sie beginnen. Diese kann während der BIOS-Bootphase
gestartet werden.Beachten Sie bitte, dass sich diese Platteneinteilung
etwas von den SAP-Empfehlungen unterscheidet, da SAP
vorschlägt, die Oracle-Unterverzeichnisse
(und einige andere) separat zu mounten – ich habe mich
jedoch aus Vereinfachungsgründen
dazu entschieden, diese als reale Unterverzeichnisse
zu erzeugen.make world und ein neuer KernelLaden Sie die neuesten STABLE-Quellen herunter.
Aktualisieren Sie das System und erzeugen Sie einen
neuen Kernel, nachdem Sie die Kernelkonfigurationsdatei
angepasst haben. Zusätzlich sollten Sie
die Kernel Parameter
einfügen, die sowohl von SAP R/3
als auch von Oracle
benötigt werden.Installation der Linux-UmgebungWährend der ersten Installation von FreeBSD 4.3-STABLE
traten einige Fehler beim Download der benötigten
RPM-Pakete (für 4.3-STABLE, am 2. Mai 2001) auf, mit
FreeBSD 4.5-STABLE hingegen lief alles glatt. Sollten dennoch
Probleme auftreten, versuchen Sie diese Pakete manuell herunterzuladen.
Für eine Übersicht der RPM-Spiegelserver
sowie der benötigten Dateien lesen Sie bitte das
zugehörige Makefile.Das Linux-Basissystem installierenAls erstes muss der
linux_base-Port
(als root) installiert werden.
Zum Zeitpunkt der Erstellung dieses Artikels war dies
linux_base-6.&prompt.root; cd /usr/ports/emulators/linux_base
&prompt.root; make packageDie Linux-Umgebung installieren und einrichtenDie Linux-Entwicklungsumgebung wird benötigt, wenn Sie
Oracle auf Ihrem FreeBSD-System
(gemäß der Beschreibung im Handbuch)
installieren wollen:&prompt.root; cd /usr/ports/devel/linux_devtools
&prompt.root; make packageDie Linux-Entwicklungsumgebung wurde hier jedoch nur für die
SAP R/3 46B IDES-Installation
verwendet. Sie wird nicht benötigt, wenn die
Oracle-Datenbank auf dem FreeBSD
System nicht neu gebunden wird. Dies ist dann der Fall,
wenn Sie den Oracle
Tarball eines Linux-Systems verwenden.Notwendige RPMs installierenRPMsUm das R3SETUP-Programm zu starten, wird
PAM-Unterstützung benötigt.
Während der ersten SAP-Installation unter
FreeBSD 4.3-STABLE wurde versucht, zuerst alle von PAM
benötigten Paketen zu installieren. Anschließend
wurde die Installation von PAM erzwungen (force install),
was dann auch ohne Probleme funktionierte. Die
Installation von SAP R/3 4.6C SR2
wurde ebenfalls erzwungen, diesmal ohne die Installation
der benötigten Pakete, was ebenfalls funktionierte.
Es sieht also so aus, dass die abhängigen Pakete
doch nicht benötigt werden.&prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
pam-0.68-7.i386.rpmUm den Intelligent-Agent von
Oracle 8.0.5 auszuführen,
musste das RedHat Tcl-Paket
tcl-8.0.5-30.i386.rpm installiert werden,
da sonst das Binden (link) während der
Oracle-Installation nicht
funktionierte. Es gibt noch weitere Punkte beim Binden von
Oracle, die aber die Kombination Oracle-Linux betreffen und nicht
FreeBSD spezifisch sind.Zusätzliche HinweiseEine gute Idee ist es, linprocfs
in /etc/fstab einzufügen. Für
weitere Informationen lesen Sie bitte die zugehörige Hilfedatei
(man linprocfs). Ein anderer zu setzender
Parameter ist kern.fallback_elf_brand=3.
Dies erfolgt in /etc/sysctl.conf.
Die SAP/R3-Umgebung erzeugenDie nötigen Dateisysteme erzeugenFür eine einfache Installation reicht es aus,
folgende Dateisysteme zu erzeugen:DateisystemeGröße in GB/compat/linux/oracle45 GB/compat/linux/sapmnt2 GB/compat/linux/usr/sap2 GBAußerdem müssen einige Links angelegt werden.
Ansonsten beschwert sich der SAP-Installer, wenn er die
erzeugten Links überprüft:&prompt.root; ln -s /compat/linux/oracle /oracle
&prompt.root; ln -s /compat/linux/sapmnt /sapmnt
&prompt.root; ln -s /compat/linux/usr/sap /usr/sapEine Fehlermeldung während der Installation (hier unter dem
PRD-System und
SAP R/3 4.6C SR2 könnte
beispielsweise so aussehen:INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200
Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to
/sapmnt/PRD/exe. Creating if it does not exist...
WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400
Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file
/compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The
program cannot go on as long as this link exists at this
location. Move the link to another location.
ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0
can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content
'/sapmnt/PRD/exe'Benutzer und Verzeichnisse anlegenSAP R/3 benötigt zwei
Benutzer und drei Benutzergruppen. Die Benutzernamen
hängen von der (aus drei Buchstaben bestehenden)
SAP-System-ID (SID) ab. Einige
dieser SIDs sind von SAP
reserviert (z.B. SAP und
NIX. Für eine komplette
Übersicht schlagen Sie bitte in der SAP-Dokumentation
nach. Für die IDES-Installation wurde IDS
verwendet, für die 4.6C-SR2-Installation
PRD, da das System für
Produktionszwecke eingesetzt werden sollte. Daraus ergaben
sich folgende Gruppen (die Gruppen-IDs können variieren,
es handelt sich nur um Werte, die für diese spezielle
Installation verwendet wurden):Gruppen-IDGruppen-NameBeschreibung100dbaDatenbank-Administrator101sapsysSAP System102operDatenbank-OperatorFür eine Standard-Oracle-Installation wird nur die Gruppe
dba verwendet. Ein Mitglied der Gruppe
oper verwendet auch die Gruppe
dba (weitere Informationen finden sich
in der Oracle- und SAP-Dokumentation).Zusätzlich werden auch folgende Benutzer
benötigt:Benutzer-IDBenutzernameGenerischer NameGruppeZusätzliche GruppenBeschreibung1000idsadm/prdadmsidadmsapsysoperSAP Administrator1002oraids/oraprdorasiddbaoperDB AdministratorFür das Anlegen des SAP-Administrators mittels
adduser werden folgende Einträge
(bitte Shell und Heimatverzeichnis beachten) benötigt:Name: sidadm
Password: ******
Fullname: SAP Administrator SID
Uid: 1000
Gid: 101 (sapsys)
Class:
Groups: sapsys dba
HOME: /home/sidadm
Shell: bash (/compat/linux/bin/bash)und für den Datenbank-Administrator:Name: orasid
Password: ******
Fullname: Oracle Administrator SID
Uid: 1002
Gid: 100 (dba)
Class:
Groups: dba
HOME: /oracle/sid
Shell: bash (/compat/linux/bin/bash)Wenn Sie beide Gruppen (dba und
oper) verwenden, sollte auch die Gruppe
oper hinzugefügt werden.Verzeichnisse erzeugenDiese Verzeichnisse werden gewöhnlich als eigene
Dateisysteme erzeugt und gemountet. Letztlich liegt dies
aber an Ihren Anforderungen an das System. Hier wurden
sie als einfache Verzeichnisse angelegt, die sich alle im
gleichen RAID5 befinden:Zuerst werden die Eigentümer und Rechte für
einige Verzeichnisse (als Benutzer root)
gesetzt:&prompt.root; chmod 775 /oracle
&prompt.root; chmod 777 /sapmnt
&prompt.root; chown root:dba /oracle
&prompt.root; chown sidadm:sapsys /compat/linux/usr/sap
&prompt.root; chmod 775 /compat/linux/usr/sapDanach werden (als Benutzer
orasid) einige
Verzeichnisse erzeugt, die alle Unterverzeichnisse von
/oracle/SID sind:&prompt.root; su - orasid
&prompt.root; cd /oracle/SID
&prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB
&prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6
&prompt.root; mkdir saparch sapreorg
&prompt.root; exitFür die Oracle 8.1.7-Installation
werden ebenfalls zusätzliche Verzeichnisse benötigt:&prompt.root; su - orasid
&prompt.root; cd /oracle
&prompt.root; mkdir 805_32
&prompt.root; mkdir client stage
&prompt.root; mkdir client/80x_32
&prompt.root; mkdir stage/817_32
&prompt.root; cd /oracle/SID
&prompt.root; mkdir 817_32Das Verzeichnis client/80x_32
muss genau so genannt werden. Versuchen Sie nicht,
das x durch eine Zahl oder
einen Buchstaben zu ersetzen.Im dritten Schritt werden wiederum Verzeichnisse (als Benutzer
sidadm) erzeugt:&prompt.root; su - sidadm
&prompt.root; cd /usr/sap
&prompt.root; mkdir SID
&prompt.root; mkdir trans
&prompt.root; exitEinträge in /etc/servicesSAP R/3 benötigt einige Einträge in
/etc/services, die während der
Installation unter FreeBSD nicht richtig gesetzt werden.
Sie benötigen mindestens die zur Instanzennummer,
in diesem Fall 00, passenden Einträge.
Es ist auch möglich für dp,
gw, sp und
ms alle Einträge von
00 bis 99
einzufügen. Wenn Sie einen
SAP-Router verwenden, oder den Zugang zu SAP OSS benötigen,
müssen Sie auch 99 einfügen,
da der Port 3299 normalerweise für den
SAP-Router-Prozess auf dem Zielsystem benötigt wird:
sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number
sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number
sapsp00 3400/tcp # 3400 + Instance-Number
sapms00 3500/tcp # 3500 + Instance-Number
sapmsSID 3600/tcp # SAP Message Server. 3600 + Instance-Number
sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-NumberNotwendige LokalisierungenLocaleSAP benötigt mindestens zwei Lokalisierungen, die
nicht Teil der RedHat-Standardinstallation sind. SAP bietet
diese als RPMs auf ihrem FTP-Server als Downloads
an (diese sind aber nur dann zugänglich, wenn Sie
ein Kunde mit OSS-Zugang sind). Für eine
Übersicht der notwendigen RPMs lesen Sie bitte den
SAP-Hinweis 0171356.Es ist auch möglich, nur die passenden Links
(z.B. von de_DE und en_US)
zu erzeugen, diese Vorgehensweise wird aber nicht nicht
empfohlen (obwohl es bisher beim IDES-System ohne Probleme
funktioniert hat). Folgende Lokalisationen werden
benötigt:
de_DE.ISO-8859-1
en_US.ISO-8859-1
Erzeugen Sie die Links wie folgt:&prompt.root; cd /compat/linux/usr/share/locale
&prompt.root; ln -s de_DE de_DE.ISO-8859-1
&prompt.root; ln -s en_US en_US.ISO-8859-1Sind diese nicht vorhanden, wird es während
der Installation zu einigen Problemen kommen. Wenn diese
konsequent ignoriert werden (durch das OK-Setzen der jeweiligen
Stadien in CENTRDB.R3S), ist es ohne größeren
Aufwand nicht mehr möglich, sich am SAP-System
anzumelden.Kernel TuningKernel TuningSAP R/3-Systeme verbrauchen sehr viel Ressourcen.
Deshalb wurden folgende Parameter in die Kernelkonfigurationsdatei
eingefügt:# Set these for memory pigs (SAP and Oracle):
options MAXDSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"
# System V options needed.
options SYSVSHM #SYSV-style shared memory
options SHMMAXPGS=262144 #max amount of shared mem. pages
#options SHMMAXPGS=393216 #use this for the 46C inst.parameters
options SHMMNI=256 #max number of shared memory ident if.
options SHMSEG=100 #max shared mem.segs per process
options SYSVMSG #SYSV-style message queues
options MSGSEG=32767 #max num. of mes.segments in system
options MSGSSZ=32 #size of msg-seg. MUST be power of 2
options MSGMNB=65535 #max char. per message queue
options MSGTQL=2046 #max amount of msgs in system
options SYSVSEM #SYSV-style semaphores
options SEMMNU=256 #number of semaphore UNDO structures
options SEMMNS=1024 #number of semaphores in system
options SEMMNI=520 #number of semaphore indentifiers
options SEMUME=100 #number of UNDO keysDie minimalen Werte sind in der von SAP kommenden
Dokumentation festgelegt. Da es keine Beschreibung für
Linux (und daher auch nicht für FreeBSD) gibt,
muss man für weitere Informationen im
HP-UX-Abschnitt (32-Bit) nachschlagen.
Da das System für die 4.6C SR2-Installation über
mehr Hauptspeicher verfügte, können die
Shared-Segments für SAP und
Oracle größer sein.
Wählen Sie daher eine größere Anzahl von
Shared-Memory-Pages.Bei einer Standard-Installation von
FreeBSD 4.5 auf i386-Systemen belassen Sie MAXDSIZ
und DFLDSIZ auf dem Maximum von 1 GB. Ansonsten könnten
seltsame Fehlermeldungen, wie
ORA-27102: out of memory oder
Linux Error: 12: Cannot allocate memory
auftreten.SAP R/3 installierenDie SAP CD-ROMs vorbereitenFür eine Installation werden viele CD-ROMs benötigt,
die gemountet und ungemountet werden müssen. Wenn
Sie genügend CD-ROM-Laufwerke haben, können Sie
alle gleichzeitig gemountet werden. Ansonsten kopiert man die
CD-ROM-Inhalte einfach in die entsprechenden Verzeichnisse,/oracle/SID/sapreorg/cd-namewobei cd-nameKERNEL,
RDBMS, EXPORT1,
EXPORT2, EXPORT3,
EXPORT4, EXPORT5 und
EXPORT6 bei einer 4.6B/IDES-Installation und
KERNEL, RDBMS,
DISK1, DISK2,
DISK3, DISK4 und
LANG bei einer 4.6C SR2-Installation
entspricht. Die Dateinamen auf den gemounteten CDs sollten
aus Großbuchstaben bestehen. Ist dies nicht der Fall,
verwenden Sie zum Mounten die Option . Für das
Kopieren der CD-Inhalte verwenden Sie folgenden Befehle:&prompt.root; mount_cd9660 -g /dev/cd0a /mnt
&prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/cd-name
&prompt.root; umount /mntDas Installations-Skript ausführenAls erstes müssen Sie ein Installationsverzeichnis
anlegen:&prompt.root; cd /oracle/SID/sapreorg
&prompt.root; mkdir install
&prompt.root; cd installAnschließend wird das Installations-Skript gestartet,
das nahezu alle relevanten Daten in das Installationsverzeichnis
kopiert:&prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SHDie IDES-Installation (4.6B) wird mit einem vollständig
angepassten SAP R/3 Demo-System geliefert, das heißt
es gibt sechs statt drei Export-CDs. Da
CENTRDB.R3S
für eine Standard-Zentralinstanz (R/3 plus Datenbank)
ausgelegt ist, aber nicht für eine IDES-Zentralinstanz,
muss die passende CENTRDB.R3S-Datei
manuell aus dem EXPORT1-Verzeichnis in das Installationsverzeichnis
kopiert werden, da R3SETUP ansonsten nur nach drei
EXPORT-CDs verlangt.Die aktuellere Version SAP 4.6C SR2
wird mit vier EXPORT-CDs geliefert. Die die Installation
überwachende Parameter-Datei heißt hier
CENTRAL.R3S. Im Gegensatz zu früheren
Versionen gibt es nun keine separaten Vorlagen für
die Installation von Zentralinstanzen mit und ohne Datenbank mehr.
SAP verwendet eine eigene Vorlage für die
Datenbankinstallation. Um die Installation später
erneut starten, ist es jedoch ausreichend,
die Installation mit der ursprünglichen Datei zu starten.Während und nach der Installation benötigt SAP
hostname, um den Rechnernamen, aber nicht
den vollständigen Domain-Namen zu erhalten. Setzen Sie
also entweder den Rechnernamen entsprechend, oder
setzen Sie einen Alias mit
alias hostname='hostname -s'
für die Benutzer
orasid und
sidadm
(Und zusätzlich für root.
Dies zumindest für die Installationsschritte, die als
root ausgeführt werden müssen.).
Außerdem ist es möglich, nur die installierten
Profil- und Login-Skripts der beiden Benutzer anzupassen,
die während der SAP-Installation
erstellt wurden.R3SETUP 4.6B startenStellen Sie sicher, dass LD_LIBRARY_PATH korrekt
gesetzt wurde:&prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/libGehen Sie in das Installationsverzeichnis und starten Sie
R3SETUP als root:&prompt.root; cd /oracle/IDS/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRDB.R3SDas Skript stellt anschließend einige Fragen
(Vorgaben stehen dabei in Klammern, gefolgt von den
aktuellen Eingaben):FrageVorgabeEingabeEnter SAP System ID[C11]IDSEnterEnter SAP Instance Number[00]EnterEnter SAPMOUNT Directory[/sapmnt]EnterEnter name of SAP central host[troubadix.domain.de]EnterEnter name of SAP db host[troubadix]EnterSelect character set[1] (WE8DEC)EnterEnter Oracle server version (1) Oracle 8.0.5,
(2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.61EnterExtract Oracle Client archive[1] (Yes, extract)EnterEnter path to KERNEL CD[/sapcd]/oracle/IDS/sapreorg/KERNELEnter path to RDBMS CD[/sapcd]/oracle/IDS/sapreorg/RDBMSEnter path to EXPORT1 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT1Directory to copy EXPORT1 CD[/oracle/IDS/sapreorg/CD4_DIR]EnterEnter path to EXPORT2 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT2Directory to copy EXPORT2 CD[/oracle/IDS/sapreorg/CD5_DIR]EnterEnter path to EXPORT3 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT3Directory to copy EXPORT3 CD[/oracle/IDS/sapreorg/CD6_DIR]EnterEnter path to EXPORT4 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT4Directory to copy EXPORT4 CD[/oracle/IDS/sapreorg/CD7_DIR]EnterEnter path to EXPORT5 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT5Directory to copy EXPORT5 CD[/oracle/IDS/sapreorg/CD8_DIR]EnterEnter path to EXPORT6 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT6Directory to copy EXPORT6 CD[/oracle/IDS/sapreorg/CD9_DIR]EnterEnter amount of RAM for SAP + DB850Enter (in Megabytes)Service Entry Message Server[3600]EnterEnter Group-ID of sapsys[101]EnterEnter Group-ID of oper[102]EnterEnter Group-ID of dba[100]EnterEnter User-ID of sidadm[1000]EnterEnter User-ID of orasid[1002]EnterNumber of parallel procs[2]EnterWenn Sie die CD-Inhalte nicht in verschiedene
Verzeichnisse kopiert haben, findet der SAP-Installer
die benötigten CDs nicht (diese sind durch die Datei
LABEL.ASC gekennzeichnet) und
würde von Ihnen verlangen, entweder die CD einzulegen
und zu mounten oder den entsprechenden mount-Pfad
einzugeben.CENTRDB.R3S ist möglicherweise
nicht fehlerfrei. Im vorliegenden Fall wurde die CD EXPORT4
zwar erneut verlangt, dennoch wurde der richtige Schlüssel
(6_LOCATION, danach 7_LOCATION) vorgeschlagen.
Daher ist es problemlos möglich, durch Eingabe der
korrekten Werte fortzufahren. Lassen Sie sich also
nicht verwirren.Abgesehen von einigen kleineren (unten angeführten)
Problemen, sollte nun bis zur Installation der
Oracle-Datenbank alles ohne Probleme
ablaufen.R3SETUP 4.6C SR2 startenStellen Sie sicher, dass LD_LIBRARY_PATH
korrekt gesetzt ist. Dieser Wert unterscheidet sich von dem der
4.6B-Oracle 8.0.5-Installation:&prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/libGehen Sie in das Installationsverzeichnis und führen
Sie R3SETUP als root aus:&prompt.root; cd /oracle/PRD/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRAL.R3SDas Skript stellt anschließend einige Fragen
(Vorgaben in Klammern, gefolgt von den aktuellen Eingaben):FrageVorgabeEingabeEnter SAP System ID[C11]PRDEnterEnter SAP Instance Number[00]EnterEnter SAPMOUNT Directory[/sapmnt]EnterEnter name of SAP central host[majestix]EnterEnter Database System ID[PRD]PRDEnterEnter name of SAP db host[majestix]EnterSelect character set[1] (WE8DEC)EnterEnter Oracle server version (2) Oracle 8.1.72EnterExtract Oracle Client archive[1] (Yes, extract)EnterEnter path to KERNEL CD[/sapcd]/oracle/PRD/sapreorg/KERNELEnter amount of RAM for SAP + DB20441800Enter (in Megabytes)Service Entry Message Server[3600]EnterEnter Group-ID of sapsys[100]EnterEnter Group-ID of oper[101]EnterEnter Group-ID of dba[102]EnterEnter User-ID of oraprd[1002]EnterEnter User-ID of prdadm[1000]EnterLDAP support3Enter (no support)Installation step completed[1] (continue)EnterChoose installation service[1] (DB inst,file)EnterBisher verursacht das Anlegen von Benutzern eine
Fehlermeldung während der Installation, und zwar
in den Stadien OSUSERDBSID_IND_ORA (beim Anlegen
des Benutzers orasid),
sowie in OSUSERSIDADM_IND_ORA (beim Anlegen des Benutzers
sidadm).Abgesehen von einigen kleineren (unten angeführten)
Problemen, sollte nun bis zur Installation der
Oracle-Datenbank alles ohne
Probleme ablaufen.Oracle 8.0.5 installierenLesen Sie bitte die entsprechenden
SAP-Hinweise und
Oracle-Readmes für Probleme,
die Linux
und die Oracle-Datenbank betreffen.
Die meisten (wenn nicht alle) Probleme
werden durch inkompatible Bibliotheken verursacht.Für weitere Informationen zur Oracle-Installation,
lesen Sie bitte das Kapitel
zur Installation von Oracle.Oracle 8.0.5 mit orainst installierenWenn Oracle 8.0.5 verwendet
wird, werden einige zusätzliche Bibliotheken benötigt,
da Oracle 8.0.5 mit einer
alten Version von glibc verlinkt wurde, RedHat 6.1 aber
bereits eine aktuellere Version verwendet. Daher müssen
Sie folgende zusätzliche Pakte installieren, um sicherzustellen,
dass die Verlinkung ordnungsgemäß erfolgt:compat-libs-5.2-2.i386.rpmcompat-glibc-5.2-2.0.7.2.i386.rpmcompat-egcs-5.2-1.0.3a.1.i386.rpmcompat-egcs-c++-5.2-1.0.3a.1.i386.rpmcompat-binutils-5.2-2.9.1.0.23.1.i386.rpmFür weitere Informationen lesen Sie bitte die
entsprechenden SAP-Hinweise sowie die Oracle-Readme's.
Ist dies nicht möglich (z.B. aus Zeitmangel, oder bei
Nichtvorhandensein dieser Unterlagen), besteht auch die
Möglichkeit, die originalen Binärdateien oder die
verlinkten Binärdateien eines RedHat-Systems zu
verwenden.Um den Intelligent-Agent zu kompilieren, muss
das RedHat Tcl-Paket installiert sein. Wenn Sie
tcl-8.0.3-20.i386.rpm nicht bekommen
können, sollte es auch problemlos möglich sein,
eine neuere Version, z.B.
tcl-8.0.5-30.i386.rpm für
RedHat 6.1, zu verwenden.Vom Binden abgesehen, läuft die Installation
wie folgt ab:&prompt.root; su - oraids
&prompt.root; export TERM=xterm
&prompt.root; export ORACLE_TERM=xterm
&prompt.root; export ORACLE_HOME=/oracle/IDS
&prompt.root; cd /ORACLE_HOME/orainst_sap
&prompt.root; ./orainstBestätigen Sie alle Meldungen mit Enter,
bis die Software installiert ist. Einzige Ausnahme ist die
Frage nach der Installation des Oracle On-Line
Text Viewers. Dieser ist unter Linux (noch)
nicht verfügbar. Daher muss diese Option deaktiviert werden.
Anschließend will sich Oracle unter Verwendung von
i386-glibc20-linux-gcc anstelle der
verfügbaren gcc, egcs
oder i386-redhat-linux-gcc verlinken.Auf Grund zeitlicher Einschränkungen wurden
für die Installation die Binärdateien der
Oracle 8.0.5 PreProduction-Version
verwendet, nachdem sich der erste Versuch, die Version
von der RDBMS-CD zum Laufen zu bringen, sowie die
richtigen RPMs zu finden und zu installieren,
zum Alptraum entwickelt hatte.Oracle 8.0.5 Pre-Production für
Linux (Kernel 2.0.33) installierenDiese Installation ist relativ einfach. Mounten Sie die
CD und starten Sie den Installer. Danach wählen Sie
das Oracle-Heimatverzeichnis und kopieren Sie die
Binärdateien dorthin. Die Überreste der
vorherigen RDBMS-Installationsversuche werden dabei nicht
entfernt.Danach konnte die Oracle-Datenbank ohne Probleme
gestartet werden.Das Oracle 8.1.7-Linux-Archiv entpackenNehmen Sie das aus dem Installationsverzeichnis eines
Linux-Systems erstellte Archiv oracle81732.tgz
und entpacken Sie es nach
/oracle/SID/817_32/.Mit der SAP R/3-Installation fortfahrenÜberprüfen Sie als erstes die
Umgebungseinstellungen der Benutzer
idsamd(sidadm) und
oraids (orasid).
Beide sollten nun die Dateien .profile,
.login und .cshrc
enthalten, die alle hostname benutzen.
Falls der Rechnername Ihres Systems der vollständige Rechnername
ist, müssen Sie in allen drei Dateien
hostname in hostname -s
ändern.Datenbanken ladenDanach kann R3SETUP entweder erneut gestartet
oder fortgesetzt werden (je nachdem, ob sie das Programm
zuvor beendet hatten oder nicht). R3SETUP erzeugt nun die
Tablespaces und lädt die Daten
(für 46B IDES von EXPORT1 bis EXPORT6,
für 46C von DISK1 bis DISK4) mittels R3load in
die Datenbank.Wenn das Laden der Datenbank abgeschlossen ist
(dieser Vorgang kann einige Stunden dauern!), werden
einige Passwörter angefordert. Für
Testinstallationen können auch
Standard-Passwörter verwendet werden. Liegt
Ihnen allerdings etwas an der Sicherheit Ihres Systems,
so verwenden Sie andere Passwörter.FrageEingabeEnter Password for sapr3sapEnterConfirum Password for sapr3sapEnterEnter Password for syschange_on_installEnterConfirm Password for syschange_on_installEnterEnter Password for systemmanagerEnterConfirm Password for systemmanagerEnterAn diesem Punkt gab es während der 4.6B-Installation
einige Probleme mit dipgntab.ListenerStarten Sie den Oracle-Listener als Benutzer
orasid
wie folgt:&prompt.user; umask 0; lsnrctl startAnsonsten könnten Sie die Meldung
ORA-12546 erhalten,
da die Sockets nicht über die korrekten Berechtigungen
verfügen werden. Lesen Sie dazu auch den
SAP-Hinweis 072984.MNLS-Tabellen aktualisierenWenn Sie Nicht-Latin-1-Sprachen in das SAP-System
einbauen wollen, müssen Sie die MNLS
(Multi National Language Support)-Tabellen aktualisieren.
Dies wird in den SAP-OSS-Hinweisen 15023 und 45619 beschrieben.
Ansonsten können Sie diese Frage während der
SAP-Installation überspringen.Wenn Sie MNLS nicht benötigen, ist es
trotzdem nötig, die Tabelle TCPDB zu überprüfen
und zu initialisieren, falls dies nicht bereits geschehen ist.
Lesen Sie die SAP-Hinweise 0015023 und 0045619, falls Sie
weitere Informationen benötigen.Abschließende AufgabenSAP R/3-Lizenzschlüssel anfordernSie müssen Ihren SAP R/3-Lizenzschlüssel anfordern,
da die zur Installation verwendete Lizenz nur für
vier Wochen gültig ist. Dazu ermitteln Sie zuerst Ihren
Hardwareschlüssel. Melden Sie sich als
idsadm an und rufen
Sie saplicense auf:&prompt.root; /sapmnt/IDS/exe/saplicense -getWird saplicense ohne Optionen aufgerufen,
so erhalten Sie eine Übersicht der möglichen Optionen.
Nach Erhalt des Lizenzschlüssels kann dieser
installiert werden:&prompt.root; /sapmnt/IDS/exe/saplicense -installNun müssen Sie folgende Daten eingeben:
SAP SYSTEM ID = SID, 3 Zeichen
CUSTOMER KEY = Hardware-Schlüssel, 11 Zeichen
INSTALLATION NO = Installation, 10 Ziffern
EXPIRATION DATE = JJJJMMTT, normalerweise "99991231"
LICENSE KEY = Lizenzschlüssel, 24 ZeichenBenutzer anlegenErzeugen Sie einen Benutzer innerhalb von client 000
(für einige Aufgaben muss dies innerhalb von
client 000 erfolgen, aber nicht als Benutzer
sap* und ddic).
Als Benutzername empfiehlt sich z.B.
wartung oder
service (in Englisch). Benötigte
Profile sind sap_new und
sap_all. Aus Sicherheitsgründen
sollten die Passwörter der Standardbenutzer in allen
Clients geändert werden (dies gilt auch für die Benutzer
sap* und ddic).Transportsystem, Profile, Betriebsarten usw.
konfigurierenInnerhalb von client 000 führen andere Benutzer als
ddic und sap*
normalerweise folgende Aufgaben durch:AufgabeTransaktionKonfiguration des Transportsystems, z.B. als
Stand-Alone Transport Domain EntitySTMSErstellen und Editieren von ProfilenRZ10Pflege von Betriebsarten und InstanzenRZ04Diese sowie alle anderen Post-Installationsschritte
sind ausführlich in den SAP-Installationsanleitungen
beschrieben.initsid.sap (initIDS.sap) anpassenDie Datei /oracle/IDS/dbs/initIDS.sap
enthält das SAP-Sicherungsprofil. Hier sind die
Größe des verwendeten Band(laufwerks),
die Kompressionsart und so weiter festgelegt. Um dieses
Profil mit sapdba oder brbackup
auszuführen, wurden folgende Werte geändert:
compress = hardware
archive_function = copy_delete_save
cpio_flags = "-ov --format=newc --block-size=128 --quiet"
cpio_in_flags = "-iuv --block-size=128 --quiet"
tape_size = 38000M
tape_address = /dev/nsa0
tape_address_rew = /dev/sa0Erklärungen:compress Das verwendete Bandlaufwerk
war ein HP DLT1. Dieses unterstützt Hardware-Kompression.archive_function Hier wird das
Standardverhalten beim Sichern von Oracle-Archivprotokollen
festgelegt. Neue Protokolldateien werden auf Band
gespeichert, bereits gespeicherte erneut gespeichert und
anschließend gelöscht. Dies verhindert eine Vielzahl
von Problemen, falls Sie Ihre Datenbank wiederherstellen
müssen und dabei feststellen, dass eins Ihrer
Archivbänder defekt ist.cpio_flags Standardmäßig
wird -B verwendet. Dies setzt die Blockgröße
auf 5120 Bytes. Für DLT-Bänder
werden von HP mindestens 32 K Blockgröße
empfohlen, daher wurde hier --block-size=128
verwendet, um 64 KB-blöcke zu erzeugen.
--format=newc wurde benötigt, da das
Installationssystem über mehr als 65535 Inodes
verfügt. Die letzte Option --quiet ist notwendig, weil
brbackup sich sonst beschwert, wenn
die cpio die Anzahl der gespeicherten
Blöcke ausgibt.cpio_in_flags Flags, die zum Laden
der Daten vom Band benötigt werden. Das Format wird
dabei automatisch erkannt.tape_size Damit wird die maximale
Speicherkapazität des Bandes angegeben. Aus
Sicherheitsgründen (das Bandlaufwerk unterstützt
Hardware-Kompression) ist dieser Wert geringfügig kleiner
als der aktuelle Wert.tape_address Nicht zurückspulendes
Gerät für cpio.tape_address_rew Zurückspulendes
Gerät für cpio.Konfiguration nach InstallationsendeDie folgenden SAP-Parameter sollten nach der
Installation optimiert werden (die Beispiele gelten
für IDES 46B, 1 GB Hauptspeicher):NameWertztta/roll_extension250000000abap/heap_area_dia300000000abap/heap_area_nondia400000000em/initial_size_MB256em/blocksize_kB1024ipc/shm_psize_4070000000SAP-Hinweis 0013026:NameWertztta/dynpro_area2500000SAP-Hinweis 0157246:NameWertrdisp/ROLL_MAXFS16000rdisp/PG_MAXFS30000Mit obigen Parametern und einem System mit 1 Gigabyte
Hauptspeicher, könnte der Speicherverbrauch in etwa
so aussehen:Mem: 547M Active, 305M Inactive, 109M Wired, 40M Cache, 112M Buf, 3492K FreeWährend der Installation auftretende ProblemeNeustarten von R3SETUP nach Behebung eines ProblemsR3SETUP bricht ab, wenn ein Fehler auftritt. Wenn Sie
(nach Durchsicht der jeweiligen Protokolldateien) den Fehler
behoben haben, müssen Sie R3SETUP erneut aufrufen,
indem Sie für den fehlerhaften Schritt als Option
REPEAT eingeben.Um R3SETUP erneut zu starten, rufen Sie die Datei
einfach mit der entsprechenden R3S-Datei
auf:&prompt.root; ./R3SETUP -f CENTRDB.R3Sfür 4.6B, oder mit&prompt.root; ./R3SETUP -f CENTRAL.R3Sfür 4.6C, unabhängig davon, ob der Fehler mit
CENTRAL.R3S oder mit
DATABASE.R3S auftrat.Zu bestimmten Zeitpunkten nimmt R3SETUP an, dass
sowohl der Datenbank- als auch der SAP-Prozess vorhanden
sind und laufen (da dies Schritte sind, die es bereits
ausgeführt hat). Sollten Fehler auftreten (z.B.
wenn sich die Datenbank nicht starten lässt),
müssen Sie sowohl die Datenbank als auch SAP manuell
neu starten, nachdem Sie die Fehler behoben haben. Erst danach
darf R3SETUP erneut gestartet werden.Achten Sie auch darauf, den Oracle-Listener erneut
zu starten (als Benutzer orasid
mittels umask 0; lsnrctl start), wenn
dieser beendet wurde (z.B. durch einen notwendigen
Neustart des Systems).Fehler im Stadium OSUSERSIDADM_IND_ORA bei der Ausführung von R3SETUPWenn sich R3SETUP in diesem Stadium beschwert, editieren
Sie die bei der Installation verwendete Version der
Vorlage (CENTRDB.R3S (4.6B) oder
entweder CENTRAL.R3S oder
DATABASE.R3S (4.6C)). Finden Sie
[OSUSERSIDADM_IND_ORA] oder suchen Sie nach dem einzigen
STATUS=ERROR-Eintrag und ändern
Sie die folgenden Werte:HOME=/home/sidadm (war voher leer)
STATUS=OK (hatte den Status ERROR)
Danach können Sie R3SETUP erneut aufrufen.Fehler im Stadium OSUSERDBSID_IND_ORA bei der
Ausführung von R3SETUPWahrscheinlich beschwert sich R3SETUP auch in diesem Stadium.
Der hier auftretende Fehler ähnelt dem im Abschnitt
OSUSERSIDADM_IND_ORA. Editieren Sie einfach die bei
der Installation verwendete Version der Vorlage
(das heißt CENTRDB.R3S (4.6B) oder
entweder CENTRAL.R3S oder
DATABASE.R3S (4.6C)). Finden Sie
[OSUSERDBSID_IND_ORA] oder suchen Sie nach dem einzigen
STATUS=ERROR-Eintrag und ändern
Sie folgenden Eintrag:STATUS=OKDanach können Sie R3SETUP erneut aufrufen.Fehler oraview.vrf FILE NOT FOUND bei der
Oracle-InstallationSie haben die Option
Oracle On-Line Text Viewer nicht deaktiviert,
bevor Sie die Installation gestartet haben. Per Voreinstellung
ist diese Option aktiviert, obwohl sie unter Linux gar nicht
verfügbar ist. Deaktivieren Sie daher diese Option im
Oracle-Installationsmenü und starten Sie die Installation
erneut.Fehler TEXTENV_INVALID bei der Ausführung von R3SETUP,
RFC oder beim Start von SAPGUITritt dieser Fehler auf, so fehlt die korrekte Lokalisierung.
SAP-Hinweis 0171356 führt die notwendigen RPMs auf,
die installiert sein müssen (z.B.
saplocales-1.0-3,
saposcheck-1.0-1 für
RedHat 6.1). Falls Sie alle damit verbundenen Fehler
ignoriert haben, und bei der Ausführung von R3SETUP
den Status jeweils von ERROR auf OK (in CENTRDB.R3S)
gesetzt haben, um R3SETUP anschließend neu zu starten,
wurde das SAP-System nicht ordnungsgemäß
konfiguriert. Das bedeutet, dass Sie nicht via
sapgui am System anmelden können,
obwohl das System trotzdem gestartet werden kann. Ein Versuch,
sich über die alte Linux-sapgui
anzumelden, führte zu folgenden Fehlermeldungen:Sat May 5 14:23:14 2001
*** ERROR => no valid userarea given [trgmsgo. 0401]
Sat May 5 14:23:22 2001
*** ERROR => ERROR NR 24 occured [trgmsgi. 0410]
*** ERROR => Error when generating text environment. [trgmsgi. 0435]
*** ERROR => function failed [trgmsgi. 0447]
*** ERROR => no socket operation allowed [trxio.c 3363]
SpeicherzugriffsfehlerDieses Verhalten kommt daher, weil SAP R/3 nun nicht
in der Lage ist, eine korrekte Lokalisierung zuzuweisen, und
sich daher nicht ordnungsgemäß konfigurieren kann
(durch fehlende Einträge in einigen Datenbank-Tabellen).
Um sich in SAP anmelden zu können, müssen Sie
folgende Einträge zur Datei DEFAULT.PFL
(lesen Sie dazu auch Hinweis 0043288) hinzufügen:abap/set_etct_env_at_new_mode = 0
install/collate/active = 0
rscp/TCP0B = TCP0BStarten Sie nun das SAP-System neu. Sie sind nun in der Lage,
sich anzumelden, obwohl einige länderspezifische
Spracheinstellungen fehlerhaft sein könnten. Nachdem Sie diese
Ländereinstellungen korrigiert (und die korrekten
Lokalisierungen installiert) haben, können
Sie diese Einträge wieder aus
DEFAULT.PFL löschen und das
SAP-System anschließend neu starten.ORA-00001Dieser Fehler trat nur bei einer Installation von
Oracle 8.1.7 unter FreeBSD 4.5
auf. Dies geschah deshalb, weil sich die Oracle Datenbank nicht
initialisieren konnte und daher abstürzte. Dadurch
verblieben Semaphore und Shared-Memory
im System. Der nächste Startversuch führte dann
zur Meldung ORA-00001.Suchen Sie diese Semaphore mittels ipcs -a
und entfernen Sie sie mit ipcrm.ORA-00445 (Hintergrundprozess PMON wurde nicht gestartet)Dieser Fehler trat bei Oracle 8.1.7
auf. Die Meldung erscheint, wenn die Datenbank mit dem
normalen startsap-Skript (z.B.
startsap_majestix_00), aber als Benutzer
prdadm gestartet wird.Dies kann vermieden werden, indem die Datenbank als Benutzer
oraprd über svrmgrl
gestartet wird:&prompt.user; svrmgrl
SVRMGR> connect internal;
SVRMGR> startup;
SVRMGR> exitORA-12546 (den Listener mit den richtigen
Berechtigungen starten)Starten Sie den Oracle-Listener als Benutzer
oraids mit folgendem Befehl:&prompt.root; umask 0; lsnrctl startAnsonsten könnten Sie die Meldung ORA-12546 erhalten,
da die Sockets nun nicht die richtigen Berechtigungen aufweisen.
Lesen Sie dazu auch den SAP-Hinweis 0072984.ORA-27102 (kein freier Speicher mehr)Dieser Fehler trat auf, wenn versucht wurde, für
MAXDSIZ und DFLDSIZ
Werte über 1 GB (1024x1024x1024) festzulegen.
Zusätzlich führte dies zur Fehlermeldung
Linux Error 12: Cannot allocate memory.Fehler im Stadium [DIPGNTAB_IND_IND] bei der
Ausführung von R3SETUPFür allgemeine Informationen lesen Sie bitte den
SAP-Hinweis 0130581 # (R3SETUP - Abbruch im Stadium
DIPGNTAB). Bei der IDES-spezifischen
Installation verwendete der Installationsprozess aus
irgendwelchen Gründen nicht den
korrekten SAP-Systemnamen IDS, sondern den (leeren)
String "". Dies führte zu einigen kleineren Problemen
beim Zugriff auf bestimmte Verzeichnisse, da die Pfade durch
SID (in diesem Fall IDS) dynamisch
generiert werden. Das heißt anstatt auf/usr/sap/IDS/SYS/...
/usr/sap/IDS/DVMGS00zuzugreifen, wurden folgende Pfade verwendet:/usr/sap//SYS/...
/usr/sap/D00Um dennoch mit der Installation fortfahren zu können,
wurden ein Link sowie ein zusätzliches Verzeichnis
erzeugt:&prompt.root; pwd
/compat/linux/usr/sap
&prompt.root; ls -l
total 4
drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00
drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS
lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS
drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp
drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 transDieses Verhalten wird auch in den SAP-Hinweisen 0029227
und 0008401 beschrieben. Bei der Installtion von
SAP 4.6C trat allerdings keines dieser
Probleme auf.Fehler im Stadium [RFCRSWBOINI_IND_IND] bei der
Ausführung von R3SETUPBei der Installation von SAP 4.6C
trat dieser Fehler als Folge eines anderen, bereits vorher
aufgetretenen Fehlers auf. Daher müssen Sie sich
die entsprechenden Protokolldateien durchsehen, und danach das
wirkliche (bereits vorher aufgetretene) Problem beheben.Wenn Sie nach dem Durchsehen der Protokolldateien feststellen,
dass dieser Fehler wirklich der eigentliche Fehler ist
(lesen Sie dazu wiederum die SAP-Hinweise), können
Sie den StATUS des betreffenden Schritts von ERROR auf OK
setzen (und zwar in der Datei CENTRDB.R3S).
Anschließend starten Sie R3SETUP erneut. Nach
der Installation müssen Sie den Report
RSWBOINS der Transaktion
SE38 ausführen. Lesen Sie den SAP-Hinweis 0162266,
um weitere Informationen zu den Stadien
RFCRSWBOINI und RFCRADDBDIF
zu erhalten.Fehler im Stadium [RFCRADDBDIF_IND_IND] bei der
Ausführung von R3SETUPHier gilt das Gleiche wie für den letzten Fehler.
Stellen Sie durch Überprüfen der Protokolldateien
sicher, dass dieser Fehler nicht durch ein früheres
Problem verursacht wird.Wenn Sie sicher sind, dass SAP-Hinweis 0162266 auf
Ihr System zutrifft, setzen Sie den STATUS des betreffenden
Stadiums von ERROR auf OK (und zwar in der Datei
CENTRDB.R3S). Anschließend starten
Sie R3SETUP erneut. Nach der Installation müssen Sie den
Report RADDBDIF der Transaktion SE38
ausführen.sigaction sig31: File size limit exceededDieser Fehler trat beim Start des SAP-Prozesses
disp+work auf. Wird SAP mit
startsap-Skript gestartet, werden Subprozesse gestartet,
deren Aufgabe es ist, alle anderen SAP-Prozesse zu starten.
Als Folge davon erkennt startsap dabei auftretende
Fehler nicht.Um zu überprüfen, ob die SAP-Prozesse korrekt
gestartet wurden, überprüfen Sie den Prozessstatus
mit ps ax | grep SID.
Sie erhalten dadurch eine Liste aller Oracle- und SAP-Prozesse.
Wenn einige Prozesse fehlen, oder Sie sich nicht mit dem
SAP-System verbinden können, überprüfen Sie
wiederum die entsprechenden Protokolldateien, die sich unter
/usr/sap/SID/DVEBMGSnr/work/
befinden. Die zu durchsuchenden Dateien heißen
dev_ms und dev_disp.Wenn Oracle und SAP mehr Speicher anfordern als in der
Kernelkonfigurationsdatei festgelegt wurde, wird das
Signal 31 ausgeliefert. Der Fehler
kann behoben werden, indem im Kernel
ein größerer Wert verwendet wird.# larger value for 46C production systems:
options SHMMAXPGS=393216
# smaller value sufficient for 46B:
#options SHMMAXPGS=262144Der Start von saposcol schlug fehlDas Programm saposcol (Version 4.6D) kann
einige Probleme verursachen. Saposcol wird vom SAP-System
verwendet, um Daten über die Systemleistung zu sammeln.
Für die Benutzung des SAP-Systems hingegen ist es es
nicht erforderlich. Daher handelt es sich hier auch
nur um ein kleineres Problem. Ältere Versionen
von saposcol (z.B. 4.6B) funktionieren, sammeln
allerdings nicht alle Daten (viele Aufrufe geben,
zum Beispiel die CPU-Nutzung, einfach
0 (Null) zurück.Weiterführende ThemenWenn Sie sich fragen, wie die Linux-Binärkompatibilität
unter FreeBSD realisiert wurde, sollten Sie diesen Abschnitt lesen.
Der Großteil der folgenden Informationen stammt aus einer
E-Mail, die von Terry Lambert (tlambert@primenet.com)
an die FreeBSD-Chat-Mailingliste
(freebsd-chat@FreeBSD.org) geschrieben wurde
(Message ID: <199906020108.SAA07001@usr09.primenet.com>).Wie funktioniert es?execution class loaderFreeBSD verfügt über eine execution class
loader genannte Abstraktion. Dabei handelt es sich um einen
Eingriff in den &man.execve.2; Systemaufruf.FreeBSD verfügt über eine Liste von Ladern, anstelle
eines einzigen, auf #!
zurückgreifenden Laders, um Shell-Interpreter oder Shell-Skripte
auszuführen.Historisch gesehen untersuchte der einzige, auf
UNIX-Plattformen vorhandene Lader die "magische Zahl"
(in der Regel die ersten 4 oder 8 Bytes der Datei), um
festzustellen, ob der Binärtyp dem System bekannt war.
War dies der Fall, wurde der Binärlader aufgerufen.Wenn es sich nicht um den zum System gehörigen Binärtyp
handelte, gab &man.execve.2; einen Fehler zurück,
und die Shell versuchte stattdessen, die Datei als Shell-Befehl
auszuführen.Dabei wurde als Standardeinstellung was auch immer die
aktuelle Shell ist festgelegt.Später wurde ein Hack in &man.sh.1; eingefügt,
der die zwei ersten Zeichen untersuchte. Wenn diese
:\n entsprachen,
wurde stattdessen die &man.csh.1;-Shell aufgerufen
(wir glauben, dass dies zuerst von SCO umgesetzt wurde).FreeBSD versucht heute eine Liste von Ladern, unter denen
sich ein allgemeiner Lader für Interpreter befindet. Der
auszuführende Interpreter wird im ersten, durch
Leerzeichen getrennten Feld, der #!-Zeile
angegeben. Läßt sich der Interpreter nicht ermitteln,
wird auf /bin/sh zurückgegriffen.ELFFür die Linux ABI-Unterstützung erkennt FreeBSD
die magische Zahl als ELF-Binärdatei (Zu diesem Zeitpunkt wird
nicht zwischen FreeBSD, Solaris, Linux oder anderen Systemen
unterschieden, die über ELF-Binärdateien
verfügen.).SolarisDer ELF-Lader sucht nach einer speziellen
Kennzeichnung, die aus einem Kommentarabschnitt
in der ELF-Datei besteht, und die in SVR4/Solaris ELF
Binärdateien nicht vorhanden ist.Damit Linux-Binärdateien (unter FreeBSD) funktionieren,
müssen sie als Linuxgekennzeichnet werden, und zwar durch
&man.brandelf.1;:&prompt.root; brandelf -t Linux fileNachdem dies geschehen ist, erkennt der ELF-Lader die
Linux-Kennzeichnung der Datei.ELFbrandelfWenn der ELF-Lader die Linux-Kennzeichnung
sieht, wird ein Zeiger in der proc-Struktur
ersetzt. Alle Systemaufrufe werden durch diesen Zeiger indiziert
(in einem traditionellen &unix; System wäre das ein
sysent[]-Strukturfeld, das die Systemaufrufe
enthält). Der Prozess wird weiterhin speziell gekennzeichnet,
so dass der Trap-vector im Signal-trampoline-code eine spezielle
Behandlung erfährt und das Linux-Kernelmodul verschiedene
kleinere Korrekturen vornehmen kann.Der Linux-Systemaufrufvektor enthält neben anderen
Dingen eine Liste der sysent[]-Einträge,
deren Adressen sich im Kernelmodul befinden.Wenn ein Linux-Programm einen Systemaufruf ausführt,
dereferenziert die Trap-Behandlungsroutine den Zeiger auf die
Eintrittspunkte für die Systemaufrufe und erhält damit die
Linux-Eintrittspunkte und nicht die FreeBSD-Eintrittspunkte.Zusätzlich verändert der
Linuxmodus die Systempfade dynamisch; genauso, wie dies die
union Option beim Einbinden von Dateisystemen
macht (Achtung: nicht unionfs!).
Zuerst wird die Datei im Verzeichnis /compat/linux/Originalpfad
gesucht, danach, wenn sie dort nicht gefunden
wurde, wird sie im FreeBSD-Verzeichnis
/Originalpfad
gesucht. Dadurch wird sichergestellt, dass
Binärdateien, die zur Ausführung andere
Binärdateien benötigen, ausgeführt
werden können (so dass alle Linux-Werkzeuge unter der
ABI laufen). Dies bedeutet auch,
dass Linux-Binärdateien FreeBSD-Binärdateien
laden und ausführen können, wenn keine passenden
Linux-Binärdateien vorhanden sind. Ein in
/compat/linux plaziertes &man.uname.1; kann
damit Linux-Programmen vorgaukeln, dass sie auf einem Linux-System
laufen.Im Endeffekt gibt es einen Linux-Kernel innerhalb des
FreeBSD-Kernels. Die Sprungtabellen für Linux-
beziehungsweise FreeBSD-Systemaufrufe verweisen allerdings auf
dieselben Funktionen, die Kerneldienste wie Dateisystemoperationen,
Operationen für den virtuellen Speicher,
Signalübermittlung und System V IPC bereitstellen,
Der einzige Unterschied ist, dass Binärdateien unter FreeBSD
FreeBSD-glue-Funktionen verwenden.
Linux-Binärdateien hingegen verwenden die
Linux-glue-Funktionen. Die meisten
älteren Betriebssysteme hatten ihre eigenen
glue-Funktionen: Funktionsadressen
in einem globalen, statischen sysent[]
Strukturfeld an Stelle von Funktionsadressen, die durch
einen dynamisch initialisierten Zeiger aus der
proc Struktur, die den Aufruf gemacht hatte,
dereferenziert wurden.Welche ist die echte FreeBSD ABI? Das spielt keine Rolle.
Grundsätzlich ist der einzige Unterschied (zurzeit
ist das so; dies könnte sich in zukünftigen
Versionen leicht ändern und wird sich wahrscheinlich
auch ändern), dass die
FreeBSD-glue-Funktionen statisch in
den Kernel gelinkt sind, und dass die
Linux-glue-Funktionen statisch gelinkt
oder über ein Modul eingebunden werden können.
- Ja, aber ist das wirkliche eine Emulation? Nein. Es ist eine ABI
- Implementation, keine Emulation. Es ist kein Emulator (oder
- Simulator, um der nächsten Frage zuvorzukommen.)
+ Ja, aber ist das wirkliche eine Emulation? Nein. Es ist eine
+ Implementierung eines ABIs, keine Emulation. Es ist kein Emulator
+ (oder Simulator, um der nächsten Frage zuvorzukommen)
beteiligt.Warum wird es manchmal Linux-Emulation genannt?
Um es schwerer zu machen, FreeBSD zu verkaufen. Wirklich, das kommt
- daher, weil die historische Implementation zu einer Zeit
- durchgeführt wurde, in der es kein anderes Wort
+ daher, weil dies zu einer Zeit implemtiert wurde,
+ in der es kein anderes Wort
(als Emulation) gab, das beschrieb, was vor sich ging.
Wenn der Kernel nicht entsprechend konfiguriert wurde oder das
Modul geladen wurde, war es falsch zu behaupten, FreeBSD würde
Linux-Binärprogramme ausführen. Man benötigte
ein Wort, das beschrieb, was da geladen
wurde – daher Der Linux-Emulator.
diff --git a/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml b/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml
index 3c0387b103..408fb4696d 100644
--- a/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml
@@ -1,1711 +1,1712 @@
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
GrafikadaptersSynchronisationsfrequenzhorizontaleSynchronisationsfrequenzvertikaleAus 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 konfiguriert wurde. Die Mauskonfiguration wird in
beschrieben.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
&man.agp.4; befindet sich seit 4.8-RELEASE und 5.0-RELEASE
in der Vorgabekonfiguration GENERIC.
Wenn Sie eine frühere FreeBSD-Version benutzen
müssen Sie Ihre Kernelkonfiguration um die
nachstehende Zeile erweitern:device agpAnschließend müssen Sie einen neuen
Kernel bauen. Sie können beim Systemstart
das Modul agp.ko auch mit dem
&man.loader.8; aktivieren. 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. Der Treiber &man.agp.4; kann nicht
nachträglich mit &man.kldload.8; in einen laufenden
Kernel geladen werden. Er muss entweder fest im Kernel
eingebunden sein oder beim Systemstart über
/boot/loader.conf geladen 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.
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-SchriftartenTrueType-SchriftartenSchriftartenTrueTypeXFree86 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.Joe MarcusClarkeAktualisiert von Anti-aliasingAnti-aliasingSchriftartenAnti-aliasingXFree86 beherrscht das
Anti-aliasing-Verfahren seit der
Version 4.0.2. Die Konfiguration der Schriftarten war
vor XFree86 4.3.0 ziemlich
schwierig. Ab der Version 4.3.0 stehen alle Schriftarten
in /usr/X11R6/lib/X11/fonts/ und
~/.fonts/ automatisch für das
Anti-aliasing-Verfahren mit
Anwendungen, die Xft unterstützen, zur Verfügung.
Es gibt schon viele Anwendungen, die Xft unterstützen,
zum Beispiel: Qt 2.3 und höhere Versionen
(das KDE-Toolkit), Gtk+ 2.0
und höhere Versionen (das
GNOME-Toolkit) sowie
Mozilla 1.2 und höhere Versionen.In der Datei /usr/X11R6/etc/fonts/local.conf
werden die Schriftarten, die mit dem Anti-aliasing-Verfahren
benutzt werden sollen und die Eigenschaften des Verfahrens
festgelegt. In diesem Abschnitt wird nur die grundlegende
Konfiguration von Xft beschrieben. Weitere Details entnehmen
Sie bitte der Hilfeseite &man.fonts-conf.5;.XML
- Die Datei ist ein XML-Dokument. Achten Sie beim
+ Die Datei local.conf ist ein
+ XML-Dokument. Achten Sie beim
Editieren der Datei daher auf die richtige Groß- und
- Kleinschreibung und darauf, dass die alle Tags geschlossen
+ Kleinschreibung und darauf, dass alle Tags geschlossen
sind. Die Datei beginnt mit der üblichen XML-Deklaration
gefolgt von einer DOCTYPE-Definition und dem
<fontconfig>-Tag:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
Wie vorher erwähnt, stehen schon alle Schriftarten
in /usr/X11R6/lib/X11/fonts/ und
~/.fonts/ für Anwendungen, die
Xft unterstützen, zur Verfügung. Wenn Sie ein
- Verzeichnis außerhalb dieser beiden Bäme
+ Verzeichnis außerhalb dieser beiden Bäume
benutzen wollen, fügen Sie eine Zeile wie die
nachstehende zu
/usr/X11R6/etc/fonts/local.conf hinzu:<dir>/path/to/my/fonts</dir>Wenn Sie neue Schriftarten hinzugefügt haben,
müssen Sie den Schriftarten-Cache neu aufbauen:&prompt.root; fc-cache -fDas 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
kleinere Schriftgrößen als 14 Punkt von dem
Verfahren auszunehmen, fügen Sie in
local.conf die nachstehenden Zeilen ein: <match target="font">
<test name="size" compare="less">
<double>14</double>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>SchriftartenAbstände
- Das Anit-aliasing-Verfahren kann die Abstände einiger
+ Das Anti-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 target="pattern" name="family">
<test qual="any" name="family">
<string>fixed</string>
</test>
<edit name="family" mode="assign">
<string>mono</string>
</edit>
</match>
<match target="pattern" name="family">
<test qual="any" name="family">
<string>console</string>
</test>
<edit name="family" mode="assign">
<string>mono</string>
</edit>
</match>
- Damit werden die Namen der gebrächlichen Fixschriften auf
+ Damit werden die Namen der gebräuchlichen Fixschriften auf
"mono" abgebildet. Für diese Schriften
setzen Sie dann den Abstand fest: <match target="pattern" name="family">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="spacing" mode="assign">
<int>100</int>
</edit>
</match> Bestimmte Schriftarten, wie Helvetica, können
- Probleme mit dem Anti-Aliasing-Verfahren Probleme verursachen.
+ Probleme mit dem Anti-Aliasing-Verfahren verursachen.
In der Regel erscheinen diese Schriftarten dann vertikal
halbiert. Im schlimmsten Fall stürzen Anwendungen,
wie Mozilla, als Folge davon ab.
Sie vermeiden dies, indem Sie betroffene Schriftarten in
local.conf von dem Verfahren ausnehmen: <match target="pattern" name="family">
<test qual="any" name="family">
<string>Helvetica</string>
</test>
<edit name="family" mode="assign">
<string>sans-serif</string>
</edit>
</match> Wenn Sie local.conf editiert haben,
stellen Sie bitte sicher, dass die Datei mit dem Tag
</fontconfig> endet. Ist das
nicht der Fall, werden die Änderungen nicht
berücksichtigt.Die mit XFree86 gelieferten
Schriftarten eignen sich nicht besonders für das
Anti-Aliasing-Verfahren. Der Port x11-fonts/bitstream-vera
- enthält viel besser geeignete Schriftarten. Wenn Sie
+ enthält viel besser geeignete Schriftarten. Wenn sie
noch nicht existiert, legt der Port die Datei
/usr/X11R6/etc/fonts/local.conf
an. Ansonsten erzeugt der Port die Datei
/usr/X11R6/etc/fonts/local.conf-vera,
deren Inhalt Sie in
/usr/X11R6/etc/fonts/local.conf
aufnehmen müssen. Danach werden die
XFree86-Schriftarten
Serif, Sans Serif und Monospaced durch die entsprechenden
Bitstream-Schriftarten ersetzt.Benutzer können eigene Einstellungen in der
Datei ~/.fonts.conf vornehmen.
Achten Sie auch hier auf die richtige XML-Syntax.LCDSchriftartenauf einem LCDMit 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
local.conf aktiviert diese Funktion:
<match target="font">
<test qual="all" name="rgba">
<const>unknown</const>
</test>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
</match>Abhängig von der Organisation Ihres Bildschirms
müssen Sie anstelle von
verwenden. Experimentieren Sie und
schauen Sie, was besser aussieht.MozillaWeb-BrowserMozillaMozillaDer 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 ).
Gtk+ und GNOME können das Verfahren mit dem
Font-capplet benutzen (Details entnehmen
Sie bitte ). Ab
der Version 1.2 benutzt Mozilla
automatisch das Anti-Aliasing Verfahren. Dies können
Sie verhindern, wenn Sie beim Übersetzen von
Mozilla die Option
-DWITHOUT_XFT angeben.SethKingsleyBeigetragen von Der X-Display-ManagerEinführungX-Display-ManagerDer 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 GNOMEGNOMEGNOME 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. Auf der Webseite
FreeBSD GNOME
Project finden Sie weitere Informationen über
GNOME auf FreeBSD.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 gnome2Wenn Sie den Quellcode von GNOME
übersetzen wollen, benutzen Sie die Ports-Sammlung:&prompt.root; cd /usr/ports/x11/gnome2
&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 GNOMEGNOMEAnti-Aliasing-VerfahrenAb der Version 4.0.2 beherrscht
XFree86 mit der
RENDER-Erweiterung das Anti-Aliasing-Verfahren.
Gtk+ 2.0 und spätere Versionen (das GNOME-Toolkit)
kann dieses Verfahren benutzen. Die Konfiguration des
Verfahrens ist in beschrieben.
Aktivieren Sie Anti-Aliasing im Menü
Applications ->
Desktop Preferences ->
Font. Dort wählen
Sie dann eine der Möglichkeiten
Best shapes,
Best contrast oder
Subpixel smoothing (LCDs).
Für Gtk+-Anwendungen, die nicht Teil von
GNOME sind, setzen Sie
die Umgebungsvariable GDK_USE_XFT
vor dem Start der Anwendung auf den Wert
1.KDEÜber KDEKDEKDE 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. Auf der
Webseite FreeBSD-KDE
team finden Sie weitere FreeBSD-spezifische
Informationen über KDE.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 kde&man.pkg.add.1; installiert automatisch die neuste
Version einer Anwendung.Benutzen 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-ManagerKDEDisplay-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 KDEKDEAnti-Aliasing-VerfahrenAb 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.