From e8b924ba0bc3fda0da62db8dd425b5bda5ca8bdb Mon Sep 17 00:00:00 2001 From: Alexander Langer Date: Thu, 20 Dec 2001 22:58:56 +0000 Subject: [PATCH] Sync with German repository: - Update to original rev 1.53 - fix typos / grammar etc - reorder header Submitted by: Martin Heinen Obtained from: FreeBSD German Documentation Project --- .../books/handbook/basics/chapter.sgml | 1095 ++++++++++++++++- 1 file changed, 1027 insertions(+), 68 deletions(-) diff --git a/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml b/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml index ff2c85cc54..4548aa330f 100644 --- a/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml @@ -2,32 +2,74 @@ The FreeBSD Documentation Project The FreeBSD German Documentation Project - Original version 1.24 - $FreeBSD: doc/de_DE.ISO_8859-1/books/handbook/basics/chapter.sgml,v 1.1 2000/06/23 10:49:40 alex Exp $ + Original version 1.53 + $FreeBSD$ + $FreeBSDde: de-docproj/books/handbook/basics/chapter.sgml,v 1.11 2001/12/20 23:23:27 alex Exp $ --> + + + + Chris + Shumway + Umgeschrieben von + + + + + + Uwe + Pierau + Übersetzt von + + + + Unix Grundlagen Übersicht - - Neugeschrieben von Chris Shumway - cshumway@osd.bsdi.com, 10 Mar 2000. - Übersetzt von &a.de.pierau, - Juni 2000 + Grundlagen Das folgende Kapitel umfaßt die grundlegenden Kommandos - und Funktionsweisen des Betriebssystems FreeBSD. Wenn FreeBSD neu - für Sie ist, dann sollten Sie dieses Kapitel auf jeden Fall - lesen, bevor Sie um Hilfe fragen. + und Funktionsweisen des Betriebssystems FreeBSD. Viel von dem folgenden + Material gilt auch für jedes andere Unix-ähnliche System. + Falls Sie mit dem Material schon vertraut sind, können Sie dieses + Kapitel überlesen. Wenn FreeBSD neu für Sie ist, dann sollten + Sie dieses Kapitel auf jeden Fall sehr genau lesen. + + Nachdem Sie dieses Kapitel gelesen haben, werden Sie folgendes + wissen: + + + + wie Unix Zugriffsrechte funktionieren, + + + was Prozesse, Dämonen und Signale sind, + + + was eine Shell ist und wie Sie die Login Umgebung + ändern, + + + wie Sie mit Texteditoren umgehen, und + + + wie Sie in den Manual-Pages nach weiteren Informationen + suchen können. + + + Zugriffsrechte + Unix - Die Grundlagen von FreeBSD, dessen Geschichte in BSD UNIX - begründet ist, stützen sich auf verschiedene UNIX + Die Grundlagen von FreeBSD, das ein direkter Abkömmling + von BSD UNIX ist, stützen sich auf verschiedene UNIX Grundkonzepte. Das erste und ausgeprägteste: FreeBSD ist ein Multi-User Betriebssystem. Das System ermöglicht, daß mehrere User gleichzeitig an völlig verschiedenen @@ -36,15 +78,19 @@ Nachfragen nach Hardware- und Peripheriegeräten, Speicher und CPU Zeit unter den Usern. - Da das System mehere Benutzer unterstützt, hat alles, + Da das System mehrere Benutzer unterstützt, hat alles, was das System verwaltet, einen Satz von Rechten, die bestimmen, wer die jeweilige Ressource lesen, schreiben oder ausführen - darf. Diese Zugriffsrechte stehen in einer Achtergruppe, die in - drei Teile unterteilt ist: einen für den Besitzer der + darf. Diese Zugriffsrechte stehen in zwei Achtergruppen, die in + drei Teile unterteilt sind: einen für den Besitzer der Datei, einen für die Gruppe¸ zu der die Datei gehört und einen für alle anderen. Die numerische Darstellung sieht wie folgt aus: + Zugriffsrechte + + Dateizugriffsrechte + @@ -106,15 +152,20 @@ + + ls + + Verzeichnisse - Bei einer ausführlichen Verzeichnisauflistung mittels - ls -l zeigt eine Spalte die Zugriffsrechte - für den Besitzer, die Gruppe und alle anderen an. Hier - sieht man, wie das aussehen könnte: + Sie können auf der Kommandozeile + von &man.ls.1; angeben, um eine ausführliche Verzeichnisauflistung + zu sehen, die in einer Spalte die Zugriffsrechte für den + Besitzer, die Gruppe und alle anderen enthält. Die erste + Spalte von ls -l könnte wie folgt aussehen: -rw-r--r-- - Das erste Zeichen von links ist ein Sysmbol, welches angibt, + Das erste Zeichen von links ist ein Symbol, welches angibt, ob es sich um eine normale Datei, ein Verzeichnis, ein special- oder block-device, ein Socket oder irgend eine andere Pseudo-Datei handelt. Die nächsten drei Zeichen, @@ -155,23 +206,18 @@ Verzeichnis-Strukturen + Verzeichnis Hierarchien - Da FreeBSD seine Dateisysteme nutzt, um viele grundlegende - Systemtätigkeiten festzulegen, ist die Hierarchie des - Dateisystems äußerst wichtig. Durch den Umstand, - daß die Man-Page &man.hier.7; eine komplette Beschreibung - der Verzeichnisstruktur bietet, wird sie hier nicht dupliziert. - Bitte lesen Sie &man.hier.7; für ausführlichere - Informationen. + Die FreeBSD Verzeichnis Hierarchie ist die Grundlange, um + ein umfassendes Verständnis des Systems zu erlangen. + Das wichtigste Konzept, das Sie verstehen sollten, ist das + Root-Verzeichnis /. Dieses Verzeichnis ist das + erste, das während des Bootens eingehangen wird. Es + enthält das notwendige Basissystem um das System in den + Mehrbenutzerbetrieb zu bringen. Das Root-Verzeichnis enthält + auch die Mountpunkte anderer Dateisysteme, die später + eingehangen werden. - Von bedeutender Wichtigkeit ist die Wurzel aller - Verzeichnisse, das / Verzeichnis. Dieses wird beim booten als - erstes gemountet und es enthält das Basissystem, - welches zum boot-Zeitpunkt notwendig ist. Das / Verzeichnis - enthält außerdem mount Punkte (Montierungspunkte) - für jedes weitere Dateisystem, das Sie mounten - wollen. - Ein mount Punkt ist ein Verzeichnis, in das zusätzliche Dateisysteme ins / Verzeichnis eingepflanzt werden können. Standard mount Punkte beinhalten /usr, @@ -187,10 +233,839 @@ versehen sind. Konsultieren Sie die &man.fstab.5; Man-Page für mehr Informationen über das Format der Datei /etc/fstab und den Optionen darin. + + Eine vollständige Beschreibung der Dateisystem-Hierarchie + finden Sie in &man.hier.7;. Als Beispiel sein eine kurze + Übersicht über die gebräuchlisten Verzeichnisse + gegeben: + + + + + + + Verzeichnis + Beschreibung + + + + + / + Root-Verzeichnis des Dateisystems. + + + + /bin/ + Grundlegende Werkzeuge für den Single-User-Modus + sowie den Mehrbenutzerbetrieb. + + + + /boot/ + Programme und Konfigurationsdateien, die während + des Bootens benutzt werden. + + + + /boot/defaults/ + Vorgaben für die Boot-Konfiguration, siehe + &man.loader.conf.5;. + + + + /dev/ + Gerätedateien, siehe &man.intro.4;. + + + + /etc/ + System Konfigurationsdateien und Skripte. + + + + /etc/defaults/ + Vorgaben für die System Konfigurationsdateien, + siehe &man.rc.8;. + + + + /etc/mail/ + Konfigurationsdateien von MTAs wie + &man.sendmail.8;. + + + + /etc/namedb/ + Konfigurationsdateien von named, + siehe &man.named.8;. + + + + /etc/periodic/ + Täglich oder wöchentlich oder monatlich + ablaufende Skripte, die von &man.cron.8; gestartet werden. + Siehe &man.periodic.8;. + + + + /etc/ppp/ + Konfigurationsdateien von ppp, + siehe &man.ppp.8;. + + + + /mnt/ + Ein leeres Verzeichnis, das von Systemadministratoren + häfig als temporärer Mountpunkt genutzt wird. + + + + /proc/ + Prozeß Dateisystem, siehe &man.procfs.5; + und &man.mount.procfs.8;. + + + + /root/ + Home Verzeichnis von root. + + + + /sbin/ + Systemprogramme und administrative Werkzeuge, die + grundlegend für des Single-User-Modus und den + Mehrbenutzerbetrieb sind. + + + + /stand/ + Programme, die ohne andere Programme oder Bibliotheken + laufen. + + + + + /tmp/ + Temporäre Dateien, die für gewöhnlich + nicht nach einem Reboot erhalten werden. Dies kann + ein speicherbasiertes Dateisystem, siehe &man.mfs.8;, + sein. + + + + + /usr/ + Der Großteil der Benutzerprogramme und + Applikationen. + + + + /usr/bin/ + Gebräuchliche Werkzeuge, Programmierhilfen und + Applikationen. + + + + /usr/include/ + Standard C include-Dateien. + + + + /usr/lib/ + Bibliotheken. + + + + + /usr/libdata/ + Daten verschiedener Werkzeuge. + + + + /usr/libexec/ + System-Dämonen und System-Werkzeuge, die von + anderen Programmen ausgeführt werden. + + + + /usr/local/ + + Lokale Programme, Bibliotheken usw. Die Port Kollektion + benutzt dieses Verzeichnis als Zielverzeichnis für zu + installierende Applikationen. 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 FreeBSD Ports-Kollektion (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 zu BSD und/oder lokalen + Ergänzungen. + + + + /usr/X11R6/ + Optionale X11R6 Programme und Bibliotheken. + + + + /var/ + Wird für mehrere Zwecke genutzt und enthält + Logdateien, temporäre und Spooldateien. + + + + /var/log/ + Verschiedene Logdateien des Systems. + + + + /var/mail/ + Postfächer der Benutzer. + + + + /var/spool/ + Verschiedene Spool-Verzeichnisse der Drucker- und + Mailsysteme. + + + + /var/tmp/ + Temporäre Dateien, die über Reboots erhalten + bleiben. + + + + /var/yp + NIS maps. + + + + + + + + + + Prozesse + + Da FreeBSD ein Multitasking Betriebssystem ist, sieht es so aus, + als ob mehrere Prozesse zur gleichen Zeit laufen. Jedes Programm, + das zu irgendeiner Zeit läuft, wird + Prozeß gennant. Jedes Kommando + startet mindestens einen Prozeß. Einige Systemprozesse + laufen die ganze Zeit und stellen die Funktion des Systems sicher. + + Jeder Prozeß wird durch eine eindeutige Nummer identifiziert, + die Prozeß-ID oder + PID genannt wird. Prozesse haben ebenso + wie Dateien einen Besitzer und eine Gruppe, die festlegen, welche + Dateien und Geräte der Prozeß benutzen kann. Dabei + finden die vorher beschriebenen Zugriffsrechte Anwendungen. Die meisten + Prozesse haben auch einen Elternprozeß, der sie gestartet hat. + Wenn Sie in der Shell Kommandos eingeben, dann ist die Shell ein + Prozeß und jedes Kommando, das Sie starten ist auch ein + Prozeß. Jeder Prozeß, den Sie auf diese Weise starten, + besitzt den Shell-Prozeß als Elternprozeß. Die Ausnahme + hiervon ist ein spezieller Prozeß, der init + heißt. init ist immer der erste Prozeß + und hat somit die PID 1. init wird vom Kernel + beim Booten von FreeBSD gestartet. + + Die Kommandos &man.ps.1; und &man.top.1; sind besonders + nützlich, um sich die Prozesse auf einem System anzusehen. + &man.ps.1; zeigt eine statische Liste der laufenden Prozesse + und kann deren PID, Speicherverbrauch und die Kommandozeile, mit der + sie gestartet wurden, usw. anzeigen. &man.top.1; zeigt alle + laufenden Prozesse an und aktualisiert die Anzeige, so daß + Sie Ihrem Computer bei der Arbeit zuschauen können. + + Normal zeigt Ihnen &man.ps.1; nur die laufenden Prozesse, + die Ihnen gehören. Zum Beispiel: + + &prompt.user; ps + PID TT STAT TIME COMMAND + 298 p0 Ss 0:01.10 tcsh + 7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14) +37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14) +48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi +48730 p0 IW 0:00.00 (dns helper) (navigator-linux-) +72210 p0 R+ 0:00.00 ps + 390 p1 Is 0:01.14 tcsh + 7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y + 6688 p3 IWs 0:00.00 tcsh +10735 p4 IWs 0:00.00 tcsh +20256 p5 IWs 0:00.00 tcsh + 262 v0 IWs 0:00.00 -tcsh (tcsh) + 270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16 + 280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16 + 284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc + 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish + + Wie Sie sehen, gibt &man.ps.1; mehrere Spalten aus. In der + PID Spalte findet sich die vorher besprochene + Prozeß-ID. PIDs werden von 1 beginnend bis 65536 zugewiesen + und fangen wieder von vorne an, wenn die Grenze überschritten + wird. TT zeigt den Terminal, auf dem das + Programm läuft. STAT zeigt des Status + des Programms und kann für die Zwecke dieser Diskussion ebenso + wie TT ignoriert werden. TIME + gibt die Zeit an, die das Programm auf der CPU gelaufen ist— + dies ist nicht unbedingt die Zeit, die seit dem Start des Programms + vergangen ist, da einige Programme viel Zeit mit dem Warten auf + bestimmte Dinge verbringen, bevor sie wirklich CPU-Zeit verbrauchen. + Unter der Spalte COMMAND finden Sie schließlich + die Kommandozeile, mit der das Programm gestartet wurde. + + &man.ps.1; besitzt viele Optionen, um die angezeigten Informationen + zu beeinflussen. Eine nützliche Kombination ist + auxww. Mit werden Information + über alle laufenden Prozesse und nicht nur Ihrer eigenen + angezeigt. Der Name des Besitzers des Prozesses, sowie Informationen + über den Speicherverbrauch werden mit + angezeigt. zeigt auch Dämonen-Prozesse an, + und vernlaßt &man.ps.1; die komplette + Kommandozeile anzuzeigen, anstatt sie abzuschneiden, wenn sie + zu lang für die Bildschirmausgabe wird. + + Die Ausgabe von &man.top.1; sieht ähnlich aus: + + &prompt.user; top +last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10 +47 processes: 1 running, 46 sleeping +CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle +Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free +Swap: 256M Total, 38M Used, 217M Free, 15% Inuse + + PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND +72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top + 7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14 + 281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA + 296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm +48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu + 175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd + 7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt +... + + Die Ausgabe ist in zwei Abschnitte geteilt. Im Kopf in den ersten + fünf Zeilen finden sich die zuletzt zugeteilte PID, die + Systemauslastung (load average), die Systemlaufzeit + (die Zeit seit dem letzten Reboot) und die momentane Zeit. Die weiteren + Zahlen im Kopf beschreiben wieviele Prozesse momentan laufen (im + Beispiel 47), wieviel Speicher und Swap verbraucht wurde und + wieviel Zeit das System in den verschiedenen CPU-Modi verbringt. + + Darunter befinden sich einige Spalten mit ähnlichen + Informationen wie in der ausgabe von &man.ps.1;. Wie im vorigen + Beispiel können Sie die PID, den Besitzer, die verbrauchte + CPU-Zeit und das Kommando erkennen. &man.top.1; zeigt auch den + Speicherverbrauch des Prozesses an, der in zwei Spalten aufgeteilt + ist. Die erste Spalte gibt den gesamten Speicherverbrauch des + Prozesses an, in der zweiten Spalte wird der aktuelle Verbrauch + angegeben. Netscape hat im gezeigten + Beispiel insgesamt 30 MB Speicher verbraucht. Momentan benutzt + es allerdings nur 9 MB. + + Die Anzeige wird von &man.top.1; automatisch alle zwei Sekunden + aktualisiert. Der Zeitraum kann mit eingestellt + werden. + + + + Dämonen, Signale und Stoppen von Prozessen + + Wenn Sie einen Editor starten, können Sie ihn leicht bedienen + und Dateien laden. Sie können das, weil der Editor dafür + Vorsorge getroffen hat und auf einem Terminal + läuft. Manche Programme erwarten keine Eingaben von einem + Benutzer und lösen sich bei erster Gelegenheit von ihrem + Terminal. Ein Web-Server zum Beispiel verbringt den ganzen Tag + damit, auf Anfragen zu antworten und erwartet keine Eingaben von Ihnen. + Programme, die email von einem Ort zu einem anderen Ort transportieren + sind ein weiteres Beispiel für diesen Typ von Applikationen. + + Wir nennen diese Programme Dämonen. + Dämonen stammen aus der griechischen Mythologie und waren + weder gut noch böse. Sie waren kleine dienstbare Geister, + die meistens nützliche Sachen für die Menschheit vollbrachten. + Ähnlich wie heutzutage Web-Server und Mail-Server nützliche + Dienste verrichten. Seit langer Zeit ist daher das BSD Maskottchen + dieser fröhlich aussehende Dämon mit Turnschuhen + und Dreizack. + + Programme, die als Dämon laufen, werden entsprechend einer + Konvention mit einem d am Ende benannt. + BIND ist der Berkeley Internet Name Daemon + und das tatsächlich laufende Programm heißt + named. Der Apache Webserver wird + httpd genannt, der Druckerspool-Dämon heißt + lpd usw. Dies ist allerdings eine Konvention + und keine unumstößliche Regel: Der Dämon der + Applikation sendmail heißt + sendmail und nicht maild, wie + Sie vielleicht gedacht hatten. + + Manchmal müssen Sie mit einem Dämon kommunizieren und + dazu benutzen Sie Signale. Sie können + mit einem Dämonen oder jedem anderen laufenden Prozeß + kommunizieren, indem Sie diesem ein Signal schicken. Sie können + verschiedene Signale verschicken—manche haben eine festgelegte + Bedeutung, andere werden von der Applikation interpretiert. Die + Dokumentation zur fraglichen Applikation wird erklären, wie + die Applikation Signale interpretiert. Sie können nur Signale + zu Prozessen senden, die Ihnen gehören. Wenn Sie versuchen + einem Prozeß, der nicht Ihnen gehört, ein Signal zu + senden, so wird das Signal ignoriert. Der Benutzer + root darf jedem Prozeß Signale schicken. + + In manchen Fällen wird FreeBSD Signale senden. Wenn eine + Applikation schlecht geschrieben ist und auf Speicher zugreift, auf + den sie nicht zugreifen soll, so sendet FreeBSD dem Prozeß + das Segmentation Violation Signal + (SIGSEGV). Wenn eine Applikation den &man.alarm.3; + Systemaufruf benutzt hat, um nach einiger Zeit benachrichtigt zu + werden, bekommt sie das Alarm Signal (SIGALRM) + gesendet. + + Zwei Signal können benutzt werden, um Prozesse zu stoppen: + SIGTERM und SIGKILL. Mit + SIGTERM fordern Sie den Prozeß höflich zum + Beenden auf. Der Prozeß kann das Signal abfangen und merken, + daß er sich beenden soll. Er hat dann Gelegenheit Logdateien + zu schließen und die Aktion, die er vor der Aufforderung + sich zu beenden durchführte, abzuschließen. Er kann + sogar SIGTERM ignorieren, wenn er eine Aktion + durchführt, die nicht unterbrochen werden darf. + + SIGKILL kann von keinem Prozeß ignoriert + werden. Das Signal läßt sich mit Mich interessiert + nicht, was du gerade machst, hör sofort auf damit! + umschreiben. Wenn Sie einem Prozeß SIGKILL + schicken, dann wird FreeBSD diesen sofort beenden + Das stimmt nicht ganz: Es gibt Fälle, in denen ein Prozeß + nicht unterbrochen werden kann. Wenn der Prozesß zum Beispiel + eine Datei von einem anderen Rechner auf dem Netzwerk liest und dieser + Rechner aus irgendwelchen Gründen nicht erreichbar ist + (ausgemacht, oder ein Netzwerkfehler), dann ist der Prozeß + nicht zu unterbrechen. Wenn der Prozeß den Lesezugriff + nach einem Timeout von typischerweise zwei Minuten aufgibt, + dann wir er beendet. + . + + Andere Signale, die Sie vielleicht verschicken wollen, sind + SIGHUP, SIGUSR1 und + SIGUSR2. Diese Signale sind für allgemeine + Zwecke vorgesehen und verschiedene Applikation werden unterschiedlich + auf diese Signale reagieren. + + Nehmen wir an, Sie haben die Konfiguration Ihres Webservers + verändert und möchten dies dem Server mitteilen. Sie + könnten den Server natürlich stoppen und + httpd wieder starten. Die Folge wäre eine + kurze Zeit, in der der Server nicht erreichbar ist. Die meisten + Dämonen lesen Ihre Konfigurationsdatei beim Empfang eines + SIGHUP neu ein. Da es keinen Standard gibt, der + vorschreibt, wie auf diese Signale zu reagieren ist, lesen + Sie bitte die Dokumentation zu dem in Frage kommenden Dämon. + + Mit &man.kill.1; können Sie, wie unten gezeigt, Signale + verschicken. + + + Verschicken von Signalen + + Das folgende Beispiel zeigt, wie Sie &man.inetd.8; ein Signal + schicken. Die Konfigurationsdatei von &man.inetd.8; ist + /etc/inetd.conf und &man.inetd.8; liest die + Konfigurationsdatei erneut ein, wenn er ein SIGHUP + empfängt. + + + Suchen Sie Prozeß-ID des Prozesses, dem Sie ein Signal + schicken wollen. Benutzen Sie dazu &man.ps.1; und &man.grep.1;. + Mit &man.grep.1; können Sie in einer Ausgabe nach einem + String suchen. Da &man.inetd.8; unter dem Benutzer + root läuft und Sie das Kommando als + normaler Benutzer absetzen, müssen Sie &man.ps.1; mit + aufrufen: + + &prompt.user; ps -ax | grep inetd + 198 ?? IWs 0:00.00 inetd -wW + + Die Prozeß-ID von &man.inetd.8; ist 198. In einigen + Fällen werden Sie auch das grep inetd + Kommando in der Ausgabe sehen. Dies hat damit zu tun, wie + &man.ps.1; die Liste der laufenden Prozesse untersucht. + + + + Senden Sie das Signal mit &man.kill.1;. Da &man.inetd.8; + unter dem Benutzer root läuft, müssen + Sie zuerst mit &man.su.1; root werden: + + &prompt.user; 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. Wenn Sie versuchen, + einem Prozeß, der nicht Ihnen gehört, ein Signal zu + senden, dann werden Sie die Meldung + kill: PID: Operation not + permitted sehen. Wenn Sie sich bei der Eingabe der + PID vertippen, werden Sie das Signal dem falschen Prozeß + schicken, was schlecht sein kann. Wenn Sie Glück haben, + existiert der Prozeß nicht und Sie werden mit der Ausgabe + kill: PID: No such + process belohnt. + + + Warum soll ich <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. Das kann nützlich sein, aber die + unterschiedlichen Shells benutzen eine verschiedene Syntax, + um die Namen der Signale anzugeben. Anstatt jede Syntax zu + lernen, kann es einfacher sein, /bin/kill + ... direkt aufzurufen. + + + + + Andere Signale senden Sie auf die gleiche Weise, ersetzen + Sie nur TERM oder KILL + entsprechend. + + + Es kann gravierende Auswirkungen haben, wenn Sie zufällig + Prozesse beenden. Insbesondere &man.init.8; mit der Prozeß-ID + ist ein Spezialfall. Mit /bin/kill -s KILL 1 + können Sie Ihr System schnell herunterfahren. + Überprüfen Sie die Argumente von &man.kill.1; + immer zweimal bevor + Sie Return drücken. + + + + + Anhängen und Abhängen von 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 CDROM 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. + + Die Zeilen in /etc/fstab haben das + folgende Format: + + device /mount-point fstype options dumpfreq passno + + + + device + + + Ein existierender Gerätename + wie oben in + + Benennung von Laufwerken + beschrieben. + + + + + mount-point + + + Ein existierendes Verzeichnis, + an das das Dateisystem angehangen wird. + + + + + fstype + + + Der Typ des Dateisystems, + der an &man.mount.8; weitergegeben wird. Das default + FreeBSD Dateisystem 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 + + + Die Anzahl der Tage, + nach der das Dateisystem gesichert werden soll. + Der Zeitpunkt, an dem das Dateisystem während des Boot Vorgangs + überprüft wird, ist durch passno + gegeben. + + + + + + + Das mount Kommando + + Dateisysteme + anhängen + + + &man.mount.8; hängt schließlich Dateisysteme + an. + + In der grundlegenden Form wird es wie folgt benutzt: + + + &prompt.root; mount device mountpoint + + + Viele Optionen werden in &man.mount.8; beschrieben, + die am häufigsten verwendeten sind: + + + Mount Optionen + + + + + + 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 den entsprechenden Systemcall nicht aus. + Nützlich ist diese Option in Verbindung + mit . Damit wird angezeigt, was + mount tatsächlich versuchen + würde, um das Dateisystem anzuhängen. + + + + + + + + Erzwingt das Anhängen eines unsauberen Dateisystems + oder erzwingt die Rücknahme des Schreibzugriffs, wenn + der Status des Dateisystems von beschreibbar auf + schreibgeschützt geändert wird. + + + + + + + + Hängt das Dateisystem schreibgeschützt an. Das + kann auch durch Angabe von zu der + Option erreicht werden. + + + + + + fstype + + + Hängt das Dateisystem mit dem angebenen Typ an, + oder hängt nur Dateisysteme mit dem angegebenen Typ + an, wenn auch angegeben + wurde. + + Die Voreinstellung für den Typ des Dateisystems + ist ufs. + + + + + + + + Aktualisiert die Mountoptionen des Dateisystems. + + + + + + + + Geschwätzig sein. + + + + + + + + Hängt das Dateisystem beschreibbar an. + + + + + erwartet eine durch Kommata separierte Liste + von Optionen, unter anderem die folgenden: + + + + nodev + + + Beachtet keine Gerätedateien auf dem Dateisystem. + Dies ist ein nützliches Sicherheitsfeature. + + + + + noexec + + + Verbietet das Ausführen von binären + Dateien auf dem Dateisystem. Dies ist ein + nützliches Sicherheitsfeature. + + + + + nosuid + + + SetUID und SetGID Bits werden auf dem Dateisystem + nicht beachtet. Dies ist ein nützliches + Sicherheitsfeature. + + + + + + + Das <command>umount</command> Kommando + + Dateisysteme + abhängen + + + &man.umount.8; akzeptiert als Parameter entweder + einen Mountpoint, einen Gerätenamen, oder die + Optionen oder . + + Jede Form akzeptiert , um das + Abhängen zu erzwingen, und , um + etwas geschwätziger zu sein. Seien Sie bitte vorsichtig mit + : Ihr Computer kann abstürzen oder es + können Daten auf dem Dateisystem beschädigt werden, wenn + Sie das Abhängen erzwingen. + + und werden benutzt + um alle Dateisysteme, deren Typ durch + modifiziert werden kann, abzuhängen. + hängt das Rootdateisystem nicht ab. + Shells + Shells + Kommandozeile Von der tagtäglichen Arbeit mit FreeBSD wird eine Menge mit der Kommandozeilen Schnittstelle der Shell erledigt. Die @@ -199,33 +1074,36 @@ außerdem eingebaute Funktionen, um die tägliche Arbeit zu erleichtern, wie Dateiverwaltung, Editieren von Kommandozeilen, Makros und Umgebungsvariablen. FreeBSD - enthält die Shells sh (die Bourne Shell) und csh - (die C-Shell) im Basissystem. Viele andere sind in der Ports - Sammlung zu finden, von denen einige auch leistungsfähiger - sind, zum Beispiel tcsh und bash. + enthält die Shells sh (die Bourne Shell) und + tcsh (die verbesserte C-Shell) im Basissystem. + Viele andere Shells, wie zsh oder + bash, befinden sich in der Ports-Sammlung. Welche Shell soll ich benutzen? Das ist wirklich eine Geschmacksfrage. Sind Sie ein C Programmierer, finden Sie - vielleicht eine C-artige Shell wie die tcsh angenehmer. Kommen - Sie von Linux oder Ihnen ist eine UNIX Kommandozeile neu, so - könnten Sie die bash probieren. Der Punkt ist, daß + vielleicht eine C-artige Shell wie die tcsh + angenehmer. Kommen Sie von Linux oder Ihnen ist eine Unix Kommandozeile + neu, so könnten Sie die bash probieren. + Der Punkt ist, daß jede Shell ihre speziellen Eigenschaften hat, die mit Ihrer bevorzugten Arbeitsumgebung harmonieren können oder nicht. Sie müssen sich eine Shell aussuchen. Ein verbreitetes Merkmal in Shells ist die Dateinamen-Vervollständigung. Sie müssen nur einige - Buchstaben eines Kommandos oder eines Dateinames eingeben und + Buchstaben eines Kommandos oder eines Dateinamen eingeben und die Shell vervollständigt den Rest automatisch durch - drücken der TAB-Taste. Hier ist ein Beispiel. Angenommen, Sie + drücken der Tab-Taste. Hier ist ein Beispiel. + Angenommen, Sie haben zwei Dateien foobar und foo.bar. Die Datei foo.bar möchten Sie löschen. Nun würden Sie an der Tastatur eingeben: - rm fo[TAB].[TAB]. + rm fo[Tab]. + [Tab]. - Die Shell gäbe dann ausgeben rm - foo[BEEP].bar. + Die Shell würde dannrm + foo[BEEP].bar ausgeben. [BEEP] meint den Rechner-Piepser. Diesen gibt die Shell aus, um anzuzeigen, daß es den Dateinamen nicht @@ -233,10 +1111,13 @@ gibt. Beide Dateien foobar und foo.bar beginnen mit fo, so konnte nur bis foo ergänzt werden. - Nachdem Sie . eingaben und dann die TAB-Taste + Nachdem Sie . eingaben und dann die + Tab-Taste drückten, konnte die Shell den Rest für Sie ausfüllen. + Umgebungsvariablen + Eine andere Funktion der Shell sind die Umgebungsvariablen. Das sind veränderbare Schlüsselpaare im Umgebungsraum der Shell. Diesen Umgebungsraum kann jedes von der Shell @@ -244,6 +1125,7 @@ Programmkonfiguration darin enthalten ist. Hier eine Liste verbreiteter Umgebungsvariablen und was sie bedeuten: + Umgebungsvariablen @@ -284,7 +1166,7 @@ TERMCAP - Datenbankeintrag der Terminal Escape Kodes, + Datenbankeintrag der Terminal Escape Codes, benötigt um verschieden Terminalfunktionen auszuführen. @@ -302,7 +1184,7 @@ EDITOR - Vom Benutzer bervorzugter Text-Editor. + Vom Benutzer bevorzugter Text-Editor. @@ -321,12 +1203,14 @@ Das Anzeigen oder Setzen von Umgebungsvariablen funktioniert von Shell zu Shell unterschiedlich. Zum Beispiel benutzt man - in C-artigen Shells wie der tcsh dazu setenv. - Unter Bourne-Shells wie sh oder bash würde man + in C-artigen Shells wie der tcsh dazu + setenv. Unter Bourne-Shells wie sh + oder bash würde man set und export benutzen zum ansehen oder setzen von aktuellen Umgebungsvariablen. Um - beispielsweise die Variable EDITOR zu setzen oder - zu modifizieren, würde folgendes Kommando die Variable + beispielsweise die Variable EDITOR mit + csh oder tcsh zu setzen, + würde folgendes Kommando die Variable EDITOR auf /usr/local/bin/emacs setzen: @@ -354,7 +1238,7 @@ Um zu verhindern, daß die Shell diese Sonderzeichen interpretiert, kann man sie schützen, indem man ihnen einen - backslash (\) voranstellt. echo + Backslash (\) voranstellt. echo $TERM gibt aus, auf was auch immer Ihr Terminal gesetzt ist. echo \$TERM gibt $TERM genauso aus, wie es hier steht. @@ -404,6 +1288,8 @@ Text Editoren + Text Editoren + Editoren Eine Menge der Konfiguration bei FreeBSD wird durch das Editieren von Textdateien erledigt. Deshalb ist es eine @@ -411,6 +1297,9 @@ ein paar davon im Basissystem und sehr viel mehr in der Ports Sammlung. + + ee + Der am leichtesten und einfachsten zu erlernende Editor nennt sich ee, was für easy editor steht. Um ee zu starten, gibt man in der @@ -428,10 +1317,24 @@ Editor fragt Sie nach, ob Sie speichern möchten, wenn die Datei verändert wurde. + + vi + + + Editoren + vi + + + emacs + + + editors + emacs + FreeBSD verfügt über leistungfähigere - Editoren wie vi als Teil des - Basissystems und emacs oder - vim als Teil der Ports Sammlung. + Editoren wie vi als Teil des + Basissystems und emacs oder + vim als Teil der Ports Sammlung. Diese Editoren bieten höhere Funktionalität und Leistungsfähigkeit jedoch auf Kosten einer etwas schwierigeren Erlernbarkeit. Dennoch, wenn Sie viel @@ -441,14 +1344,69 @@ emacs. + + 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 FreeBSD angezeigt + werden, beziehen sich auf gefundene Geräte. Sie können sich + die Bootmeldungen später in /var/run/dmesg.boot + ansehen. + + Gerätenamen, die Sie wahrscheinlich in den Bootmeldungen sehen + werden, sind zum Beispiel acd0, das erste + IDE CDROM oder kbd0, die Tastatur. + + Auf die meisten Geräte wird unter Unix über spezielle + Gerätedateien im /dev Verzeichnis + zugegriffen. + + + Anlegen von Gerätedateien + Wenn sie ein neues Gerät zu Ihrem System hinzufügen, + oder die Unterstützung für zusätzliche Geräte + kompilieren, muß oft ein Gerätetreiber erstellt + werden. + + + MAKEDEV Skript + Auf Systemen ohne DEVFS müssen Gerätedateien mit + &man.MAKEDEV.8; wie unten gezeigt angelegt werden: + + &prompt.root; cd /dev +&prompt.root; sh MAKEDEV ad1 + + + Im Beispiel werden alle Gerätedateien für das + zweite IDE Laufwerk angelegt. + + + + devfs (Gerätedateisystem) + + Das Gerätedateisystem devfs ermöglicht durch den + Namensraum des Dateisystems Zugriff auf den Namensraum der + Geräte im Kernel. Damit müssen Gerätedateien + nicht mehr extra angelegt werden, sondern werden von devfs + verwaltet. + + Weitere Informationen finden Sie in &man.devfs.5;. + + In der Grundeinstellung benutzt FreeBSD 5.0 devfs. + + + + Weitere Informationen... - Man pages + Manual-Pages + Manual-Pages Die umfassendste Dokumentation rund um FreeBSD gibt es in - Form von Man-Pages. Annährernd jedes Programm im System + Form von Manual-Pages. Annährernd jedes Programm im System bringt eine kurze Referenzdokumentation mit, die die grundsätzliche Funktion und verschiedene Parameter erklärt. Diese Dokumentationen kann man mit dem @@ -464,7 +1422,7 @@ &prompt.user; man ls - Die Online-Dokumentation ist in numerierte Sektionen + Die Online-Dokumentation ist in nummerierte Sektionen unterteilt: @@ -477,7 +1435,7 @@ - Funktionen der C Bibliothkene. + Funktionen der C Bibliothek. @@ -506,9 +1464,10 @@ In einigen Fällen kann dasselbe Thema in mehreren - Sektionen auftauchen. Es gibt zum Beispiel ein chmod - Benutzerkommando und ein chmod() - Systemaufruf. In diesem Fall können Sie dem man Kommando + Sektionen auftauchen. Es gibt zum Beispiel ein chmod + Benutzerkommando und einen chmod() + Systemaufruf. In diesem Fall können Sie dem + man Kommando sagen, aus welcher Sektion Sie die Information erhalten möchten, indem Sie die Sektion mit angeben: @@ -517,7 +1476,7 @@ Dies wird Ihnen die Man-Page für das Benutzerkommando chmod zeigen. Verweise auf eine Sektion der Man-Pages werden traditionsgemäß in Klammern - gesetzt. So nezieht sich &man.chmod.1; auf das + gesetzt. So bezieht sich &man.chmod.1; auf das Benutzerkommando chmod und mit &man.chmod.2; ist der Systemaufruf gemeint. @@ -534,7 +1493,7 @@ Mit diesem Kommando bekommen Sie eine Liste der Kommandos, deren Beschreibung das Schlüsselwort mail enthält. Diese Funktionalität - erhalten Sie auch, wenn Sie das Kommando apropos + erhalten Sie auch, wenn Sie das Kommando apropos benutzen. Nun, Sie schauen Sich alle die geheimnisvollen Kommandos @@ -557,7 +1516,7 @@ FreeBSD enthält viele Applikationen und Utilities der Free Software Foundation (FSF). Zusätzlich zu den - Man-Pages bringen diese Programme ausführlichere + Manual-Pages bringen diese Programme ausführlichere Hypertext-Dokumente (info genannt) mit, welche man sich mit dem Kommando info ansehen kann. Wenn Sie emacs