Index: head/de_DE.ISO8859-1/books/handbook/users/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/users/chapter.xml (revision 48231) +++ head/de_DE.ISO8859-1/books/handbook/users/chapter.xml (nonexistent) @@ -1,1085 +0,0 @@ - - - - Benutzer und grundlegende Account-Verwaltung - - NeilBlakey-MilnerBeigetragen von - - - - RobertDrehmelÜbersetzt von - - - - - - - - Übersicht - - Einen FreeBSD-Computer können mehrere Benutzer zur selben - Zeit benutzen, allerdings kann immer nur einer vor der Konsole sitzen - - Außer Sie verwenden, wie in besprochen, zusätzliche Terminals - , über das Netzwerk können beliebig viele - Benutzer angemeldet sein. Jeder Benutzer muss einen Account - haben, um das System benutzen zu können. - - Nachdem Sie dieses Kapitel gelesen haben, werden Sie - - - - die verschiedenen Account-Typen von FreeBSD kennen, - - - - wissen, wie Accounts angelegt werden, - - - - wissen, wie Sie Accounts löschen, - - - - wie Sie Attribute eines Accounts, wie den Loginnamen oder - die Login-Shell ändern, - - - - wissen, wie Sie Limits für einen Account setzen, um - beispielsweise Ressourcen, wie Speicher oder CPU-Zeit, - einzuschränken, - - - - wie Sie mit Gruppen die Verwaltung der Accounts - vereinfachen. - - - - Vor dem Lesen dieses Kapitels sollten Sie - - - - die Grundlagen von &unix; und FreeBSD () - verstanden haben. - - - - - - Einführung - - Jeder Zugriff auf das System geschieht über Accounts und alle - Prozesse werden von Benutzern gestartet, also sind Benutzer- und - Account-Verwaltung von wesentlicher Bedeutung in FreeBSD-Systemen. - - Mit jedem Account eines FreeBSD-Systems sind bestimmte Informationen - verknüpft, die diesen Account identifizieren. - - - - Loginnamen - - - Den Loginnamen geben Sie bei der Anmeldung ein, wenn Sie - dazu mit login: aufgefordert werden. - Loginnamen müssen auf dem System eindeutig sein, das - heißt auf einem System kann es nicht zwei Accounts mit - demselben Loginnamen geben. In &man.passwd.5; wird - beschrieben, wie ein gültiger Loginname gebildet wird. - Normalerweise sollten Sie Namen verwenden, die aus - Kleinbuchstaben bestehen und bis zu acht Zeichen lang sind. - - - - - Passwort - - - Mit jedem Account ist ein Passwort verknüpft. Wenn - das Passwort leer ist, wird es bei der Anmeldung nicht - abgefragt. Das ist allerdings nicht zu empfehlen, daher sollte - jeder Account ein Passwort besitzen. - - - - - User ID (UID) - - - Die UID ist üblicherweise eine Zahl zwischen - 0 und 65535 - Für UIDs und GIDs können Zahlen bis - einschließlich 4294967295 verwendet werden. - Allerdings können solche IDs erhebliche - Probleme mit Anwendungen verursachen, die - Annahmen über den Wertebereich der IDs - treffen. - , die einen - Account eindeutig identifiziert. Intern verwendet FreeBSD nur - die UID, Loginnamen werden zuerst in eine UID umgewandelt, - mit der das System dann weiter arbeitet. Das bedeutet, dass - Sie Accounts mit unterschiedlichen Loginnamen aber gleicher - UID einrichten können. Vom Standpunkt des Systems handelt - es sich dabei um denselben Account. In der Praxis werden Sie - diese Eigenschaft des Systems wahrscheinlich nicht - benutzen. - - - - - Group ID (GID) - - - Die GID ist üblicherweise eine Zahl zwischen 0 und - 65536, die eine Gruppe - eindeutig identifiziert. Mit Gruppen kann der Zugriff auf - Ressourcen über die GID anstelle der UID geregelt werden. - Einige Konfigurationsdateien werden durch diesen Mechanismus - deutlich kleiner. Ein Account kann mehreren Gruppen - zugehören. - - - - - Login-Klasse - - - Login-Klassen erweitern das Gruppenkonzept. Sie - erhöhen die Flexibilität des Systems in der Handhabung - der verschiedenen Accounts. - - - - - Gültigkeit von Passwörtern - - - Ein regelmäßiges Ändern des Passworts wird in - der Voreinstellung von FreeBSD nicht erzwungen. Sie - können allerdings einen Passwortwechsel nach einer - gewissen Zeit auf Basis einzelner Accounts erzwingen. - - - - - Verfallszeit eines Accounts - - - In der Voreinstellung verfallen unter FreeBSD keine - Accounts. Wenn Sie Accounts einrichten, die nur für eine - bestimmte Zeit gültig sein sollen, beispielsweise Accounts - für Teilnehmer eines Praktikums, können Sie angeben, - wie lange der Account gültig sein soll. Nachdem die - angegebene Zeitspanne verstrichen ist, kann dieser Account - nicht mehr zum Anmelden verwendet werden, obwohl alle - Verzeichnisse und Dateien, die diesem Account gehören, - noch vorhanden sind. - - - - - vollständiger Benutzername - - - FreeBSD identifiziert einen Account eindeutig über - den Loginnamen, der aber keine Ähnlichkeit mit dem - richtigen Namen des Benutzers haben muss. Der - vollständige Benutzername kann daher beim Einrichten eines - Accounts angegeben werden. - - - - - Heimatverzeichnis - - - Das Heimatverzeichnis gibt den vollständigen Pfad zu - dem Verzeichnis an, in dem sich der Benutzer nach erfolgreicher - Anmeldung befindet. Es ist üblich, alle - Heimatverzeichnisse unter - /home/Loginname - oder - /usr/home/Loginname - anzulegen. Im Heimatverzeichnis oder in dort angelegten - Verzeichnissen werden die Dateien eines Benutzers - gespeichert. - - - - - Login-Shell - - - Grundsätzlich ist die Schnittstelle zum System eine - Shell, von denen es viele unterschiedliche gibt. Die - bevorzugte Shell eines Benutzers kann seinem Account zugeordnet - werden. - - - - - Es gibt drei Haupttypen von Accounts: Der - Superuser, - Systembenutzer und - Benutzer-Accounts. Der - Superuser-Account, normalerweise root genannt, wird - benutzt, um das System ohne Beschränkungen auf Privilegien zu - verwalten. Systembenutzer starten Dienste. Abschließend werden - Benutzer-Accounts von echten Menschen genutzt, die sich einloggen, Mails - lesen und so weiter. - - - - Der Superuser-Account - - - Accounts - Superuser (root) - - - Der Superuser-Account, normalerweise root - genannt, ist vorkonfiguriert und erleichtert die Systemverwaltung, sollte - aber nicht für alltägliche Aufgaben wie das Verschicken und - Empfangen von Mails, Entdecken des Systems oder Programmierung benutzt - werden. - - Das ist so, da der Superuser im Gegensatz zu normalen - Benutzer-Accounts ohne Beschränkungen operiert und falsche - Anwendung des Superuser-Accounts in spektakulären Katastrophen - resultieren kann. Benutzer-Accounts sind nicht in der Lage, das System - versehentlich zu zerstören, deswegen ist es generell am besten - normale Benutzer-Accounts zu verwenden, solange man nicht - hauptsächlich die extra Privilegien benötigt. - - Kommandos, die Sie als Superuser eingeben, sollten Sie immer - doppelt und dreifach überprüfen, da ein - zusätzliches Leerzeichen oder ein fehlender Buchstabe irreparablen - Datenverlust bedeuten kann. - - Das erste, das Sie tun sollten, nachdem Sie dieses Kapitel gelesen - haben, ist einen unprivilegierten Benutzer für Ihre eigene normale - Benutzung zu erstellen, wenn Sie das nicht bereits getan haben. Das - trifft immer zu, egal ob Sie ein Mehrbenutzersystem oder ein System - laufen haben, welches Sie alleine benutzen. Später in diesem - Kapitel besprechen wir, wie man zusätzliche Accounts erstellt und - wie man zwischen dem normalen Benutzer und dem Superuser wechselt. - - - - System-Accounts - - - Accounts - System-Accounts - - - Systembenutzer starten Dienste wie DNS, Mail-Server, Web-Server und so - weiter. Der Grund dafür ist die Sicherheit; wenn die Programme - von dem Superuser gestartet werden, können Sie ohne - Einschränkungen handeln. - - - Accounts - daemon - - - Accounts - operator - - Beispiele von Systembenutzern sind daemon, - operator, bind (für den - Domain Name Service) und news und - www. - - - Accounts - nobody - - nobody ist der generische unprivilegierte - Systembenutzer. Bedenken Sie aber, dass je mehr Dienste - nobody benutzen, desto mehr Dateien und Prozesse - diesem Benutzer gehören und dieser Benutzer damit umso - privilegierter wird. - - - - Benutzer-Accounts - - - Accounts - Benutzer-Accounts - - - Benutzer-Accounts sind das primäre Mittel des Zugriffs für - Menschen auf das System und isolieren Benutzer und Umgebung, - schützen die Benutzer davor, das System oder Daten anderer Benutzer - zu beschädigen und erlauben Benutzern ihre Umgebung selbst - einzurichten, ohne das sich dies auf andere auswirkt. - - Jede Person, die auf Ihr System zugreift, sollte ihren eigenen - Account besitzen. Das erlaubt Ihnen herauszufinden, wer was macht - und hält Leute davon ab, die Einstellungen der anderen zu - verändern oder Mails zu lesen, die nicht für sie bestimmt - waren. - - Jeder Benutzer kann sich eine eigene Umgebung mit alternativen - Shells, Editoren, Tastaturbelegungen und Sprachen einrichten. - - - - Accounts verändern - - - Accounts - verändern - - - Unter &unix; gibt es verschiedene Kommandos, um Accounts zu - verändern. Die gebräuchlichsten Kommandos sind unten, - gefolgt von einer detaillierten Beschreibung, zusammengefasst. - - - - - - Kommando - Zusammenfassung - - - - - &man.adduser.8; - Das empfohlene Werkzeug, um neue Accounts zu - erstellen. - - - &man.rmuser.8; - Das empfohlene Werkzeug, um Accounts zu - löschen. - - - &man.chpass.1; - Ein flexibles Werkzeug, um Informationen in der - Account-Datenbank zu verändern. - - - &man.passwd.1; - Ein einfaches Werkzeug, um Passwörter von Accounts - zu ändern. - - - &man.pw.8; - Ein mächtiges und flexibles Werkzeug um alle - Informationen über Accounts zu ändern. - - - - - - - <command>adduser</command> - - - Accounts - erstellen - - - adduser - - - /usr/share/skel - - &man.adduser.8; ist ein einfaches Programm - um neue Benutzer hinzuzufügen. Es erstellt - passwd und group - Einträge für den - Benutzer, genauso wie ein home Verzeichnis, kopiert ein paar - vorgegebene Dotfiles aus /usr/share/skel und kann - optional dem Benutzer eine ,,Willkommen``-Nachricht zuschicken. - - - Einen Benutzer unter &os; anlegen - - &prompt.root; adduser -Username: jru -Full name: J. Random User -Uid (Leave empty for default): -Login group [jru]: -Login group is jru. Invite jru into other groups? []: wheel -Login class [default]: -Shell (sh csh tcsh zsh nologin) [sh]: zsh -Home directory [/home/jru]: -Home directory permissions (Leave empty for default): -Use password-based authentication? [yes]: -Use an empty password? (yes/no) [no]: -Use a random password? (yes/no) [no]: -Enter password: -Enter password again: -Lock out the account after creation? [no]: -Username : jru -Password : **** -Full Name : J. Random User -Uid : 1001 -Class : -Groups : jru wheel -Home : /home/jru -Shell : /usr/local/bin/zsh -Locked : no -OK? (yes/no): yes -adduser: INFO: Successfully added (jru) to the user database. -Add another user? (yes/no): no -Goodbye! -&prompt.root; - - - - Wenn Sie das Passwort eingeben, werden weder Passwort noch - Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort - korrekt eingeben. - - - - - <command>rmuser</command> - - rmuser - - Accounts - löschen - - - Benutzen Sie &man.rmuser.8;, um einen Account - vollständig aus dem System zu entfernen. - &man.rmuser.8; führt die folgenden Schritte - durch: - - - - Entfernt den &man.crontab.1; Eintrag des Benutzers - (wenn dieser existiert). - - - Entfernt alle &man.at.1; jobs, die dem Benutzer gehören. - - - - Schließt alle Prozesse des Benutzers. - - - Entfernt den Benutzer aus der lokalen Passwort-Datei des - Systems. - - - Entfernt das Heimatverzeichnis des Benutzers (falls es dem - Benutzer gehört). - - - Entfernt eingegangene E-Mails des Benutzers - aus /var/mail. - - - Entfernt alle Dateien des Benutzers aus temporären - Dateispeicherbereichen wie /tmp. - - - Entfernt den Loginnamen von allen Gruppen, zu denen er - gehört, aus /etc/group. - - - Wenn eine Gruppe leer wird und der Gruppenname mit dem - Loginnamen identisch ist, wird die Gruppe entfernt; das - ergänzt sich mit den einzelnen Benutzer-Gruppen, die von - &man.adduser.8; für jeden neuen Benutzer erstellt werden. - - - - - - Der Superuser-Account kann nicht mit &man.rmuser.8; entfernt - werden, da dies in den meisten Fällen das System unbrauchbar - macht. - - Als Vorgabe wird ein interaktiver Modus benutzt, der - sicherzustellen versucht, dass Sie wissen, was Sie tun. - - - Interaktives Löschen von Account mit - <command>rmuser</command> - - &prompt.root; rmuser jru -Matching password entry: -jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh -Is this the entry you wish to remove? y -Remove user's home directory (/home/jru)? y -Updating password file, updating databases, done. -Updating group file: trusted (removing group jru -- personal group is empty) done. -Removing user's incoming mail file /var/mail/jru: done. -Removing files belonging to jru from /tmp: done. -Removing files belonging to jru from /var/tmp: done. -Removing files belonging to jru from /var/tmp/vi.recover: done. -&prompt.root; - - - - - <command>chpass</command> - - chpass - &man.chpass.1; ändert Informationen der - Benutzerdatenbank wie Passwörter, Shells und persönliche - Informationen. - - Nur Systemadministratoren, mit Superuser-Rechten, können die - Informationen und Passwörter der anderen Benutzer mit - &man.chpass.1; verändern. - - Werden keine Optionen neben dem optionalen Loginnamen - angegeben, zeigt &man.chpass.1; einen Editor - mit Account-Informationen an und aktualisiert die - Account-Datenbank, wenn dieser verlassen wird. - - - Unter &os; wird nach dem Verlassen des Editors - nach dem Passwort gefragt, es sei denn, man ist als Superuser - angemeldet. - - - - Interaktives <command>chpass</command> des Superusers - - #Changing user database information for jru. -Login: jru -Password: * -Uid [#]: 1001 -Gid [# or name]: 1001 -Change [month day year]: -Expire [month day year]: -Class: -Home directory: /home/jru -Shell: /usr/local/bin/zsh -Full Name: J. Random User -Office Location: -Office Phone: -Home Phone: -Other information: - - - Der normale Benutzer kann nur einen kleinen Teil dieser - Informationen verändern und natürlich nur die Daten des - eigenen Accounts. - - - Interaktives <command>chpass</command> eines normalen - Benutzers - - #Changing user database information for jru. -Shell: /usr/local/bin/tcsh -Full Name: J. Random User -Office Location: -Office Phone: -Home Phone: -Other information: - - - - &man.chfn.1; und &man.chsh.1; sind - nur Verweise auf &man.chpass.1; genauso wie - &man.ypchpass.1;, &man.ypchfn.1; und - &man.ypchsh.1;. NIS wird automatisch unterstützt, - deswegen ist es nicht notwendig das yp vor dem - Kommando einzugeben. NIS wird später - in besprochen. - - - - <application>passwd</application> - - passwd - - Accounts - Passwort wechseln - - &man.passwd.1; ist der übliche Weg, Ihr - eigenes Passwort als Benutzer zu ändern oder das Passwort eines - anderen Benutzers als Superuser. - - - Um unberechtigte Änderungen zu verhindern, - muss bei einem Passwortwechsel zuerst das ursprüngliche - Passwort eingegeben werden. - - - - Wechseln des Passworts - - &prompt.user; passwd -Changing local password for jru. -Old password: -New password: -Retype new password: -passwd: updating the database... -passwd: done - -&prompt.root; passwd jru -Changing local password for jru. -New password: -Retype new password: -passwd: updating the database... -passwd: done - - - - Als Superuser das Passwort eines anderen Accounts - verändern - - &prompt.root; passwd jru -Changing local password for jru. -New password: -Retype new password: -passwd: updating the database... -passwd: done - - - - Wie bei &man.chpass.1; ist &man.yppasswd.1; - nur ein Verweis auf &man.passwd.1;. NIS wird von - jedem dieser Kommandos unterstützt. - - - - - <command>pw</command> - pw - - &man.pw.8; ist ein Kommandozeilenprogramm, mit - dem man Accounts und Gruppen erstellen, entfernen, verändern - und anzeigen kann. Dieses Kommando dient als Schnittstelle zu den - Benutzer- und Gruppendateien des Systems. &man.pw.8; - besitzt eine Reihe mächtiger Kommandozeilenschalter, die es - für die Benutzung in Shell-Skripten geeignet machen, doch - finden neue Benutzer die Bedienung des Kommandos komplizierter, als - die der anderen hier vorgestellten Kommandos. - - - - - Benutzer einschränken - - Benutzer einschränken - - Accounts - einschränken - - Wenn ein System von mehreren Benutzern verwendet wird, ist es - vielleicht notwendig, den Gebrauch des Systems zu beschränken. - FreeBSD bietet dem Systemadministrator mehrere Möglichkeiten - die System-Ressourcen, die ein einzelner Benutzer verwenden kann, - einzuschränken. Diese Limitierungen sind in zwei Kategorien - eingeteilt: Festplattenkontingente und andere - Ressourcenbeschränkungen. - - Quotas - - Benutzer einschränken - Quotas - - Festplatten Quotas - Festplatten-Kontingente schränken den Plattenplatz, der - einem Benutzer zur Verfügung steht, ein. Sie bieten zudem, - ohne aufwändige Berechnung, einen schnellen Überblick - über den verbrauchten Plattenplatz. - Kontingente werden in diskutiert. - - - /etc/login.conf - - Die Login-Klassen werden in /etc/login.conf - definiert. Auf die präzisen Semantiken gehen wir hier nicht - weiter ein, sie können jedoch in &man.login.conf.5; - nachgelesen werden. Es ist ausreichend zu sagen, dass jeder - Benutzer einer Login-Klasse zugewiesen wird (standardmäßig - default) und dass jede Login-Klasse mit einem Satz - von Login-Fähigkeiten verbunden ist. Eine Login-Fähigkeit - ist ein Name=Wert - Paar, in dem Name - die Fähigkeit bezeichnet und Wert - ein willkürlicher Text ist, der je nach Name - entsprechend verarbeitet wird. Login-Klassen und - -Fähigkeiten zu definieren, ist fast schon selbsterklärend - und wird auch in &man.login.conf.5; beschrieben. - - - Das System verwendet die Datei - /etc/login.conf normalerweise nicht direkt, - sondern nur über die Datenbank - /etc/login.conf.db, da diese eine - schnellere Abfrage erlaubt. Der nachstehende Befehl erzeugt die - Datenbank /etc/login.conf.db aus der Datei - /etc/login.conf: - - &prompt.root; cap_mkdb /etc/login.conf - - - Ressourcenbeschränkungen unterscheiden sich von normalen - Login-Fähigkeiten zweifach. Erstens gibt es für jede - Beschränkung ein aktuelles und ein maximales Limit. Das - aktuelle Limit kann vom Benutzer oder einer Anwendung beliebig - bis zum maximalen Limit verändert werden. Letzteres kann - der Benutzer nur heruntersetzen. Zweitens gelten die meisten - Ressourcenbeschränkungen für jeden vom Benutzer - gestarteten Prozess, nicht für den Benutzer selbst. - Beachten Sie jedoch, dass diese Unterschiede durch das spezifische - Einlesen der Limits und nicht durch das System der - Login-Fähigkeiten entstehen (das heißt, - Ressourcenbeschränkungen sind keine - Login-Fähigkeiten). - - Hier befinden sich die am häufigsten benutzten - Ressourcenbeschränkungen (der Rest kann zusammen mit den - anderen Login-Fähigkeiten in &man.login.conf.5; gefunden - werden): - - - - coredumpsize - - - coredumpsize - - Benutzer einschränken - coredumpsize - - Das Limit der Größe einer core-Datei, die - von einem Programm generiert wird, unterliegt aus - offensichtlichen Gründen anderen Limits der - Festplattenbenutzung (zum Beispiel filesize - oder Festplattenkontingenten). Es wird aber trotzdem - oft als weniger harte Methode zur Kontrolle des - Festplattenplatz-Verbrauchs verwendet: Da Benutzer die - core-Dateien nicht selbst erstellen, und sie oft nicht - löschen, kann sie diese Option davor retten, dass - ihnen kein Festplattenspeicher mehr zur Verfügung - steht, sollte ein großes Programm, wie - emacs, abstürzen. - - - - - cputime - - - cputime - - Benutzer einschränken - cputime - - Die maximale Rechenzeit, die ein Prozess eines Benutzers - verbrauchen darf. Überschreitet der Prozess diesen Wert, - wird er vom Kernel beendet. - - - Die Rechenzeit wird limitiert, - nicht die prozentuale Prozessorenbenutzung, wie es in - einigen Feldern in &man.top.1; und &man.ps.1; dargestellt - wird. Letzteres war zu der Zeit, als dies hier geschrieben - wurde nicht möglich und würde eher nutzlos sein: - Ein Compiler – ein wahrscheinlich legitimer - Vorgang – kann leicht fast 100% des Prozessors in - Anspruch nehmen. - - - - - - filesize - - - filesize - - Benutzer einschränken - filesize - - Hiermit lässt sich die maximale Größe einer Datei - bestimmen, die der Benutzer besitzen darf. Im Gegensatz zu - Festplattenkontingenten ist diese - Beschränkung nur für jede einzelne Datei gültig - und nicht für den Platz, den alle Dateien eines Benutzers - verwenden. - - - - - maxproc - - - maxproc - - Benutzer einschränken - maxproc - - Das ist die maximale Anzahl von Prozessen, die ein - Benutzer starten darf, und beinhaltet sowohl Vordergrund- - als auch Hintergrundprozesse. Natürlich darf dieser - Wert nicht höher sein als das System-Limit, das in - kern.maxproc angegeben ist. Vergessen - Sie auch nicht, dass ein zu kleiner Wert den Benutzer in - seiner Produktivität einschränken könnte; - es ist oft nützlich, mehrfach eingeloggt zu sein, oder - Pipelines - - Pipeline = - Leitung. - Mit Pipes sind Verbindungen - zwischen zwei Sockets in meistens zwei verschiedenen - Prozessen gemeint. - - zu verwenden. Ein paar Aufgaben, wie die Kompilierung eines - großen Programms, starten mehrere Prozesse (zum Beispiel - &man.make.1;, &man.cc.1; und andere). - - - - - memorylocked - - - memorylocked - - Benutzer einschränken - memorylocked - - Dieses Limit gibt an, wie viel virtueller Speicher von einem - Prozess maximal im Arbeitsspeicher festgesetzt werden kann. - (siehe auch &man.mlock.2;). Ein paar systemkritische Programme, - wie &man.amd.8;, verhindern damit einen Systemzusammenbruch, der - auftreten könnte, wenn sie aus dem Speicher genommen werden. - - - - - - memoryuse - - - memoryuse - - Benutzer einschränken - memoryuse - - Bezeichnet den maximalen Speicher, den ein Prozess benutzen - darf und beinhaltet sowohl Arbeitsspeicher-, als auch Swap- - Benutzung. Es ist kein allübergreifendes Limit für - den Speicherverbrauch, aber ein guter Anfang. - - - - - openfiles - - - openfiles - - Benutzer einschränken - openfiles - - Mit diesem Limit lässt sich die maximale Anzahl - der von einem Prozess des Benutzers geöffneten Dateien - festlegen. In FreeBSD werden Dateien auch verwendet, um Sockets - und IPC-Kanäle - - IPC steht für - Interprocess Communication. - - - darzustellen. Setzen Sie es deshalb nicht zu niedrig. Das - System-Limit ist im kern.maxfiles - &man.sysctl.8; definiert. - - - - - sbsize - - - sbsize - - Benutzer einschränken - sbsize - - Dieses Limit beschränkt den Netzwerk-Speicher, und damit - die mbufs, die ein Benutzer verbrauchen darf. Es stammt aus einer - Antwort auf einen DoS-Angriff, bei dem viele Netzwerk-Sockets - geöffnet wurden, kann aber generell dazu benutzt werden - Netzwerk-Verbindungen zu beschränken. - - - - - stacksize - - - Das ist die maximale Größe, auf die der Stack - eines Prozesses heranwachsen darf. Das allein ist natürlich - nicht genug, um den Speicher zu beschränken, den ein Programm - verwenden darf. Es sollte deshalb in Verbindung mit anderen - Limits gesetzt werden. - - - - - Beim Setzen von Ressourcenbeschränkungen sind noch andere - Dinge zu beachten. Nachfolgend ein paar generelle Tipps, Empfehlungen - und verschiedene Kommentare. - - - - Von /etc/rc beim Hochfahren des Systems - gestartete Prozesse werden der daemon - Login-Klasse zugewiesen. - - - - Obwohl das mitgelieferte /etc/login.conf - eine Quelle von vernünftigen Limits darstellt, können nur - Sie, der Administrator, wissen, was für Ihr System angebracht - ist. Ein Limit zu hoch anzusetzen könnte Ihr System für - Missbrauch öffnen, und ein zu niedriges Limit der - Produktivität einen Riegel vorschieben. - - - - Benutzer des X-Window Systems (X11) sollten wahrscheinlich - mehr Ressourcen zugeteilt bekommen als andere Benutzer. X11 - beansprucht selbst schon eine Menge Ressourcen, verleitet die - Benutzer aber auch, mehrere Programme gleichzeitig laufen zu - lassen. - - - - Bedenken Sie, dass viele Limits für einzelne Prozesse - gelten und nicht für den Benutzer selbst. Setzt man - zum Beispiel openfiles auf 50, kann jeder - Prozess des Benutzers bis zu 50 Dateien öffnen. Dadurch - ist die maximale Anzahl von Dateien, die von einem Benutzer - geöffnet werden können, openfiles - mal maxproc. Das gilt auch für den - Speicherverbrauch. - - - - Weitere Informationen über - Ressourcenbeschränkungen, Login-Klassen und -Fähigkeiten - enthalten die Hilfeseiten - &man.cap.mkdb.1;, &man.getrlimit.2; und &man.login.conf.5;. - - - - Gruppen - - Gruppen - - /etc/groups - - - Accounts - Gruppen - - Eine Gruppe ist einfach eine Zusammenfassung von Accounts. - Gruppen werden durch den Gruppennamen und die GID (group ID) - identifiziert. Der Kernel von FreeBSD (und den meisten anderen &unix; - Systemen) entscheidet anhand der UID und der Gruppenmitgliedschaft - eines Prozesses, ob er dem Prozess etwas erlaubt oder nicht. Im - Unterschied zur UID kann ein Prozess zu einer Reihe von Gruppen - gehören. Wenn jemand von der GID eines - Benutzers oder Prozesses spricht, meint er damit meistens die erste - Gruppe der Gruppenliste. - - Die Zuordnung von Gruppennamen zur GID steht in - /etc/group, einer Textdatei mit vier durch - Doppelpunkte getrennten Feldern. Im ersten Feld steht der - Gruppenname, das zweite enthält ein verschlüsseltes - Passwort, das dritte gibt die GID an und das vierte besteht aus einer - Komma separierten Liste der Mitglieder der Gruppe. Diese Datei kann - einfach editiert werden (natürlich nur, wenn Sie dabei keine - Syntaxfehler machen). Eine ausführliche Beschreibung der Syntax - dieser Datei finden Sie in &man.group.5;. - - Wenn Sie /etc/group nicht händisch - editieren möchten, können Sie &man.pw.8; zum Editieren - benutzen. Das folgende Beispiel zeigt das Hinzufügen einer - Gruppe mit dem Namen teamtwo: - - - Setzen der Mitgliederliste einer Gruppe mit &man.pw.8; - - &prompt.root; pw groupadd teamtwo -&prompt.root; pw groupshow teamtwo -teamtwo:*:1100: - - - Die Zahl 1100 ist die GID der Gruppe - teamtwo. Momentan hat - teamtwo noch keine Mitglieder und ist daher - ziemlich nutzlos. Um das zu ändern, nehmen wir nun - jru in teamtwo - auf. - - - Ein Gruppenmitglied mit <command>pw</command> - hinzufügen - - &prompt.root; pw groupmod teamtwo -M jru -&prompt.root; pw groupshow teamtwo -teamtwo:*:1100:jru - - - Als Argument von geben Sie eine Komma - separierte Liste von Mitgliedern an, die in die Gruppe aufgenommen - werden sollen. Aus den vorherigen Abschnitten ist bekannt, dass die - Passwort-Datei ebenfalls eine Gruppe für jeden Benutzer - enthält. Das System teilt dem Benutzer automatisch eine Gruppe - zu, die aber vom Kommando von &man.pw.8; - nicht angezeigt wird. Diese Information wird allerdings von - &man.id.1; und ähnlichen Werkzeugen angezeigt. Das heißt, - dass &man.pw.8; nur /etc/group manipuliert, - es wird nicht versuchen, zusätzliche Informationen aus - /etc/passwd zu lesen. - - - Hinzufügen eines neuen Gruppenmitglieds mittels - &man.pw.8; - - &prompt.root; pw groupmod teamtwo -m db -&prompt.root; pw groupshow teamtwo -teamtwo:*:1100:jru,db - - - Die Argumente zur Option ist eine durch Komma - getrennte Liste von Benutzern, die der Gruppe hinzugefügt werden - sollen. Anders als im vorherigen Beispiel werden diese Benutzer in die - Gruppe aufgenommen und ersetzen nicht die Liste der bereits bestehenden - Benutzer in der Gruppe. - - - Mit <command>id</command> die Gruppenzugehörigkeit - bestimmen - - &prompt.user; id jru -uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo) - - - Wie Sie sehen, ist jru Mitglied von - jru und teamtwo. - - Weitere Informationen entnehmen Sie bitte &man.pw.8;. - - Property changes on: head/de_DE.ISO8859-1/books/handbook/users/chapter.xml ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/sgml \ No newline at end of property Index: head/de_DE.ISO8859-1/books/handbook/Makefile =================================================================== --- head/de_DE.ISO8859-1/books/handbook/Makefile (revision 48231) +++ head/de_DE.ISO8859-1/books/handbook/Makefile (revision 48232) @@ -1,317 +1,316 @@ # # $FreeBSD$ # $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.67 2011/12/31 12:27:25 bcr Exp $ -# basiert auf: r42118 +# basiert auf: r42953 # # Build the FreeBSD Handbook in its German translation. # # ------------------------------------------------------------------------ # # To add a new chapter to the Handbook: # # - Update this Makefile, chapters.ent and book.xml # - Add a descriptive entry for the new chapter in preface/preface.xml # # ------------------------------------------------------------------------ .PATH: ${.CURDIR}/../../share/xml/glossary MAINTAINER=de-bsd-translators@de.FreeBSD.org DOC?= book FORMATS?= html-split INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= IMAGES_EN = advanced-networking/isdn-bus.eps IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps IMAGES_EN+= advanced-networking/natd.eps IMAGES_EN+= advanced-networking/net-routing.pic IMAGES_EN+= advanced-networking/pxe-nfs.png IMAGES_EN+= advanced-networking/static-routes.pic IMAGES_EN+= bsdinstall/bsdinstall-adduser1.png IMAGES_EN+= bsdinstall/bsdinstall-adduser2.png IMAGES_EN+= bsdinstall/bsdinstall-adduser3.png IMAGES_EN+= bsdinstall/bsdinstall-boot-loader-menu.png IMAGES_EN+= bsdinstall/bsdinstall-choose-mode.png IMAGES_EN+= bsdinstall/bsdinstall-config-components.png IMAGES_EN+= bsdinstall/bsdinstall-config-hostname.png IMAGES_EN+= bsdinstall/bsdinstall-config-keymap.png IMAGES_EN+= bsdinstall/bsdinstall-config-services.png IMAGES_EN+= bsdinstall/bsdinstall-config-crashdump.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4-dhcp.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4-static.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv6.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv6-static.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-slaac.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-ipv4-dns.png IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-accesspoints.png IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-scan.png IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-wpa2setup.png IMAGES_EN+= bsdinstall/bsdinstall-distfile-extracting.png IMAGES_EN+= bsdinstall/bsdinstall-distfile-fetching.png IMAGES_EN+= bsdinstall/bsdinstall-distfile-verifying.png IMAGES_EN+= bsdinstall/bsdinstall-final-confirmation.png IMAGES_EN+= bsdinstall/bsdinstall-finalconfiguration.png IMAGES_EN+= bsdinstall/bsdinstall-final-modification-shell.png IMAGES_EN+= bsdinstall/bsdinstall-keymap-select-default.png IMAGES_EN+= bsdinstall/bsdinstall-mainexit.png IMAGES_EN+= bsdinstall/bsdinstall-netinstall-files.png IMAGES_EN+= bsdinstall/bsdinstall-netinstall-mirrorselect.png IMAGES_EN+= bsdinstall/bsdinstall-part-entire-part.png IMAGES_EN+= bsdinstall/bsdinstall-part-guided-disk.png IMAGES_EN+= bsdinstall/bsdinstall-part-guided-manual.png IMAGES_EN+= bsdinstall/bsdinstall-part-manual-addpart.png IMAGES_EN+= bsdinstall/bsdinstall-part-manual-create.png IMAGES_EN+= bsdinstall/bsdinstall-part-manual-partscheme.png IMAGES_EN+= bsdinstall/bsdinstall-part-review.png IMAGES_EN+= bsdinstall/bsdinstall-post-root-passwd.png IMAGES_EN+= bsdinstall/bsdinstall-set-clock-local-utc.png IMAGES_EN+= bsdinstall/bsdinstall-timezone-confirm.png IMAGES_EN+= bsdinstall/bsdinstall-timezone-country.png IMAGES_EN+= bsdinstall/bsdinstall-timezone-region.png IMAGES_EN+= bsdinstall/bsdinstall-timezone-zone.png IMAGES_EN+= geom/striping.pic IMAGES_EN+= install/adduser1.scr IMAGES_EN+= install/adduser2.scr IMAGES_EN+= install/adduser3.scr IMAGES_EN+= install/boot-loader-menu.scr IMAGES_EN+= install/boot-mgr.scr IMAGES_EN+= install/config-country.scr IMAGES_EN+= install/config-keymap.scr IMAGES_EN+= install/console-saver1.scr IMAGES_EN+= install/console-saver2.scr IMAGES_EN+= install/console-saver3.scr IMAGES_EN+= install/console-saver4.scr IMAGES_EN+= install/disklabel-auto.scr IMAGES_EN+= install/disklabel-ed1.scr IMAGES_EN+= install/disklabel-ed2.scr IMAGES_EN+= install/disklabel-fs.scr IMAGES_EN+= install/disklabel-root1.scr IMAGES_EN+= install/disklabel-root2.scr IMAGES_EN+= install/disklabel-root3.scr IMAGES_EN+= install/disk-layout.eps IMAGES_EN+= install/dist-set.scr IMAGES_EN+= install/dist-set2.scr IMAGES_EN+= install/docmenu1.scr IMAGES_EN+= install/ed0-conf.scr IMAGES_EN+= install/ed0-conf2.scr IMAGES_EN+= install/edit-inetd-conf.scr IMAGES_EN+= install/fdisk-drive1.scr IMAGES_EN+= install/fdisk-drive2.scr IMAGES_EN+= install/fdisk-edit1.scr IMAGES_EN+= install/fdisk-edit2.scr IMAGES_EN+= install/ftp-anon1.scr IMAGES_EN+= install/ftp-anon2.scr IMAGES_EN+= install/hdwrconf.scr IMAGES_EN+= install/keymap.scr IMAGES_EN+= install/main1.scr IMAGES_EN+= install/mainexit.scr IMAGES_EN+= install/main-std.scr IMAGES_EN+= install/main-options.scr IMAGES_EN+= install/main-doc.scr IMAGES_EN+= install/main-keymap.scr IMAGES_EN+= install/media.scr IMAGES_EN+= install/mouse1.scr IMAGES_EN+= install/mouse2.scr IMAGES_EN+= install/mouse3.scr IMAGES_EN+= install/mouse4.scr IMAGES_EN+= install/mouse5.scr IMAGES_EN+= install/mouse6.scr IMAGES_EN+= install/mta-main.scr IMAGES_EN+= install/net-config-menu1.scr IMAGES_EN+= install/net-config-menu2.scr IMAGES_EN+= install/nfs-server-edit.scr IMAGES_EN+= install/ntp-config.scr IMAGES_EN+= install/options.scr IMAGES_EN+= install/pkg-cat.scr IMAGES_EN+= install/pkg-confirm.scr IMAGES_EN+= install/pkg-install.scr IMAGES_EN+= install/pkg-sel.scr IMAGES_EN+= install/probstart.scr IMAGES_EN+= install/routed.scr IMAGES_EN+= install/security.scr IMAGES_EN+= install/sysinstall-exit.scr IMAGES_EN+= install/timezone1.scr IMAGES_EN+= install/timezone2.scr IMAGES_EN+= install/timezone3.scr IMAGES_EN+= install/userconfig.scr IMAGES_EN+= install/userconfig2.scr IMAGES_EN+= install/example-dir1.eps IMAGES_EN+= install/example-dir2.eps IMAGES_EN+= install/example-dir3.eps IMAGES_EN+= install/example-dir4.eps IMAGES_EN+= install/example-dir5.eps IMAGES_EN+= mail/mutt1.scr IMAGES_EN+= mail/mutt2.scr IMAGES_EN+= mail/mutt3.scr IMAGES_EN+= mail/pine1.scr IMAGES_EN+= mail/pine2.scr IMAGES_EN+= mail/pine3.scr IMAGES_EN+= mail/pine4.scr IMAGES_EN+= mail/pine5.scr IMAGES_EN+= security/ipsec-network.pic IMAGES_EN+= security/ipsec-crypt-pkt.pic IMAGES_EN+= security/ipsec-encap-pkt.pic IMAGES_EN+= security/ipsec-out-pkt.pic IMAGES_EN+= virtualization/parallels-freebsd1.png IMAGES_EN+= virtualization/parallels-freebsd2.png IMAGES_EN+= virtualization/parallels-freebsd3.png IMAGES_EN+= virtualization/parallels-freebsd4.png IMAGES_EN+= virtualization/parallels-freebsd5.png IMAGES_EN+= virtualization/parallels-freebsd6.png IMAGES_EN+= virtualization/parallels-freebsd7.png IMAGES_EN+= virtualization/parallels-freebsd8.png IMAGES_EN+= virtualization/parallels-freebsd9.png IMAGES_EN+= virtualization/parallels-freebsd10.png IMAGES_EN+= virtualization/parallels-freebsd11.png IMAGES_EN+= virtualization/parallels-freebsd12.png IMAGES_EN+= virtualization/parallels-freebsd13.png IMAGES_EN+= virtualization/virtualpc-freebsd1.png IMAGES_EN+= virtualization/virtualpc-freebsd2.png IMAGES_EN+= virtualization/virtualpc-freebsd3.png IMAGES_EN+= virtualization/virtualpc-freebsd4.png IMAGES_EN+= virtualization/virtualpc-freebsd5.png IMAGES_EN+= virtualization/virtualpc-freebsd6.png IMAGES_EN+= virtualization/virtualpc-freebsd7.png IMAGES_EN+= virtualization/virtualpc-freebsd8.png IMAGES_EN+= virtualization/virtualpc-freebsd9.png IMAGES_EN+= virtualization/virtualpc-freebsd10.png IMAGES_EN+= virtualization/virtualpc-freebsd11.png IMAGES_EN+= virtualization/virtualpc-freebsd12.png IMAGES_EN+= virtualization/virtualpc-freebsd13.png IMAGES_EN+= virtualization/vmware-freebsd01.png IMAGES_EN+= virtualization/vmware-freebsd02.png IMAGES_EN+= virtualization/vmware-freebsd03.png IMAGES_EN+= virtualization/vmware-freebsd04.png IMAGES_EN+= virtualization/vmware-freebsd05.png IMAGES_EN+= virtualization/vmware-freebsd06.png IMAGES_EN+= virtualization/vmware-freebsd07.png IMAGES_EN+= virtualization/vmware-freebsd08.png IMAGES_EN+= virtualization/vmware-freebsd09.png IMAGES_EN+= virtualization/vmware-freebsd10.png IMAGES_EN+= virtualization/vmware-freebsd11.png IMAGES_EN+= virtualization/vmware-freebsd12.png # Images from the cross-document image library IMAGES_LIB= callouts/1.png IMAGES_LIB+= callouts/2.png IMAGES_LIB+= callouts/3.png IMAGES_LIB+= callouts/4.png IMAGES_LIB+= callouts/5.png IMAGES_LIB+= callouts/6.png IMAGES_LIB+= callouts/7.png IMAGES_LIB+= callouts/8.png IMAGES_LIB+= callouts/9.png IMAGES_LIB+= callouts/10.png IMAGES_LIB+= callouts/11.png IMAGES_LIB+= callouts/12.png IMAGES_LIB+= callouts/13.png IMAGES_LIB+= callouts/14.png IMAGES_LIB+= callouts/15.png # # SRCS lists the individual XML files that make up the document. Changes # to any of these files will force a rebuild # # XML content SRCS+= audit/chapter.xml SRCS+= book.xml SRCS+= bsdinstall/chapter.xml SRCS+= colophon.xml SRCS+= advanced-networking/chapter.xml SRCS+= basics/chapter.xml SRCS+= bibliography/chapter.xml SRCS+= boot/chapter.xml SRCS+= config/chapter.xml SRCS+= cutting-edge/chapter.xml SRCS+= desktop/chapter.xml SRCS+= disks/chapter.xml SRCS+= dtrace/chapter.xml SRCS+= eresources/chapter.xml SRCS+= filesystems/chapter.xml SRCS+= firewalls/chapter.xml SRCS+= zfs/chapter.xml SRCS+= geom/chapter.xml SRCS+= install/chapter.xml SRCS+= introduction/chapter.xml SRCS+= jails/chapter.xml SRCS+= kernelconfig/chapter.xml SRCS+= l10n/chapter.xml SRCS+= linuxemu/chapter.xml SRCS+= mac/chapter.xml SRCS+= mail/chapter.xml SRCS+= mirrors/chapter.xml SRCS+= multimedia/chapter.xml SRCS+= network-servers/chapter.xml SRCS+= pgpkeys/chapter.xml SRCS+= ports/chapter.xml SRCS+= ppp-and-slip/chapter.xml SRCS+= preface/preface.xml SRCS+= printing/chapter.xml SRCS+= security/chapter.xml SRCS+= serialcomms/chapter.xml -SRCS+= users/chapter.xml SRCS+= virtualization/chapter.xml SRCS+= x11/chapter.xml # Entities SRCS+= chapters.ent # alle Kapitel bauen CHAPTERS?= ${SRCS:M*chapter.xml} XMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./} XMLFLAGS+= -i chap.freebsd-glossary URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. # # rules generating lists of mirror site from XML database. # XMLDOCS= lastmod:::mirrors.lastmod.inc \ mirrors-ftp-index:::mirrors.xml.ftp.index.inc \ mirrors-ftp:::mirrors.xml.ftp.inc \ mirrors-cvsup-index:::mirrors.xml.cvsup.index.inc \ mirrors-cvsup:::mirrors.xml.cvsup.inc \ eresources-index:::eresources.xml.www.index.inc \ eresources:::eresources.xml.www.inc DEPENDSET.DEFAULT= transtable mirror XSLT.DEFAULT= ${XSL_MIRRORS} XML.DEFAULT= ${XML_MIRRORS} PARAMS.lastmod+= --param 'target' "'lastmod'" PARAMS.mirrors-ftp-index+= --param 'type' "'ftp'" \ --param 'proto' "'ftp'" \ --param 'target' "'index'" PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \ --param 'proto' "'ftp'" \ --param 'target' "'handbook/mirrors/chapter.xml'" PARAMS.mirrors-cvsup-index+= --param 'type' "'cvsup'" \ --param 'proto' "'cvsup'" \ --param 'target' "'index'" PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \ --param 'proto' "'cvsup'" \ --param 'target' "'handbook/mirrors/chapter.xml'" PARAMS.eresources-index+= --param 'type' "'www'" \ --param 'proto' "'http'" \ --param 'target' "'index'" PARAMS.eresources+= --param 'type' "'www'" \ --param 'proto' "'http'" \ --param 'target' "'handbook/eresources/chapter.xml'" SRCS+= mirrors.lastmod.inc \ mirrors.xml.ftp.inc \ mirrors.xml.ftp.index.inc \ mirrors.xml.cvsup.inc \ mirrors.xml.cvsup.index.inc \ eresources.xml.www.inc \ eresources.xml.www.index.inc .include "${DOC_PREFIX}/share/mk/doc.project.mk" Index: head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml (revision 48231) +++ head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml (revision 48232) @@ -1,2574 +1,3722 @@ Grundlagen des UNIX Betriebssystems Übersicht Dieses Kapitel umfasst die grundlegenden Kommandos und Funktionsweisen des &os;-Betriebssystems. Viel von diesem Material gilt auch für jedes andere &unix;-artige System. Neue Benutzer von &os; sollten dieses Kapitel aufmerksam lesen. Dieser Abschnitt behandelt die folgenden Themen: virtuelle Konsolen, + Erstellung und Verwaltung von Benutzern und Gruppen in + &os;, + + Zugriffsrechte unter &unix; sowie Datei-Flags unter &os;, Zugriffskontrolllisten für Dateisysteme, die Verzeichnisstruktur von &os;, Organisation von Dateisystemen unter &os;, Ein- und Abhängen von Dateisystemen, Prozesse, Dämonen und Signale, Shells und die Login-Umgebung, Texteditoren, Geräte und Gerätedateien, wie Sie in den Manualpages nach weiteren Informationen suchen können. Virtuelle Konsolen und Terminals virtuelle Konsole Terminals Konsole Wenn das &os;-System so konfiguriert wurde, dass es ohne eine grafische Benutzeroberfläche startet, wird das System nach dem Start einen Anmeldeprompt ausgeben, wie in diesem Beispiel zu sehen: FreeBSD/amd64 (pc3.example.org) (ttyv0) login: Die erste Zeile enthält einige Informationen über das System. amd64 zeigt an, dass auf dem System in diesem Beispiel eine 64-Bit Version von &os; läuft. Der Hostname ist pc3.example.org und ttyv0 gibt an, dass dies die Systemkonsole ist. Die zweite Zeile zeigt den Anmeldeprompt. Da &os; ein Mehrbenutzersystem ist, muss es die verschiedenen Benutzer voneinander unterscheiden können. Dies wird dadurch erreicht, dass sich jeder Benutzer zuerst am System anmelden muss, um Zugriff auf die Programme zu bekommen. Jeder Benutzer hat einen eindeutigen Benutzernamen und ein persönliches Kennwort. Um sich auf der Systemkonsole anzumelden, geben Sie den Benutzernamen ein, der während der Systeminstallation, wie in beschrieben, konfiguriert wurde und drücken Sie Enter. Geben Sie dann das zum Benutzernamen zugeordnete Passwort ein und drücken Enter. Das Passwort wird aus Sicherheitsgründen nicht angezeigt. Sobald das richtige Passwort eingegeben wird, wird die Nachricht des Tages (MOTD) gefolgt von einer Eingabeaufforderung ausgegeben. In Abhängigkeit der verwendeten Shell des Benutzers wird der Prompt mit dem Zeichen #, $ oder % dargestellt. Der Prompt zeigt an, dass der Benutzer jetzt an der &os; Systemkonsole angemeldet ist und nun alle verfügbaren Befehle probieren kann. Virtuelle Konsolen Obwohl die Systemkonsole dazu verwendet werden kann, um mit dem System zu interagieren, wird sich ein Benutzer in der Regel an einer virtuellen Konsole im &os;-System anmelden. Das liegt daran, dass die Systemmeldungen standardmäßig auf der Systemkonsole angezeigt werden und somit die Meldungen des Befehls oder einer Datei, die der Benutzer gerade bearbeitet, überschrieben werden. In der Voreinstellung ist &os; so konfiguriert, dass viele virtuelle Konsolen zur Eingabe von Befehlen zur Verfügung stehen. Jede virtuelle Konsole verfügt über einen eigenen Anmeldeprompt und eine Shell. Sie können ganz einfach zwischen den virtuellen Konsolen umschalten. Dies ist vergleichbar mit mehreren geöffneten Fenstern in einer graphischen Umgebung. Die Tastenkombinationen AltF1 bis AltF8 sind in &os; zum Umschalten zwischen virtuellen Konsolen reserviert. Verwenden Sie AltF1 um auf die Systemkonsole (ttyv0) zu wechseln, AltF2 für die erste virtuelle Konsole (ttyv1, AltF3 für die zweite virtuelle Konsole (ttyv2, und so weiter. Beim Wechsel von einer Konsole zur nächsten wird die Bildschirmausgabe von &os; verwaltet. Dies erzeugt die Illusion mehrerer Bildschirme und Tastaturen, an denen Kommandos abgesetzt werden können. Die Programme, die in einer virtuellen Konsole gestartet werden, laufen auch dann weiter, wenn der Benutzer auf eine andere virtuelle Konsole wechselt. Lesen Sie &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; und &man.kbdcontrol.1; für eine recht technische Beschreibung der &os;-Konsole und der Tastatur-Treiber. In &os; wird die Anzahl der verfügbaren virtuellen Konsolen in diesem Abschnitt von /etc/ttys konfiguriert: # name getty type status comments # ttyv0 "/usr/libexec/getty Pc" cons25 on secure # Virtual terminals ttyv1 "/usr/libexec/getty Pc" cons25 on secure ttyv2 "/usr/libexec/getty Pc" cons25 on secure ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure Um eine virtuelle Konsole zu deaktivieren, setzen Sie ein Kommentarzeichen (# an den Anfang der Zeile für die entsprechende Konsole. Um bspw. die Anzahl der verfügbaren virtuellen Konsolen von acht auf vier zu reduzieren, setzen Sie ein # an den Anfang der letzten vier Zeilen, den virtuellen Konsolen ttyv5 bis ttyv8. Kommentieren Sie nicht die Zeile für die Systemkonsole ttyv0 aus! Beachten Sie, dass die letzte virtuelle Konsole (ttyv8) zum Wechsel auf die graphische Oberfläche gedacht ist, wenn &xorg; wie im installiert und konfiguriert ist. &man.ttys.5; enthält eine ausführliche Beschreibung der Spalten dieser Datei und der verfügbaren Optionen für virtuelle Konsolen. Single-User-Modus Das &os; Boot-Menü verfügt über eine Option Boot Single User. Wird diese Option gewählt, bootet das System in einen speziellen Modus, der als Single-User-Modus bekannt ist. Dieser Modus wird normalerweise zur Reparatur des Systems verwendet, bspw. wenn das System nicht mehr startet, oder das root-Passwort zurückgesetzt werden muss. Im Single-User-Modus haben Sie keinen Zugriff auf das Netzwerk und es stehen Ihnen keine weiteren virtuellen Konsolen zur Verfügung. Allerdings haben Sie vollen Zugriff auf das System und in der Voreinstellung wird das root-Passwort nicht benötigt. Aus diesem Grund wird ein physischer Zugriff auf die Tastatur benötigt, um in diesem Modus zu booten. Zur Absicherung eines &os;-Systems sollte ermittelt werden, welche Personen physischen Zugriff auf die Tastatur bekommen sollen. Die Einstellungen für den Single-User-Modus befinden sich diesem Abschnitt von /etc/ttys: # name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. console none unknown off secure In der Voreinstellung ist der Status auf secure eingestellt. Das setzt voraus, dass der physische Zugriff auf die Tastatur entweder unwichtig ist, oder über eine Sicherheitsrichtlinie geregelt wird. Wenn der Status auf insecure eingestellt wird, wird davon ausgegangen, dass die Umgebung selbst unsicher ist, da jeder Zugriff auf die Tastatur hat. &os; wird dann nach dem root-Passwort fragen, wenn ein Benutzer versucht in den Single-User-Modus zu booten. Setzen Sie insecure nicht leichtfertig ein! Wenn das root-Passwort vergessen wird, wird es schwierig in den Single-User-Modus zu gelangen, wenn man den Bootprozess von &os; nicht genau versteht. Den Videomodus der Konsole anpassen Der Standard-Videomodus der &os;-Konsole kann auf jeden Modus eingestellt werden, der von der Grafikkarte und dem Monitor unterstützt wird (beispielsweise 1024x768 oder 1280x1024). Um eine andere Einstellung zu verwenden, muss das VESA-Modul geladen werden: &prompt.root; kldload vesa Um festzustellen, welche Video-Modi von der Hardware unterstützt werden, nutzen Sie &man.vidcontrol.1;. Um eine Liste aller unterstützten Modi zu sehen, verwenden Sie diesen Befehl: &prompt.root; vidcontrol -i mode Die Ausgabe dieses Befehls listet alle Videomodi, die von der Hardware unterstützt werden. Um einen neuen Video-Modi zu wählen, wird der entsprechende Modus als root-Benutzer an &man.vidcontrol.1; übergeben: &prompt.root; vidcontrol MODE_279 Um diese Einstellung dauerhaft zu speichern, muss folgende Zeile in /etc/rc.conf hinzugefügt werden: allscreens_flags="MODE_279" + + + + + + Benutzer und grundlegende Account-Verwaltung + + &os; ermöglicht es mehreren Benutzern, den Computer zur + selben Zeit zu benutzen. Es kann immer nur ein Benutzer + vor der Konsole sitzen, aber es können sich beliebig viele + Benutzer über das Netzwerk am System anmelden. Jeder Benutzer + muss einen Account haben, um das System benutzen zu + können. + + Nachdem Sie dieses Kapitel gelesen haben, werden Sie + + + + die verschiedenen Account-Typen von &os; kennen, + + + + wissen, wie Sie Accounts angelegen, verändern oder + löschen, + + + + wissen, wie Sie Limits für einen Benutzer oder eine + Gruppe setzen, um beispielsweise Ressourcen, wie Speicher + oder CPU-Zeit einzuschränken, + + + + wissen, wie Sie Gruppen erstellen und Benutzer zu + diesen Gruppen hinzufügen. + + + + + Account-Typen + + Jeder Zugriff auf das &os;-System geschieht über Accounts + und alle Prozesse werden von Benutzern gestartet, also sind + Benutzer- und Account-Verwaltung von wesentlicher + Bedeutung. + + Es gibt drei Haupttypen von Accounts: Systembenutzer, + Benutzer-Accounts und der Superuser-Account. + + + Systembenutzer + + + Accounts + System-Accounts + + + Systembenutzer starten Dienste wie DNS, Mail-Server und + Web-Server. Der Grund dafür ist die Sicherheit; wenn die + Programme von dem Superuser gestartet werden, können Sie + ohne Einschränkungen handeln. + + + Accounts + daemon + + + Accounts + operator + + + Beispiele von Systembenutzern sind + daemon, + operator, + bind, + news und + www. + + + Accounts + nobody + + + nobody ist der + generische unprivilegierte Systembenutzer. Bedenken Sie + aber, dass je mehr Dienste nobody benutzen, desto mehr + Dateien und Prozesse diesem Benutzer gehören und dieser + Benutzer damit umso privilegierter wird. + + + + Benutzer-Accounts + + + Accounts + Benutzer-Accounts + + + Benutzer-Accounts sind realen Personen zugeordnet und sind + das primäre Mittel des Zugriffs das System. Jede Person, + die Zugriff auf das System bekommt, sollte einen eindeutigen + Benutzer-Account besitzen. Dies erlaubt es dem + Administrator herauszufinden, wer was macht. + Gleichzeitig werden die Benutzer daran gehindert, die + Einstellungen anderer Benutzer zu zerstören. + + Jeder Benutzer kann die eigene Umgebung anpassen, + bspw. seine voreingestellte Shell, Editor, Tastenbelegungen + und Spracheinstellungen. + + Mit jedem Account eines &os;-Systems sind bestimmte + Informationen verknüpft: + + + + Loginnamen + + + Der Loginname wird am login: + Prompt eingegeben. Es gibt eine Reihe von Regeln für + die Erstellung von gültigen Loginnamen, die in + &man.passwd.5; dokumentiert sind. Es wird aus + Kompatibilitätsgründen empfohlen, Benutzernamen zu + verwenden, die aus Kleinbuchstaben bestehen und bis zu + acht Zeichen lang sind. + + + + + Passwort + + + Jeder Account ist mit einem Passwort + verknüpft. + + + + + User ID (UID) + + + Die User ID (UID) ist eine + Zahl, die verwendet wird, um die Benutzer auf dem + &os;-System eindeutig zu identifizieren. Programme, + die einen Loginnamen akzeptieren, wandeln diesen + zuerst in eine UID um. Es wird + empfohlen, nur UIDs kleiner + 65535 zu verwenden, da höhere Werte + Kompatibilitätsprobleme mit einigen Anwendungen + verursachen können. + + + + + Group ID (GID) + + + Die Group ID (GID) ist eine + Zahl, die verwendet wird, um die primäre Gruppe eines + Benutzers eindeutig zu identifizieren. Gruppen sind + ein Mechanismus zur Steuerung des Zugriffs auf + Ressourcen über die GID eines + Benutzers anstelle der UID. Dies + kann die Größe einiger Konfigurationsdateien + signifikant reduzieren und ermöglicht es Benutzern, + Mitglied mehreren Gruppen zu sein. Es wird empfohlen, + GIDs kleiner 65535 zu verwenden, da + höhere Werte bei einigen Anwendungen große Probleme + verursachen können. + + + + + Login-Klasse + + + Login-Klassen erweitern das Gruppenkonzept. Sie + erhöhen die Flexibilität des Systems in der Handhabung + der verschiedenen Accounts. Login-Klassen werden + auch im + diskutiert. + + + + + Gültigkeit von Passwörtern + + + Ein regelmäßiges Ändern des Passworts wird in + der Voreinstellung von &os; nicht erzwungen. + Allerdings können Passwortwechsel nach einer + gewissen Zeit auf Basis einzelner Accounts mit + &man.pw.8; erzwungen werden. + + + + + Verfallszeit eines Accounts + + + In der Voreinstellung verfallen unter &os; keine + Accounts. Wenn Sie Accounts einrichten, die nur für + eine bestimmte Zeit gültig sein sollen, beispielsweise + Accounts für Teilnehmer eines Praktikums, können Sie + mit &man.pw.8; die Gültigkeitsdauer des Accounts + angeben. Nachdem die angegebene Zeitspanne + verstrichen ist, kann dieser Account nicht mehr zum + Anmelden verwendet werden, obwohl alle Verzeichnisse + und Dateien, die diesem Account gehören, noch + vorhanden sind. + + + + + vollständiger Benutzername + + + &os; identifiziert einen Account eindeutig über + den Loginnamen, der aber keine Ähnlichkeit mit dem + richtigen Namen des Benutzers haben muss. Ähnlich + wie bei einem Kommentar, erlaubt diese Information + Großbuchstaben und mehr als 8 Zeichen. + + + + + Heimatverzeichnis + + + Das Heimatverzeichnis gibt den vollständigen Pfad + zu dem Verzeichnis an, in dem sich der Benutzer nach + erfolgreicher Anmeldung befindet. Es ist üblich, alle + Heimatverzeichnisse unter + /home/Loginname + oder + /usr/home/Loginname + anzulegen. Im Heimatverzeichnis oder in dort + angelegten Verzeichnissen werden die Dateien eines Benutzers + gespeichert. + + + + + Login-Shell + + + Grundsätzlich ist die Shell, von denen es viele + unterschiedliche gibt, eine Schnittstelle zum System. + Die bevorzugte Shell eines Benutzers kann seinem + Account zugeordnet werden. + + + + + + + Der Superuser-Account + + + Accounts + Superuser (root) + + + Der Superuser-Account, normalerweise root genannt, ist + vorkonfiguriert und erleichtert die Systemverwaltung, sollte + aber nicht für alltägliche Aufgaben wie das Verschicken und + Empfangen von Mails, Erforschen des Systems oder + Programmierung benutzt werden. + + Der Superuser kann, im Gegensatz zu normalen + Benutzer-Accounts, ohne Beschränkungen operieren und die + falsche Anwendung des Superuser-Accounts kann in + spektakulären Katastrophen resultieren. Benutzer-Accounts + sind nicht in der Lage, das System versehentlich zu + zerstören, deswegen wird empfohlen, normale + Benutzer-Accounts zu verwenden, solange nicht zusätzliche + Privilegien benötigt werden. + + Kommandos, die Sie als Superuser eingeben, sollten Sie + immer doppelt und dreifach überprüfen, da ein zusätzliches + Leerzeichen oder ein fehlender Buchstabe irreparablen + Datenverlust bedeuten kann. + + Es gibt mehrere Möglichkeiten Superuser-Rechte zu + bekommen. Obwohl man sich direkt als root anmelden kann, wird von + dieser Methode dringend abgeraten. + + Verwenden Sie stattdessen &man.su.1; um zum Superuser zu + werden. Wenn Sie noch ein - eingeben, + wird der Benutzer auch die Umgebung des Root-Benutzers + erben. Der Benutzer, der diesen Befehl ausführt muss + Mitglied der Gruppe wheel sein, oder der + Befehl schlägt fehl. Zudem muss der Benutzer das Kennwort + für den Benutzer-Account root kennen. + + In diesem Besipiel wird der Benutzer nur zum Superuser, + um make install auszuführen, da dieser + Befehl Superuser-Rechte erfordert. Nachdem der Befehl + ausgeführt wurde, kann der Benutzer exit + eingeben, um den Superuser-Account zu verlassen und zu den + Privilegien des Benutzer-Accounts zurückkehren. + + + Ein Programm als Superuser installieren + + &prompt.user; configure +&prompt.user; make +&prompt.user; su - +Password: +&prompt.root; make install +&prompt.root; exit +&prompt.user; + + + Das in &os; enthaltene &man.su.1; funktioniert gut für + einzelne Systeme oder in kleineren Netzwerken, mit nur einem + Administrator. Eine Alternative ist es, das Paket oder den + Port security/sudo zu installieren. + Diese Software bietet eine Protokollierung von Aktivitäten + und ermöglicht es dem Administrator zu bestimmen, welche + Benutzer welche Befehle als Superuser ausführen + dürfen. + + + + + Accounts verändern + + + Accounts + verändern + + + &os; stellt eine Vielzahl an Programmen bereit, um + Accounts zu verändern. Die gebräuchlichsten Kommandos sind in + + gefolgt von einer detaillierten Beschreibung, + zusammengefasst. Weitere Informationen und + Anwendungsbeispiele finden Sie in der Manualpage des + jeweiligen Programms. + + + Programme zur Verwaltung von Benutzer-Accounts + + + + + + + + Programm + Zusammenfassung + + + + + &man.adduser.8; + Das empfohlene Werkzeug, um neue Accounts zu + erstellen. + + + &man.rmuser.8; + Das empfohlene Werkzeug, um Accounts zu + löschen. + + + &man.chpass.1; + Ein flexibles Werkzeug, um Informationen in der + Account-Datenbank zu verändern. + + + &man.passwd.1; + Ein einfaches Werkzeug, um Passwörter von Accounts + zu ändern. + + + &man.pw.8; + Ein mächtiges und flexibles Werkzeug um alle + Informationen über Accounts zu ändern. + + + +
+ + + <command>adduser</command> + + + Accounts + erstellen + + + adduser + + + /usr/share/skel + + + &man.adduser.8; ist ein einfaches Programm zum + Hinzufügen neuer Benutzer. Wenn ein neuer Benutzer + hinzugefügt wird, aktualisiert das Programm automatisch + /etc/passwd und + /etc/group. Es erstellt auch das + Heimatverzeichnis für den Benutzer, kopiert die + Standardkonfigurationsdateien aus + /usr/share/skel und kann optional + eine ,,Willkommen``-Nachricht an den neuen Benutzer + versenden. + + + Einen Benutzer unter &os; anlegen + + &prompt.root; adduser +Username: jru +Full name: J. Random User +Uid (Leave empty for default): +Login group [jru]: +Login group is jru. Invite jru into other groups? []: wheel +Login class [default]: +Shell (sh csh tcsh zsh nologin) [sh]: zsh +Home directory [/home/jru]: +Home directory permissions (Leave empty for default): +Use password-based authentication? [yes]: +Use an empty password? (yes/no) [no]: +Use a random password? (yes/no) [no]: +Enter password: +Enter password again: +Lock out the account after creation? [no]: +Username : jru +Password : **** +Full Name : J. Random User +Uid : 1001 +Class : +Groups : jru wheel +Home : /home/jru +Shell : /usr/local/bin/zsh +Locked : no +OK? (yes/no): yes +adduser: INFO: Successfully added (jru) to the user database. +Add another user? (yes/no): no +Goodbye! +&prompt.root; + + + + Wenn Sie das Passwort eingeben, werden weder Passwort noch + Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort + korrekt eingeben. + + + + + <command>rmuser</command> + + + rmuser + + + Accounts + löschen + + + Benutzen Sie &man.rmuser.8;, um einen Account + vollständig aus dem System zu entfernen. Dieses Programm + führt die folgenden Schritte durch: + + + + Entfernt den &man.crontab.1; Eintrag des Benutzers, + wenn dieser existiert. + + + + Entfernt alle &man.at.1; jobs, die dem Benutzer + gehören. + + + + Schließt alle Prozesse des Benutzers. + + + + Entfernt den Benutzer aus der lokalen Passwort-Datei + des Systems. + + + + Entfernt das Heimatverzeichnis des Benutzers, falls + es dem Benutzer gehört. + + + + Entfernt eingegangene E-Mails des Benutzers + aus /var/mail. + + + + Entfernt alle Dateien des Benutzers aus temporären + Dateispeicherbereichen wie + /tmp. + + + + Entfernt den Loginnamen von allen Gruppen, zu denen + er gehört, aus /etc/group. Wenn + eine Gruppe leer wird und der Gruppenname mit dem + Loginnamen identisch ist, wird die Gruppe entfernt. Das + ergänzt sich mit den einzelnen Benutzer-Gruppen, die von + &man.adduser.8; für jeden neuen Benutzer erstellt + werden. + + + + Der Superuser-Account kann nicht mit &man.rmuser.8; + entfernt werden, da dies in den meisten Fällen das System + unbrauchbar macht. + + Als Vorgabe wird ein interaktiver Modus benutzt. + + + Interaktives Löschen von Accounts mit + <command>rmuser</command> + + &prompt.root; rmuser jru +Matching password entry: +jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh +Is this the entry you wish to remove? y +Remove user's home directory (/home/jru)? y +Updating password file, updating databases, done. +Updating group file: trusted (removing group jru -- personal group is empty) done. +Removing user's incoming mail file /var/mail/jru: done. +Removing files belonging to jru from /tmp: done. +Removing files belonging to jru from /var/tmp: done. +Removing files belonging to jru from /var/tmp/vi.recover: done. +&prompt.root; + + + + + <command>chpass</command> + + + chpass + + + Mit &man.chpass.1; können Informationen der + Benutzerdatenbank, wie Passwörter, Shells und persönliche + Informationen verändert werden. + + Nur der Superuser kann die Informationen und Passwörter + der anderen Benutzer mit &man.chpass.1; verändern. + + Werden neben dem optionalen Loginnamen keine weiteren + Optionen angegeben, zeigt &man.chpass.1; einen Editor mit + Account-Informationen an. Wenn der Benutzer den Editor + verlässt, wird die Account-Datenbank mit den neuen + Informationen aktualisiert. + + + Unter &os; wird nach dem Verlassen des Editors nach + dem Passwort gefragt, es sei denn, man ist als Superuser + angemeldet. + + + + Interaktives <command>chpass</command> des Superusers + + #Changing user database information for jru. +Login: jru +Password: * +Uid [#]: 1001 +Gid [# or name]: 1001 +Change [month day year]: +Expire [month day year]: +Class: +Home directory: /home/jru +Shell: /usr/local/bin/zsh +Full Name: J. Random User +Office Location: +Office Phone: +Home Phone: +Other information: + + + Der normale Benutzer kann nur einen kleinen Teil dieser + Informationen verändern und natürlich nur die Daten des + eigenen Accounts. + + + Interaktives <command>chpass</command> eines normalen + Benutzers + + #Changing user database information for jru. +Shell: /usr/local/bin/tcsh +Full Name: J. Random User +Office Location: +Office Phone: +Home Phone: +Other information: + + + + &man.chfn.1; und &man.chsh.1; sind nur Verweise auf + &man.chpass.1; genauso wie &man.ypchpass.1;, + &man.ypchfn.1; und &man.ypchsh.1;. NIS + wird automatisch unterstützt, deswegen ist es nicht + notwendig das yp vor dem Kommando + einzugeben. NIS wird später im + besprochen. + + + + + <application>passwd</application> + + + passwd + + + Accounts + Passwort wechseln + + + &man.passwd.1; ist der übliche Weg, Ihr eigenes Passwort + als Benutzer zu ändern oder das Passwort eines anderen + Benutzers als Superuser. + + + Um unberechtigte Änderungen zu verhindern, + muss bei einem Passwortwechsel zuerst das ursprüngliche + Passwort eingegeben werden. + + + + Das eigene Passwort wechseln + + &prompt.user; passwd +Changing local password for jru. +Old password: +New password: +Retype new password: +passwd: updating the database... +passwd: done + + + + + Als Superuser das Passwort eines anderen Accounts + verändern + + &prompt.root; passwd jru +Changing local password for jru. +New password: +Retype new password: +passwd: updating the database... +passwd: done + + + + Wie bei &man.chpass.1; ist &man.yppasswd.1; + nur ein Verweis auf &man.passwd.1;. NIS wird von + jedem dieser Kommandos unterstützt. + + + + + <command>pw</command> + + + pw + + + &man.pw.8; ist ein Kommandozeilenprogramm, mit dem man + Accounts und Gruppen erstellen, entfernen, verändern und + anzeigen kann. Dieses Kommando dient als Schnittstelle zu + den Benutzer- und Gruppendateien des Systems. &man.pw.8; + besitzt eine Reihe mächtiger Kommandozeilenschalter, die es + für die Benutzung in Shell-Skripten geeignet machen, doch + finden neue Benutzer die Bedienung des Kommandos + komplizierter, als die der anderen hier vorgestellten + Kommandos. + +
+ + + Benutzer einschränken + + Benutzer einschränken + + Accounts + einschränken + + + &os; bietet dem Systemadministrator mehrere + Möglichkeiten die System-Ressourcen, die ein einzelner + Benutzer verwenden kann, einzuschränken. Diese Limitierungen + sind in zwei Kategorien eingeteilt: Festplattenkontingente und + andere Ressourcenbeschränkungen. + + Quotas + + Benutzer einschränken + Quotas + + Festplatten Quotas + + Festplatten-Kontingente schränken den Plattenplatz, der + einem Benutzer zur Verfügung steht, ein. Sie bieten zudem, + ohne aufwändige Berechnung, einen schnellen Überblick + über den verbrauchten Plattenplatz. Kontingente werden im + diskutiert. + + Die anderen Ressourcenbeschränkungen umfassen die + Begrenzung von CPU, Speicher und weitere Ressourcen, die ein + Benutzer verbrauchen kann. + + + /etc/login.conf + + + Login-Klassen werden in + /etc/login.conf und sind in + &man.login.conf.5; im Detail beschrieben.n. Jeder Benutzer + wird einer Login-Klasse zugewiesen (standardmäßig + default) und jede Login-Klasse ist mit + einem Satz von Login-Fähigkeiten verbunden. Eine + Login-Fähigkeit ist ein + Name=Wert + Paar, in dem Name die Fähigkeit + bezeichnet und Wert ein beliebiger + Text ist, der in Abhänigkeit von + Name entsprechend verarbeitet wird. + Login-Klassen und -Fähigkeiten zu definieren ist ziemlich + einfach und wird auch in &man.login.conf.5; + beschrieben. + + + &os; liest die Konfiguration aus + /etc/login.conf normalerweise nicht + direkt, sondern nur über die Datenbank + /etc/login.conf.db, da diese eine + schnellere Abfrage erlaubt. Wenn + /etc/login.conf verändert wurde, muss + die /etc/login.conf.db mit dem + folgenden Kommando aktualisiert werden: + + &prompt.root; cap_mkdb /etc/login.conf + + + Ressourcenbeschränkungen unterscheiden sich von normalen + Login-Fähigkeiten zweifach. Erstens gibt es für jede + Beschränkung ein aktuelles und ein maximales Limit. Das + aktuelle Limit kann vom Benutzer oder einer Anwendung beliebig + bis zum maximalen Limit verändert werden. Letzteres kann + der Benutzer nur heruntersetzen. Zweitens gelten die meisten + Ressourcenbeschränkungen für jeden vom Benutzer gestarteten + Prozess, nicht für den Benutzer selbst. Beachten Sie jedoch, + dass diese Unterschiede durch das spezifische Einlesen der + Limits und nicht durch das System der Login-Fähigkeiten + entstehen (das heißt, Ressourcenbeschränkungen sind + keine Login-Fähigkeiten). + + Hier befinden sich die am häufigsten benutzten + Ressourcenbeschränkungen. Der Rest kann zusammen mit den + anderen Login-Fähigkeiten in &man.login.conf.5; gefunden + werden: + + + + coredumpsize + + + coredumpsize + + Benutzer einschränken + coredumpsize + + + Das Limit der Größe einer core-Datei, die von einem + Programm generiert wird, unterliegt aus offensichtlichen + Gründen anderen Limits der Festplattenbenutzung, zum + Beispiel filesize oder + Festplattenkontingenten. Es wird aber trotzdem oft als + weniger harte Methode zur Kontrolle des + Festplattenplatz-Verbrauchs verwendet: Da Benutzer die + core-Dateien nicht selbst erstellen und sie oft nicht + löschen, kann sie diese Option davor retten, dass kein + Festplattenspeicher mehr zur Verfügung steht, sollte ein + großes Programm abstürzen. + + + + + cputime + + + cputime + + Benutzer einschränken + cputime + + + Die maximale Rechenzeit, die ein Prozess eines + Benutzers verbrauchen darf. Überschreitet der Prozess + diesen Wert, wird er vom Kernel beendet. + + + Die Rechenzeit wird + limitiert, nicht die prozentuale Prozessorenbenutzung, + wie es in einigen Feldern in &man.top.1; und + &man.ps.1; dargestellt wird. + + + + + + filesize + + + filesize + + Benutzer einschränken + filesize + + + Hiermit lässt sich die maximale Größe einer Datei + bestimmen, die der Benutzer besitzen darf. Im Gegensatz + zu Festplattenkontingenten + ist diese Beschränkung nur für jede einzelne Datei + gültig und nicht für den Platz, den alle Dateien eines + Benutzers verwenden. + + + + + maxproc + + + maxproc + + Benutzer einschränken + maxproc + + + Das ist die maximale Anzahl von Prozessen, die ein + Benutzer starten darf, und beinhaltet sowohl + Vordergrund- als auch Hintergrundprozesse. Natürlich + darf dieser Wert nicht höher sein als das System-Limit, + das in kern.maxproc angegeben ist. + Vergessen Sie auch nicht, dass ein zu kleiner Wert den + Benutzer in seiner Produktivität einschränken könnte; es + ist oft nützlich, mehrfach eingeloggt zu sein, oder + Pipelines + + Pipeline = + Leitung. + Mit Pipes sind + Verbindungen zwischen zwei Sockets in meistens + zwei verschiedenen Prozessen gemeint. + + zu verwenden. Ein paar Aufgaben, wie die Kompilierung + eines großen Programms, starten mehrere Prozesse. + + + + + memorylocked + + + memorylocked + + Benutzer einschränken + memorylocked + + + Dieses Limit gibt an, wie viel virtueller Speicher + von einem Prozess maximal im Arbeitsspeicher festgesetzt + werden kann (siehe auch &man.mlock.2;). Ein paar + systemkritische Programme, wie &man.amd.8;, verhindern + damit einen Systemzusammenbruch, der auftreten könnte, + wenn sie aus dem Speicher genommen werden. + + + + + memoryuse + + + memoryuse + + Benutzer einschränken + memoryuse + + + Bezeichnet den maximalen Speicher, den ein Prozess + benutzen darf und beinhaltet sowohl Arbeitsspeicher-, + als auch Swap- Benutzung. Es ist kein allübergreifendes + Limit für den Speicherverbrauch, aber ein guter + Anfang. + + + + + openfiles + + + openfiles + + Benutzer einschränken + openfiles + + + Mit diesem Limit lässt sich die maximale Anzahl + der von einem Prozess des Benutzers geöffneten Dateien + festlegen. In &os; werden Dateien auch verwendet, um + Sockets und IPC-Kanäle + + IPC steht für + Interprocess + Communication. + + darzustellen. Setzen Sie es deshalb nicht zu niedrig. + Das System-Limit ist im kern.maxfiles + &man.sysctl.8; definiert. + + + + + sbsize + + + sbsize + + Benutzer einschränken + sbsize + + + Dieses Limit beschränkt den Netzwerk-Speicher und + damit die mbufs, die ein Benutzer verbrauchen darf. Es + stammt aus einer Antwort auf einen DoS-Angriff, bei dem + viele Netzwerk-Sockets geöffnet wurden, kann aber + generell dazu benutzt werden Netzwerk-Verbindungen zu + beschränken. + + + + + stacksize + + + Das ist die maximale Größe, auf die der Stack eines + Prozesses heranwachsen darf. Das allein ist natürlich + nicht genug, um den Speicher zu beschränken, den ein + Programm verwenden darf. Es sollte deshalb in + Verbindung mit anderen Limits gesetzt werden. + + + + + Beim Setzen von Ressourcenbeschränkungen sind noch andere + Dinge zu beachten. Nachfolgend ein paar generelle Tipps, + Empfehlungen und verschiedene Kommentare. + + + + Von /etc/rc beim Hochfahren des + Systems gestartete Prozesse werden der + daemon Login-Klasse zugewiesen. + + + + Obwohl das mitgelieferte + /etc/login.conf eine Quelle von + vernünftigen Limits darstellt, können nur Sie, der + Administrator, wissen, was für Ihr System angebracht ist. + Ein Limit zu hoch anzusetzen könnte Ihr System für + Missbrauch öffnen, und ein zu niedriges Limit der + Produktivität einen Riegel vorschieben. + + + + Benutzer des &xorg; sollten + wahrscheinlich mehr Ressourcen zugeteilt bekommen als + andere Benutzer. &xorg; + beansprucht selbst schon eine Menge Ressourcen, verleitet + die Benutzer aber auch, mehrere Programme gleichzeitig + laufen zu lassen. + + + + Bedenken Sie, dass viele Limits für einzelne Prozesse + gelten und nicht für den Benutzer selbst. Setzt man zum + Beispiel openfiles auf 50, kann jeder + Prozess des Benutzers bis zu 50 Dateien öffnen. Dadurch + ist die maximale Anzahl von Dateien, die von einem + Benutzer geöffnet werden können, + openfiles mal + maxproc. Das gilt auch für den + Speicherverbrauch. + + + + Weitere Informationen über Ressourcenbeschränkungen, + Login-Klassen und -Fähigkeiten finden Sie in &man.cap.mkdb.1;, + &man.getrlimit.2; und &man.login.conf.5;. + + + + Gruppen + + Gruppen + + /etc/groups + + + Accounts + Gruppen + + + Eine Gruppe ist einfach eine Zusammenfassung von Accounts. + Gruppen werden durch den Gruppennamen und die + GID identifiziert. Der Kernel von &os; + entscheidet anhand der UID und der + Gruppenmitgliedschaft eines Prozesses, ob er dem Prozess etwas + erlaubt oder nicht. Wenn jemand von der + GID eines Benutzers oder Prozesses spricht, + meint er damit meistens die erste Gruppe der + Gruppenliste. + + Die Zuordnung von Gruppennamen zur GID + steht in /etc/group, einer Textdatei mit + vier durch Doppelpunkte getrennten Feldern. Im ersten Feld + steht der Gruppenname, das zweite enthält ein verschlüsseltes + Passwort, das dritte gibt die GID an und + das vierte besteht aus einer Komma separierten Liste der + Mitglieder der Gruppe. Eine ausführliche Beschreibung der + Syntax dieser Datei finden Sie in &man.group.5;. + + Wenn Sie /etc/group nicht händisch + editieren möchten, können Sie &man.pw.8; zum Editieren + benutzen. Das folgende Beispiel zeigt das Hinzufügen einer + Gruppe mit dem Namen teamtwo: + + + Setzen der Mitgliederliste einer Gruppe mit + &man.pw.8; + + &prompt.root; pw groupadd teamtwo +&prompt.root; pw groupshow teamtwo +teamtwo:*:1100: + + + 1100 ist die GID der + Gruppe teamtwo. + Momentan hat teamtwo noch keine + Mitglieder. Mit dem folgenden Kommando wird der Benutzer + jru in die Gruppe + teamtwo + aufgenommen. + + + Ein Gruppenmitglied mit &man.pw.8; hinzufügen + + &prompt.root; pw groupmod teamtwo -M jru +&prompt.root; pw groupshow teamtwo +teamtwo:*:1100:jru + + + Als Argument von geben Sie eine Komma + separierte Liste von Mitgliedern an, die in die Gruppe + aufgenommen werden sollen. Aus den vorherigen Abschnitten ist + bekannt, dass die Passwort-Datei ebenfalls eine Gruppe für + jeden Benutzer enthält. Das System teilt dem Benutzer + automatisch eine Gruppe zu, die aber vom + Kommando von &man.pw.8; nicht + angezeigt wird. Diese Information wird allerdings von + &man.id.1; und ähnlichen Werkzeugen angezeigt. Das heißt, + dass &man.pw.8; nur /etc/group + manipuliert, es wird nicht versuchen, zusätzliche + Informationen aus /etc/passwd zu + lesen. + + + Hinzufügen eines neuen Gruppenmitglieds mittels + &man.pw.8; + + &prompt.root; pw groupmod teamtwo -m db +&prompt.root; pw groupshow teamtwo +teamtwo:*:1100:jru,db + + + Die Argumente zur Option ist eine + durch Komma getrennte Liste von Benutzern, die der Gruppe + hinzugefügt werden sollen. Anders als im vorherigen Beispiel + werden diese Benutzer in die Gruppe aufgenommen und ersetzen + nicht die Liste der bereits bestehenden Benutzer in der + Gruppe. + + + Mit <command>id</command> die Gruppenzugehörigkeit + bestimmen + + &prompt.user; id jru +uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo) + + + In diesem Beispiel ist jru Mitglied von + jru und + teamtwo. + + Weitere Informationen zu diesem Befehl und dem Format von + /etc/group finden Sie in &man.pw.8; und + &man.group.5;.
Zugriffsrechte UNIX In &os; besitzt jede Datei und jedes Verzeichnis einen Satz von Zugriffsrechten. Es stehen mehrere Programme zum Anzeigen und Bearbeiten dieser Rechte zur Verfügung. Ein Verständnis für die Funktionsweise von Zugriffsrechten ist notwendig, um sicherzustellen, dass Benutzer nur auf die von ihnen benötigten Dateien zugreifen können und nicht auf die Dateien des Betriebssystems oder von anderen Benutzern. In diesem Abschnitt werden die traditionellen Zugriffsrechte von &unix; beschrieben. Informationen zu feingranularen Zugriffsrechten für Dateisysteme finden Sie im . In &unix; werden die grundlegenden Zugriffsrechte in drei Typen unterteilt: Lesen, Scheiben und Ausführen. Diese Zugriffstypen werden verwendet, um den Dateizugriff für den Besitzer der Datei, die Gruppe und alle anderen zu bestimmen. Die Lese-, Schreib- und Ausführungsberechtigungen werden mit den Buchstaben r, w und x dargestellt. Alternativ können die Berechtigungen als binäre Zahlen dargestellt werden, da jede Berechtigung entweder aktiviert oder deaktiviert (0) ist. Wenn die Berechtigung als Zahl dargestellt wird, ist die Reihenfolge immer als rwx zu lesen, wobei r den Wert 4 hat, w den Wert 2 und x den Wert 1. In Tabelle 4.1 sind die einzelnen nummerischen und alphabetischen Möglichkeiten zusammengefasst. Das Zeichen - in der Spalte Auflistung im Verzeichnis besagt, dass eine eine Berechtigung deaktiviert ist. Zugriffsrechte Dateizugriffsrechte &unix; Zugriffsrechte Wert Zugriffsrechte Auflistung im Verzeichnis 0 Kein Lesen, Kein Schreiben, Kein Ausführen --- 1 Kein Lesen, Kein Schreiben, Ausführen --x 2 Kein Lesen, Schreiben, Kein Ausführen -w- 3 Kein Lesen, Schreiben, Ausführen -wx 4 Lesen, Kein Schreiben, Kein Ausführen r-- 5 Lesen, Kein Schreiben, Ausführen r-x 6 Lesen, Schreiben, Kein Ausführen rw- 7 Lesen, Schreiben, Ausführen rwx
&man.ls.1; Verzeichnisse Benutzen Sie das Argument mit &man.ls.1;, um eine ausführliche Verzeichnisauflistung zu sehen, die in einer Spalte die Zugriffsrechte für den Besitzer, die Gruppe und alle anderen enthält. Die Ausgabe von ls -l könnte wie folgt aussehen: &prompt.user; ls -l total 530 -rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile -rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile -rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt Das erste Zeichen (ganz links) der ersten Spalte zeigt an, ob es sich um eine normale Datei, ein Verzeichnis, ein zeichenorientiertes Gerät, ein Socket oder irgendeine andere Pseudo-Datei handelt. In diesem Beispiel zeigt - eine normale Datei an. Die nächsten drei Zeichen, dargestellt als rw-, ergeben die Rechte für den Datei-Besitzer. Die drei Zeichen danach r-- die Rechte der Gruppe, zu der die Datei gehört. Die letzten drei Zeichen, r--, geben die Rechte für den Rest der Welt an. Ein Minus bedeutet, dass das Recht nicht gegeben ist. In diesem Beispiel sind die Zugriffsrechte also: der Eigentümer kann die Datei lesen und schreiben, die Gruppe kann lesen und alle anderen können auch nur lesen. Entsprechend obiger Tabelle wären die Zugriffsrechte für diese Datei 644, worin jede Ziffer die drei Teile der Zugriffsrechte dieser Datei verkörpert. Wie kontrolliert das System die Rechte von Hardware-Geräten? &os; behandelt die meisten Hardware-Geräte als Dateien, welche Programme öffnen, lesen und mit Daten beschreiben können. Diese speziellen Gerätedateien sind in /dev gespeichert. Verzeichnisse werden ebenfalls wie Dateien behandelt. Sie haben Lese-, Schreib- und Ausführ-Rechte. Das Ausführungs-Bit hat eine etwas andere Bedeutung für ein Verzeichnis als für eine Datei. Die Ausführbarkeit eines Verzeichnisses bedeutet, dass in das Verzeichnis, zum Beispiel mit &man.cd.1;, gewechselt werden kann. Das bedeutet auch, dass in dem Verzeichnis auf Dateien, deren Namen bekannt sind, zugegriffen werden kann, vorausgesetzt die Zugriffsrechte der Dateien lassen dies zu. Das Leserecht auf einem Verzeichnis erlaubt es, sich den Inhalt des Verzeichnisses anzeigen zu lassen. Um eine Datei mit bekanntem Namen in einem Verzeichnis zu löschen, müssen auf dem Verzeichnis Schreib- und Ausführ-Rechte gesetzt sein. Es gibt noch mehr Rechte, aber die werden vor allem in speziellen Umständen benutzt, wie zum Beispiel bei SetUID-Binaries und Verzeichnissen mit gesetztem Sticky-Bit. Mehr über Zugriffsrechte von Dateien und wie sie gesetzt werden, finden Sie in &man.chmod.1;. Symbolische Zugriffsrechte TomRhodesBeigesteuert von Zugriffsrechte symbolische Symbolische Zugriffsrechte verwenden Zeichen anstelle von oktalen Werten, um die Berechtigungen für Dateien oder Verzeichnisse festzulegen. Zugriffsrechte verwenden die Syntax Wer, Aktion und Berechtigung. Die folgenden Werte stehen zur Auswahl: Option Symbol Bedeutung Wer u Benutzer (user) Wer g Gruppe (group) Wer o Andere (other) Wer a Alle Aktion + Berechtigungen hinzufügen Aktion - Berechtigungen entziehen Aktion = Berechtigungen explizit setzen Berechtigung r lesen (read) Berechtigung w schreiben (write) Berechtigung x ausführen (execute) Berechtigung t Sticky-Bit Berechtigung s Set-UID oder Set-GID Diese symbolischen Werte werden zusammen mit &man.chmod.1; verwendet. Beispielsweise würde der folgende Befehl den Zugriff auf FILE für alle anderen Benutzer verbieten: &prompt.user; chmod go= FILE Wenn Sie mehr als eine Änderung der Rechte einer Datei vornehmen wollen, können Sie eine durch Kommata getrennte Liste der Rechte angeben. Das folgende Beispiel entzieht der Gruppe und der Welt die Schreibberechtigung auf FILE und fügt für jeden Ausführungsrechte hinzu: &prompt.user; chmod go-w,a+x FILE &os; Datei-Flags TomRhodesBeigetragen von Zusätzlich zu den Zugriffsrechten unterstützt &os; auch die Nutzung von Datei-Flags. Diese erhöhen die Sicherheit des Systems, indem sie eine verbesserte Kontrolle von Dateien erlauben. Verzeichnisse werden allerdings nicht unterstützt. Mit dem Einsatz von Datei-Flags kann sogar root daran gehindert werden, Dateien zu löschen oder zu verändern. Datei-Flags werden mit &man.chflags.1; verändert. Um beispielsweise auf der Datei file1 das unlöschbar-Flag zu aktivieren, geben Sie folgenden Befehl ein: &prompt.root; chflags sunlink file1 Um dieses Flag zu deaktivieren, setzen Sie ein no vor : &prompt.root; chflags nosunlink file1 Um die Flags einer Datei anzuzeigen, verwenden Sie &man.ls.1; zusammen mit : &prompt.root; ls -lo file1 -rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1 Einige Datei-Flags können nur vom root-Benutzer gesetzt oder gelöscht werden. Andere wiederum können auch vom Eigentümer der Datei gesetzt werden. Weitere Informationen hierzu finden sich in &man.chflags.1; und &man.chflags.2;. Die Berechtigungen <literal>setuid</literal>, <literal>setgid</literal>, und <literal>sticky</literal> TomRhodesBeigetragen von Anders als die Berechtigungen, die bereits angesprochen wurden, existieren drei weitere Einstellungen, über die alle Administratoren Bescheid wissen sollten. Dies sind die Berechtigungen setuid, setgid und sticky. Diese Einstellungen sind wichtig für manche &unix;-Operationen, da sie Funktionalitäten zur Verfügung stellen, die normalerweise nicht an gewöhnliche Anwender vergeben wird. Um diese zu verstehen, muss der Unterschied zwischen der realen und der effektiven Benutzer-ID erwähnt werden. Die reale Benutzer-ID ist die UID, welche den Prozess besitzt oder gestartet hat. Die effektive UID ist diejenige, als die der Prozess läuft. Beispielsweise wird &man.passwd.1; mit der realen ID des Benutzers ausgeführt, der sein Passwort ändert. Um jedoch die Passwortdatenbank zu bearbeiten, wird es effektiv als root-Benutzer ausgeführt. Das ermöglicht es normalen Benutzern, ihr Passwort zu ändern, ohne einen Permission Denied-Fehler angezeigt zu bekommen. Die setuid-Berechtigung kann durch das Voranstellen bei einer Berechtigungsgruppe mit der Nummer Vier (4) gesetzt werden, wie im folgenden Beispiel gezeigt wird: &prompt.root; chmod 4755 suidexample.sh Die Berechtigungen auf suidexample.sh sehen jetzt wie folgt aus: -rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh Beachten Sie, dass ein s jetzt Teil der Berechtigungen des Dateibesitzers geworden ist, welches das Ausführen-Bit ersetzt. Dies ermöglicht es Werkzeugen mit erhöhten Berechtigungen zu laufen, wie z.B. passwd. Die nosuid &man.mount.8;-Option bewirkt, dass solche Anwendungen stillschweigend scheitern, ohne den Anwender darüber zu informieren. Diese Option ist nicht völlig zuverlässig, da ein nosuid-Wrapper in der Lage wäre, dies zu umgehen. Um dies in Echtzeit zu beobachten, öffnen Sie zwei Terminals. Starten Sie auf einem passwd als normaler Benutzer. Während es auf die Passworteingabe wartet, überprüfen Sie die Prozesstabelle und sehen Sie sich die Informationen für &man.passwd.1; an: Im Terminal A: Changing local password for trhodes Old Password: Im Terminal B: &prompt.root; ps aux | grep passwd trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd Obwohl &man.passwd.1; als normaler Benutzer ausgeführt wird, benutzt es die effektive UID von root. Die setgid-Berechtigung führt die gleiche Aktion wie die setuid-Berechtigung durch, allerdings verändert sie die Gruppenberechtigungen. Wenn eine Anwendung oder ein Werkzeug mit dieser Berechtigung ausgeführt wird, erhält es die Berechtigungen basierend auf der Gruppe, welche die Datei besitzt und nicht die des Benutzers, der den Prozess gestartet hat. Um die setgid-Berechtigung auf einer Datei zu setzen, geben Sie &man.chmod.1; eine führende Zwei (2) mit: &prompt.root; chmod 2755 sgidexample.sh Beachten Sie in der folgenden Auflistung, dass das s sich jetzt in dem Feld befindet, das für die Berechtigungen der Gruppe bestimmt ist: -rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidexample.sh Obwohl es sich bei dem in diesen Beispielen gezeigten Shellskript um eine ausführbare Datei handelt, wird es nicht mit einer anderen EUID oder effektiven Benutzer-ID ausgeführt. Das ist so, weil Shellskripte keinen Zugriff auf &man.setuid.2;-Systemaufrufe erhalten. Die setuid und setgid Berechtigungs-Bits können die Systemsicherheit verringern, da sie erhöhte Rechte ermöglichen. Das dritte Berechtigungs-Bit, das sticky bit kann die Sicherheit eines Systems erhöhen. Wenn das sticky bit auf einem Verzeichnis angewendet wird, erlaubt es das Löschen von Dateien nur durch den Besitzer der Datei. Dies ist nützlich, um die Löschung von Dateien in öffentlichen Verzeichnissen wie /tmp, durch Benutzer denen diese Dateien nicht gehören, zu verhindern. Um diese Berechtigung anzuwenden, stellen Sie der Berechtigung eine Eins (1) voran: &prompt.root; chmod 1777 /tmp Das sticky bit kann anhand des t ganz am Ende der Berechtigungen abgelesen werden. &prompt.root; ls -al / | grep tmp drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp
Verzeichnis-Strukturen Verzeichnis Hierarchien Die &os;-Verzeichnishierarchie ist die Grundlage, um ein umfassendes Verständnis des Systems zu erlangen. Das wichtigste Verzeichnis ist das Root-Verzeichnis /. Dieses Verzeichnis ist das erste, das während des Bootens eingehangen wird. Es enthält das notwendige Basissystem, um das Betriebssystem in den Mehrbenutzerbetrieb zu bringen. Das Root-Verzeichnis enthält auch die Mountpunkte für Dateisysteme, die beim Wechsel in den Multiuser-Modus eingehängt werden. Ein Mountpunkt ist ein Verzeichnis, in das zusätzliche Dateisysteme (in der Regel unterhalb des Wurzelverzeichnisses) eingehängt werden können. Dieser Vorgang wird in ausführlich beschrieben. Standard-Mountpunkte sind /usr, /var, /tmp, /mnt sowie /cdrom. Auf diese Verzeichnisse verweisen üblicherweise Einträge in /etc/fstab. Diese Datei ist eine Tabelle mit verschiedenen Dateisystemen und Mountpunkten, vom System gelesen werden. Die meisten der Dateisysteme in /etc/fstab werden beim Booten automatisch durch das Skript &man.rc.8; gemountet, wenn die zugehörigen Einträge nicht mit versehen sind. Weitere Informationen zu diesem Thema finden Sie im . Eine vollständige Beschreibung der Dateisystem-Hierarchie finden Sie in &man.hier.7;. Die folgende Aufstellung gibt einen kurzen Überblick über die am häufigsten verwendeten Verzeichnisse: Verzeichnis Beschreibung / Wurzelverzeichnis des Dateisystems. /bin/ Grundlegende Werkzeuge für den Single-User-Modus sowie den Mehrbenutzerbetrieb. /boot/ Programme und Konfigurationsdateien, die während des Bootens benutzt werden. /boot/defaults/ Vorgaben für die Boot-Konfiguration. Weitere Details finden Sie in &man.loader.conf.5;. /dev/ Gerätedateien. Weitere Details finden Sie in &man.intro.4;. /etc/ Konfigurationsdateien und Skripten des Systems. /etc/defaults/ Vorgaben für die System Konfigurationsdateien. Weitere Details finden Sie in &man.rc.8;. /etc/mail/ Konfigurationsdateien von MTAs wie &man.sendmail.8;. /etc/namedb/ Konfigurationsdateien von &man.named.8;. /etc/periodic/ Täglich, wöchentlich oder monatlich laufende Skripte, die von &man.cron.8; gestartet werden. Weitere Details finden Sie in &man.periodic.8;. /etc/ppp/ Konfigurationsdateien von &man.ppp.8;. /mnt/ Ein leeres Verzeichnis, das von Systemadministratoren häufig als temporärer Mountpunkt genutzt wird. /proc/ Prozess Dateisystem. Weitere Details finden Sie in &man.procfs.5; und &man.mount.procfs.8;. /rescue/ Statisch gelinkte Programme zur Wiederherstellung des Systems, wie in &man.rescue.8; beschrieben. /root/ Home Verzeichnis von root. /sbin/ Systemprogramme und administrative Werkzeuge, die grundlegend für den Single-User-Modus und den Mehrbenutzerbetrieb sind. /tmp/ Temporäre Dateien, die für gewöhnlich bei einem Neustart des Systems verloren gehen. Häufig wird ein speicherbasiertes Dateisystem unter /tmp eingehängt. Dieser Vorgang kann automatisiert werden, wenn tmpmfs-bezogene Variablen von &man.rc.conf.5; verwendet werden, oder ein entsprechender Eintrag in /etc/fstab existiert. Weitere Informationen finden Sie in &man.mdmfs.8;. /usr/ Der Großteil der Benutzerprogramme und Anwendungen. /usr/bin/ Gebräuchliche Werkzeuge, Programmierhilfen und Anwendungen. /usr/include/ Standard C include-Dateien. /usr/lib/ Bibliotheken. /usr/libdata/ Daten verschiedener Werkzeuge. /usr/libexec/ System-Dämonen und System-Werkzeuge, die von anderen Programmen ausgeführt werden. /usr/local/ Lokale Programme und Bibliotheken. Die Ports-Sammlung von &os; benutzt dieses Verzeichnis als Zielverzeichnis für Anwendungen. Innerhalb von /usr/local sollte das von &man.hier.7; beschriebene Layout für /usr benutzt werden. Das man Verzeichnis wird direkt unter /usr/local anstelle unter /usr/local/share angelegt. Die Dokumentation der Ports findet sich in share/doc/port. /usr/obj/ Von der Architektur abhängiger Verzeichnisbaum, der durch das Bauen von /usr/src entsteht. /usr/ports/ Die &os;-Ports-Sammlung (optional). /usr/sbin/ System-Dämonen und System-Werkzeuge, die von Benutzern ausgeführt werden. /usr/share/ Von der Architektur unabhängige Dateien. /usr/src/ Quelldateien von BSD und/oder lokalen Ergänzungen. /var/ Wird für mehrere Zwecke genutzt und enthält Logdateien, temporäre Daten und Spooldateien. Manchmal wird ein speicherbasiertes Dateisystem unter /var eingehängt. Dieser Vorgang kann automatisiert werden, wenn die varmfs-bezogenen Variablen von &man.rc.conf.5; verwendet werden, oder ein entsprechender Eintrag in /etc/fstab existiert. Weitere Informationen finden Sie in &man.mdmfs.8;. /var/log/ Verschiedene Logdateien des Systems. /var/mail/ Postfächer der Benutzer. /var/spool/ Verschiedene Spool-Verzeichnisse der Drucker- und Mailsysteme. /var/tmp/ Temporäre Dateien, die in der Regel auch bei einem Neustart des Systems erhalten bleiben, es sei denn, bei /var handelt es sich um ein speicherbasiertes Dateisystem. /var/yp/ NIS maps. Festplatten, Slices und Partitionen &os; identifiziert Dateien anhand eines Dateinamens. In Dateinamen wird zwischen Groß- und Kleinschreibung unterschieden: readme.txt und README.TXT bezeichnen daher zwei verschiedene Dateien. &os; benutzt keine Dateiendungen, um den Typ der Datei zu bestimmen, egal ob es sich um ein Programm, ein Dokument oder um andere Daten handelt. Dateien werden in Verzeichnissen gespeichert. In einem Verzeichnis können sich keine oder hunderte Dateien befinden. Ein Verzeichnis kann auch andere Verzeichnisse enthalten und so eine Hierarchie von Verzeichnissen aufbauen, die die Ablage von Daten erleichtert. In Dateinamen werden Verzeichnisse durch einen Schrägstrich (/, Slash) getrennt. Wenn z.B. das Verzeichnis foo ein Verzeichnis bar enthält, in dem sich die Datei readme.txt befindet, lautet der vollständige Name der Datei (oder der Pfad zur Datei) foo/bar/readme.txt. Beachten Sie, dass sich dies von &windows; unterscheidet, wo der \ (Backslash für die Trennung von Datei- und Verzeichnisnamen verwendet wird. &os; benutzt keine Laufwerkbuchstaben oder Laufwerknamen im Pfad. Beispielsweise würde man unter &os; nicht c:/foo/bar/readme.txt eingeben. Verzeichnisse und Dateien werden in einem Dateisystem gespeichert. Jedes Dateisystem besitzt genau ein Wurzelverzeichnis, das so genannte Root-Directory. Dieses Wurzelverzeichnis kann weitere Verzeichnisse enthalten. Ein Dateisystem wird als Wurzeldateisystem festgelegt, und jedes weitere Dateisystem wird unter dem Wurzeldateisystem eingehangen. Daher scheint jedes Verzeichnis, unabhängig von der Anzahl der Platten, auf der selben Platte zu liegen. Betrachten wir die drei Dateisysteme A, B und C. Jedes Dateisystem besitzt ein eigenes Wurzelverzeichnis, das zwei andere Verzeichnisse enthält: A1, A2, B1, B2, C1 und C2. Das Wurzeldateisystem soll A sein. &man.ls.1; zeigt darin die beiden Verzeichnisse A1 und A2 an. Der Verzeichnisbaum sieht wie folgt aus: / | +--- A1 | `--- A2 Ein Dateisystem wird in einem Verzeichnis eines anderen Dateisystems eingehangen. Wir hängen nun das Dateisystem B in das Verzeichnis A1 ein. Das Wurzelverzeichnis von B ersetzt nun das Verzeichnis A1 und die Verzeichnisse des Dateisystems B werden sichtbar: / | +--- A1 | | | +--- B1 | | | `--- B2 | `--- A2 Jede Datei in den Verzeichnissen B1 oder B2 kann über den Pfad /A1/B1 oder /A1/B2 erreicht werden. Dateien aus dem Verzeichnis /A1 sind jetzt verborgen. Wenn das Dateisystem B wieder abgehangen wird (umount), erscheinen die verborgenen Dateien wieder. Wenn das Dateisystem B unter dem Verzeichnis A2 eingehangen würde, sähe der Verzeichnisbaum so aus: / | +--- A1 | `--- A2 | +--- B1 | `--- B2 Die Dateien des Dateisystems B wären unter den Pfaden /A2/B1 und /A2/B2 erreichbar. Dateisysteme können übereinander eingehangen werden. Der folgende Baum entsteht, wenn im letzten Beispiel das Dateisystem C in das Verzeichnis B1 des Dateisystems B eingehangen wird: / | +--- A1 | `--- A2 | +--- B1 | | | +--- C1 | | | `--- C2 | `--- B2 C könnte auch im Verzeichnis A1 eingehangen werden: / | +--- A1 | | | +--- C1 | | | `--- C2 | `--- A2 | +--- B1 | `--- B2 Sie können sogar mit nur einem großen Dateisystem auskommen. Dies hat mehrere Nachteile und einen Vorteil. Vorteile mehrerer Dateisysteme Die Dateisysteme können mit unterschiedlichen Optionen (mount options) eingehangen werden. Beispielsweise kann das Wurzeldateisystem schreibgeschützt eingehangen werden, sodass es für Benutzer nicht möglich ist, versehentlich kritische Dateien zu editieren oder zu löschen. Von Benutzern beschreibbare Dateisysteme wie /home können mit der Option nosuid eingehangen werden, wenn sie von anderen Dateisystemen getrennt sind. Die SUID- und GUID-Bits verlieren auf solchen Dateisystemen ihre Wirkung und die Sicherheit des Systems kann dadurch erhöht werden. Die Lage von Dateien im Dateisystem wird, abhängig vom Gebrauch des Dateisystems, automatisch von &os; optimiert. Ein Dateisystem mit vielen kleinen Dateien, die häufig geschrieben werden, wird anders behandelt als ein Dateisystem mit wenigen großen Dateien. Mit nur einem Dateisystem ist diese Optimierung unmöglich. In der Regel übersteht ein &os;-Dateisystem auch einen Stromausfall. Allerdings kann ein Stromausfall zu einem kritischen Zeitpunkt das Dateisystem beschädigen. Wenn die Daten über mehrere Dateisysteme verteilt sind, lässt sich das System mit hoher Wahrscheinlichkeit noch starten. Dies erleichtert das Zurückspielen von Datensicherungen. Vorteil eines einzelnen Dateisystems Dateisysteme haben eine festgelegte Größe. Es kann passieren, dass Sie eine Partition vergrößern müssen. Dies ist nicht leicht: Sie müssen die Daten sichern, das Dateisystem vergrößert anlegen und die gesicherten Daten zurückspielen. &os; kennt den Befehl &man.growfs.8;, mit dem man Dateisysteme im laufenden Betrieb vergrößern kann. Dateisysteme befinden sich in Partitionen (damit sind nicht die normalen &ms-dos;-Partitionen gemeint). Jede Partition wird mit einem Buchstaben von a bis h bezeichnet und kann nur ein Dateisystem enthalten. Dateisysteme können daher über ihren Mount-Point, den Punkt an dem sie eingehangen sind, oder den Buchstaben der Partition, in der sie liegen, identifiziert werden. &os; benutzt einen Teil der Platte für den Swap-Bereich, um virtuellen Speicher zur Verfügung zu stellen. Dadurch kann der Rechner Anwendungen mehr Speicher zur Verfügung stellen als tatsächlich eingebaut ist. Wenn der Speicher knapp wird, kann &os; nicht benutzte Daten in den Swap-Bereich auslagern. Die ausgelagerten Daten können später wieder in den Speicher geholt werden (dafür werden dann andere Daten ausgelagert). Für einige Partitionen gelten besondere Konventionen: Partition Konvention a Enthält normalerweise das Wurzeldateisystem. b Enthält normalerweise den Swap-Bereich. c Ist normalerweise genauso groß wie die Slice in der die Partition liegt. Werkzeuge, die auf der kompletten Slice arbeiten, wie ein Bad-Block-Scanner, können so die c-Partition benutzen. Für gewöhnlich wird in dieser Partition kein Dateisystem angelegt. d Früher hatte die d-Partition eine besondere Bedeutung. Heute ist dies nicht mehr der Fall und die Partition d kann wie jede andere Partition auch verwendet werden. In &os; werden Festplatten in Slices, welche in &windows; als Partitionen bekannt sind, aufgeteilt und von 1 bis 4 durchnummeriert. Diese werden dann in Partitionen unterteilt, welche wiederum Dateisysteme enthalten und mit Buchstaben benannt werden. Slices Partitionen dangerously dedicated Die Slice-Nummern werden mit vorgestelltem s hinter den Gerätenamen gestellt: da0s1 ist die erste Slice auf dem ersten SCSI-Laufwerk. Auf einer Festplatte gibt es höchstens vier Slices. In einer Slice des passenden Typs kann es weitere logische Slices geben. Diese erweiterten Slices werden ab fünf durchnummeriert: ad0s5 ist die erste erweiterte Slice auf einer IDE-Platte. Diese Geräte werden von Dateisystemen benutzt, die sich in einer kompletten Slice befinden müssen. Slices, dangerously dedicated-Festplatten und andere Platten enthalten Partitionen, die mit Buchstaben von a bis h bezeichnet werden. Der Buchstabe wird an den Gerätenamen gehangen: da0a ist die a-Partition des ersten da-Laufwerks. Dieses Laufwerk ist dangerously dedicated. ad1s3e ist die fünfte Partition in der dritten Slice der zweiten IDE-Platte. Schließlich wird noch jede Festplatte des Systems eindeutig bezeichnet. Der Name einer Festplatte beginnt mit einem Code, der den Typ der Platte bezeichnet. Es folgt eine Nummer, die angibt, um welche Festplatte es sich handelt. Anders als bei Slices werden Festplatten von Null beginnend durchnummeriert. Gängige Festplatten-Namen sind in aufgeführt. Wenn Sie eine Partition angeben, beinhaltet das den Plattennamen, s, die Slice-Nummer und den Buchstaben der Partition. Einige Beispiele finden Sie in . Der Aufbau einer Festplatte wird in dargestellt. Bei der Installation von &os; legen Sie Slices auf der Festplatte an, erstellen Partitionen für &os; innerhalb der Slice, erstellen ein Dateisystem oder Auslagerungsbereiche und entscheiden, welche Dateisysteme wo eingehangen werden. Laufwerk-Codes Code Bedeutung ad ATAPI (IDE) Festplatte da SCSI-Festplatte acd ATAPI (IDE) CD-ROM cd SCSI-CD-ROM fd Disketten-Laufwerk
Namen von Platten, Slices und Partitionen Name Bedeutung ad0s1a Die erste Partition (a) in der ersten Slice (s1) der ersten IDE-Festplatte (ad0). da1s2e Die fünfte Partition (e) der zweiten Slice (s2) auf der zweiten SCSI-Festplatte (da1). Aufteilung einer Festplatte Das folgende Diagramm zeigt die Sicht von &os; auf die erste IDE-Festplatte des Systems. Die Platte soll 4 GB groß sein und zwei Slices (&ms-dos;-Partitionen) mit je 2 GB besitzen. Die erste Slice enthält ein &ms-dos;-Laufwerk (C:), die zweite Slice wird von &os; benutzt. Die &os;-Installation in diesem Beispiel verwendet drei Datenpartitionen und einen Auslagerungsbereich. Jede der drei Partitionen enthält ein Dateisystem. Das Wurzeldateisystem ist die a-Partition. In der e-Partition befindet sich der /var-Verzeichnisbaum und in der f-Partition befindet sich der Verzeichnisbaum unterhalb von /usr. .-----------------. --. | | | | DOS / Windows | | : : > First slice, ad0s1 : : | | | | :=================: ==: --. | | | Partition a, mounted as / | | | > referred to as ad0s2a | | | | | :-----------------: ==: | | | | Partition b, used as swap | | | > referred to as ad0s2b | | | | | :-----------------: ==: | Partition c, no | | | Partition e, used as /var > file system, all | | > referred to as ad0s2e | of FreeBSD slice, | | | | ad0s2c :-----------------: ==: | | | | | : : | Partition f, used as /usr | : : > referred to as ad0s2f | : : | | | | | | | | --' | `-----------------' --'
Anhängen und Abhängen von Dateisystemen Ein Dateisystem wird am besten als ein Baum mit der Wurzel / veranschaulicht. /dev, /usr, und die anderen Verzeichnisse im Rootverzeichnis sind Zweige, die wiederum eigene Zweige wie /usr/local haben können. Root-Dateisystem Es gibt verschiedene Gründe, bestimmte dieser Verzeichnisse auf eigenen Dateisystemen anzulegen. /var enthält log/, spool/ sowie verschiedene andere temporäre Dateien und kann sich daher schnell füllen. Es empfiehlt sich, /var von / zu trennen, da es schlecht ist, wenn das Root-Dateisystem voll läuft. Ein weiterer Grund bestimmte Verzeichnisbäume auf andere Dateisysteme zu legen, ist gegeben, wenn sich die Verzeichnisbäume auf gesonderten physikalischen oder virtuellen Platten, wie Network File System oder CD-ROM-Laufwerken, befinden. Die <filename>fstab</filename> Datei Dateisysteme fstab Während des Boot-Prozesses () werden in /etc/fstab aufgeführte Verzeichnisse, sofern sie nicht mit der Option versehen sind, automatisch angehangen. Diese Datei enthält Einträge in folgendem Format: device /mount-point fstype options dumpfreq passno device Ein existierender Gerätename wie in beschrieben. mount-point Ein existierendes Verzeichnis, auf dem das Dateisystem gemountet wird. fstype Der Typ des Dateisystems, der an &man.mount.8; weitergegeben wird. &os;s Standarddateisystem ist ufs. options Entweder für beschreibbare Dateisysteme oder für schreibgeschützte Dateisysteme, gefolgt von weiteren benötigten Optionen. Eine häufig verwendete Option ist für Dateisysteme, die während der normalen Bootsequenz nicht angehangen werden sollen. Weitere Optionen finden sich in &man.mount.8;. dumpfreq Wird von &man.dump.8; benutzt, um bestimmen zu können, welche Dateisysteme gesichert werden müssen. Fehlt der Wert, wird 0 angenommen. passno Bestimmt die Reihenfolge, in der die Dateisysteme überprüft werden sollen. Für Dateisysteme, die übersprungen werden sollen, ist passno auf 0 zu setzen. Für das Root-Dateisystem, das vor allen anderen überprüft werden muss, sollte der Wert von passno 1 betragen. Allen anderen Dateisystemen sollten Werte größer 1 zugewiesen werden. Wenn mehrere Dateisysteme den gleichen Wert besitzen, wird &man.fsck.8; versuchen, diese parallel zu überprüfen. Lesen Sie &man.fstab.5; für weitere Informationen über das Format von /etc/fstab und dessen Optionen. Verwendung von &man.mount.8; Dateisysteme anhängen Dateisysteme werden mit &man.mount.8; eingehängt. In der grundlegenden Form wird es wie folgt benutzt: &prompt.root; mount device mountpoint Dieser Befehl bietet viele Optionen, die in &man.mount.8; beschrieben werden. Die am häufigsten verwendeten Optionen sind: Optionen von <command>mount</command> Hängt alle Dateisysteme aus /etc/fstab an. Davon ausgenommen sind Dateisysteme, die mit noauto markiert sind, die mit der Option ausgeschlossen wurden und Dateisysteme, die schon angehangen sind. Führt alles bis auf den mount-Systemaufruf aus. Nützlich ist diese Option in Verbindung mit . Damit wird angezeigt, was &man.mount.8; tatsächlich versuchen würde, um das Dateisystem anzuhängen. Erzwingt das Anhängen eines unsauberen Dateisystems (riskant) oder die Rücknahme des Schreibzugriffs, wenn der Status des Dateisystems von beschreibbar auf schreibgeschützt geändert wird. Hängt das Dateisystem schreibgeschützt ein. Dies kann auch durch Angabe von erreicht werden. fstype Hängt das Dateisystem mit dem angegebenen Typ an, oder hängt nur Dateisysteme mit dem angegebenen Typ an, wenn angegeben wurde. ufs ist das Standarddateisystem. Aktualisiert die Mountoptionen des Dateisystems. Geschwätzig sein. Hängt das Dateisystem beschreibbar an. Die folgenden Optionen können durch eine Kommata separierte Liste an übergeben werden: nosuid SetUID und SetGID Bits werden auf dem Dateisystem nicht beachtet. Dies ist eine nützliche Sicherheitsfunktion. Verwendung von &man.umount.8; Dateisysteme abhängen &man.umount.8; hängt ein Dateisysstem ab. Dieser Befehl akzeptiert als Parameter entweder einen Mountpoint, einen Gerätenamen, oder . Jede Form akzeptiert , um das Abhängen zu erzwingen, und , um etwas geschwätziger zu sein. Seien Sie bitte vorsichtig mit , da der Computer abstürzen kann oder es können Daten auf dem Dateisystem beschädigt werden. Um alle Dateisysteme abzuhängen, oder nur diejenigen, die mit gelistet werden, wird oder benutzt. Beachten Sie, dass das Root-Dateisystem nicht aushängt. Prozesse &os; ist ein Multitasking-Betriebssystem. Jedes Programm, das zu irgendeiner Zeit läuft wird als Prozess bezeichnet. Jedes laufende Kommando startet mindestens einen neuen Prozess. Dazu gibt es eine Reihe von Systemprozessen, die von &os; ausgeführt werden. Jeder Prozess wird durch eine eindeutige Nummer identifiziert, die Prozess-ID (PID) genannt wird. Prozesse haben ebenso wie Dateien einen Besitzer und eine Gruppe, die festlegen, welche Dateien und Geräte der Prozess benutzen kann. Die meisten Prozesse haben auch einen Elternprozess, der sie gestartet hat. Beispielsweise ist die Shell ein Prozess. Jedes in Shell gestartete Kommando ist dann ein neuer Prozess, der die Shell als Elternprozess besitzt. Die Ausnahme hiervon ist ein spezieller Prozess namens &man.init.8;, der beim booten immer als erstes gestartet wird und der immer die PID 1 hat. Um die Prozesse auf dem System zu sehen, benutzen Sie &man.ps.1; und &man.top.1;. Eine statische Liste der laufenden Prozesse, deren PIDs, Speicherverbrauch und die Kommandozeile, mit der sie gestartet wurden, erhalten Sie mit &man.ps.1;. Um alle laufenden Prozesse in einer Anzeige zu sehen, die alle paar Sekunden aktualisiert wird, so dass Sie interaktiv sehen können was der Computer macht, benutzen Sie &man.top.1;. In der Voreinstellung zeigt &man.ps.1; nur die laufenden Prozesse, die dem Benutzer gehören. Zum Beispiel: &prompt.user; ps PID TT STAT TIME COMMAND 298 p0 Ss 0:01.10 tcsh 7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14) 37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14) 72210 p0 R+ 0:00.00 ps 390 p1 Is 0:01.14 tcsh 7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y 6688 p3 IWs 0:00.00 tcsh 10735 p4 IWs 0:00.00 tcsh 20256 p5 IWs 0:00.00 tcsh 262 v0 IWs 0:00.00 -tcsh (tcsh) 270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16 280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16 284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish Die Ausgabe von &man.ps.1; ist in einer Anzahl von Spalten organisiert. Die PID Spalte zeigt die Prozess-ID. PIDs werden von 1 beginnend bis 99999 zugewiesen und fangen wieder von vorne an. Ist eine PID bereits vergeben, wird diese allerdings nicht erneut vergeben. Die Spalte TT zeigt den Terminal, auf dem das Programm läuft. STAT zeigt den Status des Programms und TIME gibt die Zeit an, die das Programm auf der CPU gelaufen ist. Dies ist nicht unbedingt die Zeit, die seit dem Start des Programms vergangen ist, da die meisten Programme hauptsächlich auf bestimmte Dinge warten, bevor sie wirklich CPU-Zeit verbrauchen. Unter der Spalte COMMAND findet sich schließlich die Kommandozeile, mit der das Programm gestartet wurde. &man.ps.1; besitzt viele Optionen, um die angezeigten Informationen zu beeinflussen. Eine nützliche Kombination ist auxww. zeigt Information über alle laufenden Prozesse aller Benutzer. Der Name des Besitzers des Prozesses, sowie Informationen über den Speicherverbrauch werden mit angezeigt. zeigt auch Dämonen-Prozesse an, und veranlasst &man.ps.1; die komplette Kommandozeile für jeden Befehl anzuzeigen, anstatt sie abzuschneiden, wenn sie zu lang für die Bildschirmausgabe wird. Die Ausgabe von &man.top.1; sieht ähnlich aus: &prompt.user; top last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10 47 processes: 1 running, 46 sleeping CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free Swap: 256M Total, 38M Used, 217M Free, 15% Inuse PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top 7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14 281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA 296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm 175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd 7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt ... Die Ausgabe ist in zwei Abschnitte geteilt. In den ersten fünf Kopfzeilen finden sich die zuletzt zugeteilte PID, die Systemauslastung (engl. load average), die Systemlaufzeit (die Zeit seit dem letzten Reboot) und die momentane Zeit. Die weiteren Zahlen im Kopf beschreiben wie viele Prozesse momentan laufen (im Beispiel 47), wie viel Speicher und Swap verbraucht wurde und wie viel Zeit das System in den verschiedenen CPU-Modi verbringt. Darunter befinden sich einige Spalten mit ähnlichen Informationen wie in der Ausgabe von &man.ps.1;, beispielsweise die PID, den Besitzer, die verbrauchte CPU-Zeit und das Kommando, das den Prozess gestartet hat. &man.top.1; zeigt in zwei Spalten den Speicherverbrauch des Prozesses an. Die erste Spalte gibt den gesamten Speicherverbrauch des Prozesses an, in der zweiten Spalte wird der aktuelle Verbrauch angegeben. mutt hat im gezeigten Beispiel insgesamt 8 MB Speicher verbraucht. Momentan benutzt es allerdings nur 5 MB. Die Anzeige wird von &man.top.1; automatisch alle zwei Sekunden aktualisiert. Ein anderer Intervall kann mit spezifiziert werden. Dämonen, Signale und Stoppen von Prozessen Wenn Sie einen Editor benutzen, können Sie ihn leicht bedienen und Dateien laden, weil der Editor dafür Vorsorge getroffen hat und auf einem Terminal läuft. Manche Programme erwarten keine Eingaben von einem Benutzer und lösen sich bei erster Gelegenheit von ihrem Terminal. Ein Webserver zum Beispiel antwortet auf Web-Anfragen und nicht auf Benutzereingaben. Mail-Server sind ein weiteres Beispiel für diesen Typ von Anwendungen. Diese Programme sind als Dämonen bekannt. Der Begriff Dämon stammt aus der griechischen Mythologie und bezeichnet ein Wesen, das weder gut noch böse ist und welches unsichtbar nützliche Aufgaben verrichtet. Deshalb ist das BSD Maskottchen dieser fröhlich aussehende Dämon mit Turnschuhen und Dreizack. Programme, die als Dämon laufen, werden entsprechend einer Konvention mit einem d am Ende benannt. BIND steht beispielsweise für Berkeley Internet Name Domain, das tatsächlich laufende Programm heißt aber &man.named.8;. Der Apache Webserver wird httpd genannt und der Druckerspool-Dämon heißt &man.lpd.8;. Dies ist allerdings nur eine Konvention. Der Dämon der Anwendung Sendmail heißt beispielsweise &man.sendmail.8; und nicht maild. Eine Möglichkeit mit einem Dämon oder einem laufenden Prozess zu kommunizieren, ist über das Versenden von Signalen mittels &man.kill.1;. Es gibt eine Reihe von verschiedenen Signalen. Manche haben eine feste Bedeutung, während andere in der Dokumentation der Anwendung beschrieben sind. Ein Benutzer kann ein Signal nur an einen Prozess senden, welcher ihm gehört. Wird versucht ein Signal an einen Prozess eines anderen Benutzers zu senden, resultiert dies in einem Zugriffsfehler mangels fehlender Berechtigungen. Die Ausnahme ist der root-Benutzer, welcher jedem Prozess Signale senden kann. &os; kann auch ein Signal an einen Prozess senden. Wenn eine Anwendung schlecht geschrieben ist und auf Speicher zugreift, auf den sie nicht zugreifen soll, so sendet &os; dem Prozess das Segmentation Violation Signal (SIGSEGV). Wenn eine Anwendung den &man.alarm.3; Systemaufruf benutzt hat, um nach einiger Zeit benachrichtigt zu werden, bekommt sie das Alarm Signal (SIGALRM) gesendet. Zwei Signale können benutzt werden, um einen Prozess zu stoppen: SIGTERM und SIGKILL. SIGTERM fordert den Prozess höflich zum Beenden auf. Der Prozess kann das Signal abfangen und hat dann Gelegenheit Logdateien zu schließen und die Aktion, die er durchführte, abzuschließen. In manchen Situationen kann der Prozess SIGTERM ignorieren, wenn er eine Aktion durchführt, die nicht unterbrochen werden darf. SIGKILL kann von keinem Prozess ignoriert werden. Das Signal lässt sich mit Mich interessiert nicht, was du gerade machst, hör sofort auf damit! umschreiben. Wird einem Prozess SIGKILL geschickt, dann wird &os; diesen sofort beenden Es gibt Fälle, in denen ein Prozess nicht unterbrochen werden kann. Wenn ein Prozess zum Beispiel eine Datei von einem anderen Rechner auf dem Netzwerk liest und dieser Rechner nicht erreichbar ist, dann ist der Prozess nicht zu unterbrechen. Wenn der Prozess den Lesezugriff nach einem Timeout von typischerweise zwei Minuten aufgibt, dann wird er beendet. . Andere häufig verwendete Signale sind SIGHUP, SIGUSR1 und SIGUSR2. Diese Signale sind für allgemeine Zwecke vorgesehen und verschiedene Anwendungen werden unterschiedlich auf diese Signale reagieren. Ändern Sie beispielsweise die Konfiguration eines Webservers, so muss dieser angewiesen werden, seine Konfiguration neu zu lesen. Ein Neustart von httpd würde dazu führen, dass der Server für kurze Zeit nicht erreichbar ist. Senden Sie dem Dämon stattdessen das SIGHUP-Signal. Es sei erwähnt, dass verschiedene Dämonen sich anders verhalten. Lesen Sie bitte die Dokumentation des entsprechenden Dämonen um zu überprüfen, ob der Dämon bei einem SIGHUP die gewünschten Ergebnisse erzielt. Verschicken von Signalen Das folgende Beispiel zeigt, wie Sie &man.inetd.8; ein Signal schicken. Die Konfigurationsdatei von &man.inetd.8; ist /etc/inetd.conf. Diese Konfigurationsdatei liest &man.inetd.8; ein, wenn er SIGHUP empfängt. Suchen Sie mit &man.pgrep.1; die PID des Prozesses, dem Sie ein Signal schicken wollen. In diesem Beispiel ist die PID von &man.inetd.8; 198: &prompt.user; pgrep -l inetd 198 inetd -wW Benutzen Sie &man.kill.1;, um ein Signal zu senden. Da &man.inetd.8; dem Benutzer root gehört, müssen Sie zuerst mit &man.su.1; root werden: &prompt.user; su Password: &prompt.root; /bin/kill -s HUP 198 &man.kill.1; wird, wie andere &unix; Kommandos auch, keine Ausgabe erzeugen, wenn das Kommando erfolgreich war. Wird versucht, einem Prozess der nicht dem Benutzer gehört, ein Signal zu senden, dann wird die Meldung kill: PID: Operation not permitted ausgegeben. Ein Tippfehler bei der Eingabe der PID führt dazu, dass das Signal an einen falschen Prozess gesendet wird, was zu negativen Ergebnissen führen kann, oder das Signal wird an eine PID gesendet die derzeit nicht in Gebrauch ist, was zu dem Fehler kill: PID: No such process führt. Warum sollte man <command>/bin/kill</command> benutzen? Viele Shells stellen kill als internes Kommando zur Verfügung, das heißt die Shell sendet das Signal direkt, anstatt /bin/kill zu starten. Beachten Sie, dass die unterschiedlichen Shells eine andere Syntax benutzen, um die Namen der Signale anzugeben. Anstatt jede Syntax zu lernen, kann es einfacher sein, /bin/kill ... direkt aufzurufen. Beim Versenden von anderen Signalen, ersetzen Sie TERM oder KILL in der Kommandozeile mit dem entsprechenden Signal. Das zufällige Beenden eines Prozesses kann gravierende Auswirkungen haben. Insbesondere &man.init.8;, mit der PID 1, ist ein Spezialfall. /bin/kill -s KILL 1 ist ein schneller, jedoch nicht empfohlener Weg, das System herunterzufahren. Überprüfen Sie die Argumente von &man.kill.1; immer zweimal bevor Sie Return drücken. Shells Shells Kommandozeile &os; stellt mit der Shell eine Kommandozeilen-Schnittstelle zur Verfügung. Eine Shell empfängt Befehle von einem Eingabekanal und führt diese aus. Viele Shells bieten bieten eingebaute Funktionen, die die tägliche Arbeit erleichtern, beispielsweise eine Dateiverwaltung, die Vervollständigung von Dateinamen (Globbing), Kommandozeilen-Editor, sowie Makros und Umgebungsvariablen. &os; enthält einige Shells, darunter die Bourne Shell (&man.sh.1;) und die verbesserte C-Shell (&man.tcsh.1;). Weitere Shells, wie zsh oder bash, befinden sich in der Ports-Sammlung. Die verwendete Shell ist letztlich eine Frage des Geschmacks. Ein C-Programmierer, findet vielleicht eine C-artige Shell wie &man.tcsh.1; angenehmer. Ein &linux;-Benutzer bevorzugt vielleicht bash. Jede Shell hat ihre speziellen Eigenschaften, die mit der bevorzugten Arbeitsumgebung des Benutzers harmonieren kann oder nicht. Deshalb stehen mehrere Shells zur Auswahl. Ein verbreitetes Merkmal in Shells ist die Dateinamen-Vervollständigung. Nachdem der Benutzer einige Buchstaben eines Kommandos oder eines Dateinamen eingeben hat, vervollständigt die Shell den Rest automatisch durch drücken der Tab-Taste. Angenommen, Sie haben zwei Dateien foobar und foo.bar. Um foo.bar zu löschen, geben Sie folgendes ein: rm fo[Tab].[Tab] Die Shell sollte dann rm foo[BEEP].bar ausgeben. [BEEP] meint den Rechner-Piepser, den die Shell ausgibt um anzuzeigen, dass es den Dateinamen nicht vervollständigen konnte, da es mehrere Möglichkeiten gibt. Beide Dateien foobar und foo.bar beginnen mit fo. Nach der Eingabe von . und erneutem drücken der Tab-Taste, war die Shell in der Lage den Rest auszufüllen. Umgebungsvariablen Ein weiteres Merkmal der Shell ist der Gebrauch von Umgebungsvariablen. Dies sind veränderbare Schlüsselpaare im Umgebungsraum der Shell, die jedes von der Shell aufgerufene Programm lesen kann. Daher enthält der Umgebungsraum viele Konfigurationsdaten für Programme. Die folgende Liste zeigt verbreitete Umgebungsvariablen und deren Bedeutung: Variable Beschreibung USER Name des angemeldeten Benutzers. PATH Liste mit Verzeichnissen (getrennt durch Doppelpunkt) zum Suchen nach Programmen. DISPLAY Der Name des Xorg-Bildschirms, auf dem Ausgaben erfolgen sollen. SHELL Die aktuelle Shell. TERM Name des Terminaltyps des Benutzers. Benutzt, um die Fähigkeiten des Terminals zu bestimmen. TERMCAP Datenbankeintrag der Terminal Escape Codes, benötigt um verschieden Terminalfunktionen auszuführen. OSTYPE Typ des Betriebssystems. MACHTYPE Die CPU-Architektur des Systems. EDITOR Vom Benutzer bevorzugter Text-Editor. PAGER Vom Benutzer bevorzugter Text-Betrachter. MANPATH Liste mit Verzeichnissen (getrennt durch Doppelpunkt) zum Suchen nach Manualpages. Shells Bourne Shell Das Setzen von Umgebungsvariablen unterscheidet sich von Shell zu Shell. In &man.tcsh.1; und &man.csh.1; wird dazu setenv benutzt. &man.sh.1; und bash benutzen export um Umgebungsvariablen zu setzen. Dieses Beispiel für die &man.tcsh.1;-Shell setzt die Variable EDITOR auf /usr/local/bin/emacs: &prompt.user; setenv EDITOR /usr/local/bin/emacs Der entsprechende Befehl für bash wäre: &prompt.user; export EDITOR="/usr/local/bin/emacs" Um eine Umgebungsvariable zu expandieren, geben Sie in der Kommandozeile das Zeichen $ vor dessen Namen ein. Zum Beispiel gibt echo $TERM den aktuellen Wert von$TERM aus. Shells behandeln Spezialzeichen, so genannte Metazeichen, als besondere Darstellungen für Daten. Das häufigste Zeichen ist *, das eine beliebige Anzahl Zeichen in einem Dateinamen repräsentiert. Metazeichen können zur Vervollständigung von Dateinamen (Globbing) benutzt werden. Beispielsweise liefert echo * nahezu das gleiche wie &man.ls.1;, da die Shell alle Dateinamen die mit * übereinstimmen, an echo weitergibt. Um zu verhindern, dass die Shell ein Sonderzeichen interpretiert, schützt man es, indem man einen Backslash (\) voranstellt. Zum Beispiel zeigt echo $TERM die Einstellung des Terminals an, wohingegen echo \$TERM einfach die Zeichenfolge $TERM ausgibt. Ändern der Shell Der einfachste Weg die Standard Shell zu ändern, ist chsh zu benutzen. chsh startet den Editor, welcher durch die Umgebungsvariable EDITOR gesetzt ist. Standardmäßig ist dies &man.vi.1;. Tragen Sie in die Zeile die mit Shell: beginnt, den absoluten Pfad der neuen Shell ein. Alternativ setzt chsh -s die Shell, ohne dabei einen Editor aufzurufen. Um die Shell zum Beispiel auf bash zu ändern, geben Sie folgenden Befehl ein: &prompt.user; chsh -s /usr/local/bin/bash Die neue Shell muss in /etc/shells aufgeführt sein. Wurde die Shell aus der &os; Ports-Sammlung installiert, so wie in beschrieben, sollte sie automatisch zu dieser Datei hinzugefügt worden sein. Wenn der Eintrag fehlt, nutzen Sie folgenden Befehl, und ersetzen Sie den Pfad mit dem Pfad zur gewünschten Shell: &prompt.root; echo "/usr/local/bin/bash" >> /etc/shells Danach kann &man.chsh.1; erneut aufgerufen werden. Text-Editoren Text Editoren Editoren Die meiste Konfiguration unter &os; wird durch das Editieren von Textdateien erledigt. Deshalb ist es eine gute Idee, mit einem Texteditor vertraut zu werden. &os; hat ein paar davon im Basissystem und sehr viel mehr in der Ports-Sammlung. &man.ee.1; Text Editoren ee Ein einfach zu erlernender Editor ist &man.ee.1;, was für easy editor steht. Um diesen Editor zu starten, gibt man in der Kommandozeile ee filename ein, wobei filename den Namen der zu editierenden Datei darstellt. Einmal im Editor, finden sich alle Editor-Funktionen oben im Display aufgelistet. Das Einschaltungszeichen ^ steht für die Ctrl (oder Strg) Taste, mit ^e ist also die Tastenkombination Ctrle gemeint. Um &man.ee.1; zu verlassen, drücken Sie Esc und wählen dann im Hauptmenü aus. Der Editor fragt nach, ob Sie speichern möchten, wenn die Datei verändert wurde. &man.vi.1; Text Editoren &man.vi.1; emacs Text Editoren emacs &os; verfügt über leistungsfähigere Editoren wie &man.vi.1; als Teil des Basissystems. Andere Editoren wie editors/emacs und editors/vim sind Teil der Ports-Sammlung. Diese Editoren bieten höhere Funktionalität, jedoch auf Kosten einer etwas schwierigeren Erlernbarkeit. Das Erlernen eines leistungsfähigeren Editors, wie vim oder Emacs, kann auf lange Sicht Zeit einsparen. Viele Anwendungen, die Dateien verändern oder Texteingabe erwarten, werden automatisch einen Texteditor öffnen. Um den Standardeditor zu ändern, wird die Umgebungsvariable EDITOR gesetzt, wie im Abschnitt beschrieben. Geräte und Gerätedateien Der Begriff Gerät wird meist in Verbindung mit Hardware wie Laufwerken, Druckern, Grafikkarten oder Tastaturen gebraucht. Der Großteil der Meldungen, die beim Booten von &os; angezeigt werden, beziehen sich auf gefundene Geräte. Eine Kopie dieser Bootmeldungen wird in /var/run/dmesg.boot gespeichert. Jedes Gerät verfügt über einen Gerätenamen und Gerätenummer. Zum Beispiel steht acd0 für das erste IDE CD-ROM Laufwerk, während kbd0 die Tastatur repräsentiert. Auf die meisten Geräte wird unter &os; über spezielle Gerätedateien im /dev Verzeichnis zugegriffen. Weitere Informationen Manualpages Manualpages Die umfassendste Dokumentation rund um &os; gibt es in Form von Manualpages. Annähernd jedes Programm im System bringt eine kurze Referenzdokumentation mit, die die grundsätzliche Funktion und verschiedene Parameter erklärt. Diese Manuals können mit man eingesehen werden: &prompt.user; man Kommando Kommando ist der Name des Kommandos, über das man etwas erfahren will. Um beispielsweise mehr über das Kommando &man.ls.1; zu erfahren, geben Sie ein: &prompt.user; man ls Die Online-Manuals sind in nummerierte Sektionen unterteilt: Benutzerkommandos. Systemaufrufe und Fehlernummern. Funktionen der C Bibliothek. Gerätetreiber. Dateiformate. Spiele und andere Unterhaltung. Verschiedene Informationen. Systemverwaltung und -Kommandos. Kernel Entwickler. In einigen Fällen kann dasselbe Thema in mehreren Sektionen auftauchen. Es gibt zum Beispiel ein &man.chmod.1; Benutzerkommando und einen chmod() Systemaufruf. Um &man.man.1; mitzuteilen, aus welcher Sektion die Information angezeigt werden soll, kann die Sektionsnummer mit angeben werden: &prompt.user; man 1 chmod Dies wird Ihnen die Manualpage für das Benutzerkommando &man.chmod.1; zeigen. Verweise auf eine Sektion der Manualpages werden traditionell in Klammern gesetzt. So bezieht sich &man.chmod.1; auf das Benutzerkommando und &man.chmod.2; auf den Systemaufruf. Wenn der Name des Kommandos nicht bekannt ist, benutzt man man -k, um nach Schlüsselbegriffen in den Kommandobeschreibungen zu suchen: &prompt.user; man -k mail Dieser Befehl zeigt eine Liste von Kommandos, deren Beschreibung das Schlüsselwort mail enthält. Die gleiche Funktionalität erhalten Sie auch, wenn Sie &man.apropos.1; benutzen. Um herauszufinden, was die Kommandos in /usr/bin tun, geben Sie ein: &prompt.user; cd /usr/bin &prompt.user; man -f * Dasselbe erreichen Sie durch Eingabe von: &prompt.user; cd /usr/bin &prompt.user; whatis * GNU Info Dateien &os; enthält viele Anwendungen und Utilities der Free Software Foundation (FSF). Zusätzlich zu den Manualpages können diese Programme Hypertext-Dokumente enthalten, die info-Seiten genannt werden. Diese Dokumente können mit &man.info.1; ansehen kann. Wenn editors/emacs installiert ist, kann auch der info-Modus von emacs benutzt werden. Um &man.info.1; zu benutzen, geben Sie ein: &prompt.user; info Eine kurze Einführung gibt es mit h; eine Befehlsreferenz erhalten Sie durch Eingabe von: ?.
Index: head/de_DE.ISO8859-1/books/handbook/book.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/book.xml (revision 48231) +++ head/de_DE.ISO8859-1/books/handbook/book.xml (revision 48232) @@ -1,325 +1,324 @@ %chapters; %txtfiles; ]> Das &os;-Handbuch The FreeBSD German Documentation Project $FreeBSD$ $FreeBSD$ 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 The FreeBSD German Documentation Project &legalnotice; &tm-attrib.freebsd; &tm-attrib.3com; &tm-attrib.3ware; &tm-attrib.arm; &tm-attrib.adaptec; &tm-attrib.adobe; &tm-attrib.apple; &tm-attrib.corel; &tm-attrib.creative; &tm-attrib.google; &tm-attrib.heidelberger; &tm-attrib.ibm; &tm-attrib.ieee; &tm-attrib.intel; &tm-attrib.intuit; &tm-attrib.linux; &tm-attrib.lsilogic; &tm-attrib.microsoft; &tm-attrib.opengroup; &tm-attrib.oracle; &tm-attrib.powerquest; &tm-attrib.realnetworks; &tm-attrib.redhat; &tm-attrib.sun; &tm-attrib.symantec; &tm-attrib.themathworks; &tm-attrib.thomson; &tm-attrib.usrobotics; &tm-attrib.vmware; &tm-attrib.waterloomaple; &tm-attrib.wolframresearch; &tm-attrib.xfree86; &tm-attrib.xiph; &tm-attrib.general; Willkommen bei &os;! Dieses Handbuch beschreibt die Installation und den täglichen Umgang mit &os; &rel3.current;-RELEASE, &rel2.current;-RELEASE und &os; &rel.current;-RELEASE. Das Handbuch ist jederzeit unter Bearbeitung und das Ergebnis der Arbeit vieler Einzelpersonen. Dies kann dazu führen, dass bestimmte Bereiche nicht mehr aktuell sind und auf den neuesten Stand gebracht werden müssen. Bei Unklarheiten empfiehlt es sich daher stets, die englische Originalversion des Handbuchs zu lesen. Wenn Sie bei der Übersetzung des Handbuchs mithelfen möchten, senden Sie bitte eine E-Mail an die Mailingliste &a.de.translators;. Die aktuelle Version des Handbuchs ist immer auf dem &os;-Webserver verfügbar und kann in verschiedenen Formaten und in komprimierter Form vom &os; FTP-Server oder einem der vielen Spiegel herunter geladen werden (ältere Versionen finden Sie hingegen unter http://docs.FreeBSD.org/doc/). Vielleicht möchten Sie das Handbuch aber auch durchsuchen. &chap.preface; Erste Schritte Dieser Teil des &os;-Handbuchs richtet sich an Benutzer und Administratoren für die &os; neu ist. Diese Kapitel geben Ihnen eine Einführung in &os;, geleiten Sie durch den Installationsprozess, erklären Ihnen die Grundlagen von &unix; Systemen, zeigen Ihnen, wie Sie die Fülle der erhältlichen Anwendungen Dritter installieren und führen Sie in X, der Benutzeroberfläche von &unix; Systemen ein. Es wird gezeigt, wie Sie den Desktop konfigurieren, um effektiver arbeiten zu können. Wir haben uns bemüht, Referenzen auf weiter vorne liegende Textteile auf ein Minimum zu beschränken, so dass Sie diesen Teil des Handbuchs ohne viel Blättern durcharbeiten können. &chap.introduction; &chap.install; &chap.bsdinstall; &chap.basics; &chap.ports; &chap.x11; Oft benutzte Funktionen Nach den Grundlagen beschäftigt sich das &os;-Handbuch mit oft benutzten Funktionen von &os;. Die Kapitel behandeln die nachstehenden Themen: Zeigen Ihnen beliebte und nützliche Werkzeuge wie Browser, Büroanwendungen und Programme zum Anzeigen von Dokumenten. Zeigen Ihnen Multimedia-Werkzeuge für &os;. Erklären den Bau eines angepassten &os;-Kernels, der die Systemfunktionen erweitert. Beschreiben ausführlich das Drucksystem, sowohl für direkt angeschlossene Drucker als auch für Netzwerkdrucker. Erläutern, wie Sie Linux-Anwendungen auf einem &os;-System laufen lassen. Damit Sie einige Kapitel verstehen, sollten Sie vorher andere Kapitel gelesen haben. Die Übersicht zu jedem Kapitel zählt die Voraussetzungen für das erolgreiche Durcharbeiten des Kapitels auf. &chap.desktop; &chap.multimedia; &chap.kernelconfig; &chap.printing; &chap.linuxemu; Systemadministration Die restlichen Kapitel behandeln alle Aspekte der &os; Systemadministration. Am Anfang jedes Kapitels finden Sie eine Zusammenfassung, die beschreibt, was Sie nach dem Durcharbeiten des Kapitels gelernt haben. Weiterhin werden die Voraussetzungen beschrieben, die für das Durcharbeiten des Kapitels erforderlich sind. Diese Kapitel sollten Sie lesen, wenn Sie die Informationen darin benötigen. Sie brauchen Sie nicht in einer bestimmten Reihenfolge zu lesen, noch müssen Sie die Kapitel lesen, bevor Sie anfangen, &os; zu benutzen. &chap.config; &chap.boot; - &chap.users; &chap.security; &chap.jails; &chap.mac; &chap.audit; &chap.disks; &chap.geom; &chap.zfs; &chap.filesystems; &chap.virtualization; &chap.l10n; &chap.cutting-edge; &chap.dtrace; Netzwerke &os; ist eins der meist benutzten Betriebssysteme für leistungsfähige Netzwerkserver. Die Kapitel in diesem Teil behandeln die nachstehenden Themen: Serielle Datenübertragung PPP und PPP over Ethernet Electronic-Mail Den Betrieb von Netzwerkdiensten Firewalls Weiterführende Netzwerkthemen Diese Kapitel sollten Sie lesen, wenn Sie die Informationen darin benötigen. Sie brauchen Sie nicht in einer bestimmten Reihenfolge zu lesen, noch müssen Sie die Kapitel lesen, bevor Sie anfangen, &os; zu benutzen. &chap.serialcomms; &chap.ppp-and-slip; &chap.mail; &chap.network-servers; &chap.firewalls; &chap.advanced-networking; Anhang &chap.mirrors; &chap.bibliography; &chap.eresources; &chap.pgpkeys; &chap.freebsd-glossary; &chap.index; &chap.colophon; Index: head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml (revision 48231) +++ head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml (revision 48232) @@ -1,2730 +1,2731 @@ &os; 9.<replaceable>X</replaceable> (und neuer) installieren JimMockRestructured, reorganized, and parts rewritten by RandyPrattThe sysinstall walkthrough, screenshots, and general copy by GavinAtkinsonUpdated for bsdinstall by WarrenBlock BenedictReuschlingÜbersetzt von Übersicht installation &os; enthält ein text-basiertes, einfach zu verwendendes Installationsprogramm. &os; 9.0-RELEASE und neuer verwendet ein Installationsprogramm genannt bsdinstall, während Versionen vor &os; 9.0-RELEASE stattdessen sysinstall zur Installation einsetzten. Dieses Kapitel beschreibt die Verwendung von bsdinstall. Der Einsatz von sysinstall wird in behandelt. Nachdem Sie dieses Kapitel gelesen haben, werden Sie wissen: wie man &os; Installationsmedien erstellt. wie &os; Festplatten unterteilt und darauf verweist. wie man bsdinstall startet. welche Fragen Sie von bsdinstall gestellt bekommen, was sie bedeuten und und wie man diese beantwortet. Bevor Sie dieses Kapitel lesen, sollten Sie: Die Liste von unterstützter Hardware lesen, die mit Ihrer zu installierenden Version von &os; ausgeliefert wird, um sicherzustellen, dass Ihre Hardware auch unterstützt wird. Generell wurden diese Installationsanweisungen für Rechner der &i386; (PC-kompatibel) Architektur verfasst. An Stellen, an denen sich die Anweisungen speziell auf eine andere Plattform beziehen, wird darauf hingewiesen. Es mag kleinere Unterschiede geben zwischen dem Installationsprogramm und dem, was hier beschrieben steht. Sie sollten daher dieses Kapitel als eine Art Wegweiser und keine exakte Anleitung betrachten. Hardware-Anforderungen Minimalkonfiguration Die Minimalkonfiguration zur Installation von &os; variiert mit der Version von &os; und der Hardwarearchitektur. Eine Zusammenfassung dieser Informationen wird in den folgenden Abschnitten gegeben. Abhängig von der Installationsmethode, die Sie verwenden, um &os; zu installieren, werden Sie unter Umständen ein unterstütztes CD-ROM-Laufwerk benötigen und in manchen Fällen eine Netzwerkkarte. Dies wird im Abschnitt genauer betrachtet. &os;/&arch.i386; &os;/&arch.i386; benötigt einen 486er oder einen schnelleren Prozessor und mindestens 64 MB RAM. Es sollte mindestens 1.1 GB freier Festplattenspeicher für die Installation zur Verfügung stehen. Auf alten Rechnern hat die Aufrüstung von RAM und dem Festplattenplatz normalerweise einen höheren geschwindigkeitssteigernden Effekt als einen schnelleren Prozessor einzubauen. &os;/&arch.amd64; Es gibt zwei Klassen von Prozessoren, die in der Lage sind, auf &os;/&arch.amd64; zu laufen. Die erste Klasse sind AMD64-Prozessoren, was sowohl &amd.athlon;64, &amd.athlon;64-FX, &amd.opteron; oder bessere Prozessoren beinhaltet. Die zweite Klasse von Prozessoren, die &os;/&arch.amd64; benutzen kann, besteht aus der &intel; EM64T-Architektur. Beispiele dieser Prozessoren beinhalten die &intel; &core; 2 Duo, Quad, Extreme Prozessorfamilien, die &intel; &xeon; 3000, 5000, und 7000 Reihe von Prozessoren, sowie die &intel; &core; i3, i5 and i7 Prozessoren. Sollten Sie einen Rechner basierend auf der nVidia nForce3 Pro-150 besitzen, müssen Sie im BIOS das IO APIC deaktivieren. Falls Sie keine solche Option zum deaktivieren besitzen, werden Sie wahrscheinlich ACPI deaktivieren müssen. Der Pro-150 Chipsatz enthält Fehler, für die wir noch keine Abhilfe gefunden haben. &os;/&arch.powerpc; &apple; &macintosh; Alle neuen &apple; &macintosh; Systeme mit eingebautem USB werden unterstützt. SMP wird auf Maschinen mit mehreren CPUs unterstützt. Ein 32-bit Kernel kann nur die ersten 2 GB des Hauptspeichers verwenden. &firewire; wird auf den blauen und weissen PowerMac G3s nicht unterstützt. &os;/&arch.sparc64; Systeme, die von &os;/&arch.sparc64; unterstützt werden, sind auf der FreeBSD/sparc64-Projektseite aufgelistet. Eine dedizierte Platte wird für &os;/&arch.sparc64; benötigt. Es ist nicht möglich, eine Platte mit einem anderen Betriebssystem zur gleichen Zeit zu teilen. Unterstützte Hardware Hardwarearchitekturen und von &os; unterstützte Geräte werden in der Datei mit Hardware Notes aufgelistet. Normalerweise heisst diese Datei HARDWARE.TXT und befindet sich im Wurzelverzeichnis des Veröffentlichungsmediums. Kopien dieser unterstützten Hardwareliste ist ebenfalls auf der Seite Release Information der &os; Webseite abrufbar. Vor der Installation Sichern Sie Ihre Daten Sichern Sie alle wichtigen Daten auf dem Zielcomputer, auf dem &os; installiert werden soll. überprüfen Sie diese Sicherungen, bevor Sie fortfahren. Die &os; Installation wird Sie vor Änderungen an den Platten danach fragen, jedoch kann dies nicht mehr rückgängig gemacht werden, sobald der Prozess gestartet wurde. Den Installationsort von &os; festlegen Falls &os; das einzige installierte Betriebssystem sein wird und die gesamte Platte dazu verwenden kann, kann der Rest dieses Abschnitts übersprungen werden. Sollten Sie allerdings die Platte mit anderen Betriebssystemen teilen, ist ein Verständnis des Plattenlayouts hilfreich für die Installation. Festplattenlayout für &os;/&arch.i386; und &os;/&arch.amd64; Festplatten können in mehrere verschiedene Bereiche aufgeteilt werden. Diese Bereiche werden Partitionen genannt. Es gibt zwei Arten, eine Festplatte in mehrere Partitionen einzuteilen. Traditionell enthält ein Master Boot Record (MBR) eine Partitionstabelle, welche bis zu vier primäre Partitionen aufnehmen kann (aus historischen Gründen werden diese primären Partitionen in &os; slices genannt). Eine Begrenzung von nur vier Partitionen ist für grosse Platten sehr beschränkt, so dass eine dieser primären Partitionen als erweiterte Partition eingesetzt wird. Mehrere logische Partitionen können dann innerhalb der erweiterten Partition angelegt werden. Dies mag etwas unhandlich erscheinen und das ist auch der Fall. Die GUID-Partitionstabelle (GPT) ist eine neuere und einfachere Methode zur Partition einer Festplatte. GPT ist weitaus flexibler als die traditionelle MBR-Partitionstabelle. Geläufige GPT-Implementierungen erlauben bis zu 128 Partitionen pro Platte, was die Notwendigkeit von umständlichen Behelfen wie logische Partitionen eliminiert. Manche älteren Betriebssysteme wie &windows; XP sind mit dem GPT-Partitionsschema nicht kompatibel. Wenn sich &os; die Platte mit einem solchen Betriebssystem teilen soll, werden MBR Partitionen benötigt. &os;s Standard-Bootloader benötigt entweder eine primäre oder eine GPT-Partition (lesen Sie dazu für weitere Informationen zum &os; Bootvorgang). Wenn alle der primären oder GPT-Partitionen bereits in Verwendung sind, muss eine davon für &os; zur Verfügung gestellt werden. Eine Minimalinstallation von &os; braucht ungefähr 1 GB Plattenplatz. Dies ist jedoch eine sehr minimale Installation, die fast gar keinen freien Speicherplatz übrig lässt. Eine etwas realistischere Minimalangabe sind 3 GB ohne eine graphische Umgebung und 5 GB oder mehr, falls eine graphische Benutzeroberfläche verwendet werden soll. Anwendungen von Drittanbietern benötigt sogar noch mehr Platz. Eine Vielzahl freier und kommerzieller Werkzeuge zur Veränderung der Partitionsgrössen sind verfügbar. GParted Live ist eine freie Live-CD, die den GParted-Partitionseditor enthält. GParted ist auch in einer Vielzahl von anderen Linux Live-CD Distributionen enthalten. Anwendungen zur Festplattenpartition kann Daten zerstören. Erstellen Sie eine Vollsicherung und überprüfen Sie deren Integrität bevor Sie die Partitionen auf der Platte verändern. Die Veränderung der Grösse von µsoft; Vista-Partitionen kann schwierig sein. Eine Vista Installations-CD-ROM kann hilfreich sein, wenn eine solche Aktion versucht wird. Eine existierende Partition verändern Ein &windows;-Computer besitzt eine einzelne 40 GB Platte, die in zwei 20 GB Partitionen aufgeteilt wurde. &windows; nennt diese C: und D:. Die C: Partition enthält 10 GB und the D: Partition 5 GB an Daten. Durch kopieren der Daten von D: nach C: macht die zweite Partition frei, so dass &os; sie benutzen kann. Verkleinern einer bestehenden Partition Ein &windows;-Computer besitzt eine einzelne 40 GB Platte und eine grosse Partition, welche die gesamte Platte einnimmt. &windows; zeigt diese 40 GB Partition als einzelne C: Partition. 15 GB Plattenplatz wird verwendet. Das Ziel ist, für &windows; eine 20 GB Partition einzurichten und eine weitere 20 GB-Partition für &os; bereitzustellen. Es gibt zwei Wege, dieses Ziel zu erreichen: Sichern Sie Ihre &windows;-Daten. Installieren Sie dann &windows; neu, indem Sie eine 20 GB-Partition während der Installation anlegen. Verwenden Sie ein Werkzeug zur Veränderung einer Partition wie GParted, um die &windows;-Partition zu verkleinern und eine neue Partition im freigewordenen Plattenplatz für &os; anzulegen. Festplattenpartitionen, die unterschiedliche Betriebssysteme enthalten, ermöglichen es, jeweils eines dieser Systeme zu verwenden. Eine andere Methode, die es erlaubt, mehrere Betriebssysteme gleichzeitig einzusetzen, wird in behandelt. Netzwerkparameter ermitteln Manche &os; Installationsarten benötigen eine Netzwerkverbindung, um Dateien herunter zu laden. Um zu einem Ethernet-Netzwerk (bzw. Kabel oder DSL-Modem mit einem Ethernet-Anschluss) eine Verbindung herzustellen, wird das Installationsprogramm bestimmte Information zum Netzwerk abfragen. DHCP wird allgemein verwendet, um automatisch Netzwerkeinstellungen vorzunehmen. Falls DHCP nicht verfügbar ist, müssen diese Netzwerkeinstellungen vom lokalen Netzwerkadministrator oder Provider erfragt werden: Informationen zum Netzwerk IP-Adresse Subnetz-Maske Default-Router IP-Adresse Domänenname des lokalen Netzwerks DNS-Server IP-Adresse(n) Lesen Sie die &os;-Errata Obwohl das &os; Projekt sich bemüht, jede veröffentlichte Version von &os; so stabil wie möglich zu machen, können sich doch gelegentlich Fehler in den Veröffentlichungsprozess einschleichen. In sehr seltenen Fällen betreffen diese Fehler den Installationsvorgang. Wenn diese Probleme entdeckt und behoben sind, werden dazu Hinweise in der FreeBSD Errata auf der &os; Webseite veröffentlicht. Prüfen Sie die Errata vor der Installation, um sicherzustellen, dass es keine Probleme gibt, welche die Installation betreffen. Informationen und Errata für all diese Veröffentlichungen können über den Abschnitt release information der &os; Webseite abgerufen werden. Die Installationsmedien beschaffen Eine &os;-Installation wird durch das starten des Computers mit einer eingelegten &os;-Installations-CD/DVD oder eines USB-Sticks begonnen. Das Installationsprogramm ist kein Programm das aus einem anderen Betriebssystem heraus gestartet werden kann. Zusätzlich zum Standardinstallationsmedium, welches Kopien von allen &os;-Installationsdateien enthält, gibt es auch eine bootonly-Variante. Ein solches Installationsmedium besitzt keine Kopien der Installationsdateien, jedoch kann es diese während der Installation aus dem Netzwerk nachladen. Die bootonly Installations-CD ist dadurch viel kleiner und reduziert die benötigte Bandbreite während der Installation durch herunterladen der allernötigsten Dateien. Kopien der &os;-Installationsmedien sind auf der &os; Webseite verfügbar. Falls Sie bereits eine Kopie von &os; auf CD-ROM, DVD oder USB-Stick besitzen, kann dieser Abschnitt übersprungen werden. CD und DVD-Images von &os; sind startfähige ISO-Dateien. Nur eine CD oder DVD wird für eine Installation benötigt. Brennen Sie ein ISO-Image auf eine startfähige CD oder DVD mit Hilfe eines CD-Brennprogramms, das für Ihr aktuelles Betriebssystem zur Verfügung steht. Um einen startfähigen USB-Stick zu erstellen, führen Sie die folgenden Schritte durch: Das Image für den USB-Stick herunterladen Das Image für &os; 9.0-RELEASE und höhere kann von dem ISO-IMAGES/-Verzeichnis unter ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/arch/ISO-IMAGES/version/&os;-version-RELEASE-arch-memstick.img bezogen werden. Ersetzen Sie jeweils arch und version mit der Architektur und der Versionsnummer, die Sie installieren möchten. Beispielsweise sind die USB-Stick Images für &os;/&arch.i386; 9.0-RELEASE verfügbar unter ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/&arch.i386;/ISO-IMAGES/9.0/&os;-9.0-RELEASE-&arch.i386;-memstick.img. Für &os; 8.X und frühere Versionen wird ein anderer Pfad verwendet. Details für das Herunterladen und Installieren von &os; 8.X und frühere werden in behandelt. Das USB-Stick Image hat die Endung .img. Das ISO-IMAGES/-Verzeichnis enthält eine Vielzahl von verschiedenen Installations-Images und die jeweils benötigte Version von &os;, sowie in manchen Fällen die Zielhardware. Bevor Sie fortfahren, machen Sie Sicherungskopien der Daten auf dem USB-Stick, da die folgende Prozedur alle Daten löscht. Das Image auf den USB-Stick schreiben Den USB-Stick unter &os; vorbereiten Das Beispiel unten verwendet /dev/da0 als das Zielgerät, auf welches das Image geschrieben werden soll. Seien Sie vorsichtig, dass das richtige Gerät als das Ausgabe benutzt wird oder Sie zerstören wichtige Daten. Das Image mit &man.dd.1; schreiben Die .img-Datei ist keine gewöhnliche Datei. Es ist ein Image des kompletten späteren Inhalts des USB-Sticks. Es kann nicht einfach wie eine gewöhnliche Datei kopiert werden, sondern muss direkt auf das Zielgerät mit &man.dd.1; geschrieben werden: &prompt.root; dd if=&os;-9.0-RELEASE-&arch.i386;-memstick.img of=/dev/da0 bs=64k Das Image unter &windows; schreiben Versichern Sie sich, dass Sie den korrekten Laufwerksbuchstaben als Ausgabe angeben oder Sie überschreiben und zerstören bestehende Daten. <application>Image Writer für &windows;</application> herunterladen Image Writer für &windows; ist eine frei verfügbare Anwendung, welche eine Imagedatei korrekt auf einen SB-Stick schreiben kann. Laden Sie diese von https://launchpad.net/win32-image-writer/ herunter und entpacken Sie sie in einen Ordner. Das Image mit Image Writer auf den USB-Stick schreiben Klicken Sie doppelt auf das Win32DiskImager-Icon, um das Programm zu starten. Prüfen Sie dabei, dass der Laufwerksbuchstabe unter Device dem Gerät entspricht, in dem sich der USB-Stick befindet. Klicken Sie auf das Ordnersymbol und wählen Sie das Image aus, welches auf den USB-Stick geschrieben werden soll. Um den Image-Dateinamen zu akzeptieren, klicken Sie auf [ Save ]. Überprüfen Sie erneut, ob alles stimmt und dass keine Ordner auf dem USB-Stick in anderen Fenstern geöffnet sind. Sobald alles bereit ist, klicken Sie auf [ Write ], um die Imagedatei auf den USB-Stick zu schreiben. Die Installation von Disketten wird nicht mehr unterstützt. Sie sind jetzt dazu bereit, mit der Installation von &os; zu beginnen. Die Installation starten Es werden durch die Installation keine Änderungen an Ihren Festplatten durchgeführt, so lange Sie nicht die folgende Meldung sehen: Your changes will now be written to disk. If you have chosen to overwrite existing data, it will be PERMANENTLY ERASED. Are you sure you want to commit your changes? Die Installation kann vor dieser Warnung zu jeder Zeit abgebrochen werden, ohne dass die Inhalte der Festplatte geändert davon betroffen sind. Falls Sie besorgt sind, dass etwas falsch konfiguriert wurde, schalten Sie einfach den Computer vor diesem Punkt aus und es wird kein Schaden angerichtet. Der Systemstart Systemstart von &i386; und &arch.amd64; Falls Sie einen startfähigen USB-Stick einsetzen, wie in beschrieben ist, dann stecken Sie diesen vor dem Anschalten des Computers hinein. Falls Sie von einer CD-ROM starten, müssen Sie den Computer anschalten und die CD-ROM so bald wie möglich einlegen. Konfigurieren Sie Ihren Rechner so, dass er entweder von der CD-ROM oder dem USB-Stick startet, abhängig davon, welches Installationsmedium Sie verwenden. Die Konfiguration im BIOS erlaubt es, das Gerät, von dem gestartet werden soll, auszuwählen. Die meisten Systeme erlauben es auch, das Startgerät während des Startvorgangs zu wählen, typischerweise durch drücken von entweder F10, F11, F12 oder Escape. Falls Ihr Computer wie normal startet und Ihr bestehendes Betriebssystem lädt, befolgen Sie einen der hier aufgeführten Schritte: Die Medien wurden während des Startvorgangs nicht früh genug eingelegt. Lassen Sie diese wo sie sind und versuchen Sie, den Rechner davon neu zu starten. Die Änderungen am BIOS haben nicht richtig funktioniert. Sie sollten diese erneut durchführen, um die richtige Option auszuwälen. Das von Ihnen verwendete BIOS unterstützt das starten vom gewählten Medium nicht. Der Plop Boot Manager kann in diesem Fall verwendet werden, um ältere Computer von CD or USB-Medien zu starten. &os; wird anfangen zu starten. Falls Sie von CD-ROM starten, werden Sie eine Anzeige ähnlich wie die folgende zu sehen bekommen (Versionsinformationen wurden hier entfernt): Booting from CD-ROM... 645MB medium detected CD Loader 1.2 Building the boot loader arguments Looking up /BOOT/LOADER... Found Relocating the loader and the BTX Starting the BTX loader BTX loader 1.00 BTX version is 1.02 Consoles: internal video/keyboard BIOS CD is cd0 BIOS drive C: is disk0 BIOS drive D: is disk1 BIOS 636kB/261056kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d] \ Der &os;-Bootloader wird angezeigt:
Das &os;-Bootloader Menü
Warten Sie entweder zehn Sekunden oder drücken Sie Enter.
Systemstart beim &macintosh; &powerpc; Auf den meisten Maschinen können Sie C auf der Tastatur gedrückt halten, um von der CD zu starten. Andernfalls, halten Sie Command Option O F , oder Windows Alt O F auf nicht-&apple; Tastaturen gedrückt. Geben Sie an der 0 >-Eingabeaufforderung folgendes ein: boot cd:,\ppc\loader cd:0 Für Xserves ohne Tastatur, lesen Sie &apple;s Support Webseite über das starten in die Open Firmware. Systemstart für &sparc64; Die meisten &sparc64;-Systeme sind so eingerichtet, dass diese automatisch von CD starten. Um &os; zu installieren, müssen Sie über das Netzwerk oder von einer CD-ROM starten, was es nötig macht, in die PROM OpenFirmware einzubrechen. Um dies zu tun, starten Sie das System neu und warten Sie bis die Startmeldungen erscheinen. Abhängig vom Modell sollte dies in etwa folgendermaßen aussehen: Sun Blade 100 (UltraSPARC-IIe), Keyboard Present Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.2, 128 MB memory installed, Serial #51090132. Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4. Falls Ihr System damit fortfährt, von diesem Zeitpunkt an von Platte zu starten, müssen Sie L1A oder StopA auf der Tastatur eingeben oder ein BREAK-Kommando (indem Sie z.B. ~# in &man.tip.1; oder &man.cu.1; absetzen) über die serielle Konsole senden, um zur PROM Befehlszeile zu gelangen. Es sieht dann so aus: ok ok {0} Dies ist die Eingabeaufforderung, welche auf Systemen mit nur einer CPU verwendet wird. Dies ist die Eingabeaufforderung auf SMP-Systemen. Die Zahl gibt die Nummer der aktiven CPU an. An dieser Eingabeaufforderung angekommen, legen Sie nun die CD-ROM in Ihr Laufwerk und geben Sie boot cdrom ein.
Die Geräteerkennung prüfen Die letzten hundert Zeilen, die am Bildschirm angezeigt wurden, sind gespeichert worden und können erneut abgerufen werden. Um diesen Puffer anzusehen, drücken Sie Scroll Lock. Das bewirkt, dass Sie die Bildschirmanzeige hoch und runter bewegen (scrollen) können. Sie können dann die Pfeiltasten oder PageUp und PageDown benutzen, um die Meldungen zu sehen. Drücken Sie Scroll Lock erneut, um das scrollen zu stoppen. Tun Sie dies jetzt, um den Text, der aus den Bildschirm gelaufen ist, als der Kernel die Geräteerkennung durchgeführt hat, erneut zu prüfen. Sie werden einen Text ähnlich zu sehen, obwohl sich der genaue Text, abhängig von den Geräten in Ihrem Computer, unterscheiden wird.
Typical Device Probe Results Copyright (c) 1992-2011 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 9.0-RELEASE #0 r225473M: Sun Sep 11 16:07:30 BST 2011 root@psi:/usr/obj/usr/src/sys/GENERIC amd64 CPU: Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz (2527.05-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0x10676 Family = 6 Model = 17 Stepping = 6 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x8e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1> AMD Features=0x20100800<SYSCALL,NX,LM> AMD Features2=0x1<LAHF> TSC: P-state invariant, performance statistics real memory = 3221225472 (3072 MB) avail memory = 2926649344 (2791 MB) Event timer "LAPIC" quality 400 ACPI APIC Table: <TOSHIB A0064 > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs FreeBSD/SMP: 1 package(s) x 2 core(s) cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ioapic0: Changing APIC ID to 1 ioapic0 <Version 2.0> irqs 0-23 on motherboard kbd1 at kbdmux0 acpi0: <TOSHIB A0064> on motherboard acpi0: Power Button (fixed) acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, b6690000 (3) failed Timecounter "ACPI-safe" frequency 3579545 Hz quality 850 acpi_timer0: <24-bit timer at 3.579545MHz> port 0xd808-0xd80b on acpi0 cpu0: <ACPI CPU> on acpi0 ACPI Warning: Incorrect checksum in table [ASF!] - 0xFE, should be 0x9A (20110527/tbutils-282) cpu1: <ACPI CPU> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 vgapci0: <VGA-compatible display> port 0xcff8-0xcfff mem 0xff400000-0xff7fffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0 agp0: <Intel GM45 SVGA controller> on vgapci0 agp0: aperture size is 256M, detected 131068k stolen memory vgapci1: <VGA-compatible display> mem 0xffc00000-0xffcfffff at device 2.1 on pci0 pci0: <simple comms> at device 3.0 (no driver attached) em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xcf80-0xcf9f mem 0xff9c0000-0xff9dffff,0xff9fe000-0xff9fefff irq 20 at device 25.0 on pci0 em0: Using an MSI interrupt em0: Ethernet address: 00:1c:7e:6a:ca:b0 uhci0: <Intel 82801I (ICH9) USB controller> port 0xcf60-0xcf7f irq 16 at device 26.0 on pci0 usbus0: <Intel 82801I (ICH9) USB controller> on uhci0 uhci1: <Intel 82801I (ICH9) USB controller> port 0xcf40-0xcf5f irq 21 at device 26.1 on pci0 usbus1: <Intel 82801I (ICH9) USB controller> on uhci1 uhci2: <Intel 82801I (ICH9) USB controller> port 0xcf20-0xcf3f irq 19 at device 26.2 on pci0 usbus2: <Intel 82801I (ICH9) USB controller> on uhci2 ehci0: <Intel 82801I (ICH9) USB 2.0 controller> mem 0xff9ff800-0xff9ffbff irq 19 at device 26.7 on pci0 usbus3: EHCI version 1.0 usbus3: <Intel 82801I (ICH9) USB 2.0 controller> on ehci0 hdac0: <Intel 82801I High Definition Audio Controller> mem 0xff9f8000-0xff9fbfff irq 22 at device 27.0 on pci0 pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0 pci1: <ACPI PCI bus> on pcib1 iwn0: <Intel(R) WiFi Link 5100> mem 0xff8fe000-0xff8fffff irq 16 at device 0.0 on pci1 pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.1 on pci0 pci2: <ACPI PCI bus> on pcib2 pcib3: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0 pci4: <ACPI PCI bus> on pcib3 pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci5: <ACPI PCI bus> on pcib4 cbb0: <RF5C476 PCI-CardBus Bridge> at device 11.0 on pci5 cardbus0: <CardBus bus> on cbb0 pccard0: <16-bit PCCard bus> on cbb0 isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 ahci0: <Intel ICH9M AHCI SATA controller> port 0x8f58-0x8f5f,0x8f54-0x8f57,0x8f48-0x8f4f,0x8f44-0x8f47,0x8f20-0x8f3f mem 0xff9fd800-0xff9fdfff irq 19 at device 31.2 on pci0 ahci0: AHCI v1.20 with 4 3Gbps ports, Port Multiplier not supported ahcich0: <AHCI channel> at channel 0 on ahci0 ahcich1: <AHCI channel> at channel 1 on ahci0 ahcich2: <AHCI channel> at channel 4 on ahci0 acpi_lid0: <Control Method Lid Switch> on acpi0 battery0: <ACPI Control Method Battery> on acpi0 acpi_button0: <Power Button> on acpi0 acpi_acad0: <AC Adapter> on acpi0 acpi_toshiba0: <Toshiba HCI Extras> on acpi0 acpi_tz0: <Thermal Zone> on acpi0 attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model GlidePoint, device ID 0 atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0 Event timer "RTC" frequency 32768 Hz quality 0 hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 14318180 Hz quality 950 Event timer "HPET" frequency 14318180 Hz quality 450 Event timer "HPET1" frequency 14318180 Hz quality 440 Event timer "HPET2" frequency 14318180 Hz quality 440 Event timer "HPET3" frequency 14318180 Hz quality 440 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 ppc0: cannot reserve I/O port range est0: <Enhanced SpeedStep Frequency Control> on cpu0 p4tcc0: <CPU Frequency Thermal Control> on cpu0 est1: <Enhanced SpeedStep Frequency Control> on cpu1 p4tcc1: <CPU Frequency Thermal Control> on cpu1 Timecounters tick every 1.000 msec hdac0: HDA Codec #0: Realtek ALC268 hdac0: HDA Codec #1: Lucent/Agere Systems (Unknown) pcm0: <HDA Realtek ALC268 PCM #0 Analog> at cad 0 nid 1 on hdac0 pcm1: <HDA Realtek ALC268 PCM #1 Analog> at cad 0 nid 1 on hdac0 usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 usbus2: 12Mbps Full Speed USB v1.0 usbus3: 480Mbps High Speed USB v2.0 ugen0.1: <Intel> at usbus0 uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 ugen1.1: <Intel> at usbus1 uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 ugen2.1: <Intel> at usbus2 uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2 ugen3.1: <Intel> at usbus3 uhub3: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus3 uhub0: 2 ports with 2 removable, self powered uhub1: 2 ports with 2 removable, self powered uhub2: 2 ports with 2 removable, self powered uhub3: 6 ports with 6 removable, self powered ugen2.2: <vendor 0x0b97> at usbus2 uhub8: <vendor 0x0b97 product 0x7761, class 9/0, rev 1.10/1.10, addr 2> on usbus2 ugen1.2: <Microsoft> at usbus1 ada0 at ahcich0 bus 0 scbus1 target 0 lun 0 ada0: <Hitachi HTS543225L9SA00 FBEOC43C> ATA-8 SATA 1.x device ada0: 150.000MB/s transfers (SATA 1.x, UDMA6, PIO 8192bytes) ada0: Command Queueing enabled ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C) ada0: Previously was known as ad4 ums0: <Microsoft Microsoft 3-Button Mouse with IntelliEyeTM, class 0/0, rev 1.10/3.00, addr 2> on usbus1 SMP: AP CPU #1 Launched! cd0 at ahcich1 bus 0 scbus2 target 0 lun 0 cd0: <TEAC DV-W28S-RT 7.0C> Removable CD-ROM SCSI-0 device cd0: 150.000MB/s transfers (SATA 1.x, ums0: 3 buttons and [XYZ] coordinates ID=0 UDMA2, ATAPI 12bytes, PIO 8192bytes) cd0: cd present [1 x 2048 byte records] ugen0.2: <Microsoft> at usbus0 ukbd0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0 kbd2 at ukbd0 uhid0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0 Trying to mount root from cd9660:/dev/iso9660/FREEBSD_INSTALL [ro]...
Prüfen Sie die Ergebnisse der Geräteerkennung genau, um sicher zu stellen, dass &os; alle Geräte, die Sie erwarten, auch gefunden hat. Falls ein Gerät nicht gefunden wurde, wird es auch nicht aufgelistet. Kernelmodule erlauben es, Unterstützung für Geräte, die nicht im GENERIC-Kernel vorhanden sind, hinzuzufügen. Nach der Geräteerkennungsprozedur, werden Sie sehen. Das Installationsmedium kann auf drei Arten verwendet werden: um &os; zu installieren, als eine Live-CD oder um einfach eine &os;-Shell zu öffnen. Benutzen Sie die Pfeiltasten, um eine Option auszuwählen und druücken Sie Enter zum bestätigen.
Auswahl der Verwendung des Installationsmediums
Wählen Sie hier [ Install ], gelangen Sie in das Installationsprogramm.
Das <application>bsdinstall</application>-Werkzeug bsdinstall ist ein textbasiertes &os; Installationsprogramm, das von &a.nwhitehorn.email; geschrieben und im Jahr 2011 für &os; 9.0 vorgestellt wurde. &a.kmoore.email;s pc-sysinstall ist in PC-BSD enthalten und kann ebenfalls verwendet werden, um &os; zu installieren. Obwohl es manchmal mit bsdinstall verwechselt wird, sind die beiden Programme nicht miteinander verwandt. Das bsdinstall Menüsystem wird durch die Pfeiltasten gesteuert, Enter, Tab, Space und andere Tasten. Die Tastaturbelegung auswählen Abhängig davon, welche Systemkonsole verwendet wird, fragt bsdinstall am Anfang ab, ob eine nicht-Standard Tastaturbelegung festgelegt werden soll.
Tastaturbelegung festlegen
Wenn [ YES ] ausgewählt wird, wird der folgende Tastaturauswahlbildschirm angezeigt. Andernfalls wird dieser Auswahlbildschirm nicht gezeigt und eine Standardtastaturbelegung genutzt.
Tastaturauswahlbildschirm
Wählen Sie die Tastenbelegung, die Ihrer am System angeschlossenen Tastatur am nächsten kommt, indem Sie die Pfeiltasten Hoch/Runter verwenden und anschliessend Enter drücken. Durch drücken von Esc wird die Standardbelegung eingestellt. United States of America ISO-8859-1 ist eine sichere Option, falls Sie sich unsicher sind, welche Auswahl Sie treffen sollen.
Den Rechnernamen festlegen Als nächstes fragt Sie bsdinstall nach dem Rechnernamen, der in dem neu zu installierenden System verwendet werden soll.
Festlegen des Rechnernamens
Der eingegebene Rechnername sollte ein voll-qualifizierter Rechnername sein, so wie z.B. machine3.example.com
Auswahl der zu installierenden Komponenten Im nächsten Schritt fragt Sie bsdinstall, die optionalen Komponenten für die Installation auszuwählen.
Komponenten für die Installation auswählen
Die Entscheidung, welche Komponenten auszuwählen sind, hängt grösstenteils davon ab, für was das System künftig eingesetzt werden soll und der zur Verfügung stehende Plattenplatz. Der &os;-Kernel und die Systemprogramme (zusammengenommen auch als Basissystem bezeichnet) werden immer installiert. Abhängig vom Typ der Installation, werden manche dieser Komponenten nicht erscheinen. Optionale Komponenten doc - Zusätzliche Dokumentation, meistens eher von historischem Interesse. Dokumentation, wie Sie vom &os; Dokumentationsprojekt bereitgestellt wird, kann zu einem späteren Zeitpunkt noch installiert werden. games - Mehrere traditionelle BSD-Spiele, sowohl fortune, rot13 und andere. lib32 - Kompatibilitäts-Bibliotheken, um 32-bit Anwendungen auf der 64-bit Version von &os; laufen zu lassen. ports - Die &os; Ports-Sammlung. Die Ports-Sammlung stellt eine einfache und praktische Art dar, Software zu installieren. Die Ports-Sammlung enthält nicht den nötigen Quellcode, um die Software zu erstellen. Stattdessen handelt es sich um einen Sammlung von Dateien, die das herunterladen, erstellen und installieren von Drittanbietersoftware automatisiert. behandelt die Verwendung der Ports-Sammlung. Das Installationsprogramm prüft nicht, ob genügend Plattenplatz zur Verfügung steht. Wählen Sie diese Option nur, wenn Sie über ausreichend Festplattenspeicher verfügen. Seit &os; 9.0, nimmt die Ports-Sammlung etwa &ports.size; Plattenplatz ein. Sie können für neuere Versionen von &os; einen grösseren Wert annehmen. src - Quellcode für das System. &os; wird mit allen Quellen für den Kernel und die Systemprogramme ausgeliefert. Obwohl dies für die meisten Anwendungen nicht benötigt wird, kann es doch für manche Software, die als Quellcode verbreitet wird (beispielsweise Gerätetreiber oder Kernelmodule), oder um an &os; selbst mitzuentwickeln, notwendig sein. Der komplette Quellcodebaum benötigt 1 GB Plattenplatz und um das gesamte Betriebssystem neu zu erstellen, werden zusätzliche 5 GB Platz benötigt.
Installation aus dem Netzwerk Die bootonly-Installationsmedien enthält keine Kopien der Installationsdateien. Wenn eine bootonly-Installationsmethode verwendet wird, müssen die Dateien über eine Netzwerkverbindung übertragen werden, sobald diese benötigt werden.
Installation über das Netzwerk
Nachdem die Netzwerkverbindung wie in konfiguriert wurde, kann ein Spiegelserver ausgewählt werden. Spiegelserver dienen zur Zwischenspeicherung von Kopien der &os;-Dateien. Wählen Sie einen Spiegelserver, welcher in der gleichen Region auf der Welt beheimatet ist, wie der Computer, auf dem &os; installiert werden soll. Dateien können so viel schneller übertragen werden, wenn der Spiegelserver sich n¨her am Zielcomputer befindet und die Installationszeit wird somit reduziert.
Einen Spiegelserver wählen
Die Installation wird auf die gleiche Weise fortfahren, als würden die Installationsdateien auf einem lokalen Medium vorliegen.
Plattenplatz bereitstellen Es gibt drei Arten, Plattenplatz für &os; zur Verfügung zu stellen. Geführte Partitionierung richtet Partitionen automatisch ein, während manuelle Partitionierung es fortgeschrittenen Anwendern erlaubt, selbstgewählte Partitionen zu erzeugen. Schliesslich gbt es noch die Option eine Shell zu starten, auf der Kommandozeilenprogramme wie &man.gpart.8;, &man.fdisk.8; und &man.bsdlabel.8; direkt ausgeführt werden können.
Geführte oder manuelle Partitionierung auswählen
Geführte Partitionierung Sollten mehrere Platten angeschlossen sein, wählen Sie diejenige aus, auf der &os; installiert werden soll.
Aus mehreren Platten eine auswählen
Die gesamte Festplatte oder nur ein Teil davon kann für &os; verwendet werden. Ein allgemeines Partitionslayout, das die gesamte Platte einnimmt wird erstellt, wenn [ Entire Disk ] ausgewählt wird. Durch die Wahl von [ Partition ] wird ein Partitionslayout im unbenutzten Speicherplatz der Platte eingerichtet.
Auswahl der gesamten Platte oder einer Partition
Nachdem das Partitionslayout nun erstellt wurde, sollten Sie es danach noch einmal auf Korrektheit prüfen. Sollten Sie einen Fehler gemacht haben, können Sie durch Auswahl von [ Revert ] wieder die ursprünglichen Partitionen setzen oder durch [ Auto ] die automatischen &os; Partitionen wiederherstellen. Partitionen können manuell erstellt, geändert oder gelöscht werden. Sollte die Partitionierung richtig sein, wählen Sie [ Finish ] aus, um mit der Installation fortzufahren.
Überprüfen der erstellen Partitionen
Manuelle Partitionierung Manuelle Partitionierung führt Sie direkt zum Partitionseditor.
Partitionen manuell erstellen
Durch hervorheben einer Platte (in diesem Fall ada0) und die Auswahl von [ Create ], wird ein Menü zur Wahl des Partitionierungsschemas angezeigt.
Partitionen manuell anlegen
GPT-Partitionierung ist normalerweise die passendste Auswahl für PC-kompatible Rechner. Ältere PC Betriebssysteme, die nicht mit GPT kompatibel und benötigen stattdessen MBR-Partitionen. Die anderen Partitionsschemata werden für gewöhnlich für ältere Computersysteme benutzt. Partitionierungsschemas Abkürzung Beschreibung APM Apple Partition Map, von &powerpc; &macintosh; verwendet. BSD BSD-Labels ohne einen MBR, manchmal auch "dangerously dedicated mode" genannt. Lesen Sie dazu &man.bsdlabel.8;. GPT GUID Partition Table. MBR Master Boot Record. PC98 MBR-Variante, verwendet von NEC PC-98 Computern. VTOC8 Volume Table Of Contents, von Sun SPARC64 und UltraSPARC Computern verwendet.
Nachdem das Partitionierungsschema ausgewählt und erstellt wurde, werden durch erneute Auswahl von [ Create ] neue Partitionen erzeugt.
Partitionen manuell erzeugen
Eine &os;-Standardinstallation mit GPT legt mindestens die folgenden drei Partitionen an: Standard-&os; <acronym>GPT</acronym>-Partitionen freebsd-boot - &os;-Bootcode. freebsd-ufs - Ein &os; UFS-Dateisystem. freebsd-swap - &os; Auslagerungsbereich (swap space). Ein weiter Partitionstyp ist freebsd-zfs. Dieser Typ ist für Partitionen bestimmt, die ein &os; ZFS-Dateisystem verwenden sollen. &man.gpart.8; beschreibt weitere verfügbare Partitionstypen. Mehere Dateisystempartitionen können benutzt werden und manche Leute ziehen es vor, ein traditionelles Layout mit getrennten Partitionen für die Dateisysteme /, /var, /tmp und /usr zu erstellen. Lesen Sie dazu , um ein Beispiel zu erhalten. Grössenangaben können mit gängigen Abkürzungen eingegeben werden: K für Kilobytes, M für Megabytes oder G für Gigabytes. Korrekte Sektorausrichtung ermöglicht grösstmögliche Geschwindigkeit und das Anlegen von Partitionsgrössen als vielfaches von 4K-Bytes hilft, die passende Ausrichtung auf Platten mit entweder 512-Bytes oder 4K-Bytes Sektorgrössen, festzulegen. Generell sollte die Verwendung von Partitionsgrössen, die sogar vielfache von 1M oder 1G sind, den einfachsten Weg darstellen, um sicher zu stellen, dass jede Partition an einem vielfachen von 4K beginnt. Eine Ausnahme gibt es: momentan sollte die freebsd-boot-Partition aufgrund von Beschränkungen im Bootcode nicht grösser sein als 512K. Ein Einhägepunkt wird benötigt, falls diese Partition ein Dateisystem enthält. Falls nur eine einzelne UFS-Partition erstellt wird, sollte der Einhängepunkt / lauten. Ein label wird ebenfalls benötigt. Ein Label ist ein Name, durch den diese Partition angesprochen wird. Festplattennamen oder -nummern können sich ändern, falls die Platte einmal an einem anderen Controller oder Port angeschlossen sein sollte, doch das Partitionslabel ändert sich dadurch nicht. Anstatt auf Plattennamen und Partitionsnummern in Dateien wie /etc/fstab zu verweisen, sorgen Labels dafür, dass das System Hardwäreänderungen eher toleriert. GPT-Labels erscheinen in /dev/gpt/, wenn eine Platte angeschlossen wird. Andere Partitionierungsschemas besitzen unterschiedliche Fähigkeiten, Labels zu verwenden und diese erscheinen in anderen /dev/-Verzeichnissen. Vergeben Sie ein einzigartiges Label auf jedem Dateisystem um Konflikte mit identischen Labels zu verhindern. Ein paar Buchstaben des Computernamens, dessen Verwendungszweck oder Ortes kann dem Label hinzugefügt werden. Beispielsweise "labroot" oder "rootfs-lab" für die UFS root-Partition auf einem Laborrechner. Ein traditionelles, partitioniertes Dateisystem erstellen Für ein traditionelles Partitionslayout, in dem sich /, /var, /tmp und /usr in getrennten Partitionen befinden sollen, erstellen Sie ein GPT-Partitionsschema und anschliessend die Partitionen selbst. Die gezeigten Partitionsgrössen sind typisch für eine Festplatte von 20 G. Falls mehr Platz verfügbar ist, sind grössere Swap oder /var-Partitionen nützlich. Den hier gezeigten Beschreibungen sind bsp für "Beispiel" vorangestellt, jedoch sollten Sie andere, einzigartige Beschreibungen verwenden, wie oben beschrieben. Standardmäßig erwartet &os;s gptboot, dass die erste erkannte UFS-Partition die /-Partition ist. Partitionstyp Grösse Eingehängt als Beschreibung freebsd-boot 512K freebsd-ufs 2G / bsprootfs freebsd-swap 4G bspswap freebsd-ufs 2G /var bspvarfs freebsd-ufs 1G /tmp bsptmpfs freebsd-ufs Akzeptieren Sie die Standardeinstellungen (Rest der Platte) /usr bspusrfs Nachdem die selbstgewählten Partitionen erzeugt wurden, wählen Sie [ Finish ], um mit der Installation fortzusetzen.
Die Installation festschreiben Dies ist die letzte Chance, die Installation abzubrechen, ohne Änderungen an den Festplatten vorzunehmen.
Letzte Bestätigung
Wählen Sie [ Commit ] und drücken Sie Enter, um fortzufahren. Fall noch Änderungen zu machen sind, wählen Sie [ Back ], um zum Partitionseditor zurück zu gelangen. Mittels [ Revert & Exit ] wird das Installationsprogramm beendet, ohne Änderungen an den Festplatten durchzuführen. Die Installationsdauer hängt von den gewählten Distributionen, dem Installationsmedium und der Geschwindigkeit des Computers ab. Eine Reihe von Nachrichten werden angezeigt, um den Fortschritt darzustellen. Zuerst wird das Installationsprogramm die Partitionen auf die Platte schreiben und den Befehl newfs ausführen, um die Partitionen zu initialisieren. Falls Sie eine Netzwerkinstallation vornehmen, wird bsdinstall dann mit dem herunterladen der benötigten Distributionsdateien fortfahren.
Herunterladen der Distributionsdateien
Als nächstes wird die Integrität der Distributionsdateien überprüft, um sicherzustellen, dass diese während des Ladevorgangs nicht beschädigt oder unsauber vom Installationsmedium gelesen wurden.
Überprüfen der Distributionsdateien
Zum Schluss werden die überprüften Distributionsdateien auf die Festplatte entpackt.
Entpacken der Distributionsdateien
Sobald alle benötigten Distributionsdateien entpackt wurden, wird bsdinstall direkt mit den Arbeiten nach der Installation fortsetzen (siehe ).
Arbeiten nach der Installation Die Konfiguration von verschiedenen Optionen folgt auf eine erfolgreiche &os;-Installation. Eine solche Option kann durch das erneute betreten der Konfigurationsoptionen aus dem letzten Menü vor dem Neustart in das gerade installierte &os;-System angepasst werden. Setzen des <systemitem class="username">root</systemitem>-Passworts Das root-Password muss gesetzt werden. Wichtig ist dabei zu wissen, dass die eingegebenen Zeichen nicht auf dem Bildschirm angezeigt werden. Nachdem das Passwort eingegeben wurde, muss es zur Bestätigung erneut eingetippt werden. Damit werden auch Tippfehler verhindert.
Das <systemitem class="username">root</systemitem>-Passwort setzen
Nachdem das Passwort erfolgreich gesetzt wurde, wird die Installation nun fortgesetzt.
Die Netzwerkschnittstelle konfigurieren Die Netzwerkkonfiguration wird übersprungen, falls dies bereits als Teil der bootonly durchgeführt worden ist. Eine Liste aller gefundenen Netzwerkschnittstellen, die auf diesem Computer gefunden wurden, wird als nächstes angezeigt. Wählen Sie davon eine aus, um diese zu konfigurieren.
Eine zu konfigurierende Netzwerkschnittstelle auswählen
Eine drahtlose Netzwerkverbindung einrichten Sollte eine drahtlose Netzwerkverbindung ausgewählt worden sein, müssen WLAN-Identifikation und Sicherheitsparameter nun eingegeben werden, um die Verbindung mit dem Netzwerk herzustellen. Drahtlose Netzwerke werden durch einen Service Set Identifier oder auch SSID genannt, identifiziert. Der SSID ist ein kurzer, eindeutiger Namen, der für jedes Netzwerk vergeben wird. Die meisten drahtlosen Netzwerke verschlüsseln die übertragenen Daten, um die Information darin vor unautorisiertem Zugriff zu schützen. Die Verwendung von WPA2-Verschlüsselung wird empfohlen. Ältere Verschlüsselungstypen, wie WEP, bieten nur sehr wenig Sicherheit. Der erste Schritt des Verbindungsaufbaus ist das drahtlose Netzwerk nach drahtlosen Zugriffspunkten (access points) zu scannen.
Nach drahtlosen Access Points scannen
SSIDs, die während des scannens gefunden wurden, werden aufgelistet, gefolgt von einer Beschreibung der Verschlüsselungsarten, die für dieses Netzwerk verfügbar sind. Falls die gewünschte SSID nicht in der Liste auftaucht, wählen Sie [ Rescan ], um erneut einen Scanvorgang durchzuführen. Falls dann das gewünschte Netzwerk immer noch nicht erscheint, überprüfen Sie Ihre Antenne auf Verbindungsprobleme oder versuchen Sie, näher an den Access point zu gelangen. Scannen Sie erneut nach jeder vorgenommenen Änderung.
Ein drahtloses Netzwerk auswählen
Die Verschlüsselungsinformationen, um sich mit dem Netzwerk zu verbinden, werden nach der Auswahl des Netzwerks eingegeben. Mit WPA2 wird nur ein Passwort (auch bekannt als Pre-Shared Key oder PSK) benötigt. Zeichen, die in die Eingabebox getippt werden, erscheinen aus Sicherheitsgründen als Sternchen.
Verbindungsaufbau mit WPA2
Die Netzwerkkonfiguration wird fortgesetzt, nachdem das drahtlose Netzwerk und die Verbindungsinformationen eingegeben wurden.
Konfiguration des IPv4-Netzwerks Wählen Sie, ob Sie ein IPv4-Netzwerk verwenden möchten. Dies ist der am häufigsten vorkommende Typ einer Netzwerkverbindung.
Auswahl von IPv4
Es gibt zwei Arten, ein IPv4-Netzwerk zu konfigurieren. DHCP wird automatisch die Netzwerkschnittstelle richtig konfigurieren und sollte als bevorzugte Methode verwendet werden. Statische Konfiguration erfordert die manuelle Eingabe von Netzwerkinformationen. Geben Sie keine zufällig gewählten Netzwerkinformationen ein, da dies nicht funktionieren wird. Holen Sie sich die in gezeigten Informationen von Ihrem Netzwerkadministrator oder Serviceprovider. Netzwerkkonfiguration von IPv4 mittels DHCP Falls ein DHCP-Server zur Verfügung steht, wählen Sie [ Yes ], um die Netzwerkschnittstelle automatisch einrichten zu lassen.
Auswählen der IPv4-Konfiguration über DHCP
Statische IPv4-Netzwerkkonfiguration Statische Konfiguration der Netzwerkschnittstelle erfordert die die Eingabe einiger IPv4-Informationen.
Statische IPv4-Konfiguration
IP-Adresse - Die manuell festgelegte IPv4-Adresse, welche diesem Computer zugewiesen werden soll. Diese Adresse muss eindeutig sein und darf von keinem anderen Gerät im lokalen Netzwerk bereits verwendet werden. Subnetzmaske - Die Subnetzmaske, die im lokalen Netzwerk Verwendung findet. Typischerweise ist dies 255.255.255.0. Defaultrouter - Die IP-Adresse des Defaultrouters in diesem Netzwerk. Normalerweise ist das die Adresse des Routers oder einer anderen Netzwerkkomponente, die das lokale Netzwerk mit dem Internet verbindet. Auch bekannt als das Default Gateway.
Konfiguration des IPv6-Netzwerks IPv6 ist eine neuere Methode der Netzwerkkonfiguration. Falls IPv6 verfügbar ist und verwendet werden soll, wählen Sie [ Yes ] aus.
Auswahl von IPv6
IPv6 besitzt ebenfalls zwei Arten der Konfiguration. SLAAC, oder StateLess Address AutoConfiguration, wird die Netzwerkschnittstelle automatisch richtig konfigurieren. Statische Konfiguration verlangt die manuelle Eingabe von Netzwerkinformationen. IPv6 Stateless Address Autoconfiguration SLAAC erlaubt es einer IPv6-Netzwerkkomponente, die Information zur automatischen Konfiguration von einem lokalen Router abzufragen. Lesen Sie RFC4862 für weitere Informationen.
Auswahl der IPv6 SLAAC-Konfiguration
Statische IPv6-Netzwerkkonfiguration Statische Konfiguration der Netzwerkschnittstelle benötigt die Eingabe von IPv6-Konfigurationsinformationen.
Statische IPv6-Konfiguration
IPv6-Adresse - The manuell zugewiesene IP-Adresse, welche dem Computer zugeteilt werden soll. Diese Adresse muss eindeutig sein und nicht bereits von einer anderen Netzwerkkomponente im lokalen Netzwerk verwendet werden. Defaultrouter - Die IPv6-Adresse des Defaultrouters in diesem Netzwerk. Normalerweise ist dies die Adresse des Routers oder einer anderen Netzwerkkomponente, welche das lokale Netz mit dem Internet verbindet. Auch bekannt als Default Gateway.
<acronym role="Domain Name System">DNS</acronym>-Konfiguration Der Domain Name System (oder auch DNS) Auflöser wandelt Hostnamen von und zu Netzwerkadressen um. Falls DHCP oder SLAAC verwendet wurde, um die Netzwerkschnittstelle zu konfigurieren, ist die Konfiguration für den Auflöser möglicherweise bereits vorhanden. Andernfalls geben Sie den lokalen Netzwerkdomänennamen in das Suchfeld ein. DNS #1 und DNS #2 sind die IP-Adressen der lokalen DNS-Server. Zumindest ein DNS-Server wird benötigt.
DNS-Konfiguration
Setzen der Zeitzone Das Setzen der Zeitzone für Ihre Maschine erlaubt es, diese auf regionale Zeitveränderungen hin anzupassen und um andere zeitzonenbezogene Funktionen richtig durchzuführen. Das hier Beispiel gezeigte Beispiel bezieht sich auf einen Rechner in der östlichen Zeitzone der Vereinigten Staaten. Ihre Auswahl wird von Ihrer geographischen Position davon abweichen.
Lokale oder UTC-Zeit
Wählen Sie [ Yes ] oder [ No ], abhängig davon, wie die Rechneruhr konfiguriert ist und drücken Sie dann Enter. Wenn Sie nicht wissen, ob Ihr System UTC oder lokale Zeit verwendet, wählen Sie [ No ], um die am häufigsten verwendete lokale Zeit zu setzen.
Das Gebiet auswählen
Das passende Gebiet wird durch die Pfeiltasten und das anschliessende druücken von Enter gewählt.
Das Land auswählen
Wählen Sie das zutreffende Land mit den Pfeiltasten und durch anschliessendes drücken von Enter aus.
Wählen einer Zeitzone
Die passende Zeitzone wird durch die Pfeiltasten und anschliessendes drücken von Enter ausgewählt.
Bestätigen der Zeitzone
Bestätigen Sie, dass die Abkürzung für die Zeitzone richtig ist. Wenn Ihnen diese richtig erscheint, drücken Sie Enter, um mit dem Rest der Konfiguration nach der Installation fortzufahren.
Zu aktivierende Dienste auswählen Zusätzliche Systemdienste, die zur Startzeit aktiviert werden sollen, können eingeschaltet werden. All diese Dienste sind optional.
Auswahl zusätzlicher Dienste
Zusätzliche Dienste sshd - Secure Shell (SSH)-Dienst für sicheren Fernzugriff. moused - Sorgt für Mausunterstützung innerhalb der Systemkonsole. ntpd - Network Time Protocol (NTP)-Dienst zur automatischen Uhrzeitsynchronisation. powerd - Systemleistungskontrollwerkzeug zur Leistungsregelung und für Stromsparfunktionen.
Absturzaufzeichnung aktivieren bsdinstall wird Sie fragen, ob die Absturzaufzeichnung auf dem Zielsystem aktiviert werden soll. Die Aktivierung von Absturzaufzeichnungen kann sehr nützlich sein, um Systemfehler aufzuspüren, deswegen wird Anwendern empfohlen, diese so oft wie möglich einzusetzen. Wählen Sie [ Yes ], um Absturzaufzeichnungen zu aktivieren oder [ No ], um ohne die Aufzeichnung von Abstürzen fortzufahren.
Aktivierung der Absturzaufzeichnung
Benutzer hinzufügen Das hinzufügen von mindestens einem Benutzer während der Installaton erlaubt das Benutzen des Systems ohne als root-Benutzer angemeldet zu sein. Wenn man als root angemeldet ist, gibt es so gut wie keine Beschränkungen oder Schutz vor dem, was man tun kann. Anmeldenals normaler Benutzer ist daher sicherer und bietet mehr Schutz. Wählen Sie [ Yes ], um neue Benutzer hinzuzufügen.
Benutzerkonten hinzufügen
Geben Sie die nötigen Informationen für den Benutzer ein, der dem System hinzugefügt werden soll.
Benutzerinformationen eingeben
Benutzerinformationen Username - Der Name des Benutzers, den man zur Anmeldung eingeben muss. Typischerweise der erste Buchstabe des Vornamens, gefolgt vom Nachnamen. Full name - Der volle Name des Benutzers. Uid - User ID. Normalerweise wird dieses Feld leer gelassen, so dass das System einen Wert vergibt. Login group - Die Benutzergruppe. Normalerweise bleibt dieses Feld leer, um die Standardgruppe zu akzeptieren. Invite user into other groups? - Zusätzliche Gruppen zu denen der Benutzer als Mitglied hinzugefügt werden soll. Login class - In der Regel bleibt dieses Feld leer. Shell - Die interaktive Shell für diesen Benutzer. In diesem Beispiel wurde &man.csh.1; ausgewält. Home directory - Das Heimatverzeichnis des Benutzers. Die Vorgabe ist für gewöhnlich richtig. Home directory permissions - Zugriffsrechte auf das Heimatverzeichnis des Benutzers. Die Vorgabe ist normalerweise die passende. Use password-based authentication? Normalerweise "yes". Use an empty password? - Normalerweise "no". Use a random password? - Normalerweise "no". Enter password - Das Passwort f¨r diesem Benutzer. Eingegebene Zeichen werden nicht am Bildschirm angezeigt. Enter password again - Das Passwort muss zur Überprüfung erneut eingegeben werden. Lock out the account after creation? - Normalerweise "no". Nachdem alles eingegeben wurde, wird eine Zusammenfassung angezeigt und das System fragt Sie, dies so korrekt ist. Falls ein Eingabefehler gemacht wurde, geben Sie no ein und versuchen es erneut. Falls alles in Ordnung ist, drücken Sie yes, um den neuen Benutzer anzulegen.
Verlassen der Benutzer- und Gruppenverwaltung
Falls es mehr Benutzer hinzuzufügen gibt, beantworten Sie die Frage "Add another user?" mit yes. Geben Sie no ein, wird das hinzufügen von Benutzern beendet und die Installation fortgesetzt. Für weitere Informationen zum hinzufügen von - Benutzern und deren Verwaltung, lesen Sie . + Benutzern und deren Verwaltung, lesen Sie .
Letzte Konfigurationsschritte Nachdem alles installiert und konfiguriert wurde, bekommen Sie noch eine letzte Chance, um Einstellungen zu verändern.
Letzte Schritte der Konfiguration
Verwenden Sie dieses Menü, um noch letzte Änderungen oder zusätzliche Konfigurationen vor dem Abschliessen der Installation zu tätigen. Letzte Konfigurationsoptionen Add User - Beschrieben in . Root Password - Beschrieben in . Hostname - Beschrieben in . Network - Beschrieben in . Services - Beschrieben in . Time Zone - Beschrieben in . Handbook - Herunterladen und installieren des &os; Handbuchs (welches Sie gerade lesen). Nachdem die lezten Konfigurationsschritte beendet sind, wählen Sie Exit, um die Installation zu verlassen.
Manuelle Konfiguration
bsdinstall wird nach zusätzlichen Konfigurationen, die noch zu tätigen sind, fragen, bevor in das neue System gebootet wird. Wählen Sie [ Yes ], um in eine Shell innerhalb des neuen Systems zu wechseln oder [ No ], um mit dem letzten Schritt der Installation zu beginnen.
Die Installation vervollständigen
Wenn weitere Konfigurationen oder besondere Einstellungen benötigt werden, kann durch auswählen von [ Live CD ] das Installationsmedium im Live CD Modus gestartet werden. Wenn die Installation vollständig ist, wählen Sie [ Reboot ], um den Computer neu zu starten und das neu installierte &os;-System zu booten. Vergessen Sie nicht, die &os; Installations-CD, -DVD oder den USB-Stick zu entfernen, oder der Computer wird erneut davon starten.
&os; starten und herunterfahren &os;/&arch.i386; starten Wenn &os; startet, werden viele Informationsmeldungen ausgegeben. Die meisten davon werden aus dem Bildschirm verschwinden, das ist normal. Nachdem das System den Startvorgang abgeschlossen hat, wird eine Anmeldeaufforderungen angezeigt. Um Nachrichten, die aus dem Bildschirm gelaufen sind, zu sehen, aktivieren Sie durch drücken von Scroll-Lock den scroll-back buffer. Die Tasten PgUp, PgDn und die Pfeiltasten dienen zur Navigation durch die Nachrichten. Durch erneutes drücken von Scroll-Lock wird der Bildschirm wieder entsperrt und kehrt zur normalen Anzeige zurück. Am login:-Bildschirm geben Sie den Benutzernamen ein, den Sie während der Installation angelegt haben, in diesem Fall ist das asample. Vermeiden Sie die Anmeldung als root, ausser wenn es wirklich notwendig ist. Der oben beschriebene scroll-back buffer ist in der Grösse beschränkt, somit werden vielleicht nicht alle Nachrichten sichtbar sein. Nach dem Anmelden können die meisten davon aus der Kommandozeile aus durch eingabe von dmesg | less betrachtet werden. Durch drücken von q kehren Sie wieder zur Kommandozeile zurück. Typische Startmeldungen (Versionsinformationen wurden hier weggelassen): Copyright (c) 1992-2011 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz (3007.77-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0x10676 Family = 6 Model = 17 Stepping = 6 Features=0x783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2> Features2=0x209<SSE3,MON,SSSE3> AMD Features=0x20100800<SYSCALL,NX,LM> AMD Features2=0x1<LAHF> real memory = 536805376 (511 MB) avail memory = 491819008 (469 MB) Event timer "LAPIC" quality 400 ACPI APIC Table: <VBOX VBOXAPIC> ioapic0: Changing APIC ID to 1 ioapic0 <Version 1.1> irqs 0-23 on motherboard kbd1 at kbdmux0 acpi0: <VBOX VBOXXSDT> on motherboard acpi0: Power Button (fixed) acpi0: Sleep Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 900 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0 cpu0: <ACPI CPU> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 isab0: <PCI-ISA bridge> at device 1.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 1.1 on pci0 ata0: <ATA channel 0> on atapci0 ata1: <ATA channel 1> on atapci0 vgapci0: <VGA-compatible display> mem 0xe0000000-0xe0ffffff irq 18 at device 2.0 on pci0 em0: <Intel(R) PRO/1000 Legacy Network Connection 1.0.3> port 0xd010-0xd017 mem 0xf0000000-0xf001ffff irq 19 at device 3.0 on pci0 em0: Ethernet address: 08:00:27:9f:e0:92 pci0: <base peripheral> at device 4.0 (no driver attached) pcm0: <Intel ICH (82801AA)> port 0xd100-0xd1ff,0xd200-0xd23f irq 21 at device 5.0 on pci0 pcm0: <SigmaTel STAC9700/83/84 AC97 Codec> ohci0: <OHCI (generic) USB controller> mem 0xf0804000-0xf0804fff irq 22 at device 6.0 on pci0 usbus0: <OHCI (generic) USB controller> on ohci0 pci0: <bridge> at device 7.0 (no driver attached) acpi_acad0: <AC Adapter> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model IntelliMouse Explorer, device ID 4 attimer0: <AT timer> port 0x40-0x43,0x50-0x53 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0 Event timer "RTC" frequency 32768 Hz quality 0 ppc0: cannot reserve I/O port range Timecounters tick every 10.000 msec pcm0: measured ac97 link rate at 485193 Hz em0: link state changed to UP usbus0: 12Mbps Full Speed USB v1.0 ugen0.1: <Apple> at usbus0 uhub0: <Apple OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 cd0 at ata1 bus 0 scbus1 target 0 lun 0 cd0: <VBOX CD-ROM 1.0> Removable CD-ROM SCSI-0 device cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes) cd0: Attempt to query device size failed: NOT READY, Medium not present ada0 at ata0 bus 0 scbus0 target 0 lun 0 ada0: <VBOX HARDDISK 1.0> ATA-6 device ada0: 33.300MB/s transfers (UDMA2, PIO 65536bytes) ada0: 12546MB (25694208 512 byte sectors: 16H 63S/T 16383C) ada0: Previously was known as ad0 Timecounter "TSC" frequency 3007772192 Hz quality 800 Root mount waiting for: usbus0 uhub0: 8 ports with 8 removable, self powered Trying to mount root from ufs:/dev/ada0p2 [rw]... Setting hostuuid: 1848d7bf-e6a4-4ed4-b782-bd3f1685d551. Setting hostid: 0xa03479b2. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/ada0p2: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ada0p2: clean, 2620402 free (714 frags, 327461 blocks, 0.0% fragmentation) Mounting local file systems:. vboxguest0 port 0xd020-0xd03f mem 0xf0400000-0xf07fffff,0xf0800000-0xf0803fff irq 20 at device 4.0 on pci0 vboxguest: loaded successfully Setting hostname: machine3.example.com. Starting Network: lo0 em0. lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3<RXCSUM,TXCSUM> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 inet 127.0.0.1 netmask 0xff000000 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 08:00:27:9f:e0:92 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect (1000baseT <full-duplex>) status: active Starting devd. Starting Network: usbus0. DHCPREQUEST on em0 to 255.255.255.255 port 67 DHCPACK from 10.0.2.2 bound to 192.168.1.142 -- renewal in 43200 seconds. add net ::ffff:0.0.0.0: gateway ::1 add net ::0.0.0.0: gateway ::1 add net fe80::: gateway ::1 add net ff02::: gateway ::1 ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib 32-bit compatibility ldconfig path: /usr/lib32 Creating and/or trimming log files. Starting syslogd. No core dumps found. Clearing /tmp (X related). Updating motd:. Configuring syscons: blanktime. Generating public/private rsa1 key pair. Your identification has been saved in /etc/ssh/ssh_host_key. Your public key has been saved in /etc/ssh/ssh_host_key.pub. The key fingerprint is: 10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com The key's randomart image is: +--[RSA1 1024]----+ | o.. | | o . . | | . o | | o | | o S | | + + o | |o . + * | |o+ ..+ . | |==o..o+E | +-----------------+ Generating public/private dsa key pair. Your identification has been saved in /etc/ssh/ssh_host_dsa_key. Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. The key fingerprint is: 7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com The key's randomart image is: +--[ DSA 1024]----+ | .. . .| | o . . + | | . .. . E .| | . . o o . . | | + S = . | | + . = o | | + . * . | | . . o . | | .o. . | +-----------------+ Starting sshd. Starting cron. Starting background file system checks in 60 seconds. Thu Oct 6 19:15:31 MDT 2011 FreeBSD/amd64 (machine3.example.com) (ttyv0) login: Das Generieren der RSA- und DSA-Schlüssel kann auf langsameren Rechnern einige Zeit benötigen. Dies geschieht nur während der Startphase einer neuen Installation und auch nur, wenn sshd zum automatischen Start gesetzt ist. Die nachfolgenden Startvorgänge werden schneller sein. &os; installiert standardmässig keine graphische Umgebung, jedoch stehen viele zur Verfügung. Lesen Sie für weitere Informationen. &os; herunterfahren Das korrekte herunterfahren eines &os;-Computers hilft, beugt dem Datenverlust vor und schützt sogar die Hardware vor Schäden. Schalten Sie nicht einfach den Strom ab. Wenn der Benutzer ein Mitglied der wheel-Gruppe ist, können Sie zum Superuser durch die Eingabe von su und der anschliessenden Eingabe des Passworts von root werden. Andernfalls melden Sie sich mit root an und verwenden den Befehl shutdown -p now. Das System wird jetzt sauber heruntergefahren und den Rechner ausschalten. Die Ctrl Alt Del Kombination kann verwendet werden, um das System neu zu starten, jedoch wird dies nicht während des normalen Betriebs empfohlen.
Fehlerbehebung installation troubleshooting Der folgende Abschnitt behandelt einfache Fehlerbehebungen für die Installation, wie beispielsweise häufig auftretende Fehler, die von Anwendern berichtet wurden. Was man tun sollte, wenn etwas schiefgeht Wegen verschiedener Limitierungen der PC-Architektur ist es unmöglich dass die Geräteerkennung 100% verlässlich funktioniert. Jedoch gibt es ein paar Dinge, die man tun kann, wenn es fehlschlägt. Überprüfen Sie das Dokument Hardware Notes nach Ihrer Version von &os;, um sicher zu stellen, dass Ihre Hardware auch unterstützt wird. Wenn Ihre Hardware unterstützt wird und Sie immer noch Abstürze oder andere Probleme erleben, müssen Sie einen eigenen Kernel bauen. Das wird Ihnen erlauben, Unterstützung für Geräte, die im GENERIC-Kernel nicht vorhanden sind, hinzuzufügen. Der Kernel auf den Bootmedien ist mit der Annahme konfiguriert, dass die Hardwaregeräte sich in Ihren Fabrikeinstellungen in Bezug auf IRQs, I/O-Adressen und DMA-Kanälen befinden. Wenn Ihre Hardware neu konfiguriert wurde, werden Sie möglicherweise die Konfiguration des Kernels bearbeiten und diesen neu erstellen müssen, um &os; mitzuteilen, wo es gewisse Dinge zu finden hat. Es ist auch möglich, dass ein fehlerhaft erkanntes Gerät die Erkennung eines vorhandenen, späteren Geräts ebenfalls fehlschlagen lässt. In diesem Fall sollte die Erkennung des fehlerhaften Gerätetreibers deaktiviert werden. Manche Installationsprobleme können Aktualisierung der Firmware auf verschiedenen Hardwarekomponenten verhindert oder verringert werden, meistens am Mainboard. Mit Mainboard-Firmware ist für gewöhnlich das BIOS gemeint. Die meisten Mainboard- und Computerhersteller haben eine Webseite mit Aktualisierungen und Informationen zur Durchführung. Hersteller raten meist von einer Aktualisierung des Mainboard-BIOS ab, ausser es gibt einen guten Grund dafür, wie beispielsweise eine kritische Aktualisierung. Der Aktualisierungsvorgang kann schiefgehen, was das BIOS unvollständig macht und den Computer nicht mehr starten lässt. Fragen und Antworten zur Fehlerbehebung Mein System hängt während die Geräteerkennung beim Starten durchgeführt wird oder verhält sich merkwürdig während der Installation. &os; macht starken Gebrauch vom ACPI-Dienst des Systems auf den i386-, amd64-, and ia64-Platformen, um den System bei der Konfiguration während des Startvorgangs zu helfen. Leider existieren immer noch Fehler im ACPI-Treiber, in den Mainboards und der BIOS-Firmware. ACPI kann durch setzen der Einstellung hint.acpi.0.disabled im dritten Teil des Bootloaders deaktiviert werden: set hint.acpi.0.disabled="1" Dies wird nach jedem Neustart des Systems wieder zurückgesetzt, also ist es notwendig, die Zeile hint.acpi.0.disabled="1" zu der Datei /boot/loader.conf hinzuzufügen. Weitere Informationen über den Bootloader lassen sich in nachlesen. Verwendung der Live-<acronym>CD</acronym> Neben dem Installationsprogramm steht auch die Live-CD von &os; auf der CD zur Verfügung. Die Live-CD ist für Benutzer, die sich fragen, ob &os; das richtige Betriebssystem für sie ist und die vor der Installation noch einige Merkmale und Eigenschaften testen wollen. Die folgenden Punkte sollten beachtet werden, während die Live-CD benutzt wird: Um Zugriff auf das System zu bekommen, wird eine Authentifizierung benötigt. Der Benutzername ist root und das Kennwort bleibt leer. Da das System direkt von der CD ausgeführt wird, ist die Geschwindigkeit deutlich langsamer als bei einem System, das auf einer Festplatte installiert ist. Die Live-CD enthält nur eine Eingabeaufforderung und keine graphische Oberfläche.
Index: head/de_DE.ISO8859-1/books/handbook/chapters.ent =================================================================== --- head/de_DE.ISO8859-1/books/handbook/chapters.ent (revision 48231) +++ head/de_DE.ISO8859-1/books/handbook/chapters.ent (revision 48232) @@ -1,77 +1,76 @@ %pgpkeys; - "> Index: head/de_DE.ISO8859-1/books/handbook/preface/preface.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/preface/preface.xml (revision 48231) +++ head/de_DE.ISO8859-1/books/handbook/preface/preface.xml (revision 48232) @@ -1,788 +1,777 @@ Vorwort Über dieses Buch Der erste Teil dieses Buchs führt &os;-Einsteiger durch den Installationsprozess und stellt leicht verständlich Konzepte und Konventionen vor, die &unix; zu Grunde liegen. Sie müssen nur neugierig sein und bereitwillig neue Konzepte aufnehmen, wenn diese vorgestellt werden, um diesen Teil durchzuarbeiten. Wenn Sie den ersten Teil bewältigt haben, bietet der umfangreichere zweite Teil eine verständliche Darstellung vieler Themen, die für &os;-Administratoren relevant sind. Wenn Kapitel auf anderen Kapiteln aufbauen, wird das in der Übersicht am Anfang eines Kapitels erläutert. Weitere Informationsquellen entnehmen Sie bitte . Änderungen gegenüber der dritten Auflage Die aktuelle Auflage des Handbuchs ist das Ergebnis der engagierten Arbeit Hunderter Mitarbeiter des &os; Documentation Projects in den vergangenen 10 Jahren. Die wichtigsten Änderungen dieser Auflage gegenüber der dritten Auflage von 2004 sind: , &dtrace;, ein neues Kapitel, informiert Sie über die mächtigen Funktionen zur Leistungsmessung, die dieses Werkzeug bietet. , File Systems Support, ebenfalls ein neues Kapitel, enthält Informationen über die Unterstützung nicht-nativer Dateisysteme (beispielsweise ZFS von &sun;) durch &os;. , Security Event Auditing, wurde neu angelegt, um über die neuen Auditing-Fähigkeiten von &os; zu informieren. , Virtualisierung, wurde hinzugefügt und enthält Informationen zur Installation von &os; in verschiedenen Virtualisierungs-Programmen. , &os; 9.x (und neuer) installieren, wurde hinzugefügt, um die Installation von &os; mit dem neuen Installationswerkzeug, bsdinstall, zu dokumentieren. Änderungen gegenüber der zweiten Auflage (2004) Die dritte Auflage des Handbuchs war das Ergebnis der über zwei Jahre dauernden engagierten Arbeit des &os; Documentation Projects. Die gedruckte Ausgabe war derart umfangreich, dass es notwendig wurde, sie in zwei Bände aufzuteilen. Die wichtigsten Änderungen dieser Auflage waren: , Konfiguration und Tuning, enthält neue Abschnitte über ACPI, Energie- und Ressourcenverwaltung und das Werkzeug cron. , Sicherheit, erläutert nun Virtual Private Networks (VPNs), Zugriffskontrolllisten (ACLs) und Sicherheitshinweise. , Mandatory Access Control (MAC), ist ein neues Kapitel, das vorgeschriebene Zugriffskontrollen vorstellt und erklärt, wie &os;-Systeme mit MACs abgesichert werden können. Zum Kapitel , PPP und SLIP, wurde ein Abschnitt über Fehlersuche hinzugefügt. , Elektronische Post (E-Mail), wurde um Abschnitte über andere Transport-Agenten (MTAs), SMTP-Authentifizierung, UUCP, fetchmail, procmail und weitere Themen erweitert. , Netzwerkserver, ist ein weiteres neues Kapitel dieser Auflage. Das Kapitel beschreibt, wie der Apache HTTP-Server, ftpd und ein Samba-Server für µsoft; &windows;-Clients eingerichtet werden. Einige Abschnitte aus dem , Weiterführende Netzwerkthemen, befinden sich nun, wegen des thematischen Zusammenhangs, in diesem Kapitel. Das , Weiterführende Netzwerkthemen, beschreibt nun den Einsatz von &bluetooth;-Geräten unter &os; und das Einrichten von drahtlosen Netzwerken sowie ATM-Netzwerken. Neu hinzugefügt wurde ein Glossar, das die im Buch verwendeten technischen Ausdrücke definiert. Das Erscheinungsbild der Tabellen und Abbildungen im Buch wurde verbessert. Änderungen gegenüber der ersten Auflage (2001) Die zweite Auflage ist das Ergebnis der engagierten Arbeit der Mitglieder des &os; Documentation Projects über zwei Jahre. Die wichtigsten Änderungen gegenüber der ersten Auflage sind: Ein Index wurde erstellt. Alle ASCII-Darstellungen wurden durch Grafiken ersetzt. Jedes Kapitel wird durch eine Übersicht eingeleitet, die den Inhalt des Kapitels zusammenfasst und die Voraussetzungen für ein erfolgreiches Durcharbeiten des Kapitels darstellt. Der Inhalt wurde in die logischen Abschnitte Erste Schritte, Systemadministration und Anhänge unterteilt. (&os; installieren) wurde komplett neu geschrieben und mit Abbildungen versehen, die Einsteigern das Verständnis des Texts erleichtern. (Grundlagen des &unix; Betriebssystems) wurde um den Abschnitt Dämonen, Signale und Stoppen von Prozessen erweitert. Das (Installieren von Anwendungen) behandelt nun auch Pakete. (Das X Window System) wurde neu geschrieben. Der Schwerpunkt liegt auf modernen Benutzeroberflächen wie KDE und GNOME unter &xfree86; 4.X. Das (&os;s Bootvorgang) wurde erweitert. (Speichermedien) ist aus den beiden Kapiteln Laufwerke und Sicherungen entstanden. Die in den beiden Kapiteln diskutierten Themen sind so leichter zu verstehen. Hinzugekommen ist ein Abschnitt über Software- und Hardware-RAID. Das (Serielle Datenübertragung) wurde umorganisiert und auf &os; 4.X/5.X angepasst. Das (PPP und SLIP) wurde aktualisiert. (Weiterführende Netzwerkthemen) wurde um viele neue Abschnitte erweitert. (Electronic Mail) wurde um einen Abschnitt über die Konfiguration von sendmail erweitert. (&linux; Compatibility) behandelt zusätzlich die Installation von &oracle; und &mathematica;. Neu hinzugekommen sind: Konfiguration und Tuning () und Multimedia (). Gliederung Dieses Buch ist in fünf Abschnitte unterteilt. Der erste Abschnitt, Erste Schritte, behandelt die Installation und die Grundlagen von &os;. Dieser Abschnitt sollte in der vorgegebenen Reihenfolge durchgearbeitet werden, schon Bekanntes darf aber übersprungen werden. Der zweite Abschnitt, Oft benutzte Funktionen, behandelt häufig benutzte Funktionen von &os;. Dieser Abschnitt sowie alle nachfolgenden Abschnitte können in beliebiger Reihenfolge gelesen werden. Jeder Abschnitt beginnt mit einer kurzen Übersicht, die das Thema des Abschnitts und das nötige Vorwissen erläutert. Die Übersichten helfen dem Leser, interessante Kapitel zu finden und erleichtern das Stöbern im Handbuch. Der dritte Abschnitt, Systemadministration, behandelt die Administration eines &os;-Systems. Der vierte Abschnitt, Netzwerke, bespricht Netzwerke und Netzwerkdienste. Der fünfte Abschnitt enthält Anhänge und Verweise auf weitere Informationen. , Einführung Dieses Kapitel macht Einsteiger mit &os; vertraut. Es behandelt die Geschichte, die Ziele und das Entwicklungsmodell des &os;-Projekts. , &os; 9.x (und neuer) installieren Beschreibt den Ablauf der Installation von &os; 9.x und neuere mittels bsdinstall. , &os; 8.x (und älter) installieren Beschreibt den Ablauf der Installation von &os; 8.x und früher mittels sysinstall. Spezielle Installationsmethoden, wie die Installation mit einer seriellen Konsole, werden ebenfalls behandelt. , Grundlagen des &unix; Betriebssystems Erläutert die elementaren Kommandos und Funktionen von &os;. Wenn Sie schon mit &linux; oder einem anderen &unix; System vertraut sind, können Sie dieses Kapitel überspringen. , Installieren von Anwendungen Zeigt wie mit der innovativen Ports-Sammlung oder mit Paketen Software von Fremdherstellern installiert wird. , Das X Window System Beschreibt allgemein das X Window System und geht speziell auf X11 unter &os; ein. Weiterhin werden grafische Benutzeroberflächen wie KDE und GNOME behandelt. , Desktop-Anwendungen Enthält eine Aufstellung verbreiteter Anwendungen wie Browser, Büroanwendungen und Office-Pakete und beschreibt wie diese Anwendungen installiert werden. , Multimedia Erklärt, wie Sie auf Ihrem System Musik und Videos abspielen können. Beispielhaft werden auch Anwendungen aus dem Multimedia-Bereich beleuchtet. , Konfiguration des &os;-Kernels Erklärt, warum Sie einen angepassten Kernel erzeugen sollten und gibt ausführliche Anweisungen wie Sie einen angepassten Kernel konfigurieren, bauen und installieren. , Drucken Beschreibt, wie Sie Drucker unter &os; verwalten. Diskutiert werden Deckblätter, das Einrichten eines Druckers und ein Abrechnungssystem für ausgedruckte Seiten. , &linux;-Binärkompatibilität Beschreibt die binäre Kompatibilität zu &linux;. Weiterhin werden ausführliche Installationsanleitungen für &oracle;, &sap.r3; und Mathematica gegeben. , Konfiguration und Tuning Beschreibt die Einstellungen, die ein Systemadministrator vornehmen kann, um die Leistungsfähigkeit eines &os; Systems zu verbessern. In diesem Kapitel werden auch verschiedene Konfigurationsdateien besprochen. , &os;s Bootvorgang Erklärt den Bootprozess von &os; und beschreibt die Optionen, mit denen sich der Bootprozess beeinflussen lässt. - - - - - , Benutzer und grundlegende - Account-Verwaltung - - Beschreibt, wie Benutzer-Accounts angelegt, verändert - und verwaltet werden. Weiterhin wird beschrieben, wie dem - Benutzer zur Verfügung stehende Ressourcen beschränkt - werden können. , Sicherheit Beschreibt die Werkzeuge mit denen Sie Ihr &os;-System absichern. Unter Anderem werden Kerberos, IPsec und OpenSSH besprochen. , Jails Dieses Kapitel beschreibt das Jails-Framework sowie die Vorteile von Jails gegenüber der traditionellen chroot-Unterstützung von &os;. , Mandatory Access Control Erklärt vorgeschriebene Zugriffskontrollen (MACs) und wie mit ihrer Hilfe &os;-Systeme gesichert werden. , Security Event Auditing Beschreibt, was &os; Event Auditing ist, wie Sie diese Funktion installieren und konfigurieren und die damit erzeugten Audit-Trails überwachen und auswerten können. , Speichermedien Erläutert den Umgang mit Speichermedien und Dateisystemen. Behandelt werden Plattenlaufwerke, RAID-Systeme, optische Medien, Bandlaufwerke, RAM-Laufwerke und verteilte Dateisysteme. , GEOM Beschreibt das GEOM-Framework von &os; sowie die Konfiguration der verschiedenen unterstützten RAID-Level. , File Systems Support Beschreibt die Unterstützung nicht-nativer Dateisysteme (beispielsweise des Z-Dateisystems (zfs) von &sun;) durch &os;. , Virtualisierung Dieses Kapitel beschreibt verschiedene Virtualisierungslösungen und wie diese mit &os; zusammenarbeiten. , Lokalisierung Zeigt wie Sie &os; mit anderen Sprachen als Englisch einsetzen. Es wird sowohl die Lokalisierung auf der System-Ebene wie auch auf der Anwendungs-Ebene betrachtet. , &os; aktualisieren Erklärt die Unterschiede zwischen &os;-STABLE, &os;-CURRENT und &os;-Releases. Das Kapitel enthält Kriterien anhand derer Sie entscheiden können, ob es sich lohnt, ein Entwickler-System zu installieren und aktuell zu halten. Außerdem wird beschrieben, wie Sie Ihr System durch das Einspielen neuer Sicherheits-Patches absichern. , &dtrace; Beschreibt, wie das von &sun; entwickelte &dtrace;-Werkzeug unter &os; konfiguriert und eingesetzt werden kann. Dynamisches Tracing kann Ihnen beim Aufspüren von Leistungsproblemen helfen, indem Sie Echtzeit-Systemanalysen durchführen. , Serielle Datenübertragung Erläutert, wie Sie Terminals und Modems an Ihr &os;-System anschließen und sich so ein- und auswählen können. , PPP und SLIP Erklärt wie Sie mit PPP, SLIP oder PPP über Ethernet ein &os;-System mit einem entfernten System verbinden. , Elektronische Post (E-Mail) Erläutert die verschiedenen Bestandteile eines E-Mail Servers und zeigt einfache Konfigurationen für sendmail, dem meist genutzten E-Mail-Server. , Netzwerkserver Bietet ausführliche Informationen und Beispielkonfigurationen, die es Ihnen ermöglichen, Ihren &os;-Rechner als Network File System Server, Domain Name Server, Network Information Server, oder als Zeitsynchronisationsserver einzurichten. , Firewalls Erklärt die Philosophie hinter softwarebasierten Firewalls und bietet ausführliche Informationen zur Konfiguration der verschiedenen, für &os; verfügbaren Firewalls. , Weiterführende Netzwerkthemen Behandelt viele Netzwerkthemen, beispielsweise das Verfügbarmachen einer Internetverbindung für andere Rechner eines LANs, Routing, drahtlose Netzwerke, &bluetooth;, IPv6, ATM und andere mehr. , Bezugsquellen für &os; Enthält eine Aufstellung der Quellen von denen Sie &os; beziehen können: CD-ROM, DVD sowie Internet-Sites. , Bibliografie Dieses Buch behandelt viele Themen und kann nicht alle Fragen erschöpfend beantworten. Die Bibliografie enthält weiterführende Bücher, die im Text zitiert werden. , Ressourcen im Internet Enthält eine Aufstellung der Foren, die &os; Benutzern für Fragen und Diskussionen zur Verfügung stehen. , PGP Schlüssel Enthält PGP-Fingerabdrücke von etlichen &os; Entwicklern. Konventionen in diesem Buch Damit der Text einheitlich erscheint und leicht zu lesen ist, werden im ganzen Buch die nachstehenden Konventionen beachtet: Typographie Kursiv Für Dateinamen, URLs, betonte Teile eines Satzes und das erste Vorkommen eines Fachbegriffs wird ein kursiver Zeichensatz benutzt. Fixschrift Fehlermeldungen, Kommandos, Umgebungsvariablen, Namen von Ports, Hostnamen, Benutzernamen, Gruppennamen, Gerätenamen, Variablen und Code-Ausschnitte werden in einer Fixschrift dargestellt. Fett Fett kennzeichnet Anwendungen, Kommandozeilen und Tastensymbole. Benutzereingaben Tasten werden fett dargestellt, um sie von dem umgebenden Text abzuheben. Tasten, die gleichzeitig gedrückt werden müssen, werden durch ein + zwischen den einzelnen Tasten dargestellt: Ctrl Alt Del Im gezeigten Beispiel soll der Benutzer die Tasten Ctrl, Alt und Del gleichzeitig drücken. Tasten, die nacheinander gedrückt werden müssen, sind durch Kommas getrennt: Ctrl X , Ctrl S Das letzte Beispiel bedeutet, dass die Tasten Ctrl und X gleichzeitig betätigt werden und danach die Tasten Ctrl und S gleichzeitig gedrückt werden müssen. Beispiele Beispiele, die durch C:\> eingeleitet werden, zeigen ein &ms-dos; Kommando. Wenn nichts Anderes angezeigt wird, können diese Kommandos unter neuen Versionen von µsoft.windows; auch in einem DOS-Fenster ausgeführt werden. E:\> tools\fdimage floppies\kern.flp A: Beispiele, die mit &prompt.root; beginnen, müssen unter &os; mit Superuser-Rechten ausgeführt werden. Dazu melden Sie sich entweder als root an oder Sie wechseln von Ihrem normalen Account mit &man.su.1; zu dem Benutzer root. &prompt.root; dd if=kern.flp of=/dev/fd0 Beispiele, die mit &prompt.user; anfangen, werden unter einem normalen Benutzer-Account ausgeführt. Sofern nichts Anderes angezeigt wird, verwenden die Beispiele die Syntax der C-Shell. &prompt.user; top Danksagung Dieses Buch ist aus Beiträgen von vielen Leuten aus allen Teilen der Welt entstanden. Alle eingegangen Beiträge, zum Beispiel Korrekturen oder vollständige Kapitel, waren wertvoll. Einige Firmen haben dieses Buch dadurch unterstützt, dass Sie Autoren in Vollzeit beschäftigt und die Veröffentlichung des Buchs finanziert haben. Besonders BSDi (das später von Wind River Systems übernommen wurde) beschäftigte Mitglieder des &os; Documentation Projects, um dieses Buch zu erstellen. Dadurch wurde die erste (englische) gedruckte Auflage im März 2000 möglich (ISBN 1-57176-241-8). Wind River Systems bezahlte dann weitere Autoren, die die zum Drucken nötige Infrastruktur verbesserten und zusätzliche Kapitel beisteuerten. Das Ergebnis dieser Arbeit ist die zweite (englische) Auflage vom November 2001 (ISBN 1-57176-303-1). Zwischen 2003 und 2004 bezahlte FreeBSD Mall, Inc mehrere Mitarbeiter für die Vorbereitung der gedruckten dritten Auflage.