diff --git a/de_DE.ISO8859-1/books/faq/book.sgml b/de_DE.ISO8859-1/books/faq/book.sgml index 4ccab0aa09..d3d8570f94 100644 --- a/de_DE.ISO8859-1/books/faq/book.sgml +++ b/de_DE.ISO8859-1/books/faq/book.sgml @@ -1,12728 +1,12722 @@ %books.ent; ]> - Häufig gestellte Fragen zu &os; 6.<replaceable>X</replaceable> - und 7.<replaceable>X</replaceable> + Häufig gestellte Fragen zu &os; + 6.<replaceable>X</replaceable> und + 7.<replaceable>X</replaceable> Frequently Asked Questions zu &os; 6.X und 7.X The &os; German Documentation Project Deutsche Übersetzung von Robert S. F. Drehmel, Dirk Gouders, Udo Erdelhoff und Johann Kois - $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.706 2009/05/16 17:50:47 bcr Exp $ + $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.714 2009/05/17 12:08:28 bcr Exp $ 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 The &os; Documentation Project 2000 2001 2002 2003 2004 2005 2006 2007 2007 2008 2009 The &os; German Documentation Project &bookinfo.legalnotice; &tm-attrib.freebsd; &tm-attrib.3com; &tm-attrib.adobe; &tm-attrib.creative; &tm-attrib.cvsup; &tm-attrib.ibm; &tm-attrib.ieee; &tm-attrib.intel; &tm-attrib.iomega; &tm-attrib.linux; &tm-attrib.microsoft; &tm-attrib.mips; &tm-attrib.netscape; &tm-attrib.opengroup; &tm-attrib.oracle; &tm-attrib.sgi; &tm-attrib.sparc; &tm-attrib.sun; &tm-attrib.usrobotics; &tm-attrib.xfree86; &tm-attrib.general; Dies ist die FAQ für die &os;-Versionen - 6.X und 7.X. - Alle Einträge sollten für &os; - ab Version 6.X relevant sein, andernfalls - wird darauf explizit hingewiesen. Falls Sie daran + 6.X und + 7.X. Alle Einträge sollten für + &os; ab Version 6.X relevant sein, + andernfalls wird darauf explizit hingewiesen. Falls Sie daran interessiert sein sollten, an diesem Projekt mitzuarbeiten, senden Sie eine Mail an die Mailingliste &a.de.translators;. Die - aktuelle Version dieses Dokuments ist ständig auf dem - &os; - World-Wide-Web-Server verfügbar. Sie kann aber auch - als eine einzige große HTML-Datei, als Textdatei, als - &postscript;- oder PDF-Datei sowie in verschiedenen anderen - Formaten vom &os; - FTP-Server heruntergeladen werden. Alternativ können - Sie die FAQ auch &os; World-Wide-Web-Server + verfügbar. Sie kann aber auch als eine einzige große HTML-Datei, als Textdatei, als &postscript;- + oder PDF-Datei sowie in verschiedenen anderen Formaten vom &os; FTP-Server + heruntergeladen werden. Alternativ können Sie die FAQ auch durchsuchen. Einleitung - Willkommen zur &os; - 6.X-7.X FAQ! + Willkommen zur &os; + 6.X-7.X + FAQ! Wie auch bei den Usenet FAQs üblich, wird mit diesem Dokument beabsichtigt, die am häufigsten gestellten Fragen bezüglich des Betriebssystems &os; zu erfassen und sie natürlich auch zu beantworten. Obwohl FAQs ursprünglich lediglich dazu dienen sollten, die Netzbelastung zu reduzieren und das ständige Wiederholen derselben Fragen zu vermeiden, haben sie sich als wertvolle Informationsquellen etabliert. Wir haben uns die größte Mühe gegeben, diese FAQ so lehrreich wie möglich zu gestalten; falls Sie irgendwelche Vorschläge haben, wie sie verbessert werden kann, senden Sie diese bitte an die Mailingliste des &a.de.translators;. - + Was ist &os;? &os; ist, kurz gesagt, ein &unix; ähnliches Betriebssystem für die Plattformen AMD64 sowie &intel; EM64T, &i386;, IA-64, &arm;, &powerpc;, PC-98 und &ultrasparc;, das auf der 4.4BSD-Lite-Release der University of California at Berkeley (UCB) basiert; außerdem flossen einige Erweiterungen aus der 4.4BSD-Lite2-Release mit ein. Es basiert außerdem indirekt auf der von William Jolitz unter dem Namen 386BSD herausgebrachten Portierung der Net/2-Release der UCB auf die &i386;-Plattform - allerdings ist nur wenig vom 386BSD-Code übriggeblieben. Eine umfassendere Beschreibung darüber, was &os; ist und wie Sie es für Ihre Zwecke verwenden können, finden Sie auf - den Internetseiten des - &os; Projects. + den Internetseiten des &os; Projects. Unternehmen, Internet Service Provider, Forscher, Computerfachleute, Studenten und Privatnutzer auf der ganzen Welt benutzen &os; für die Arbeit, die Ausbildung oder zur Freizeitgestaltung. Ausführlichere Informationen zu &os;, finden - Sie im &os; - Handbuch. + Sie im &os; Handbuch. Welches Ziel hat das &os; Project? Die Ziel von &os; ist es, Software zur Nutzung für beliebige Zwecke, bedingungslos zur Verfügung zu stellen. Viele von uns haben erheblich zur Erstellung des Codes (und zum Projekt) beigetragen und hätten jetzt oder in Zukunft sicherlich nichts gegen einen geringen finanziellen Ausgleich einzuwenden, aber wir beabsichtigen definitiv nicht, darauf zu bestehen. Wir sind der Meinung, dass unsere Mission zuerst und vorderst darin besteht, allen und jedem Kommenden Code für welchen Zweck auch immer zur Verfügung zu stellen, damit der Code möglichst weit eingesetzt wird und den größtmöglichen Nutzen liefert. Das ist, so glauben wir, eines der fundamentalsten Ziele von freier Software und eines, das wir enthusiastisch unterstützen. - Der Code in unserem Quellbaum, der der GNU General + Der Code in unserem Quellbaum, der der GNU General Public License (GPL) oder der GNU Library General Public License (LGPL) unterliegt, ist mit zusätzlichen, geringfügigen Bedingungen verknüpft, jedoch handelt es sich dabei lediglich um erzwungene Bereitstellung statt des sonst üblichen Gegenteils. Auf Grund der zusätzlichen Komplexität, die durch den kommerziellen Einsatz von GPL Software entstehen kann, bemühen wir uns jedoch, solche Software, wo möglich, durch solche, die der etwas lockereren &os; Lizenz unterliegt, zu ersetzen. Beinhaltet das &os;-Copyright irgendwelche Einschränkungen? Ja. Diese Einschränkungen regeln aber nicht, wie Sie mit dem Sourcecode umgehen, sondern betreffen nur den Umgang mit dem &os; Project an sich. Wenn Sie sich ernsthaft damit auseinandersetzen wollen, lesen Sie einfach die &os;-Lizenz. Wenn Sie einfach nur neugierig sind, sollte diese Zusammenfassung ausreichen: Behaupten Sie nicht, Sie hätten es geschrieben. Verklagen Sie uns nicht, wenn irgend etwas nicht funktioniert. Kann &os; mein bisher verwendetes Betriebssystem ersetzen? In den meisten Fällen lautet die Antwort ja. Allerdings ist diese Frage nicht ganz so einfach, wie sie scheint. Die meisten Anwender benutzen kein Betriebssystem, sondern Anwendungen. Die Anwendungen sind es, die das Betriebssystem benutzen. &os; ist dazu gedacht, eine stabile und vielfältige Umgebung für Anwendungen bereitzustellen. Es unterstützt viele unterschiedliche Web-Browser, Büroanwendungen, E-Mail-Programme, Grafik-Programme, Entwicklungsumgebungen, Netzwerk-Server, und so ziemlich alles andere, was Sie sich wünschen können. Die meisten dieser Anwendungen - sind in der - Ports-Sammlung verfügbar. + sind in der Ports-Sammlung + verfügbar. Wenn Sie Anwendung benutzen müssen, die es nur für ein bestimmtes Betriebssystem gibt, dann kommen Sie an diesem Betriebssystem nicht vorbei. Allerdings stehen die Chancen nicht schlecht, dass es eine vergleichbare Anwendung für &os; gibt. Wenn Sie einen verläßlichen Server für ihr Büro oder das Internet brauchen, oder eine stabilen Arbeitsplatz, oder einfach nur die Fähigkeit, ihre Arbeit ohne dauernde Abstürze machen zu können, dann kann &os; genau das sein. Viele Anwender auf der ganzen Welt, vom Anfänger bis zum erfahrenen Administrator, benutzen an Ihren Arbeitsplätzen ausschließlich &os;. Wenn Sie von einem anderen &unix; System zu &os; wechseln, dürfte Ihnen vieles bekannt vorkommen. Wenn Ihr Hintergrund ein Grafik-orientiertes Betriebssystem wie &windows; oder ein älteres &macos; ist, werden Sie zusätzliche Zeit investieren müssen, um den &unix; Stil zu verstehen. Dieser FAQ und das &os; Handbuch sind die besten Startpunkte. Warum heißt es &os;? Es darf kostenlos genutzt werden - sogar von kommerziellen Benutzern. Der komplette Quellcode für das Betriebssystem ist frei verfügbar und die Benutzung, Verbreitung und Einbindung in andere (kommerzielle und nicht-kommerzielle) Arbeiten sind mit den geringstmöglichen Einschränkungen versehen worden. Jedem ist es freigestellt, Code für Verbesserungen oder die Behebung von Fehlern einzusenden und ihn zum Quellbaum hinzufügen zu lassen (dies ist natürlich Gegenstand von ein oder zwei offensichtlichen Klauseln). Es wird darauf hingewiesen, dass das englische Wort free hier in den Bedeutungen umsonst und Sie können tun, was immer Sie möchten genutzt wird. Abgesehen von ein oder zwei Dingen, die Sie mit dem &os;-Code nicht tun können (z.B. vorgeben, ihn geschrieben zu haben), können Sie damit - tatsächlich tun, was auch immer Sie - möchten. + tatsächlich tun, was auch immer Sie möchten. Wie unterschieden sich &os;, NetBSD, OpenBSD und andere Open-Source BSD-Systeme? - James Howards Artikel - The - BSD Family Tree, der in - DaemonNews + James Howards Artikel The + BSD Family Tree, der in DaemonNews erschienen ist, beschreibt sehr gut die Geschichte und die Unterschiede der BSD-Varianten. Welches ist die aktuelle &os;-Version? Momentan gibt es zwei Entwicklungszweige, die für die Erstellung von Releases verwendet werden. Die 6.X-RELEASEs werden auf dem 6-STABLE-Zweig erstellt, die 7.X-RELEASEs auf dem 7-STABLE-Zweig. Bis zur Veröffentlichung von &os; 7.0 galt die 6.X-Serie als -STABLE. Seither gibt es für den Zweig 6.X nur mehr eine erweiterte Unterstützung in der Form von Korrekturen von größeren Problemen, wie neu entdeckten Sicherheitsheitslücken. Aus dem Zweig 6-STABLE werden zwar noch RELEASEs erzeugt, er gilt aber als ausgereift. Aktive Weiterentwicklungen konzentrieren sich daher auf den Zweig 7-STABLE. Version &rel.current; ist das aktuelle Release des 7-STABLE-Zweigs und ist im Januar 2009 erschienen. Version &rel2.current; ist das aktuelle Release aus dem 6-STABLE-Zweig und ist im November 2008 erschienen. Kurz gesagt, -STABLE ist für ISPs und andere Benutzer gedacht, die mehr Wert auf Stabilität und eine niedrige Änderungsfrequenz als auf die neuesten und möglicherweise unstabilen Features im aktuellen -CURRENT Snapshot legen. Releases können aus jedem Zweig entstehen, Sie sollten -CURRENT allerdings nur dann benutzen, wenn Sie auf ein erhöhtes Fehlverhalten im Vergleich zu -STABLE auch vorbereitet sind. Releases entstehen nur alle paar Monate. Viele Leute halten ihre Systeme aktueller (lesen Sie die Fragen zu &os;-CURRENT und &os;-STABLE), aber das erfordert ein erhöhtes Engagement, da die Sourcen sich ständig verändern. Weitere Informationen über &os;-Releases entnehmen Sie der Seite Release Engineering des &os; Webauftritts. Was ist &os;-CURRENT? - + &os;-CURRENT ist die Entwicklungsversion des Betriebssystems, aus der zu gegebener Zeit &os.stable; werden wird. Als solche ist sie lediglich für Entwickler, die am System mitarbeiten und für unentwegte Bastler von Interesse. Details zum Betrieb von -CURRENT finden Sie im entsprechenden Abschnitt des Handbuchs. Falls Sie nicht mit dem Betriebssystem vertraut sind oder nicht in der Lage sein sollten, den Unterschied zwischen einen echten und einem temporären Problem zu erkennen, sollten Sie &os;-CURRENT nicht verwenden. Dieser Zweig entwickelt sich manchmal sehr schnell weiter und kann gelegentlich für mehrere Tage hintereinander nicht installierbar sein. Von Personen, die &os;-CURRENT verwenden, wird erwartet, dass Sie dazu in der Lage sind, Probleme zu analysieren und nur dann von ihnen berichten, wenn es sich um Fehler und nicht um kurzzeitige Störungen handelt. Fragen wie make world produziert Fehlermeldungen bezüglich Gruppen werden in der &a.current; Mailingliste manchmal nicht beachtet. Jeden Monat wird der aktuelle Entwicklungsstand in den Zweigen -CURRENT und -STABLE in einer Snapshot Release festgehalten. Die Ziele dieser Snapshot Releases sind: Die aktuelle Version der Installationssoftware zu testen. Personen, die -CURRENT oder -STABLE benutzen möchten, aber nicht über die nötige Zeit oder Bandbreite verfügen, um tagesaktuell zu bleiben, soll eine bequeme Möglichkeit geboten werden, es auf ihr System zu bringen. Die Erhaltung von Referenzpunkten des fraglichen Codes, für den Fall, dass wir später einmal ernsthaften Schaden anrichten sollten - obwohl CVS verhindern sollte, dass solche Situationen entstehen. Sicherzustellen, dass alle zu testenden, neuen Merkmale und Fehlerbehebungen zu möglichst vielen potentiellen Testern gelangen. Von keinem -CURRENT Snapshot kann Produktionsqualität für beliebige Zwecke erwartet werden. Wenn Sie eine stabile und ausgetestete Version benötigen, sollten Sie eine vollständige Release oder einen -STABLE Snapshot verwenden. Snapshot-Releases sind auf der Snapshots-Seite verfügbar. Offizielle Snapshots werden in der Regel jeden Monat für jeden aktiven Zweig erstellt. Es gibt auch täglich erstellte Snapshots der populären &arch.i386; und &arch.amd64; Zweige, - die auf - bereitliegen. + die auf bereitliegen. Was ist das Konzept von &os;-STABLE? Zur der Zeit, als &os; 2.0.5 herausgegeben wurde, wurde entschieden, die Entwicklung von &os; zweizuteilen. Ein Zweig wurde -STABLE, der andere -CURRENT genannt. &os;-STABLE ist für Anbieter von Internetdiensten und andere kommerzielle Unternehmen gedacht, für die plötzliche Veränderungen und experimentelle Features unerwünscht sind. In diesem Zweige werden nur ausgetestete Fehlerbehebungen und kleine, inkrementelle Änderungen aufgenommen. &os;-CURRENT ist eine ununterbrochene Linie seitdem die Version 2.0 herausgegeben worden ist. Sie führt zu &rel.current;-RELEASE (und darüber hinaus). Weitere Informationen zu diesen Zweigen finden Sie unter - + &os; Release Engineering: Creating the Release Branch, der Status der Zweige und der Zeitplan zur anstehenden Veröffentlichung kann unter der Seite Release Engineering Information gefunden werden. Der Zweig 2.2-STABLE wurde mit der Veröffentlichung der Version 2.2.8 eingestellt. Der Zweig 3-STABLE endete mit Version 3.5.1, der letzten 3.X-Version, der Zweig 4.X endete mit der Version 4.11, der letzten 4.X-Version. Änderungen in diesen Zweigen beschränken sich im allgemeinen auf die Korrektur von sicherheitsrelevanten Fehlern. Der Zweig 5-STABLE wurde mit 5.5, der letzten 5.X Version, beendet. 6-STABLE wird noch unterstützt, die Unterstützung beschränkt sich allerdings auf das Schließen von neu entdeckten Sicherheitslücken und die Behebung von anderen ernsten Problemen. &rel.current;-STABLE ist der Zweig, auf den sich die Entwicklung von -STABLE zur Zeit konzentriert. Das neueste Release aus dem &rel.current;-STABLE-Zweig ist &rel.current;-RELEASE und ist im Januar 2007 erschienen. Aus dem 8-CURRENT-Zweig entsteht die nächste &os;-Generation. Weitere Informationen über diesen Zweig finden Sie unter Was ist FreeBSD-CURRENT?. + linkend="current">Was ist &os;-CURRENT?. Wann werden &os;-Versionen erstellt? Im Schnitt gibt das &a.re; alle 18 Monate eine neue Haupt-Version und etwa alle 8 Monate eine Unter-Version frei. Das Erscheinungsdatum einer neuer Version wird frühzeitig bekanntgegeben, damit die am System arbeitenden Personen wissen, bis wann ihre Projekte abgeschlossen und ausgetestet sein müssen. Vor jedem Release gibt es eine Testperiode um sicherzustellen, dass die neu hinzugefügten Features nicht die Stabilität des Releases beeinträchtigen. Viele Benutzer halten dies für einen großen Vorteil von &os;, obwohl es manchmal frustrierend sein kann, so lange auf die Verfügbarkeit der aktuellsten Leckerbissen zu warten. Weitere Informationen über die Entwicklung von Releases, sowie eine Übersicht über kommende Releases, erhalten Sie auf den Release Engineering Seiten der &os; Webseite. Für diejenigen, die ein wenig mehr Spannung brauchen (oder möchten), werden täglich Snapshots herausgegeben, wie oben beschrieben. Wer ist für &os; verantwortlich? Schlüsseldiskussionen, die das &os; Project betreffen, wie z.B. über die generelle Ausrichtung des Projekts und darüber, wem es erlaubt sein soll, Code zum Quellbaum hinzuzufügen, werden innerhalb eines Core Teams von 9 Personen geführt. Es gibt ein weitaus größeres Team von über 350 Committern, die dazu autorisiert sind, Änderungen am &os; Quellbaum durchzuführen. Jedoch werden die meisten nicht-trivialen Änderungen zuvor in den Mailinglisten diskutiert und es bestehen keinerlei Einschränkungen darüber, wer sich an diesen Diskussionen beteiligen darf. Wie kann ich &os; beziehen? Jede bedeutende Ausgabe von &os; ist per Anonymous-FTP vom &os; FTP Server erhältlich: Das aktuelle 7-STABLE-Release, &rel.current;-RELEASE, finden Sie im Verzeichnis &rel.current;-RELEASE. - Snapshots-Releases werden monatlich aus dem - -CURRENT-Zweig sowie aus - dem -STABLE-Zweig erzeugt. + url="&url.base;/snapshots/">Snapshots-Releases werden + monatlich aus dem -CURRENT-Zweig sowie aus dem -STABLE-Zweig erzeugt. Sie sollten aber nur von Entwicklern und sehr erfahrenen Testern verwendet werden. Das aktuelle Release von 6-STABLE, &rel2.current;-RELEASE finden Sie im Verzeichnis &rel2.current;-RELEASE. Wo und wie Sie &os; auf CD, DVD, und anderen Medien beziehen können, erfahren Sie im Handbuch. Wie greife ich auf die Datenbank mit Problemberichten zu? Die Datenbank mit Problemberichten (PR, problem report) und Änderungsanfragen von Benutzern kann über die webbasierte PR-Abfrage-Schnittstelle abgefragt werden. Mit dem Programm &man.send-pr.1; können Sie Problemberichte oder Änderungsanträge per E-Mail einsenden. Alternativ können Sie Problemberichte auch über Ihren Browser und die - webbasierte + webbasierte PR-Eingabe-Schnittstelle erstellen. Bevor Sie einen Fehler melden, sollten Sie sich zuerst den Artikel Writing &os; Problem Reports durchlesen, damit Sie wissen, wie Sie eine gute Fehlermeldung verfassen. Gibt es weitere Informationsquellen? Sie finden eine umfassende Liste unter Documentation auf der &os;-Webseite. Dokumentation und Support Gibt es gute Bücher über &os;? Im Zuge des &os; Projekts sind diverse gute Dokumente entstanden, die unter der - folgenden URL abgerufen werden können: - . + folgenden URL abgerufen werden können: . Die Dokumente stehen auch als Pakete, die Sie leicht installieren können, zur Verfügung. In den nächsten Abschnitten erfahren Sie mehr über diese Pakete. - Zusätzlich enthält - die Bibliographie am Ende + Zusätzlich enthält die Bibliographie am Ende dieser FAQ und diejenige im Handbuch Verweise auf weitere empfohlene Bücher. Ist die Dokumentation auch in anderen Formaten verfügbar? Zum Beispiel als einfacher Text (ASCII) oder als &postscript;? Ja. Werfen Sie einen Blick auf das Verzeichnis /pub/FreeBSD/doc/ auf dem &os; FTP-Server. Dort finden sie Dokumentation in vielen verschiedenen Format. Die Dokumentation wurde nach vielen verschiedenen Kriterien sortiert. Die Kriterien sind: Der Name des Dokumentes, z.B. FAQ oder Handbuch. Die Sprache und der Zeichensatz, die in dem Dokument verwendet werden. Diese entsprechen den Anpassungen, die Sie auf Ihrem &os;-System im - Verzeichnis /usr/share/locale + Verzeichnis /usr/share/locale finden. Zurzeit werden die folgenden Sprachen und Zeichensätze benutzt: Name Bedeutung bn_BD.ISO10646-1 Bengalisch (oder Bangla) da_DK.ISO8859-1 Dänisch de_DE.ISO8859-1 Deutsch en_US.ISO8859-1 Amerikanisches Englisch el_GR.ISO8859-7 Griechisch es_ES.ISO8859-1 Spanisch fr_FR.ISO8859-1 Französisch it_IT.ISO8859-15 Italienisch hu_HU.ISO8859-2 Ungarisch ja_JP.eucJP Japanisch (EUC-kodiert) mn_MN.UTF-8 Mongolisch (UTF-8-kodiert) nl_NL.ISO8859-1 Niederländisch no_NO.ISO8859-1 Norwegisch pl_PL.ISO8859-2 Polnisch pt_BR.ISO8859-1 Brasilianisches Portugiesisch ru_RU.KOI8-R Russisch (KOI8-R-kodiert) sr_YU.ISO8859-2 Serbisch tr_TR.ISO8859-9 Türkisch zh_CN.GB2312 Vereinfachtes Chinesisch (GB2312-kodiert) zh_TW.Big5 Chinesisch (Big5-kodiert) Einige Dokumente sind nicht in allen Sprachen verfügbar. Das Format des Dokumentes. Die Dokumentation wird in verschiedenen Formaten erzeugt, von denen jedes seine eigenen Vor- und Nachteile hat. Einige Formate lassen sich gut an einem Bildschirm lesen, während andere Formate dafür gedacht sind, ein ansprechendes Druckbild zu erzeugen. Das die Dokumentation in verschiedenen Formaten verfügbar ist, stellt sicher, dass unsere Leser die für sie relevanten Teile unabhängig vom Ausgabemedium (Bildschirm oder Papier) lesen können. Derzeit werden die folgenden Formate unterstützt: Format Erklärung html-split Viele kleine HTML-Dateien, die sich gegenseitig referenzieren. html Eine große HTML-Datei, die das komplette Dokument enthält. pdb Palm Pilot Datenbank für das Programm iSilo. pdf Adobe's Portable Document Format ps &postscript; rtf Microsoft's Rich Text Format Die Seitennummern werden nicht automatisch aktualisiert, wenn Sie diese Datei in Word laden. Wenn Sie das Dokument geladen haben, müssen Sie Sie Ctrl A , Ctrl End , F9 eingeben, um die Seitennummern aktualisieren zu lassen. txt Ganz normaler Text Das zur Komprimierung verwendete Programm. Zur Zeit werden drei verschiedene Methoden benutzt. Wenn die Dokumentation im Format html-split vorliegt, werden die Dateien mit &man.tar.1; zusammengefasst. Die so entstandene .tar Datei wird dann mit einer der unten genannten Methoden komprimiert. Bei allen anderen Formaten existiert nur eine Datei mit dem Namen type.format (z.B. article.pdf, book.html, und so weiter). Diese Dateien werden mit zwei verschiedenen Programmen komprimiert. Programm Beschreibung zip Das Zip-Format. Wenn Sie diese Dateien unter &os; entpacken wollen, müssen sie vorher den Port - archivers/unzip + archivers/unzip installieren. bz2 Das BZip2-Format. Es wird seltener als das Zip-Format benutzt, erzeugt aber normalerweise kleinere Archive. Sie müssen den - Port archivers/bzip2 + Port archivers/bzip2 installieren, um diese Dateien entpacken zu können. Ein Beispiel: Die mit BZip2 gepackte Version des Handbuchs im &postscript;-Format hat den Namen - book.ps.bz2 und ist im - Verzeichnis handbook/ zu - finden. + book.ps.bz2 und ist + im Verzeichnis handbook/ zu finden. Nachdem Sie das Format und das Kompressionsverfahren ausgewählt haben, müssen Sie die komprimierten Dateien selber herunterladen, entpacken und an die richtigen Stellen kopieren. Wenn Sie zum Beispiel die mit &man.bzip2.1; gepackte split HTMLVersion der englischen FAQ herunterladen und installieren wollten, bräuchten Sie die Datei doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2. Um diese Datei herunterzuladen und auszupacken, wären die folgenden Schritte notwendig. &prompt.root; fetch ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 &prompt.root; gzip -d book.html-split.tar.bz2 &prompt.root; tar xvf book.html-split.tar Danach haben Sie eine Sammlung vieler kleiner .html Datei. Die wichtigste Datei hat Namen index.html und enthält das Inhaltsverzeichnis, eine Einleitung und Verweise auf die anderen Teile des Dokumentes. Falls notwendig, können Sie die diversen Dateien jetzt an ihren endgültigen Bestimmungsort verschieben oder kopieren. Woher bekomme ich Informationen zu den &os; Mailinglisten? Vollständige Informationen finden Sie im Handbucheintrag über Mailinglisten. Welche Newsgruppen existieren zu &os;? Sie finden alle Informationen hierzu im Handbucheintrag zu Newsgruppen. Gibt es &os; IRC (Internet Relay Chat) Kanäle? Ja, die meisten großen IRC Netze bieten einen &os; Chat-Channel: Channel FreeBSD im EFNet ist ein &os;-Forum, aber gehen Sie nicht dorthin, um technische Unterstützung zu suchen, oder, um zu versuchen, die Leute dort dazu zu bringen, Ihnen dabei zu helfen, das mühselige Lesen von Manuals zu ersparen oder eigene Nachforschungen zu betreiben. Es ist in erster Linie ein Chat-Channel und die Themen dort umfassen Sex, Sport oder Kernwaffen ebensogut, wie &os;. Sie wurden gewarnt! Der Channel ist auf dem Server irc.chat.org verfügbar. Der Channel #FreeBSDhelp im EFNet hat sich dagegen auf die Unterstützung der Benutzer von &os; spezialisiert. In diesem Channel sind Fragen deutlich willkommener als im Channel #FreeBSD. Der Channel ##FreeBSD auf - Freenode - bietet allgemeine Hilfe zu &os;-Themen. Durchschnittlich - sind zu jeden Zeitpunkt etwa 300 Benutzer online. Zwar - werden auch nicht-&os;-spezifische Themen diskutiert, - den Hauptteil der Diskussionen dreht sich aber um die - Lösung der Probleme von &os;-Anwendern. Die - Teilnehmer dieses Channels helfen Ihnen auch bei Fragen - zu elementaren Dingen und zeigen Ihnen auch, wo Sie die - entsprechenden Erklärungen im &os;-Handbuch oder - anderen Ressourcen finden können. Obwohl die - Teilnehmer des Channels über die ganze Welt verstreut - sind, werden alle Diskussionen auf Englisch geführt. - Wollen Sie die Diskussion in Ihrer Sprache führen, - sollten Sie Ihre Frage trotzdem auf Englisch stellen und - danach gegebenenfalls einen neuen Channel in der Form + Freenode bietet allgemeine + Hilfe zu &os;-Themen. Durchschnittlich sind zu jedem Zeitpunkt + etwa 300 Benutzer online. Zwar werden auch + nicht-&os;-spezifische Themen diskutiert, den Hauptteil der + Diskussionen dreht sich aber um die Lösung der Probleme + von &os;-Anwendern. Die Teilnehmer dieses Channels helfen + Ihnen auch bei Fragen zu elementaren Dingen und zeigen Ihnen + auch, wo Sie die entsprechenden Erklärungen im + &os;-Handbuch oder anderen Ressourcen finden können. + Obwohl die Teilnehmer des Channels über die ganze Welt + verstreut sind, werden alle Diskussionen auf Englisch + geführt. Wollen Sie die Diskussion in Ihrer Sprache + führen, sollten Sie Ihre Frage trotzdem auf Englisch + stellen und danach gegebenenfalls einen neuen Channel in der + Form ##freebsd-Ihre_Sprache eröffnen. Der Channel #FreeBSD im DALNET ist in den USA unter irc.dal.net und in Europa unter irc.eu.dal.net verfügbar. Der Channel #FreeBSDHelp im - DALNET - ist in den USA unter irc.dal.net - sowie in Europa unter irc.eu.dal.net - verfügbar. + DALNET ist in den USA unter + irc.dal.net sowie in Europa unter + irc.eu.dal.net verfügbar. Der Channel #FreeBSD im UNDERNET ist in den USA unter us.undernet.org und in Europa unter eu.undernet.org verfügbar. Es handelt sich hierbei um einen Hilfe-Channel, man wird Sie daher auf Dokumente verweisen, die Sie selbst lesen müssen. Der Channel #FreeBSD im RUSNET ist ein - russischsprachiger Channel, der sich der - Unterstützung von &os;-Anwendern verschrieben hat. - Er ist auch ein guter Startpunkt für - nichttechnische Diskussionen. + russischsprachiger Channel, der sich der Unterstützung von + &os;-Anwendern verschrieben hat. Er ist auch ein guter + Startpunkt für nichttechnische Diskussionen. - Der Channel #bsdchat auf - Freenode + Der Channel #bsdchat auf Freenode (Sprache: traditionelles Chinesisch, UTF-8-kodiert) - hat sich der - Unterstützung von &os;-Anwendern verschrieben. + hat sich der Unterstützung von &os;-Anwendern verschrieben. Er ist auch ein guter Startpunkt für nichttechnische Diskussionen. Alle diese Kanäle unterscheiden sich voneinander und sind nicht miteinander verbunden. Ebenso unterscheiden sich Ihre Chat-Stile, weshalb es sein kann, dass Sie zunächst alle Kanäle ausprobieren müssen, um den zu Ihrem Chat-Stil passenden zu - finden. Hier gilt, was für - jeden IRC-Verkehr gilt: falls sie - sich leicht angegriffen fühlen oder nicht mit vielen - jungen (und einigen älteren) Leuten, verbunden mit - dem nutzlosen Gezanke umgehen können, dann ziehen Sie - es gar nicht erst in Erwägung. + finden. Hier gilt, was für jeden + IRC-Verkehr gilt: falls sie sich leicht angegriffen fühlen + oder nicht mit vielen jungen (und einigen älteren) Leuten, + verbunden mit dem nutzlosen Gezanke umgehen können, dann + ziehen Sie es gar nicht erst in Erwägung. Gibt es Firmen, die Training und Support für &os; anbieten? DaemonNews bietet Training und Support für - &os; an. Weitergehende Informationen finden Sie in der - BSD - Mall. + &os; an. Weitergehende Informationen finden Sie in der BSD Mall. Die &os; Mall bietet ebenfalls professionellen &os; Support an. Weitergehende Informationen finden Sie auf ihrer Webseite. Wenn Ihre Firma oder Organisation ebenfalls Training und Support anbietet und hier genannt werden möchte, wenden Sie sich bitte an das &os; Project. Nik Clayton
nik@FreeBSD.org
Installation Welche Dateien muss ich herunterladen, um &os; zu bekommen? Sie benötigen drei Floppy-Images: floppies/boot.flp, floppies/kern1.flp sowie floppies/kern2.flp. Diese Images müssen mit Hilfe von Werkzeugen wie fdimage oder &man.dd.1; auf Disketten kopiert werden. Falls Sie selbst die einzelnen Distributionen herunterladen müssen (um z.B. von einem DOS-Dateisystem aus zu installieren), empfehlen wir, sich die folgenden Distributionen zu besorgen: base/ manpages compat* doc src/ssys.* Vollständige Instruktionen für dieses Vorgehen und ein wenig mehr zur Installation generell finden Sie im Handbucheintrag zur Installation von &os;. Was soll ich tun, wenn das Floppy-Image nicht auf eine Diskette passt? Eine 3,5-Zoll (1,44 MB) Diskette kann 1474560 Byte an Daten fassen und das Boot-Image ist exakt 1474560 Byte groß. Häufige Fehler bei der Erstellung der Boot-Diskette sind: Bei der Benutzung von FTP das Floppy-Image nicht im Binär-Modus herunterzuladen. Einige FTP-Clients benutzen als Voreinstellung den ASCII-Modus und versuchen, alle Zeilenendezeichen an das Zielsystem anzupassen. Dadurch wird das Boot-Image in jedem Fall unbrauchbar. Überprüfen Sie die Größe des heruntergeladenen Boot-Images: falls sie nicht exakt mit der auf dem Server übereinstimmt, hat das Herunterladen nicht richtig funktioniert. Abhilfe: geben Sie binary an der FTP-Eingabeaufforderung ein, nach dem Sie mit dem Server verbunden sind und bevor Sie das Image herunterladen. Die Benutzung des DOS-Befehls copy (oder eines entsprechendes Werkzeugs der grafischen Benutzeroberfläche), um das Boot-Image auf die Diskette zu übertragen. Programme wie copy sind hier unbrauchbar, weil das Image zur direkten Übertragung erstellt wurde. Das Image stellt den gesamten Disketteninhalt dar, Spur für Spur, und nicht eine gewöhnliche Datei. Sie müssen es roh mit speziellen Werkzeugen (z.B. fdimage oder rawrite) übertragen, wie es in der Installationsanleitung zu &os; beschrieben ist. Wo befinden sich die Instruktionen zur Installation von &os;? Installationsanleitungen finden Sie im Handbucheintrag zur Installation von &os;. Was benötige ich zum Betrieb von &os;? Der Betrieb von &os; und neuer erfordert mindestens einen 486er Prozessor mit mindestens 24 MB RAM sowie mindestens 150 MB an Festplattenspeicher. Alle &os;-Versionen laufen mit einer einfachen MDA-Grafikkarte, für &xorg; benötigen Sie allerdings eine VGA- oder eine bessere Videokarte. Lesen Sie auch den Abschnitt Hardwarekompatibilität. Wie kann ich eine angepasste Installationsdiskette erstellen? Zurzeit gibt es keine Möglichkeit, nur die angepassten Installationsdisketten zu erstellen. Sie müssen sich eine ganz neues Release erstellen, das Ihre Installationsdiskette enthält. Wenn Sie eine modifizierte Ausgabe erstellen wollen, finden Sie eine Anleitung im Artikel &os; Release Engineering. Kann ich mehr als ein Betriebssystem auf meinem PC unterbringen? Sehen Sie sich Die Multi-OS-Seite an. Kann &windows; neben &os; existieren? Installieren Sie zuerst &windows;, dann &os;. Der Bootmanager von &os; kann dann entweder &windows; oder &os; booten. Falls Sie &windows; nach &os; installieren, wird es, ohne zu fragen, Ihren Bootmanager überschreiben. Lesen Sie den nächsten Abschnitt, falls das passieren sollte. &windows; hat meinen Bootmanager zerstört! Wie stelle ich ihn wieder her? Es gibt drei Möglichkeiten, den &os;-Bootmanager neu zu installieren: Unter DOS wechseln Sie in das Verzeichnis - tools/ - Ihrer FreeBSD-Distribution und suchen nach - bootinst.exe. Rufen sie es so + tools/ Ihrer &os;-Distribution und + suchen nach bootinst.exe. Rufen sie es so auf: ...\TOOLS> bootinst.exe boot.bin und der Bootmanager wird neu installiert. Booten Sie &os; wieder mit der Bootdiskette und wählen Sie den Menüeintrag Custom Installation. Wählen Sie Partition. Wählen Sie das Laufwerk, auf dem sich der Bootmanager befand (wahrscheinlich der erste Eintrag) und wenn Sie in den Partitioneditor gelangen, drücken Sie als aller erstes (nehmen Sie z.B. keine Änderungen vor) (W)rite. Sie werden nach einer Bestätigung gefragt, wählen Sie &gui.yes; und vergessen Sie nicht, in der Bootmanager-Auswahl den &os; Boot Manager auszuwählen. Hierdurch wird der Bootmanager wieder auf die Festplatte geschrieben. Verlassen Sie nun das Installationsmenü und rebooten wie gewöhnlich von der Festplatte. Booten Sie &os; wieder mit der Bootdiskette (oder der CD-ROM) und wählen Sie den Menüpunkt Fixit. Wählen Sie die für Sie passende Option, entweder die Fixit-Diskette oder die CD-ROM Nummer 2 (die Option live Filesystem). Wechseln Sie zur Fixit-Shell und geben Sie den folgenden Befehl ein: Fixit# fdisk -B -b /boot/boot0 bootdevice Als bootdevice müssen Sie das von Ihrem System verwendete Gerät angeben, z.B. ad0 (erste IDE-Platte), ad4 (erste IDE-Platte an einem zusätzlichen Controller), da0 (erste SCSI-Platte), usw. Mein IBM Thinkpad Modell A, T oder X, hängt sich auf, wenn ich &os; zum ersten Mal starte. Was soll ich machen? Ein Fehler in den ersten BIOS-Versionen dieser Geräte führt dazu, dass sie die von &os; genutzte Partition für eine Suspend-To-Disk-Partition halten. Wenn das BIOS dann versucht, diese Partition auszuwerten, hängt sich das System auf. Laut IBM In einer Mail von Keith Frechette kfrechet@us.ibm.com. wurde der Fehler wurde in den folgenden BIOS-Versionen behoben: Gerät BIOS Version T20 IYET49WW oder neuer T21 KZET22WW oder neuer A20p IVET62WW oder neuer A20m IWET54WW oder neuer A21p KYET27WW oder neuer A21m KXET24WW oder neuer A21e KUET30WW Es ist möglich, dass neuere Version des IBM BIOS den Fehler wieder enthalten. Dieser Beitrag von Jacques Vidrine auf der Mailingliste &a.mobile; beschreibt eine Technik, die Ihnen weiterhelfen könnte, wenn Ihr IBM Laptop mit &os; nicht bootet und Sie eine neuere oder ältere BIOS-Version einspielen können. Wenn Ihr Thinkpad über eine ältere BIOS-Version verfügt und Sie das BIOS nicht aktualisieren können, ist eine der möglichen Lösungen, &os; zu installieren, die Partitions-ID zu ändern und danach neue Bootblocks zu installieren, die mit der geänderten ID umgehen können. Zunächst müssen Sie die Maschine so weit wiederherstellen, dass sie über den Selbst-Test hinauskommt. Dazu ist es erforderlich, dass das System beim Start keine Partitions-ID auf seiner primären Festplatte findet. Eine Variante ist, die Platte auszubauen und vorübergehend in einem älteren Thinkpad (z.B. dem Thinkpad 600) oder (mit einem passenden Adapter) in einen normalen PC einzubauen. Sobald dies erfolgt ist, können Sie die &os;-Partition löschen und die Festplatte wieder in das Thinkpad einbauen. Das Thinkpad sollte jetzt wieder starten können. Danach können Sie mit der nachfolgend beschriebenen Anleitung eine funktionsfähige &os;-Installation erhalten. Beschaffen Sie sich boot1 und boot2 von . Legen Sie diese Dateien so ab, dass Sie während der Installation darauf zugreifen können. Installieren Sie ganz wie gewohnt &os; auf dem Thinkpad. Allerdings dürfen Sie den Dangerously Dedicated-Modus nicht benutzen. Nach dem Abschluss der Installation dürfen Sie die Maschine nicht neu starten. - Wechseln Sie zur Emergency Holographic - Shell ( - + Wechseln Sie zur Emergency Holographic + Shell ( Alt F4 ) oder starten Sie eine fixit Shell. Benutzen Sie &man.fdisk.8;, um die Partitions-ID von &os; von 165 in 166 zu ändern (dieser Wert wird von OpenBSD benutzt). Kopieren Sie die Dateien boot1 und boot2 auf die lokale Festplatte. - Installieren Sie boot1 und + Installieren Sie + boot1 und boot2 mit &man.disklabel.8; auf - die FreeBSD-Slice. + die &os;-Slice. &prompt.root; disklabel -B -b boot1 -s boot2 ad0sn Setzen Sie für n die Nummer der Slice ein, auf der sie FreeBSD installiert haben. Starten Sie das System neu. Am Boot-Prompt sollten Sie die Auswahl OpenBSD erhalten. Damit wird in Wirklichkeit &os; gestartet. Was Sie machen müssen, wenn Sie &os; und OpenBSD parallel installieren wollen, sollten Sie zu Übungszwecken einfach einmal selbst herausfinden. Kann ich &os; auf einer Festplatte mit beschädigten Blöcken installieren? Prinzipiell ja. Allerdings ist das keine gute Idee. Wenn Ihnen bei einer modernen IDE-Platte defekte Sektoren gemeldet werden, wird die Platte mit großer Wahrscheinlichkeit innerhalb kurzer Zeit vollständig ausfallen, da die Meldung ein Zeichen dafür ist, dass die für die Korrektur reservierten Sektoren bereits verbraucht wurden. Wir raten Ihnen, die Platte auszutauschen. Falls Sie ein SCSI-Laufwerk mit beschädigten Blöcken besitzen, lesen Sie diese Antwort. Wenn ich von der Installationsdiskette boote, geschehen merkwürdige Dinge! Was sollte ich tun? Falls Sie beobachten, dass ihr Rechner sich bis zum Stillstand abmüht oder spontan rebootet, während Sie versuchen, von der Installationsdiskette zu booten, sollten Sie sich drei Fragen stellen: Haben Sie eine brandneue, frisch formatierte, fehlerfreie Diskette benutzt (günstigerweise eine brandneue, direkt aus dem Karton und nicht eine Diskette aus einem Magazin, das schon seit drei Jahren unter Ihrem Bett lag)? Haben Sie das Floppy-Image im Binär- (oder Image) Modus heruntergeladen? (Schämen Sie sich nicht. Sogar die besten unter uns haben wenigstens einmal Binärdateien versehentlich im ASCII-Modus heruntergeladen!) Falls Sie &windows; 95 oder &windows; 98 benutzen, haben Sie es heruntergefahren und fdimage bzw. rawrite in einfachem, reinem DOS neu gestartet? Es scheint, dass diese Betriebssysteme Programme stören, die direkt auf Hardware schreiben, wie es das Erstellungsprogramm für die Diskette tut; selbst bei der Ausführung des Programms in einem DOS-Fenster in der grafischen Benutzeroberfläche kann dieses Problem auftreten. Es wurde auch darüber berichtet, dass &netscape; Probleme beim Herunterladen der Bootdisketten verursacht. Es ist also wahrscheinlich besser, einen anderen FTP-Client zu benutzen. Ich habe zur Installation von meinem ATAPI CD-ROM gebootet, aber das Installationsprogramm sagt mir, dass es kein CD-ROM gefunden hat. Was geht hier ab? Dieses Problem wird üblicherweise durch ein falsch konfiguriertes CD-ROM verursacht. Bei vielen PCs ist das CD-ROM der Slave am zweiten IDE-Controller, ein Master ist nicht vorhanden. Laut Spezifikation ist diese Konfiguration ungültig, aber &windows; verletzt die Spezifikation und das BIOS ignoriert sie, wenn es von einem CD-ROM booten soll. Daher konnten Sie zwar vom CD-ROM booten, während &os; es nicht für die Installation benutzen kann. Um dieses Problem zu lösen, müssen Sie entweder das CD-ROM als Master an den IDE-Controller anschließen oder dafür sorgen, dass an dem vom CD-ROM genutzten IDE-Controller das CD-ROM als Slave und ein anderes Gerät als Master angeschlossen ist. Kann ich auf meinem Laptop per PLIP (Parallel Line IP) installieren? Ja, Sie brauchen dazu nur ein ganz normales Laplink-Kabel. Weitere Informationen zum Thema Netzwerke am Druckerport finden sie im Kapitel PLIP des Handbuchs. Welche Geometrie sollte ich für ein Festplattenlaufwerk verwenden? Unter der Geometrie einer Festplatte verstehen wir die Anzahl Zylinder, Schreib-/Leseköpfen und Sektoren/Spur auf einer Festplatte. Im folgenden wird dafür der Übersichtlichkeit halber der Begriff C/H/S verwendet. Das BIOS des PCs berechnet mit diesen Angaben, auf welche Bereiche der Festplatte es für Schreib-/Lesezugriffe zugreifen muss). Aus einigen Gründen scheint dies gerade bei frischgebackenen Systemadministratoren für sehr viel Verwirrung zu sorgen. Zunächst einmal ist die physikalische Geometrie eines SCSI-Laufwerks vollkommen irrelevant, da &os; mit Blöcken arbeitet. Tatsächlich gibt es die physikalische Geometrie nicht, da die Sektordichte auf einer Festplatte variiert. Was die Hersteller als die wahre physikalische Geometrie bezeichnen, ist im allgemeinen die Geometrie, die aufgrund ihrer Ergebnisse im geringsten ungenutzten Speicher resultiert. Bei IDE-Platten arbeitet &os; mit C/H/S-Angaben, aber alle modernen Laufwerke wandeln diese intern ebenfalls in Blocknummern um. Wichtig ist nur die logische Geometrie. Das BIOS kann die logische Geometrie der Festplatte abfragen; die erhaltenen Daten werden dann vom BIOS bei Zugriffen auf die Festplatte genutzt. Da FreeBSD das BIOS benutzt, während es bootet, ist es sehr wichtig, dass diese Angaben richtig sind. Insbesondere müssen alle Betriebssysteme mit derselben Geometrie arbeiten, falls Sie mehr als ein Betriebssystem auf einer Festplatte haben. Andernfalls werden Sie ernsthafte Bootprobleme bekommen! Bei SCSI-Festplatten hängt die zu verwendende Geometrie davon ab, ob der Extended Translation Support auf Ihrem Controller eingeschaltet ist (oft auch als Unterstützung für DOS-Platten >1GB oder ähnlich bezeichnet). Falls sie ausgeschaltet ist, benutzen Sie N Zylinder, 64 Köpfe und 32 Sektoren/Spur, wobei N die Kapazität der Festplatte in MB ist. Zum Beispiel sollten für eine 2GB Festplatte 2048 Zylinder, 64 Köpfe und 32 Sektoren/Spur angegeben werden. Falls sie eingeschaltet ist (was oft der Fall ist, um bestimmte Einschränkungen von &ms-dos; zu umgehen) und die Plattenkapazität mehr als 1 GB beträgt, benutzen Sie M Zylinder, 63 Sektoren/Spur (nicht 64) und 255 Köpfe, wobei M der Plattenkapazität in MB, dividiert durch 7,844238 entspricht (!). Also würde unsere 2 GB Beispielplatte 261 Zylinder, 63 Sektoren/Spur und 255 Köpfe haben. Falls Sie sich hier nicht sicher sind oder FreeBSD während der Installation die Geometrie nicht richtig erkennt, hilft es normalerweise, eine kleine DOS-Partition auf der Festplatte anzulegen. Das BIOS sollte dann in der Lage sein, die richtige Geometrie zu erkennen. Sie können die Partition jederzeit im Partitioneditor entfernen, falls Sie sie nicht behalten möchten. Allerdings kann Sie ganz nützlich sein, um Netzwerkkarten zu programmieren und ähnliches. Alternativ können Sie das frei verfügbare Programm pfdisk.exe verwenden. Sie finden es im Unterverzeichnis - tools auf der &os; CD-ROM + tools auf der &os; CD-ROM und allen &os; FTP-Servern). Mit diesem Programm können Sie herausfinden, welche Geometrie die anderen Betriebssysteme auf der Festplatte verwenden. Diese Geometrie können Sie im Partitioneditor eingeben. Gibt es irgendwelche Einschränkungen, wie ich die Festplatte aufteilen darf? Ja. Sie müssen sicherstellen, dass Ihre Rootpartition innerhalb der ersten 1024 Zylinder liegt, damit das BIOS den Kernel von Ihr booten kann. (Beachten Sie, dass es sich um eine Einschränkung durch das - BIOS des PCs handelt und nicht durch FreeBSD). + BIOS des PCs handelt und nicht durch &os;). Für ein SCSI-Laufwerk bedeutet dies normalerweise, dass sich die Rootpartition in den - ersten 1024 MB befindet (oder in den ersten 4096 MB, falls - die Extended Translation eingeschaltet ist - siehe die + ersten 1024 MB befindet (oder in den ersten 4096 MB, + falls die Extended Translation eingeschaltet ist - siehe die vorherige Frage). Der entsprechende Wert für IDE ist 504 MB. Verträgt sich &os; mit Plattenmanagern? &os; erkennt den Ontrack Disk Manager und berücksichtigt ihn. Andere Plattenmanager werden nicht unterstützt. Falls Sie die Festplatte nur mit &os; benutzen wollen, brauchen Sie keinen Plattenmanager. Wenn Sie Sie die Platte einfach in der vom BIOS maximal unterstützten Größe (normalerweise 504 Megabyte) konfigurieren, sollte &os; erkennen, wie viel Platz Sie tatsächlich haben. Falls Sie eine alte Festplatte mit einem MFM-Controller verwenden, könnte es sein, dass Sie &os; explizit angeben müssen, wie viele Zylinder es benutzen soll. Falls Sie die Festplatte mit &os; und einem anderen Betriebssystem benutzen wollen, sollten Sie auch in der Lage sein, ohne einen Plattenmanager auszukommen: stellen sie einfach sicher, dass sich die Bootpartition von &os; und der Bereich für das andere Betriebssystem in den ersten 1024 Zylindern befinden. Eine 20 Megabyte Bootpartition sollte völlig genügen, wenn Sie einigermaßen sorgfältig arbeiten. Beim ersten Booten von &os; erscheint Missing Operating System. Was ist passiert? Dies ist ein klassischer Fall von Konflikten bei den verwendeten Plattengeometrien von &os; und DOS oder anderen Betriebssystemen. Sie werden &os; neu installieren müssen. Bei Beachtung obiger Instruktionen wird in den meisten Fällen alles funktionieren. Wieso komme ich nicht weiter als bis zum F?-Prompt des Bootmanagers? Dies ist ein weiteres Symptom für das bereits in der vorherigen Frage beschriebene Problem. Ihre Einstellungen zur Geometrie im BIOS und in &os; stimmen nicht überein! Falls Ihr Controller oder BIOS Zylinderumsetzung (oft als >1GB drive support bezeichnet), probieren Sie eine Umsetzung dieser Einstellung und Neuinstallation von &os;. Muss ich den vollständigen Quellcode installieren? Im allgemeinen nicht. Wir empfehlen jedoch dringend die Installation des base Source-Kit, das viele der hier erwähnten Dateien enthält und des sys (Kernel) Source-Kit, das den Quellcode für den Kernel enthält. Außer dem Programm zur Konfiguration des Kernels (&man.config.8;) gibt es im System nichts, zu dessen Funktion der Quellcode erforderlich ist. Mit Ausnahme der Kernelquellen ist unsere Build-Struktur so aufgebaut, dass Sie den Quellcode von überall her per NFS read-only mounten und dennoch neue Binaries erstellen können. (Wegen der Einschränkung bezüglich der Kernelquellen empfehlen wir, diese nicht direkt nach - /usr/src zu mounten, sondern + /usr/src zu mounten, sondern irgendwo anders hin mit passenden symbolischen Links, um - die Toplevel-Struktur des Quellbaumes zu - duplizieren.) + die Toplevel-Struktur des Quellbaumes zu duplizieren.) Die Quellen verfügbar zu haben und zu wissen, wie man ein System mit ihnen erstellt, wird es Ihnen wesentlich einfacher machen, zu zukünftigen Ausgaben von &os; zu wechseln. Um einen Teil der Quellen auszuwählen, verwenden Sie den Menüpunkt Custom, wenn Sie sich im Menü Distributions des Systeminstallationstools befinden. Muss ich einen Kernel erstellen? Ursprünglich war die Erstellung eines neuen Kernels bei fast jeder Installation von &os; erforderlich, aber neuere Ausgaben haben von der Einführung weitaus benutzerfreundlicherer Kernelkonfigurationswerkzeuge profitiert. Die Kernelkonfiguration erfolgt in der Regel durch die die deutlich flexibleren hints, die am Loader-Prompt eingegeben werden können. Es kann dennoch sinnvoll sein, einen neuen Kernel zu erstellen, der nur die benötigten Treiber enthält, um ein wenig Hauptspeicher zu sparen, für die meisten Systeme ist dies aber nicht mehr länger erforderlich. Soll ich DES, Blowfish oder MD5 zur Verschlüsselung der Passwörter benutzen? &os; benutzt standardmäßig MD5 zur Verschlüsselung der Passwörter. Es wird angenommen, dass diese Methode sicherer ist als das traditionell benutzte Verfahren, das auf dem DES Algorithmus basierte. Es ist immer noch möglich, DES-Passwörter zu benutzen, wenn Sie die Datei mit den Passwörtern mit älteren System austauschen müssen. &os; erlaubt es Ihnen, auch das sichere Blowfish-Verfahren für die Verschlüsselung der Passwörter einzusetzen. Das für neue Passwörter benutzte Verschlüsselungsverfahren wird über die Einstellung passwd_format in /etc/login festgelegt. Die möglichen Werte sind entweder des, blf (falls sie zur Verfügung stehen) oder md5. Weitere Informationen über die Einstellungen für den Login erhalten Sie in &man.login.conf.5;. Woran kann es liegen, dass ich zwar von der Diskette booten kann, aber nicht weiter als bis zur Meldung Probing Devices... komme? Falls Sie ein IDE &iomegazip;- oder &jaz;-Laufwerk eingebaut haben, entfernen Sie es und versuchen Sie es erneut. Solche Laufwerke könnten dem Bootvorgang stören. Nach der Installation des Systems können Sie das Laufwerk wieder einbauen. Dieser Fehler wird hoffentlich in einer späteren Version behoben werden. Wieso wird mit der Fehler panic: cant mount root gemeldet, wenn ich das System nach der Installation reboote? Dieser Fehler beruht auf Unstimmigkeiten zwischen den Festplatteninformationen im Bootblock und denen im Kernel. Der Fehler tritt normalerweise auf IDE-Systemen mit zwei Festplatten auf, bei denen die Festplatten als Master- oder Single-Device auf separaten IDE-Controllern angeschlossen sind und &os; auf der Platte am zweiten Controller installiert wurde. Der Bootblock vermutet, dass das System auf ad0 (der zweiten BIOS-Platte) installiert ist, während der Kernel der ersten Platte auf dem zweiten Controller die Gerätekennung ad2 zuteilt. Der Kernel versucht nach der Geräteüberprüfung die vom Bootblock angenommene Bootdisk ad0 zu mounten, obwohl sie in Wirklichkeit ad2 heißt - und scheitert. Tun Sie folgendes, um dieses Problem zu beheben: Rebooten Sie das System und drücken Sie Enter, wenn die Meldung Booting kernel in 10 seconds; hit [Enter] to interrupt erscheint. Dadurch gelangen Sie in den Boot Loader. Geben Sie nun set root_disk_unit="disk_number" ein. disk_number hat den Wert 0, wenn &os; auf dem Master des ersten IDE-Controllers installiert wurde; 1, wenn &os; auf dem Slave des ersten IDE-Controllers installiert wurde; 2, wenn &os; auf dem Master des zweiten IDE-Controllers installiert wurde; und 3, wenn &os; auf dem Slave des zweiten IDE-Controllers installiert wurde. Nach der Eingabe von boot sollte Ihr System jetzt korrekt starten. Damit Sie dieses Ritual nicht bei jedem Start des Systems durchführen müssen, sollten Sie die Zeile root_disk_unit="disk_number" in die Datei /boot/loader.conf.local eintragen. Stellen Sie eine ununterbrochene Folge der Festplatten her, indem Sie die &os;-Platte am ersten IDE-Controller anschließen. Gibt es eine Hauptspeicherbegrenzung? Hauptspeicherbegrenzung sind von der verwendeten Plattform abhängig. Bei einer &i386;-Standardinstallation werden maximal 4 GB Hauptspeicher unterstützt, mehr Speicher ist mittels &man.pae.4; verfügbar. Lesen Sie dazu die Anleitung, um 4 GB oder mehr Speicher auf &i386; zu verwenden. &os;/pc98 unterstützt maximal 4 GB Hauptspeicher, daher kann PAE auf diesen Systemen nicht verwendet werden. Sonstige von &os; unterstützte Architekturen haben ein sehr viel höheres theoretisches Speicherlimit (viele Terabytes). Wo liegen die Grenzen für FFS-Dateisysteme? Theoretisch liegt das Limit für FFS-Dateisysteme bei 8 Terabyte (2 G-Blöcke) oder 16 TB für die Standard-Blockgröße von 8 KB. In der Praxis setzt die Software das Limit auf 1 TB herab, aber durch Modifikationen sind auch Dateisysteme mit 4 TB möglich (und existieren auch). Die maximale Größe einer einzelnen FFS-Datei liegt bei ungefähr 1 G Blöcken (4 TB, falls die Blockgröße 4 KB beträgt). Maximale Dateigröße Blockgröße Geht Sollte Gehen 4 KB > 4 GB 4 TB - 1 8 KB > 32 GB 32 TB - 1 16 KB > 128 GB 32 TB - 1 32 KB > 512 GB 64 TB - 1 64 KB > 2048 GB 128 TB - 1
Wenn die im Dateisystem verwendete Blockgröße 4 KB beträgt, wird mit dreifacher Indirektion gearbeitet und die Limitierung sollte durch die höchste Blocknummer erfolgen, die mit dreifacher Indirektion dargestellt werden kann (ungefähr 10243 + 10242 + 1024). In Wirklichkeit liegt das Limit aber bei der (falschen) Anzahl von 1 G - 1 Blocknummern im Dateisystem. Die maximale Anzahl der Blocknummern müsste 2 G - 1 sein. Es gibt einige Fehler für Blocknummern nahe 2 G - 1, aber solche Blocknummern sind bei einer Blockgröße von 4 KB unerreichbar. Bei Blocknummern von 8 KB und größer sollte das Limit bei 2 G - 1 Blocknummern liegen, tatsächlich liegt es aber bei 1 G - 1 Blocknummern. Die Verwendung der korrekten Grenze von 2 G - 1 verursacht Probleme.
Wieso erhalte ich die Fehlermeldung archsw.readin.failed beim Start des Systems, nachdem ich einen neuen Kernel erstellt habe? Ihr System und Ihr Kernel sind nicht synchron - dies ist nicht erlaubt. Sie müssen Ihren Kernel mit make buildworld und make buildkernel aktualisieren. Sie können den zu bootenden Kernel direkt im zweiten Schritt angeben, indem Sie eine beliebige Taste drücken, wenn das | erscheint und bevor der Loader startet. Mein System stürzt beim Booten ab! Was kann ich tun? Deaktivieren Sie die ACPI-Unterstützung. Dazu drücken Sie beim Start des Bootloaders die Leertaste. Das System zeigt folgendes an: OK Geben Sie nun unset acpi_load und danach boot ein.
Hardware-Kompatibilität Allgemeines Ich will mir neue Hardware für mein &os;-System zulegen, was soll ich kaufen? Diese Frage wird ständig auf den &os;-Mailinglisten diskutiert. Da sich die Hardware ständig ändert, ist das allerdings keine Überraschung. Trotzdem sollten Sie unbedingt die Hardware-Informationen von &os; - (&rel.current; - oder - &rel2.current;) - und die &rel.current; oder + &rel2.current;) und die + Archive der Mailinglisten durchsehen, bevor Sie nach der neuesten/besten Hardware fragen. Normalerweise gab es kurz zuvor eine Diskussion über genau die Hardware, die Sie sich zulegen wollen. Wenn Sie sich einen Laptop zulegen wollen, sollten Sie einen Blick in das Archiv der Mailingliste &a.mobile; werfen. Ansonsten empfiehlt sich ein Blick in das Archiv von &a.questions; oder auch einer spezialisierte Mailingliste für diese Art von Hardware. Hauptspeicher Unterstützt &os; mehr als 4 GB Speicher (RAM)? Mehr als 16 GB? Mehr als 48 GB? Ja. Generell unterstützt &os; als Betriebssystem so viel physischen Speicher (RAM), wie die Plattform auf der es läuft. Achten Sie darauf, dass verschiedene Plattformen unterschiedliche Speichergrenzen besitzen. So wird z.B. &i386; ohne PAE höchstens 4 GB Speicher (normalerweise weniger als das wegen des PCI-Addressraums), dagegen wird &i386; mit PAE höchstens 64 GB Speicher bereitstellen. Momentan erhältliche AMD64 Plattformen können bis zu 1 TB physischen Speicher ansprechen. Warum zeigt &os; weniger als 4 GB Speicher an, wenn es auf einer &i386; Maschine installiert wird? Der Gesamtadressraum beträgt auf &i386; Maschinen 32-Bit, was bedeutet, dass maximal 4 GB Speicher addressiert (verwaltet) werden kann. Weiterhin sind viele Adressen in diesem Bereich von der Hardware für bestimmte Aufgaben reserviert, um z.B. PCI-Geräte zu benutzen und zu steuern, auf Videospeicher zuzugreifen und so weiter. Aus diesem Grund ist die Gesamtmenge an Speicher, die vom Betriebssystem für den Kernel und Anwendungen verwendet werden kann, auf wesentlich weniger als 4 GB begrenzt. Normalerweise sind 3.2 GB bis 3.7 GB das Maximum an verfügbarem Speicher in dieser Konfiguration. Um auf mehr als 3.2 GB bis 3.7 GB des installierten Speichers (was bis zu 4 GB, aber aber auch mehr als 4 GB bedeuten kann) zuzugreifen, muss eine spezielle Manipulation, genannt PAE, benutzt werden. PAE steht für Physical Address Extension und ist eine Möglichkeit für 32-Bit x86-CPUs mehr als 4 GB Speicher zu addressieren. Es organisiert den Speicher, der andererseits wegen Addressreservierungen für Hardwaregeräte oberhalb der 4 GB Grenze liegt, um und benutzt diesen als zusätzlichen physischen Speicher (lesen Sie dazu &man.pae.4;). Der Einsatz von PAE ist mit ein paar Nachteilen verbunden: diese Speicherzugriffsmethode ist ein bisschen langsamer als die normale Methode (ohne PAE) und ladbare Module (beschrieben in &man.kld.4;) werden nicht unterstützt. Das bedeutet, dass alle Treiber in den Kernel eingebaut sein müssen. Die am häufigsten verwendete Vorgehensweise, PAE zu aktivieren ist die, einen neuen Kernel mit der speziell dafür vorgesehenen Kernelkonfigurationsdatei, PAE genannt, zu bauen, die bereits so eingestellt ist, dass ein funktionierender Kernel erstellt wird. Beachten Sie, dass manche Einträge in dieser Kernelkonfigurationsdatei zu konservativ eingestellt sind und dass manche Treiber, die nicht für den Einsatz mit PAE vorgesehen sind, trotzdem funktionieren. Als Faustregel kann man sagen, dass wenn der Treiber auf 64-Bit Architekturen (like AMD64) läuft, er auch mit PAE lauffähig ist. Wenn Sie ihre eigene Kernelkonfigurationsdatei erstellen möchten, können Sie PAE aktivieren, indem Sie die folgende Zeile zu ihrer Konfiguration hinzufügen: options PAE PAE wird heutzutage nicht sehr häufig angewendet, da die Mehrzahl an neuer x86-Hardware auch den Betrieb im 64-Bit Modus erlaubt, auch als AMD64 oder &intel; 64 bekannt. Es hat viel mehr Adressraum und benötigt solche Manipulationen nicht. &os; unterstützt AMD64 und es wird empfohlen, diese &os; Version anstatt der &i386; Version einzusetzen, wenn 4 GB oder mehr Speicher gebraucht werden. Architekturen und Prozessoren Unterstützt &os; neben x86 auch andere Architekturen? Ja. &os; ist zurzeit für die Intel x86 und AMD64 Architekturen verfügbar. Intel EM64T, IA-64, &arm;, &powerpc;, sun4v und &sparc64; werden ebenfalls unterstützt. Die Neuzugänge auf der Liste der in Zukunft unterstützten Plattformen sind &mips; und &s390;. Abonnieren Sie die Mailingliste &a.mips;, wenn Sie mehr über den Stand der Entwicklung erfahren wollen. Schließen Sie sich der Mailingliste &a.platforms; an, wenn Sie an grundsätzlichen Diskussionen über neue Architekturen interessiert sind. Falls Ihre Maschine eine andere Architektur aufweist und Sie unbedingt sofort etwas benötigen, schlagen wir vor, dass Sie sich einmal NetBSD oder OpenBSD ansehen. Unterstützt &os; Symmetric-Multiproccessing (SMP)? Symmetric-Multiproccessing (SMP) Systeme werden generell von &os; unterstützt, obwohl in manchen Fällen durch Fehler im BIOS oder Mainboard Probleme auftreten. Lesen Sie die Mailingliste &a.smp;, wenn Sie weitere Hinweise benötigen. &os; nutzt die Vorteile von HyperThreading (HTT) Unterstützung von Intel-Prozessoren, die diese Eigenschaft besitzen. Ein Kernel mit der options SMP Zeile wird automatisch die zusätzlichen logischen Prozessoren erkennen. Der Standard &os;-Scheduler behandelt die logischen Prozessoren auf die gleiche Weise wie zusätzliche physische Prozessoren. Mit anderen Worten, es wird nicht der Versuch unternommen, die Entscheidungen des Schedulers zu optimieren, da sich die logischen Prozessoren innerhalb der gleichen CPU die Ressourcen teilen. Weil diese naive Planung in schlechterer Leistung resultieren kann, ist es unter Umständen hilfreich, die logischen Prozessoren über die sysctl Variable machdep.hlt_logical_cpus zu deaktivieren. Es ist auch möglich, jede CPU in der Warteschleife mit der sysctl Variable machdep.hlt_cpus anzuhalten. Weitere Informationen finden Sie in der Manualpage &man.smp.4;. Festplatten, Bandlaufwerke, sowie CD- und DVD-Laufwerke Welche Arten von Festplatten werden von &os; unterstützt? &os; unterstützt EIDE-, SATA-, SCSI- und SAS-Laufwerke (mit kompatiblen Controllern - siehe folgenden Abschnitt), sowie alle Laufwerke, die die original Western Digital-Schnittstelle (MFM, RLL, ESDI und natürlich IDE) benutzen. Ein paar Controller mit proprietären Schnittstellen könnten nicht laufen: halten Sie sich an WD1002/3/6/7-Schnittstellen und Clones. Welche SCSI- oder SAS-Controller werden unterstützt? Sie finden eine vollständige und aktuelle Liste in den Hardware-Informationen zu &os; - (&rel.current; oder - &rel2.current;). + (&rel.current; oder &rel2.current;). Welche Arten von Bandlaufwerken werden unterstützt? &os; unterstützt SCSI-, QIC-36- (mit QIC-02-Schnittstelle) und QIC-40/80-Bandlaufwerke (diskettenbasiert). Hierzu gehören auch 8-mm (aka Exabyte) und DAT-Laufwerke. Die QIC-40/80-Laufwerke sind bekanntlich sehr langsam. Einige der frühen 8-mm-Laufwerke sind nicht besonders kompatibel zu SCSI-2 und könnten unter &os; nicht einwandfrei funktionieren. Unterstützt &os; Bandwechsler? Das Gerät &man.ch.4; und das Kommando chio unterstützen Bandwechsler. Details zum Betrieb des Wechslers finden Sie in der Hilfeseite &man.chio.1;. Falls Sie nicht AMANDA oder ein anderes Produkt benutzen, das den Wechsler bereits kennt, bedenken Sie, dass die Programme nur wissen, wie sie ein Band von einem Punkt zu einem anderen bewegen müssen. Sie selbst müssen sich also merken, in welchem Einschub sich ein Band befindet und zu welchem Einschub das Band, das sich gerade im Laufwerk befindet, zurück muss. Welche CD-ROM-Laufwerke werden von &os; unterstützt? Jedes an einem unterstützten Controller angeschlossene SCSI-Laufwerk wird unterstützt. Die folgenden proprietären CD-ROM-Schnittstellen werden ebenfalls unterstützt: Mitsumi LU002 (8bit), LU005 (16bit) und FX001D (16bit 2x Speed). Sony CDU 31/33A Sound Blaster Non-SCSI CD-ROM Matsushita/Panasonic CD-ROM ATAPI compatible IDE CD-ROMs Von allen Nicht-SCSI-Laufwerken ist bekannt, dass sie im Vergleich zu SCSI-Laufwerken extrem langsam sind. Einige ATAPI-CD-ROMs könnten nicht funktionieren. &os; kann direkt von der offiziellen &os; CD-ROM, sowie den CD-ROMs von Daemon News und &os; Mall, gebootet werden. - Welche CD-Brenner werden von &os; - unterstützt? + Welche CD-Brenner werden von &os; unterstützt? &os; unterstützt alle ATAPI-kompatiblen IDE CD-R und CD-RW Brenner. Lesen Sie dazu auch &man.burncd.8;. &os; unterstützt ebenfalls SCSI CD-R und CD-RW Brenner. Installieren und benutzen Sie das Paket cdrecord aus der Ports-Sammlung. Dazu müssen Sie allerdings das Gerät pass mit in Ihren Kernel aufnehmen. Unterstützt &os; &iomegazip;-Laufwerke? &os; unterstützt alle gängigen SCSI- und ATAPI-&iomegazip;-Laufwerke. Ihr SCSI-ZIP-Laufwerk darf nur mit den SCSI-Ziel-IDs 5 oder 6 laufen, aber Sie können sogar davon booten, falls das BIOS Ihres Hostadapters dies unterstützt. Es ist nicht bekannt, welche Hostadapter das Booten von anderen Zielen als 0 oder 1 erlauben; daher werden Sie in ihren Handbüchern nachsehen müssen, wenn Sie dieses Merkmal benutzen möchten. &os; unterstützt ZIP-Laufwerke, die an der parallelen Schnittstelle angeschlossen sind. Der Kernel sollte die folgenden Treiber enthalten: scbus0, da0, ppbus0 und vp0 (der GENERIC-Kernel enthält alle, außer vp0). Wenn diese Treiber vorhanden sind, sollte das Laufwerk an der parallelen Schnittstelle als /dev/da0s4 verfügbar sein. Zip-Datenträger können mit mount /dev/da0s4 /mnt ODER (DOS-formatierte) mount_msdos /dev/da0s4 /mnt gemountet werden. Lesen Sie auch den FAQ-Eintrag zu Wechseldatenträgern und die Anmerkungen zum Thema Formatierung im Kapitel Administration. Unterstützt &os; &jaz;, EZ und andere Wechsellaufwerke? Ja. Bei den meisten dieser Geräte handelt es sich um SCSI-Geräte, die von &os; auch als solche angesprochen werden. Lediglich das IDE-EZ-Laufwerk wird als IDE-Laufwerk angesprochen. Schalten Sie die Laufwerke ein, bevor Sie Ihr System booten. Müssen Sie Medien im laufenden Betrieb wechseln, sollten Sie zuvor &man.mount.8;, &man.umount.8;, sowie &man.camcontrol.8; (für SCSI-Laufwerke) oder &man.atacontrol.8; (für IDE-Laufwerke), sowie den Abschnitt zur Nutzung von Wechsellaufwerken dieser FAQ lesen. Tastaturen und Mäuse Unterstützt &os; meine Tastatur mit USB-Anschluss? Ja. &os; unterstützt USB-Tastaturen. Wenn Sie die Unterstützung für USB-Tastaturen konfiguriert haben, ist die AT-Tastatur als /dev/kbd0 und die USB-Tastatur als /dev/kbd1 verfügbar. Dies gilt natürlich nur, wenn beide Tastaturen angeschlossen sind; falls nur die USB-Tastatur angeschlossen ist, ist diese als /dev/ukbd0 verfügbar. Wenn Sie die USB-Tastatur an der Systemkonsole benutzen wollen, müssen Sie dies dem System explizit mitteilen. Dazu muss das folgende Kommando während des Systemstarts ausgeführt werden: &prompt.root; kbdcontrol -k /dev/kbd1 < /dev/console > /dev/null Wenn Sie nur die USB-Tastatur angeschlossen haben, ist diese als /dev/ukbd0 verfügbar; daher muss in diesem Fall das folgende Kommando benutzt werden: &prompt.root; kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/null Um diese Änderung auch noch nach dem Neustarten verfügbar zu haben, tragen Sie dieses Kommando in die Datei /etc/rc.conf ein. Sobald Sie diese Schritte durchgeführt haben, sollte die USB-Tastatur ohne weitere Änderungen auch unter X benutzbar sei. Benutzen Sie dieses Kommando, wenn Sie wieder zur Standardtastatur wechseln wollen: &prompt.root; kbdcontrol -k /dev/kbd0 > /dev/null Um die gleichzeitige Verwendung der zweiten USB-Tastatur und der AT-Tastatur auf der selben Konsole mittels des &man.kbdmux.4; Treibers zu ermöglichen, geben Sie folgendes ein: &prompt.root; kbdcontrol -K < /dev/console > /dev/null kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/null Lesen Sie die &man.ukbd.4;, &man.kbdcontrol.1; und &man.kbdmux.4; Manualpages, um weitere Informationen zu erhalten. Zurzeit kann es noch Probleme geben, wenn Sie eine USB-Tastatur im laufenden Betrieb einstecken oder abziehen. Um Probleme zu vermeiden, sollten Sie die Tastatur anschließen, bevor Sie das System anschalten und die Tastatur nicht abziehen, solange das System noch läuft. Ich habe eine unübliche Busmaus. Wie muss ich sie konfigurieren? &os; unterstützt die Busmaus und InPort-Busmaus von Herstellern wie Microsoft, Logitech und ATI. Der Gerätetreiber ist im GENERIC-Kernel allerdings nicht eingebunden. Wenn Sie den Bus-Gerätetreiber benötigen, müssen Sie daher einen angepassten Kernel erstellen. Dazu fügen Sie die folgende Zeile in Ihre Kernelkonfigurationsdatei ein: device mse0 at isa? port 0x23c irq5 Die Busmaus wird üblicherweise zusammen mit einer speziellen Karte ausgeliefert. Sie könnte es Ihnen ermöglichen, andere Werte für die Port-Adresse und den Interrupt zu setzen. Weitere Informationen finden Sie in Handbuch zu Ihrer Maus und in der &man.mse.4; Manualpage. Wie benutze ich meine PS/2 (Mouse-Port oder Tastatur)-Maus? PS/2 Mäuse werden von &os; unterstützt. Der notwendige Gerätetreiber, psm, ist bereits im GENERIC-Kernel enthalten. Wenn Sie einen angepassten Kernel ohne diesen Treiber benutzen, müssen Sie folgende Zeile in Ihre Kernelkonfigurationsdatei einfügen und den Kernel neu kompilieren: device psm0 at atkbdc? irq 12 Wenn der Kernel das Gerät psm0 beim Booten korrekt erkennt, stellen Sie sicher, dass sich im Verzeichnis /dev ein Eintrag für psm0 befindet. Kann man die Maus irgendwie außerhalb des X Window Systems benutzen? Falls Sie den normalen Konsolentreiber &man.syscons.4; benutzen, können Sie den Mauszeiger auf Textkonsolen zum Kopieren und Einfügen von Text verwenden. Starten Sie den Mausdämon &man.moused.8; und schalten Sie den Mauszeiger auf der virtuellen Konsole ein: &prompt.root; moused -p /dev/xxxx -t yyyy &prompt.root; vidcontrol -m on xxxx ist der Gerätename der Maus und yyyy ist das Protokoll. Der Mausdämon erkennt die Protokolle der meisten Mäuse (mit Ausnahme alter serieller Mäuse) automatisch, wenn Sie auto für das Protokoll angeben. Falls das Protokoll nicht automatisch erkannt wird, finden Sie die unterstützten Protokolle in der &man.moused.8; Manualpage. Wenn Sie eine PS/2-Maus besitzen und diese beim Systemstart aktivieren wollen, tragen Sie die Zeile moused_enable="YES" in die Datei /etc/rc.conf ein. Falls Sie den Mausdämon auf allen virtuellen Bildschirmen anstatt nur auf der Konsole benutzen wollen, tragen Sie außerdem allscreens_flags="-m on" in /etc/rc.conf ein. Während der Mausdämon läuft, muss der Zugriff auf die Maus zwischen dem Mausdämon und anderen Programmen, wie X Windows, koordiniert werden. - Die FAQ Warum funktioniert meine - meine Maus unter X nicht? enthält weitere - Details. + Die FAQ Warum funktioniert meine meine Maus unter X + nicht? enthält weitere Details. Wie funktioniert das Kopieren und Einfügen von Text mit der Maus auf einer Textkonsole? Wenn Sie es geschafft haben, den Mausdämon zu - starten (wie im vorherigen - Abschnitt gezeigt), halten Sie die linke Maustaste - gedrückt und bewegen Sie die Maus, um einen + starten (wie im vorherigen Abschnitt gezeigt), halten Sie + die linke Maustaste gedrückt und bewegen Sie die Maus, um einen Textabschnitt zu markieren. Dann drücken Sie die mittlere Maustaste, um den Text an der Cursorposition einzufügen. Wenn Sie keine 3-Tasten-Maus besitzen, können Sie die mittlere Maustaste mit einer Tastenkombination emulieren oder die Funktion der mittleren Taste auf eine andere Taste legen. Einzelheiten dazu enthält die Hilfeseite &man.moused.8;. Meine Maus hat ein neumodisches Rad und mehr Knöpfe. Kann ich sie in &os; benutzen? Unglücklicherweise lautet die Antwort: Vielleicht. Solche Mäuse mit zusätzlichen Extras erfordern in den meisten Fällen spezielle Treiber. Wenn der Gerätetreiber für die Maus oder das Anwendungsprogramm keine spezielle Unterstützung für die Maus bietet, wird sie sich wie eine gewöhnliche Maus mit zwei oder drei Knöpfen verhalten. Ob und wie Sie das Rad unter X benutzen können, - können Sie im passenden - Abschnitt der FAQ erfahren. + können Sie im passenden Abschnitt der FAQ + erfahren. Wie benutze ich Maus/Trackball/Touchpad auf meinem Laptop? - Bitte lesen Sie die Antwort - zur vorherigen Frage. + Bitte lesen Sie die Antwort zur vorherigen Frage. Wie kann ich die Delete-Taste in der sh und csh einsetzen? Für die Bourne Shell fügen Sie die folgende Zeile in die Datei .shrc ein (lesen Sie dazu auch die Manualpages &man.sh.1; sowie &man.editrc.5;). bind ^? ed-delete-next-char # for console bind ^[[3~ ed-delete-next-char # for xterm Für die C Shell nehmen Sie hingegen die folgende Zeile in die Datei .cshrc auf (lesen Sie dazu auch die Manualpage &man.csh.1;). bindkey ^? delete-char # for console bindkey ^[[3~ delete-char # for xterm Weitere Informationen zu diesem Thema finden sich auch hier. Netzkarten und serielle Geräte Welche Netzwerkkarten unterstützt &os;? In den Hardware Informationen zu jedem &os; Release werden die unterstützten Karten aufgezählt. Unterstützt &os; Software Modems, wie die Winmodems? &os; unterstützt viele Software-Modems, wenn Sie zusätzliche Software installieren. Der Port comms/ltmdm bietet zum Beispiel Unterstützung für Modems, die auf dem oft verwendeten Lucent LT Chipsatz basieren. Sie können &os; nicht über ein Software-Modem installieren, diese Software kann nur installiert werden, nachdem das Betriebssystem installiert wurde. Gibt es einen &os;-Treiber für die Karten der Serie 43xx von Broadcom? Nein, und es wird wohl auch nie einen geben. Broadcom weigert sich, Informationen zu ihren drahtlosen Chipsätzen zu veröffentlichen. Wahrscheinlich liegt dies daran, dass Broadcom auch softwaregesteuerte Radios herstellt. Damit ihre Produkte von der FCC zugelassen werden, muss sichergestellt sein, dass Benutzer nicht in der Lage sind, Betriebsfrequenzen, Modulationsparameter, Ausgangsleistung und andere Werte nach Belieben einzustellen. Ohne solche Informationen ist es aber nahezu unmöglich, einen Treiber zu programmieren. Welche seriellen Multi-Port-Karten werden von &os; unterstützt? Es existiert eine Liste der unterstützten Karten im Abschnitt Serielle Datenübertragung des Handbuchs. Von einigen NoName-Nachbauten ist ebenfalls bekannt, dass sie funktionieren, speziell von den AST-kompatiblen. In &man.sio.4; finden Sie weitere Informationen zur Konfiguration solcher Karten. Wie kann ich den boot:-Prompt auf einer seriellen Konsole erscheinen lassen? Lesen Sie diesen Abschnitt des Handbuchs. Soundkarten Welche Soundkarten werden von &os; unterstützt? &os; unterstützt verschiedene Soundkarten. Lesen Sie die &os; Release Informationen sowie &man.snd.4;, wenn Sie genauere Informationen benötigen. MPU-401 und kompatible MIDI-Karten werden begrenzt unterstützt. Ebenso unterstützt werden Karten, die der µsoft; Sound System-Spezifikation entsprechen. Das gilt nur für Sound! Dieser Treiber unterstützt keine CD-ROMs, SCSI oder Joysticks auf diesen Karten, außer der &soundblaster;. Die &soundblaster;-SCSI-Schnittstelle und einige Nicht-SCSI-CD-ROMs werden unterstützt, Sie können von diesen Geräten aber nicht booten. Abhilfen für fehlenden Sound bei Verwendung des &man.pcm.4;-Treibers? Einige Soundkarten setzen die Lautstärke bei jedem Systemstart auf 0. In diesem Fall müssen Sie nach jedem Bootvorgang den folgenden Befehl ausführen: &prompt.root; mixer pcm 100 vol 100 cd 100 Sonstige Hardware Unterstützt &os; Power-Management auf meinem Laptop? &os; unterstützt APM auf einigen Systemen. Lesen Sie dazu auch &man.apm.4;. &os; unterstützt einen Großteil der ACPI-Funktionen moderner Hardware. Lesen Sie dazu auch &man.acpi.4;. Unterstützt Ihr System sowohl APM als auch ACPI, können Sie beide Systeme testen und sich für das System entscheiden, das Ihren Anforderungen am besten entspricht. Wie kann ich ACPI deaktivieren? Fügen Sie die Zeile hint.acpi.0.disabled="1" in die Datei /boot/device.hints ein. Wieso hängt sich mein Micron-System beim Booten auf? - Lesen Sie die vorherige Antwort. + Lesen Sie die vorherige Antwort. Wenn ich ein System mit einem ASUS K7V Mainboard von der Bootdiskette starte, hängt sich das System auf. Wie kann ich dieses Problem lösen? Schalten Sie im BIOS die Option boot virus protection aus. Warum arbeitet meine &tm.3com; PCI-Netzwerkkarte in meinem Micron-Computer nicht? Einige Micron Motherboards besitzen eine nicht-konforme PCI-BIOS-Implementierung, die die PCI-Geräte nicht an den angegebenen Adressen konfiguriert. Hierdurch entstehen Probleme, wenn &os; bootet. Deaktivieren Sie die Option Plug and Play Operating System im BIOS, um das Problem zu umgehen. Fehlerbehebung Warum zeigt &os; eine falsche Speichergröße auf &i386; Hardware an? Das liegt sehr wahrscheinlich an den Unterschieden zwischen physikalischen und virtuellen Speicheraddressen. Bei moderner PC-Hardware ist es üblich, den Speicherbereich zwischen 3,5 und 4 Gigabyte für spezielle Aufgaben (normalerweise für PCI) zu reservieren. Dieser Adressbereich wird dabei dazu verwendet, um auf PCI-Hardware zuzugreifen. Dadurch kann in diesem Speicherbereich kein physikalischer Speicher verwaltet werden. Was mit dem in diesen Bereich gehörenden physikalischen Speicher passiert, hängt von der von Ihnen eingesetzten Hardware ab. Unglücklicherweise gibt es noch immer Hardware, die hier gar nichts macht. In diesem Fall ist Ihr System nicht in der Lage, auf diese 500 Megabyte des RAMs zuzugreifen. Ein Großteil der heute existierenden Hardware ist aber inzwischen in der Lage, diesen Speicherbereich in einen höheren Speicherbereich umzulenken, damit Sie weiterhin darauf zugreifen können. Allerdings kann es durch dieses Umlenken zu verwirrende Meldungen während des Systemstarts kommen. Unter 32 Bit-Versionen von &os; scheint dieser Speicherbereich nicht verfügbar zu sein, da er in einen Bereich oberhalb von 4 Gigabyte übertragen wurde, auf den ein 32 Bit-Kernel allerdings nicht zugreifen kann. Ist dies bei Ihnen der Fall, müssen Sie die PAE-Unterstützung in Ihren Kernel kompilieren. Lesen Sie dazu auch die entsprechenden Einträge über Speicherbegrenzungen und unterschiedliche Speicherbegrenzungen auf verschiedenen Plattformen. Verwenden Sie hingegen eine 64-Bit-Version von &os; oder einen 32-Bit-Kernel mit aktivierter PAE-Unterstützung, ist &os; in der Lage, diesen Speicherbereich korrekt zu erkennen und umzulenken, damit Sie weiterhin darauf zugreifen können. Allerdings wird, aufgrund der beschriebenen Umbelegung, in diesem Fall beim Systemstart mehr Speicher angezeigt, als tatsächlich auf Ihrem System vorhanden ist. Dies ist aber normal und wird nach dem Ende des Systemstarts automatisch korrigiert. Was sollte ich tun, wenn auf meiner Festplatte fehlerhafte Blöcke sind? SCSI-Laufwerke sollten in der Lage sein, diese automatisch zu verlagern. Bei einigen Laufwerken ist diese Eigenschaft jedoch aus unerfindlichen Gründen bei der Auslieferung ausgeschaltet... Um sie einzuschalten, müssen Sie den Page-Mode des ersten Gerätes editieren. Unter FreeBSD können Sie das (als root) mit folgendem Befehl tun &prompt.root; camcontrol modepage sd0 -m 1 -e -P 3 und die Werte für AWRE und ARRE von 0 auf 1 ändern: AWRE (Auto Write Reallocation Enbld): 1 ARRE (Auto Read Reallocation Enbld): 1 Moderne IDE-Controller sind in der Lage, fehlerhafte Blöcke automatisch zu verlagern. Diese Funktionen sind bereits ab Werk aktiviert. Werden dennoch fehlerhafte Blöcke gemeldet (egal auf welchem Laufwerk), sollten Sie über den Kauf einer neuen Platte nachdenken. Zwar könnte es Ihnen mit Diagnoseprogrammen des Plattenherstellers gelingen, diese fehlerhaften Blöcke zu sperren. Allerdings können Sie damit den endgültigen Ausfall der Platte bestenfalls hinauszögern. Wieso wird der SCSI-Controller meines HP Netserver nicht erkannt? Hierbei handelt es sich um ein bekanntes Problem. Der auf dem Board befindliche EISA-SCSI-Controller auf dem HP Netserver belegt die EISA-Slotnummer 11, wodurch sich alle wirklichen EISA-Slots vor ihm befinden. Leider kollidiert der Adressraum von EISA-Slots >=10 mit dem Adressraum, der PCI zugeordnet ist und die Autokonfiguration von &os; kann mit dieser Situation derzeit nicht besonders gut umgehen. Die einfachste Alternative ist, diese Kollision einfach zu leugnen. Setzen Sie dazu die Kerneloption EISA_SLOTS auf den Wert 12. - Konfigurieren und kompilieren Sie den Kernel, wie im - Handbucheintrag + Konfigurieren und kompilieren Sie den Kernel, wie im Handbucheintrag zur Kernelkonfiguration beschrieben. Dies bringt Ihnen natürlich das klassische Huhn-Ei-Problem, wenn Sie auf einer solchen Maschine installieren wollen. Um dieses Problem zu umgehen, existiert ein spezieller Hack in UserConfig. Benutzen Sie nicht die visuelle Schnittstelle, sondern die rohe Kommandozeilenschnittstelle. Geben Sie einfach den folgenden Befehl am Prompt ein und Sie können Ihr System ganz normal installieren: eisa 12 quit Sie sollten auf jeden Fall einen angepassten Kernel zu kompilieren und installieren. Zukünftige Versionen werden hoffentlich eine passende Lösung für dieses Problem beinhalten. Sie können keine dangerously dedicated Platte auf einem HP Netserver verwenden. Lesen Sie weitere Informationen finden Sie in diesem Hinweis. - Was bedeuten die ständigen Meldungen ed1: - timeout? + Was bedeuten die ständigen Meldungen + ed1: timeout? Dies wird meistens durch einen Interruptkonflikt verursacht (z.B., wenn zwei Karten den selben Interrupt benutzen). Booten Sie mit der Option und ändern Sie die Einträge zu ed0/de0/... (d.h. Ihrem Board entsprechend). Wenn Sie den BNC-Anschluss Ihrer Netzwerkkarte benutzen, könnte es auch sein, dass es sich Geräte-Timeouts aufgrund fehlerhafter Terminierung handelt. Um dies zu überprüfen, verbinden Sie einen Terminator direkt mit der Netzwerkkarte (ohne Kabel) und beobachten Sie, ob die Fehlermeldungen verschwinden. Einige NE2000 kompatible Karten melden diesen Fehler, wenn keine Verbindung am UTP-Eingang existiert oder wenn das Kabel nicht eingesteckt ist. Warum funktioniert meine &tm.3com; 3C509 plötzlich nicht mehr? Diese Karte ist dafür berüchtigt, ihre Konfiguration zu vergessen. Sie müssen die Karte mit dem DOS-Programm 3c5x9.exe neu konfigurieren. Mein an der parallel Schnittstelle angeschlossener Drucker ist unglaublich langsam. Was kann ich tun? Falls das einzige Problem ist, dass er schrecklich langsam ist, dann sollte Sie versuchen, die Kommunikationseinstellungen der parallelen Schnittstellen zu ändern, wie es im Kapitel Drucken des Handbuchs beschrieben ist. Wieso brechen meine Programme gelegentlich mit Signal 11-Fehlern ab? Das Signal 11 wird generiert, wenn ein Prozess versucht, auf Speicher zuzugreifen, obwohl er vom Betriebssystem dazu nicht befugt wurde. Wenn Ihnen das scheinbar zufällig immer wieder passiert, sollten Sie der Sache einmal auf der Grund gehen. Das Problem hat in der Regel eine der folgenden Ursachen: Wenn das Problem nur in einer bestimmten Anwendung auftritt, die Sie selbst entwickeln, dann ist es wahrscheinlich ein Fehler in Ihren Sourcen. Wenn das Problem in einem Teil von &os; auftritt, könnte es natürlich auch ein Fehler sein; aber in den meisten Fällen werden diese Probleme gefunden und behoben, bevor die typischen Leser der FAQ (wir) diese Teile der Sourcen benutzen können (dafür gibt es schließlich -CURRENT). Wenn der Fehler auftritt, wenn Sie ein Programm compilieren aber dabei immer wieder an anderer Stelle auftritt, dann ist das ein ganz eindeutiger Hinweis, dass das Problem nicht bei &os; liegt. Nehmen wir zum Beispiel an, dass Sie make buildworld ausführen und die Compilierung von ls.c in ls.o abbricht. Wenn Sie nochmal make buildworld durchführen und die Compilierung an der gleichen Stelle abbricht, handelt es sich um einen Fehler in den Sourcen. Aktualisieren Sie Ihre Sourcen und versuchen Sie es noch einmal. Wenn der Fehler jedoch an einer anderen Stelle auftritt, liegt das Problem mit an Sicherheit grenzender Wahrscheinlichkeit bei Ihrer Hardware. Was Sie tun sollten: Im ersten Fall können Sie einen Debugger wie z.B. &man.gdb.1; benutzen, um die Stelle im Programm zu finden, an der auf eine falsche Adresse zugegriffen wird und danach den Fehler beheben. Im zweiten Fall müssen Sie sicherstellen, dass das Problem nicht von Ihrer Hardware verursacht wird. Typische Ursachen dafür sind unter anderem: Es könnte sein, dass Ihren Festplatten zu warm werden: Überprüfen Sie, ob die Lüfter in Ihrem Gehäuse noch funktionieren, damit Ihre Festplatten (und andere Hardware) nicht heißlaufen. Der Prozessor überhitzt, weil Sie Ihn übertaktet haben oder der CPU-Kühler ausgefallen ist. Sie müssen sicherstellen, dass Sie Ihre Hardware unter den Bedingungen betreiben, für die sie spezifiziert ist, zumindest während Sie versuchen, das Problem zu lösen. Mit anderen Worten: Betreiben Sie Ihre CPU mit der normalen Taktfrequenz. Wenn Sie übertakten, sollten Sie daran denken, dass ein langsames System deutlich billiger ist als ein defektes System. Die große Masse hat nicht sehr häufig Mitgefühl mit Problemen bei übertakteten System, auch wenn Sie es für ungefährlich halten. Unzuverlässiger Speicher: Wenn Sie mehr als ein SIMM/DIMM installiert haben, sollten Sie sie alle ausbauen und die Maschine testweise mit jedem SIMM oder DIMM einzeln betreiben. So können Sie feststellen, ob die Ursache ein einzelnes SIMM/DIMM oder auch eine Kombination von Modulen ist. Zu optimistische Einstellung des Mainboards: In Ihrem BIOS und mit den Jumpern auf dem Mainboard können Sie diverse Timings ändern. In den meisten Fällen reichen die Defaults aus, aber manchmal kann es durch zu wenig wait states, die Einstellung RAM Speed: Turbo oder ähnliches zu merkwürdigen Problemen kommen. Ein möglicher Ansatz ist, die BIOS defaults zu laden, allerdings könnte es sinnvoll sein, die aktuellen Einstellungen vorher zu notieren. Schlechte oder fehlerhafte Stromversorgung des Mainboards: Wenn Sie unbenutzte Steckkarten, Platten oder CD-ROMs in Ihrem System haben, sollten Sie sie testweise ausbauen oder die Stromversorgung abziehen. Dadurch können Sie prüfen, ob Ihr Netzteil eventuell mit einer geringeren Last besser zurechtkommt. Sie können auch testweise ein anderes, am besten ein leistungsfähigeres, Netzteil ausprobieren. Wenn Sie zurzeit ein 250 W-Netzteil benutzen, sollten Sie testweise ein 300 W-Netzteil einbauen. Die sollten ebenfalls die SIG11 FAQ (unten aufgeführt) lesen, da sie gute Erklärungen für alle diese Probleme enthält (allerdings aus &linux;-Sicht). Sie erklärt ebenfalls, warum sowohl Programme als auch Geräte zur Speicherprüfung fehlerhaften Speicher teilweise nicht erkennen. Wenn alle diese Schritte nicht helfen, ist es möglich, dass Sie einen Fehler in FreeBSD gefunden haben. Folgen Sie einfach den Anweisungen für die Erstellung eines Problem Reports. Es existiert eine ausführliche FAQ hierzu unter der - SIG11-Problem-FAQ + SIG11-Problem-FAQ. Mein System stürzt mit der Meldung Fatal trap 12: page fault in kernel mode oder panic: ab und gibt eine Menge zusätzlicher Informationen aus. Was kann ich tun? Die Entwickler von &os; interessieren sich für solchen Meldungen, allerdings brauchen Sie deutlich mehr Informationen als die, die Ihnen angezeigt werden. Kopieren Sie die komplette Meldungen und lesen Sie nun den - FAQ-Eintrag über kernel panics. + FAQ-Eintrag über kernel panics. Erzeugen sie einen Kernel mit den zusätzlichen Daten zur Fehlersuche, und dann einen backtrace. Das hört sich komplizierter an, als es ist. Sie brauchen keine Programmier-Erfahrung, Sie müssen einfach nur den Anweisungen folgen. Wieso wird beim Booten der Bildschirm schwarz und reagiert nicht mehr? Dies ist ein bekanntes Problem mit der ATI Mach64 Videokarte. Das Problem besteht darin, dass diese Karte die Adresse 2e8 benutzt und die vierte serielle Schnittstelle ebenfalls. Aufgrund eines Fehlers (einer Besonderheit?) im &man.sio.4;-Treiber wird diese Schnittstelle angesprochen, auch wenn Sie gar keine vierte serielle Schnittstelle besitzen und sogar, wenn Sie sio3 (die vierte Schnittstelle), die normalerweise diese Adresse verwendet, deaktivieren. Bis der Fehler behoben ist, können Sie folgende Abhilfe verwenden: Geben Sie am Bootprompt ein. (Dies bringt den Kernel in den Konfigurationsmodus). Deaktivieren Sie sio0, sio1, sio2 und sio3 (alle). Auf diese Weise wird der &man.sio.4;-Treiber nicht aktiviert und das Problem tritt nicht mehr auf. Geben Sie exit ein, um den Bootvorgang fortzusetzen. Falls sie in der Lage sein wollen Ihre seriellen Schnittstellen zu benutzen, müssen Sie einen neuen Kernel mit folgenden Modifikationen erstellen: suchen Sie in /usr/src/sys/sio/sio.c (oder in /usr/src/sys/pc98/cbus/sio.c für pc98) nach der Zeichenkette 0x2e8 und löschen Sie sie und das vorhergehende Komma (nicht das folgende Komma). Nun folgen Sie der normalen Prozedur zur Erstellung eines neuen Kernels. Wieso verwendet &os; nur 64 MB Hauptspeicher, obwohl in meinem Rechner 128 MB sind? Aufgrund der Art und Weise, wie &os; die Hauptspeichergröße vom BIOS mitgeteilt bekommt, kann es lediglich 16-Bit Werte in kByte-Größe (65535 kByte = 64 MB) erkennen (oder weniger... einige BIOSe setzen die Hauptspeichergröße auf 16 MB). Falls Sie mehr als 64 MB besitzen, wird &os; versuchen, das zu erkennen, was aber nicht immer funktioniert. Um dieses Problem zu umgehen, müssen Sie die untenstehende Kerneloption verwenden. Es gibt einen Weg, vollständige Hauptspeicherinformationen vom BIOS zu erhalten, aber in den Bootblöcken ist nicht genügend Platz dafür vorhanden. Wenn der Platzmangel in den Bootblöcken eins Tages behoben ist, werden wir die erweiterten BIOS-Funktionen dazu nutzen, die vollständigen Hauptspeicherinformationen zu erhalten... aber zurzeit sind wir auf die Kerneloption angewiesen. options MAXMEM=n Hierbei ist n Ihre Hauptspeichergröße in Kilobyte. Bei einer 128 MB-Maschine müßten Sie 131072 benutzen. Ich habe mehr als 1 GB RAM. Trotzdem stürzt - mein System mit der Meldung kmem_map too small - ab. Was läuft hier schief? + mein System mit der Meldung + kmem_map too small ab. Was läuft hier + schief? Im Normalfall bestimmt &os; einige Kernelparameter, darunter die maximale Anzahl der Dateien, die gleichzeitig geöffnet sein können, aus der Größe des im System installierten Hauptspeichers. Auf Systemen mit mindestens 1 GB Hauptspeicher kann dieser auto sizing-Mechanismus diese Werte fälschlicherweise zu hoch ansetzen: Beim Systemstart fordert der Kernel dann verschiedene Tabellen und andere Strukturen an, die den Großteil des verfügbaren Kernelspeichers verbrauchen. Dies führt dazu, dass der Kernel während des Betriebs keine dynamischen Speicheranforderungen mehr ausführen kann und mit einer Kernelpanik abstürzt. Bauen Sie in diesem Fall Ihren eigenen Kernel. Dazu setzen Sie in Ihrer Kernelkonfigurationsdatei auf 400 MB (). 400 MB sollten für Maschinen bis 6 GB Hauptspeicher ausreichend sein. Ich habe weniger als 1 GB Hauptspeicher. Dennoch stürzt mein System mit der Meldung kmem_map too small ab! Diese Meldung zeigt an, dass der virtuelle Speicher für Netzwerkpuffer (spezieller mbuf-Cluster) aufgebraucht ist. Sie können die für mbuf verfügbare Größe an VM erhöhen, indem Sie den Anweisungen des Abschnitts Netzwerk-Limits des Handbuchs folgen. Wieso erhalte ich die Meldung kernel: proc: table is full? Der &os;-Kernel beschränkt die Anzahl der gleichzeitig laufenden Prozesse. Die Anzahl errechnet sich aus dem Wert der Variablen MAXUSERS in der Konfigurationsdatei des Kernels. Auch andere Einstellungen wie die Anzahl der Puffer für Netzwerkoperationen (Details dazu finden Sie in diesem Abschnitt). werden durch MAXUSERS beeinflusst. Wenn Ihr System stark belastet ist, sollten Sie den Wert von MAXUSERS erhöhen. Dadurch werden diverse Einstellung des Systems angepasst und die maximale Anzahl gleichzeitig laufender Prozesse erhöht. Um den Wert von MAXUSERS anzupassen, folgen Sie den Anweisungen des Abschnitts Datei- und Prozesslimits des Handbuchs. Dieser Abschnitt spricht zwar nur von Dateien, für Prozesse gelten aber die gleichen Beschränkungen. Wenn Ihr System nicht besonders stark ausgelastet ist und Sie einfach nur mehr gleichzeitig laufende Prozesse erlauben wollen, können Sie den Wert der Variable kern.maxproc in der Datei /boot/loader.conf anpassen. Um die Änderung zu aktivieren, müssen Sie Ihr System neu starten. Wollen Sie Ihr System zusätzlich optimieren, sollten Sie &man.loader.conf.5; und &man.sysctl.conf.5; lesen. Wenn diese Prozesse von einem einzigen Benutzer ausgeführt werden, müssen Sie den Wert von kern.maxprocperuid ebenfalls erhöhen. Dieser Wert muss immer mindestens um eins geringer sein als der Wert von kern.maxproc (der Grund für diese Einschränkung ist, dass ein Systemprogramm, &man.init.8;, immer ausgeführt werden muss). Damit Änderungen einer sysctl-Variable dauerhaft erhalten bleiben, nehmen Sie diese in /etc/sysctl.conf auf. Weitere Informationen zur Optimierung Ihres Systems finden Sie im Abschnitt Einstellungen mit sysctl des Handbuchs. Wieso erhalte ich die Meldung CMAP busy panic, wenn ich mein System mit einem neuen Kernel starte? Die Logik, die versucht, veraltete /var/db/kvm_*.db-Dateien zu erkennen, versagt manchmal und die Benutzung einer unpassenden Datei kann zu Paniksituationen führen. Falls das passiert, rebooten Sie in den Single-User-Modus und löschen Sie die Dateien: &prompt.root; rm /var/db/kvm_*.db Was soll mir die Meldung ahc0: brkadrint, Illegal Host Access at seqaddr 0x0 sagen? Dies ist ein Konflikt mit einem Ultrastor SCSI Hostadapter. Rufen Sie während des Bootprozesses das Kernelkonfigurationsmenü auf und deaktivieren Sie uha0, welches das Problem verursacht. Wenn ich mein System starte, erhalte ich die Meldung ahc0: illegal cable configuration, obwohl die Verkabelung korrekt ist. Woran liegt das? Auf Ihrem Mainboard fehlen ein paar Logikbausteine, die für die Unterstützung der automatischen Terminierung notwendig sind. Stellen Sie in Ihrem SCSI-BIOS manuell die korrekte Terminierung für Ihr System ein, anstatt sich auf die automatische Terminierung zu verlassen. Der &man.ahc.4;-Treiber kann nicht erkennen, ob die externen Logikbausteine für die Erkennung der Kabel (und damit automatische Terminierung) vorhanden sind. Der Treiber muss sich darauf verlassen, dass diese vorhanden sind, wenn in der Konfiguration automatische Terminierung eingestellt ist. Ohne die externen Bausteine ist es sehr wahrscheinlich, dass der Treiber die Terminierung falsch einstellt, was die Zuverlässigkeit des SCSI-Busses herabsetzen kann. Wieso meldet sendmail mail loops back to myself? Sie finden eine detaillierte Antwort auf diese Frage im - Handbuch. + Handbuch. Wieso funktionieren bildschirmorientierte Anwendungen beim Zugriff über ein Netzwerk nicht richtig? Die entfernte Maschine scheint den Terminaltyp auf etwas anderes als den Typ cons25, der von &os; verlangt wird, zu setzen. Es gibt mehrere mögliche Abhilfen für dieses Problem: Setzen Sie die Shell-Variable TERM nach dem Einloggen auf der entfernten Maschine auf ansi oder sco, sofern die entfernte Maschine diese Terminaltypen kennt. Benutzen Sie einen VT100-Emulator wie screen auf der &os;-Konsole. screen bietet Ihnen die Möglichkeit, mehrere gleichzeitige Sitzungen von einem Bildschirm aus laufen zu lassen. Es ist ein sehr nettes Programm. Jedes screen-Fenster verhält sich, wie ein VT100-Terminal, weshalb die Variable TERM am entfernten Ende auf vt100 gesetzt werden sollte. Installieren Sie den Eintrag cons25 in der Bildschirmdatenbank der entfernten Maschine. Wie das zu geschehen hat, hängt vom Betriebssystem der entfernten Maschine ab. Das Systemadministrationshandbuch für das entfernte System sollte Ihnen hierbei helfen können. Starten Sie einen X-Server auf der &os;-Seite und benutzen Sie einen X-basierten Terminalemulator wie xterm oder rxvt, um sich auf der entfernten Maschine einzuloggen. Die Variable TERM auf dem entfernten Host sollte auf xterm oder vt100 gesetzt werden. Warum wird meine PnP-Karte nicht (oder nur noch als unknown) erkannt? Die Gründe für dieses Verhalten werden in der unten zitierten Mail von &a.peter; erklärt. Diese Mail stammt von der Mailingliste &a.questions; und war eine Antwort auf eine Frage bezüglich eines internen Modem, das nach dem Update auf &os; 4.X nicht mehr erkannt wurde. Die mit [] gekennzeichneten Kommentare wurden eingefügt, um an einigen Stellen die Bezüge klarzustellen.
Das PnP-BIOS hat es [das Modem] vorkonfiguriert und es dann im Adressraum liegenlassen, daher haben es die alten ISA-Erkennungsroutinen [in 3.X] gefunden. In 4.0 sind die ISA-Routinen deutlich PnP-orientierter. Es war möglich [in 3.X], dass eine ISA-Erkennungsroutine ein zugelaufenes Gerät fand; während die PnP-Treiber zwar die ID erkannten, das Gerät aber wegen des Ressourcekonfliktes nicht benutzen konnten. Daher werden die programmierbaren Karten zunächst einmal abgeschaltet, um diese doppelte Erkennung vermeiden zu können. Das bedeutet allerdings auch, dass die Treiber die PnP-ID kennen muss, um PnP-Hardware unterstützen zu können. Wir haben uns vorgenommen, den Benutzern eine einfachere Möglichkeit zur Manipulation dieser Informationen zur Verfügung zu stellen.
Damit Ihr Gerät wieder funktioniert, müssen Sie seine PnP-ID herausfinden und die ID in die Listen eintragen, die zur Erkennung von PnP-Geräten genutzten werden. Zu diesem Zweck wird das Gerät mit &man.pnpinfo.8; analysiert. Das Beispiel zeigt die Ausgaben von &man.pnpinfo.8; für ein internes Modem: &prompt.root; pnpinfo Checking for Plug-n-Play devices... Card assigned CSN #1 Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff PnP Version 1.0, Vendor Version 0 Device Description: Pace 56 Voice Internal Plug & Play Modem Logical Device ID: PMC2430 0x3024a341 #0 Device supports I/O Range Check TAG Start DF I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8 [16-bit addr] IRQ: 4 - only one type (true/edge) [weitere TAG Zeilen gestrichen] TAG End DF End Tag Successfully got 31 resources, 1 logical fdevs -- card select # 0x0001 CSN PMC2430 (0x3024a341), Serial Number 0xffffffff Logical device #0 IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 IRQ 5 0 DMA 4 0 IO range check 0x00 activate 0x01 Sie benötigen die Information aus der Zeile Vendor ID ganz am Anfang. Die in Klammern ausgegebene hexadezimale Zahl (0x3024a341 in diesem Beispiel) ist die PnP ID und die unmittelbar davor stehende Zeichenkette (PMC2430) ist eine eindeutige Herstellerkennung. Benutzen Sie &man.pciconf.8; wenn &man.pnpinfo.8; die Karte nicht anzeigt. Der Teil der Ausgabe von pciconf -vl für eine auf dem Motherboard integrierte Soundkarte sieht zum Beispiel so aus: &prompt.root; pciconf -vl chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00 vendor = 'Intel Corporation' device = '82801AA 8xx Chipset AC'97 Audio Controller' class = multimedia subclass = audio Sie benötigen die Chip-ID 0x24158086, die hinter chip aufgeführt ist. Die Vendor ID oder chip-ID müssen in die Datei /usr/src/sys/dev/sio/sio_isa.c eingetragen werden. Sie sollten zunächst ein Backup von sio_isa.c anlegen, falls etwas schief gehen sollte. Sie werden auch einen Patch erzeugen müssen, um ihn zusammen mit Ihrem PR einzusenden. (Sie wollten doch einen PR schreiben, oder etwa nicht?) Öffnen Sie nun sio_isa.c mit einem Editor und suchen Sie nach der Zeile: static struct isa_pnp_id sio_ids[] = { Blättern Sie dann nach unten, um die passende Stelle für Ihr Gerät zu finden. Unten finden Sie Beispiel für die Einträge, diese sind nach der Herstellerkennung sortiert. Diese sollte in dem Kommentar auf der rechten Seite aufgenommen werden, dazu kommt die Gerätebeschreibung (Device Description) aus der Ausgabe von &man.pnpinfo.8;: {0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */ {0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */ {0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */ {0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */ {0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */ Fügen Sie die hexadezimale Gerätekennung an der richtigen Stelle ein, speichern Sie die Datei ab, erzeugen Sie einen neuen Kernel und starten Sie Ihr System neu. Ihr Gerät sollte nun als sio Gerät erkannt werden.
Warum erhalte ich die Meldung nlist failed, wenn ich Programme wie top oder systat benutze? Das Programm sucht nach einem speziellen Symbol im Kernel, kann es aber aus irgendeinem Grunde nicht finden. Dieser Fehler wird von einem dieser Probleme verursacht: Ihr Kernel und die sonstigen Programme (das Userland) sind nicht mehr auf dem gleichen Stand. Mit anderen Worten, Sie haben zwar einen neuen Kernel erzeugt, aber kein installworld (oder umgekehrt); darum weicht die Symboltabelle von dem ab, was die Anwendung erwartet. Wenn dies der Fall ist, müssen Sie lediglich die noch fehlenden Schritte des Upgrades durchführen. Die richtige Vorgehensweise kann /usr/src/UPDATING entnommen werden. Um Ihren Kernel zu laden, benutzen Sie nicht /boot/loader, sondern laden ihn direkt mit boot2 (siehe &man.boot.8;). Es ist zwar nicht immer ein Fehler, /boot/loader zu umgehen; allerdings ist er in der Regel besser dazu geeignet, die Symbole des Kernels für normale Anwendungen verfügbar zu machen. Wieso dauert es so lange, bis eine Verbindung (&man.ssh.1; oder &man.telnet.1;) aufgebaut wird? Das Symptom: Nach dem Aufbau des TCP-Verbindung vergeht einige Zeit, bis endlich die Abfrage des Passwortes (bzw. der Login-Prompt bei Telnet) erscheint. Das Problem: In den meisten Fällen versucht der Server in der Zwischenzeit, die IP-Adresse des Clients in einen Rechnernamen zu übersetzen. Viele Server (darunter die Telnet- und SSH-Server von &os;) machen das, um den Hostnamen z.B. für spätere Verwendung durch den Systemadministrator in eine Protokolldatei schreiben zu können. Die Lösung: wenn das Problem bei jedem Server auftritt, den Sie von Ihrem Computer (dem Client) ansprechen, dann wird das Problem vom Client verursacht. Wenn das Problem aber nur auftritt, wenn jemand Ihren Rechner (den Server) anspricht, dann liegt die Ursache beim Server. Wenn das Problem vom Client verursacht wird, müsssen Sie die Einträge im DNS korrigieren, damit der Server Ihre IP-Adresse übersetzen kann. Wenn das Problem in Ihrem lokalen Netzwerk auftritt, sollten Sie es als Problem des Servers behandeln und weiterlesen; wenn es allerdings im Internet auftritt, werden Sie sich wahrscheinlich an Ihrem ISP wenden müssen, damit dieser das Problem für Sie korrigiert. Wenn das Problem vom Server verursacht wird und Sie sich in einem lokalen Netzwerk befinden, dann müssen Sie Ihren Server so konfigurieren, dass er die lokal genutzten IP-Adressen in Rechnernamen übersetzen kann. Weitere Informationen erhalten Sie in den Onlinehilfen zu &man.hosts.5; und &man.named.8;. Wenn dieses Problem im Internet auftritt, könnte die Ursache auch darin liegen, dass die Namensauflösung auf dem Server nicht funktioniert. Versuchen Sie, einen anderen Hostnamen wie z.B. www.yahoo.com aufzulösen. Wenn das nicht funktioniert, liegt das Problem bei Ihrem System. Haben Sie &os; gerade erst installiert, kann es auch sein, dass die Domänen- und Nameserverinformationen noch nicht in /etc/resolv.conf vorhanden sind. Dadurch kommt es häufig zu Verzögerungen beim Einsatz von SSH, weil die Option UseDNS in der Voreinstellung auf yes gesetzt ist (in der Datei - sshd_config im Verzeichnis - /etc/ssh). Ist dies bei Ihnen der - Fall, müssen Sie entweder die fehlenden Informationen - in /etc/resolv.conf eintragen oder - als temporäre Maßnahme UseDNS + sshd_config im Verzeichnis /etc/ssh). Ist dies bei + Ihnen der Fall, müssen Sie entweder die fehlenden + Informationen in /etc/resolv.conf eintragen + oder als temporäre Maßnahme UseDNS auf no setzen. Was bedeutet stray IRQ? Stray IRQs sind ein Zeichen für Probleme bei der Behandlung von Hardware-IRQs. Sie werden meistens von Geräten verursacht, die ihren Interrupt Request zurückziehen, obwohl gerade der interrupt request acknowledge-Zyklus läuft. Sie können drei Dinge tun: Ertragen Sie die Warnungen. Sie erhalten nur die ersten 5 für jeden IRQ, alle anderen werden unterdrückt. Eliminieren Sie die Meldungen, indem Sie den Wert von MAX_STRAY_LOG von 5 auf 0 in der für ihre Plattform (z.B. &i386;) zuständigen Datei intr_machdep.c ändern. Bauen Sie anschliessend den Kernel neu, um alle Meldungen zu unterdrücken. Eliminieren Sie die Meldungen, indem Sie Hardware für den Parallelport installieren, die IRQ 7 nutzt und vom PPP Treiber verwendet wird (das passiert auf den meisten Systemen), und installieren Sie eine IDE-Platte oder andere Hardware sowie einen dazu passenden Treiber, um IRQ 15 zu nutzen. Warum sehe ich in der Ausgabe von &man.dmesg.8; häufig die Meldung file: table is full? Diese Fehlermeldung besagt, dass Sie die zur Verfügung stehenden File-Handles des Systems verbraucht haben. Was das genau bedeutet und wie Sie dieses Problem lösen können, steht im Abschnitt kern.maxfiles im Kapitel Anpassung der Kernelkonfiguration des Handbuchs. Warum werden ständig Meldungen wie calcru: negative runtime oder calcru: runtime went backwards auf die Konsole geschrieben? Es existiert ein bekanntes Problem wenn &intel; Enhanced SpeedStep im BIOS aktiviert wird. Das führt dazu, dass der Kernel calcru-Nachrichten wie die folgende ausgibt: calcru: runtime went backwards from 6 usec to 3 usec for pid 37 (pagezero) calcru: runtime went backwards from 6 usec to 3 usec for pid 36 (vmdaemon) calcru: runtime went backwards from 170 usec to 138 usec for pid 35 (pagedaemon) calcru: runtime went backwards from 553 usec to 291 usec for pid 15 (swi6: task queue) calcru: runtime went backwards from 15521 usec to 10366 usec for pid 2 (g_event) calcru: runtime went backwards from 25 usec to 12 usec for pid 11 (swi1: net) calcru: runtime went backwards from 4417 usec to 3960 usec for pid 1 (init) calcru: runtime went backwards from 2084385 usec to 1793542 usec for pid 1 (init) calcru: runtime went backwards from 408 usec to 204 usec for pid 0 (swapper) Der Grund dafür besteht darin, dass &intel; SpeedStep (EIST) in manchen Mainboards inkompatibel ist. Abhilfe: Deaktivieren Sie die EIST-Eigenschaft im BIOS. Sie können trotzdem noch ihre Prozessorfrequenz ACPI-basiert mittels &man.powerd.8; drosseln. Warum ist die Uhrzeit auf meinem Computer immer falsch? Ihr Computer verfügt über mehr als eine Uhr und &os; benutzt leider die falsche. Starten Sie &man.dmesg.8; und achten Sie auf die Zeilen, in denen das Wort Timecounter vorkommt. Die von &os; benutzte Uhr findet sich in der Zeile mit dem höchsten quality-Wert. &prompt.root; dmesg | grep Timecounter Timecounter "i8254" frequency 1193182 Hz quality 0 Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 Timecounter "TSC" frequency 2998570050 Hz quality 800 Timecounters tick every 1.000 msec Sie können das überprüfen, indem Sie den Wert der Systemvariablen kern.timecounter.hardware abfragen. &prompt.root; sysctl kern.timecounter.hardware kern.timecounter.hardware: ACPI-fast Es kann sich um einen defekten ACPI Timer handeln. Die einfachste Lösung besteht darin, den ACPI Timer in /etc/loader.conf zu deaktivieren: debug.acpi.disabled="timer" Es ist aber auch durchaus möglich, dass das BIOS die TSC Uhr ändert, um beispielsweise den CPU-Takt zu während des Batteriebetrieb zu ändern, oder im Stromsparmodus; leider bemerkt &os; diese Änderungen nicht und daher scheint die Uhr falsch zu gehen. In diesem Beispiel ist die Uhr i8254 ebenfalls verfügbar; um sie auszuwählen, muss ihr Name in die Systemvariable kern.timecounter.hardware geschrieben werden. &prompt.root; sysctl -w kern.timecounter.hardware=i8254 kern.timecounter.hardware: TSC -> i8254 Die Uhrzeit Ihres Computers sollte nun genauer funktionieren. Damit diese Änderung automatisch beim Start des Systems durchgeführt wird, müssen Sie die folgende Zeile in die /etc/sysctl.conf eintragen. kern.timecounter.hardware=i8254 Warum erkennt mein Laptop PC-Cards nicht? Dieses Problem tritt häufig auf Laptops mit mehreren Betriebssystemen auf. Einige nicht-BSD Betriebssysteme lassen die Hardware in einem inkonsistenten Zustand. Die Karte wird dann von &man.pccardd.8; als "(null)""(null)" anstelle des tatsächlichen Modells gefunden. Um dies zu beheben, müssen Sie die Hardware zurücksetzen, das heißt der PC-Card Einschub muss stromlos sein. Gehen Sie dazu nicht in den Standby- oder Suspend-Modus und stellen Sie sicher, dass der Laptop wirklich ausgeschaltet ist. Warten Sie einen Moment und booten dann, Ihre PC-Card sollte jetzt funktionieren. Einige Laptops schalten sich nicht wirklich aus. Wenn der obige Vorschlag nichts genutzt hat, entfernen Sie bitte die Batterie, warten einen Moment und booten erneut. Wieso hängt sich &os; nach dem BIOS-Bildschirm mit der Meldung Read error auf? Der Bootloader von &os; erkennt die Geometrie Ihrer Festplatte nicht richtig. Sie müssen die Geometrie manuell festlegen, wenn sie mit &man.fdisk.8; &os;-Bereiche erzeugen oder ändern. Die richtigen Werte für die Geometrie können Sie im BIOS des Rechners ablesen. Achten Sie auf die Anzahl der Zylinder, Köpfe und Sektoren für Ihre Festplatte. Im fdisk von &man.sysinstall.8; müssen Sie G eingeben, um die Geometrie zu definieren. Sie erhalten eine Dialogbox, in der Sie die Anzahl der Zylinder, Köpfe und Sektoren eingeben können. Verwenden Sie die Angaben des BIOS und setzen Sie Schrägstriche zwischen die Zahlen. 5000 Zylinder, 250 Köpfe und 60 Sektoren würden also als 5000/250/60 eingegeben. Schließen Sie die Eingabe mit Enter ab und drücken Sie W, um die neue Partitionstabelle auf die Festplatte schreiben zu lassen. Ein anderes Betriebssystem hat meinen Bootmanager zerstört. Wie kann ich ihn wiederherstellen? Starten Sie &man.sysinstall.8; und wählen Sie Configure, dann Fdisk. Wählen Sie die Platte, auf der sich der Boot Manager befand, mit der Leertaste aus. Drücken Sie W, um die Änderungen auf die Platten schreiben zu lassen. Nun erscheint eine Abfrage, welcher Bootmanager installiert werden soll. Wählen Sie diesen an und er wird wieder installiert. Was soll mir die Meldung swap_pager: indefinite wait buffer: sagen? Ein Programm wollte Speicher auf Platte auslagern, und dieser Vorgang konnte nicht innerhalb von 20 Sekunden durchgeführt werden. Mögliche Gründe sind defekte Blöcke auf der Platte, falsche oder fehlerhafte Verkabelung sowie Probleme mit anderen Komponenten, die am Zugriff auf die Festplatte beteiligt sind. Wenn die Festplatte selbst fehlerhaft sind, sollten Sie entsprechende Meldungen in /var/log/messages und den Ausgaben von dmesg finden. Andernfalls sollten - Sie die Kabel und Verbindungen - überprüfen. + Sie die Kabel und Verbindungen überprüfen. Was sind UDMA ICRC Fehler und wie behebe ich sie? Der &man.ata.4;-Treiber meldet UDMA ICRC Fehler wenn eine DMA-Übertragung zu oder von einem Laufwerk fehlgeschlagen ist. Der Treiber versucht die Übertragung mehrmals durchzuführen und schaltet, wenn die Versuche fehlschlagen, vom DMA-Modus auf den langsameren PIO-Modus um. Der Fehler kann viele Ursachen haben, häufig ist ein Kabel kaputt oder die Geräte sind falsch verkabelt. Prüfen Sie, ob die ATA-Kabel unbeschädigt sind und für den verwendeten Ultra-DMA-Modus tauglich sind. Ebenso müssen Wechselrahmen für den verwendeten Modus geeignet sein. Stellen Sie sicher, dass alle Kabel fest angeschlossen sind. Es gab auch schon Probleme, wenn ein altes Laufwerk zusammen mit einem Ultra-DMA-66 oder einem schnelleren Laufwerk auf einem Kanal betrieben wurde. Es kann aber auch sein, dass das Laufwerk kaputt ist. Die meisten Hersteller stellen Test-Programme für ihre Laufwerke zur Verfügung. Überprüfen Sie damit Ihr Laufwerk und wenn nötig, sichern Sie Ihre Daten und ersetzen das Laufwerk. &man.atacontrol.8; zeigt für jedes ATA-Gerät den verwendeten DMA- oder PIO-Modus an. Das Kommando atacontrol mode Kanal zeigt die auf einem Kanal verwendeten Modi (die Kanäle werden von 0 an nummeriert). Was ist ein lock order reversal? Eine Antwort auf diese Frage findet sich im &os;-Glossar unter LOR. Warum erhalte ich die Meldung Called ... with the following non-sleepable locks held? Diese Meldung erscheint, wenn eine Funktion, die sich im Ruhemodus befindet, aufgerufen wird, während ein Mutex oder eine andere (nicht in den Ruhemodus versetzbare) Sperre aktiv war. Der Grund dafür ist, dass ein Mutex nicht für längere Zeitspannen aktiv sein soll, sondern nur für die Synchronisation von Gerätetreibern mit dem Rest des Kernels während eines Interrupts. Unter &os; dürfen Interrupts nicht in den Ruhemodus versetzt werden. Daher ist es von entscheidender Bedeutung, dass während des Bestehens eines Mutex kein Kernelsubsystem für einen längeren Zeitraum blockiert ist. Um solche Fehler abzufangen, können Sicherungen (Assertions) in den Kernel eingebaut werden, die danach mit dem &man.witness.4;-Subsystem interagieren. Dadurch wird (in Abhängigkeit von Ihrer Systemkonfiguration) eine Warnung oder eine Fehlermeldung ausgegeben, falls der Aufruf einer Funktion während des Bestehens eines Mutex zu einer Blockierung führen kann. Zusammenfassend kann man sagen, dass diese Warnungen in der Regel zwar nicht bedrohlich sind. Unter bestimmten Umständen kann es aber dennoch zu unerwünschten Nebenwirkungen, angefangen von einer Erhöhung der Reaktionszeit bis hin zu einem kompletten Einfrieren des Systems kommen. Warum bricht buildworld/installworld mit der Meldung touch: not found ab? Dieser Fehler bedeutet nicht, dass &man.touch.1; nicht auf Ihrem System vorhanden ist. Vielmehr sind Dateien die Ursache, deren Erzeugungsdatum in der Zukunft liegt. Wenn Ihre CMOS-Uhr auf Ihre lokale Zeit eingestellt ist, müssen Sie adjkerntz -i verwenden, um die Kerneluhr anzupassen, wenn Sie in den Single-User-Modus booten.
Kommerzielle Anwendungen Dieser Abschnitt ist immer noch sehr dürftig, aber wir hoffen natürlich, dass Unternehmen einen Beitrag leisten werden! :) Die &os;-Gruppe hat keinerlei finanzielle Interessen an einem der hier aufgelisteten Unternehmen, sondern listet sie lediglich als öffentlichen Service auf (und ist der Meinung, dass ein kommerzielles Interesse an &os; sehr positiven Einfluss auf ein langfristiges Bestehen von &os; haben kann). Wir möchten Anbieter kommerzieller Software dazu aufrufen, ihren Eintrag hier aufnehmen zu lassen. Auf der - - Anbieter-Seite finden Sie eine längere - Liste. + Anbieter-Seite + finden Sie eine längere Liste. Wo bekomme ich &os;-Versionen der klassischen Büro-Anwendungen? Das als Open Source verfügbare Office-Paket OpenOffice.org läuft nativ unter &os;. Die um zusätzliche Funktionen erweiterte kommerzielle OpenOffice.org-Version StarOffice läuft in der &linux;-Version ebenfalls problemlos unter &os;. In der Ports-Sammlung sind weitere Textbearbeitungsprogramme, Tabellenkalkulationen und Zeichenprogramme enthalten. Woher kann ich &motif; für &os; bekommen? Der Quelltext für &motif; 2.2.2 wurde von der Open Group herausgegeben. Sie können entweder das Package x11-toolkits/open-motif installieren oder es mit dem entsprechenden Port selbst compilieren. Weitere Informationen über die Benutzung der Ports erhalten Sie im Kapitel Ports des Handbuchs. Die Open &motif; Distribution darf nur weitergegeben werden, wenn sie auf einem Open Source Betriebssystem benutzt wird. Weiterhin gibt es auch kommerzielle &motif;-Pakete, die zwar nicht kostenlos sind, aber dafür auch mit closed source Software benutzt werden dürfen. Um die günstigste ELF-&motif; 2.1.20 Distribution - für &os; (&i386;) zu bekommen, wenden Sie sich bitte an - Apps2go. + für &os; (&i386;) zu bekommen, wenden Sie sich bitte an Apps2go. Es gibt zwei Distributionen, die development edition und die runtime edition (wesentlich günstiger). Diese Distributionen enthalten: OSF/&motif; manager, xmbind, panner, wsm. Development-Kit mit uil, mrm, xm, xmcxx, Include- und Imake-Dateien. Statische und dynamische ELF-Bibliotheken. Demonstrations-Applets. Achten Sie darauf, dass Sie bei der Bestellung angeben, dass Sie die &os;-Version von &motif; möchten (vergessen Sie auch nicht, die Architektur anzugeben)! Von Apps2go werden auch Versionen für NetBSD und OpenBSD verkauft. Dieses Produkt ist zurzeit nur zum Download per FTP verfügbar. Weitere Informationen - Apps2go - Web-Seite + Apps2go Web-Seite oder sales@apps2go.com oder support@apps2go.com oder Telefon (817) 431 8775 oder +1 817 431-8775 Woher kann ich CDE für &os; bekommen? Xi Graphics hat einmal CDE für &os; verkauft, tut es aber nicht mehr. KDE ist ein Open-Source X11-Desktop, der CDE in vielen Punkten ähnelt. Eventuell gefällt Ihnen auch das "Look and Feel" von xfce. KDE und xfce sind über die Ports-Sammlung von &os; verfügbar. Gibt es irgendwelche Datenbanksysteme für &os;? Ja! Lesen Sie den Abschnitt - kommerzielle Anbieter auf der FreeBSD-Web-Seite. + kommerzielle Anbieter auf der &os;-Web-Seite. Schauen Sie auch im Abschnitt Datenbanken der Ports-Sammlung nach. Kann ich &oracle; unter &os; laufen lassen? Ja. Die folgenden Seiten beschreiben genau, wie sich &linux;-&oracle; unter FreeBSD installieren lässt: http://www.unixcities.com/oracle/index.html http://www.shadowcom.net/freebsd-oracle9i/ Benutzerprogramme Nun, wo sind die ganzen Benutzerprogramme? Werfen Sie bitte einen Blick auf die Ports-Seite, um Informationen über die nach &os; portierten Softwarepakete zu erhalten. Die Liste enthält zurzeit &os.numports; Einträge und wächst täglich. Informieren Sie sich daher regelmäßig auf dieser Seite oder abonnieren Sie die Mailingliste &a.announce;, um sich über Änderungen zu informieren. - Die meisten Ports sollten auf den 6.X, + Die meisten Ports sollten auf den + 6.X, 7.X und 8.X-Systemen laufen. Jedes Mal, wenn ein - &os;-Release erstellt wird, wird auch ein Snapshot des - Port-Baumes vom Zeitpunkt des Releases in das Verzeichnis - ports/ eingefügt. + &os;-Release erstellt wird, wird auch ein Snapshot des Port-Baumes + vom Zeitpunkt des Releases in das Verzeichnis ports/ eingefügt. Wir unterstützen auch das Konzept von Packages - im Grunde genommen nicht mehr als komprimierte Binärdistributionen mit ein wenig zusätzlicher Intelligenz zur Ermöglichung angepasster Installationen. Ein Package kann leicht installiert und wieder deinstalliert werden, ohne, dass man etwas über wissen muss, welche Dateien es enthält. Benutzen Sie das Packages Menü in &man.sysinstall.8; (unter dem Menüpunkt post-configuration) oder führen Sie den Befehl &man.pkg.add.1; mit den speziellen Paketdateien aus, die Sie installieren möchten. Paketdateien können für gewöhnlich an der Endung .tgz oder .tbz erkannt werden und diejenigen, die über eine CD-ROM-Distribution - verfügen, haben auf ihrer CD ein Verzeichnis - packages/All, das solche Dateien + verfügen, haben auf ihrer CD ein Verzeichnis packages/All, das solche Dateien enthält. Für verschiedene &os;-Versionen können sie von folgenden Adressen auch über das Netz heruntergeladen werden: für 6.X-RELEASE/6-STABLE ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable für 7.X-RELEASE/7-STABLE ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-stable für 8-CURRENT ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8-current oder von Ihrem nächstgelegenen Mirror. Beachten Sie, dass nicht alle Ports als Package verfügbar sind, da ständig neue hinzugefügt werden. Es ist immer eine gute Idee, sich regelmäßig auf der ftp.de.FreeBSD.org Masterseite darüber zu informieren, welche Packages verfügbar sind. Wie konfiguriere ich INN (Internet News) für meine Maschine? Ein idealer Startpunkt nach der Installation des - Packages oder Ports news/inn - ist Dave - Barr's INN-Seite, wo Sie die INN-FAQ - finden. + Packages oder Ports news/inn ist Dave Barr's + INN-Seite, wo Sie die INN-FAQ finden. Unterstützt &os; &java;? Ja. Informieren Sie sich bitte unter http://www.de.FreeBSD.org/java/. Warum kann ich manche Ports auf meiner 6.X oder 7.X-STABLE-Maschine nicht erstellen? Wenn Sie eine &os;-Version benutzen, die deutlich älter als das aktuelle -CURRENT oder -STABLE ist, könnte es sein, dass Sie vorher Ihre Ports-Sammlung aktualisieren müssen. Lesen Sie dazu den Abschnitt Keeping Up des Porters-Handbuch. Ist Ihre Ports-Sammlung aktuell, könnte es sein, dass jemand eine Änderung am Port durchgeführt hat, die für -CURRENT funktioniert, den Port für -STABLE aber unbrauchbar gemacht hat. Bitte senden Sie einen Fehlerbericht mit dem Befehl &man.send-pr.1;. Von der Ports-Sammlung wird nämlich erwartet, dass sie sowohl auf -CURRENT als auch auf -STABLE funktioniert. Ich habe gerade versucht, INDEX mit make index zu bauen, und es hat nicht geklappt. Woran liegt das? Stellen Sie zuerst sicher, dass Ihre Ports-Sammlung aktuell ist. Fehler, die einen Bau von INDEX aus einer aktuellen Ports-Sammlung verhindern, sind sofort sichtbar und werden daher fast immer umgehend behoben. Ist Ihre Ports-Sammlung jedoch aktuell, haben Sie vielleicht ein anderes Problem. make index hat einen Bug im Umgang mit unvollständigen Kopien der Ports-Sammlung. Es nimmt an, dass Sie über eine lokale Kopie aller Ports verfügen, von denen jeder lokale Port abhängt. Wenn Sie also beispielsweise eine Kopie von foo/bar auf Ihrem System haben, und foo/bar ist von baz/quux abhängig, dann muss auch eine Kopie von baz/quux auf Ihrem System vorhanden sein, sowie eine Kopie aller Ports, von denen baz/quux abhängt. Anderenfalls ist make index aufgrund fehlender Informationen nicht in der Lage, den Abhängigkeitsbaum zu erzeugen. Dieses Problem tritt vor allem dann auf, wenn &os;-Benutzer &man.cvsup.1; (oder &man.csup.1;) verwenden, um die Ports-Sammlung zu aktualisieren und dabei verschiedene Kategorien durch die Datei refuse von der Aktualisierung ausschließen. Theoretisch ist es zwar möglich, Kategorien auszuschließen, in der Praxis gibt es aber zu viele Ports, die von Ports in anderen Kategorien abhängen. Wenn Sie also INDEX bauen wollen, müssen Sie über eine komplette Kopie der Ports-Sammlung verfügen. Es gibt seltene Fälle, in denen INDEX nicht gebaut werden kann, wenn bestimmte WITH_* oder WITHOUT_* Variablen in make.conf gesetzt sind. Wenn Sie dieses Problem haben, sollten Sie diese make-Variablen deaktivieren und INDEX erneut bauen, bevor Sie das Problem an &a.ports; melden. Warum ist CVSup nicht im &os;-Basisquellbaum enthalten? Das Basissystem von &os; soll selbstverwaltend sein. Es soll also möglich sein, das komplette Betriebssystem mit einer beschränkten Anzahl von Werkzeugen zu starten. Daher werden die zum Bau von &os; nötigen Werkzeuge mit dem Quelltext gekoppelt. Zu diesen Werkzeugen gehören ein C-Compiler (&man.gcc.1;), &man.make.1;, &man.awk.1; und andere. Da CVSup in Modula-3 geschrieben wurde, müsste ein Modula-3-Compiler ins Basissystem aufgenommen und auch gewartet werden. Dies würde einen gestiegenen Speicherbedarf für die &os;-Quellen sowie einen erhöhten Wartungsaufwand verursachen. Daher ist es sowohl für Entwickler als auch Benutzer einfacher, CVSup bei Bedarf als Port oder als Paket von einer Installations-CD zu installieren. Wie dem auch sei, &os;-Benutzer müssen seit &os; 6.2-RELEASE nicht mehr ohne einen kompatiblen CVSup-Client auskommen. Dank &a.mux; wurde CVSup als &man.csup.1; in C neu geschrieben und ist mittlerweile Teil des Basissystems. Obwohl zur Zeit noch nicht alle Eigenschaften von CVSup implementiert sind, ist es gut genug (und sehr schnell!) darin, ihre Quellen zu synchronisieren. Für &os;-Systeme vor 6.2 kann es als Port oder Paket - (siehe net/csup) installiert - werden. + (siehe net/csup) installiert werden. Ich habe die Sourcen aktualisiert, wie aktualisiere ich jetzt die installierten Ports? &os; enthält zwar kein Programm, das die installierten Ports aktualisiert, allerdings existieren diverse Programme, die diesen Prozess etwas vereinfachen. Weiterhin können Sie zusätzliche Programme installieren, die Sie dabei - unterstützen, siehe - Ports + unterstützen, siehe Ports aktualisieren im &os; Handbuch. Warum ist /bin/sh so spartanisch? Warum benutzt &os; nicht die bash oder eine ähnliche Shell? Weil der &posix;-Standard definiert, dass es so eine Shell geben muss. Die ausführlichere Antwort: Viele Leute müssen Shell-Programme schreiben, die auf vielen verschiedenen Systemen nutzbar sein müssen. Aus diesem Grund enthält der &posix;-Standard eine sehr detaillierte Definition der Shell und der Hilfsprogramme. Die meisten Programme werden für die Bourne Shell geschrieben; außerdem nutzen mehrere wichtige Schnittstellen (&man.make.1;, &man.system.3;, &man.popen.3; und ihre Entsprechungen in höheren Programmiersprachen wie Perl und Tcl) die Bourne Shell, um Befehle auszuführen. Da die Bourne Shell an so vielen Stellen und so häufig genutzt wird, muss sie die folgenden Anforderungen erfüllen: Schneller Start, ein klar definiertes Verhalten und ein möglichst geringer Speicherverbrauch. Wir haben bei der vorliegenden Implementierung versucht, möglichst viele dieser Anforderungen zu erfüllen. Um /bin/sh nicht zu groß werden zu lassen, haben wir viele der Annehmlichkeiten der anderen Shells weggelassen. Aus diesem Grund gibt es in den Ports die luxuriöseren Shells wie bash, scsh, tcsh und zsh. Vergleichen Sie einfach mal den Speicherverbrauch der verschiedenen Shells, indem Sie ps aufrufen und sich die Angaben in den Spalten VSZ und RSS ansehen. Wieso dauert es so lange, bis &netscape; und Opera starten? In den meisten Fällen liegt es daran, dass Ihre DNS-Einstellungen fehlerhaft sind. Sowohl &netscape; als auch Opera stellen Anfragen an DNS, wenn Sie gestartet werden. Das Fenster des Browsers erscheint erst, wenn das Programm eine Antwort erhalten hat oder es festgestellt hat, dass Ihr System nicht an ein Netzwerk angeschlossen ist. Ich habe die Ports-Sammlung mit CVSup aktualisiert. Viele Ports lassen sich danach nicht mehr bauen und geben seltsame Fehlermeldungen aus. Was ist passiert? Ist die Ports-Sammlung kaputt? Sie sollten immer die Teilsammlung ports-base aktualisieren, wenn Sie nur Teile der Ports-Sammlung mit Hilfe der CVSup-Teilsammlungen - aktualisieren. Die Erklärung dazu finden Sie im - - Handbuch. + aktualisieren. Die Erklärung dazu finden Sie im Handbuch. Wie erzeuge ich Audio-CDs aus MIDI-Dateien? Installieren Sie zuerst den Port audio/timidity++. Danach - müssen Sie manuell die GUS-Patche von - Eric A. Welsh von audio/timidity++. Danach müssen Sie + manuell die GUS-Patche von Eric A. Welsh von installieren. Wenn TiMidity++ richtig installiert wurde, können Sie mit dem folgenden Kommando MIDI-Dateien in das WAV-Format konvertieren: &prompt.user; timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid Die WAV-Dateien können dann in andere Formate - konvertiert werden oder (wie im - FreeBSD-Handbuch + konvertiert werden oder (wie im &os;-Handbuch beschrieben) auf Audio-CDs gebrannt werden. Kernelkonfiguration Ich möchte meinen Kernel anpassen. Ist das schwierig? Überhaupt nicht! Lesen Sie den Abschnitt zur Kernelkonfiguration im Handbuch. Der neue kernel wird zusammen mit seinen - Modulen im Verzeichnis /boot/kernel - installiert werden. Der alte Kernel und dessen Module wird in - das Verzeichnis /boot/kernel.old verschoben, - damit Sie, wenn Sie einen Fehler beim herumexperimentieren mit - Ihrer Konfiguration gemacht haben, die vorherige Version Ihres - Kernels starten können. + Modulen im Verzeichnis /boot/kernel installiert werden. + Der alte Kernel und dessen Module wird in das Verzeichnis + /boot/kernel.old + verschoben, damit Sie, wenn Sie einen Fehler beim + herumexperimentieren mit Ihrer Konfiguration gemacht haben, die + vorherige Version Ihres Kernels starten können. Was kann ich machen, wenn meine Kernel-Kompilierungen fehlschlagen, weil _hw_float fehlt? Sie haben wahrscheinlich npx0 aus Ihrer Kernelkonfigurationsdatei entfernt, weil Sie keinen mathematischen Co-Prozessor besitzen. Die Gerätedatei npx0 ist allerdings VERPFLICHTEND. Ihre Hardware unterstützt Gleitkommaoperationen, selbst wenn dafür kein eigenes Bauteil (wie bei den 386er-Prozessoren) mehr verwendet wird. Daher müssen Sie die Gerätedatei npx0 einbinden. Selbst wenn es Ihnen gelingen sollte, einen Kernel ohne npx0-Unterstützung zu bauen, werden Sie diesen nicht booten können. Warum ist mein Kernel so groß (über 10 MByte)? Sie haben Ihren Kernel wahrscheinlich im Debug Modus erstellt. Ein Debug-Kernel enthält viele zusätzliche Informationen für die Fehlersuche, daher ist er so groß. Bitte beachten Sie, dass die Verwendung eines Debug-Kernels die Performance des Systems nicht oder nur minimal reduziert; außerdem ist es für den Fall einer system panic sehr praktisch, einen Debug-Kernel zur Hand zu haben. Wenn Ihnen allerdings der Plattenplatz ausgeht oder Sie einfach rein prinzipiell keinen Debug-Kernel benutzen wollen, müssen die beiden folgenden Bedingungen erfüllt sein: Die Konfigurationsdatei für Ihren Kernel darf die folgende Zeile nicht enthalten: makeoptions DEBUG=-g Sie dürfen &man.config.8; nicht mit dem Parameter starten. Sollten Sie sich nicht an diese Einschränkungen halten, wird Ihr Kernel im Debug-Modus erstellt. Solange Sie sich an diese Einschränkungen halten, können Sie Ihren Kernel ganz normal erstellen und die Größe des Kernels sollte deutlich sinken. Ein normaler Kernel ist nur 1.5 MByte bis 2 MByte groß. Wieso erhalte ich Meldungen über Interrupt-Konflikte, wenn ich eine Karte mit mehreren seriellen Schnittstellen einsetzen will? Wenn ich einen Kernel mit Unterstützung für serielle Multi-Port-Schnittstellen kompiliere, bekomme ich den Hinweis, dass nur der erste Port geprüft wird und die restlichen auf Grund von Interrupt-Konflikten übersprungen werden. Wie kann ich das Beheben? Das Problem besteht darin, dass in &os; Code integriert ist, um den Kernel vor Abstürzen aufgrund von Hardware- oder Software-Konflikten zu bewahren. Behoben wird es, indem die IRQ-Angaben für alle Ports, bis auf einen ausgelassen werden. Hier ist ein Beispiel: # # Multiport high-speed serial line - 16550 UARTS # device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr Wieso kann ich nicht einmal den Standard-Kernel (GENERIC) bauen? Es gibt eine Reihe von möglichen Ursachen für dieses Problem: Sie benutzen die neuen Kommandos make buildkernel und make installkernel nicht, obwohl die Sourcen auf Ihrem System nicht zum laufenden System passen (z.B. benutzen Sie die Sourcen von &rel.current;-RELEASE auf einem System mit &rel2.current;-RELEASE). Wenn Sie ein Upgrade durchführen wollen, sollten Sie /usr/src/UPDATING lesen, beachten Sie insbesondere den Abschnitt COMMON ITEMS gegen Ende des Dokuments. Sie benutzen zwar make buildkernel und make installkernel, aber Sie haben nicht darauf geachtet, dass vorher ein komplettes make buildworld durchgelaufen sein muss. Um seine Arbeit erledigen zu können, benötigt make buildkernel Dateien, die von make buildworld erzeugt werden. Auch wenn Sie &os;-STABLE verwenden, ist es durchaus möglich, dass Sie die Sourcen genau zum falschen Zeitpunkt aktualisiert haben: Während Sie gerade modifiziert wurden oder kurzzeitig fehlerhaft waren. Eine absolute und vollständige Garantie, dass Sie die Sourcen compilieren können, gibt es nur für die Releases, bei &os;-STABLE ist das nicht immer so. Wenn Sie es noch nicht versucht haben, sollten Sie ihre Source nochmals aktualisieren. Es ist denkbar, dass der von Ihnen genutzte Server zurzeit Probleme hat, benutzen Sie daher testweise auch einmal einen anderen Server. Wie kann ich prüfen, welchen Scheduler das System benutzt? Überprüfen Sie dazu, ob auf Ihrem System die sysctl-Variable kern.sched.quantum existiert. Ist dies bei Ihnen der Fall, werden Sie eine Ausgabe ähnlich der folgenden sehen: &prompt.user; sysctl kern.sched.quantum kern.sched.quantum: 99960 Wenn die sysctl-Variable kern.sched.quantum existiert, dann verwenden Sie den 4BSD-Scheduler (&man.sched.4bsd.4;). Existiert sie nicht, erzeugt &man.sysctl.8; eine Fehlermeldung (die Sie aber ignorieren können): &prompt.user; sysctl kern.sched.quantum sysctl: unknown oid 'kern.sched.quantum' Seit &os; 5.3-RELEASE wird der Name des verwendeten Schedulers direkt als Wert der sysctl-Variable kern.sched.name ausgegeben: &prompt.user; sysctl kern.sched.name kern.sched.name: 4BSD Was bedeutet kern.sched.quantum? kern.sched.quantum ist die maximale Anzahl Ticks, die ein Prozess ununterbrochen laufen kann. Die Variable ist charakteristisch für den 4BSD Scheduler, somit kann der verwendete Scheduler über die Existenz dieser Variablen bestimmt werden. Platten, Dateisysteme und Boot Loader Wie kann ich meine neue Festplatte in mein &os;-System einbinden? Lesen Sie den Abschnitt Hinzufügen von Laufwerken im Handbuch. Wie verschiebe ich mein System auf meine neue, große Platte? Die beste Methode ist, das Betriebssystem auf der neuen Platte neu zu installieren und danach die Daten zu verschieben. Wenn Sie -STABLE über eine Release hinaus genutzt haben oder eine Release aktualisiert haben, ist das sehr empfehlenswert. Sie können auf beiden Platten &man.boot0cfg.8; installieren und die beiden Versionen so lange parallel betreiben, bis Ihnen die neue Konfiguration gefällt. Wenn Sie dies tun wollen, können Sie im übernächsten Absatz erfahren, wie sie Ihre Daten verschieben können. Falls Sie sich entscheiden, das nicht zu tun, müssen Sie Ihre neue Platte partitionieren und labeln. Benutzen Sie dafür entweder &man.sysinstall.8; oder &man.fdisk.8; und &man.disklabel.8;. Weiterhin sollten Sie mit &man.boot0cfg.8; auf beiden Platten booteasy installieren, damit Sie in der Lage sind, das alte und das neue System abwechselnd zu starten, nachdem der Kopiervorgang abgeschlossen ist. Im Formatting-Media Tutorial finden Sie weitere Informationen zu diesen Schritten. Nachdem Sie die neue Platte eingerichtet haben, können Sie Ihre Daten verschieben. Dummerweise können Sie die Daten nicht einfach kopieren. Dinge wie - Gerätedateien (in /dev), + Gerätedateien (in /dev), erweiterte Dateiattribute und symbolische Links führen dazu, dass das in die Hose geht. Sie müssen ein Programm benutzen, das damit umgehen kann, und das ist &man.dump.8;. Es wird oft empfohlen, die Daten im Single-User-Modus zu verschieben, aber das ist nicht unbedingt notwendig. Sie sollten auf gar keinen Fall etwas anderes als &man.dump.8; und &man.restore.8; benutzen, um Ihr Root-Filesystem zu verschieben. Es könnte auch mit &man.tar.1; funktionieren - oder auch nicht. Sie sollten ebenfalls &man.dump.8; und &man.restore.8; benutzen, wenn Sie eine komplette Partition auf eine andere, leere Partition verschieben wollen. Um die Daten einer Partition mit dump auf eine andere Partition zu verschieben, müssen Sie die folgenden Schritte ausführen: Richten Sie in der neuen Partition mit newfs ein Dateisystem ein. Mounten Sie die Partition temporär an einer geeigneten Stelle. Wechseln Sie mit cd in dieses Verzeichnis. Lesen Sie die alte Partition mit dump aus und lenken Sie die Ausgabe auf die neue Partition um. Wenn Sie zum Beispiel root auf /dev/ad1s1a - verschieben wollen und diese derzeit auf - /mnt gemountet - ist, bedeutet das: + verschieben wollen und diese derzeit auf /mnt + gemountet ist, bedeutet das: &prompt.root; newfs /dev/ad1s1a &prompt.root; mount /dev/ad1s1a /mnt &prompt.root; cd /mnt &prompt.root; dump 0af - / | restore xf - Wenn Sie Ihre Partitionen mit &man.dump.8; umorganisieren wollen, steht Ihnen etwas mehr Arbeit - bevor. Wenn Sie eine Partition wie - /var in die übergeordnete Partition - verschieben wollen, müssen Sie zunächst eine neue - Partition erzeugen, die die beiden alten Partitionen + bevor. Wenn Sie eine Partition wie /var in die übergeordnete + Partition verschieben wollen, müssen Sie zunächst eine + neue Partition erzeugen, die die beiden alten Partitionen aufnehmen kann. Der zweite Schritt ist, wie oben beschrieben die übergeordnete Partition in die neue Partition zu verschieben. Im dritten und letzten Schritt verschieben Sie dann die untergeordnete Partition in das leere Verzeichnis, das im zweiten Schritt entstanden ist: &prompt.root; newfs /dev/ad1s1a &prompt.root; mount /dev/ad1s1a /mnt &prompt.root; cd /mnt &prompt.root; dump 0af - / | restore xf - &prompt.root; cd var &prompt.root; dump 0af - /var | restore xf - Wenn Sie ein Verzeichnis aus einer Partition herauslösen wollen, also z.B. /var auf eine eigene Partition verlegen wollen, dann müssen Sie zunächst beide Partitionen anlegen. Danach müssen Sie die untergeordnete Partition im passenden Verzeichnis unterhalb des temporären mount points mounten und zum Abschluß die alte Partition verschieben: &prompt.root; newfs /dev/ad1s1a &prompt.root; newfs /dev/ad1s1d &prompt.root; mount /dev/ad1s1a /mnt &prompt.root; mkdir /mnt/var &prompt.root; mount /dev/ad1s1d /mnt/var &prompt.root; cd /mnt &prompt.root; dump 0af - / | restore xf - Eventuell sagen Ihnen für Benutzerdaten &man.cpio.1;, &man.pax.1; oder &man.tar.1; eher zu als &man.dump.8;. Allerdings haben alle diese Programme den Nachteil, dass sie die erweiterten Dateiattribute nicht verstehen, daher sollten Sie bei ihrem Einsatz aufpassen. Gefährdet eine dangerously dedicated Festplatte meine Gesundheit? Die Installationsprozedur bietet Ihnen zwei verschiedene Methoden, Ihre Festplatte(n) zu partitionieren. Die Standardmethode macht sie kompatibel zu anderen Betriebssystemen auf derselben Maschine, indem &man.fdisk.8;-Tabelleneinträge (unter &os; slices genannt) mit einem &os;-Eintrag, in dem eigene Partitionen untergebracht werden, benutzt werden. Optional kann ausgewählt werden, ob ein Boot-Selektor installiert werden soll, um zwischen den möglichen Betriebssystemen auf der/den Platte(n) wechseln zu können. Bei der zweiten Methode wird die gesamte Platte für &os; genutzt und nicht versucht, kompatibel zu anderen Betriebssystemen zu sein. Nun, warum wird es gefährlich genannt? Eine Platte in diesem Modus enthält nichts, was von normalen PC-Hilfsprogrammen als gültige &man.fdisk.8;-Tabelle betrachtet werden würde. Abhängig von der Qualität ihres Designs werden sie sich bei Ihnen beschweren, sobald sie mit einer solchen Platte in Kontakt kommen, oder noch schlimmer, sie könnten den Bootstrap von &os; beschädigen, ohne Sie zu fragen oder darauf hinzuweisen. Hinzu kommt, dass vom Layout von dangerously dedicated Platten bekannt ist, dass es viele BIOSe verwirrt, einschließlich solcher von AWARD (wie es z.B. im HP Netserver oder Micronics-Systemen, sowie vielen anderen zu finden ist) und Symbios/NCR (für die bekannte 53C8xx-Reihe von SCSI-Controllern). Dies ist keine vollständige Liste - es gibt weitere. Symptome für diese Verwirrung sind read error-Meldungen, die vom &os;-Bootstrap ausgegeben werden, wenn es sich selbst nicht finden kann, sowie Systemabstürze beim Booten. Warum gibt es diesen Modus dann überhaupt? Es spart ein paar kByte an Plattenplatz und kann echte Probleme verursachen, die zu einer Neuinstallation führen. Die Ursprünge des Dangerously dedicated Modus liegen in der Absicht, eines der häufigsten Probleme, das Erstinstallierer von &os; plagt, zu verhindern - die BIOS-Werte für die Geometrie einer Festplatte auf der Festplatte selbst anzupassen. Geometrie ist ein veraltetes Konzept, das aber immer noch die Grundlage für die Interaktion zwischen dem PC-BIOS und den Festplatten ist. Wenn das Installationsprogramm von &os; Slices erstellt, muss es sich die Lage dieser Slices auf der Festplatte in einer Art merken, die damit übereinstimmt, wie das BIOS erwartet, sie zu finden. Wenn das falsch geschieht, werden Sie nicht in der Lage sein, zu booten. Durch den Dangerously dedicated Modus wird versucht, dies zu umgehen, indem das Problem vereinfacht wird. In einigen Fällen klappt das zwar, aber er ist eher als allerletzter Ausweg gedacht - in 99 von 100 Fällen gibt es bessere Möglichkeiten, das Problem zu lösen. Wie vermeiden Sie also die Notwendigkeit zum DD Modus, wenn Sie installieren? Beginnen Sie, indem Sie sich notieren, welche Geometrie das BIOS für Ihre Platten benutzt. Sie können erreichen, dass der Kernel sie beim Booten ausgibt, indem Sie an der Eingabeaufforderung boot: angeben, oder boot -v im Loader verwenden. Kurz bevor das Installationsprogramm startet, wird der Kernel eine Liste mit den BIOS-Geometrien ausgeben. Keine Panik - warten Sie, bis das Installationsprogramm gestartet wurde und benutzen Sie Scrollback, um die Zahlen zu lesen. Typischerweise befinden sich die BIOS-Platten in derselben Reihenfolge, wie &os; Ihre Platten auflistet - zuerst IDE, dann SCSI. Wenn Sie Ihre Festplatte in Slices unterteilen, überprüfen Sie, ob die Plattengeometrie, die im FDISK-Menü angegeben ist, korrekt ist (das heißt mit den Einstellungen im BIOS übereinstimmen). Falls die Werte nicht stimmen, benutzen Sie G, um sie zu korrigieren. Diese Schritte sind nötig, wenn sich absolut nichts auf der Festplatte befindet, oder, wenn die Festplatte vorher in einem anderen System benutzt worden ist. Beachten Sie, dass dies nur für die Festplatte nötig ist, von der Sie booten wollen. Mit weiteren vorhandenen Platten wird &os; sich problemlos zurechtfinden. Wenn Sie es geschafft haben, dass das BIOS und &os; in der Festplattengeometrie übereinstimmen, dann sind Ihre Probleme ziemlich sicher vorüber - ohne, dass es nötig gewesen wäre, den DD-Modus zu benutzen. Falls sie jedoch immer noch mit der gefürchteten read error-Meldung begrüßt werden sollten, wenn Sie versuchen, zu booten, wird es Zeit, dass Sie Ihre Finger kreuzen und es einfach versuchen - es gibt nichts mehr zu verlieren. Um eine dangerously dedicated Festplatte wieder für einen normalen PC brauchbar zu machen, gibt es zwei Möglichkeiten. Die erste ist, ausreichend viele NULL-Bytes in den MBR zu schreiben, um irgendwelche nachfolgenden Installation glauben zu machen, dass es sich um eine leere Festplatte handelt. Sie können das zum Beispiel mit diesem Befehl tun: &prompt.root; dd if=/dev/zero of=/dev/rda0 count=15 Alternativ installiert der undokumentierte DOS-Befehl C:\> fdisk /mbr einen neuen Master-Boot-Record, das heißt der BSD-Bootstrap wird zerstört. Auf welchen Partitionen kann ich problemlos Soft Updates einsetzen? Ich habe gehört, das der - Einsatz von Soft Updates auf / - Probleme verursachen kann. + Einsatz von Soft Updates auf / Probleme verursachen kann. Die schnelle Antwort: Sie können Soft Updates bedenkenlos auf alle Partitionen benutzen. Die ausführliche Antwort: Es gab lange Zeit Bedenken, was den Einsatz von Soft Updates auf der root-Partition betrifft. Der Grund sind zwei Charakteristika der Soft Updates: Zum einen kann es bei einem Absturz des System auf einer Partition mit Soft Updates zum Datenverlust kommen. Die Partition ist zwar noch brauchbar, aber einige Daten können verloren gehen. Weiterhin kann es durch Soft Updates zu einem zeitweisen Mangel an Plattenplatz kommen. Bei der Benutzung von Soft Updates kann es bis zu dreißig Sekunden dauern, bis der Kernel Änderungen auf das physikalische Speichermedium schreibt. Wenn Sie eine große Datei löschen, ist diese Datei noch auf der Platte vorhanden, bis der Kernel die Löschoperation tatsächlich durchführt. Das kann zu einem sehr einfachen Problem führen: Stellen Sie sich vor, Sie löschen eine große Datei und legen gleich darauf eine andere große Datei an. Da die erste Datei noch nicht wirklich gelöscht wurde, ist eventuell nicht genug Platz für die zweite große Datei. Sie erhalten die Fehlermeldung, dass nicht genug freier Platz vorhanden ist, obwohl Sie ganz genau wissen, dass Sie gerade eben Platz geschaffen haben. Wenn Sie die Operation ein paar Sekunden später wiederholen, funktioniert alles wie von Geisterhand. Dieser Effekt hat mehr als einen Benutzer verwirrt und Zweifel an seiner geistigen Stabilität oder dem &os;-Dateisystem aufkommen lassen. Wenn der Kernel ein Datenpaket annimmt und das System abstürzt, bevor er dies Daten auf die Platte geschrieben hat, kann es zum Verlust oder zur Zerstörung von Daten kommen. Dieses Risiko ist nur sehr gering und normalerweise tragbar. Wenn Sie allerdings einen IDE-Write-Cache verwenden, steigt das Risiko; daher wird normalerweise empfohlen, auf den Einsatz dieser Technik zu verzichten, wenn Sie Soft Updates benutzen. Diese beiden Probleme betreffen alle Partitionen, die Soft Updates verwenden. Was bedeutet das für die Root-Partition? Die wichtigen Daten auf der Root-Partition ändern sich nur sehr selten. Dateien wie - /boot/kernel/kernel und der Inhalt - /etc werden nur bei der Wartung des + /boot/kernel/kernel und der Inhalt /etc werden nur bei der Wartung des Systems geändert, oder wenn Benutzer ihre Passwörter ändern. Wenn das System in den 30 Sekunden nach einer solchen Änderung abstürzt, ist es möglich, das Daten verloren gehen. Dieses Risiko ist in den meisten Fällen unerheblich, aber es ist vorhanden. Wenn das zu viel Risiko ist, dann sollten Sie Soft Updates nicht auf der Root-Partition einsetzen. - / war schon immer eine der - kleinsten Partitionen. Wenn Sie das Verzeichnis - /tmp direkt - auf / und in Ihrem - /tmp viel Betrieb ist, kann es - gelegentlich zu den oben beschriebenen Platzproblemen + / war schon immer eine + der kleinsten Partitionen. Wenn Sie das Verzeichnis + /tmp direkt auf + / und in Ihrem + /tmp viel Betrieb ist, kann + es gelegentlich zu den oben beschriebenen Platzproblemen kommen. Um das Problem zu lösen, sollten sie einen - symbolischen Link von /tmp nach - /var/tmp legen. + symbolischen Link von /tmp + nach /var/tmp legen. Was stimmt mit meinem &man.ccd.4; nicht? Das Symptom hierfür ist: &prompt.root; ccdconfig -C ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format Das geschieht für gewöhnlich, wenn Sie versuchen, die c Partitionen, die standardmäßig vom Typ unbenutzt sind, zu verbinden. Der &man.ccd.4;-Treiber verlangt Partitionen vom Typ FS_BSDFFS. Editieren Sie den Plattenlabel der Platten, die Sie zu verknüpfen versuchen und ändern Sie die Typen der Partitionen in 4.2BSD. Warum kann ich den Plattenlabel meines &man.ccd.4; nicht editieren? Das Symptom hierfür ist: &prompt.root; disklabel ccd0 (hier wird etwas vernünftiges ausgegeben; versuchen wir nun, es zu editieren) &prompt.root; disklabel -e ccd0 (editieren, speichern, beenden) disklabel: ioctl DIOCWDINFO: No disk label on disk; use "disklabel -r" to install initial label Der Grund ist, dass der von &man.ccd.4; zurückgelieferte Plattenlabel ein vorgetäuschter ist, der sich nicht wirklich auf der Platte befindet. Sie können das Problem beheben, indem Sie ihn explizit zurückschreiben, wie z.B. hier: &prompt.root; disklabel ccd0 > /tmp/disklabel.tmp &prompt.root; disklabel -Rr ccd0 /tmp/disklabel.tmp &prompt.root; disklabel -e ccd0 (nun wird es funktionieren) Kann ich andere fremde Dateisysteme unter &os; mounten? &os; unterstützt verschiedene fremde Dateisysteme. UFS UFS-CD-ROMs können unter &os; direkt gemountet werden. Das Mounten von Partitionen von Digital &unix; und anderen Systemen, die UFS unterstützen, könnte schwieriger sein, abhängig von den Details der Plattenpartitionierung des betreffenden Betriebssystems. ext2/ext3 &os; unterstützt ext2fs und ext3fs-Partitionen. Unter &man.mount.ext2fs.8; finden Sie weitere Informationen. NTFS Ein NTFS-Treiber, der nur Lesezugriffe gestattet, ist Teil von &os;. Weitere Informationen entnehmen Sie bitte der Hilfeseite &man.mount.ntfs.8;. Ein Port von - ntfs-3g - unterstützt Schreiboperationen auf NTFS (siehe ntfs-3g + unterstützt Schreiboperationen auf NTFS (siehe sysutils/fusefs-ntfs). FAT &os; enthält ein FAT-Treiber, der Lese- und Schreibzugriffe ermöglicht. Weitere Informationen entnehmen Sie bitte der Hilfeseite &man.mount.msdosfs.8;. ReiserFS &os; enthält einen Treiber, der Lesezugriffe auf ReiserFS-Partitionen erlaubt. Weitere Informationen dazu finden Sie in der Manualpage &man.mount.reiserfs.8;. ZFS Zum jetzigen Zeitpunkt enthält &os; eine Portierung von &sun;s ZFS Treiber. Die aktuelle Empfehlung ist, es nur auf &arch.amd64; Plattformen mit ausreichend Hauptspeicher zu verwenden. Mehr Informationen finden Sie in der Manualpage &man.zfs.8;. &os; unterstützt auch verschiedene Netzwerk-Dateisysteme, wie NFS (&man.mount.nfs.8;), NetWare (&man.mount.nwfs.8;), sowie die SMB-Dateisysteme von Microsoft (&man.mount.smbfs.8;). In Ports die auf FUSE - (sysutils/fusefs-kmod) - basieren, können Sie viele weitere Dateisysteme finden. + (sysutils/fusefs-kmod) basieren, + können Sie viele weitere Dateisysteme finden. Wie mounte ich eine erweiterte DOS-Partition? Die erweiterten DOS-Partitionen befinden sich hinter allen primären Partitionen. Wenn sich zum Beispiel eine Partition E als sekundäre DOS-Partition auf Ihrem zweiten SCSI-Laufwerk befindet, wird eine Gerätedatei für - Slice 5 im Verzeichnis - /dev erstellt, also mounten Sie diese + Slice 5 im Verzeichnis /dev erstellt, also mounten Sie diese einfach: &prompt.root; mount -t msdos /dev/da1s5 /dos/e Gibt es ein verschlüsselndes Dateisystem für &os;? Ja. Sie können entweder &man.gbde.8; oder &man.geli.8; einsetzen. Lesen Sie dazu auch den Abschnitt - Partitionen + Partitionen verschlüsseln des Handbuchs. Wie kann ich den &windowsnt;-Loader zum Booten von &os; verwenden? Das grundsätzliche Vorgehen besteht darin, dass Sie den ersten Sektor Ihrer eigentlichen &os;-Rootpartition in eine Datei auf der DOS/&windowsnt;-Partition kopieren. Angenommen, sie nennen die Datei etwa c:\bootsect.bsd (durch c:\bootsect.dos inspiriert), dann können Sie die Datei c:\boot.ini etwa wie folgt editieren: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" C:\BOOTSECT.BSD="&os;" C:\="DOS" Falls &os; auf derselben Platte, wie die &windowsnt;-Bootpartition installiert ist, kopieren Sie einfach /boot/boot1 nach C:\BOOTSECT.BSD. Falls &os; auf einer anderen Platte installiert ist, wird /boot/boot1 nicht funktionieren; Sie brauchen in diesem Fall /boot/boot0. /boot/boot0 muss mit &man.sysinstall.8; installiert werden. Wählen Sie dazu den &os;-Bootmanager aus, wenn Sie gefragt werden, ob sie einen Bootmanager installieren wollen. Dieser Schritt ist notwendig, weil /boot/boot0 eine leere Partitionstabelle enthält, die von &man.sysinstall.8; mit NULL-Zeichen ausgefüllt wird, bevor /boot/boot0 in den MBR kopiert wird. Sie dürfen auf gar keinen Fall einfach /boot/boot0 statt /boot/boot1 kopieren. Wenn Sie das doch tun sollten, wird Ihre Partitionstabelle überschrieben und Ihr Rechner wird nicht mehr starten! Wenn der Bootmanager von &os; gestartet wird, merkt er sich das zuletzt gestartet Betriebssystem, indem er dessen Partition als aktiv markiert. Danach kopiert er sich selbst (alle 512 Bytes) in den MBR. Wenn Sie also einfach /boot/boot0 nach C:\BOOTSECT.BSD kopieren, würde der Bootmanager eine leere Partitionstabelle (mit einem als aktiv markiertem Eintrag) in den MBR kopieren. Wie boote ich &os; und &linux; mit LILO? Falls sich &os; und &linux; auf derselben Platte befinden, folgen Sie einfach den Installationsanweisungen von LILO zum Booten eines Nicht-&linux;-Betriebssystems. Ganz knapp sind dies: Booten Sie &linux; und fügen Sie die folgenden Zeilen in die Datei /etc/lilo.conf ein: other=/dev/hda2 table=/dev/hda label=&os; (hierbei wird angenommen, dass Ihre &os;-Partition &linux; unter /dev/hda2 bekannt ist; ändern Sie dies entsprechend Ihren Einstellungen). Führen Sie nun als root den Befehl lilo aus und Sie sind fertig. Falls &os; sich auf einer anderen Platte befindet, müssen Sie loader=/boot/chain.b zu den LILO-Angaben hinzufügen. Zum Beispiel: other=/dev/dab4 table=/dev/dab loader=/boot/chain.b label=&os; In einigen Fällen könnte es sein, dass Sie beim &os;-Bootloader die BIOS-Laufwerksnummer angeben müssen, um von der zweiten Platte booten zu können. Wenn Ihre &os;-SCSI-Platte vom BIOS zum Beispiel als BIOS-Platte 1 erkannt wird, müssen Sie am Prompt des &os;-Bootloaders eingeben: Boot: 1:da(0,a)/boot/kernel/kernel Sie können &man.boot.8; so konfigurieren, dass das beim Booten automatisch geschieht. Das &linux;+FreeBSD mini-HOWTO ist ein guter Ratgeber bei Fragen zur Interaktion von &os; und &linux;. Wie boote ich &os; und &linux; mit GRUB? Es ist sehr einfach, GRUB zum Starten von &os; einzusetzen. Dazu müssen Sie lediglich die folgenden Zeilen in die Konfigurationsdatei /boot/grub/menu.lst (oder /boot/grub/grub.conf bei manchen Systemen wie z.B. Red Hat Linux und dessen Abkömmlinge) aufnehmen. title &os; 6.1 root (hd0,a) kernel /boot/loader Dabei steht hd0,a für die root-Partition Ihrer ersten Festplatte. Benötigen Sie auch die Slice-Nummer, so verwenden Sie einen Eintrag der Form (hd0,2,a). In der Voreinstellung ist die Angabe der Slice-Nummer aber nicht nötig, da GRUB automatisch das erste Slice (das die Bezeichnung a hat) nutzt. Wie boote ich &os; und &linux; mit BootEasy? Installieren Sie LILO am Anfang Ihrer &linux;-Bootpartition, anstatt im Master Boot Record. Sie können LILO dann von BootEasy aus booten. Wenn Sie &windows; und &linux; benutzen, wird das ohnehin empfohlen, um es einfacher zu machen, &linux; wieder zu booten, wenn es nötig werden sollte, dass Sie &windows; neu installieren (&windows; ist ein eifersüchtiges Betriebssystem, das kein anderes Betriebssystem im Master Boot Sektor duldet). Wie kann ich das ??? des Boot-Managers durch etwas Sinnvolles ersetzen? Solange Sie den Boot-Manager nicht komplett neu schreiben, gar nicht. Allerdings gibt es in der Kategorie - sysutils der Ports diverse - Boot-Manager, die diese Funktionalität - bieten. + sysutils der Ports diverse + Boot-Manager, die diese Funktionalität bieten. Ich habe ein Wechsellaufwerk. Wie benutze ich es? Ob es sich um ein Wechsellaufwerk handelt, um ein &iomegazip; oder ein EZ-Laufwerk (oder sogar ein Diskettenlaufwerk, wenn Sie es auf diese Weise benutzen möchten), oder um eine neue Festplatte - wenn es einmal installiert und vom System erkannt ist und Sie Ihre Kassette/Diskette/was_auch_immer eingelegt haben, ist das Vorgehen bei allen Geräten ziemlich ähnlich. (dieser Abschnitt basiert auf Mark Mayo's ZIP-FAQ) Wenn es sich um ein ZIP- oder Diskettenlaufwerk handelt, und sich bereits ein DOS-Dateisystem darauf befindet, können Sie einen Befehl wie diesen für eine Diskette benutzen: &prompt.root; mount -t msdos /dev/fd0c /floppy oder diesen: &prompt.root; mount -t msdos /dev/da2s4 /zip für eine ZIP-Disk mit der Herstellerkonfiguration. Benutzen Sie bei anderen Platten &man.fdisk.8; oder &man.sysinstall.8;, um herauszufinden, wie sie konfiguriert sind. Die restlichen Beispiele sind für ein ZIP-Laufwerk unter da2, der dritten SCSI-Platte. Wenn es sich nicht um eine Diskette oder eine Wechselplatte handelt, die Sie mit anderen Leuten austauschen wollen, ist es wahrscheinlich besser, ein BSD-Dateisystem darauf zu installieren. Hierdurch bekommen Sie Unterstützung für lange Dateinamen, eine mindestens doppelt so hohe Leistungsausnutzung und wesentlich höhere Stabilität. Zunächst müssen Sie die Partitionen/Dateisysteme auf DOS-Ebene nochmals erstellen. Sie können entweder &man.fdisk.8; oder &man.sysinstall.8; benutzen, oder, bei einem kleinen Laufwerk, dem Sie eine Unterstützung für mehrere Betriebssysteme nicht zumuten wollen, entfernen Sie einfach die komplette FAT Partitionstabelle (Slices) und benutzen Sie einfach die BSD-Partitionierung: &prompt.root; dd if=/dev/zero of=/dev/rda2 count=2 &prompt.root; disklabel -Brw da2 auto Sie können &man.disklabel.8; oder &man.sysinstall.8; benutzen, um mehrere BSD-Partitionen zu erstellen. Dies werden Sie sicherlich bei einer fest eingebauten Platte wollen, aber bei einem Wechsellaufwerk wie einem ZIP ist das wahrscheinlich irrelevant. Zum Schluß erstellen Sie ein neues Dateisystem - dieses befindet sich auf unserem ZIP-Laufwerk und belegt die gesamte Platte: &prompt.root; newfs /dev/rda2c anschließend mounten Sie es: &prompt.root; mount /dev/da2c /zip Und sicherlich ist es keine schlechte Idee, eine Zeile ähnlich der folgenden in die Datei /etc/fstab einzufügen, damit Sie in Zukunft nur mount /zip einzugeben brauchen: /dev/da2c /zip ffs rw,noauto 0 0 Wieso erhalte ich die Meldung Incorrect super block beim Mounten einer CD-ROM? Sie müssen &man.mount.8; mitteilen, was für ein Gerät Sie mounten wollen. Genauere Informationen dazu finden Sie im Kapitel Optische Speichermedien des Handbuch, genauer gesagt im Abschnitt Benutzung von Daten-CDs. Wieso erhalte ich die Meldung Device not configured, wenn ich eine CD-ROM mounte? Das bedeutet im allgemeinen, dass sich keine CD-ROM im Laufwerk befindet, oder, dass das Laufwerk auf dem Bus nicht sichtbar ist. Dieses Problem wird im Kapitel Benutzung von Daten-CDs des Handbuchs ausführlich diskutiert. Wieso werden alle Sonderzeichen in den Dateinamen auf meinen CDs durch ? ersetzt, wenn ich die CD unter &os; benutze? Wahrscheinlich werden auf der CD-ROM die Joliet Erweiterungen für die Speicherung von Datei- und Verzeichnisnamen benutzt. Werfen Sie einen Blick in das Kapitel Erzeugung von CD-ROMs im Handbuch, speziell in den Abschnitt über Benutzung von Daten-CDs. [Anmerkung des Übersetzers: Es geht hier nicht um die deutschen Sonderzeichen, da diese schon im normalen ISO8859-1 enthalten sind. Die Probleme treten auf, wenn man z.B. russische CDs (ISO8859-5) verwendet.] Ich habe eine CD mit &os; gebrannt und kann sie nicht mit anderen Betriebssystemen lesen. Warum? Sie haben wahrscheinlichste eine Datei direkt auf CD geschrieben, statt ein ISO 9660-Dateisystem erzeugt zu haben. Werfen Sie einen Blick in das Kapitel Erzeugung von CD-ROMs im Handbuch, speziell in den Abschnitt über reine Daten-CDs. Wie kann ich ein Image einer Daten-CD erzeugen? Diese Information finden Sie im Abschnitt Kopieren von CD-ROMs des Handbuchs. Weitere Informationen über die Arbeit mit CD-ROMs finden Sie im Abschnitt Erzeugen von CD-ROMs im Kapitel Speichermedien des Handbuchs. Wieso kommt mount nicht meiner Audio-CD zurecht? Wenn Sie versuchen sollten, eine Audio-CD zu mounten, erhalten Sie die Meldung cd9660: /dev/acd0c: Invalid argument. Der Grund dafür ist, dass mount nur für Dateisysteme vorgehen ist. Audio CDs habe kein Dateisystem, sondern nur Daten. Wenn Sie eine Audio CD auslesen wollen, brauchen Sie ein entsprechendes Programm - wie z.B. audio/xmcd - aus den Ports. + wie z.B. audio/xmcd aus den Ports. Wie nutze ich mount für eine Multi-Session CD? Standardmäßig benutzt &man.mount.8; den letzten (aktuellsten) Daten-Track der CD. Wenn Sie eine ältere Session benutzen wollen, müssen Sie diese mit der Option definieren. Weitere Informationen finden Sie in der Onlinehilfe zu &man.mount.cd9660.8; Wie lasse ich normale Benutzer Disketten, CD-ROMs und andere Wechseldatenträger mounten? Normale Benutzer können dazu berechtigt werden, Geräte zu mounten. Das geht so: Setzen Sie als root die sysctl-Variable vfs.usermount auf 1: &prompt.root; sysctl -w vfs.usermount=1 Ordnen Sie als root den Block-Geräten, die den Wechsellaufwerken zugeordnet sind, die entsprechenden Zugriffsrechte zu. Wenn Sie zum Beispiel den Benutzer den Zugriff auf das erste Diskettenlaufwerk zu erlauben wollen: &prompt.root; chmod 666 /dev/fd0 Um den Mitgliedern der Gruppe operator den Zugriff auf das CD-ROM zu gestatten: &prompt.root; chgrp operator /dev/acd0c &prompt.root; chmod 640 /dev/acd0c Sie müssen zusätzlich /etc/devfs.conf anpassen, weil diese Einstellungen ansonsten beim Systemneustart verloren gehen. Damit normale Benutzer beispielsweise das erste Diskettenlaufwerk mounten können, fügen Sie als root folgende Zeilen in /etc/devfs.conf ein: # Allen Benutzern erlauben, das erste Diskettenlaufwerk zu mounten. own /dev/fd0 root:operator perm /dev/fd0 0666 Damit alle Mitglieder der Gruppe operator das CD-ROM-Laufwerk mounten können, die folgenden Zeilen: # Alle Mitglieder der Gruppe operator dürfen CD-ROMs mounten. own /dev/acd0 root:operator perm /dev/acd0 0660 Fügen Sie zum Abschluss die Zeile vfs.usermount=1 in die Datei /etc/sysctl.conf ein, damit die Einstellung bei einem Neustart des Systems automatisch erhalten bleibt. Alle Benutzer können nun /dev/fd0 auf ein Verzeichnis, das ihnen gehört, mounten: &prompt.user; mkdir ~/my-mount-point &prompt.user; mount -t msdos /dev/fd0 ~/my-mount-point Die zur Gruppe operator gehörenden Benutzer können nun /dev/acd0c auf ein Verzeichnis, das ihnen gehört, mounten: &prompt.user; mkdir ~/my-mount-point &prompt.user; mount -t cd9660 /dev/acd0c ~/my-mount-point Das Unmounten des Gerätes ist simpel: &prompt.user; umount ~/my-mount-point Die Aktivierung von vfs.usermount hat jedoch negative Auswirkungen auf Sicherheitsaspekte. Ein besserer Weg, um auf &ms-dos;-formatierte Datenträger zuzugreifen, ist die Benutzung des - Packages - emulators/mtools. + Packages emulators/mtools. Denken Sie daran, dass Sie die Gerätenamen in diesen Beispielen an Ihre Konfiguration anpassen müssen. Wieso geben die Befehle du und df unterschiedliche Werte für den freien Plattenplatz aus? Der Grund ist die Funktionsweise von du und df. du geht durch einen Dateibaum, ermittelt die Größe jeder einzelnen Datei, und gibt die Summe aus. df fragt lediglich das Dateisystem wie viel Platz noch frei ist. Das scheint zwar auf den ersten Blick sehr ähnlich zu sein; allerdings wird sich ein leeres Verzeichnis auf die Ausgabe von df auswirken, während es auf das Ergebnis von du keinen Einfluss hat. Wenn Sie eine Datei löschen, während sie von einem Programm genutzt wird, wird diese Datei erst gelöscht, wenn sie vom Programm freigegeben wird. Allerdings wird die Datei sofort aus dem Verzeichnis entfernt. Sie können dieses Verhalten mit einem Programm wie more sehr einfach nachvollziehen. Dazu brauchen Sie nur eine Datei, die groß genug ist, um die Ausgabe von du und df zu beeinflussen. Bei der Größe aktueller Platten muss diese Datei schon sehr groß sein! Wenn Sie diese Datei löschen, während Sie sie sich in more anzeigen lassen, hat more kein Problem. Der Eintrag für die Datei wird lediglich aus dem Verzeichnis entfernt, damit kein anderes Programm mehr darauf zugreifen kann. Laut du ist die Datei verschwunden – es hat das Verzeichnis untersucht und die Datei nicht gefunden. Laut df ist die Datei aber vorhanden, da sie im Dateisystem immer noch Platz belegt. Sobald Sie more beenden, werden die Ergebnisse von du und df wieder übereinstimmen. Bitte beachten Sie, dass die Freigabe des Plattenplatzes durch die Soft Updates um bis zu 30 Sekunden verzögert werden kann. Die oben beschriebene Situation tritt sehr häufig auf Web-Servern auf. Viele Anwender installieren einen &os; Web-Server und vergessen die Rotation der - Logfiles, bis irgendwann die Partition - /var überläuft. Der + Logfiles, bis irgendwann die Partition /var überläuft. Der Administrator löscht die Datei, aber das System beschwert sich immer noch über fehlenden Plattenplatz. Die Datei wird erst freigegeben, wenn der Web-Server beendet und neu gestartet wird; dadurch kann das System den Plattenplatz freigeben. Um solche und ähnliche Unfälle zu verhindern, sollten Sie &man.newsyslog.8; einsetzen. Wie kann ich den Swap-Bereich vergrößern? Im Kapitel Konfiguration und Tuning des Handbuches gibt es einen Abschnitt mit einer Schritt-für-Schritt Anleitung. Warum ist meine Festplatte unter &os; kleiner, als sie laut Hersteller sein soll? Festplattenhersteller definieren ein Gigabyte als eine Milliarde Bytes, für &os; ist ein Gigabyte hingegen 1.073.741.824 Bytes groß. Aus diesem Grund wird für eine Platte, die laut Herstellerangaben 80 GB groß ist, während des Bootvorgangs eine Größe von 76.319 MB angezeigt. Beachten Sie auch, dass &os; (in der Voreinstellung) 8 % des Plattenplatzes für sich reserviert. Warum kann eine Partition zu mehr als 100% gefüllt sein? Ein Teil jeder UFS Partition, in der Vorgabe sind das 8%, ist für das Betriebssystem und den Benutzer root reserviert. &man.df.1; rechnet diesen Teil bei der Ausgabe der Capacity Spalte nicht ein, so dass dort Werte über 100% angezeigt werden können. Die Anzahl der Blöcke in der blocks Spalte ist ebenfalls um 8% größer als die Summe der benutzten und verfügbaren Blöcke (die Spalten Used und Avail). Wie viel Platz reserviert wird, können Sie mit der Option von &man.tunefs.8; einstellen. Systemadministration Wo befinden sich die Konfigurationsdateien für den Systemstart? /etc/defaults/rc.conf (siehe &man.rc.conf.5;) ist die primäre Konfigurationsdatei. - Die Startskripten des Systems, wie /etc/rc - und /etc/rc.d (siehe &man.rc.8;) + Die Startskripten des Systems, wie + /etc/rc und + /etc/rc.d (siehe &man.rc.8;) inkludieren diese Datei. Ändern Sie diese Datei nicht! Wenn Sie den Wert einer der in /etc/defaults/rc.conf gesetzten Variablen ändern wollen, fügen Sie die entsprechende Zeile in die Datei /etc/rc.conf ein und ändern die Zeile dort. Wenn Sie zum Beispiel den mitgelieferten DNS-Server &man.named.8 aktivieren wollen, müssen Sie lediglich das folgende Kommando eingeben: &prompt.root; echo named_enable="YES" >> /etc/rc.conf Wenn Sie lokale Server starten wollen, müssen - Sie passende Shellskripten im Verzeichnis - /usr/local/etc/rc.d/ ablegen. Die + Sie passende Shellskripten im Verzeichnis /usr/local/etc/rc.d/ ablegen. Die Dateien müssen als ausführbar markiert sein und die Dateiberechtigungen 555 besitzen. Wie kann ich am Einfachsten einen Benutzer hinzufügen? Benutzen Sie den Befehl &man.adduser.8; und für kompliziertere Fälle den Befehl &man.pw.8;. Benutzen Sie den Befehl &man.rmuser.8;, um einen Benutzer wieder zu löschen. Sie können, wenn nötig. auch &man.pw.8; benutzen. Warum erhalte ich Meldungen wie root: not found, nachdem ich meine crontab geändert habe? Die übliche Ursache dieses Problems ist, dass Sie die crontab des Systems (/etc/crontab) geändert und dann mit &man.crontab.1; installiert haben: &prompt.root; crontab /etc/crontab Diese Vorgehensweise ist falsch. Die crontab des Systems hat ein anderes Format als die crontabs für die einzelnen Benutzer, die mit &man.crontab.1; aktualisiert werden (genauere Informationen über die Unterschiede erhalten Sie in &man.crontab.5;). Wenn Sie so vorgegangen sind, ist die zweite crontab einfach nur eine Kopie von /etc/crontab, allerdings im falschen Format. Löschen Sie sie mit dem folgenden Befehl: &prompt.root; crontab -r Wenn Sie /etc/crontab wieder ändern müssen, sollten Sie einfach gar nichts tun, um &man.cron.8; über die Änderung zu informieren, er erkennt die Änderung automatisch. Wenn Sie ein Kommando jeden Tag, jede Woche oder jeden Monat ausführen lassen wollen, ist es wahrscheinlich - einfacher, wenn Sie entsprechende Shell-Scripte in - /usr/local/etc/periodic ablegen. + einfacher, wenn Sie entsprechende Shell-Scripte in /usr/local/etc/periodic ablegen. Diese werden dann von &man.periodic.8; zusammen mit den anderen regelmäßigen cron Tätigkeiten ausgeführt. Der eigentliche Grund für den Fehler ist die Tatsache, dass die crontab des Systems ein zusätzliches Feld enthält; dieses Feld gibt an, mit welcher Benutzerkennung der Befehl ausgeführt werden soll. In der mitgelieferten crontab ist das bei allen Einträgen die Benutzerkennung root. Wenn diese Datei als die crontab des Benutzers username (die nicht mit der crontab des Systems identisch ist) verwendet wird, hält &man.cron.8; die Zeichenkette root für den Namen des zu startenden Programmes, aber dieses Programm gibt es nicht. Wieso meldet mir &man.su.1; you are not in the correct group to su root, wenn ich mit su root werden will? Das ist ein Sicherheits-Feature. Wenn Sie mit su zum Account root (oder jedem anderen Account mit Super-User-Privilegien) wechseln wollen, müssen Sie ein Mitglied der Gruppe wheel sein. Wenn es dieses Feature nicht gäbe, könnte jeder, der einen Account auf dem System hat und zufällig das Passwort für root erfährt, mit Super-User-Rechten auf das System zugreifen. Durch dieses Feature ist die Lage anders, wenn Sie nicht Mitglied von wheel sind, können Sie nicht einmal versuchen, dass Passwort einzugeben. Um einem Benutzer zu erlauben, mit su root zu werden, müssen Sie ihn nur in die Gruppe wheel eintragen. Ich habe einen Fehler in der rc.conf oder einer der anderen Dateien für den Systemstart und jetzt kann ich sie nicht ändern, weil das Dateisystem read-only ist. Was kann ich tun? Starten Sie das System mittels boot -s an der Loader-Eingabeaufforderung neu, um in den Single-User-Modus zu gelangen. Wenn Sie aufgefordert werden, den Pfadnamen der Shell einzugeben, drücken Sie einfach Enter. Geben Sie danach mount -urw / ein, um das Root-Dateisystem im Schreib/Lese-Modus zu mounten. Sie werden wahrscheinlich auch mount -a -t ufs ausführen müssen, um das Dateisystem mit Ihrem Lieblingseditor zu mounten. Wenn Ihr Lieblingseditor auf einem Netzwerklaufwerk liegt, müssen Sie entweder das Netzwerk von Hand konfigurieren oder einen Editor benutzen, der auf einem lokalen Laufwerk vorhanden ist, z.B. &man.ed.1;. Wenn Sie einen bildschirmorientierten Editor wie zum Beispiel &man.vi.1; oder &man.emacs.1; benutzen wollen, werden Sie auch den Befehl export TERM=cons25 ausführen müssen, damit diese Editoren die richtigen Einstellungen aus der Datenbank &man.termcap.5; übernehmen. Sobald Sie diese Schritte ausgeführt, können Sie den Fehler in der /etc/rc.conf ganz normal beheben. Die Fehlermeldungen, die Ihnen unmittelbar nach den Startmeldungen des Kernels angezeigt wurden, sollten Ihnen die Nummer der Zeile mit dem Fehler melden. Wieso habe ich habe Probleme, meinen Drucker einzurichten? Lesen sie den Handbucheintrag über Drucker. Es sollte die meisten Ihrer Probleme behandeln. Einige Drucker benötigen einen auf dem Rechner laufenden Treiber, um drucken zu können. Diese so genannten WinPrinter oder GDI-Drucker werden von &os; nicht unterstützt und an diesem Zustand wird sich wohl auch nichts ändern. Wenn Ihr Drucker nicht unter DOS oder &windows; verwendet werden kann, handelt es sich um einen WinPrinter und wird in der Regel auch nicht unter &os; funktionieren. Ihre einzige Chance, einen dieser Drucker benutzen können, ist der Port - ports/print/pnm2ppa. + ports/print/pnm2ppa. Wie kann ich die Tastaturbelegung meines Systems korrigieren? Informationen dazu finden Sie im Kapitel länderspezifische Einstellungen des Handbuchs, insbesondere im Abschnitt Konfiguration der Konsole. Wieso erhalte ich beim Start des Systems Meldungen wie unknown: <PNP0303> can't assign resources? Die nachfolgende Erklärung stammt aus einer Mail auf der Mailingliste &a.current;.
&a.wollman;, 24 April 2001 Die Geräte, für die can't assign resources-Meldungen ausgegeben werden, sind Legacy ISAGeräte, für die ein nicht PNP-fähiger Treiber in den Kernel eingebunden wurde. Dabei handelt es sich um Geräte wie den Tastaturkontroller, den programmierbaren Interrupt-Kontroller und diverse andere Standardkomponenten. Die Ressourcen können nicht zugewiesen werden, weil es schon einen Treiber gibt, der diese Ressourcen benutzt.
Wieso funktionieren die Benutzer-Quotas nicht richtig? Es kann sein, dass Ihr Kernel nicht für den Einsatz von Quotas konfiguriert ist. Damit Sie mit Quotas arbeiten können, müssen Sie folgende Zeile in Ihre Kernelkonfigurationsdatei aufnehmen und den Kernel neu bauen: options QUOTA Weitere Informationen zum Einsatz von Quotas finden Sie im entsprechenden Abschnitt des Handbuchs. - Benutzen Sie keine Quotas für - /. + Benutzen Sie keine Quotas für /. Erstellen Sie die Quotas-Datei in dem Dateisystem, für das die Quotas gelten sollen, z.B.: File System Quota file - /usr + /usr /usr/admin/quotas - /home + /home /home/admin/quotas Unterstützt &os; IPC-Grundfunktionen von System V? Ja, &os; unterstützt IPC im Stil von System V einschließlich gemeinsamen Speicher, Nachrichten und Semaphoren bereits mit dem GENERIC-Kernel. Wenn Sie einen angepassten Kernel verwenden, müssen Sie die folgenden Zeilen in Ihre Kernelkonfigurationsdatei einfügen: options SYSVSHM options SYSVSHM # enable shared memory options SYSVSEM # enable for semaphores options SYSVMSG # enable for messaging Danach kompilieren und installieren Sie den neuen Kernel. Welchen Mail-Server kann ich an Stelle von sendmail benutzen? sendmail ist zwar der Mail-Server, der bei &os; standardmäßig installiert wird, aber Sie können Ihn problemlos durch einen anderen MTA (z.B. aus den Ports) ersetzen. In der Port-Sammlung gibt es bereits viele - verschiedene MTAs, mail/exim, + verschiedene MTAs, mail/exim, mail/postfix, mail/qmail, sowie mail/zmailer sind einige der beliebteren Alternativen. Konkurrenz belebt das Geschäft und die Tatsache, dass Sie die Qual der Wahl haben, ist ein Vorteil. Daher sollten Sie Fragen wie Ist sendmail besser als qmail? besser nicht auf den Mailinglisten stellen. Wenn Sie dieses Thema interessiert, sollten sie zunächst die Archive durchsehen. Die Vorteile und Nachteile jedes einzelnen der verfügbaren MTAs sind schon mehrere Male bis zur Erschöpfung diskutiert worden. Was kann ich machen, wenn ich das Rootpasswort vergessen habe? Keine Panik! Starten Sie Ihr System neu und geben Sie boot -s an der Eingabeaufforderung Boot: ein, um in den Single-User-Modus zu gelangen. Bei der Frage danach, welche Shell benutzt werden soll, drücken Sie einfach Enter. Nun erscheint die Eingabeaufforderung &prompt.root;. Geben Sie mount -urw / ein, um Ihr Root-Dateisystem für Lese- und Schreibzugriffe zu remounten und dann mount -a, um alle Dateisysteme zu remounten. Mit passwd root können Sie das Rootpasswort ändern und mit &man.exit.1; können Sie mit dem Booten fortfahren. Wenn Sie immer noch dazu aufgefordert werden, das root Passwort beim Betreten des Single-User-Modus einzugeben, bedeutet das, dass die Konsole als insecure in /etc/ttys markiert wurde. In diesem Fall ist es notwendig, von einem &os; Installationsmedium zu booten, die Fixit-Shell auszuwählen und die oben beschriebenen Befehle einzugeben. Wenn Sie ihre root Partition im Single-User-Modus nicht mounten können, liegt es möglicherweise daran, dass die Partionen verschlüsselt sind und es damit unmöglich ist, sie ohne die dazugehörigen Schlüssel zu mounten. Ihre Chancen hängen von der jeweiligen Implementierung ab. Für weitere Informationen lesen Sie den Abschnittt über verschlüsselte Partitionen im &os; Handbuch. - Wie verhindere ich, dass das System mit - + Wie verhindere ich, dass das System mit Ctrl Alt Delete rebootet werden kann? Falls Sie &man.syscons.4; (der Standard-Treiber für die Konsole) benutzen, fügen Sie folgende Zeile in Ihre Kernelkonfigurationsdatei ein: options SC_DISABLE_REBOOT Alternativ können Sie auch die folgende &man.sysctl.8;-Variable setzen (die aktiviert wird, ohne dass Sie Ihr System dazu neu starten oder einen angepassten Kernel erstellen müssen): &prompt.root; sysctl hw.syscons.kbd_reboot=0 Falls Sie den &man.pcvt.4; Konsolentreiber verwenden, fügen Sie die folgende Zeile in die Kernelkonfigurationsdatei hinzu und bauen Sie einen neuen Kernel: options PCVT_CTRL_ALT_DEL Wie kann ich Textdateien von DOS Systemen auf &unix; Systemen verwenden? Benutzen Sie diesen Perl-Befehl: &prompt.user; perl -i.bak -npe 's/\r\n/\n/g' file(s) Wobei file(s) eine oder mehrere zu verarbeitende(n) Datei(en) ist/sind. Die Änderungen erfolgen in der Originaldatei, die zuvor mit der Erweiterung .bak gesichert wird. Alternativ können Sie den Befehl &man.tr.1; benutzen: &prompt.user; tr -d '\r' < dos-text-file > unix-file dos-text-file ist die Datei, die den Text im DOS-Format enthält und unix-file wird die konvertierte Ausgabe enthalten. Diese Möglichkeit könnte etwas schneller sein, als die Benutzung von perl. Die Verwendung des Ports converters/dosunix aus der Ports-Sammlung stellt eine weitere Möglichkeit dar, DOS-Textdateien neu zu formatieren. Konsultieren Sie die Dokumentation für weitere Informationen. Wie beende ich Prozesse namentlich? Benutzen Sie &man.killall.1;. Warum nervt &man.su.1; mich damit, dass ich nicht in der ACL von root bin? Der Fehler stammt vom verteilten Authentifizierungssystem Kerberos. Das Problem ist nicht ernsthaft, aber störend. Sie können entweder su mit der Option benutzen, oder Kerberos deinstallieren, wie in der nächsten Frage beschrieben. Wie deinstalliere ich Kerberos? Um Kerberos aus dem System zu entfernen, müssen Sie die base-Distribution der von Ihnen benutzten RELEASE neu installieren. Wenn Sie die CD-ROM besitzen, können Sie sie mounten (wir nehmen an, unter - /cdrom) und folgende Befehle + /cdrom) und folgende Befehle ausführen: &prompt.root; cd /cdrom/base &prompt.root; ./install.sh Alternativ können Sie mit der Option NO_KERBEROS in der /etc/make.conf ein make world durchführen. Wo ist /dev/MAKEDEV hin? Ab &os; 5.X werden Geräte automatisch von &man.devfs.8; zur Verfügung gestellt. Die Gerätetreiber erstellen die Gerätedateien, wenn diese benötigt werden. Das Skript /dev/MAKEDEV wird nicht mehr gebraucht. Wie füge ich Pseudo-Terminals zum System hinzu? Wenn Sie viele Benutzer von telnet, ssh, X oder screen haben, - könnte es sein, dass Ihnen die Pseudo-Terminals ausgehen. - So fügen Sie weitere hinzu: - - - - Erstellen und installieren Sie einen neuen Kernel - mit der Zeile - - device pty N - - in der Konfigurationsdatei. N - steht für die Anzahl der benötigten - Pseudo-Terminals. - - - - Editieren Sie die Datei - /etc/ttys und fügen Sie - Zeilen für jeden der N - Terminals ein. Sie sollten so aussehen, wie die existierenden - Einträge, also etwa so: + werden Ihnen eventuell die Pseudo-Terminals ausgehen. + Standardmässig unterstützt &os; 6.2 und vorherige + Versionen 256 Pseudo-Terminals, während &os; 6.3 und + höher 512 Pseudo-Terminals zur Verfügung stellt. - ttyqc none network - - Die Reihenfolge der Buchstabenzuordnung lautet mit - einem regulären Ausdruck tty[pqrsPQRSlmnoLMNO][0123456789abcdefghijklmnopqrstuv]. - - - - Starten Sie das System mit dem neuen Kernel - erneut, wenn Sie bereit sind. - - - - - Für die Verwendung von mehr als 256 (bis zu 512) - &man.pty.4; Geräten benötigen Sie mindestens - &os; 6.3 oder neuer. - + + Wenn nötig, können mehr Pseudo-Terminals + hinzugefügt werden. Allerdings muss dafür die + C-Blibliothek, der Kernel und /etc/ttys + erweitert werden. Zum Beispiel erhöht + die Anzahl an Pseudo-Terminals auf 1152. Beachten Sie, dass die + Erweiterung nur für &os; 6.3 oder höher problemlos + funktioniert. + Wie lade ich /etc/rc.conf und starte /etc/rc neu, ohne zu rebooten? Gehen Sie in den Single-User-Modus und dann zurück in den Multi-User-Modus. Geben Sie auf der Konsole folgendes ein: &prompt.root; shutdown now (Hinweis: ohne -r oder -h) &prompt.root; return &prompt.root; exit Ich wollte auf das aktuelle -STABLE updaten, und plötzlich läuft hier ein -BETAx, -RC oder -PRERELEASE! Was ist passiert? Kurze Antwort: Das ist nur ein anderer Name. RC ist die Abkürzung für Release Candidate. Es bedeutet, dass eine neue Release bevorsteht. Und -PRERELEASE bedeutet bei &os; normalerweise, dass die Sourcen zur Vorbereitung auf eine Release eingefroren wurden (in einigen Releases wurde -BETA anstelle von -PRERELEASE verwendet). Ausführliche Antwort: Bei &os; gibt es zwei Quellen für Releases. Die Major Releases wie 6.0-RELEASE und 7.0-RELEASE werden aus dem aktuellen Stand des Hauptzweiges der Entwicklung (besser und kürzer als -CURRENT bekannt) erzeugt. Minor Releases wie 6.3-RELEASE oder 5.2-RELEASE stammen aus dem aktiven -STABLE Zweig. Seit 4.3-RELEASE gibt es es nun auch einen eigenen Zweig für jede Release, der für die Leute gedacht ist, die ein sehr konservativ weiterentwickeltes System benötigen (im Normalfall also nur Updates aus dem Bereich Sicherheit). Bevor in einem Zweig eine Release erfolgt, muss in diesem Zweig ein bestimmter Prozess ablaufen. Ein Teil dieses Prozesses ist der code freeze, der Stop der Weiterentwicklung. Sobald dieser Schritt erfolgt ist, wird der Name des Zweiges geändert, um anzuzeigen, dass demnächst eine Release erfolgen wird. Wenn der Zweig zum Beispiel 6.2-STABLE genannt wurde, wird der Name in 6.3-PRERELEASE geändert, um dies zu verdeutlichen. Weiterhin ist das ein Zeichen, dass jetzt besonders intensiv getestet werden sollte. In dieser Phase können Fehler im Sourcecode noch korrigiert werden. Wenn der Sourcecode so weit gereift ist, dass eine Release erstellt werden kann, wird der Name in 6.3-RC geändert, um genau dies anzuzeigen. In dieser Phase können nur noch extrem wichtige Korrekturen aufgenommen werden. Sobald die Release (in diesem Beispiel 6.3-RELEASE) erfolgt ist, wird der Zweig in 6.3-STABLE umbenannt. Weitere Informationen über Versionsnummern und die verschiedenen Entwicklungszweige enthält der Artikel - Release + Release Engineering. Als ich versucht habe, einen neuen Kernel zu installieren, ist das &man.chflags.1; fehlgeschlagen. Was mache ich jetzt? Kurze Antwort: Ihre Sicherheitseinstellung (der securelevel) ist wahrscheinlich größer als 0. Sie müssen das System neu starten und den Kernel im Single-User-Modus installieren. Ausführliche Antwort: Wenn die Sicherheitseinstellung größer als 0 ist, erlaubt Ihnen &os; nicht, die Systemflags zu ändern. Um den aktuellen Securelevel zu ermitteln, können Sie das folgende Kommando benutzen: &prompt.root; sysctl kern.securelevel Sie können die Sicherheitseinstellung nicht verringern. Sie müssen das System neu starten und den Kernel im Single-User-Modus installieren oder die Sicherheitseinstellung in /etc/rc.conf ändern und dann das System neu starten. Weitere Details zu securelevel erhalten Sie in &man.init.8;, weitere Informationen zur rc.conf erhalten Sie in /etc/defaults/rc.conf und &man.rc.conf.5;. Ich kann die Systemzeit nicht um mehr als eine Sekunde verstellen. Was mache ich jetzt? Kurze Antwort: Ihre Sicherheitseinstellung (der securelevel) ist wahrscheinlich größer als 1. Sie müssen das System neu starten und die Systemzeit im Single-User-Modus verstellen. Ausführliche Antwort: Wenn die Sicherheitseinstellung größer als 1 ist, erlaubt Ihnen &os; nicht, die Systemzeit zu ändern. Um den aktuellen Securelevel zu ermitteln, können Sie das folgende Kommando benutzen: &prompt.root; sysctl kern.securelevel Sie können die Sicherheitseinstellung nicht verringern, Sie müssen das System neu starten und die Systemzeit im Single-User-Modus ändern oder die Sicherheitseinstellung in /etc/rc.conf ändern und dann das System neu starten. Weitere Details zu securelevel erhalten Sie in &man.init.8;, weitere Informationen zur rc.conf erhalten Sie in /etc/defaults/rc.conf und &man.rc.conf.5;. Warum braucht &man.rpc.statd.8; 256 MB Speicher? Nein, das Programm hat keinen Fehler und es verbraucht auch nicht 256 MB Speicher. rpc.statd projiziert nur einen übertrieben großen Speicherbereich in seinen eigenen Adressraum. Von einem rein technischen Standpunkt aus ist das nichts verwerfliches, allerdings verwirrt es Programme wie &man.top.1; und &man.ps.1;. &man.rpc.statd.8; projiziert seine Statusdatei (die in - /var liegt) in seinen + /var liegt) in seinen Adressraum. Um die Probleme zu vermeiden, die bei einer Vergrößerung dieser Projektion entstehen könnten, wird gleich ein möglichst großer Speicherbereich benutzt. Dies kann man sehr schön im Sourcecode sehen: Die Längenangabe beim Aufruf von &man.mmap.2; ist 0x10000000, ein sechzehntel des Adressraums bei IA32, oder genau 256 MByte. Warum kann ich das Dateiattribut schg nicht löschen? Sie betreiben Ihr System mit einer erhöhten Sicherheitsstufe. Senken Sie die Sicherheitsstufe und versuchen Sie es dann noch einmal. Weitere Informationen erhalten Sie im FAQ Eintrag über Sicherheitsstufen und in der Online-Hilfe &man.init.8;. Warum funktioniert die .shosts Authentifizierung von SSH in neueren Versionen von &os; nicht mehr? Die .shosts Authentifizierung funktioniert nicht mehr, weil &man.ssh.1; in neueren Versionen von &os; nicht mehr SUID-root installiert wird. Um dieses Problem zu lösen, gibt es die folgenden Möglichkeiten: Um das Problem für immer zu lösen, müssen Sie in /etc/make.conf die Variable ENABLE_SUID_SSH auf true setzen und danach &man.ssh.1; neu übersetzen (oder make world) ausführen. Übergangsweise können Sie auch die Dateirechte von /usr/bin/ssh auf 4555 setzen, indem Sie den Befehl chmod 4555 /usr/bin/ssh als root ausführen. Fügen Sie anschließend ENABLE_SUID_SSH =true in die Datei /etc/make.conf ein, damit diese Änderung erhalten bleibt, wenn Sie das nächste Mal make world ausführen. Was ist vnlru? vnlru schreibt vnodes auf Platte und gibt sie wieder frei, falls das System die Grenzwert kern.maxvnodes erreicht. Dieser Thread des Kernel tut meistens gar nichts und wird nur aktiv, wenn Sie extrem viel RAM haben und gleichzeitig auf viele zehntausende kleine Dateien zugreifen. Was bedeuten die Zustände, die top für Speicherseiten ausgibt? Speicherseiten werden vom Kernel in verschiedenen Listen verwaltet: Active: Seiten, die vor Kurzem benutzt wurden. Inactive: Seiten, die länger nicht benutzt wurden. Cache: Meistens Seiten, die vorher im Zustand Inactive waren und noch gültige Daten enthalten. Diese Seiten können sofort in ihrem alten Kontext oder in einem neuen Kontext verwendet werden. Wenn eine Seite unverändert (clean) ist, kann ein Zustandswechsel direkt von Active nach Cache erfolgen. Ob dieser Zustandswechsel möglich ist, wird durch die Seitenersetzungsstrategie bestimmt, die der Entwickler des VM-Systems festgelegt hat. Free: Seiten, die keine Daten enthalten. Diese Seiten können sofort benutzt werden, wenn Seiten im Zustand Cache nicht benutzt werden können. Seiten im Zustand Free können auch während eines Interrupts angefordert werden. Wired: Seiten, die fest im Speicher liegen und nicht ausgelagert werden können. Normalerweise werden solche Seiten vom Kernel benutzt, manchmal werden Sie aber auch für spezielle Zwecke von Prozessen verwendet. Seiten im Zustand Inactive werden oft auf Plattenspeicher geschrieben (sozusagen ein sync des VM-Systems). Wenn die CPU erkennen kann, das eine Seite unmodifiziert (clean) ist, kann auch eine Active-Seite auf den Plattenspeicher ausgeschrieben werden. In bestimmten Situationen ist es von Vorteil, wenn ein Block von VM-Seiten, unabhängig von seinem Zustand, ausgeschrieben werden kann. Die Inactive-Liste enthält wenig benutzte Seiten, die ausgeschrieben werden könnten. Seiten im Zustand Cached sind schon ausgeschrieben und stehen Prozessen für die Verwendung im alten oder in einem neuen Kontext zur Verfügung. Seiten im Zustand Cache sind nicht ausreichend geschützt und können während Unterbrechungen nicht benutzt werden. Die eben beschriebene Behandlung von Speicherseiten kann durch weitere Zustände (wie das das Busy-Flag) verändert werden. Wie viel freien Speicher hat mein System? Es gibt verschiedene Arten von freiem - Speicher. Eine Art ist die Speichermenge, + Speicher. Eine Art ist die Speichermenge, die sofort, ohne etwas auszulagern, zur Verfügung steht. Der gesamte VM-Bereich ist eine weitere Art des freien Speichers. Die Betrachtung ist komplex, hängt aber von der Größe des Swap-Bereichs und der Größe des Arbeitsspeichers ab. Es gibt weitere Definitionen für freien Speicher, die aber alle relativ nutzlos sind. Wichtig ist hingegen, dass wenig Seiten ausgelagert werden (paging) und der Swap-Bereich ausreichend groß ist. - Ich kann /var/empty nicht - löschen! + Ich kann /var/empty + nicht löschen! - Das Verzeichnis /var/empty - wird von &man.sshd.8; benötigt, wenn es mit - Privilege Separation läuft. - Das Verzeichnis /var/empty ist + Das Verzeichnis /var/empty wird von &man.sshd.8; + benötigt, wenn es mit Privilege Separation + läuft. Das Verzeichnis /var/empty ist leer, gehört root und ist durch das Dateiattribut schg geschützt. Wir empfehlen Ihnen, das Verzeichnis zu belassen. Sollten Sie es aber trotzdem löschen wollen, müssen Sie zuerst das schg-Attribut entfernen. Schauen Sie sich dazu die Hilfeseite &man.chflags.1; an und beachten Sie die Antwort auf - die Frage wie das - schg-Attribut entfernt wird. + die Frage wie das schg-Attribut + entfernt wird.
Das X Window System und virtuelle Konsolen Was ist das X Window System? Das X Window System (oder auch nur X11) ist das am häufigsten verwendete Window System für &unix;- und &unix;-ähnliche Systeme, zu denen auch &os; gehört. Der X  Protokollstandard wird von der - X.org Foundation definiert - und liegt aktuell in Version 11 Release &xorg.version; vor und wird + X.org Foundation definiert und liegt + aktuell in Version 11 Release &xorg.version; vor und wird häufig auch nur als X11 bezeichnet. Das X Window System wurde für viele verschiedene Architekturen und Betriebssysteme implementiert. Eine serverseitige Implementierung wird dabei als X-Server bezeichnet. Welche X-Implementierungen sind für &os; verfügbar? - Früher war &xfree86;, die X-Implementierung des - XFree86 - Projects, Inc., der Standard unter &os;. Dieser - X-Server wurde bis einschließlich &os; - Version 4.10 und 5.2 als Standard-X-Server installiert. - Die von &xorg; veröffentlichte Implementierung diente - nur als Referenzplattform, weil der verwendete Code - über die Jahre sehr ineffizient geworden war. + Früher war &xfree86;, die X-Implementierung des XFree86 Projects, Inc., der + Standard unter &os;. Dieser X-Server wurde bis + einschließlich &os; Version 4.10 und 5.2 als + Standard-X-Server installiert. Die von &xorg; veröffentlichte + Implementierung diente nur als Referenzplattform, weil der + verwendete Code über die Jahre sehr ineffizient geworden + war. Anfang 2004 verließen einige Entwickler das XFree86 Project, um fortan &xorg; direkt zu unterstützen. Der Grund dafür waren Meinungsverschiedenheiten über die Geschwindigkeit der Weiterentwicklung, die zukünftige Ausrichtung des Projekts sowie persönliche Differenzen. Zur gleichen Zeit aktualisierte &xorg; ihren Quellcodebaum auf die &xfree86;-Version 4.3.99.903, brachte viele Änderungen, die bisher getrennt verwaltet worden waren, in das Projekt ein und veröffentlichte das Paket als X11R6.7.0, bevor &xfree86; die Lizenz änderte. Ein separates, aber - mit &xorg; verbundenes Projekt, - freedesktop.org + mit &xorg; verbundenes Projekt, freedesktop.org (oder fd.o), arbeitet an einer Überarbeitung des ursprünglichen &xfree86;-Codes, um einerseits mehr Rechenarbeit an die Grafikkarten zu übertragen (mit dem Ziel einer deutlich erhöhten Geschwindigkeit) und andererseits den Code zu modularisieren (mit dem Ziel einer verbesserten Wartung, einer schnelleren Entwicklung sowie einer vereinfachten Konfiguration). &xorg; plant, die Weiterentwicklungen von freedesktop.org in seine zukünftigen Versionen zu integrieren. Seit Juli 2004 ist &xorg; der Standard-X-Server für &os;. Seitdem ist &xorg; in &os; als Standard-X11 implementiert. Weitere Informationen zum X Window System finden Sie im X11-Kapitel des &os;-Handbuchs. Warum hat sich das X Project überhaupt aufgespalten? Diese Frage ist nicht &os;-spezifisch. Es gibt zu diesem Thema umfangreiche Postings in diversen Mailinglist-Archiven. Suchen Sie daher über eine Suchmaschine danach, statt diese Frage auf einer &os;-Mailingliste zu stellen. Warum hat sich &os; für &xorg; als Standard-X-Server entschieden? Die Entwickler von &xorg; gaben an, dass sie neue Versionen rascher veröffentlichen und neue Eigenschaften schneller implementieren wollen. Außerdem verwenden sie nach wie vor die traditionelle X-Lizenz, während &xfree86; eine veränderte Version benutzt. Ich möchte X benutzen, was muss ich tun? Wenn Sie X auf einem existierenden System installieren wollen, sollten Sie entweder den Meta-Port - x11/xorg verwenden, der - alle benötigen Komponenten baut und installiert, oder + x11/xorg verwenden, der alle + benötigen Komponenten baut und installiert, oder Sie installieren die &os; &xorg;-Pakete: &prompt.root; pkg_add -r xorg Es ist auch möglich, &xorg; aus &man.sysinstall.8; heraus zu installieren, indem Sie Configure, dann Distributions und anschliessend The X.Org Distribution aufrufen. Lesen Sie nach erfolgreicher Installation von &xorg; die Anweisungen in &man.xorgconfig.1;. Es wird Sie bei der Konfiguration des X-Servers für Ihre Grafikkarte, Maus usw. unterstützen. Bevorzugen Sie eine grafische Konfigurationsoberfläche, sollten Sie sich &man.xorgcfg.1; ansehen. Weitere Informationen finden sich im Abschnitt X11 des &os;-Handbuchs. Ich habe versucht, X zu starten, aber wenn ich startx eingebe, erhalte ich die Fehlermeldung KDENABIO failed (Operation not permitted). Was soll ich jetzt machen? Das System läuft auf einer erhöhten Sicherheitsstufe (securelevel). X kann auf einer erhöhten Sicherheitsstufe nicht gestartet werden, weil X dazu Schreibzugriff auf &man.io.4; benötigt. Lesen Sie dazu auch &man.init.8;. Die Frage ist also eigentlich, was Sie anders machen sollten. Sie haben zwei Möglichkeiten: Setzen Sie die Sicherheitsstufe wieder zurück auf 0 (die Einstellung erfolgt in der Regel in /etc/rc.conf) oder starten Sie &man.xdm.1; während des Starts des Systems, bevor die Sicherheitsstufe erhöht wird. - Der Abschnitt enthält - Informationen darüber, wie Sie &man.xdm.1; beim Start - des Systems starten können. + Der Abschnitt enthält Informationen darüber, wie + Sie &man.xdm.1; beim Start des Systems starten können. Warum funktioniert meine Maus unter X nicht? Wenn Sie &man.syscons.4; (den Standard-Konsolentreiber) benutzen, können Sie &os; so konfigurieren, dass auf jedem virtuellen Bildschirm ein Mauszeiger unterstützt wird. Um Konflikte mit X zu vermeiden, unterstützt &man.syscons.4; ein virtuelles Gerät mit dem Namen /dev/sysmouse. Alle Mausbewegungen und Mausklicks werden in das &man.sysmouse.4; Gerät über &man.moused.8; geschrieben. Falls Sie Ihre Maus auf einer oder mehreren virtuellen Konsolen und X benutzen wollen, sollten Sie zunächst lesen und dann &man.moused.8; installieren. Die Datei /etc/X11/xorg.conf sollte die folgenden Einträge enthalten: Section "InputDevice" Option "Protocol" "SysMouse" Option "Device" "/dev/sysmouse" ..... Einige Leute ziehen es vor, unter X /dev/mouse zu benutzen. Hierzu sollte /dev/mouse nach /dev/sysmouse (lesen Sie &man.sysmouse.4;) gelinkt werden, indem Sie die folgende Zeile in /etc/devfs.conf (siehe auch &man.devfs.conf.5;) hinzufügen: link sysmouse mouse Die Verknüpfung kann durch Neustart von &man.devfs.5; über das folgende Kommando (als root) erzeugt werden: &prompt.root; /etc/rc.d/devfs restart Kann ich meine Rad-Maus auch unter X benutzen? Ja. Dazu müssen Sie X nur mitteilen, dass Sie eine Maus mit 5 Tasten haben. Dazu fügen Sie die Zeilen Buttons 5 sowie ZAxisMapping 4 5 in den Abschnitt InputDevice der Datei /etc/X11/xorg.conf ein. Das Beispiel zeigt, wie ein solcher Abschnitt aussehen könnte. Abschnitt <quote>InputDevice</quote> für Rad-Mäuse in der Konfigurationsdatei von &xorg; Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/sysmouse" Option "Buttons" "5" Option "ZAxisMapping" "4 5" EndSection <quote>.emacs</quote> Beispiel für seitenweises Blättern mit einer Rad-Maus (optional) ;; wheel mouse (global-set-key [mouse-4] 'scroll-down) (global-set-key [mouse-5] 'scroll-up) X verbietet Verbindungen von entfernten Systemen! Aus Sicherheitsgründen verbietet der X-Server in der Voreinstellung Verbindungen von entfernten Systemen. Starten Sie den X-Server mit der Option , wenn Sie Verbindungen von entfernten Systemen erlauben wollen: &prompt.user; startx -listen_tcp Was ist eine virtuelle Konsole und wie erstelle ich mehr? Mit virtuellen Konsolen können Sie mehrere simultane Sitzungen auf einer Maschine laufen lassen, ohne so komplizierte Dinge wie die Einrichtung eines Netzwerkes oder die Benutzung von X zu benötigen. Wenn das System startet, wird es nach der Anzeige aller Bootmeldungen eine Eingabeaufforderung auf dem Bildschirm anzeigen. Sie können dann auf der ersten virtuellen Konsole Ihren Benutzernamen und das Passwort eingeben und anfangen, zu arbeiten (oder zu spielen!). Gelegentlich möchten Sie möglicherweise eine weitere Sitzung starten wollen, vielleicht, um die Dokumentation zu einem Programm, das Sie gerade benutzen, einzusehen, oder, um Ihre Mails zu lesen, während Sie auf das Ende einer FTP-Übertragung warten. - Drücken Sie einfach - Alt - F2 - (halten Sie die Alt-Taste - gedrückt und drücken Sie die Taste F2) + Drücken Sie einfach AltF2 + (halten Sie die Alt-Taste gedrückt und + drücken Sie die Taste F2) und Sie gelangen zur Anmelde-Aufforderung auf der zweiten virtuellen Konsole! Wenn Sie zurück - zur ersten Sitzung möchten, drücken Sie - - Alt - F1 - . + zur ersten Sitzung möchten, drücken Sie AltF1 + . Die Standardinstallation von &os; bietet acht - aktivierte virtuelle Konsolen. Mit - - Alt - F1 - , - - Alt - F2 - , - - Alt - F3 - - und so weiter wechseln Sie zwischen diesen - virtuellen Konsolen. + aktivierte virtuelle Konsolen. Mit AltF1, + AltF2, + AltF3 + und so weiter wechseln Sie zwischen diesen virtuellen + Konsolen. Um mehr von ihnen zu aktivieren, editieren Sie /etc/ttys (siehe &man.ttys.5;) und fügen Einträge für ttyv8 bis zu ttyvc nach dem Kommentar zu virtuellen Terminals ein: # Edit the existing entry for ttyv8 in /etc/ttys and change # "off" to "on". ttyv8 "/usr/libexec/getty Pc" cons25 on secure ttyv9 "/usr/libexec/getty Pc" cons25 on secure ttyva "/usr/libexec/getty Pc" cons25 on secure ttyvb "/usr/libexec/getty Pc" cons25 on secure Benutzen Sie so wenig oder so viele, wie Sie möchten. Je mehr virtuelle Terminals Sie benutzen, desto mehr Ressourcen werden gebraucht; das kann wichtig sein, wenn Sie 8 MB RAM oder weniger besitzen. Sie können auch secure in insecure ändern. Wenn Sie einen X-Server benutzen möchten, müssen Sie mindestens ein virtuelles Terminal unbenutzt (oder ausgeschaltet) lassen damit der Server es benutzen kann. Das heißt, dass Sie Pech haben, wenn Sie für jede Ihrer 12 Alt-Funktionstasten eine Anmeldeaufforderung haben möchten - Sie können das nur für elf von ihnen tun, wenn Sie einen X-Server auf derselben Maschine laufen lassen möchten. Der einfachste Weg, eine Konsole zu deaktivieren, ist, sie auszuschalten. Wenn Sie zum Beispiel die oben erwähnte volle Zuordnung aller 12 Terminals hätten, müssten Sie die Einstellung für das virtuelle Terminal 12 von: ttyvb "/usr/libexec/getty Pc" cons25 on secure in: ttyvb "/usr/libexec/getty Pc" cons25 off secure ändern. Wenn Ihre Tastatur nur über zehn Funktionstasten verfügt, bedeutet das: ttyv9 "/usr/libexec/getty Pc" cons25 off secure ttyva "/usr/libexec/getty Pc" cons25 off secure ttyvb "/usr/libexec/getty Pc" cons25 off secure (Sie können diese Zeilen auch einfach löschen.) Die einfachste (und sauberste) Möglichkeit, die virtuellen Konsolen zu aktivieren, ist, zu rebooten. Wenn Sie jedoch auf keinen Fall rebooten möchten, können Sie auch einfach das X Window System herunterfahren und als root &prompt.root; kill -HUP 1 ausführen. Es ist unbedingt erforderlich, dass Sie das X Window System vollständig herunterfahren, falls es läuft. Falls Sie es nicht tun, könnte es sein, dass sich ihr System nach der Eingabe des kill-Befehls aufhängt. Wie greife ich von X aus auf virtuelle Konsolen zu? - Benutzen Sie - - Ctrl - Alt - Fn - - um auf eine virtuelle Konsole umzuschalten. Mit - - Ctrl - Alt - F1 + Benutzen Sie CtrlAlt + Fn - würden Sie zur ersten virtuellen Konsole - umschalten. + um auf eine virtuelle Konsole umzuschalten. Mit CtrlAlt + F1 würden Sie zur ersten + virtuellen Konsole umschalten. Sobald Sie auf eine virtuelle Konsole umgeschaltet - haben, können Sie ganz normal - - Alt - Fn - - benutzen, um zwischen den einzelnen virtuellen Konsolen - umzuschalten. + haben, können Sie ganz normal Alt + Fn + benutzen, um zwischen den einzelnen virtuellen + Konsolen umzuschalten. Um zu Ihrer X-Sitzung zurückzukehren, müssen Sie auf die virtuelle Konsole umschalten, auf der X läuft. Wenn Sie X über der Eingabeaufforderung gestartet haben (z.B. mit startx), benutzt X die nächste freie virtuelle Konsole und nicht die Konsole, von der es gestartet wurde. Wenn Sie acht aktive virtuelle Konsole haben, dann wird X die neunte benutzen und Sie können mit AltF9 umschalten. Wie starte ich XDM beim Booten? Es gibt zwei Denkansätze, wie &man.xdm.1; zu starten ist. Bei dem einen wird xdm unter Nutzung des mitgelieferten Beispiels über /etc/ttys (&man.ttys.5;) gestartet, während beim zweiten Ansatz - rc.local (&man.rc.8;) oder das - Skript X im Verzeichnis - /usr/local/etc/rc.d verwendet wird. + rc.local (&man.rc.8;) oder + das Skript X im Verzeichnis /usr/local/etc/rc.d verwendet wird. Beide Ansätze sind gleichwertig und der eine wird in Situationen funktionieren, in denen der andere es nicht tut. In beiden Fällen ist das Ergebnis das gleiche: X liefert eine graphische Anmeldeaufforderung. Die &man.ttys.5;-Methode hat den Vorteil, dass dokumentiert ist, auf welchem vty X gestartet wird und der Neustart des X-Servers beim Abmelden an &man.init.8; übergeben wird. Die &man.rc.8;-Methode erleichtert den Aufruf von kill xdm, falls Probleme beim Start des X-Servers auftreten sollten. Beim Laden von &man.rc.8; sollte xdm ohne irgendwelche Argumente (das heißt als Daemon) gestartet werden. Das Kommando xdm muss gestartet werden nachdem &man.getty.8; läuft, andernfalls entsteht ein Konflikt zwischen getty und xdm und die Konsole bleibt gesperrt. Der beste Weg, um dies zu vermeiden, ist, das Skript für etwa zehn Sekunden anzuhalten und dann xdm zu starten. Wenn Sie xdm durch einen Eintrag in /etc/ttys starten lassen, kann es zu einem Konflikt zwischen xdm und &man.getty.8; kommen. Um dieses Problem zu vermeiden, sollten Sie die Nummer des vt in die Datei /usr/local/lib/X11/xdm/Xservers eintragen: :0 local /usr/local/bin/X vt4 Diese Zeile führt dazu, dass der X Server /dev/ttyv3 nutzt. Die beiden Zahlen weichen voneinander ab: Der X-Server beginnt die Zählung der vty bei 1, während der &os;-Kernel bei 0 beginnt. Wieso erhalte ich die Meldung Couldn't open console, wenn ich xconsole benutze? Wenn Sie X mit startx starten, werden die Zugriffsrechte für /dev/console leider nicht geändert, was dazu führt, dass Dinge wie xterm -C und xconsole nicht funktionieren. Das hängt damit zusammen, wie die Zugriffsrechte für die Konsole standardmäßig gesetzt sind. Auf einem Mehrbenutzersystem möchte man nicht unbedingt, dass jeder Benutzer einfach auf die Systemkonsole schreiben kann. Für Benutzer, die sich auf einer Maschine direkt mit einem VTY anmelden, existiert die Datei &man.fbtab.5;, um derartige Probleme zu lösen. In Kürze: sorgen Sie dafür, dass sich in der Datei /etc/fbtab eine nicht auskommentierte Zeile der folgenden Art befindet: /dev/ttyv0 0600 /dev/console Das sorgt dafür, dass wer auch immer sich auf /dev/ttyv0 anmeldet, auch die Konsole besitzt. Früher konnte ich &xfree86; als normaler User starten. Warum sagt mir das System jetzt, dass ich root sein muss? Alle X-Server müssen mit der ID root laufen, um direkt auf die Videohardware zuzugreifen. Die älteren Versionen von &xfree86; (bis einschließlich 3.3.6) installierten alle mitgelieferten Server so, dass sie automatisch unter ID root ausgeführt werden (setuid to root). Dies stellt natürlich eine Gefahrenquelle dar, da die X-Server große, komplexe Programme sind. Alle neueren Versionen von &xfree86; installieren die Server aus genau diesem Grund nicht mehr "setuid root". Es ist natürlich nicht tragbar, den X-Server immer mit der ID root laufen zu lassen; auch aus Gründen der Sicherheit ist es keine gute Idee. Es gibt zwei Möglichkeiten, um X auch als normaler Benutzer starten zu können. Die erste ist die Verwendung von xdm oder eines ähnlichen Programms; die zweite ist die Benutzer von Xwrapper. xdm ist ein ständig laufendes Programm, mit dem Logins über eine graphische Benutzeroberfläche sind. Es wird normalerweise beim Systemstart initialisiert und für die Authentifizierung der Benutzer und den Start ihrer Sitzungen verantwortlich. Es ist also die graphische Entsprechung von &man.getty.8; und &man.login.1;. Weitere Informationen zum Thema xdm finden Sie in der &xfree86; Dokumentation und dem entsprechenden FAQ-Eintrag. Xwrapper ist eine Hülle für den X-Server. Mit diesem kleinen Utility ist es möglich, manuell den X-Server zu starten und weiterhin eine annehmbare Sicherheit zu haben. Das Tools prüft, ob die per Kommandozeile übergebenen Argumente halbwegs sinnvoll sind. Wenn dies der Fall ist, startet es den entsprechenden X-Server. Wenn Sie (aus welchem Grund auch immer) keine graphische Anmeldung wollen, ist Xwrapper die optimale Lösung. Wenn Sie die vollständige Ports-Sammlung installiert haben, finden Sie das Tool im Verzeichnis - x11/wrapper. + x11/wrapper. Warum funktioniert meine PS/2-Maus nicht richtig? Ihre Maus und der Maustreiber sind etwas aus der Synchronisation geraten. In seltenen Fällen kann es jedoch sein, dass der Treiber fälschlicherweise Synchronisationsprobleme meldet und Sie in den Kernelmeldungen folgendes sehen: psmintr: out of sync (xxxx != yyyy) und Ihre Maus nicht richtig zu funktionieren scheint. Falls das passiert, deaktivieren Sie den Code zur Überprüfung der Synchronisation, indem Sie die Treiberangaben für den PS/2-Maustreiber auf 0x100 setzen. Rufen Sie UserConfig durch Angabe der Option am Boot-Prompt auf: boot: -c Geben sie dann in der Kommandozeile von UserConfig folgendes ein: UserConfig> flags psm0 0x100 UserConfig> quit Meine PS/2-Maus von MouseSystems scheint nicht zu funktionieren. Es wurde berichtet, dass einige Modelle der PS/2-Mäuse von MouseSystems nur funktionieren, wenn sie im hochauflösenden Modus betrieben werden. Andernfalls springt der Mauszeiger sehr oft in die linke obere Ecke des Bildschirms. Das Flag 0x04 des Maustreibers bringt die Maus in den hochauflösenden Modus. Rufen Sie UserConfig durch Angabe der Option am Boot-Prompt auf: boot: -c Geben sie dann in der Kommandozeile von UserConfig folgendes ein: UserConfig> flags psm0 0x04 UserConfig> quit Lesen Sie den vorigen Abschnitt über eine andere mögliche Ursache für Probleme mit der Maus. Wie vertausche ich die Maustasten? Benutzen Sie den Befehl xmodmap -e "pointer = 3 2 1" in Ihrer .xinitrc oder .xsession. Wie installiere ich einen Splash-Screen und wo finde ich sie? &os; erlaubt die Anzeige von Splash-Screens während des Bootvorganges. Die Splash-Screens dürfen Bitmaps mit 256 Farben (*.BMP) oder ZSoft-PCX-Dateien *.PCX) sein. Damit sie mit normalen VGA-Karten dargestellt werden können, darf die Größe 320x200 Bildpunkte nicht überschreiten. Wenn Sie in ihrem Kernel die VESA-Unterstützung eingebunden haben, beträgt die maximale Größe 1024x768 Pixel. Die derzeitige VESA-Unterstützung kann entweder direkt durch die Kernelkonfigurationsoption VESA in den Kernel eingebunden werden, oder durch das Laden des VESA-kld-Moduls während des Bootens. Um einen Splash-Screen zu benutzen, müssen Sie die Startdateien, die den Bootprozess von &os; kontrollieren, modifizieren. Dazu müssen Sie die Datei /boot/loader.rc erstellen, die die folgenden Zeilen enthält: include /boot/loader.4th start Außerdem benötigen Sie die Datei /boot/loader.conf, die die folgenden Zeilen enthält: splash_bmp_load="YES" bitmap_load="YES" Dies setzt voraus, dass Sie /boot/splash.bmp als Ihren Splash-Screen benutzen. Wenn Sie lieber eine PCX-Datei benutzen wollen, dann kopieren Sie sie nach /boot/splash.pcx, erstellen Sie eine Datei /boot/loader.rc, wie oben beschrieben und eine Datei /boot/loader.conf, die folgendes enthält: splash_pcx_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.pcx" Alles, was Sie nun brauchen, ist ein Splash-Screen. Hierzu können Sie durch die Galerie bei - - surfen. + surfen. Kann ich die Windows-Tasten unter X benutzen? Ja, Sie müssen lediglich mit &man.xmodmap.1; festlegen, welche Aktion diese Tasten auslösen sollen. Unter der Annahme, dass alle Windows Tastaturen dem Standard entsprechen, lauten die Keycodes für die drei Tasten wie folgt: 115 - Windows-Taste zwischen den Ctrl- und Alt-Tasten auf der linken Seite 116 - Windows-Taste rechts von der AltGr-Taste 117 - Menü-Taste, links von der rechten Strg-Taste Nach der folgenden Anweisung erzeugt die linke Windows-Taste ein Komma. &prompt.root; xmodmap -e "keycode 115 = comma" Sie werden Ihren Window Manager wahrscheinlich neu starten müssen, damit diese Einstellung wirksam wird. Um die neue Belegung der Windows-Tasten automatisch beim Start von X zu erhalten, könnten Sie entsprechende xmodmap Anweisungen in ihre ~/.xinitrc einfügen. Die bevorzugte Variante ist aber, eine Datei mit dem Namen ~/.xmodmaprc zu erzeugen, die nur die Parameter für den Aufruf von xmodmap enthält. Wenn Sie mehrere Tasten umdefinieren wollen, muss jede Definition in eine eigene Zeile gesetzt werden. Weiterhin müssen Sie in Ihrer ~/.xinitrc noch die folgende Zeile einfügen: xmodmap $HOME/.xmodmaprc Sie könnten die drei Tasten zum Beispiel mit den Funktionen F13, F14 und F15 belegen. Dadurch ist es sehr einfach, diese Tasten mit nützlichen Funktionen eines Programmes oder Desktops zu verknüpfen. Falls Sie das auch tun wollen, sollten in Ihrer ~/.xmodmaprc die folgenden Anweisungen stehen. keycode 115 = F13 keycode 116 = F14 keycode 117 = F15 Falls Sie zum Beispiel den x11-wm/fvwm2 Port benutzen, können Sie ihn so einstellen, dass F13 das Fenster unter dem Mauszeiger minimiert bzw. maximiert. F14 holt das Fenster unter dem Mauszeiger in den Vordergrund bzw. ganz nach hinten, wenn es bereits im Vordergrund ist. F15 öffnet das Arbeitsplatz (Programme) Menü, auch wenn der Cursor nicht auf den Hintergrund zeigt. Dies ist extrem praktisch, wenn der gesamte Bildschirm von Fenster belegt wird; als kleiner Bonus gibt es sogar einen Zusammenhang zwischen dem Symbol auf der Taste und der durchgeführten Aktion. Dieses Verhalten kann man mit den folgenden Einträgen in der Datei ~/.fvwmrc erhalten: Key F13 FTIWS A Iconify Key F14 FTIWS A RaiseLower Key F15 A A Menu Workplace Nop Wird 3D Hardware Beschleunigung für &opengl; unterstützt? Dies hängt davon ab, welche Version von &xorg; und welche Grafikkarte Sie verwenden. Wenn Sie eine Karte mit NVIDIA-Chipsatz besitzen, benutzen Sie die binären Treiber für &os;, indem Sie einen der folgenden Ports installieren: Die aktuelle Version von NVIDIA-Karten wird durch den Port - x11/nvidia-driver + x11/nvidia-driver unterstützt. NVIDIA Karten wie die GeForce2 MX/3/4 Serie wird durch die 96XX Treiber unterstützt, die im x11/nvidia-driver-96xx Port bereitgestellt werden. Sogar ältere Karten wie die GeForce und RIVA TNT sind durch die 71XX Treiberserie verfügbar, die im Port - x11/nvidia-driver-71xx - enthalten ist. + x11/nvidia-driver-71xx enthalten + ist. Tatsächlich liefert NVIDIA detaillierte Informationen darüber, welche Karte von welchem Treiber unterstützt wird. Diese Information finden Sie auf der Website von NVIDIA: . Für Matrox G200/400 sehen Sie sich den Port x11-servers/mga_hal an. Bei ATI Rage 128 und Radeon lesen Sie die Anleitungen &man.ati.4x;, &man.r128.4x; und &man.radeon.4x;. Fü 3dfx Vodoo 3, 4, 5 und Banshee Karten gibt es einen - x11-servers/driglide - Port. + x11-servers/driglide Port. Netzwerke Woher kann ich Informationen über Diskless Booting bekommen? Diskless Booting bedeutet, dass die &os;-Maschine über ein Netzwerk gebootet wird und die notwendigen Dateien von einem Server anstatt von der Festplatte liest. Vollständige Details finden Sie im Handbucheintrag über den plattenlosen Betrieb. Kann eine &os;-Maschine als Netzwerkrouter genutzt werden? Ja. Genaue Informationen zu diesem Thema finden Sie im Abschnitt Gateways und Routen des Handbuchkapitels Weiterführende Netzwerkthemen. Kann ich meine &windows;-Maschine über &os; ans Internet anbinden? Personen, die diese Frage stellen, haben typischerweise zwei PCs zu Hause: einen mit &os; und einen mit einer &windows;-Variante. Die Idee ist, die &os;-Maschine an das Internet anzubinden, um in der Lage zu sein, von der &windows;-Maschine über die &os;-Maschine auf das Internet zuzugreifen. Das ist tatsächlich nur ein Spezialfall der vorherigen Frage. Das User-Mode &man.ppp.8; von &os; kennt die Option . Wenn Sie &man.ppp.8; mit der Option starten, in /etc/rc.conf die Variable gateway_enable auf YES setzen und Ihre &windows;-Maschine korrekt konfigurieren, sollte das hervorragend funktionieren. Weitere Informationen erhalten Sie in der Hilfeseite &man.ppp.8; oder im Abschnitt - User-PPP des Handbuchs. + User-PPP des Handbuchs. Wenn Sie Kernel-Mode PPP verwenden oder ihre Verbindung zum Internet über Ethernet erstellt wurde, müssen Sie &man.natd.8; verwenden. Weitere Informationen dazu finden Sie im natd-Abschnitt + url="&url.books.handbook;/network-natd.html">natd-Abschnitt des Handbuchs. Unterstützt &os; SLIP und PPP? Ja. Lesen Sie die Manualpages &man.slattach.8;, &man.sliplogin.8;, &man.pppd.8; und &man.ppp.8;. &man.ppp.8; und &man.pppd.8; liefern Unterstützung sowohl für eingehende, als auch ausgehende Verbindungen. &man.sliplogin.8; behandelt ausschließlich eingehende Verbindungen und &man.slattach.8; behandelt ausschließlich ausgehende Verbindungen. Diese Programme werden im Abschnitt PPP und SLIP des Handbuchs beschrieben. Falls Sie nur durch einen Shell-Account Zugang zum Internet haben, sehen Sie sich einmal das - Package net/slirp an. + Package net/slirp an. Es kann Ihnen (eingeschränkten) Zugang zu Diensten wie ftp und http direkt von Ihrer lokalen Maschine aus ermöglichen. Unterstützt &os; NAT oder Masquerading? Ja. Wenn Sie NAT über eine User-PPP-Verbindung einsetzen wollen, lesen Sie bitte den User-PPP Abschnitt + url="&url.books.handbook;/userppp.html">User-PPP Abschnitt des Handbuchs. Wollen Sie NAT über eine andere - Verbindung einsetzen, lesen Sie bitte den - NATD-Abschnitt + Verbindung einsetzen, lesen Sie bitte den NATD-Abschnitt des Handbuchs. Wie verbinde ich zwei &os;-Maschinen mit PLIP über die parallele Schnittstelle? Dieses Thema wird im Handbuch-Kapitel PLIP behandelt. Wie kann ich Ethernet-Aliase einrichten? Wenn sich die zweite Adresse im gleichen Subnetz befindet wie eine der Adressen, die bereits auf dem Interface konfiguriert sind, benutzen Sie netmask 0xffffffff in Ihrer &man.ifconfig.8; Befehlszeile, wie z.B.: &prompt.root; ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff Andernfalls geben sie die Adresse und die Netzmaske so an, wie sie es bei einem normalen Interface auch tun würden: &prompt.root; ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00 - Sie können mehr darüber im &os; - Handbuch nachlesen. + Sie können mehr darüber im &os; Handbuch + nachlesen. Wie bringe ich meine 3C503 dazu, den anderen Anschluss zu benutzen? Wenn Sie die anderen Anschlüsse benutzen möchten, müssen Sie einen zusätzlichen Parameter in der &man.ifconfig.8;-Befehlszeile spezifizieren. Der Standard-Anschluss ist link0. Um den AUI-Anschluss anstelle des BNC-Anschlusses zu verwenden, benutzen Sie link2. Diese Angaben sollten durch Benutzung der Variablen ifconfig_* in der Datei /etc/rc.conf spezifiziert werden. Warum habe ich Probleme mit NFS und &os;? Gewisse PC-Netzwerkkarten sind (um es gelinde auszudrücken) besser als andere und können manchmal Probleme mit netzwerkintensiven Anwendungen wie NFS verursachen. - Weitere Informationen zu diesem Thema finden Sie - im - Handbucheintrag zu NFS. + Weitere Informationen zu diesem Thema finden Sie im Handbucheintrag zu + NFS. Warum kann ich per NFS nicht von einer &linux;-Maschine mounten? Einige Versionen des NFS-Codes von &linux; akzeptieren Mount-Requests nur von einem privilegierten Port. Versuchen Sie den folgenden Befehl: &prompt.root; mount -o -P linuxbox:/blah /mnt Warum kann ich per NFS nicht von einer &sun;-Maschine mounten? Sun Workstations mit &sunos; 4.X akzeptieren Mount-Requests nur von einem privilegierten Port. Versuchen Sie dieses Kommando: &prompt.root; mount -o -P sunbox:/blah /mnt Warum meldet mir mountd auf meinem &os; NFS-Server ständig can't change attributes und bad exports list? Die häufigste Ursache für dieses Problem ist, dass Sie den Aufbau der &man.exports.5; nicht oder nicht richtig verstanden haben. Überprüfen Sie Ihre &man.exports.5; und lesen das Kapitel NFS im Handbuch, speziell den Abschnitt Konfiguration. Warum habe ich Probleme, per PPP mit NeXTStep-Maschinen zu kommunizieren? Versuchen Sie, die TCP-Erweiterung in /etc/rc.conf zu deaktivieren, indem Sie die folgende Variable auf NO setzen: tcp_extensions=NO Xylogic's Annex-Maschinen arbeiten hier auch fehlerhaft und Sie müssen die obige Änderung benutzen, um über Sie Verbindungen herzustellen. Wie aktiviere ich die Unterstützung für IP-Multicast? Multicast-Host-Funktionen werden standardmäßig von &os; unterstützt. Wenn Sie Ihre Maschine als Multicast-Router betreiben wollen, müssen Sie Ihren Kernel mit der Option MROUTING neu kompilieren und &man.mrouted.8; starten. Wenn Sie die Variable mrouted_enable in der Datei /etc/rc.conf auf YES setzen, wird &man.mrouted.8; während des &os;-Systemstarts automatisch gestartet. In aktuellen Versionen von &os; sind die Programme &man.mrouted.8;, der Multicast Routing Dienst, &man.map-mbone.8; und &man.mrinfo.8; nicht mehr im Basissystem enthalten. In der &os; Ports-Sammlung sind diese Programme unter net/mrouted erhältlich. MBONE-Tools sind in ihrer eigenen Ports-Kategorie mbone verfügbar. Schauen Sie dort nach, wenn Sie die Konferenztools vic und vat suchen! Welche Netzwerkkarten basieren auf dem DEC-PCI-Chipsatz? Hier ist eine von Glen Foster gfoster@driver.nsta.org zusammengetragene Liste mit einigen aktuellen Ergänzungen: Netzwerkkarten mit DEC-PCI-Chipsatz Vendor Model ASUS PCI-L101-TB Accton ENI1203 Cogent EM960PCI Compex ENET32-PCI D-Link DE-530 Dayna DP1203, DP2100 DEC DE435, DE450 Danpex EN-9400P3 JCIS Condor JC1260 Linksys EtherPCI Mylex LNP101 SMC EtherPower 10/100 (Modell 9332) SMC EtherPower (Model 8432) TopWare TE-3500P Znyx (2.2.X) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348 Znyx (3.X) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)
Warum muss ich für Hosts auf meiner Site den FQDN benutzen? Lesen Sie die Antwort im &os; Handbook. Wieso erhalte ich bei allen Netzwerkoperationen die Meldung Permission denied? Dieses Problem kann auftreten, wenn Sie einen Kernel mit der Option IPFIREWALL erstellt haben. In der Voreinstellung werden alle Pakete, die nicht explizit erlaubt wurden, blockiert. Falls sie Ihr System unbeabsichtigt als Firewall konfiguriert haben, können Sie die Netzwerkfunktionalität wiederherstellen, indem Sie als root folgendes eingeben: &prompt.root; ipfw add 65534 allow all from any to any Sie können in /etc/rc.conf auch firewall_type="open" setzen. Weitere Informationen über die Konfiguration einer &os;-Firewall finden Sie im Kapitel Firewalls des Handbuchs. Warum kann ich bei &man.ipfw.8; einen Dienst nicht mit fwd auf eine andere Maschine umlenken? Der wahrscheinlichste Grund ist, dass Sie Network Address Translation (NAT) brauchen und nicht die einfache Weiterleitung von Pakete. Die fwd Anweisung macht genau das, was da steht: Sie leitet Pakete weiter; die Daten in den Paketen werden aber nicht verändert. Ein Beispiel: 01000 fwd 10.0.0.1 from any to foo 21 Wenn ein Paket mit dem Ziel foo die Maschine mit dieser Regel erreicht, wird das Paket an 10.0.0.1 weitergeleitet; die Zieladresse im Paket lautet aber immer noch foo! Die Zieladresse wird nicht in 10.0.0.1 geändert. Die meisten Rechner werden allerdings Pakete verwerfen, wenn die Zieladresse des Paketes nicht mit der Adresse des Rechners übereinstimmt. Das ist der Grund, warum eine fwd Regel oft nicht den Effekt hat, den der Benutzer wollte. Dieses Verhalten ist aber kein Fehler, sondern erwünscht. Wenn Sie einen Dienst auf eine andere Maschine umleiten wollen, sollten Sie sich den FAQ-Eintrag über die Umleitung von Diensten oder die Online-Hilfe zu &man.natd.8; durchlesen. Auch in der Ports Sammlung sind diverse Hilfsprogramme für diesen Zweck enthalten. Wie kann ich Service-Requests von einer Maschine auf eine andere umleiten? Sie können FTP-Requests (und andere Dienste) mit - dem Port sysutils/socket - umleiten. Ersetzen sie die Befehlszeile - für den Dienst einfach so, dass stattdessen + dem Port sysutils/socket umleiten. Ersetzen sie + die Befehlszeile für den Dienst einfach so, dass stattdessen socket aufgerufen wird, zum Beispiel so: ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.com ftp wobei ftp.example.com und ftp entsprechend der Host und der Port sind, wohin umgeleitet werden soll. - Woher kann ich ein Bandbreiten-Managementtool - bekommen? + Woher kann ich ein Bandbreiten-Managementtool bekommen? Für &os; gibt es drei Bandbreiten-Managementtools. &man.dummynet.4; ist als Teil von &man.ipfw.4; in &os; integriert. ALTQ ist in &os; Bestandteil von &man.pf.4;. Bei Bandwidth Manager von Emerging Technologies handelt es sich hingegen um ein kommerzielles Produkt. Warum erhalte ich die Meldung /dev/bpf0: device not configured? Der Berkeley-Paket-Filter (&man.bpf.4;) muss in den Kernel eingebunden werden, bevor er von einem Programme aus genutzt werden kann. Fügen Sie folgendes zu Ihrer Kernelkonfigurationsdatei hinzu und erstellen Sie einen neuen Kernel: device bpf # Berkeley Packet Filter Habe ich, analog zum smbmount von &linux;, eine Möglichkeit, auf ein freigegebenes Laufwerk einer &windows;-Maschine in meinem Netzwerk zuzugreifen? Benutzen Sie die Kernel-Erweiterungen und Benutzerprogramme aus dem Programmpaket SMBFS. Das Paket und weitergehende Informationen sind unter &man.mount.smbfs.8; im Basissystem verfügbar. Was bedeutet die Meldung Limiting icmp/open port/closed port response in meinen Logfiles? Mit dieser Meldung teilt Ihnen der Kernel mit, dass irgend jemand versucht, ihn zur Generierung von zu vielen ICMP oder TCP reset (RST) Antworten zu provozieren. ICMP Antworten sind oft das Ergebnis von Verbindungsversuchen zu unbenutzten UDP Ports. TCP Resets werden generiert, wenn jemand versucht, eine Verbindung zu einem ungenutzten TCP Port aufzubauen. Die Meldungen können unter anderem durch die folgenden Ereignisse ausgelöst werden: Denial of Service (DoS) Angriffe mit der Brechstange (und nicht durch Angriffe mit einzelnen Paketen, die gezielt eine Schwachstelle des Systems ausnutzen sollen). Port Scans, bei denen versucht wird, Verbindungen zu einer großen Anzahl von Ports (und nicht nur einigen bekannten Ports) herzustellen. Die erste Zahl gibt an, wie viele Pakete vom Kernel ohne das Limit versendet worden wären; die zweite Zahl gibt das Limit an. Sie können das Limit mit Hilfe der sysctl-Variable net.inet.icmp.icmplim einstellen. Im Beispiel wird das Limit auf 300 Pakete pro Sekunde gesetzt: &prompt.root; sysctl -w net.inet.icmp.icmplim=300 Wenn Sie zwar die Begrenzung benutzen möchten, aber die Meldungen nicht in Ihren Logfiles sehen möchten, können Sie die Meldungen mit der sysctl-Variable net.inet.icmp.icmplim_output abschalten: &prompt.root; sysctl -w net.inet.icmp.icmplim_output=0 Falls Sie die Begrenzung ganz abschalten wollen, können Sie die Sysctl-Variable net.inet.icmp.icmplim auf 0. Wir raten Ihnen aus den oben genannten Gründen dringend von diesem Schritt ab. Was bedeutet die Meldung arp: unknown hardware address format? Ein Gerät im lokalen Ethernet verwendet eine MAC-Adresse in einem Format, das &os; nicht kennt. Der wahrscheinlichste Grund ist, dass jemand Experimente mit einer Ethernet-Karte anstellt. Die Meldung tritt sehr häufig in Netzwerken mit Cable Modems auf. Die Meldung ist harmlos und sollte die Performance Ihres Systems nicht negativ beeinflussen. + + + Warum sehe ich ständig Nachrichten wie: + 192.168.0.10 is on fxp1 but got reply from + 00:15:17:67:cf:82 on rl0 und wie stelle ich + das ab? + + + + Weil ein Paket unerwartet von ausserhalb des Netzwerks + empfangen wurde. Um die Nachrichten abzustellen, ändern Sie + net.link.ether.inet.log_arp_wrong_iface auf + 0. + + + Ich habe gerade CVSup installiert, aber das Programm bricht mit Fehlermeldungen ab. Was ist da schief gelaufen? Schauen Sie bitte zuerst nach, ob Sie eine Fehlermeldung wie die unten gezeigte erhalten. /usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found - Solche Fehlermeldungen erhalten Sie, wenn Sie den - net/cvsup Port auf einer - Maschine installieren, die kein - &xorg;-System besitzt. Wenn Sie - das GUI von CVSup - benutzen wollen, müssen Sie + Solche Fehlermeldungen erhalten Sie, wenn Sie den net/cvsup Port auf einer Maschine + installieren, die kein &xorg;-System + besitzt. Wenn Sie das GUI von + CVSup benutzen wollen, müssen Sie &xorg; installieren. Wenn Sie CVSup nur auf der Kommandozeile benutzen wollen, entfernen Sie bitte den Port, den Sie gerade installiert haben. Installieren Sie stattdessen den Port - net/cvsup-without-gui oder - den net/csup Port. Falls Sie - ein aktuelles &os; Release besitzen, können Sie &man.csup.1; + net/cvsup-without-gui oder den net/csup Port. Falls Sie ein aktuelles + &os; Release besitzen, können Sie &man.csup.1; verwenden. Genauere Informationen finden Sie im CVSup Abschnitt des Handbuchs.
Sicherheit Was ist ein Sandkasten (sandbox)? Sandkasten (sandbox) ist ein Ausdruck aus dem Bereich Sicherheit. Er hat zwei Bedeutungen: Ein Programm, das innerhalb virtueller Wände ausgeführt wird. Wenn ein Angreifer über eine Sicherheitslücke in diesen Programm einbricht, verhindern diese Wände ein tieferes Vordringen in das System. Man sagt: Der Prozess kann innerhalb der Wände spielen, das heißt nichts, was der Prozess in Bezug auf die Ausführung von Code tut, kann die Wände durchbrechen. Es ist also keine detaillierte Revision des Codes erforderlich, um gewisse Aussagen über seine Sicherheit machen zu können. Die Wände könnten z.B. eine Benutzerkennung sein. Dies ist die Definition, die in den Hilfeseiten &man.security.7; und &man.named.8; benutzt wird. Nehmen Sie zum Beispiel den Dienst ntalk (siehe auch &man.inetd.8;). Dieser Dienst ist früher mit der Benutzerkennung root gelaufen; nun läuft er mit der Benutzerkennung tty. Der Benutzer tty ist ein Sandkasten, der dazu gedacht ist, es jemandem, der über ntalk erfolgreich in das System eingebrochen ist, schwer zu machen, über diese Benutzerkennung hinaus vorzudringen. Ein Prozess, der sich innerhalb einer simulierten Maschine befindet. Dies ist etwas fortgeschrittener; grundsätzlich bedeutet es, dass jemand, der in der Lage ist, in einen Prozess einzudringen, annehmen könnte, er könnte weiter in die Maschine eindringen, tatsächlich aber nur in eine Simulation der Maschine einbricht und keine echten Daten verändert. Der gängigste Weg, dies zu erreichen, ist, in einem Unterverzeichnis eine simulierte Umgebung zu erstellen und den Prozess in diesem Verzeichnis mit chroot auszuführen (für diesen - Prozess ist / dieses - Verzeichnis und nicht das echte / des Systems). + Prozess ist / dieses Verzeichnis und nicht das + echte / des Systems). Eine weitere gebräuchliche Anwendung ist, ein untergeordnetes Dateisystem nur mit Leserechten zu mounten, und dann darüber eine Dateisystemebene zu erstellen, die einem Prozess einen scheinbar schreibberechtigten Blick in das Dateisystem gibt. Der Prozess mag glauben, dass er in der Lage ist, diese Dateien zu verändern, aber nur der Prozess sieht diesen Effekt - andere Prozess im System natürlich nicht. Es wird versucht, diese Art von Sandkasten so transparent zu gestalten, dass der Benutzer (oder Hacker) nicht merkt, dass er sich in ihm befindet. Ein &unix; System implementiert zwei Arten von Sandkästen - eine auf Prozessebene und die andere auf der Ebene der Benutzerkennung. Jeder Prozess auf einem &unix; System ist komplett von allen anderen Prozessen abgeschirmt. Ein Prozess kann den Adressraum eines anderen Prozesses nicht modifizieren. Das ist anders als bei &windows;, wo ein Prozess leicht den Adressraum eines anderen überschreiben kann, was zu einem Absturz führt. Ein Prozess gehört einer bestimmten Benutzerkennung. Falls die Benutzerkennung nicht die von root ist, dient sie dazu, den Prozess von Prozessen anderer Benutzer abzuschirmen. Die Benutzerkennung wird außerdem dazu genutzt, Daten auf der Festplatte abzuschirmen. Was sind die Sicherheitsstufen? Die Sicherheitsstufen sind ein Sicherheitsmechanismus, der im Kernel angesiedelt ist. Wenn die Sicherheitsstufe einen positiven Wert hat, verhindert der Kernel die Ausführung bestimmter Tätigkeiten; nicht einmal der Super-User (also root) darf sie durchführen. Zurzeit können über die Sicherheitsstufen unter anderem die folgenden Tätigkeiten geblockt werden: Zurücksetzen bestimmter Dateiattribute, wie zum Beispiel schg (das "system immutable" Attribut). Schreibender Zugriff auf die Speicherbereiche des Kernels mittels /dev/mem und /dev/kmem. Laden von Kernel-Modulen. Änderungen an den Firewall-Regeln. Um die eingestellte Sicherheitsstufe eines aktiven Systems abzufragen, reicht das folgende einfache Kommando: &prompt.root; sysctl kern.securelevel Die Ausgaben wird den Namen der &man.sysctl.8;-Variablen (in diesem Fall kern.securelevel) und eine Zahl enthalten. Die Zahl ist der aktuelle Wert der Sicherheitsstufe. Wenn die Zahl positiv (größer als Null) ist, sind zumindest einige der Schutzmaßnahmen aktiviert. Sie können die Sicherheitsstufe eines laufenden Systems nicht verringern, da dies den Mechanismus wertlos machen würden. Wenn Sie eine Tätigkeit ausführen müssen, bei der die Sicherheitsstufe nicht-positiv sein muss (z.B. ein installworld oder eine Änderung der Systemzeit), dann müssen Sie die entsprechende Einstellung in /etc/rc.conf ändern (suchen Sie nach den Variablen kern_securelevel und kern_securelevel_enable) und das System rebooten. Weitere Informationen über die Sicherheitsstufen und genaue Informationen, was die Einstellungen bewirken, können Sie der Online-Hilfe &man.init.8; entnehmen. Die Sicherheitsstufen sind kein magischer Zauberstab, der alle Ihre Problem löst; es gibt viele bekannte Probleme. Und in der Mehrzahl der Fälle vermitteln sie ein falsches Gefühl der Sicherheit. Eines der größten Probleme ist, dass alle für den Start des Systems benötigten Dateien geschützt sein müssen, damit die Sicherheitsstufe effektiv sein können. Wenn es ein Angreifer schafft, seine eigenen Programme ausführen zu lassen, bevor die Sicherheitsstufe gesetzt wird (was leider erst gegen Ende des Startvorgangs erfolgen kann, da viele der notwendigen Tätigkeiten für den Systemstart nicht mit einer gesetzten Sicherheitsstufe möglich wären), werden die Schutzmechanismen ausgehebelt. Es ist zwar nicht technisch unmöglich, alle beim Systemstart genutzten Dateien zu schützen; allerdings würde in einem so geschützten System die Administration zu einem Alptraum, da man das System neu starten oder in den Single-User-Modus bringen müsste, um eine Konfigurationsdatei ändern zu können. Dieses und andere Probleme werden häufig auf den Mailinglisten diskutiert, speziell auf auf der Mailingliste &a.security;. Das verfügbare Archiv enthält ausgiebige Diskussionen. Einige Benutzer sind guter Hoffnung, dass das System der Sicherheitsstufen bald durch ein besser konfigurierbares System ersetzt wird, aber es gibt noch keine definitiven Aussagen. Fühlen Sie sich gewarnt. Wieso wartet BIND (named) sowohl auf Port 53 als auch auf einem hohen Port auf Anfragen? FreeBSD benutzt eine Version von BIND, die einen Port mit einer hohen, zufälligen Nummer für den Versand von Anfragen nutzt. Wenn Sie Port 53 für abgehende Anfragen benutzen wollen, um durch eine Firewall zu kommen oder sich einfach nur besser zu fühlen, können die folgenden Zeilen in /etc/namedb/named.conf eintragen. options { query-source address * port * 53; }; Wenn Sie möchten, können Sie statt * auch eine einzelne IP-Adresse eintragen, um die Dinge noch weiter einzuschränken. Ach übrigens, herzlichen Glückwunsch. Es ist eine sehr gute Angewohnheit, die Ausgaben von &man.sockstat.1; durchzusehen und auf merkwürdige Dinge zu achten. Wieso wartet der sendmail-Dienst neuerdings sowohl auf Port 587 als auch auf dem Standard-Port 25 auf Anfragen? Aktuelle sendmail-Versionen unterstützen eine neue Technik zur Einlieferung von Mails, die Port 587 nutzt. Diese Technik wird zwar noch nicht oft angewendet, erfreut sich aber ständig steigender Popularität. Woher kommt dieser Benutzer toor mit UID 0? Ist mein System gehackt worden? Keine Panik. toor ist ein alternativer Account für den Super-User (wenn man root rückwärts schreibt, erhält man toor). Früher wurde er nur erzeugt, wenn die Shell &man.bash.1; installiert wurde, heute wird er auf jeden Fall erzeugt. Dieser Account ist für die Verwendung mit einer alternativen Shell vorgesehen; damit ist es nicht mehr erforderlich, die Shell von root zu ändern. Dies ist wichtig, wenn eine Shell verwendet wird, die nicht zum Lieferumfang von &os; gehört, zum Beispiel aus einem Port oder einem Package. Diese Shells werden in der - Regel in /usr/local/bin installiert - und dieses Verzeichnis liegt standardmäßig auf - einem anderem Filesystem. Wenn die Shell von - root in - /usr/local/bin liegt und - /usr (oder das Filesystem, auf dem - /usr/local/bin liegt) nicht gemountet - werden kann, kann sich root nicht + Regel in /usr/local/bin + installiert und dieses Verzeichnis liegt standardmäßig + auf einem anderem Filesystem. Wenn die Shell von + root in /usr/local/bin liegt und /usr (oder das Filesystem, auf dem + /usr/local/bin liegt) nicht + gemountet werden kann, kann sich root nicht mehr einloggen, um das Problem zu beheben. Es ist allerdings möglich, das System zu rebooten und das Problem im Single-User-Modus zu lösen, da man hier gefragt wird, welche Shell benutzt werden soll. Einige Anwender benutzen toor mit einer alternativen Shell für die tägliche Arbeit und benutzen root (mit der Standard-Shell) für den Single-User-Modus und für Notfälle. Standardmäßig kann man sich nicht als toor anmelden, da der Account kein gültiges Passwort hat; Sie müssen sich also als root anmelden und ein Passwort für toor setzen, wenn Sie diesen Account benutzen wollen. Warum funktioniert suidperl nicht richtig? Aus Sicherheitsgründen wird suidperl standardmäßig nicht installiert. Wenn Sie wollen, dass suidperl auch beim Update via Sourcecode das SUID-Bit erhält, müssen Sie in /etc/make.conf die Zeile ENABLE_SUIDPERL=true einfügen, bevor Sie perl bauen. PPP Ich bekomme &man.ppp.8; nicht zum Laufen. Was mache ich falsch? Sie sollten zuerst &man.ppp.8; (die Manualpage zu ppp) und den Abschnitt zu PPP im Handbuch lesen. Aktivieren Sie das Logging mit folgendem Befehl: set log Phase Chat Connect Carrier lcp ipcp ccp command Dieser Befehl kann an der Eingabeaufforderung von &man.ppp.8; eingegeben oder in die Konfigurationsdatei /etc/ppp/ppp.conf eingetragen werden (der beste Ort hierfür ist der Anfang des Abschnitts default. Stellen Sie sicher, dass die Datei /etc/syslog.conf die folgenden Zeilen enthält und die Datei /var/log/ppp.log existiert: !ppp *.* /var/log/ppp.log Sie können nun über die Logfiles eine Menge darüber herausfinden, was geschieht. Es macht nichts, wenn die Einträge in den Logfiles Ihnen gar nichts sagen. Wenn Sie jemandem um Hilfe bitten müssen, könnten sie für ihn von Nutzen sein. Warum hängt sich ppp auf, wenn ich es benutze? Das liegt meistens daran, dass Ihr Rechnername nicht aufgelöst werden kann. Um dieses Problem zu lösen, müssen Sie sicherstellen, dass die Datei /etc/hosts von Ihrem Resolver zuerst genutzt wird. Dazu muss in der Datei /etc/host.conf der Eintrag hosts an die erste Stelle gesetzt werden. Erstellen Sie dann einfach für Ihren lokalen Rechner einen Eintrag in der Datei /etc/hosts. Falls Sie kein lokales Netzwerk besitzen, ändern Sie die localhost-Zeile: 127.0.0.1 foo.example.com foo localhost Andernfalls fügen Sie einfach einen weiteren Eintrag für Ihren lokalen Rechner hinzu. Weitere Details finden Sie in den betreffenden Manualpages. Wenn Sie fertig sind sollten Sie ping -c1 `hostname` erfolgreich ausführen können. Warum wählt &man.ppp.8; im -auto-Modus nicht? Überprüfen Sie zunächst, ob Sie einen Standard-Gateway eingestellt haben. Wenn Sie netstat -rn ausführen, sollten Sie zwei Einträge ähnlich den folgenden sehen: Destination Gateway Flags Refs Use Netif Expire default 10.0.0.2 UGSc 0 0 tun0 10.0.0.2 10.0.0.1 UH 0 0 tun0 Hier wird angenommen, dass Sie die Adressen aus dem Handbuch, der Manualpage oder aus der Datei ppp.conf.sample benutzt haben. Falls Sie keine Standardroute haben, kann es daran liegen, dass Sie vergessen haben, die Zeile HISADDR in der Datei ppp.conf hinzuzufügen. Ein weiterer Grund dafür, dass die Zeile für die Standardroute fehlt, könnte der sein, dass Sie fälschlicherweise eine Standardroute in der Datei /etc/rc.conf eingetragen und die folgende Zeile in ppp.conf ausgelassen haben: delete ALL Lesen Sie in diesem Fall den Abschnitt Abschließende Systemkonfiguration des Handbuchs. Was bedeutet No route to host? Dieser Fehler beruht für gewöhnlich auf einem fehlenden Abschnitt in Ihrer Datei /etc/ppp/ppp.linkup: MYADDR: delete ALL add 0 0 HISADDR Er ist nur notwendig, wenn Sie eine dynamische IP-Adresse besitzen oder die Adresse Ihres Gateways nicht kennen. Wenn Sie den interaktiven Modus benutzen, können Sie folgendes eingeben, nachdem Sie in den packet mode gelangt sind (den Paket Modus erkennen Sie an PPP im Prompt): delete ALL add 0 0 HISADDR Weitere Details finden Sie im Abschnitt PPP und Dynamische IP-Adressen des Handbuchs. Wieso werden meine Verbindungen nach ca. drei Minuten beendet? Der Standardtimeout für &man.ppp.8; beträgt drei Minuten. Er kann durch die folgende Zeile eingestellt werden, wobei NNN die Inaktivität in Sekunden angibt, bevor die Verbindung geschlossen wird: set timeout NNN Falls NNN Null ist, wird die Verbindung niemals aufgrund eines Timeouts geschlossen. Es ist möglich, diesen Befehl in die Datei ppp.conf einzubinden, oder ihn an der Eingabeaufforderung im interaktiven Modus einzugeben. Durch eine Verbindung zum Server-Socket von ppp über &man.telnet.1; oder &man.pppctl.8; ist es auch möglich, den Timeout bei aktiver Verbindung anzupassen. Weitere Details finden Sie in der Manualpage &man.ppp.8;. Wieso bricht meine Verbindung bei hoher Auslastung ab? Falls Sie Link-Quality-Reporting (LQR) konfiguriert haben, ist es möglich, dass zu viele LQR-Pakete zwischen Ihrer Maschine und dem verbundenen Rechner verloren gehen. Das &man.ppp.8;-Programm folgert daraus, dass die Verbindung nicht in Ordnung ist und schließt sie. Vor &os; Version 2.2.5 war LQR standardmäßig aktiviert; nun ist es standardmäßig deaktiviert. Es kann durch die folgende Zeile deaktiviert werden: disable lqr Warum brechen meine Verbindungen nach unbestimmter Zeit zusammen? Wenn die Qualität Ihrer Telefonleitung zu schlecht oder bei Ihrem Anschluss die Option (Telekomdeutsch: das Leistungsmerkmal) Anklopfen aktiviert ist, kann es manchmal vorkommen, dass Ihr Modem auflegt, weil es (fälschlicherweise) annimmt, dass es das Trägersignal verloren hat. Bei den meisten Modems gibt es eine Einstellmöglichkeit, um anzugeben, wie tolerant es gegenüber vorübergehenden Verlusten des Trägersignals sein soll. Bei einem &usrobotics; &sportster; wird dies zum Beispiel im Register S10 in Zehntelsekunden angegeben. Um Ihr Modem toleranter zu machen, können Sie zu Ihrem Wählbefehl die folgende Sende-Empfangs-Sequenz hinzufügen: set dial "...... ATS10=10 OK ......" Weitere Information sollten Sie dem Handbuch Ihres Modems entnehmen können. Warum hängen meine Verbindung nach einer unbestimmten Zeit? Viele Leute machen Erfahrungen mit hängenden Verbindungen ohne erkennbaren Grund. Als erstes muss festgestellt werden, welche Seite der Verbindung hängt. Wenn Sie ein externes Modem benutzen, können Sie einfach versuchen, &man.ping.8; zu benutzen, um zu sehen, ob die TD-Anzeige aufleuchtet, wenn Sie Daten übertragen. Falls sie aufleuchtet (und die RD-Anzeige nicht), liegt das Problem am anderen Ende. Falls TD nicht aufleuchtet, handelt es sich um ein lokales Problem. Bei einem internen Modem müssen Sie den Befehl set server in Ihrer Datei ppp.conf benutzen. Stellen Sie über &man.pppctl.8; eine Verbindung zu &man.ppp.8; her, wenn die Verbindung hängt. Falls Ihre Netzwerkverbindung plötzlich wieder funktioniert (ppp wurde durch die Aktivität auf dem Diagnose-Socket wiederbelebt) oder Sie keine Verbindung bekommen (vorausgesetzt, der Befehl set socket wurde beim Start erfolgreich ausgeführt), handelt es sich um ein lokales Problem. Falls Sie eine Verbindung bekommen und die externe Verbindung weiterhin hängt, aktivieren Sie lokales asynchrones Logging mit set log local async und benutzen Sie &man.ping.8; von einem anderen Fenster oder Bildschirm aus, um die externe Verbindung zu benutzen. Das asynchrone Logging zeigt Ihnen, welche Daten über die Verbindung gesendet und empfangen werden. Falls Daten hinausgehen, aber nicht zurückkommen, handelt es sich um ein externes Problem. Wenn Sie festgestellt haben, ob es sich um ein lokales oder um ein externes Problem handelt, haben Sie zwei Möglichkeiten: Wenn es ein externes Problem ist, lesen Sie bitte bei weiter. Handelt es sich um ein lokales Problem, lesen Sie bitte . Was kann ich machen, wenn die Gegenstelle nicht antwortet? Hier können Sie wenig tun. Die meisten ISPs werden ablehnen, Ihnen zu helfen, wenn Sie kein Betriebssystem von µsoft; benutzen. Sie können enable lqr in Ihrer Datei ppp.conf angeben, wodurch &man.ppp.8; ermöglicht wird, ein externes Versagen zu erkennen und aufzulegen, aber diese Erkennung ist relativ langsam und deshalb nicht besonders nützlich. Evtl. sagen Sie Ihrem ISP nicht, dass Sie user-PPP benutzen. Versuchen Sie zunächst, jegliche Datenkompression auszuschalten, indem Sie folgendes zu Ihrer Konfiguration hinzufügen: disable pred1 deflate deflate24 protocomp acfcomp shortseq vj deny pred1 deflate deflate24 protocomp acfcomp shortseq vj Stellen Sie nun wieder eine Verbindung her, um festzustellen, ob sich etwas geändert hat. Falls es nun besser läuft oder falls das Problem vollständig behoben ist, versuchen Sie durch schrittweises Ändern der Einstellungen festzustellen, welche Einstellung den Unterschied bewirkt. Hierdurch erhalten Sie schlüssige Fakten für ein Gespräch mit Ihrem ISP (andererseits wird hierdurch offensichtlich, dass Sie kein µsoft;-Produkt benutzen). Aktivieren Sie asynchrones Logging und warten Sie, bis die Verbindung wieder hängt, bevor Sie sich an Ihren ISP wenden. Hierzu kann einiges an Plattenplatz nötig sein. Die Daten, die als letztes von dem Port gelesen wurden, könnten von Interesse sein. Für gewöhnlich handelt es sich um ASCII-Text, der sogar den Fehler beschreiben kann (Memory fault, Core dumped). Falls Ihr ISP hilfsbereit ist, sollte er in der Lage sein, an seinem Ende das Logging zu aktivieren und wenn das nächste Mal die Verbindung abbricht, könnte er Ihnen mitteilen, worin das Problem auf seiner Seite besteht. Gerne können Sie Details auch an &a.brian; schicken, oder Ihren ISP bitten, sich direkt an ihn zu wenden. Was kann ich tun, wenn sich &man.ppp.8; aufhängt? In diesem Fall erstellen Sie am besten &man.ppp.8; mit Debugging-Informationen neu und benutzen dann &man.gdb.1;, um von dem hängenden ppp Prozess eine Aufzeichnung des Stacks zu erstellen. Um die ppp Anwendung mit Debugging-Informationen zu übersetzen, geben Sie folgendes ein: &prompt.root; cd /usr/src/usr.sbin/ppp&prompt.root; env DEBUG_FLAGS='-g' make clean &prompt.root; env DEBUG_FLAGS='-g' make install Anschliessend sollten Sie ppp neu starten und darauf warten, dass es wieder hängt. Wenn die Debug-Version von ppp hängt, starten Sie gdb für den steckengebliebenen Prozess, indem Sie folgendes eingeben: &prompt.root; gdb ppp `pgrep ppp` An der Eingabeaufforderung von gdb können Sie die Befehle bt oder where benutzen, um eine Aufzeichnung des Stacks zu erhalten. Speichern Sie die Ausgabe der gdb-Sitzung und trennen Sie den laufenden Prozess über den quit Befehl von gdb. Schicken Sie zum Schluss das Log der gdb-Sitzung an &a.brian;. Warum passiert nach der Nachricht Login OK! nichts? Bei &os;-Versionen vor 2.2.5 wartete &man.ppp.8; darauf, dass der Partner das Line Control Protocol (LCP) initiiert. Viele ISPs starten nicht mit der Initiierung, sondern erwarten dies vom Client. Benutzen Sie die folgende Zeile, um &man.ppp.8; zu veranlassen, LCP zu initiieren: set openmode active Für gewöhnlich schadet es nicht, wenn beide Seiten versuchen, Verhandlungen einzuleiten. Deshalb ist openmode nun standardmäßig aktiv. Im nächsten Abschnitt wird allerdings erklärt, in welchen Fällen es doch schadet. Ich sehe ständig Fehlermeldungen über gleiche Magic Numbers Was heißt das? Nach dem Aufbau einer Verbindung kann es sein, dass Sie in der Logdatei gelegentlich Meldungen mit dem Hinweis magic is the same sehen. Manchmal sind diese Meldungen harmlos und manchmal bricht die eine oder andere Seite die Verbindung ab. Die meisten Implementationen von PPP können dieses Problem nicht handhaben und Sie werden wiederholte Konfigurationsanforderungen und -bestätigungen in der Logdatei finden, bis &man.ppp.8; schließlich aufgibt und die Verbindung beendet. Dies geschieht normalerweise auf Servern mit langsamen Festplatten, bei denen ein getty auf dem Port ausgeführt und &man.ppp.8; nach dem Einloggen von einem Login-Skript oder einem Programm aus gestartet wird. Es wurde auch schon berichtet, dass dies bei der Benutzung von slirp regelmäßig auftritt. Der Grund hierfür ist, dass das &man.ppp.8; auf der Client-Seite in der Zeit, die benötigt wird, &man.getty.8; zu beenden und &man.ppp.8; zu starten, bereits beginnt, Line Control Protocol (LCP) Pakete zu senden. Da ECHO auf dem Serverport weiterhin eingeschaltet ist, werden diese Pakete zum &man.ppp.8; auf der Client-Seite reflektiert. Ein Teil der LCP-Verhandlungen ist die Einrichtung einer Magic Number für jede Seite der Verbindung, damit Echos erkannt werden können. Das Protokoll besagt, dass, wenn der Partner versucht, die gleiche Magic Number auszuhandeln, ein NAK zurückgesendet und eine neue "Magic Number" gewählt werden soll. Während der Server das ECHO eingeschaltet hat, sendet der Client LCP Pakete, sieht die gleiche Magic Number im reflektierten Paket und erzeugt ein NAK. Er sieht auch das reflektierte NAK (was bedeutet, dass &man.ppp.8; seine "Magic Number" ändern muss). Hierdurch wird eine Vielzahl von Änderungen der Magic Number hervorgerufen, die sich allesamt im tty-Puffer des Servers ansammeln. Sobald &man.ppp.8; auf dem Server startet, wird es mit Änderungen der Magic Number überflutet und entscheidet, dass es sich zur Genüge mit den LCP-Verhandlungen beschäftigt hat und gibt auf. Und während sich der Client noch darüber freut, dass er keine weiteren Reflexionen sieht, wird ihm gemeldet, dass der Server auflegt. Dies kann verhindert werden, indem dem Partner durch die folgende Zeile in der Datei ppp.conf erlaubt wird, mit der Verhandlung zu beginnen: set openmode passive Hierdurch wird &man.ppp.8; mitgeteilt, darauf zu warten, dass der Server mit den LCP-Verhandlungen beginnt. Einige Server starten jedoch nie mit der Verhandlungen; falls dies der Fall ist, können Sie folgendes tun: set openmode active 3 Hierdurch bleibt &man.ppp.8; für drei Sekunden passiv und fängt dann erst an, LCP-Anforderungen zu senden. Falls der Partner während dieser Zeit beginnt, Anforderungen zu senden, wird &man.ppp.8; direkt antworten und nicht erst, nachdem die drei Sekunden abgelaufen sind. Die LCP-Verhandlungen dauern an, bis die Verbindung geschlossen wird. Was mache ich falsch? Es gibt eine Fehlfunktion in der Implementierung von &man.ppp.8;, die darin besteht, dass LCP-, CCP- & IPCP-Antworten nicht mit den ursprünglichen Anforderungen assoziiert werden. Für den Fall, dass eine Implementation von PPP mehr als sechs Sekunden langsamer ist, als die andere Seite, resultiert das darin, dass die andere Seite zwei weitere LCP-Konfigurationsanforderungen sendet, was fatale Auswirkungen hat. Stellen Sie sich vor, wir hätten es mit zwei Implementierungen A und B zu tun. A beginnt unmittelbar nach der Verbindung, LCP-Anforderungen zu senden und B benötigt sieben Sekunden, zu starten. Wenn B startet, hat A bereits drei LCP-Anforderungen gesendet. Wir nehmen an, dass ECHO ausgeschaltet ist; andernfalls würden wir Probleme mit der "Magic Number" beobachten, wie bereits im vorherigen Abschnitt beschrieben. B sendet eine Anforderung und anschließend eine Bestätigung der ersten Anforderung von A. Dies führt dazu, dass A in den Zustand OPENED übergeht und eine Bestätigung (die erste) zurück an B sendet. In der Zwischenzeit sendet B zwei weitere Bestätigungen als Antwort auf die zusätzlichen Anforderungen, die von A gesendet worden sind, bevor B gestartet ist. B empfängt dann die erste Bestätigung von A und geht in den Zustand OPENED über. A empfängt die zweite Bestätigung von B, geht zurück in den Zustand REQ-SENT und sendet eine weitere (vierte) Anforderung entsprechend dem RFC. A empfängt dann die dritte Bestätigung und geht in den Zustand OPENED über. In der Zwischenzeit empfängt B die vierte Anforderung von A, wechselt in den Zustand ACK-SENT und sendet eine weitere (zweite) Anforderung und (vierte) Bestätigung entsprechend dem RFC. A erhält die Anforderung, geht in den Zustand REQ-SENT über, sendet eine weitere Anforderung, erhält unverzüglich die nächste Bestätigung und geht in OPENED über. Das geht so weiter, bis eine Seite erkennt, dass man zu keinem Ergebnis gelangt und aufgibt. Am besten verhindert man solche Situationen, indem man eine Seite als passiv konfiguriert, also dafür sorgt, dass eine Seite darauf wartet, dass die andere mit den Verhandlungen beginnt. Das kann durch den folgenden Befehl geschehen: set openmode passive Diese Option sollten Sie mit Vorsicht genießen. Folgenden Befehl sollten Sie benutzen, um die Wartezeit auf den Beginn der Verhandlungen des Partners von &man.ppp.8; zu begrenzen: set stopped N Alternativ kann der folgende Befehl (wobei N die Wartezeit in Sekunden vor Beginn der Verhandlungen angibt) benutzt werden: set openmode active N Weitere Details finden Sie in den Manualpages. Warum reagiert &man.ppp.8; nicht mehr, wenn ich es mit shell verlassen habe? Wenn Sie den Befehl shell oder ! benutzen, führt &man.ppp.8; eine Shell aus (falls Sie Argumente übergeben haben, führt &man.ppp.8; diese Argumente aus). Das Programm ppp wartet auf die Beendigung des Befehls, bevor es seine Arbeit fortsetzt. Falls Sie versuchen, die PPP-Verbindung während der Programmausführung zu benutzen, wird es so aussehen, als wäre die Verbindung eingefroren. Das liegt daran, dass &man.ppp.8; auf die Beendigung des Befehls wartet. Falls Sie solche Befehle verwenden möchten, benutzen Sie stattdessen den Befehl !bg. Hierdurch wird der angegebene Befehl im Hintergrund ausgeführt und &man.ppp.8; kann fortfahren, die Verbindung zu bedienen. Warum wird &man.ppp.8; niemals beendet, wenn ich es über ein Nullmodem-Kabel benutze? Es gibt keine Möglichkeit für &man.ppp.8;, automatisch festzustellen, ob eine direkte Verbindung beendet worden ist. Das liegt an den Leitungen, die bei einem seriellen Nullmodem-Kabel benutzt werden. Wenn Sie diese Art der Verbindung verwenden, sollte LQR immer mit der folgenden Zeile aktiviert werden: enable lqr LQR wird standardmäßig akzeptiert, wenn es vom Partner ausgehandelt wird. Warum wählt &man.ppp.8; im Modus ohne Grund? Falls &man.ppp.8; unerwarteterweise wählt, müssen Sie den Grund herausfinden und Wählfilter (dfilters) einsetzen, um dies zu verhindern. Benutzen Sie die folgende Zeile, um den Grund herauszufinden: set log +tcp/ip Dadurch wird jeglicher Verkehr über die Verbindung geloggt. Wenn das nächste mal unerwartet eine Verbindung hergestellt wird, werden Sie den Grund zusammen mit einer hilfreichen Zeitangabe in der Logdatei finden. Sie können nun das Wählen aufgrund dieser Bedingungen verhindern. Normalerweise wird diese Art von Problemen durch Anfragen an den DNS verursacht. Um zu verhindern, dass DNS-Anfragen den Aufbau der Verbindung hervorrufen (das verhindert nicht, dass Pakete über eine bestehende Verbindung gesendet werden), benutzen Sie die folgenden Zeilen: set dfilter 1 deny udp src eq 53 set dfilter 2 deny udp dst eq 53 set dfilter 3 permit 0/0 0/0 Dies ist nicht immer brauchbar, weil es effektiv Ihre Fähigkeit, auf Anforderung wählen zu können einschränkt - die meisten Programme müssen eine DNS-Anfrage durchführen, bevor Sie andere, das Netzwerk betreffenden Dinge tun können. Im Fall von DNS sollten Sie versuchen, herauszufinden, welches Programm tatsächlich versucht, einen Hostnamen aufzulösen. Sehr oft handelt es sich hier um &man.sendmail.8;. Sie sollten sicherstellen, dass Sie sendmail in der Konfigurationsdatei sagen, dass keine DNS-Anfragen durchführen soll. Weitere Details enthält - der Abschnitt - E-Mail + der Abschnitt E-Mail über Einwahl-Verbindungen des Handbuchs. Sie könnten z.B. die folgende Zeile in Ihre .mc-Datei einfügen: define(`confDELIVERY_MODE', `d')dnl Das veranlasst sendmail dazu, alles in eine Warteschlange einzureihen, bis die Warteschlange verarbeitet wird (normalerweise wird sendmail mit aufgerufen, was besagt, dass die Warteschlange alle 30 Minuten abgearbeitet wird) oder, bis ein sendmail ausgeführt wird (z.B. aus Ihrer Datei ppp.linkup heraus). Was bedeuten diese CCP-Fehler? Ich sehe ständig folgende Fehler in meiner Logdatei: CCP: CcpSendConfigReq CCP: Received Terminate Ack (1) state = Req-Sent (6) Das liegt daran, dass &man.ppp.8; versucht, die Komprimierung Predictor1 auszuhandeln und der Partner über keinerlei Komprimierung verhandeln will. Die Meldungen sind harmlos, aber wenn Sie sie beseitigen möchten, können Sie die Komprimierung Predictor1 auch lokal ausschalten: disable pred1 Warum loggt ppp die Geschwindigkeit meiner Verbindung nicht? Um alle Zeilen Ihrer Modemkonversation mitzuloggen, müssen Sie folgendes einstellen: set log +connect Dies veranlasst &man.ppp.8; dazu, alles bis zur letzten angeforderten expect-Zeile mitzuloggen. Falls Sie die Geschwindigkeit Ihrer Verbindung erfahren möchten und PAP oder CHAP (und deshalb nach dem CONNECT im Wählskript nichts mehr zu chatten haben - kein set login-Skript), müssen Sie sicherstellen, dass Sie &man.ppp.8; anweisen, die gesamte CONNECT-Zeile zu erwarten, etwa so: set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n" Hier bekommen wir unser CONNECT, senden nichts, erwarten dann einen Line-Feed, der &man.ppp.8; zwingt, die gesamte CONNECT-Antwort zu lesen. Warum ignoriert &man.ppp.8; das Zeichen \ in meinem Chat-Skript? Das Programm ppp analysiert jede Zeile in Ihrer Konfigurationsdatei, damit es Zeichenketten wie z.B. set phone "123 456 789" korrekt interpretieren kann (und erkennen, dass es sich bei der Nummer tatsächlich nur um ein Argument handelt). Um das Zeichen " anzugeben, müssen Sie ihm einen Backslash (\) voranstellen. Wenn der Chat-Interpreter jedes Argument analysiert, reinterpretiert er die Argumente, um irgendwelche speziellen Escape-Sequenzen wie z.B. \P oder \T (sehen Sie in die Manualpage) zu finden. Das Ergebnis dieser Doppelanalyse ist, dass Sie daran denken müssen, die richtige Anzahl an Escape-Zeichen zu verwenden. Falls Sie tatsächlich das Zeichen \ z.B. zu Ihrem Modem senden möchten, brauchen Sie etwas ähnliches, wie: set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK" Woraus sich folgende Zeichen ergeben: ATZ OK AT\X OK Oder: set phone 1234567 set dial "\"\" ATZ OK ATDT\\T" Was folgende Zeichen ergibt: ATZ OK ATDT1234567 Warum gibt es die Datei ppp.core nicht, wenn &man.ppp.8; einen Segmentation fault erzeugt hat? Weder ppp noch andere Programme sollten Core-Dumps erzeugen. Da &man.ppp.8; mit der effektiven Benutzerkennung 0 ausgeführt wird, wird das Betriebssystem das Coreimage von &man.ppp.8; nicht auf die Festplatte schreiben, bevor es &man.ppp.8; beendet hat. Falls &man.ppp.8; jedoch tatsächlich aufgrund einer Speicherverletzung abbricht und Sie die aktuellste Version (siehe Anfang dieses Kapitels) benutzen, dann sollten Sie die Systemquellen installieren und folgendes tun: - &prompt.root; cd /usr/src/usr.sbin/ppp + &prompt.root; cd /usr/src/usr.sbin/ppp &prompt.root; echo STRIP= >> /etc/make.conf &prompt.root; echo CFLAGS+= >> /etc/make.conf &prompt.root; make install clean Nun ist die installierte Version von &man.ppp.8; mit einem Debugger ausführbar. Sie können &man.ppp.8; nun nur noch als root ausführen, da alle vorherigen Zugriffsrechte aufgehoben worden sind. Achten Sie darauf, in welchem Verzeichnis Sie sich gerade befinden, wenn Sie &man.ppp.8; starten. Wenn nun wieder eine Speicherverletzung auftreten sollte, wird &man.ppp.8; einen Speicherauszug erzeugen, den Sie in der Datei ppp.core finden. Sie sollten dann folgendes tun: &prompt.user; su &prompt.root; gdb /usr/sbin/ppp ppp.core (gdb) bt ..... (gdb) f 0 .... (gdb) i args .... (gdb) l ..... Mit Hilfe all dieser Informationen sollte es möglich sein, das Problem zu diagnostizieren. Falls Sie mit &man.gdb.1; vertraut sind, könnten Sie weitere Einzelheiten herausfinden, z.B. wodurch der Fehler tatsächlich hervorgerufen wurde oder die Adressen und Werte der betreffenden Variablen. Warum bekommt das Programm, das eine Anwahl im Modus ausgelöst hat, keine Verbindung? Dies war ein bekanntes Problem bei &man.ppp.8;-Konfigurationen, bei denen im Modus dynamische, lokale IP-Adressen mit dem Partner ausgehandelt werden. Das Problem ist bereits seit einiger Zeit behoben - suchen Sie in den Manualpages nach iface. Das Problem bestand darin, dass, wenn das erste Programm &man.connect.2; aufruft, die IP-Adresse der &man.tun.4;-Schnittstelle dem Socketendpunkt zugeordnet wird. Der Kernel erstellt das erste ausgehende Paket und schreibt es in das &man.tun.4;-Gerät. &man.ppp.8; liest dann das Paket und baut eine Verbindung auf. Falls die Schnittstellenadresse sich nun aufgrund &man.ppp.8;s dynamischer Adresszuordnung ändert, wird der originale Socketendpunkt ungültig. Alle weiteren Pakete, die zum Partner gesendet werden, werden für gewöhnlich verworfen. Selbst wenn sie nicht verworfen werden würden, würden alle Antworten nicht an den betreffenden Rechner gelangen, weil die IP-Adresse nicht mehr zu diesem Rechner gehört. Theoretisch gibt es mehrere Möglichkeiten, dieses Problem anzugehen. Am schönsten wäre es, wenn der Partner die gleiche IP-Adresse wieder zuordnen würde, wenn möglich. Die derzeitige Version von &man.ppp.8; tut das, aber die meisten anderen Implementierungen nicht. Die einfachste Maßnahme von unserer Seite wäre die, niemals die IP-Adresse der &man.tun.4;-Schnittstelle zu ändern, sondern stattdessen alle ausgehenden Pakete so zu ändern, dass als Absender-IP-Adresse anstelle der IP-Adresse der Schnittstelle die ausgehandelte IP-Adresse gesetzt wird. Das ist im wesentlichen das, was durch die Option iface-alias in der aktuellsten Version von &man.ppp.8; bewirkt wird (mit Unterstützung von &man.libalias.3; und &man.ppp.8;'s Schalter) - alle Schnittstellenadressen werden beibehalten und auf die letzte ausgehandelte Adresse umgesetzt. Eine andere Alternative (und wahrscheinlich die zuverlässigste) wäre die, einen Systemaufruf zu implementieren der die IP-Adressen aller verbundenen Sockets von einer Adresse in eine andere ändert. &man.ppp.8; würde diesen Aufruf benutzen, um die Sockets aller laufenden Programme zu ändern, nachdem eine neue IP-Adresse ausgehandelt worden ist. Der gleiche Systemaufruf könnte von DHCP-Clients benutzt werden, wenn sie gezwungen werden, die bind()-Funktion auf ihren Sockets auszuführen. Noch eine andere Möglichkeit wäre die, das Aktivieren von Schnittstellen ohne IP-Adresse zu erlauben. Ausgehende Paketen würde die IP-Adresse 255.255.255.255 gegeben, bis der erste &man.ioctl.2; mit SIOCAIFADDR erfolgt. Dies würde in der vollständigen Verbindung des Sockets resultieren. Es wäre die Aufgabe von &man.ppp.8;, die Absender-IP-Adresse zu ändern, allerdings nur dann, wenn sie 255.255.255.255 lautet und nur die IP-Adresse und IP-Prüfsumme müssten geändert - werden. - Dies wäre allerdings keine besonders elegante + werden. Dies wäre allerdings keine besonders elegante Lösung, da der Kernel fehlerhafte Pakete an eine - unzureichend konfigurierte Schnittstelle senden - würde, in der Annahme, dass andere Mechanismen - in der Lage sind, diese Dinge rückwirkend zu - beheben. + unzureichend konfigurierte Schnittstelle senden würde, in der + Annahme, dass andere Mechanismen in der Lage sind, diese Dinge + rückwirkend zu beheben. Warum laufen die meisten Spiele mit dem Schalter nicht? Der Grund dafür, dass Spiele und andere Programme nicht funktionieren, wenn &man.libalias.3; benutzt wird, ist der, dass der Rechner außerhalb des lokalen Netzes versucht, eine Verbindung aufzubauen und (unaufgefordert) UDP-Pakete an den Rechner innerhalb des lokalen Netzes zu senden. Die Software, die für die NAT zuständig ist, weiß nicht, dass sie diese Pakete an den internen Rechner weiterleiten soll. Um dies zu beheben, stellen Sie zunächst sicher, dass die Software, mit der Sie Probleme haben, die einzige ist, die gerade läuft. Benutzen Sie dann entweder &man.tcpdump.1; auf der &man.tun.4;-Schnittstelle des Gateways oder aktivieren Sie auf dem Gateway das Logging von TCP/IP (set log +tcp/ip) unter &man.ppp.8;. Wenn Sie nun das betreffende Programm starten, sollten Sie sehen, wie Pakete den Gateway-Rechner passieren. Wenn von außen etwas zurückkommt, wird es ignoriert (das ist das Problem). Merken Sie sich die Portnummer dieser Pakete und beenden Sie das betreffende Programm. Wiederholen Sie diesen Schritt einige Male, um festzustellen, ob die Portnummern konsistent sind. Falls dem so ist, wird die folgende Zeile im entsprechenden Abschnitt von /etc/ppp/ppp.conf dafür sorgen, dass das Programm funktioniert: nat port proto internalmachine:port port wobei für proto entweder tcp oder udp zu setzen ist, internalmachine den Rechner bezeichnet, an den die Pakete geschickt werden sollen und port die betreffende Portnummer. Sie können das Programm nicht auf einem anderen Rechner benutzen, ohne die obige Zeile abzuändern und die Benutzung des Programms auf zwei internen Rechnern steht außer Frage - schließlich sieht die Außenwelt Ihr gesamtes internes Netz so, als wäre es ein einzelner Rechner. Falls die Portnummern nicht konsistent sind, gibt es drei weitere Optionen: Ermöglichen Sie die Unterstützung durch &man.libalias.3;. Beispiele für spezielle Fälle finden Sie in /usr/src/sys/netinet/libalias/alias_*.c (alias_ftp.c ist ein schöner Prototyp). Hierzu gehört für gewöhnlich das Lesen bestimmter, erkannter, ausgehender Pakete, die Identifizierung der Instruktion, die den entfernten Rechner dazu veranlasst, auf einem bestimmten (wahlfreien) Port eine Verbindung zurück zum lokalen Rechner herzustellen, sowie das Erstellen einer Route in der Aliastabelle, so dass nachfolgende Pakete wissen, wohin sie gehören. Dieses ist zwar die komplizierteste Lösung, aber die beste, die auch dafür sorgt, dass die Software auf mehreren Rechnern funktioniert. Benutzen Sie einen Proxy. Die Anwendung könnte z.B. socks5 unterstützen, oder (wie im Fall von cvsup) eine Option passiv besitzen, die stets verhindert, dass verlangt wird, dass der Partner eine Verbindung zurück zur lokalen Maschine aufbaut. Leiten Sie mit nat addr alles zur lokalen Maschine um. Dieses Vorgehen ähnelt dem mit einem Vorschlaghammer. Hat jemand eine Liste mit nützlichen Portnummern erstellt? Noch nicht, aber hieraus könnte eine solche entstehen (falls Interesse besteht). In jedem Beispiel sollte internal durch die IP-Adresse der Maschine ersetzt werden, auf der das Spiel laufen soll. Asheron's Call nat port udp internal:65000 65000 Konfigurieren Sie das Spiel manuell auf Port 65000 um. Wenn Sie von mehreren Rechner aus spielen wollen, weisen Sie jedem eine eindeutige Portnummer zu (also 65001, 65002, u.s.w.) und fügen Sie für jede Maschine eine eigene nat port Zeile ein. Half Life nat port udp internal:27005 27015 PCAnywhere 8.0 nat port udp internal:5632 5632 nat port tcp internal:5631 5631 Quake nat port udp internal:6112 6112 Quake 2 nat port udp internal:27901 27910 nat port udp internal:60021 60021 nat port udp internal:60040 60040 Red Alert nat port udp internal:8675 8675 nat port udp internal:5009 5009 Was sind FCS-Fehler? FCS steht für Frame Check Sequence. Jedes PPP-Paket besitzt eine Checksumme, um sicherzustellen, dass die empfangenen Daten dieselben sind, wie die versendeten. Falls die FCS eines ankommenden Paketes fehlerhaft ist, wird das Paket verworfen und der Zähler HDLC FCS wird erhöht. Der HDLC-Fehlerwert kann durch den Befehl show hdlc angezeigt werden. Falls Ihre Leitung schlecht ist (oder falls Ihr serieller Treiber Pakete verwirft), werden sie gelegentliche FCS-Fehler sehen. Normalerweise lohnt es sich nicht, sich hierüber Gedanken zu machen, obwohl das Kompressionsprotokoll hierdurch wesentlich langsamer wird. Wenn Sie ein externes Modem besitzen, stellen Sie sicher, dass Ihr Kabel ausreichend gegen Interferenzen abgeschirmt ist - das könnte das Problem beseitigen. Falls Ihre Leitung einfriert, sobald die Verbindung steht, und viele FCS-Fehler auftreten, könnte das daran liegen, dass Ihre Leitung nicht 8-Bit-rein ist. Stellen Sie sicher, dass Ihr Modem keinen Software-Flow-Control (XON/XOFF) verwendet. Falls Ihre Datenschnittstelle Software-Flow-Control verwenden muss, benutzen Sie den Befehl set accmap 0x000a0000, um &man.ppp.8; zu sagen, dass es die Zeichen ^Q und ^S maskieren soll. Ein weiterer Grund dafür, dass zu viele FCS-Fehler auftreten, könnte der sein, dass das andere Ende aufgehört hat, ppp zu sprechen. Aktivieren Sie async Logging, um festzustellen, ob es sich bei den eingehenden Daten tatsächlich um einen login- oder Shell-Prompt handelt. Wenn Sie am anderen Ende einen Shell-Prompt haben, ist es möglich, durch den Befehl close lcp &man.ppp.8; zu beenden, ohne die Verbindung zu beenden (ein folgender term-Befehl wird Sie wieder mit der Shell auf dem entfernten Rechner verbinden. Falls nichts in Ihrer Logdatei darauf hindeutet, warum die Verbindung beendet wurde, sollten Sie den Administrator des externen Rechners (Ihren ISP?) fragen, warum die Sitzung beendet worden ist. Wieso hängen die Verbindungen meiner &macos;- und &windows; 98-Maschinen (und eventuell auch andere µsoft; Betriebssysteme), wenn auf meinem Gateway PPPoE läuft? Vielen Dank an Michael Wozniak mwozniak@netcom.ca für die Erklärung und an Dan Flemming danflemming@mac.com für die Lösung für &macos;. Die Ursache des Problems ist ein so genannter Black Hole Router. &macos; und &windows; 98 (und wahrscheinlich auch die anderen Betriebssysteme von µsoft;) senden TCP Pakete, bei denen zum einen die angeforderte Segmentgröße zu groß für einen PPPoE-Rahmen ist (die Default-MTU für Ethernet beträgt 1500 Byte) und bei denen das don't fragment Bit gesetzt ist (das ist bei TCP allerdings Standard). Außerdem sendet der Router beim Provider nicht die eigentlich notwendigen must fragment-Meldungen zu dem Webserver, von dem Sie gerade eine Seite laden wollen. Es ist auch möglich, dass diese Meldung zwar erzeugt, aber danach von einem Firewall vor dem Webserver abgefangen wird. Wenn Ihnen dieser Webserver nun ein Paket schickt, das nicht in einen PPPoE-Rahmen passt, dann verwirft der Router dieses Paket und die Seite wird nicht geladen (einige Seiten/Grafiken werden geladen, weil ihre Größe kleiner ist als die MSS). Dies scheint leider der Normalfall zu sein. Eine der möglichen Lösungen für dieses Problem ist die Erzeugung des folgenden Schlüssels in der Registry des Windows-Clients mit regedit: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU Der Schlüssels sollte vom Typ String sein und den Wert 1436 haben, da einige ADSL-Router nicht mit größeren Paketen umgehen können. Wenn Sie &windows; 2000 verwenden, müssen Sie hingegen den Schlüssel Tcpip\Parameters\Interfaces\ID der Netzwerkkarte\MTU benutzen, außerdem müssen Sie als Typ DWORD verwenden. Die Knowledge Base von µsoft; enthält weitere Informationen darüber, wie sie die MTU einer &windows;-Maschine ändern, damit diese mit einem NAT-Router korrekt zusammenarbeitet. Vom besonderen Interesse sind die Artikel Q158474 - &windows; TCPIP Registry Entries und Q120642 - TCPIP & NBT Configuration Parameters for &windowsnt;. Bei &windows; 2000 können Sie alternativ auch, wie im Artikel 120642 beschrieben, mit regedit das DWORD Tcpip\Parameters\Interfaces\ID der Netzwerkkarte\EnablePMTUBHDetect auf 1 setzen. Mit den Bordmitteln von &macos; ist es leider nicht möglich, die TCP/IP-Einstellungen zu verändern. Es gibt jedoch kommerzielle Lösungen, mit denen man die TCP/IP-Einstellungen bearbeiten kann. Wenn Sie als &macos;-Anwender NAT benutzen, suchen Sie ihre MTU-Einstellungen und geben Sie dort 1450 statt 1500 ein. &man.ppp.8; kennt seit Version 2.3 den Befehl enable tcpmssfixup, mit dem die MSS automatisch korrigiert wird. Wenn Sie einen ältere Version von &man.ppp.8; benutzen müssen, könnte - der Port net/tcpmssd für Sie - interessant sein. + der Port net/tcpmssd für + Sie interessant sein. Nichts von alledem hilft - ich bin verzweifelt! Was soll ich machen? Falls alles andere fehlschlägt, senden Sie möglichst umfangreiche Informationen, einschließlich Ihrer Konfigurationsdateien, wie Sie &man.ppp.8; starten, die relevanten Teile Ihrer Logdateien und die Ausgabe des Befehls netstat -rn (vor und nach Aufbau der Verbindung) an die Mailingliste &a.de.questions; oder die Newsgroup de.comp.os.unix.bsd. Irgend jemand sollte Ihnen dann weiterhelfen. Serielle Verbindungen Dieses Kapitel beantwortet häufig gestellte Fragen zu seriellen Verbindungen mit &os;. PPP und SLIP werden im Abschnitt Netzwerke behandelt. Wie kann ich feststellen, ob &os; meine seriellen Schnittstellen gefunden hat? Wenn der &os; Kernel bootet, testet er die seriellen Schnittstellen, für die er konfiguriert wurde. Sie können entweder Ihrem System aufmerksam beim Booten zusehen und die angezeigten Nachrichten lesen, oder Sie führen den folgenden Befehl aus, nachdem Ihr System hochgefahren ist und läuft: &prompt.user; dmesg | grep -E "^sio[0-9]" Hier ist ein Beispiel einer Ausgabe nach dem oben genannten Befehl: sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 sio1: type 16550A Es zeigt zwei serielle Schnittstellen. Die erste verwendet Port-Adresse 0x3f8, IRQ 4 und hat einen 16550A UART Chip. Die zweite benutzt ebenfalls einen 16550A UART, jedoch Port-Adresse 0x2f8 und IRQ 3. Modemkarten werden wie serielle Schnittstellen behandelt. Der einzige Unterschied ist, dass an diesen Schnittstellen immer ein Modem angeschlossen ist. Der GENERIC Kernel beinhaltet Unterstützung für zwei serielle Schnittstellen, die den im Beispiel genannten Port und IRQ verwenden. Wenn diese Einstellungen nicht richtig für Ihr System sind, Sie Modemkarten hinzugefügt oder mehr serielle Schnittstellen haben als Ihre Kernelkonfiguration zulässt, konfigurieren Sie Ihren Kernel einfach neu. In dem Kapitel über die Kernelkonfiguration finden Sie mehr Details. Wie kann ich feststellen, ob &os; meine Modemkarten gefunden hat? Die vorherige Frage sollte darauf eine Antwort geben. Wie kann ich auf die seriellen Schnittstellen in &os; zugreifen? Die in &man.sio.4; beschriebene serielle Schnittstelle sio2 (COM3 unter &ms-dos;/&windows;), ist /dev/cuad2 für Geräte mit abgehenden Verbindungen und /dev/ttyd2 für Geräte mit eingehenden Verbindungen. Was ist der Unterschied zwischen den beiden Geräteklassen? Sie benutzen ttydX für eingehende Verbindungen. Wird /dev/ttydX im blockierenden Modus geöffnet, wartet ein Prozess darauf, dass das entsprechende cuadX Gerät inaktiv und der Empfangssignalpegel Mit Empfangssignalpegel oder Trägersignalerkennung wird hier die carrier detect Leitung bezeichnet. aktiv ist. Wird das cuadX Gerät geöffnet, vergewissert es sich, dass die serielle Schnittstelle nicht bereits von dem ttydX Gerät in Gebrauch ist. Sollte die Schnittstelle verfügbar sein, stiehlt es sie von dem ttydX Gerät. Das cuadX Gerät kümmert sich nicht um Trägersignalerkennung. Mit diesem Schema und einem automatisch antwortenden Modem, können sich Benutzer von aussen einloggen, Sie können weiterhin mit demselben Modem wählen und das System kümmert sich um die Konflikte. Wie kann ich die Unterstützung für eine Karte mit mehreren seriellen Schnittstellen aktivieren? Die Sektion über die Kernelkonfiguration bietet Informationen darüber, wie Sie Ihren Kernel konfigurieren. Für eine Karte mit mehreren seriellen Schnittstellen, schreiben Sie eine &man.sio.4; Zeile für jede serielle Schnittstelle auf der Karte in die Datei &man.device.hints.5;. Aber achten Sie darauf, den IRQ nur in einem der Einträge zu platzieren. Alle seriellen Schnittstellen auf der Karte sollten sich einen IRQ teilen. Daher sollten Sie den IRQ nur beim letzten Eintrag angeben. Aktivieren Sie auch die folgende Option in der Kernelkonfigurationsdatei: options COM_MULTIPORT Das folgende /boot/device.hints Beispiel ist geeignet für eine AST Karte mit 4 seriellen Schnittstellen, die IRQ 12 benutzt: hint.sio.4.at="isa" hint.sio.4.port="0x2a0" hint.sio.4.flags="0x701" hint.sio.5.at="isa" hint.sio.5.port="0x2a8" hint.sio.5.flags="0x701" hint.sio.6.at="isa" hint.sio.6.port="0x2b0" hint.sio.6.flags="0x701" hint.sio.7.at="isa" hint.sio.7.port="0x2b8" hint.sio.7.flags="0x701" hint.sio.7.irq="12" Die Flags zeigen an, dass die Master-Schnittstelle die Minor-Nummer 7 (0x700) hat und dass sich alle Schnittstellen einen IRQ teilen (0x001). Kann &os; mehrere Karten mit mehreren seriellen Schnittstellen mit den gleichen IRQs verwalten? Noch nicht. Sie müssen für jede Karte einen anderen IRQ verwenden. Kann ich die vorgegebenen seriellen Parameter für eine Schnittstelle einstellen? Lesen Sie den Abschnitt Serielle Datenübertragung im &os; Handbuch. Wie kann ich Einwahl-Logins über mein Modem aktivieren? Lesen Sie dazu bitte den Abschnitt über Einwählverbindungen im &os; Handbuch. - Wie kann ich ein Hardware-Terminal mit meiner Fre&os;eBSD - Box verbinden? + Wie kann ich ein Hardware-Terminal mit meiner &os; Box + verbinden? Diese Information können Sie im Abschnitt Terminals im &os; Handbuch finden. Warum kann ich tip oder cu nicht laufen lassen? Auf Ihrem System können die Programme - &man.tip.1; und &man.cu.1; auf das Verzeichnis - /var/spool/lock nur über den Benutzer - uucp und die Gruppe + &man.tip.1; und &man.cu.1; auf das Verzeichnis /var/spool/lock nur über den + Benutzer uucp und die Gruppe dialer zugreifen. Sie können die Gruppe dialer verwenden, um zu kontrollieren wer Zugriff auf Ihr Modem oder entfernte Systeme hat. Fügen Sie sich einfach selbst zur Gruppe dialer hinzu. Als Alternative können Sie jeden Benutzer auf Ihrem System &man.tip.1; und &man.cu.1; verwenden lassen, dazu müssen Sie das folgende eingeben: &prompt.root; chmod 4511 /usr/bin/cu &prompt.root; chmod 4511 /usr/bin/tip Mein Hayes Modem wird nicht unterstützt – was kann ich tun? Lesen Sie diese Antwort im &os; Handbuch. Wie soll ich die AT Befehle eingeben? Im &os; Handbuch finden Sie dazu diese Antwort. Wieso funktioniert das @ Zeichen für die pn Fähigkeit nicht? Lesen Sie dazu diese Antwort im &os; Handbuch. Wie kann ich von der Kommandozeile eine Telefonnummer wählen? Lesen Sie diese Antwort im &os; Handbuch. Muss ich dabei jedes Mal die bps Rate angeben? Im &os; Handbuch finden Sie dazu diese Antwort. Wie kann ich möglichst komfortabel über einen Terminal-Server auf verschiedene Rechner zugreifen? Lesen Sie im &os; Handbuch diese Antwort. Kann tip mehr als eine Verbindung für jede Seite ausprobieren? Lesen Sie diese Antwort im &os; Handbuch. - Warum muss ich zweimal - - Ctrl - P - tippen, um ein - - Ctrl - P - zu senden? + Warum muss ich zweimal CtrlP + tippen, um ein CtrlP + zu senden? Im &os; Handbuch finden Sie dazu diese Antwort. Warum ist auf einmal alles was ich schreibe in GROSSBUCHSTABEN?? Lesen Sie im &os; Handbuch diese Antwort. Wie kann ich Dateien mit tip übertragen? Lesen Sie diese Antwort im &os; Handbuch. Wie kann ich zmodem mit tip laufen lassen? Sie finden dazu diese Antwort im &os; Handbuch. Verschiedene Fragen &os; benutzt viel mehr Swap-Speicher als &linux;. Warum? Es sieht nur so aus, als ob &os; mehr Swap benutzt, als &linux;. Tatsächlich ist dies nicht der Fall. In dieser Hinsicht besteht der Hauptunterschied zwischen &os; und &linux; darin, dass &os; vorbeugend vollkommen untätige, unbenutzte Seiten aus dem Hauptspeicher in den Swap-Bereich auslagert, um mehr Hauptspeicher für die aktive Nutzung zur Verfügung zu stellen. &linux; tendiert dazu, nur als letzten Ausweg Seiten in den Swap-Bereich auszulagern. Die spürbar höhere Nutzung des Swap-Speichers wird durch die effizientere Nutzung des Hauptspeichers wieder ausgeglichen. Beachten Sie, dass &os; in dieser Hinsicht zwar vorbeugend arbeitet, es entscheidet jedoch nicht willkürlich, Seiten auszulagern, wenn das System vollkommen untätig ist. Deshalb werden Sie feststellen, dass nicht alle Seiten Ihres Systems ausgelagert wurden, wenn Sie morgens aufstehen, nachdem das System eine Nacht lang nicht benutzt worden ist. Warum zeigt mir &man.top.1; so wenig freien Speicher an, obwohl nur wenige Programme laufen? Die Antwort ist ganz einfach: Freier Speicher ist verschwendeter Speicher. Der &os; Kernel verwendet den von den Programmen nicht genutzten Speicher automatisch für den Plattencache. Die in &man.top.1; für Inact, Cache und Buf gemeldeten Werte stehen alle für zwischengespeicherte Daten mit unterschiedlichem Alter. Wenn das System wiederholt auf Daten zugreifen muss, braucht es nicht auf die langsame Platte zuzugreifen, da die Daten noch zwischengespeichert sind. Dadurch erhöht sich die Performance. Ganz generell ist es ein gutes Zeichen, wenn &man.top.1; einen kleinen Wert bei Free anzeigt, solange der Wert nicht extrem klein ist. Anmerkung des Übersetzers: Mit extrem klein sind hier Werte unterhalb 512 KByte gemeint. Warum ändert chmod die Zugriffsrechte auf symbolische Links nicht? Für symbolische Links gibt es keine separaten Zugriffsrechte und standardmäßig folgt &man.chmod.1; dem Link nicht; die Zugriffsrechte für die Datei, auf die der symbolische Link zeigt, werden also nicht verändert. Wenn Sie eine Datei mit dem Namen foo und einen auf diese Datei zeigenden symbolischen Link mit dem Namen bar haben, wird das folgende Kommando niemals einen Fehler melden. &prompt.user; chmod g-w bar Trotzdem werden die Zugriffsrechte für foo nicht geändert. Hierzu müssen Sie entweder oder zusammen mit der Option benutzen. Weitere Informationen finden Sie in den Manualpages &man.chmod.1; und &man.symlink.7;. Die Option bewirkt ein rekursives &man.chmod.1;. Seien Sie vorsichtig, wenn Sie bei &man.chmod.1; Verzeichnisse oder symbolische Links zu Verzeichnissen angeben. Wenn Sie die Zugriffsrechte eines Verzeichnisses ändern möchten, das durch einen symbolischen Link referenziert wird, benutzen Sie &man.chmod.1; ohne irgendwelche Optionen und folgen dem symbolischen Link durch einen abschließenden Schrägstrich - (/). Falls z.B. + (/). Falls z.B. foo ein symbolischer Link zum - Verzeichnis bar ist und Sie die - Zugriffsrechte von foo - (tatsächlich bar) ändern - möchten, dann benutzen Sie etwas ähnliches + Verzeichnis bar ist und + Sie die Zugriffsrechte von foo + (tatsächlich bar) + ändern möchten, dann benutzen Sie etwas ähnliches wie: &prompt.user; chmod 555 foo/ Durch den abschließenden Schrägstrich folgt &man.chmod.1; dem symbolischen Link foo, um die Zugriffsrechte für - das Verzeichnis bar zu + das Verzeichnis bar zu ändern. Kann ich DOS-Programme unter &os; ausführen? Ja. Sie können emulators/doscmd verwenden, das über die Ports-Sammlung verfügbar ist. Falls doscmd nicht ausreicht, können Sie den Port emulators/pcemu verwenden, der einen 8088 und genug BIOS-Funktionen emuliert, um DOS-Textanwendungen laufen zu lassen. Der Port benötigt das X-Window-System. Sie können auch emulators/dosbox aus der &os; Ports Sammlung ausprobieren. Der Hauptaugenmerk liegt bei dieser Anwendung auf der Emulation alter DOS Spiele, deren Dateien sich im lokalen Dateisystem befinden. Was muss ich tun, um die &os;-Dokumentation in meine Muttersprache zu übersetzen? Informationen zu diesem Thema finden Sie auf der Webseite des - &os; German + &os; German Documentation Project. Warum kommen alle meine Mails, die ich an @FreeBSD.org schicke, - wieder zurück? + role="domainname">@FreeBSD.org schicke, wieder + zurück? Das Mailsystem von FreeBSD.org verwendet einige der strengeren Überprüfungen von Postfix für eingehende Mails. Mails, bei denen es Anzeichen für Konfigurationsprobleme oder Spam gibt, werden nicht akzeptiert. Dies kann aus einem der folgenden Gründe geschehen: Die Mail kommt von einem System oder Netzwerk, dass für Spam-Aktivitäten bekannt ist. Die Mailserver von &os; akzeptierten keine Mails von bekannten Spam-Quellen. Wenn Sie eine Firma oder Domain benutzen, die Spam erzeugt oder verteilt, sollten Sie sich einen anderen ISP suchen. Der Mailtext enthält HTML. Mail sollte immer im Klartext gesendet werden, Sie sollten ihr Mailprogramm entsprechend einstellen. Das Mailsystem kann die IP-Adresse des einliefernden Systems nicht in einen symbolischen Namen umwandeln. Funktionierendes reverse DNS ist eine Vorbedingung, damit ihre Mails angenommen wird. Sorgen Sie dafür, dass der reverse DNS für Ihren Mailserver korrekt konfiguriert wird. Viele Anbieter für Privatkunden geben Ihnen diese Möglichkeit nicht. In diesem Fall sollten Sie Ihre Mails über den Mailserver Ihres Providers versenden. Der Rechnername, der im EHLO/HELO Teil der SMTP Kommunikation übergeben wird, kann nicht zu einer IP-Adresse aufgelöst werden. Damit die E-Mail akzeptiert wird, brauchen Sie einen voll qualifizierten Rechnernamen, der im DNS eingetragen ist. Wenn Sie diesen nicht besitzen, benutzen Sie bitte den Mailserver Ihres Providers, um E-Mails zu verschicken. Die Message-ID Ihrer Mail endet in localhost. Einige Mail-Clients generieren eine Message-ID, die nicht akzeptiert wird. Sie müssen Ihren Mail-Client so konfigurieren, dass er eine gültige Message-ID generiert. Alternativ können Sie die Message-ID von Ihrem Mailserver umschreiben lassen. Wo kann ich einen freien &os;-Account bekommen? Das &os; Project bietet zwar keinen freien Zugang zu seinen Servern an; andere Firmen bieten jedoch frei zugängliche &unix; Systeme. Die Kosten variieren und es kann sein, dass nicht alle Dienste zur Verfügung stehen. - Arbornet, - Inc, auch als M-Net bekannt, bietet - seit 1983 uneingeschränkten Zugang zu &unix; Systemen. + Arbornet, Inc, + auch als M-Net bekannt, bietet seit 1983 + uneingeschränkten Zugang zu &unix; Systemen. Zunächst wurde eine Altos-Maschine mit System III benutzt, 1991 erfolgte dann der Wechsel zu BSD/OS. Im Juni 2000 erfolgte ein erneuter Wechsel, diesmal zu &os;. M-Net bietet Zugang mit Telnet und SSH und den Zugang zur gesamten Software von &os;. Allerdings ist der Zugriff auf das Netzwerk auf Mitglieder und Gönner beschränkt, die eine Spende an die nicht-kommerzielle Organisation geleistet haben. M-Net stellt zusätzlich ein Mailbox-System und einen interaktiven Chat zur Verfügung. - Grex bietet - ein ganz ähnlichen Dienst wie M-Net an, + Grex bietet ein ganz + ähnlichen Dienst wie M-Net an, dazu gehören auch das Mailbox-System und der interaktive Chat. Allerdings wird eine SUN 4M mit &sunos; benutzt. Was ist sup und wie benutze ich es? Der Name SUP steht für Software Update Protocol und wurde von der CMU (Carnegie Mellon University) entwickelt, um ihre Entwicklungszweige zu synchronisieren. Es wurde benutzt, um entfernte Sites mit den zentralen Quellcodeentwicklungen des Projekts zu synchronisieren. SUP ist nicht sehr bandbreitenfreundlich und wurde abgelöst. Die derzeit empfohlene Methode, um Ihren Quellcode auf dem neuesten Stand zu halten ist CVSup. Wie heißt das niedliche rote Kerlchen? Er ist namenlos, es ist einfach der der BSD Daemon. Wenn Sie ihm unbedingt einen Namen geben wollen, rufen Sie ihn beastie. Beachten Sie aber, dass beastie wie BSD ausgesprochen wird. Weitere Informationen über den BSD daemon finden Sie auf seiner Homepage. Kann ich Bilder des BSD Daemon verwenden? Eventuell. Der BSD Daemon unterliegt dem Copyright von Marshall Kirk McKusick. Wenn Sie genaue Informationen über die Einschränkungen bei der Nutzung brauchen, sollten Sie sein Statement on the Use of the BSD Daemon Figure lesen. Kurz gesagt, können Sie den BSD Daemon benutzen, solange es für einen privaten Zweck ist und die Nutzung geschmackvoll bleibt. Für den kommerziellen Einsatz brauchen Sie die Zustimmung von &a.mckusick;. Weitere Informationen erhalten Sie auf der Webseite BSD Daemon's home page. Woher kann ich Bilder des BSD Daemon bekommen? - Einige Bilder in den Format xfig und eps sind unter - /usr/share/examples/BSD_daemon/ zu + Einige Bilder in den Format xfig und eps sind unter /usr/share/examples/BSD_daemon/ zu finden. Ich habe in den Mailinglisten eine Abkürzung oder einen Begriff gesehen, den ich nicht kenne. Wo erhalte ich eine Erklärung dazu? Sehen Sie bitte im &os;-Glossar nach. Warum sollte mich die Farbe des Fahrradschuppens interessieren? Die ganz, ganz kurze Antwort ist: Überhaupt nicht. Die etwas längere Antwort lautet: Nur weil Sie in der Lage sind, einen Fahrradschuppen zu bauen, müssen Sie noch lange nicht andere davon abhalten, nur weil Ihnen die Farbe nicht gefällt. Dies ist natürlich eine Metapher dafür, dass Sie nicht eine Diskussion über jede kleine Änderung beginnen sollen, nur weil Sie das können. Einige Leute behaupten sogar, dass die Anzahl der (nutzlosen) Kommentare über eine Änderung umgekehrt proportional zur Komplexität der Änderung ist. Die noch längere und vollständigere Antwort ist, dass &a.phk; nach einen langen Diskussion über das Thema "Soll &man.sleep.1; Sekundenbruchteile als Parameter akzeptieren?" eine lange Mail mit dem Titel A bike shed (any colour will do) on greener grass... schrieb. Die einschlägigen Teile der Nachricht lauteten:
&a.phk; in &a.hackers.name;, 2.10.1999 Einige von Euch haben mich gefragt, Was meinst Du mit dem Fahrradschuppen? Es ist eine lange oder eigentlich eher eine sehr alte und doch sehr kurze Geschichte. C. Northcote Parkinson schrieb in den frühen Sechzigern ein Buch mit dem Namen Parkinson's Law, das viele Einblick in die Beziehungen innerhalb des Managements gibt. [ein paar Kommentare zum Buch gestrichen] In dem Beispiel mit dem Fahrradschuppen ist die andere wichtige Komponente ein Kernkraftwerk. Ich glaube, dass zeigt schon, wie alt dieses Buch ist. Parkinson zeigte, dass man zum Vorstand gehen kann und die Genehmigung für ein mehrere Millionen oder sogar Milliarden Dollar teures Kernkraftwerk bekommt; wenn man aber einen Fahrradschuppen bauen will, wird man in endlose Diskussionen verwickelt. Laut Parkinson liegt das daran, dass ein Kernkraftwerk so groß, so teuer und so kompliziert ist, dass die Leute es nicht verstehen. Und bevor sie versuchen, es zu verstehen, verlassen Sie sich lieber darauf, dass irgend jemand sicherlich die ganzen Details geprüft hat, bevor das Projekt bis zum Vorstand gekommen ist. Im Buch von Richard P. Feynmann finden sich einige interessante und sehr passende Beispiele aus dem Gebiet von Los Alamos. Ein Fahrradschuppen ist was anderes. Jeder kann an seinem freien Wochenende einen bauen und hat trotzdem noch genug Zeit für die Sportschau. Daher ist es unwichtig, wie gut man sich vorbereitet und wie sinnvoll der eigene Vorschlag ist. Irgend jemand wird die Möglichkeit nutzen und zeigen, dass er seine Arbeit tut, dass er aufmerksam ist, dass er da ist. In Dänemark nennen wir dieses Verhalten Seine Fingerabdrücke hinterlassen. Es geht um persönlichen Stolz und Prestige; die Chance, auf irgend etwas zu zeigen und zu sagen zu können: Da! Das habe Ich getan. Politiker leiden sehr stark darunter, aber viele Leute verhalten sich so, wenn sie die Chance haben. Denkt einfach mal an Fußabdrücke in feuchtem Zement.
Nicht ganz ernstgemeinte Fragen Wie cool ist &os;? Q. Hat irgend jemand Temperaturmessungen durchgeführt, während &os; läuft? Ich weiss, dass &linux; cooler läuft, als DOS, habe aber niemals gesehen, dass &os; erwähnt wurde. Es scheint sehr heiß zu laufen. A. Nein, aber wir haben zahlreiche Geschmackstests mit verblendeten Freiwilligen durchgeführt, denen außerdem zuvor 250 Mikrogramm LSD-25 verabreicht wurden. 35% der Freiwilligen sagte, dass &os; nach Orange schmeckte, &linux; hingegen schmecke wie purple haze (Anm. d. Übersetzers: Song von Jimmy Hendrix und LSD-Marke). Keine der Gruppen hat besondere Abweichungen der Temperatur erwähnt. Eventuell hätten wir sämtliche Ergebnisse dieser Untersuchung fortwerfen sollen, als wir festgestellt haben, dass zu viele der Freiwilligen den Raum während der Tests verlassen haben und dadurch die Ergebnisse verfälscht haben. Wir glauben, dass die meisten der Freiwilligen nun bei Apple sind und an ihrer neuen scratch and sniff Oberfläche arbeiten. Es ist ein lustiges, altes Geschäft, in dem wir uns befinden! Ernsthaft, &os; und &linux; benutzen beide die Instruktion HLT (halt), wenn das System untätig ist, wodurch der Energieverbrauch und dadurch die produzierte Wärme reduziert wird. Falls Sie auch noch APM (Advanced Power Management) konfiguriert haben, kann &os; Ihre CPU auch in einen Low-Power-Modus bringen. Wer kratzt in meinen Speicherbänken?? Q. Gibt es irgend etwas seltsames, das &os; tut, wenn ich den Kernel kompiliere, das dazu führt, dass der Speicher ein kratzendes Geräusch macht? Bei der Kompilierung (und auch für einen kurzen Moment nach der Erkennung des Floppy-Laufwerks beim Hochfahren), kommt ein seltsames kratzendes Geräusch von etwas das die Speicherbänke zu sein scheinen. A. Ja! In der BSD-Dokumentation finden Sie häufige Verweise auf Daemons und was die meisten Leute nicht wissen, ist, dass diese sich auf echte, nicht-körperlichen Wesen beziehen, die Besitz von Ihrem Computer ergriffen haben. Das kratzende Geräusch, das von Ihrem Speicher kommt, ist in Wirklichkeit hochtöniges Flüstern, das unter den Daemons ausgetauscht wird, während Sie entscheiden, wie Sie die verschiedenen Systemadministrationsaufgaben, am besten erledigen. Wenn Sie das Geräusch stört, wird ein fdisk /mbr sie vertreiben, aber wundern Sie sich nicht, wenn sie feindlich reagieren und versuchen, Sie aufzuhalten. Wenn Sie während der Ausführung zu irgendeinem Zeitpunkt die teuflische Stimme von Bill Gates aus dem eingebauten Lautsprecher kommen hören, laufen Sie weg und sehen Sie sich auf keinen Fall um! Befreit von dem ausgleichenden Einfluss der BSD Dämonen sind die beiden Dämonen von DOS und &windows; oft dazu in der Lage, die totale Kontrolle über Ihre Maschine für die ewige Verdammung Ihrer Seele zurückzuerlangen. Da Sie jetzt die Wahrheit kennen, würden Sie es vorziehen, sich an die Geräusche zu gewöhnen, wenn Sie die Wahl hätten. Wie viele &os;-Hacker braucht man, um eine Glühbirne auszuwechseln? Eintausendeinhundertundneunundsechzig: Dreiundzwanzig, die sich bei -CURRENT beschweren, dass das Licht aus ist; Vier, die behaupten, dass es sich um ein Konfigurationsproblem handelt und dass solche Dinge wirklich nach -questions gehören; Drei, die PRs hierzu einreichen, einer von ihnen wird falsch unter DOC abgelegt und fristet sein Dasein im Dunkeln; Einen, der eine ungetestete Glühbirne einreicht, wonach buildworld nicht mehr funktioniert, und sie dann fünf Minuten später wieder herausnimmt; Acht, die die PR-Erzeuger beschimpfen, weil sie zu ihren PRs keine Patche hinzugefügt haben; Fünf, die sich darüber beschweren, dass buildworld nicht mehr funktioniert; Einunddreißig, die antworten, dass es bei ihnen funktioniert und dass sie cvsup wohl zu einigem ungünstigen Zeitpunkt durchgeführt haben; Einen, der einen Patch für eine neue Glühbirne an -hackers schickt; Einen, der sich beschwert, dass es vor drei Jahren Patches hierfür hatte, aber als er sie nach -CURRENT schickte, sind sie einfach ignoriert worden und er hatte schlechte Erfahrungen mit dem PR-System; nebenbei ist die vorgeschlagene Glühbirne nicht reflexiv; Siebenunddreißig, die schreien, dass Glühbirnen nicht in das Basissystem gehören, dass Committer nicht das Recht haben, solche Dinge durchzuführen, ohne die Gemeinschaft zu konsultieren und WAS GEDENKT -CORE HIER ZU TUN!? Zweihundert, die sich über die Farbe des Fahrradschuppens beschweren; Drei, die darauf hinweisen, dass der Patch nicht mit &man.style.9; übereinstimmt; Siebzehn, die sich beschweren, dass die vorgeschlagene neue Glühbirne der GPL unterliegt; Fünfhundertundsechsundachtzig, die sich in einen Streit über die vergleichbaren Vorteile der GPL, der BSD-Lizenz, der MIT-Lizenz, der NPL und der persönlichen Hygiene nichtgenannter FSF-Gründer verwickeln; Sieben, die unterschiedliche Teile des Threads nach -chat und -advocacy weiterleiten; Einer, der die vorgeschlagene Glühbirne einbaut, obwohl sie dunkler leuchtet, als die alte; Zwei, die sie wieder ausbauen, und in einer wütenden Nachricht argumentieren, dass &os; besser ganz im Dunkeln dasteht, als mit einer dämmerigen Glühbirne; Sechsundvierzig, die sich lärmend wegen des Wiederausbaus der dämmerigen Glühbirne streiten und eine Erklärung von -core verlangen; Elf, die eine kleinere Glühbirne beantragen, damit sie in ihr Tamagotchi passt, falls wir irgendwann beschließen, &os; auf diese Plattform zu portieren; Dreiundsiebzig, die sich über die SNR auf -hackers und -chat beschweren und aus Protest abmelden; Dreizehn, die unsubscribe, How do I unsubscribe? oder Please remove me from the list gefolgt von der üblichen Fußzeile abschicken; Einen, der eine funktionierende Glühbirne einbaut, während alle zu beschäftigt damit sind, mit jedem zu streiten, um es zu bemerken; Einunddreißig, die herausstellen, dass die neue Glühbirne 0,364% heller leuchten würde, wenn sie mit TenDRA kompiliert werden würde (obwohl sie in einen Würfel umgeformt werden müsste) und dass &os; deshalb nach TenDRA, anstatt nach GCC wechseln sollte; Einen, der sich beschwert, dass bei der neuen Glühbirne die Verkleidung fehlt; Neun (einschließlich der PR-Ersteller), die fragen Was ist MFC? Siebenundfünfzig, die sich zwei Wochen, nachdem die Birne gewechselt worden ist, darüber beschweren, dass das Licht aus war. &a.nik; hat hinzugefügt: Ich habe ziemlich hierüber gelacht. Und dann dachte ich: "Halt, sollte in dieser Liste nicht irgendwo 'Einer, der es dokumentiert' sein?" Und dann wurde ich erleuchtet :-) + + &a.tabthorpe; sagt: Keine, + echte &os; Hacker fürchten sich nicht + vor der Dunkelheit! Was passiert mit den Daten, die nach /dev/null geschrieben werden? Sie werden in einer speziellen Datensenke der CPU in Wärme umgewandelt, die dann über den Kühlkörper und den Lüfter abgeführt wird. Dies ist einer der Gründe für die Kühlung von CPUs; die Anwender gewöhnen sich an die schnelleren Prozessoren, gehen nicht mehr so sorgfältig mit Ihren Daten um und so landen immer mehr Daten in /dev/null, was zur Überhitzung der CPU führt. Wenn Sie /dev/null löschen (was die Datensenke ziemlich sicher abschaltet), wird Ihre CPU zwar nicht mehr so heiß, dafür wird Ihr System aber sehr schnell von den überzähligen Daten überladen und merkwürdige Effekte zeigen. Wenn Sie eine sehr schnell Netzwerkverbindung haben, können Sie Ihre CPU kühlen, indem sie Daten aus /dev/random lesen und in die Weite des Netzwerkes schicken; allerdings besteht hier die - Gefahr der Überhitzung von Netzwerk und - /. Außerdem dürfte Ihr + Gefahr der Überhitzung von Netzwerk und /. Außerdem dürfte Ihr ISP ziemlich wütend werden, da der größte Teil der Daten von seinen Geräten in Hitze umgewandelt werden wird; da ISPs aber über Klimaanlagen verfügen, sollte das kein großes - Problem sein, solange Sie es nicht - übertreiben. + Problem sein, solange Sie es nicht übertreiben. Nachtrag Paul Robinson: Es gibt andere Mittel und Wege. Wie jeder gute Systemadministrator weiss, gehört es zum guten Ton, einigen Daten zum Bildschirm zu senden, damit die Leuchtkäferchen, die das Bild anzeigen, glücklich sind. Die Leuchtkäferchen werden nach der Farbe Ihrer Hüte (Rot, Grün, oder Blau) unterschieden und sie verstecken bzw. zeigen sich (wobei man die Farbe ihrer Hüte erkennen kann) bei jeder Nahrungsaufnahme. Grafikkarten wandeln Daten in Leuchkäfer-Nahrung um und schicken sie dann zu den Leuchtkäfern - teure Karten erzeugen bessere Nahrung und sorgen so für besseres Verhalten der Leuchtkäfer. Diese brauchen allerdings einen konstanten Stimulus - darum gibt es Bildschirmschoner. Darum lautet mein Vorschlag, die zufälligen Daten einfach zum Bildschirm zu schicken, damit sie von den Leuchtkäfern verzehrt werden. Dabei entsteht keine Hitze, die Leuchtkäfer bleiben glücklich und man wird seine überflüssigen Daten sehr schnell los, auch wenn der Bildschirm etwas merkwürdig aussieht. Übrigens: Als Ex-Admin eines großen ISPs, der so seine Probleme mit der Kühlung seines Rechenzentrums hatte, kann ich nur davon abraten, überflüssige Daten einfach in das Netzwerk zu schicken. Die Heinzelmännchen, die die Pakete verteilen und versenden, regen sich darüber ganz furchtbar auf. Weiterführende Themen Wie kann ich mehr über die Interna von &os; erfahren? Zurzeit gibt es nur ein Buch über die Interna von &os;, The Design and Implementation of the &os; Operating System von Marshall Kirk McKusick und George V. Neville-Neil, ISBN 0-201-70245-2, das sich auf &os; 5.X konzentriert. Allgemeines Wissen über &unix; kann allerdings in den meisten Fällen auf &os; angewendet werden. - Eine Liste finden Sie im entsprechenden Abschnitt der - + Eine Liste finden Sie im entsprechenden Abschnitt der Bibliographie. Wie kann ich bei der Entwicklung von &os; mitarbeiten? Genauere Informationen finden Sie im Artikel &os; unterstützen. Wir können Hilfe immer gut gebrauchen! Was sind Snapshots und RELEASEs? Derzeit existieren drei aktive/halbaktive Zweige im &os;-CVS-Repository. In früheren Zweigen ändert sich wenig, daher gibt es nur drei aktive Entwicklungszweige: RELENG_6 bzw. 6-STABLE RELENG_7 bzw. 7-STABLE HEAD bzw. -CURRENT oder 8-CURRENT HEAD ist keine wirkliche Bezeichnung für einen Zweig, wie die anderen beiden. Es ist lediglich eine symbolische Konstante für den aktuellen, nicht verzweigten Entwicklungsstrom, auf den wir uns einfach als -CURRENT beziehen. Derzeit steht -CURRENT für den 8.X-Entwicklungsstrom. Der 6-STABLE-Zweig (RELENG_6) wurde von -CURRENT im November 2005 und der 7-STABLE-Zweig (RELENG_7) im Februar 2008 von -CURRENT abgespalten. Wie kann ich meine eigene, angepasstes Release erstellen? Eine Anleitung dazu finden Sie im Artikel &os; Release Engineering. Wieso überschreibt make world das installierte System? Das ist beabsichtigt. Wie der Name schon andeutet, erstellt make world alle Systemdateien von Grund auf neu. Sie können also sicher sein, am Ende eine saubere, konsistente Umgebung zu haben (das ist der Grund, warum es so lange dauert). Falls die Umgebungsvariable DESTDIR während der Ausführung von make world oder make install definiert ist, werden die neu erstellten Binaries unter ${DESTDIR} in einem zum installierten identischen Verzeichnisbaum abgelegt. Einige zufällige Kombinationen von Änderungen von Shared Libraries und Neuerstellungen von Programmen können hierbei jedoch ein Scheitern von make world verursachen. Warum ist cvsup.FreeBSD.org kein Round-Robin-Eintrag im DNS, so dass Anfragen auf alle CVsup-Server verteilt werden? Die CVsup-Server gleichen sich stündlich mit dem Hauptserver ab. Allerdings findet der Abgleich nicht zur gleichen Zeit statt, daher können einige Server neuere Quellen bereitstellen als andere Server. Alle Server stellen jedoch Quellen bereit, die maximal eine Stunde alt sind. Wäre cvsup.FreeBSD.org ein Round-Robin-Eintrag im DNS, der Benutzern einen zufälligen Server zuteilt, könnten beim zweiten Lauf von CVsup ältere Quellen als beim ersten Lauf heruntergeladen werden. Kann ich -CURRENT mit begrenztem Internetzugang folgen? Ja, Sie können das tun, ohne den gesamten Quellbaum herunterzuladen, indem Sie die Einrichtung CTM benutzen. Wie haben Sie die Distribution in 1392 KB-Dateien aufgespalten? Bei neueren BSD-basierten Systemen gibt es eine Option zu &man.split.1;, die das Splitten von Dateien an willkürlichen Bytegrenzen erlaubt. Hier ist ein Beispiel aus /usr/src/release/Makefile. ZIPNSPLIT= gzip --no-name -9 -c | split -b 1392k - Ich habe eine Kernelerweiterung geschrieben. An wen sende ich sie? Lesen Sie bitte den Artikel &os; unterstützen. Und Danke, dass Sie darüber nachdenken! Wie werden Plug&Play ISA-Karten erkannt und initialisiert? Von: Frank Durda IV uhclem@nemesis.lonestar.org Kurz gesagt gibt es nur wenige I/O-Ports über die PnP-Karten antworten, wenn der Host fragt, ob jemand da ist. Wenn die PnP-Erkennungsroutine startet, fragt sie, ob irgendwelche PnP-Karten vorhanden sind und alle PnP-Karten antworten mit ihrer Modellnummer auf demselben Port, von dem sie auch gelesen haben. Die Erkennungsroutine erhält also ein geodertes Ja auf diese Frage. Mindestens ein Bit wird bei dieser Antwort gesetzt sein. Die Erkennungsroutine ist dann in der Lage, dafür zu sorgen, dass Karten mit Modellnummern (zugeordnet von µsoft;/&intel;) kleiner als X off-line gesetzt werden. Sie prüft dann, ob immer noch Karten da sind, die auf die Frage antworten. Falls die Antwort 0 war, sind keine Karten mit IDs größer X vorhanden. Die Erkennungsroutine wird daraufhin anfragen, ob Karten unterhalb X vorhanden sind. Schließlich setzt die Erkennungsroutine alle Karten größer als X - (limit / 4) off-line und wiederholt die Frage. Wenn diese halbbinäre Suche nach IDs in Folge genügend oft wiederholt worden ist, wird die Erkennungsroutine schließlich alle in einem Rechner befindlichen PnP-Karten identifiziert haben und das mit einer Iterationszahl sehr viel kleiner als 264. Die IDs bestehen aus zwei 32-Bit-Feldern (daher 264) + acht Bit Prüfsumme. Die ersten 32 Bit sind die Herstellerkennung. Es wurde zwar nicht bestätigt, aber es wird angenommen, dass unterschiedliche Kartentypen desselben Herstellers unterschiedliche 32-Bit Herstellerkennungen besitzen können. 32 Bit nur für eindeutige Hersteller zu benötigen, scheint etwas übertrieben. Die niedrigen 32 Bit sind eine Seriennummer oder etwas anderes, das die betreffende Karte einzigartig macht. Die Hersteller dürfen niemals eine zweite Karte mit denselben niedrigen 32 Bit herstellen, es sei denn, die höheren 32 Bit sind unterschiedlich. Sie können also mehrere Karten des selben Typs im Rechner haben und die gesamten 64 Bit bleiben stets eindeutig. Die 32 Bit-Gruppen können niemals nur aus Nullen bestehen. Das erlaubt es, bei der binären Suche zu Beginn nur auf von Null verschiedene Bits zu achten. Wenn das System alle vorhandenen Karten-IDs identifiziert hat, reaktiviert es jede Karte - eine nach der anderen (über dieselben I/O-Ports) und ermittelt, welche Ressourcen von der jeweiligen Karte benötigt werden, welche Wahlmöglichkeiten für Interrupts bestehen usw. Alle Karten werden abgefragt, um diese Informationen zusammenzustellen. Diese Informationen werden dann mit Informationen aus allen ECU-Dateien auf der Festplatte oder mit im MLB-BIOS verdrahteten Informationen verknüpft. Die ECU- und BIOS-PnP-Unterstützung für Hardware auf dem MLB ist für gewöhnlich künstlich und was die Peripheriegeräte tun ist nicht wirklich echtes PnP. Durch die Untersuchung der BIOS-Informationen und der ECU-Informationen können die Erkennungsroutinen jedoch die von PnP-Geräten benutzten Ressourcen so ändern, dass vermieden wird, dass bereits von anderen Geräten benutzte Ressourcen verwendet werden. Dann werden die PnP-Geräte nochmals besucht und ihre I/O, DMA, IRQ und Memory-Map-Adressen werden zugeordnet. Die Geräte werden an diesen Stellen sichtbar werden und dort bis zum nächsten Reboot verbleiben. Allerdings hindert Sie auch nichts daran, sie zu verschieben, wohin Sie wollen. Im obigen Teil wurde sehr viel vereinfacht, aber die grundlegende Idee sollte klar geworden sein. µsoft; hat einige der primären Druckerstatusports für PnP übernommen, da keine Karte diese Adressen für die entgegengesetzten I/O-Zyklen decodiert. Ich habe während der frühen Überprüfungsperiode des PnP-Vorschlags eine echte IBM Druckerkarte gefunden, die Schreibzugriffe auf dem Statusport decodiert hat, aber µsoft; hat nur tough gesagt. Also schreiben sie auf den Druckerstatusport, um Adressen zu setzen, benutzen zusätzlich diese Adresse + 0x800 und einen dritten I/O-Port zum Lesen, der irgendwo zwischen 0x200 und 0x3ff liegen kann. Wie bekomme ich eine Major-Number für einen Gerätetreiber, den ich geschrieben habe? &os; Versionen stellen seit Februar 2003 Major-Numbers für Geräte automatisch zur Laufzeit bereit (lesen Sie &man.devfs.5;), damit ist das nicht mehr nötig. Gibt es alternative Layoutverfahren für Verzeichnisse? Als Antwort auf die Frage nach alternativen Layoutverfahren für Verzeichnisse ist das Schema, das derzeit benutzt wird, unverändert von dem, das ich 1983 geschrieben habe. Ich habe das Vorgehen für das originale Fast-Filesystem geschrieben und es niemals überarbeitet. Es funktioniert gut, wenn es darum geht, zu verhindern, dass Zylindergruppen volllaufen. Wie viele von Ihnen angemerkt haben, funktioniert es schlecht für find. Die meisten Dateisysteme werden von Archiven erstellt, die mit einer Tiefensuche (also ftw) erstellt wurden. Diese Verzeichnisse werden über die Zylindergruppen hinweg entfaltet und erzeugen denkbar ungünstigste Voraussetzungen für zukünftige Tiefensuchen. Falls man die Gesamtzahl der zu erstellenden Verzeichnisse wüsste, wäre die Lösung die, (gesamt / fs_ncg) pro Zylindergruppe zu erstellen, bevor fortgefahren wird. Offensichtlich müsste man eine Heuristik erstellen, um die Zahl zu schätzen. Sogar die Benutzung einer kleinen, fixen Zahl, z.B. 10, würde eine Verbesserung um Größenordnungen ausmachen. Um Wiederherstellungen von normalem Betrieb (wo der derzeitige Algorithmus vermutlich sinnvoller ist) zu unterscheiden, könnten Sie die Clusterung von bis zu 10 benutzen, wenn sie alle innerhalb eines 10-Sekunden-Fensters durchgeführt würden. Jedenfalls ist mein Schluss, dass dies ein fruchtbares Gebiet für Experimente ist. &a.mckusick;, September 1998 Wie kann ich optimalen Nutzen aus einer kernel panic ziehen? Hier ist eine typische Kernel-Panic Fatal trap 12: page fault while in kernel mode fault virtual address = 0x40 fault code = supervisor read, page not present instruction pointer = 0x8:0xf014a7e5 stack pointer = 0x10:0xf4ed6f24 frame pointer = 0x10:0xf4ed6f28 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 80 (mount) interrupt mask = trap number = 12 panic: page fault Wenn Sie eine Meldung wie diese sehen, reicht es nicht, sie einfach zu reproduzieren und sie einzusenden. Der Wert des Instruktionszeigers, den ich oben hervorgehoben habe, ist wichtig; leider ist er auch konfigurationsabhängig. Mit anderen Worten variieren die Werte abhängig von dem Kernel-Image, das Sie tatsächlich benutzen. Wenn Sie ein GENERIC Kernelimage von einem der Snapshots benutzen, dann ist es für jemand anderen möglich, die fehlerhafte Instruktion herauszufinden, aber wenn Sie einen angepassten Kernel benutzen, können nur Sie uns sagen, wo der Fehler auftrat. Was Sie tun sollten, ist folgendes: Notieren Sie sich den Wert des Instruktionszeigers. Beachten Sie, dass der Teil 0x8: am Anfang in diesem Fall nicht von Bedeutung ist; der Teil 0xf0xxxxxx ist der, den wir wollen. Tun Sie folgendes, wenn das System rebootet: &prompt.user; nm /kernel.that.caused.the.panic | grep f0xxxxxx wobei 0xf0xxxxxx der Wert des Instruktionszeigers ist. Es besteht die Möglichkeit, dass Sie keinen exakten Treffer erzielen, weil die Symbole in der Symboltabelle des Kernels Funktionseinstiegspunkte sind und die Adresse des Instruktionszeigers irgendwo innerhalb einer Funktion liegen wird und nicht am Anfang. Falls sie keinen exakten Treffer erzielen, lassen Sie den letzten Teil des Werts des Instruktionszeigers weg und versuchen es noch einmal, z.B.: &prompt.user; nm /kernel.that.caused.the.panic | grep f0xxxxx Falls das kein Ergebnis liefert, hacken Sie eine weitere Ziffer ab. Wiederholen Sie die Schritte, bis Sie irgendeine Ausgabe erhalten. Das Ergebnis wird eine Liste möglicher Funktionen sein, die die Panik verursacht haben. Das ist zwar kein absolut genauer Mechanismus, um die Fehlerursache ausfindig zu machen, aber es ist besser als gar nichts. Wie dem auch sei, der beste Weg, den Grund für eine Panik herauszufinden, ist der, einen Crash-Dump festzuhalten und dann &man.kgdb.1; zu benutzen, um den Stack im Crash-Dump zurückzuverfolgen. Jedenfalls ist die Methode, die ich normalerweise benutze, folgende: Sorgen Sie dafür, dass die folgende Zeile in der Kernelkonfigurationsdatei (/usr/src/sys/arch/conf/MYKERNEL) enthalten ist: makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols - Wechseln Sie in das Verzeichnis - usr/src: - &prompt.root; cd /usr/src + Wechseln Sie in das Verzeichnis usr/src: + &prompt.root; cd /usr/src Erstellen Sie den Kernel: &prompt.root; make buildkernel KERNCONFIG=MYKERNEL Warten Sie, bis &man.make.1; den Kernel fertig kompiliert hat. &prompt.root; make installkernel KERNCONFIG=MYKERNEL Starten Sie das System neu. Falls Sie die make-Variable KERNCONFIG nicht verwenden, wird ein GENERIC Kernel gebaut und installiert. Der &man.make.1;-Prozess wird zwei Kernel erstellt haben: /usr/obj/usr/src/sys/MYKERNEL/kernel und /usr/obj/usr/src/sys/MYKERNEL/kernel.debug. kernel wurde als /boot/kernel installiert, während kernel.debug als Quelle für Debuggersymbole für &man.kgdb.1; benutzt werden kann. Um sicherzustellen, dass ein Crash-Dump erhalten bleibt, müssen Sie /etc/rc.config editieren und dumpdev so setzen, dass es auf Ihre Swap-Partition zeigt. Das bewirkt, dass die &man.rc.8;-Skripte den Befehl &man.dumpon.8; benutzen, um Crash-Dumps zu ermöglichen. Sie können &man.dumpon.8; auch manuell ausführen. Nach einer Panik kann der Crash-Dump mit &man.savecore.8; wiederhergestellt werden; wenn dumpdev in /etc/rc.conf gesetzt ist, werden die &man.rc.8;-Skripte &man.savecore.8; automatisch - ausführen und den Crash-Dump unter - /var/crash ablegen. + ausführen und den Crash-Dump unter /var/crash ablegen. Crash-Dumps von &os; sind für gewöhnlich genauso groß wie der physikalische Hauptspeicher Ihres Rechners. Das heißt, wenn Sie 512MB RAM haben, werden sie einen 512MB Crash-Dump erhalten. Deshalb müssen Sie dafür sorgen, dass genügend Speicherplatz in /var/crash zur Verfügung steht, um den Dump aufnehmen zu können. Alternativ führen Sie &man.savecore.8; manuell aus und lassen es den Crash-Dump in einem anderen Verzeichnis wiederherstellen, in dem Sie mehr Platz haben. Es ist möglich, die Größe des Crash-Dumps zu begrenzen, indem options MAXMEM=N, wobei N die Größe des verwendeten Kernelspeichers in KBs ist. Wenn Sie z.B. 1 GB RAM haben, können Sie die Speicherbenutzung des Kernels damit auf 128 MB begrenzen, so dass die Größe Ihres Crash-Dumps 128 MB anstatt 1 GB betragen wird. Wenn Sie den Crash-Dump wiederhergestellt haben, können Sie den Stack mit &man.kgdb.1; so zurückverfolgen: - &prompt.user; kgdb /usr/obj/usr/src/sys/MYKERNEL/kernel.debug /var/crash/vmcore.0 + &prompt.user; kgdb /usr/obj/usr/src/sys/MYKERNEL/kernel.debug /var/crash/vmcore.0 (kgdb) backtrace Beachten Sie, dass es mehrere Seiten mit wertvollen Informationen geben könnte; idealerweise sollten Sie &man.script.1; benutzen, um sie alle festzuhalten. Wenn Sie das vollständige Kernelimage mit allen Debugginginformationen benutzen, müssten Sie exakt die Zeile des Kernel-Sourcecodes finden, wo die Panik aufgetreten ist. Für gewöhnlich müssen Sie den Stack von unten an zurückverfolgen, um die genaue Ereignisabfolge, die zum Crash führte, zurückzuverfolgen. Sie können &man.kgdb.1; auch zum Ausdrucken der Inhalte verschiedener Variablen oder Strukturen benutzen, um den Systemstatus zum Zeitpunkt des Absturzes zu untersuchen. Wenn Sie nun wirklich verrückt sind und einen zweiten Computer haben, können Sie &man.kgdb.1; auch für entferntes Debugging konfigurieren, so dass Sie &man.kgdb.1; auf einem System benutzen können, um den Kernel auf einem anderen System zu debuggen, einschließlich dem Setzen von Haltepunkten und dem Bewegen in Einzelschritten durch den Kernelcode, genauso, wie Sie es mit einem normalen Benutzerprogramm tun können. Wenn Sie DDB aktiviert haben und der Kernel im Debugger landet, können Sie eine Panik (und einen Crash-Dump) erzwingen, indem Sie einfach panic am ddb-Prompt eingeben. Er könnte während der Panikphase wieder im Debugger stoppen. Falls er das tut, geben Sie continue ein, dann wird er den Crash-Dump beenden. Wieso funktioniert dlsym() nicht mehr für ELF-Executables? Die ELF-Werkzeuge machen die in einem Executable definierten Symbole dem dynamischen Linker nicht standardmäßig sichtbar. Konsequenterweise werden dlsym()-Suchen nach Handlern aus Aufrufen von dlopen(NULL, flags) diese Symbole nicht finden können. Wenn Sie mit dlsym() nach im Hauptexecutable eines Prozesses vorhandenen Symbolen suchen wollen, müssen Sie das Executable mit der Option von &man.ld.1; linken. Wie kann ich den Adressraum des Kernels auf i386 vergrössern oder verkleinern? Standardmäßig beträgt der Adressraum des Kernels 1 GB (2 GB für PAE) auf i386. Wenn Sie einen netzwerkintensiven Server (z.B. einen großen FTP- oder HTTP-Server) betreiben, oder ZFS verwenden möchten, kann es sein, dass Sie der Meinung sind, dass das nicht ausreichen. Fügen Sie die folgende Zeile zu ihrer Kernelkonfigurationsdatei hinzu, um den verfügbaren Speicher zu erhöhen und erstellen Sie dann einen neuen Kernel: options KVA_PAGES=N Um den richtigen Wert von N zu bestimmen, teilen Sie den gewünschte Größe des Addressraumes (in Megabyte) durch vier (z.B. beträgt er 512 für 2 GB). Danksagung Dieses kleine unschuldige Dokument mit Häufig gestellten Fragen wurde in den letzten 10 Jahren von Hunderten, wenn nicht Tausenden, geschrieben, neu geschrieben, überarbeitet, gefaltet, verdreht, durcheinander gebracht, wieder aufgebaut, verstümmelt, seziert, durchgekaut, überdacht, und wiederbelebt. Und das nicht nur einmal. Wir möchten allen dafür Verantwortlichen danken und wir fordern auch Sie auf, dieser Gruppe beizutreten, um diese FAQ noch besser zu machen. Folgende Personen haben durch die Beantwortung von Fragen, sowie durch Hinweise und Kommentare an der Entstehung der deutschen Übersetzung mitgewirkt: Ross Alexander &a.jhb; &a.nik; Glen Foster Oliver Fromme Frank Gruender Chris Hill James Howard &a.jkh; &a.alex; &a.jmas; Mike Meyer Dan O'Connor Eric Ogren &a.de.pierau; Oliver Schneider Christoph Sold Und an alle anderen, an die wir nicht gedacht haben. Entschuldigung und herzlichen Dank! &bibliography;
diff --git a/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml index af37d3813b..9b3e6f7332 100644 --- a/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml +++ b/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml @@ -1,227 +1,226 @@ <literal>sgml-mode</literal> und <application>Emacs</application> Neuere Emacs- und XEmacs-Versionen verfügen über ein nützliches Lisp-Paket namens PSGML. PSGML (das über den Port editors/psgml installiert werden kann) ist ein so genannter Majormode, der Funktionen speziell für den Umgang mit SGML-Dateien, -Elementen und deren Attributen bereit stellt. Emacs aktiviert PSGML automatisch, wenn eine Datei mit der Endung .sgml geladen oder der Befehl M-X sgml-mode eingegeben wird. Die Arbeit an SGML-Dokumenten wie dem FreeBSD-Handbuch kann sich wesentlich einfacher gestalten, wenn einige der Funktionen von PSGML gekannt sind: C-c C-e Ruft die Funktion sgml-insert-element auf, die nach dem Namen des einzufügenden Elements fragt. Ist dieser eingegeben worden und wurde die Eingabetaste gedrückt, fügt die Funktion Start- und Endtag des neuen Elements ein. Sofern das eingefügte Element laut DTD andere Elemente enthalten muß, werden diese ebenfalls miteingefügt. - - Falls man unsicher ist, wie der Name des + Falls Sie unsicher sind, wie der Name des gewünschten Elements lautet oder welche Elemente an der aktuellen Position erlaubt sind, können mittels der Taste Tab alle an dieser - Stelle möglichen Elemente angezeigt + Stelle möglichen Elemente angezeigt werden. Ebenso ermöglicht Tab die Vervollständigung eines bereits eingegebenen Elementnamens. C-c = Ruft die Funktion sgml-change-element-name auf, mit der das aktuelle Element – das Element zwischen dessen Start- und Endtag sich der Cursor befindet – ausgewechselt werden kann. Die Funktion fragt nach dem Namen des neuen Elements und ersetzt anschließend Start- und Endtag des alten Elements durch die des neuen Elements. C-c C-r Ruft die Funktion sgml-tag-region auf, die einen markierten Textabschnitt mit einem Element umschließt. Dazu markieren Sie zuerst den Textabschnitt (gehen Sie zum Anfang des Abschnitts und führen Sie C-space aus, dann gehen Sie zum Ende des Abschnitts und führen erneut C-space aus), danach führen Sie diese Funktion aus. Sie werden nach dem Namen des einzufügenden Elements gefragt. Dessen Start-Tag wird dann am Anfang des markierten Textes eingefügt, dessen End-Tag am Ende des markierten Texts. C-c - Ruft die Funktion sgml-untag-element auf, die Start- und Endtag des Elements entfernt, innerhalb dessen sich der Cursor befindet. C-c C-q Ruft die Funktion sgml-fill-element auf. Diese Funktion formatiert Formatieren bedeutet in diesem Zusammenhang, dass die Funktion versucht, soviel Zeichen wie möglich in einer Zeile unterzubringen. Die Stelle, bis zu der gefüllt und dann der Zeilemumbruch erfolgt, ist konfigurierbar. den Inhalt des aktuellen Elements neu. Dieser Vorgang betrifft auch Elemente wie programlisting, in denen Leerzeichen und ähnliches Teil der Formatierung sind. Aus diesem Grund ist mit sgml-fill-element bedächtig umzugehen. C-c C-a Ruft die Funktion sgml-edit-attributes auf. Diese öffnet einen zweiten Puffer mit allen Attributen des Elements, innerhalb dessen sich der Cursor befindet. Über Tab kann von einem Attribut zum nächsten gewechselt werden. Ein existierender Attributwert kann mit C-k gelöscht werden. Die Tastenfolge C-c C-c schließt den Puffer und setzt die Attribute des Elements entsprechend den Puffervorgaben. C-c C-v Ruft die Funktion sgml-validate auf, die zuerst fragt, ob das aktuelle Dokument gespeichert werden soll und anschließend einen SGML-Validator aufruft. Die Ausgaben des Validators werden in einem neuen Puffer angezeigt. Dadurch hat der Benutzer die Möglichkeit, eventuell vom Validator gefundene Fehler zu korrigieren. C-c / Startet die Funktion sgml-insert-end-tag, die automatisch das passende End-Tag für das gerade offene Element einfügt. Zweifellos hat PSGML noch weitere nützliche Funktionen, doch die hier genannten sind die, die der Autor dieser Fibel am meisten benutzt. Um den richtigen Einzug, die Umwandlung von Tabulatoren in Leerzeichen und die maximale Zeilenlänge für Dokumente des FDPs sicherzustellen, kann folgender Eintrag in .emacs vorgenommen werden: (defun local-sgml-mode-hook (setq fill-column 70 indent-tabs-mode nil next-line-add-newlines nil standard-indent 4 sgml-indent-data t) (auto-fill-mode t) (setq sgml-catalog-files '("/usr/local/share/sgml/catalog"))) (add-hook 'psgml-mode-hook '(lambda () (local-psgml-mode-hook))) diff --git a/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml b/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml index c2fce95629..d0f491b6d6 100644 --- a/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml @@ -1,4632 +1,4638 @@ Bernd Warken Übersetzt von Martin Heinen Speichermedien Übersicht Dieses Kapitel behandelt die Benutzung von Laufwerken unter FreeBSD. Laufwerke können speichergestützte Laufwerke, Netzwerklaufwerke oder normale SCSI/IDE-Geräte sein. Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes wissen: Die Begriffe, die FreeBSD verwendet, um die Organisation der Daten auf einem physikalischen Laufwerk zu beschreiben (Partitionen und Slices). Wie Sie ein weiteres Laufwerk zu Ihrem System hinzufügen. Wie virtuelle Dateisysteme, zum Beispiel RAM-Disks, eingerichtet werden. Wie Sie mit Quotas die Benutzung von Laufwerken einschränken können. Wie Sie Partitionen verschlüsseln, um Ihre Daten zu schützen. Wie unter FreeBSD CDs und DVDs gebrannt werden. Sie werden die Speichermedien, die Sie für Backups einsetzen können, kennen. Wie Sie die unter FreeBSD erhältlichen Backup Programme benutzen. Wie Sie ein Backup mit Disketten erstellen. Was Dateisystem-Schnappschüsse sind und wie sie eingesetzt werden. Bevor Sie dieses Kapitel lesen, sollten Sie einen einen &os;-Kernel installieren können (). Gerätenamen Die folgende Tabelle zeigt die von FreeBSD unterstützten Speichergeräte und deren Gerätenamen. Namenskonventionen von physikalischen Laufwerken Laufwerkstyp Gerätename IDE-Festplatten ad IDE-CD-ROM Laufwerke acd SCSI-Festplatten und USB-Speichermedien da SCSI-CD-ROM Laufwerke cd Verschiedene proprietäre CD-ROM-Laufwerke mcd Mitsumi CD-ROM und scd Sony CD-ROM Diskettenlaufwerke fd SCSI-Bandlaufwerke sa IDE-Bandlaufwerke ast Flash-Laufwerke fla für &diskonchip; Flash-Device RAID-Laufwerke aacd für &adaptec; AdvancedRAID, mlxd und mlyd für &mylex;, amrd für AMI &megaraid;, idad für Compaq Smart RAID, twed für &tm.3ware; RAID.
David O'Brian Im Original von Hinzufügen von Laufwerken Laufwerke hinzufügen Angenommen, Sie wollen ein neues SCSI-Laufwerk zu einer Maschine hinzufügen, die momentan nur ein Laufwerk hat. Dazu schalten Sie zuerst den Rechner aus und installieren das Laufwerk entsprechend der Anleitungen Ihres Rechners, Ihres Controllers und Laufwerk Herstellers. Den genauen Ablauf können wir wegen der großen Abweichungen leider nicht beschreiben. Nachdem Sie das Laufwerk installiert haben, melden Sie sich als Benutzer root an und kontrollieren Sie /var/run/dmesg.boot, um sicherzustellen, dass das neue Laufwerk gefunden wurde. Das neue Laufwerk wird, um das Beispiel fortzuführen, da1 heißen und soll unter /1 angehangen werden. Fügen Sie eine IDE-Platte hinzu, wird diese den Namen ad1 erhalten.s Partitionen Slices fdisk Da FreeBSD auf IBM-PC kompatiblen Rechnern läuft, muss es die PC BIOS-Partitionen, die verschieden von den traditionellen BSD-Partitionen sind, berücksichtigen. Eine PC Platte kann bis zu vier BIOS-Partitionen enthalten. Wenn die Platte ausschließlich für FreeBSD verwendet wird, können Sie den dedicated Modus benutzen, ansonsten muss FreeBSD in eine der BIOS-Partitionen installiert werden. In FreeBSD heißen die PC BIOS-Partitionen Slices, um sie nicht mit den traditionellen BSD-Partitionen zu verwechseln. Sie können auch Slices auf einer Platte verwenden, die ausschließlich von FreeBSD benutzt wird, sich aber in einem Rechner befindet, der noch ein anderes Betriebssystem installiert hat. Dadurch stellen Sie sicher, dass Sie fdisk des anderen Betriebssystems noch benutzen können. Im Fall von Slices wird die Platte als /dev/da1s1e hinzugefügt. Das heißt: SCSI-Platte, Einheit 1 (die zweite SCSI-Platte), Slice 1 (PC BIOS-Partition 1) und die e BSD-Partition. Wird die Platte ausschließlich für FreeBSD verwendet (dangerously dedicated), wird sie einfach als /dev/da1e hinzugefügt. Da &man.bsdlabel.8; zum Speichern von Sektoren 32-Bit Integer verwendet, ist das Werkzeug in den meisten Fällen auf 2^32-1 Sektoren pro Laufwerk oder 2 TB beschränkt. In &man.fdisk.8; darf der Startsektor nicht größer als 2^32-1 sein und Partitionen sind auf eine Länge von 2^32-1 beschränkt. In den meisten Fällen beschränkt dies die Größe einer Partition auf 2 TB und die maximale Größe eines Laufwerks auf 4 TB. Das &man.sunlabel.8;-Format ist mit 2^32-1 Sektoren pro Partition und 8 Partitionen auf 16 TB beschränkt. Mit größeren Laufwerken können &man.gpt.8;-Partitionen benutzt werden. Verwenden von &man.sysinstall.8; sysinstall hinzufügen von Laufwerken su Das <application>sysinstall</application> Menü Um ein Laufwerk zu partitionieren und zu labeln, kann das menügestützte sysinstall benutzt werden. Dazu melden Sie sich als root an oder benutzen su, um root zu werden. Starten Sie sysinstall und wählen das Configure Menü, wählen Sie dort den Punkt Fdisk aus. Partitionieren mit <application>fdisk</application> Innerhalb von fdisk geben Sie A ein, um die ganze Platte für FreeBSD zu benutzen. Beantworten Sie die Frage remain cooperative with any future possible operating systems mit YES. W schreibt die Änderung auf die Platte, danach können Sie fdisk mit Q verlassen. Da Sie eine Platte zu einem schon laufenden System hinzugefügt haben, beantworten Sie die Frage nach dem Master Boot Record mit None. Disk-Label-Editor BSD Partitionen Als nächstes müssen Sie sysinstall verlassen und es erneut starten. Folgen Sie dazu bitte den Anweisungen von oben, aber wählen Sie dieses Mal die Option Label, um in den Disk Label Editor zu gelangen. Hier werden die traditionellen BSD-Partitionen erstellt. Ein Laufwerk kann acht Partitionen, die mit den Buchstaben a-h gekennzeichnet werden, besitzen. Einige Partitionen sind für spezielle Zwecke reserviert. Die a Partition ist für die Root-Partition (/) reserviert. Deshalb sollte nur das Laufwerk, von dem gebootet wird, eine a Partition besitzen. Die b Partition wird für Swap-Partitionen benutzt, wobei Sie diese auf mehreren Platten benutzen dürfen. Im dangerously dedicated Modus spricht die c Partition die gesamte Platte an, werden Slices verwendet, wird damit die ganze Slice angesprochen. Die anderen Partitionen sind für allgemeine Zwecke verwendbar. Der Label Editor von sysinstall bevorzugt die e Partition für Partitionen, die weder Root-Partitionen noch Swap-Partitionen sind. Im Label Editor können Sie ein einzelnes Dateisystem mit C erstellen. Wählen Sie FS, wenn Sie gefragt werden, ob Sie ein FS (Dateisystem) oder Swap erstellen wollen, und geben Sie einen Mountpoint z.B. /mnt an. Wenn Sie nach einer FreeBSD-Installation ein Dateisystem mit sysinstall erzeugen, so werden die Einträge in /etc/fstab nicht erzeugt, so dass die Angabe des Mountpoints nicht wichtig ist. Sie können nun das Label auf das Laufwerk schreiben und das Dateisystem erstellen, indem Sie W drücken. Ignorieren Sie die Meldung von sysinstall, dass die neue Partition nicht angehangen werden konnte, und verlassen Sie den Label Editor sowie sysinstall. Ende Im letzten Schritt fügen Sie noch in /etc/fstab den Eintrag für das neue Laufwerk ein. Die Kommandozeile Anlegen von Slices Mit der folgenden Vorgehensweise wird eine Platte mit anderen Betriebssystemen, die vielleicht auf Ihrem Rechner installiert sind, zusammenarbeiten und nicht das fdisk Programm anderer Betriebssysteme stören. Bitte benutzen Sie den dedicated Modus nur dann, wenn Sie dazu einen guten Grund haben! &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; fdisk -BI da1 # Initialisieren der neuen Platte &prompt.root; bsdlabel -B -w da1s1 auto #Labeln. &prompt.root; bsdlabel -e da1s1 # Editieren des Disklabels und Hinzufügen von Partitionen &prompt.root; mkdir -p /1 &prompt.root; newfs /dev/da1s1e # Wiederholen Sie diesen Schritt für jede Partition &prompt.root; mount /dev/da1s1e /1 # Anhängen der Partitionen &prompt.root; vi /etc/fstab # Ändern Sie /etc/fstab entsprechend Wenn Sie ein IDE-Laufwerk besitzen, ändern Sie da in ad. Dedicated OS/2 Wenn das neue Laufwerk nicht von anderen Betriebssystemen benutzt werden soll, können Sie es im dedicated Modus betreiben. Beachten Sie bitte, dass Microsoft-Betriebssysteme mit diesem Modus eventuell nicht zurechtkommen, aber es entsteht kein Schaden am Laufwerk. Im Gegensatz dazu wird IBMs &os2; versuchen, jede ihm nicht bekannte Partition zu reparieren. &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; bsdlabel -Bw da1 auto &prompt.root; bsdlabel -e da1 # Erstellen der `e' Partition &prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # /dev/da1e hinzufügen &prompt.root; mount /1 Eine alternative Methode: &prompt.root; dd if=/dev/zero of=/dev/da1 count=2 &prompt.root; bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin &prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # /dev/da1e hinzufügen &prompt.root; mount /1 RAID Software-RAID Christopher Shumway Original von Jim Brown Überarbeitet von Concatenated-Disk (CCD) konfigurieren RAID Software RAID CCD Die wichtigsten Faktoren bei der Auswahl von Massenspeichern sind Geschwindigkeit, Zuverlässigkeit und Preis. Selten findet sich eine ausgewogene Mischung aller drei Faktoren. Schnelle und zuverlässige Massenspeicher sind für gewöhnlich teuer. Um die Kosten zu senken, muss entweder an der Geschwindigkeit oder an der Zuverlässigkeit gespart werden. Das unten beschriebene System sollte vor allem preiswert sein. Der nächst wichtige Faktor war die Geschwindigkeit gefolgt von der Zuverlässigkeit. Die Geschwindigkeit war nicht so wichtig, da über das Netzwerk auf das System zugegriffen wird. Da alle Daten schon auf CD-Rs gesichert sind, war die Zuverlässigkeit, obwohl wichtig, ebenfalls nicht von entscheidender Bedeutung. Die Bewertung der einzelnen Faktoren ist der erste Schritt bei der Auswahl von Massenspeichern. Wenn Sie vor allem ein schnelles und zuverlässiges Medium benötigen und der Preis nicht wichtig ist, werden Sie ein anderes System als das hier beschriebene zusammenstellen. Installation der Hardware Neben der IDE-Systemplatte besteht das System aus drei Western Digital IDE-Festplatten mit 5400 RPM und einer Kapazität von je 30 GB. Insgesamt stehen also 90 GB Speicherplatz zur Verfügung. Im Idealfall sollte jede Festplatte an einen eigenen Controller angeschlossen werden. Um Kosten zu sparen, wurde bei diesem System darauf verzichtet und an jeden IDE-Controller eine Master- und eine Slave-Platte angeschlossen. Beim Reboot wurde das BIOS so konfiguriert, dass es die angeschlossenen Platten automatisch erkennt und FreeBSD erkannte die Platten ebenfalls: ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33 ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33 ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33 ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33 Wenn FreeBSD die Platten nicht erkennt, überprüfen Sie, ob die Jumper korrekt konfiguriert sind. Die meisten IDE-Festplatten verfügen über einen Cable Select-Jumper. Die Master- und Slave-Platten werden mit einem anderen Jumper konfiguriert. Bestimmen Sie den richtigen Jumper mithilfe der Dokumentation Ihrer Festplatte. Als nächstes sollten Sie überlegen, auf welche Art der Speicher zur Verfügung gestellt werden soll. Schauen Sie sich dazu &man.vinum.8; () und &man.ccd.4; an. Im hier beschriebenen System wird &man.ccd.4; eingesetzt. Konfiguration von CCD Mit &man.ccd.4; können mehrere gleiche Platten zu einem logischen Dateisystem zusammengefasst werden. Um &man.ccd.4; zu benutzen, muss der Kernel mit der entsprechenden Unterstützung übersetzt werden. Ergänzen Sie die Kernelkonfiguration um die nachstehende Zeile. Anschließend müssen Sie den Kernel neu übersetzen und installieren. pseudo-device ccd Alternativ kann &man.ccd.4; auch als Kernelmodul geladen werden. Um &man.ccd.4; zu benutzen, müssen die Laufwerke zuerst mit einem Label versehen werden. Die Label werden mit &man.bsdlabel.8; erstellt: bsdlabel -w ad1 auto bsdlabel -w ad2 auto bsdlabel -w ad3 auto Damit wurden die Label ad1c, ad2c und ad3c erstellt, die jeweils das gesamte Laufwerk umfassen. Im nächsten Schritt muss der Typ des Labels geändert werden. Die Labels können Sie mit &man.bsdlabel.8; editieren: bsdlabel -e ad1 bsdlabel -e ad2 bsdlabel -e ad3 Für jedes Label startet dies den durch EDITOR gegebenen Editor, typischerweise &man.vi.1;. Ein unverändertes Label sieht zum Beispiel wie folgt aus: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) Erstellen Sie eine e-Partition für &man.ccd.4;. Dazu können Sie normalerweise die Zeile der c-Partition kopieren, allerdings muss auf 4.2BSD gesetzt werden. Das Ergebnis sollte wie folgt aussehen: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597) Erstellen des Dateisystems Nachdem alle Platten ein Label haben, kann das &man.ccd.4;-RAID aufgebaut werden. Dies geschieht mit &man.ccdconfig.8;: ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e Die folgende Aufstellung erklärt die verwendeten Kommandozeilenargumente: Das erste Argument gibt das zu konfigurierende Gerät, hier /dev/ccd0c, an. Die Angabe von /dev/ ist dabei optional. Der Interleave für das Dateisystem. Der Interleave definiert die Größe eines Streifens in Blöcken, die normal 512 Bytes groß sind. Ein Interleave von 32 ist demnach 16384 Bytes groß. Weitere Argumente für &man.ccdconfig.8;. Wenn Sie spiegeln wollen, können Sie das hier angeben. Die gezeigte Konfiguration verwendet keine Spiegel, sodass der Wert 0 angegeben ist. Das letzte Argument gibt die Geräte des Plattenverbundes an. Benutzen Sie für jedes Gerät den kompletten Pfadnamen. Nach Abschluß von &man.ccdconfig.8; ist der Plattenverbund konfiguriert und es können Dateisysteme auf dem Plattenverbund angelegt werden. Das Anlegen von Dateisystemen wird in der Hilfeseite &man.newfs.8; beschrieben. Für das Beispiel genügt der folgende Befehl: newfs /dev/ccd0c Automatisierung Damit &man.ccd.4; beim Start automatisch aktiviert wird, ist die Datei /etc/ccd.conf mit dem folgenden Kommando zu erstellen: ccdconfig -g > /etc/ccd.conf Wenn /etc/ccd.conf existiert, wird beim Reboot ccdconfig -C von /etc/rc aufgerufen. Damit wird &man.ccd.4; eingerichtet und die darauf befindlichen Dateisysteme können angehängt werden. Wenn Sie in den Single-User Modus booten, müssen Sie den Verbund erst konfigurieren, bevor Sie darauf befindliche Dateisysteme anhängen können: ccdconfig -C In /etc/fstab ist noch ein Eintrag für das auf dem Verbund befindliche Dateisystem zu erstellen, damit dieses beim Start des Systems immer angehängt wird: /dev/ccd0c /media ufs rw 2 2 Der Vinum-Volume-Manager RAID Software RAID Vinum Der Vinum Volume Manager ist ein Block-Gerätetreiber, der virtuelle Platten zur Verfügung stellt. Er trennt die Verbindung zwischen der Festplatte und dem zugehörigen Block-Gerät auf. Im Gegensatz zur konventionellen Aufteilung einer Platte in Slices lassen sich dadurch Daten flexibler, leistungsfähiger und zuverlässiger verwalten. &man.vinum.8; stellt RAID-0, RAID-1 und RAID-5 sowohl einzeln wie auch in Kombination zur Verfügung. Mehr Informationen über &man.vinum.8; erhalten Sie in . Hardware-RAID RAID Hardware FreeBSD unterstützt eine Reihe von RAID-Controllern. Diese Geräte verwalten einen Plattenverbund; zusätzliche Software wird nicht benötigt. Der Controller steuert mithilfe eines BIOS auf der Karte die Plattenoperationen. Wie ein RAID System eingerichtet wird, sei kurz am Beispiel des Promise IDE RAID-Controllers gezeigt. Nachdem die Karte eingebaut ist und der Rechner neu gestartet wurde, erscheint eine Eingabeaufforderung. Wenn Sie den Anweisungen auf dem Bildschirm folgen, gelangen Sie in eine Maske, in der Sie mit den vorhandenen Festplatten ein RAID-System aufbauen können. FreeBSD behandelt das RAID-System wie eine einzelne Festplatte. Wiederherstellen eines ATA-RAID-1 Verbunds Mit FreeBSD können Sie eine ausgefallene Platte in einem RAID-Verbund während des Betriebs auswechseln, vorausgesetzt Sie bemerken den Ausfall vor einem Neustart. Einen Ausfall erkennen Sie, wenn in der Datei /var/log/messages oder in der Ausgabe von &man.dmesg.8; Meldungen wie die folgenden auftauchen: ad6 on monster1 suffered a hard error. ad6: READ command timeout tag=0 serv=0 - resetting ad6: trying fallback to PIO mode ata3: resetting devices .. done ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\ status=59 error=40 ar0: WARNING - mirror lost Überprüfen Sie den RAID-Verbund mit &man.atacontrol.8;: &prompt.root; atacontrol list ATA channel 0: Master: no device present Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0 ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ATA channel 3: Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED Damit Sie die Platte ausbauen können, muss zuerst der ATA-Channel der ausgefallenen Platte aus dem Verbund entfernt werden: &prompt.root; atacontrol detach ata3 Ersetzen Sie dann die Platte. Nun aktivieren Sie den ATA-Channel wieder: &prompt.root; atacontrol attach ata3 Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present Nehmen Sie die neue Platte in den Verbund auf: &prompt.root; atacontrol addspare ar0 ad6 Stellen Sie die Organisation des Verbunds wieder her: &prompt.root; atacontrol rebuild ar0 Sie können den Fortschritt des Prozesses durch folgende Befehle kontrollieren: &prompt.root; dmesg | tail -10 [output removed] ad6: removed from configuration ad6: deleted from ar0 disk1 ad6: inserted into ar0 disk1 as spare &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed Warten Sie bis die Wiederherstellung beendet ist. Marc Fonvieille Beigetragen von USB Speichermedien USB Speichermedien Der Universal Serial Bus (USB) wird heutzutage von vielen externen Speichern benutzt: Festplatten, USB-Thumbdrives oder CD-Brennern, die alle von &os; unterstützt werden. USB-Konfiguration USB-Massenspeicher werden vom Treiber &man.umass.4; betrieben. Wenn Sie den GENERIC-Kernel benutzen, brauchen Sie keine Anpassungen vorzunehmen. Benutzen Sie einen angepassten Kernel, müssen die nachstehenden Zeilen in der Kernelkonfigurationsdatei enthalten sein: device scbus device da device pass device uhci device ohci device usb device umass Der Treiber &man.umass.4; greift über das SCSI-Subsystem auf die USB-Geräte zu. Ihre USB-Geräte werden daher vom System als SCSI-Geräte erkannt. Abhängig vom Chipsatz Ihrer Systemplatine benötigen Sie in der Kernelkonfiguration entweder die Option device uhci oder die Option device ohci. Die Kernelkonfiguration kann allerdings auch beide Optionen enthalten. Vergessen Sie bitte nicht, einen neuen Kernel zu bauen und zu installieren, wenn Sie die Kernelkonfiguration verändert haben. Wenn es sich bei Ihrem USB-Gerät um einen CD-R- oder DVD-Brenner handelt, müssen Sie den Treiber &man.cd.4; für SCSI-CD-ROMs in die Kernelkonfiguration aufnehmen: device cd Da der Brenner als SCSI-Laufwerk erkannt wird, sollten Sie den Treiber &man.atapicam.4; nicht benutzen. USB 2.0-Controller werden von &os; unterstützt, wenn Sie die folgende Zeile in Ihre Kernelkonfigurationsdatei aufnehmen: device ehci Die Treiber &man.uhci.4; und &man.ohci.4; werden immer noch für USB 1.X benötigt. Die USB-Konfiguration testen Sie können das USB-Gerät nun testen. Schließen Sie das Gerät an und untersuchen Sie die Systemmeldungen (&man.dmesg.8;), Sie sehen Ausgaben wie die folgende: umass0: USB Solid state disk, rev 1.10/1.00, addr 2 GEOM: create disk da0 dp=0xc2d74850 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device da0: 1.000MB/s transfers da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C) Die Ausgaben, wie das erkannte Gerät oder der Gerätename (da0) hängen natürlich von Ihrer Konfiguration ab. Da ein USB-Gerät als SCSI-Gerät erkannt wird, können Sie USB-Massenspeicher mit dem Befehl camcontrol anzeigen: &prompt.root; camcontrol devlist <Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0) Wenn auf dem Laufwerk ein Dateisystem eingerichtet ist, sollten Sie das Dateisystem einhängen können. beschreibt, wie Sie USB-Laufwerke formatieren und Partitionen einrichten. Damit auch normale Anwender (ohne root-Rechte) USB-Laufwerke einhängen können, müssen Sie Ihr System erst entsprechend konfigurieren. Als erstes müssen Sie sicherstellen, dass diese Anwender auf die beim Einhängen eines USB-Laufwerks dynamisch erzeugten Gerätedateien zugreifen dürfen. Dazu können Sie beispielsweise mit &man.pw.8; alle potentiellen Benutzer dieser Gerätedateien in die Gruppe operator aufnehmen. Außerdem muss sichergestellt werden, dass Mitglieder der Gruppe operator Schreib- und Lesezugriff auf diese Gerätedateien haben. Dazu fügen Sie die folgenden Zeilen in die Konfigurationsdatei /etc/devfs.rules ein: [localrules=5] add path 'da*' mode 0660 group operator Verfügt Ihr System auch über SCSI-Laufwerke, gibt es eine Besonderheit. Haben Sie beispielsweise die SCSI-Laufwerke da0 bis da2 installiert, so sieht die zweite Zeile wie folgt aus: add path 'da[3-9]*' mode 0660 group operator Dadurch werden die bereits vorhandenen SCSI-Laufwerke nicht in die Gruppe operator aufgenommen. Vergessen Sie nicht, die &man.devfs.rules.5;-Regeln in der Datei /etc/rc.conf zu aktivieren: devfs_system_ruleset="localrules" Als nächstes müssen Sie Ihre Kernelkonfiguration anpassen, damit auch normale Benutzer Dateisysteme mounten dürfen. Dazu fügen Sie am besten folgende Zeile in die Konfigurationsdatei /etc/sysctl.conf ein: vfs.usermount=1 Damit diese Einstellung wirksam wird, müssen Sie Ihr System neu starten. Alternativ können Sie diese Variable auch mit &man.sysctl.8; setzen. Zuletzt müssen Sie noch ein Verzeichnis anlegen, in das das USB-Laufwerk eingehängt werden soll. Dieses Verzeichnis muss dem Benutzer gehören, der das USB-Laufwerk in den Verzeichnisbaum einhängen will. Dazu legen Sie als root ein Unterverzeichnis /mnt/username an (wobei Sie username durch den Login des jeweiligen Benutzers sowie usergroup durch die primäre Gruppe des Benutzers ersetzen): &prompt.root; mkdir /mnt/username &prompt.root; chown username:usergroup /mnt/username Wenn Sie nun beispielsweise einen USB-Stick anschließen, wird automatisch die Gerätedatei /dev/da0s1 erzeugt. Da derartige Geräte in der Regel mit dem FAT-Dateisystem formatiert sind, können Sie sie beispielsweise mit dem folgenden Befehl in den Verzeichnisbaum einhängen: &prompt.user; mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/username Wenn Sie das Gerät entfernen (das Dateisystem müssen Sie vorher abhängen), sehen Sie in den Systemmeldungen Einträge wie die folgenden: umass0: at uhub0 port 1 (addr 2) disconnected (da0:umass-sim0:0:0:0): lost device (da0:umass-sim0:0:0:0): removing device entry GEOM: destroy disk da0 dp=0xc2d74850 umass0: detached Weiteres zu USB Neben den Abschnitten Hinzufügen von Laufwerken und Anhängen und Abhängen von Dateisystemen lesen Sie bitte die Hilfeseiten &man.umass.4;, &man.camcontrol.8; und &man.usbdevs.8;. Mike Meyer Beigesteuert von CDs benutzen CD-ROM brennen Einführung CDs besitzen einige Eigenschaften, die sie von konventionellen Laufwerken unterscheiden. Zuerst konnten sie nicht beschrieben werden. Sie wurden so entworfen, dass sie ununterbrochen, ohne Verzögerungen durch Kopfbewegungen zwischen den Spuren, gelesen werden können. Sie konnten früher auch leichter als vergleichbar große Medien zwischen Systemen bewegt werden. CDs besitzen Spuren, aber damit ist der Teil Daten gemeint, der ununterbrochen gelesen wird, und nicht eine physikalische Eigenschaft der CD. Um eine CD mit FreeBSD zu erstellen, werden die Daten jeder Spur der CD in Dateien vorbereitet und dann die Spuren auf die CD geschrieben. ISO 9660 Dateisysteme ISO 9660 Das ISO 9660-Dateisystem wurde entworfen, um mit diesen Unterschieden umzugehen. Leider hat es auch damals übliche Grenzen für Dateisysteme implementiert. Glücklicherweise existiert ein Erweiterungsmechanismus, der es korrekt geschriebenen CDs erlaubt, diese Grenzen zu überschreiten und dennoch auf Systemen zu funktionieren, die diese Erweiterungen nicht unterstützen. sysutils/cdrtools Der Port sysutils/cdrtools enthält das Programm &man.mkisofs.8;, das eine Datei erstellt, die ein ISO 9660-Dateisystem enthält. Das Programm hat Optionen, um verschiedene Erweiterungen zu unterstützen, und wird unten beschrieben. CD-Brenner ATAPI Welches Tool Sie zum Brennen von CDs benutzen, hängt davon ab, ob Ihr CD-Brenner ein ATAPI-Gerät ist oder nicht. Mit ATAPI-CD-Brennern wird burncd benutzt, das Teil des Basissystems ist. SCSI- und USB-CD-Brenner werden mit cdrecord aus sysutils/cdrtools benutzt. Zusätzlich ist es möglich, über das Modul ATAPI/CAM SCSI-Werkzeuge wie cdrecord auch für ATAPI-Geräte einzusetzen. Wenn Sie eine Brennsoftware mit grafischer Benutzeroberfläche benötigen, sollten Sie sich X-CD-Roast oder K3b näher ansehen. Diese Werkzeuge können als Paket oder aus den Ports (sysutils/xcdroast und sysutils/k3b) installiert werden. Mit ATAPI-Hardware benötigt K3b das ATAPI/CAM-Modul. mkisofs Das Programm &man.mkisofs.8; aus dem Port sysutils/cdrtools erstellt ein ISO 9660-Dateisystem, das ein Abbild eines Verzeichnisbaumes ist. Die einfachste Anwendung ist wie folgt: &prompt.root; mkisofs -o Imagedatei /path/to/tree Dateisysteme ISO 9660 Dieses Kommando erstellt eine Imagedatei, die ein ISO 9660-Dateisystem enthält, das eine Kopie des Baumes unter /path/to/tree ist. Dabei werden die Dateinamen auf Namen abgebildet, die den Restriktionen des ISO 9660-Dateisystems entsprechen. Dateien mit Namen, die im ISO 9660-Dateisystem nicht gültig sind, bleiben unberücksichtigt. Dateisysteme HFS Dateisysteme Joliet Es einige Optionen, um diese Beschränkungen zu überwinden. Die unter &unix; Systemen üblichen Rock-Ridge-Erweiterungen werden durch aktiviert, aktiviert die von Microsoft Systemen benutzten Joliet-Erweiterungen und dient dazu, um das von &macos; benutzte HFS zu erstellen. Für CDs, die nur auf FreeBSD-Systemen verwendet werden sollen, kann genutzt werden, um alle Beschränkungen für Dateinamen aufzuheben. Zusammen mit wird ein Abbild des Dateisystems, ausgehend von dem Startpunkt im FreeBSD-Dateibaum, erstellt, obwohl dies den ISO 9660 Standard verletzen kann. CD-ROM bootbare erstellen Die letzte übliche Option ist . Sie wird benutzt, um den Ort eines Bootimages einer El Torito bootbaren CD anzugeben. Das Argument zu dieser Option ist der Pfad zu einem Bootimage ausgehend von der Wurzel des Baumes, der auf die CD geschrieben werden soll. In der Voreinstellung erzeugt &man.mkisofs.8; ein ISO-Image im Diskettenemulations-Modus. Dabei muss das Image genau 1200, 1440 oder 2880 KB groß sein. Einige Bootloader, darunter der auf den FreeBSD-Disks verwendete, kennen keinen Emulationsmodus. Daher sollten Sie in diesen Fällen die Option verwenden. Wenn /tmp/myboot ein bootbares FreeBSD-System enthält, dessen Bootimage sich in /tmp/myboot/boot/cdboot befindet, können Sie ein Abbild eines ISO 9660-Dateisystems in /tmp/bootable.iso wie folgt erstellen: &prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot Wenn Sie md in Ihrem Kernel konfiguriert haben, können Sie danach das Dateisystem einhängen: &prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0 &prompt.root; mount -t cd9660 /dev/md0 /mnt Jetzt können Sie überprüfen, dass /mnt und /tmp/myboot identisch sind. Sie können das Verhalten von &man.mkisofs.8; mit einer Vielzahl von Optionen beeinflussen. Insbesondere können Sie das ISO 9660-Dateisystem modifizieren und Joliet- oder HFS-Dateisysteme brennen. Details dazu entnehmen Sie bitte der Hilfeseite &man.mkisofs.8;. burncd CD-ROM brennen Wenn Sie einen ATAPI-CD-Brenner besitzen, können Sie burncd benutzen, um ein ISO-Image auf CD zu brennen. burncd ist Teil des Basissystems und unter /usr/sbin/burncd installiert. Da es nicht viele Optionen hat, ist es leicht zu benutzen: &prompt.root; burncd -f cddevice data imagefile.iso fixate Dieses Kommando brennt eine Kopie von imagefile.iso auf das Gerät cddevice. In der Grundeinstellung wird das Gerät /dev/acd0 benutzt. &man.burncd.8; beschreibt, wie die Schreibgeschwindigkeit gesetzt wird, die CD ausgeworfen wird und Audiodaten geschrieben werden. cdrecord Wenn Sie keinen ATAPI-CD-Brenner besitzen, benutzen Sie cdrecord, um CDs zu brennen. cdrecord ist nicht Bestandteil des Basissystems. Sie müssen es entweder aus den Ports in sysutils/cdrtools oder dem passenden Paket installieren. Änderungen im Basissystem können Fehler im binären Programm verursachen und führen möglicherweise dazu, dass Sie einen Untersetzer brennen. Sie sollten daher den Port aktualisieren, wenn Sie Ihr System aktualisieren bzw. wenn Sie STABLE verfolgen, den Port aktualisieren, wenn es eine neue Version gibt. Obwohl cdrecord viele Optionen besitzt, ist die grundlegende Anwendung einfacher als burncd. Ein ISO 9660-Image erstellen Sie mit: &prompt.root; cdrecord dev=device imagefile.iso Der Knackpunkt in der Benutzung von cdrecord besteht darin, das richtige Argument zu zu finden. Benutzen Sie dazu den Schalter von cdrecord, der eine ähnliche Ausgabe wie die folgende produziert: CD-ROM brennen &prompt.root; cdrecord -scanbus Cdrecord 1.9 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) * Für die aufgeführten Geräte in der Liste wird das passende Argument zu gegeben. Benutzen Sie die drei durch Kommas separierten Zahlen, die zu Ihrem CD-Brenner angegeben sind, als Argument für . Im Beispiel ist das CDRW-Gerät 1,5,0, so dass die passende Eingabe dev=1,5,0 wäre. Einfachere Wege das Argument anzugeben, sind in &man.cdrecord.1; beschrieben. Dort sollten Sie auch nach Informationen über Audiospuren, das Einstellen der Geschwindigkeit und ähnlichem suchen. Kopieren von Audio-CDs Um eine Kopie einer Audio-CD zu erstellen, kopieren Sie die Stücke der CD in einzelne Dateien und brennen diese Dateien dann auf eine leere CD. Das genaue Verfahren hängt davon ab, ob Sie ATAPI- oder SCSI-Laufwerke verwenden. SCSI-Laufwerke Kopieren Sie die Audiodaten mit cdda2wav: &prompt.user; cdda2wav -v255 -D2,0 -B -Owav Die erzeugten .wav Dateien schreiben Sie mit cdrecord auf eine leere CD: &prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav Das Argument von gibt das verwendete Gerät an, das Sie, wie in beschrieben, ermitteln können. ATAPI-Laufwerke Der ATAPI-CD-Treiber stellt die einzelnen Stücke der CD über die Dateien /dev/acddtnn, zur Verfügung. d bezeichnet die Laufwerksnummer und nn ist die Nummer des Stücks. Die Nummer ist immer zweistellig, das heißt es wird, wenn nötig, eine führende Null ausgegeben. Die Datei /dev/acd0t01 ist also das erste Stück des ersten CD-Laufwerks. /dev/acd0t02 ist das zweite Stück und /dev/acd0t03 das dritte. Überprüfen Sie stets, ob die entsprechenden Dateien im Verzeichnis /dev auch angelegt werden. Sind die Einträge nicht vorhanden, weisen Sie Ihr System an, das Medium erneut zu testen: &prompt.root; dd if=/dev/acd0 of=/dev/null count=1 Unter &os; 4.X werden diese Einträge nicht mit dem Wert Null vordefiniert. Falls die entsprechenden Einträge unter /dev nicht vorhanden sind, müssen Sie diese hier von MAKEDEV anlegen lassen: &prompt.root; cd /dev &prompt.root; sh MAKEDEV acd0t99 Die einzelnen Stücke kopieren Sie mit &man.dd.1;. Sie müssen dazu eine spezielle Blockgröße angeben: &prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352 &prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352 ... Die kopierten Dateien können Sie dann mit burncd brennen. Auf der Kommandozeile müssen Sie angeben, dass Sie Audio-Daten brennen wollen und dass das Medium fixiert werden soll: &prompt.root; burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate Kopieren von Daten-CDs Sie können eine Daten-CD in eine Datei kopieren, die einem Image entspricht, das mit &man.mkisofs.8; erstellt wurde. Mit Hilfe dieses Images können Sie jede Daten-CD kopieren. Das folgende Beispiel verwendet acd0 für das CD-ROM-Gerät. Wenn Sie ein anderes Laufwerk benutzen, setzen Sie bitte den richtigen Namen ein. &prompt.root; dd if=/dev/acd0 of=file.iso bs=2048 Danach haben Sie ein Image, das Sie wie oben beschrieben, auf eine CD brennen können. Einhängen von Daten-CDs Nachdem Sie eine Daten-CD gebrannt haben, wollen Sie wahrscheinlich auch die Daten auf der CD lesen. Dazu müssen Sie die CD in den Dateibaum einhängen. Die Voreinstellung für den Typ des Dateisystems von &man.mount.8; ist UFS. Das System wird die Fehlermeldung Incorrect super block ausgeben, wenn Sie versuchen, die CD mit dem folgenden Kommando einzuhängen: &prompt.root; mount /dev/cd0 /mnt Auf der CD befindet sich ja kein UFS Dateisystem, so dass der Versuch, die CD einzuhängen fehlschlägt. Sie müssen &man.mount.8; sagen, dass es ein Dateisystem vom Typ ISO9660 verwenden soll. Dies erreichen Sie durch die Angabe von auf der Kommandozeile. Wenn Sie also die CD-ROM /dev/cd0 in /mnt einhängen wollen, führen Sie folgenden Befehl aus: &prompt.root; mount -t cd9660 /dev/cd0c /mnt Abhängig vom verwendeten CD-ROM kann der Gerätename von dem im Beispiel (/dev/cd0) abweichen. Die Angabe von führt &man.mount.cd9660.8; aus, so dass das Beispiel verkürzt werden kann: &prompt.root; mount_cd9660 /dev/cd0 /mnt Auf diese Weise können Sie Daten-CDs von jedem Hersteller verwenden. Es kann allerdings zu Problemen mit CDs kommen, die verschiedene ISO9660-Erweiterungen benutzen. So speichern Joliet-CDs alle Dateinamen unter Verwendung von zwei Byte langen Unicode-Zeichen. Zwar unterstützt der &os;-Kernel derzeit noch kein Unicode, der CD9660-Treiber erlaubt es aber, zur Laufzeit eine Konvertierungstabelle zu laden. Tauchen bei Ihnen also statt bestimmter Zeichen nur Fragezeichen auf, so müssen Sie über die Option den benötigten Zeichensatz angeben. Weitere Informationen zu diesem Problem finden Sie in der Manualpage &man.mount.cd9660.8;. Damit der Kernel diese Zeichenkonvertierung (festgelegt durch die Option ) erkennt, müssen Sie das Kernelmodul cd9660_iconv.ko laden. Dazu fügen Sie entweder folgende Zeile in die Datei loader.conf ein: cd9660_iconv_load="YES" Danach müssen Sie allerdings Ihr System neu starten. Alternativ können Sie das Kernelmodul auch direkt über &man.kldload.8; laden. Manchmal werden Sie die Meldung Device not configured erhalten, wenn Sie versuchen, eine CD-ROM einzuhängen. Für gewöhnlich liegt das daran, dass das Laufwerk meint es sei keine CD eingelegt, oder dass das Laufwerk auf dem Bus nicht erkannt wird. Es kann einige Sekunden dauern, bevor das Laufwerk merkt, dass eine CD eingelegt wurde. Seien Sie also geduldig. Manchmal wird ein SCSI-CD-ROM nicht erkannt, weil es keine Zeit hatte, auf das Zurücksetzen des Busses zu antworten. Wenn Sie ein SCSI-CD-ROM besitzen, sollten Sie die folgende Zeile in Ihre Kernelkonfiguration aufnehmen und einen neuen Kernel bauen: options SCSI_DELAY=15000 Die Zeile bewirkt, dass nach dem Zurücksetzen des SCSI-Busses beim Booten 15 Sekunden gewartet wird, um dem CD-ROM-Laufwerk genügend Zeit zu geben, darauf zu antworten. Brennen von rohen CDs Sie können eine Datei auch direkt auf eine CD brennen, ohne vorher auf ihr ein ISO 9660-Dateisystem einzurichten. Einige Leute nutzen dies, um Datensicherungen durchzuführen. Diese Vorgehensweise hat den Vorteil, dass Sie schneller als das Brennen einer normalen CD ist. &prompt.root; burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate Wenn Sie die Daten von einer solchen CD wieder zurückbekommen wollen, müssen Sie sie direkt von dem rohen Gerät lesen: &prompt.root; tar xzvf /dev/acd1 Eine auf diese Weise gefertigte CD können Sie nicht in das Dateisystem einhängen. Sie können Sie auch nicht auf einem anderen Betriebssystem lesen. Wenn Sie die erstellten CDs in das Dateisystem einhängen oder mit anderen Betriebssystemen austauschen wollen, müssen Sie &man.mkisofs.8; wie oben beschrieben benutzen. Marc Fonvieille Beigetragen von CD-Brenner ATAPI/CAM Treiber Der ATAPI/CAM Treiber Mit diesem Treiber kann auf ATAPI-Geräte (wie CD-ROM-, CD-RW- oder DVD-Laufwerke) mithilfe des SCSI-Subsystems zugegriffen werden. Damit können Sie SCSI-Werkzeuge, wie sysutils/cdrdao oder &man.cdrecord.1;, zusammen mit einem ATAPI-Gerät benutzen. Wenn Sie den Treiber benutzen wollen, fügen Sie die folgende Zeile in /boot/loader.conf ein: atapicam_load="YES" Danach müssen Sie Ihr System neu starten, um den Treiber zu aktivieren. Alternativ können Sie die Unterstützung für &man.atapicam.4; auch in Ihren Kernel kompilieren. Dazu fügen Sie die folgende Zeile in Ihre Kernelkonfigurationsdatei ein: device atapicam Die folgenden Zeilen werden ebenfalls benötigt, sollten aber schon Teil der Kernelkonfiguration sein: device ata device scbus device cd device pass Übersetzen und installieren Sie den neuen Kernel. Der CD-Brenner sollte nun beim Neustart des Systems erkannt werden: acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed Über den Gerätenamen /dev/cd0 können Sie nun auf das Laufwerk zugreifen. Wenn Sie beispielsweise eine CD-ROM in /mnt einhängen wollen, benutzen Sie das nachstehende Kommando: &prompt.root; mount -t cd9660 /dev/cd0 /mnt Die SCSI-Adresse des Brenners können Sie als root wie folgt ermitteln: &prompt.root; camcontrol devlist <MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0) Die SCSI-Adresse 1,0,0 können Sie mit den SCSI-Werkzeugen, zum Beispiel &man.cdrecord.1;, verwenden. Weitere Informationen über das ATAPI/CAM- und das SCSI-System erhalten Sie in den Hilfeseiten &man.atapicam.4; und &man.cam.4;. Marc Fonvieille Beigetragen von Andy Polyakov Mit Beiträgen von DVDs benutzen DVD brennen Einführung Nach der CD ist die DVD die nächste Generation optischer Speichermedien. Auf einer DVD können mehr Daten als auf einer CD gespeichert werden. DVDs werden heutzutage als Standardmedium für Videos verwendet. Für beschreibbare DVDs existieren fünf Medienformate: DVD-R: Dies war das erste verfügbare Format. Das Format wurde vom DVD-Forum festgelegt. Die Medien sind nur einmal beschreibbar. DVD-RW: Dies ist die wiederbeschreibbare Version des DVD-R Standards. Eine DVD-RW kann ungefähr 1000 Mal beschrieben werden. DVD-RAM: Dies ist ebenfalls ein wiederbeschreibbares Format, das vom DVD-Forum unterstützt wird. Eine DVD-RAM verhält sich wie eine Wechselplatte. Allerdings sind die Medien nicht kompatibel zu den meisten DVD-ROM-Laufwerken und DVD-Video-Spielern. DVD-RAM wird nur von wenigen Brennern unterstützt. Wollen Sie DVD-RAM einsetzen, sollten Sie lesen. DVD+RW: Ist ein wiederbeschreibbares Format, das von der DVD+RW Alliance festgelegt wurde. Eine DVD+RW kann ungefähr 1000 Mal beschrieben werden. DVD+R: Dieses Format ist die nur einmal beschreibbare Variante des DVD+RW Formats. Auf einer einfach beschichteten DVD können 4.700.000.000 Bytes gespeichert werden. Das sind 4,38 GB oder 4485 MB (1 Kilobyte sind 1024 Bytes). Die physischen Medien sind unabhängig von der Anwendung. Ein DVD-Video ist eine spezielle Anordnung von Dateien, die auf irgendein Medium (zum Beispiel DVD-R, DVD+R oder DVD-RW) geschrieben werden kann. Bevor Sie ein Medium auswählen, müssen Sie sicherstellen, dass der Brenner und der DVD-Spieler (ein Einzelgerät oder ein DVD-ROM-Laufwerk eines Rechners) mit dem Medium umgehen können. Konfiguration Das Programm &man.growisofs.1; beschreibt DVDs. Das Kommando ist Teil der Anwendung dvd+rw-tools (sysutils/dvd+rw-tools). dvd+rw-tools kann mit allen DVD-Medien umgehen. Um die Geräte anzusprechen, brauchen die Werkzeuge das SCSI-Subsystem. Daher muss der Kernel den ATAPI/CAM-Treiber zur Verfügung stellen. Der Treiber ist mit USB-Brennern nutzlos; die Konfiguration von USB-Geräten behandelt . Für ATAPI-Geräte müssen Sie ebenfalls DMA-Zugriffe aktivieren. Fügen Sie dazu die nachstehende Zeile in die Datei /boot/loader.conf ein: hw.ata.atapi_dma="1" Bevor Sie dvd+rw-tools mit Ihrem DVD-Brenner benutzen, lesen Sie bitte die Hardware-Informationen auf der Seite dvd+rw-tools' hardware compatibility notes. Wenn Sie eine grafische Oberfläche bevorzugen, schauen Sie sich bitte den Port sysutils/k3b an. Der Port bietet eine leicht zu bedienende Schnittstelle zu &man.growisofs.1; und vielen anderen Werkzeugen. Daten-DVDs brennen &man.growisofs.1; erstellt mit dem Programm mkisofs das Dateisystem und brennt anschließend die DVD. Vor dem Brennen brauchen Sie daher kein Abbild der Daten zu erstellen. Wenn Sie von den Daten im Verzeichnis /path/to/data eine DVD+R oder eine DVD-R brennen wollen, benutzen Sie das nachstehende Kommando: &prompt.root; growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data Die Optionen werden an &man.mkisofs.8; durchgereicht und dienen zum Erstellen des Dateisystems (hier: ein ISO-9660-Dateisystem mit Joliet- und Rock-Ridge-Erweiterungen). Weiteres entnehmen Sie bitte der Hilfeseite &man.mkisofs.8;. Die Option wird für die erste Aufnahme einer Session benötigt, egal ob Sie eine Multi-Session-DVD brennen oder nicht. Für /dev/cd0 müssen Sie den Gerätenamen Ihres Brenners einsetzen. Die Option schließt das Medium, weitere Daten können danach nicht mehr angehängt werden. Durch die Angabe dieser Option kann das Medium von mehr DVD-ROM-Laufwerken gelesen werden. Sie können auch ein vorher erstelltes Abbild der Daten brennen. Die nachstehende Kommandozeile brennt das Abbild in der Datei imagefile.iso: &prompt.root; growisofs -dvd-compat -Z /dev/cd0=imagefile.iso Die Schreibgeschwindigkeit hängt von den verwendeten Medium sowie dem verwendeten Gerät ab und sollte automatisch gesetzt werden. Falls Sie die Schreibgeschwindigkeit vorgeben möchten, verwenden Sie den Parameter . Weiteres erfahren Sie in der Hilfeseite &man.growisofs.1;. DVD DVD-Video DVD-Videos brennen Ein DVD-Video ist eine spezielle Anordnung von Dateien, die auf den ISO-9660 und den micro-UDF (M-UDF) Spezifikationen beruht. Ein DVD-Video ist auf eine bestimmte Datei-Hierarchie angewiesen. Daher müssen Sie DVDs mit speziellen Programmen wie multimedia/dvdauthor erstellen. Wenn Sie schon ein Abbild des Dateisystems eines DVD-Videos haben, brennen Sie das Abbild wie jedes andere auch. Eine passende Kommandozeile finden Sie im vorigen Abschnitt. Wenn Sie die DVD im Verzeichnis /path/to/video zusammengestellt haben, erstellen Sie das DVD-Video mit dem nachstehenden Kommando: &prompt.root; growisofs -Z /dev/cd0 -dvd-video /path/to/video Die Option wird an &man.mkisofs.8; weitergereicht. Dadurch erstellt &man.mkisofs.8; die Datei-Hierarchie für ein DVD-Video. Weiterhin bewirkt die Angabe von , dass &man.growisofs.1; mit der Option aufgerufen wird. DVD DVD+RW DVD+RW-Medien benutzen Im Gegensatz zu CD-RW-Medien müssen Sie DVD+RW-Medien erst formatieren, bevor Sie die Medien benutzen. Sie sollten &man.growisofs.1; einzetzen, da das Programm Medien automatisch formatiert, wenn es erforderlich ist. Sie können eine DVD+RW aber auch mit dem Kommando dvd+rw-format formatieren: &prompt.root; dvd+rw-format /dev/cd0 Sie müssen das Kommando nur einmal mit neuen Medien laufen lassen. Anschließend können Sie DVD+RWs, wie in den vorigen Abschnitten beschrieben, brennen. Wenn Sie auf einer DVD+RW ein neues Dateisystem erstellen wollen, brauchen Sie die DVD+RW vorher nicht zu löschen. Überschreiben Sie einfach das vorige Dateisystem indem Sie eine neue Session anlegen: &prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/newdata Mit dem DVD+RW-Format ist es leicht, Daten an eine vorherige Aufnahme anzuhängen. Dazu wird eine neue Session mit der schon bestehenden zusammengeführt. Es wird keine Multi-Session geschrieben, sondern &man.growisofs.1; vergrößert das ISO-9660-Dateisystem auf dem Medium. Das folgende Kommando fügt weitere Daten zu einer vorher erstellten DVD+RW hinzu: &prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdata Wenn Sie eine DVD+RW erweitern, verwenden Sie dieselben &man.mkisofs.8;-Optionen wie beim Erstellen der DVD+RW. Um die Kompatibilität mit DVD-ROM-Laufwerken zu gewährleisten, wollen Sie vielleicht die Option einsetzen. Zu einem DVD+RW-Medium können Sie mit dieser Option auch weiterhin Daten hinzufügen. Wenn Sie das Medium aus irgendwelchen Gründen doch löschen müssen, verwenden Sie den nachstehenden Befehl: &prompt.root; growisofs -Z /dev/cd0=/dev/zero DVD DVD-RW DVD-RW-Medien benutzen Eine DVD-RW kann mit zwei Methoden beschrieben werden: Sequential-Recording oder Restricted-Overwrite. Voreingestellt ist Sequential-Recording. Eine neue DVD-RW kann direkt beschrieben werden; sie muss nicht vorher formatiert werden. Allerdings muss eine DVD-RW, die mit Sequential-Recording aufgenommen wurde, zuerst gelöscht werden, bevor eine neue Session aufgenommen werden kann. Der folgende Befehl löscht eine DVD-RW im Sequential-Recording-Modus: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Das vollständige Löschen () dauert mit einem 1x Medium ungefähr eine Stunde. Wenn die DVD-RW im Disk-At-Once-Modus (DAO) aufgenommen wurde, kann Sie mit der Option schneller gelöscht werden. Um eine DVD-RW im DAO-Modus zu brennen, benutzen Sie das folgende Kommando: &prompt.root; growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso Die Option sollte nicht erforderlich sein, da &man.growisofs.1; den DAO-Modus erkennt. Der Restricted-Overwrite-Modus sollte mit jeder DVD-RW verwendet werden, da er flexibler als der voreingestellte Sequential-Recording-Modus ist. Um Daten auf eine DVD-RW im Sequential-Recording-Modus zu schreiben, benutzen Sie dasselbe Kommando wie für die anderen DVD-Formate: &prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/data Wenn Sie weitere Daten zu einer Aufnahme hinzufügen wollen, benutzen Sie die Option von &man.growisofs.1;. Werden die Daten im Sequential-Recording-Modus hinzugefügt, wird eine neue Session erstellt. Das Ergebnis ist ein Multi-Session-Medium. Eine DVD-RW im Restricted-Overwrite-Modus muss nicht gelöscht werden, um eine neue Session aufzunehmen. Sie können das Medium einfach mit der Option überschreiben, ähnlich wie bei DVD+RW. Mit der Option können Sie das ISO-9660-Dateisystem, wie mit einer DVD+RW, vergrößern. Die DVD enthält danach eine Session. Benutzen sie das nachstehende Kommando, um den Restricted-Overwrite-Modus einzustellen: &prompt.root; dvd+rw-format /dev/cd0 Das folgende Kommando stellt den Modus wieder auf Sequential-Recording zurück: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Multi-Session Nur wenige DVD-ROM-Laufwerke können Multi-Session-DVDs lesen. Meist lesen die Spieler nur die erste Session. Mehrere Sessions werden von DVD+R, DVD-R und DVD-RW im Sequential-Recording-Modus unterstützt. Im Modus Restricted-Overwrite gibt es nur eine Session. Wenn das Medium noch nicht geschlossen ist, erstellt das nachstehende Kommando eine neue Session auf einer DVD+R, DVD-R oder DVD-RW im Sequential-Recording-Modus: &prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdata Wird diese Kommandozeile mit DVD+RW- oder DVD-RW-Medien im Restricted-Overwrite-Modus benutzt, werden die neuen Daten mit den Daten der bestehenden Session zusammengeführt. Das Medium enthält danach eine Session. Auf diesem Weg werden neue Daten zu einer bestehenden Session hinzugefügt. Für den Anfang und das Ende einer Session wird auf dem Medium zusätzlicher Platz verbraucht. Um den Speicherplatz auf dem Medium optimal auszunutzen, sollten Sie daher Sessions mit vielen Daten hinzufügen. Auf ein DVD+R-Medium passen maximal 154 Sessions, 2000 Sessions auf ein DVD-R-Medium und 127 Sessions auf eine DVD+R Double Layer. Weiterführendes Das Kommando dvd+rw-mediainfo /dev/cd0 zeigt Informationen über eine im Laufwerk liegende DVD an. Weiteres zu den dvd+rw-tools lesen Sie bitte in der Hilfeseite &man.growisofs.1;, auf der dvd+rw-tools Web-Seite oder in den Archiven der cdwrite-Mailingliste. DVD-RAM DVD DVD-RAM Konfiguration DVD-RAM-fähige Brenner werden sowohl mit SCSI- als auch mit ATAPI-Schnittstelle angeboten. Verwenden Sie ein ATAPI-Gerät, müssen Sie den DMA-Modus aktivieren. Dazu fügen Sie die folgende Zeile in /boot/loader.conf ein: hw.ata.atapi_dma="1" Das Medium vorbereiten Wie weiter oben in diesem Kapitel bereits erwähnt, kann man eine DVD-RAM mit einer Wechselplatte vergleichen. Wie diese muss auch eine DVD-RAM vor dem ersten Einsatz vorbereitet werden. In unserem Beispiel wird das gesamte Medium mit dem Standard-UFS2-Dateisystem formatiert. Dazu geben Sie als root bei eingelegter DVD-RAM die folgenden Befehle ein: &prompt.root; dd if=/dev/zero of=/dev/acd0 bs=2k count=1 &prompt.root; bsdlabel -Bw acd0 &prompt.root; newfs /dev/acd0 Denken Sie dabei daran, dass Sie gegebenenfalls die Gerätedatei (hier acd0) an Ihre Konfiguration anpassen müssen. Das Medium einsetzen Nachdem Sie das Medium vorbereitet haben, können Sie das DVD-RAM-Medium in Ihren Verzeichnisbaum einhängen: &prompt.root; mount /dev/acd0 /mnt Danach können Sie schreibend und lesend auf das Medium zugreifen. Julio Merino Original von Martin Karlsson Umgeschrieben von Disketten benutzen Disketten sind nützlich, wenn kein anderes bewegliches Speichermedium vorhanden ist oder wenn nur kleine Datenmengen transferiert werden sollen. Dieser Abschnitt beschreibt die Handhabung von Disketten unter FreeBSD. Hauptsächlich geht es um die Formatierung und Benutzung von 3,5 Zoll Disketten, doch lassen sich die Konzepte leicht auf Disketten anderer Formate übertragen. Disketten formatieren Die Gerätedateien Wie auf jedes andere Gerät auch, greifen Sie auf Disketten über Einträge im Verzeichnis /dev zu. Verwenden Sie dazu die Einträge /dev/fdN. Formatierung Bevor eine Diskette benutzt werden kann, muss Sie (low-level) formatiert werden, was normalerweise der Hersteller schon gemacht hat. Sie können die Diskette allerdings noch einmal formatieren, um das Medium zu überprüfen. Es ist möglich, die Kapazität der Diskette zu verändern, allerdings sind die meisten Disketten auf 1440 kB ausgelegt. Mit &man.fdformat.1; formatieren Sie eine Diskette. Das Kommando erwartet die Angabe eines Gerätenamens. Achten Sie bei der Formatierung auf Fehlermeldungen, die schlechte Speichermedien anzeigen. Disketten formatieren Die Disketten werden mithilfe der Gerätedatei /dev/fdN formatiert. Legen Sie eine 3,5 Zoll Diskette in Ihr Laufwerk ein und führen das folgende Kommando aus: &prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0 Das Disklabel Nach dem Formatieren muss auf der Diskette ein Disklabel erstellt werden. Das Disklabel wird später zerstört, ist aber notwendig, um die Größe und Geometrie der Diskette zu erkennen. Das Disklabel gilt für die ganze Diskette und enthält alle Informationen über die Geometrie der Diskette. Eine Liste der möglichen Geometrien finden Sie in /etc/disktab. Erstellen Sie nun das Label mit &man.bsdlabel.8;: &prompt.root; /sbin/bsdlabel -B -w /dev/fd0 fd1440 Das Dateisystem Auf der Diskette muss nun ein Dateisystem erstellt werden (high-level Formatierung), damit FreeBSD von der Diskette lesen und auf sie schreiben kann. Das Disklabel wird durch das Anlegen eines Dateisystems zerstört. Falls Sie die Diskette später erneut formatieren wollen, müssen Sie dann auch ein neues Disklabel anlegen. Sie können entweder UFS oder FAT als Dateisystem verwenden. Für Floppies ist FAT das beste Dateisystem. Das folgende Kommando legt ein Dateisystem auf der Diskette an: &prompt.root; /sbin/newfs_msdos /dev/fd0 Die Diskette kann nun benutzt werden. Verwenden der Diskette Zum Einhägen der Diskette in das Dateisystem verwenden Sie den Befehl &man.mount.msdosfs.8;. Sie können auch den Port emulators/mtools verwenden, um mit der Diskette zu arbeiten. Bandmedien benutzen Bandmedien Die wichtigsten Bandmedien sind 4mm, 8mm, QIC, Mini-Cartridge und DLT. 4mm (DDS: Digital Data Storage) Bandmedien DDS (4mm) Bänder Bandmedien QIC Bänder Die 4mm-Bänder ersetzen mehr und mehr das QIC-Format als Backupmedium der Wahl für Workstations. Dieser Trend nahm stark zu, als Conner die Firma Archive, einen führenden Hersteller von QIC-Laufwerken, aufkaufte und die Produktion von QIC-Laufwerken stoppte. 4mm-Laufwerke sind klein und ruhig, haben aber nicht den gleichen Ruf der Zuverlässigkeit, den die 8mm-Laufwerke genießen. Die 4mm-Kassetten sind preiswerter und mit den Maßen 76,2 x 50,8 x 12,7 mm (3 x 2 x 0,5 Inch) kleiner als die 8mm-Kassetten. Sowohl die 4mm- als auch die 8mm-Magnetköpfe haben eine relativ kurze Lebensdauer, weil beide die gleiche Helical-Scan-Technik benutzen. Der Datendurchsatz dieser Laufwerke beginnt bei etwa 150 kByte/s, Spitzenwerte liegen bei etwa 500 kByte/s. Die Datenkapazität liegt zwischen 1,3 GB und 2 GB. Die meisten Geräte haben eine Hardwarekompression eingebaut, die die Kapazität ungefähr verdoppelt. Es gibt Multi-Drive-Einheiten für Bandbibliotheken mit bis zu 6 Laufwerken in einem Gehäuse und automatischem Bandwechsel. Die Kapazität einer solchen Bibliothek liegt bei 240 GB. Der Standard DDS-3 unterstützt nun Bandkapazitäten bis zu 12 GB (oder komprimiert 24 GB). 4mm-Laufwerke, ebenso wie 8mm-Laufwerke, verwenden Helical-Scan. Alle Vor- und Nachteile von Helical-Scan gelten sowohl für 4mm- als auch für 8mm-Laufwerke. Bänder sollten nach 2.000 Banddurchläufen oder 100 vollen Backups ersetzt werden. 8mm (Exabyte) Bandmedien Exabyte (8mm) Bänder 8mm-Bänder sind die verbreitetsten SCSI-Bandlaufwerke; sie sind das geeignetste Bandformat zum Austausch von Bändern. Fast an jedem Standort gibt es ein 8mm-Bandlaufwerk mit 2 GB. 8mm-Bänder sind zuverlässig, gut zu handhaben und arbeiten leise. Bandkassetten sind preiswert und klein mit 122 x 84 x 15 mm (4,8 x 3,3 x 0,6 Inch). Ein Nachteil der 8mm-Technik ist die relativ kurze Lebensdauer des Schreib-/Lesekopfs und der Bänder auf Grund der hohen Relativgeschwindigkeit des Bandes über die Köpfe hinweg. Der Datendurchsatz liegt ungefähr zwischen 250 kByte/s und 500 kByte/s. Die Datenkapazität beginnt bei 300 MB und erreicht bis zu 7 GB bei den Spitzengeräten. Die meisten Geräte haben eine Hardwarekompression eingebaut, die die Kapazität ungefähr verdoppelt. Diese Laufwerke sind erhältlich in Form von Einzelgeräten oder als Multi-Drive-Bandbibliotheken mit 6 Laufwerken und 120 Bändern in einem Gehäuse. Die Bänder werden von der Geräteeinheit automatisch gewechselt. Die Kapazität einer solchen Bibliothek liegt bei 840 GB und mehr. Das Exabyte-Modell Mammoth unterstützt 12 GB auf einem Band (24 GB mit Kompression) und kostet etwa doppelt so viel wie ein konventionelles Bandlaufwerk. Die Daten werden mittels Helical-Scan auf das Band aufgezeichnet, die Köpfe sind leicht schräg zum Medium angebracht (mit einem Winkel von etwa 6 Grad). Das Band wickelt sich 270 Grad um die Spule, die die Köpfe trägt. Die Spule dreht sich, während das Band darüberläuft. Das Resultat ist eine hohe Datendichte und eng gepackte Spuren, die von einem Rand des Bands zum gegenüberliegenden quer über das Band abgewinkelt verlaufen. QIC Bandmedien QIC-150 QIC-150-Bänder und -Laufwerke sind wohl der am weitesten verbreitete Bandtyp überhaupt. QIC-Bandlaufwerke sind die preiswertesten seriösen Backupgeräte, die angeboten werden. Der Nachteil dabei ist der hohe Preis der Bänder. QIC-Bänder sind im Vergleich zu 8mm- oder 4mm-Bändern bis zu fünf Mal teurer, wenn man den Preis auf 1 GB Datenkapazität umrechnet. Aber wenn Ihr Bedarf mit einem halben Dutzend Bänder abgedeckt werden kann, mag QIC die richtige Wahl sein. QIC ist der gängigste Bandlaufwerkstyp. Jeder Standort hat ein QIC-Laufwerk der einen oder anderen Dichte. Aber gerade das ist der Haken an der Sache, QIC bietet eine große Anzahl verschiedener Datendichten auf physikalisch ähnlichen (manchmal gleichen) Bändern. QIC-Laufwerke sind nicht leise. Diese Laufwerke suchen lautstark die richtige Bandstelle, bevor sie mit der Datenaufzeichnung beginnen. Sie sind während des Lesens, Schreibens und Suchens deutlich hörbar. Die Abmessungen der QIC-Kassetten betragen 152 x 102 x 17 mm (6 x 4 x 0,7 Inch). Der Datendurchsatz liegt ungefähr zwischen 150 kByte/s und 500 kByte/s. Die Datenkapazität reicht von 40 MB bis zu 15 GB. Hardwarekompression ist in vielen der neueren QIC-Laufwerke eingebaut. QIC-Laufwerke werden heute seltener eingesetzt; sie werden von den DAT-Laufwerken abgelöst. Die Daten werden auf dem Band in Spuren aufgezeichnet. Die Spuren verlaufen entlang der Längsachse des Bandmediums von einem Ende zum anderen. Die Anzahl der Spuren, und damit auch die Breite einer Spur, variiert mit der Kapazität des Laufwerks. Die meisten, wenn nicht alle neueren Laufwerke sind rückwärtskompatibel, zumindest zum Lesen (aber oft auch zum Schreiben). QIC hat einen guten Ruf bezüglich der Datensicherheit (die Mechanik ist einfacher und robuster als diejenige der Helical-Scan-Laufwerke). Bänder sollten nach 5,000 Backups ersetzt werden. DLT Bandmedien DLT DLT hat die schnellste Datentransferrate von allen hier aufgelisteten Gerätetypen. Das 1/2-Inch-Band (12,7 mm) befindet sich in einer Spulkassette mit den Abmessungen 101,6 x 101,6 x 25,4 mm (4 x 4 x 1 Inch). Die eine Seite der Kassette hat eine bewegliche Abdeckung. Der Laufwerksmechanismus öffnet diese Abdeckung und zieht die Bandführung heraus. Die Bandführung trägt ein ovales Loch, die das Laufwerk zum Einhängen des Bandes benutzt. Die Aufwickelspule befindet sich im Innern des Bandlaufwerks. Bei allen anderen hier besprochenen Bandkassetten (9-Spur-Bänder sind die einzige Ausnahme) befinden sich sowohl die Auf- als auch die Abwickelspule im Inneren der Bandkassette. Der Datendurchsatz liegt bei etwa 1,5 MBytes/s, der dreifache Durchsatz der 4mm-, 8mm- oder QIC-Bandlaufwerke. Die Datenkapazität reicht von 10 GB bis 20 GB für Einfachlaufwerke. Auch Mehrfachbandgeräte sind erhältlich, sowohl als Bandwechsler wie auch als Multi-Drive-Bandbibliotheken, die Platz für 5 bis 900 Bänder verteilt auf 1 bis 20 Laufwerke enthalten, mit einer Speicherkapazität von 50 GB bis 9 TB. Mit Kompression unterstützt das Format DLT Type IV bis zu 70 GB Kapazität. Die Daten werden auf dem Band in Spuren aufgezeichnet, die parallel zur Bewegungsrichtung verlaufen (gerade so wie bei den QIC-Bändern). Zwei Spuren werden dabei gleichzeitig beschrieben. Die Lebenszeit der Lese- und Schreibköpfe sind relativ lang; denn sobald das Band anhält, gibt es keine Relativbewegung mehr zwischen den Köpfen und dem Band. AIT Bandmedien AIT AIT ist ein neues Format von Sony, das (mit Kompression) bis zu 50 GB pro Band speichern kann. Die Bänder haben einen Speicherchip, der einen Index mit dem Inhalt des Bandes anlegt. Dieser Index kann vom Bandlaufwerk zur schnellen Bestimmung der Lage von Dateien auf dem Band benutzt werden, während andere Bänder einige Minuten zur Lokalisierung benötigen. Entsprechende Software wie etwa SAMS:Alexandria können 40 oder mehr AIT-Bandbibliotheken verarbeiten, indem sie direkt mit dem Speicherchip des Bandes kommunizieren, wenn der Bandinhalt am Bildschirm dargestellt werden soll oder bestimmt werden soll, welche Dateien auf welchem Band gespeichert sind, oder um das richtige Band zu lokalisieren, zu laden und Daten vom Band zurückzuspielen. Bibliotheken dieser Art liegen in der Preiskategorie von $20,000, womit sie etwas aus dem Hobbymarkt herausfallen. Die erste Benutzung eines neuen Bands Der Versuch ein neues, vollkommen leeres Band ohne weiteres zu lesen oder zu beschreiben wird schief gehen. Auf der Konsole werden dann Meldungen ähnlich wie folgt ausgegeben: sa0(ncr1:4:0): NOT READY asc:4,1 0(ncr1:4:0): Logical unit is in process of becoming ready Das Band enthält nämlich keinen Identifier-Block (Blocknummer 0). Alle QIC-Bandlaufwerke seit der Einführung des QIC-525-Standards schreiben einen Identifier-Block auf das Band. Es gibt zwei Lösungen: mt fsf 1 veranlasst das Bandlaufwerk einen Identifier-Block auf das Band zu schreiben. Das Band durch Drücken des Bandauswurfknopfs an der Vorderseite des Bandgeräts auswerfen. Danach das Band wieder einlegen und mit dump Daten auf das Band übertragen. Das Kommando dump gibt die Meldung DUMP: End of tape detected zurück und die Konsole zeigt: HARDWARE FAILURE info:280 asc:80,96. Das Band zurückspulen mit dem Kommando: mt rewind. Nachfolgende Bandoperationen werden dann erfolgreich ausgeführt. Was ist mit Backups auf Disketten? Kann ich Disketten zum Backup meiner Daten verwenden? Backup Disketten Disketten Disketten sind kein wirklich geeignetes Medium für Backups aus folgenden Gründen: Disketten sind unzuverlässig, besonders langfristig. Speichern und Wiederherstellen ist sehr langsam. Sie haben eine sehr eingeschränkte Kapazität (Die Zeiten sind längst vorbei, wo eine ganze Festplatte auf ein Dutzend Floppies oder so gespeichert werden konnte). Wenn jedoch keine andere Möglichkeit zum Datenbackup vorhanden ist, dann sind Disketten immer noch besser als gar kein Backup. Wenn man gezwungen ist Disketten zu verwenden, dann sollte man auf eine gute Qualität achten. Floppies, die schon einige Jahre im Büro herumgelegen haben, sind eine schlechte Wahl. Ideal sind neue Disketten von einem renommierten Hersteller. Wie mache ich ein Backup auf Disketten? Die beste Art eines Diskettenbackups ist der Befehl &man.tar.1; mit der Mehrfachband-Option , die es ermöglicht ein Backup über mehrere Floppies zu verteilen. Ein Backup aller Dateien im aktuellen Verzeichnis einschließlich aller Unterverzeichnisse wird durch den folgenden Befehl veranlasst (als root): &prompt.root; tar Mcvf /dev/fd0 * Wenn die erste Floppy voll ist, meldet sich &man.tar.1; und verlangt einen Diskettenwechsel (weil &man.tar.1; unabhängig vom Medium arbeitet, wird das nächste Band (Volume) verlangt, was in diesem Zusammenhang eine Diskette bedeutet), in etwa wie folgt: Prepare volume #2 for /dev/fd0 and hit return: Dies wird mit steigender Volumenzahl wiederholt, bis alle angegebenen Dateien archiviert sind. Können Diskettenbackups komprimiert werden? tar gzip Kompression Leider erlaubt es &man.tar.1; nicht, die Option für Multi-Volume-Archive zu verwenden. Man kann natürlich alle Dateien mit &man.gzip.1; komprimieren, sie mit &man.tar.1; auf die Floppies aufspielen, und dann die Dateien wieder &man.gunzip.1; entkomprimieren! Wie werden Diskettenbackups wieder hergestellt? Zur Wiederherstellung des gesamten Archivs verwendet man: &prompt.root; tar Mxvf /dev/fd0 Eine Methode um nur bestimmte Dateien wieder her zu stellen ist mit der ersten Diskette den folgenden Befehl auszuführen: &prompt.root; tar Mxvf /dev/fd0 filename &man.tar.1; wird dann die folgenden Disketten anfordern, bis die benötigte Datei gefunden ist. Wenn man die Diskette kennt, auf der sich die Datei befindet, kann man alternativ diese Diskette auch direkt einlegen und den gleichen Befehl wie oben verwenden. Man beachte, dass, falls die erste Datei eine Fortsetzung einer Datei von einer der vorigen Disketten ist, &man.tar.1; die Warnung ausgibt, dass diese Datei nicht wiederhergestellt werden kann, selbst dann, wenn dies gar nicht verlangt wurde! Lowell Gilbert Beigetragen von Backup-Strategien Wenn Sie eine eigene Backup-Strategie planen, müssen Sie darauf achten, dass jedes der folgenden Probleme von Ihrer Strategie abgedeckt wird: Plattendefekte. Versehentliches Löschen von Dateien. Eine nicht vorhersehbare Korrumpierung von Dateien. Die vollständige Zerstörung Ihres Systems, etwa durch ein Feuer. Dazu gehört auch die Zerstörung von Backups, die am gleichen Ort aufbewahrt werden. Es ist nicht nur möglich, dass ein System für jedes dieser Probleme eine eigene (oft völlig unterschiedliche) Strategie benötigt. Es ist vielmehr unwahrscheinlich (sieht man von Systemen ab, die keine wichtigen Daten enthalten), dass eine Technik alle Problembereiche abdecken kann. Häufig verwendeten Techniken sind unter anderen: Die Archivierung des kompletten Systems auf externen Datenträgern, die an einem gesonderten Ort aufbewahrt werden. Dieser Ansatz schützt zwar vor allen oben angeführten Problemen, ist aber zeitaufwändig. Auch eine Wiederherstellung des Systems ist nicht ohne weiteres möglich. Zwar können Sie Kopien Ihrer Backups auch vor Ort und/oder auf online zugängigen Systemen aufbewahren, was aber nichts daran ändert, dass eine Wiederherstellung, insbesondere für nicht privilegierte Benutzer, nach wie vor nicht ohne weiteres möglich ist. Dateisystem-Snapshots. Diese Technik hilft zwar nur gegen das versehentliche Löschen von Dateien, in einem solchen Fall ist sie aber äußerst hilfreich. Vorteile dieser Technik sind außerdem die leichte und schnelle Implementierung und Handhabung. Das Erstellen von Kopien ganzer Dateisysteme und/oder Platten (etwa durch einen periodischen &man.rsync.1;-Transfer des kompletten Systems). Diese Technik ist insbesondere in Netzwerken mit besonderen Anforderungen nützlich. Der Schutz vor Plattendefekten ist allerdings schlechter als beim Einsatz von RAID. Die Fähigkeiten zur Wiederherstellung gelöschter Dateien sind mit denen von UFS-Snapshots vergleichbar. Ob diese Technik für Sie geeignet ist, hängt also letztlich von Ihren Anforderungen ab. RAID. Minimiert oder vermeidet Ausfallzeiten, die durch einen Plattendefekt verursacht werden könnten. Zwar können Plattendefekte (aufgrund der höheren Anzahl verwendeter Platten) häufiger auftreten, sie stellen aber dann kein so akutes Problem dar. Das Überprüfen von Datei-Fingerprints durch &man.mtree.8;. Dabei handelt es sich zwar um keine Backup-Technik im eigentlichen Sinne, Sie werden durch den Einsatz dieser Werkzeugs aber informiert, dass Sie auf Ihre Backups zurückgreifen müssen. Dies ist insbesondere beim Einsatz von Offline-Backups von großer Bedeutung. Daher sollte diese Technik regelmäßig eingesetzt werden. Es gibt noch zahlreiche weitere Techniken, von denen aber viele nur Variationen der eben beschriebenen Techniken sind. Spezielle Anforderungen erfordern dabei in der Regel auch spezielle Backup-Techniken (so erfordert das Backup einer aktiven Datenbank in der Regel ein auf die eingesetzte Datenbank-Software abgestimmtes Verfahren). Entscheidend ist daher immer, gegen welche Gefahren Sie sich schützen und wie Sie diesen Schutz realisieren wollen. Datensicherung Die drei wichtigsten Programme zur Sicherung von Daten sind &man.dump.8;, &man.tar.1; und &man.cpio.1;. Sichern und Wiederherstellen Datensicherung Backup Backup-Software dump Backup-Software restore dump restore dump und restore sind die - traditionellen - Backupprogramme in &unix; Systemen. Sie betrachten das Laufwerk als eine - Ansammlung von Blöcken, operieren also unterhalb dem - Abstraktionslevel von Dateien, Links und Verzeichnissen, die die - Grundlage des Dateisystemkonzepts bilden. dump - sichert ein ganzes Dateisystem auf einem Gerät, es ist nicht - möglich nur einen Teil des Dateisystems, oder einen - Verzeichnisbaum, der mehr als ein Dateisystem umfasst zu - sichern. dump schreibt keine Dateien oder - Verzeichnisse auf das Band, sondern die Blöcke, aus denen - Dateien und Verzeichnisse bestehen. + traditionellen Backupprogramme in &unix; Systemen. Sie betrachten das + Laufwerk als eine Ansammlung von Blöcken, operieren also unterhalb + des Abstraktionslevels von Dateien, Links und Verzeichnissen, die die + Grundlage des Dateisystemkonzepts bilden. Im Gegensatz zu anderen + Backupprogrammen sichert dump ein ganzes Dateisystem + auf einem Gerät. Es ist nicht möglich nur einen Teil des + Dateisystems, oder einen Verzeichnisbaum, der mehr als ein Dateisystem + umfasst, zu sichern. Das dump-Kommando schreibt + keine Dateien oder Verzeichnise auf das Band, sondern die Blöcke, + aus denen Dateien und Verzeichnisse bestehen. Wenn + restore für das Extrahieren von Daten verwendet + wird, werden temporäre Dateien standardmässig in + /tmp/ abgelegt - wenn Sie von einer Platte mit + einem kleinen /tmp-Verzeichnis zurücksichern, + müssen Sie möglicherweise die Umgebungsvariable + TMPDIR auf ein Verzeichnis mit mehr freiem Speicherplatz + setzen, damit die Wiederherstellung gelingt. Wenn Sie mit dump das Root-Verzeichnis sichern, werden /home, /usr und viele andere Verzeichnisse nicht gesichert, da dies normalerweise Mountpunkte für andere Dateisysteme oder symbolische Links zu diesen Dateisystemen sind. dump hat einige Eigenarten, die noch aus den frühen Tagen der Version 6 von AT&T UNIX (ca. 1975) stammen. Die Parameter sind für 9-Spur-Bänder (6250 bpi) voreingestellt, nicht auf die heute üblichen Medien hoher Dichte (bis zu 62.182 ftpi). Bei der Verwendung der Kapazitäten moderner Bandlaufwerke muss diese Voreinstellung auf der Kommandozeile überschrieben werden. .rhosts rdump und rrestore können Daten über Netzwerk auf ein Band, das sich in einem Laufwerk eines anderen Computers befindet, überspielen. Beide Programme benutzen die Funktionen &man.rcmd.3; und &man.ruserok.3; zum Zugriff auf das entfernte Bandlaufwerk. Daher muss der Anwender, der das Backup durchführt, auf dem entfernten Rechner in .rhosts eingetragen sein. Die Argumente zu rdump und rrestore müssen zur Verwendung auf dem entfernten Computer geeignet sein. Wenn Sie zum Beispiel mit rdump von einem FreeBSD-Rechner aus auf ein Exabyte-Bandlaufwerk einer Sun mit Namen komodo zugreifen möchten, setzen Sie das folgende Kommando ab: &prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1 Zum Ausführen dieses Kommandos müssen Sie auf dem entfernten Rechner in .rhosts eingetragen sein. Die r-Kommandos sind ein großes Sicherheitsrisiko, daher sollten Sie deren Verwendung sorgfältig abwägen. Es ist auch möglich, dump und restore über eine gesicherte Verbindung mit ssh einzusetzen: <command>dump</command> mit <application>ssh</application> benutzen &prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz Sie können ebenfalls mit der internen Methode von dump auf entfernte Rechner zugreifen, indem Sie die Umgebungsvariable RSH setzen: <command>dump</command> über <application>ssh</application> mit gesetzter <envar>RSH</envar> benutzen &prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f tatargetuser@targetmachine.example.com:/dev/sa0 /usr <command>tar</command> Backup-Software tar &man.tar.1; stammt ebenfalls aus Version 6 von AT&T UNIX (ca. 1975). tar arbeitet mit dem Dateisystem, denn es schreibt Dateien und Verzeichnisse auf das Band. tar unterstützt zwar nicht alle Optionen, die bei &man.cpio.1; zur Verfügung stehen, aber dafür erfordert es auch nicht die ungewöhnliche Kommando-Pipeline, die von cpio verwendet wird. tar Seit FreeBSD 5.3 sind sowohl GNU tar als auch bsdtar verfügbar. Die GNU-Version starten Sie über gtar. Sie unterstützt auch entfernte Geräte, wobei die von rdump benutzte Syntax übernommen wurde. Um Daten mit tar auf ein an einer Sun-Workstation (namens komodo) angeschlossenes Exabyte-Bandlaufwerk zu archivieren, geben Sie Folgendes ein: &prompt.root; /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1 Alternativ können Sie für diese Sicherung auch bsdtar verwenden, indem Sie die Daten über eine Pipeline und rsh an das entfernte Laufwerk senden: &prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20b Wenn Sie Bedenken bezüglich der Sicherheit beim Backup über das Netz haben, sollten Sie ssh anstatt rsh benutzen. Cpio Backup-Software cpio cpio &man.cpio.1; ist das ursprüngliche Programm von &unix; Systemen zum Dateitransfer mit magnetischen Medien. cpio hat (neben vielen anderen Leistungsmerkmalen) Optionen zum Byte-Swapping, zum Schreiben einer Anzahl verschiedener Archivformate und zum Weiterleiten von Daten an andere Programme über eine Pipeline. Dieses letzte Leistungsmerkmal macht cpio zu einer ausgezeichneten Wahl für Installationsmedien. Leider kann cpio keine Dateibäume durchlaufen, so dass eine Liste der zu bearbeitenden Dateien über stdin angegeben werden muss. cpio unterstützt keine Backups über das Netzwerk. Man kann aber eine Pipeline und rsh verwenden, um Daten an ein entferntes Bandlaufwerk zu senden. &prompt.root; for f in directory_list; do find $f >> backup.list done &prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device" Dabei steht directory_list für eine Aufzählung der Verzeichnisse, die Sie sichern wollen. user@host gibt den Benutzer auf dem Zielrechner an, der die Sicherung laufen lässt. Der Ort der Sicherung wird durch backup_device angegeben (z.B. /dev/nsa0). <command>pax</command> Backup-Software pax pax POSIX IEEE &man.pax.1; ist die Antwort von IEEE/&posix; auf tar und cpio. Über die Jahre hinweg sind die verschiedenen Versionen von tar und cpio leicht inkompatibel geworden. Daher hat &posix;, statt eine Standardisierung zwischen diesen auszufechten, ein neues Archivprogramm geschaffen. pax versucht viele der unterschiedlichen cpio- und tar-Formate zu lesen und zu schreiben, außerdem einige neue, eigene Formate. Die Kommandostruktur ähnelt eher cpio als tar. <application>Amanda</application> Backup-Software Amanda Amanda Amanda (Advanced Maryland Network Disk Archiver) ist ein Client/Server-Backupsystem, nicht nur ein einzelnes Programm. Ein Amanda-Server kann auf einem einzigen Bandlaufwerk Datensicherungen von jeder beliebigen Anzahl von Computern speichern, sofern auf diesen jeweils ein Amanda-Client läuft und sie über Netzwerk mit dem Amanda-Server verbunden sind. Ein häufiges Problem bei Standorten mit einer Anzahl großer Festplatten ist, dass das Kopieren der Daten auf Band langsamer vor sich geht als solche Daten anfallen. Amanda löst dieses Problem durch Verwendung einer Holding Disk, einer Festplatte zum gleichzeitigen Zwischenspeichern mehrerer Dateisysteme. Für Datensicherungen über einen längeren Zeitraum erzeugt Amanda Archivsets von allen Dateisystemen, die in Amandas Konfigurationsdatei genannt werden. Ein Archivset ist eine Gruppe von Bändern mit vollen Backups und Reihen von inkrementellen (oder differentiellen) Backups, die jeweils nur die Unterschiede zum vorigen Backup enthalten. Zur Wiederherstellung von beschädigten Dateisystemen benötigt man Das Letzte volle Backup und alle darauf folgenden inkrementellen Backups. Die Konfigurationsdatei ermöglicht die Feineinstellung der Backups und des Netzwerkverkehrs von Amanda. Amanda kann zum Schreiben der Daten auf das Band jedes der oben beschriebenen Backuprogramme verwenden. Amanda ist nicht Teil des Basissystems, Sie müssen Amanda über die Ports-Sammlung oder als Paket installieren. Tue nichts Tue nichts ist kein Computerprogramm, sondern die am häufigsten angewendete Backupstrategie. Diese kostet nichts, man muss keinen Backupplan befolgen, einfach nur nein sagen. Wenn etwas passiert, einfach grinsen und ertragen! Wenn Ihre Zeit und Ihre Daten nicht so wichtig sind, dann ist die Strategie Tue nichts das geeignetste Backupprogramm für Ihren Computer. Aber &unix; ist ein nützliches Werkzeug, Sie müssen damit rechnen, dass Sie innerhalb von sechs Monaten eine Sammlung von Dateien haben, die für Sie wertvoll geworden sind. Tue nichts ist die richtige Backupmethode für /usr/obj und andere Verzeichnisbäume, die vom Computer exakt wiedererzeugt werden können. Ein Beispiel sind die Dateien, die diese Handbuchseiten darstellen – sie wurden aus Quelldateien im Format SGML erzeugt. Es ist nicht nötig, Sicherheitskopien der Dateien in den sekundären Formaten wie etwa HTML zu erstellen. Die Quelldateien in SGML sollten jedoch in die regelmäßigen Backups mit einbezogen werden. Welches Backup-Programm ist am Besten? LISA dump, Punkt und Schluss. Elizabeth D. Zwicky hat alle hier genannten Backup-Programme bis zur Erschöpfung ausgetestet. Ihre eindeutige Wahl zur Sicherung aller Daten mit Berücksichtigung aller Besonderheiten von &unix; Dateisystemen ist dump. Elizabeth erzeugte Dateisysteme mit einer großen Vielfalt ungewöhnlicher Bedingungen (und einiger gar nicht so ungewöhnlicher) und testete jedes Programm durch ein Backup und eine Wiederherstellung dieser Dateisysteme. Unter den Besonderheiten waren Dateien mit Löchern, Dateien mit Löchern und einem Block mit Null-Zeichen, Dateien mit ausgefallenen Buchstaben im Dateinamen, unlesbare und nichtschreibbare Dateien, Gerätedateien, Dateien, deren Länge sich während des Backups ändert, Dateien, die während des Backups erzeugt und gelöscht werden, u.v.m. Sie berichtete über ihre Ergebnisse in LISA V im Oktober 1991, s. Torture-testing Backup and Archive Programs. Die Wiederherstellung in einem Notfall Vor dem Unglück Es sind nur vier Vorkehrungen zu treffen, um auf jedes erdenkliche Unglück vorbereitet zu sein. bsdlabel Als erstes drucken Sie das bsdlabel jeder Ihrer Festplatten (z.B. mittels bsdlabel da0 | lpr), die Partitions- und Dateisystemtabelle jeder Festplatte (mit /etc/fstab) sowie alle Bootmeldungen, jeweils in zweifacher Ausfertigung. fix-it floppies Zweitens, überzeugen Sie sich, dass sowohl die Bootdiskette als auch die Reparaturdiskette (boot.flp bzw. fixit.flp) all Ihre Geräte ansprechen können. Die einfachste Methode dies nachzuprüfen ist, Ihren Rechner mit der Boot-Diskette im Floppylaufwerk neu zu starten und die Bootmeldungen zu durchzusehen. Wenn all Ihre Geräte aufgelistet sind und funktionieren, können Sie weiter zu Schritt drei gehen. Ist das nicht der Fall, müssen Sie sich eine eigene Version der beiden zum Booten benötigten Disketten erstellen. Diese müssen einen Kernel enthalten, der all Ihre Platten mounten kann und Zugriff auf Ihr Bandlaufwerk gestattet. Diese Disketten müssen ferner folgende Programme enthalten: fdisk, bsdlabel, newfs, mount sowie jedes Backup-Programm, das Sie verwenden. Diese Programme müssen statisch gelinkt sein. Falls Sie dump verwenden, muss die Diskette auch restore enthalten. Drittens, machen Sie oft Backups auf Band. Jede Änderung seit Ihrem letzten Backup kann unwiederbringlich verloren gehen. Versehen Sie die Backup-Bänder mit Schreibschutz. Viertens, testen Sie aus, wie die Disketten (entweder boot.flp und fixit.flp oder Ihre beiden eigenen Disketten aus Schritt zwei) und die Bänder mit den Backups zu behandeln sind. Machen Sie sich Notizen zu diesem Test. Bewahren Sie diese Notizen zusammen mit den Bootdisketten, den Ausdrucken und den Bändern mit den Backups auf. Wenn der Ernstfall eintritt, werden Sie vielleicht so genervt sein, dass Sie ohne Ihre Notizen vielleicht das Backup auf Ihren Bändern zerstören. (Wie das geht? Man braucht nur unglücklicherweise den Befehl tar cvf /dev/sa0 einzugeben um ein Band zu überschreiben). Als zusätzliche Sicherheitsvorkehrung, kann man jeweils die Disketten und Bänder zweifach erstellen. Eine der Kopien sollte an einem entfernten Standort aufbewahrt werden. Ein entfernter Standort ist NICHT der Keller im gleichen Bürogebäude. Eine Anzahl von Firmen im World Trade Center musste diese Lektion auf die harte Tour lernen. Ein entfernter Standort sollte von Ihrem Computer und Ihren Festplatten physikalisch durch eine erhebliche Entfernung getrennt sein. Ein Beispielskript zum Erstellen eigener Bootdisketten /mnt/sbin/init gzip -c -best /sbin/fsck > /mnt/sbin/fsck gzip -c -best /sbin/mount > /mnt/sbin/mount gzip -c -best /sbin/halt > /mnt/sbin/halt gzip -c -best /sbin/restore > /mnt/sbin/restore gzip -c -best /bin/sh > /mnt/bin/sh gzip -c -best /bin/sync > /mnt/bin/sync cp /root/.profile /mnt/root chmod 500 /mnt/sbin/init chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt chmod 555 /mnt/bin/sh /mnt/bin/sync chmod 6555 /mnt/sbin/restore # # Minimale Dateisystemtabelle erstellen # cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd < Nach dem Unglück Die Schlüsselfrage ist, ob Ihre Hardware überlebt hat. Denn da Sie ja regelmäßig Backups angefertigt haben, brauchen Sie sich um die Software keine Sorgen zu machen. Falls die Hardware beschädigt wurde, ersetzen Sie zuerst die defekten Teile bevor Sie den Computer benutzen. Falls die Hardware funktioniert, überprüfen Sie die Disketten. Wenn Sie eigene Bootdisketten verwenden, booten Sie im Single-User-Modus (geben dazu Sie -s am Boot-Prompt boot: ein). Überspringen Sie den folgenden Paragrafen. Wenn Sie die Standarddisketten boot.flp und fixit.flp verwenden, lesen Sie hier weiter. Legen Sie die Bootdiskette boot.flp in das erste Floppylaufwerk ein und starten Sie den Computer. Wie üblich wird dann das originale Installationsmenü von FreeBSD gestartet. Wählen Sie die Option Fixit--Repair mode with CD-ROM or floppy. Legen Sie die Diskette fixit.flp ein, wenn danach gefragt wird. restore und die anderen Programme, die Sie benötigen, befinden sich dann in /mnt2/rescue (/mnt2/stand vor &os; 5.2). Stellen Sie die Dateisysteme nacheinander, getrennt von einander, wieder her. mount Root-Partition bsdlabel newfs Versuchen Sie die Root-Partition Ihrer ersten Festplatte einzuhängen (z.B. mit mount /dev/sd0a /mnt). Wenn das Bsdlabel beschädigt wurde, benutzen Sie bsdlabel um die Platte neu zu partitionieren und zu benennen und zwar so, dass die Festplatte mit dem Label übereinstimmt, das Sie ausgedruckt und aufbewahrt haben. Verwenden Sie newfs um neue Dateisysteme auf den Partitionen anzulegen. Hängen Sie nun die Root-Partition der Festplatte mit Schreibzugriff ein (mit mount -u -o rw /mnt). Benutzen Sie Ihr Backup-Programm um die Daten für das jeweilige Dateisystem aus den Backup-Bändern wieder her zu stellen (z.B. durch restore vrf /dev/sta). Hängen Sie das Dateisystem wieder aus (z.B. durch umount /mnt). Wiederholen Sie diesen Ablauf für jedes betroffene Dateisystem. Sobald Ihr System wieder läuft, machen Sie gleich wieder ein vollständiges Backup auf neue Bänder. Denn die Ursache für den Absturz oder den Datenverlust kann wieder zuschlagen. Eine weitere Stunde, die Sie jetzt noch dranhängen, kann Ihnen später ein weiteres Missgeschick ersparen. * Ich habe mich nicht auf Missgeschicke vorbereitet - was nun? ]]> Marc Fonvieille Verbessert und neu strukturiert von Netzwerk-, speicher- und dateibasierte Dateisysteme Laufwerke virtuelle Neben Laufwerken, die sich physikalisch im Rechner befinden wie Floppylaufwerke, CDs, Festplatten usw., kann FreeBSD auch mit anderen Laufwerken, den virtuellen Laufwerken, umgehen. NFS Coda Laufwerke speicherbasierte Laufwerke RAM-Disks Dazu zählen Netzwerkdateisysteme wie Network Filesystem und Coda, speicher- und dateibasierte Dateisysteme. Abhängig von der verwendeten FreeBSD Version werden speicher- und dateibasierte Dateisysteme mit unterschiedlichen Werkzeugen angelegt. Gerätedateien werden unter &os; automatisch von &man.devfs.5; angelegt. Dateibasierte Laufwerke unter FreeBSD Laufwerke dateibasierte Unter FreeBSD werden virtuelle Laufwerke (&man.md.4;) mit &man.mdconfig.8; erzeugt. Dazu muss das Modul &man.md.4; geladen sein oder das entsprechende Gerät in der Kernelkonfiguration aktiviert sein: device md Mit &man.mdconfig.8; können drei verschiedene virtuelle Laufwerke angelegt werden: speicherbasierte Laufwerke, deren Speicher von &man.malloc.9; zur Verfügung gestellt wird, oder dateibasierte Laufwerke, deren Speicher von einer Datei oder dem Swap-Bereich zur Verfügung gestellt wird. Eine mögliche Anwendung ist das Einhängen von Dateien, die Abbilder von CD-ROMs oder Floppies enthalten. Das Abbild eines Dateisystems wird wie folgt eingehangen: Einhängen eines existierenden Abbildes unter FreeBSD &prompt.root; mdconfig -a -t vnode -f diskimage -u 0 &prompt.root; mount /dev/md0 /mnt Ein neues Dateisystem-Abbild erstellen Sie mit &man.mdconfig.8; wie folgt: Erstellen eines dateibasierten Laufwerks mit <command>mdconfig</command> &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdconfig -a -t vnode -f newimage -u 0 &prompt.root; bsdlabel -w md0 auto &prompt.root; newfs md0a /dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes. super-block backups (for fsck -b #) at: 160, 2720, 5280, 7840 &prompt.root; mount /dev/md0a /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0a 4710 4 4330 0% /mnt Wenn Sie keine Gerätenummer mit dem Schalter angeben, wird von &man.md.4; automatisch eine ungenutzte Gerätenummer zugewiesen. Das zugewiesene Gerät wird auf der Standardausgabe ausgegeben (zum Beispiel md4). Weitere Informationen entnehmen Sie bitte der Hilfeseite &man.mdconfig.8;. Das Werkzeug &man.mdconfig.8; ist sehr nützlich, doch muss man viele Kommandos absetzen, um ein dateibasiertes Dateisystem zu erstellen. FreeBSD enthält das Werkzeug &man.mdmfs.8;, das die notwendigen Schritte in einem Befehl zusammenfasst. Es konfiguriert mit &man.mdconfig.8; ein &man.md.4;-Laufwerk, erstellt darauf mit &man.newfs.8; ein Dateisystem und hängt es anschließend mit &man.mount.8; ein. Das virtuelle Laufwerk aus dem obigen Beispiel kann somit einfach mit den nachstehenden Befehlen erstellt werden: Mit <command>mdmfs</command> ein dateibasiertes Dateisystem erstellen &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdmfs -F newimage -s 5m md0 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4718 4 4338 0% /mnt Wenn sie die Option ohne Gerätenummer verwenden, wählt &man.md.4; automatisch ein ungenutztes Gerät aus. Weitere Einzelheiten entnehmen Sie bitte der Hilfeseite &man.mdmfs.8;. Speicherbasierte Laufwerke unter FreeBSD Laufwerke speicherbasierte Verwenden Sie ein speicherbasiertes Dateisystem, sollten Sie die Option swap backing aktivieren. Setzen Sie diese Option, heißt dies allerdings nicht, dass das speicherbasierte Laufwerk automatisch auf ihre Festplatte ausgelagert wird, vielmehr wird der Speicherplatz danach aus einem Speicherpool angefordert, der bei Bedarf auf die Platte ausgelagert werden kann. Zusätzlich ist es möglich, &man.malloc.9;-gestützte speicherbasierte Laufwerke zu erstellen. Das Anlegen solcher Laufwerke kann allerdings zu einer System-Panic führen, wenn der Kernel danach über zu wenig Speicher verfügt. Erstellen eines speicherbasierten Laufwerks mit <command>mdconfig</command> &prompt.root; mdconfig -a -t swap -s 5m -u 1 &prompt.root; newfs -U md1 /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 2752, 5344, 7936 &prompt.root; mount /dev/md1 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4718 4 4338 0% /mnt Erstellen eines speicherbasierten Laufwerks mit <command>mdmfs</command> &prompt.root; mdmfs -s 5m md2 /mnt &prompt.root; df /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt Virtuelle Laufwerke freigeben Laufwerke Freigabe von virtuellen Laufwerken Wenn ein virtuelles Laufwerk nicht mehr gebraucht wird, sollten Sie dem System die belegten Ressourcen zurückgeben. Hängen Sie dazu zuerst das Dateisystem ab und geben Sie dann die benutzten Ressourcen mit &man.mdconfig.8; frei. Alle von /dev/md4 belegten Ressourcen werden mit dem nachstehenden Kommando freigegeben: &prompt.root; mdconfig -d -u 4 Eingerichtete &man.md.4;-Geräte werden mit dem Befehl mdconfig -l angezeigt. Tom Rhodes Beigetragen von Schnappschüsse von Dateisystemen Schnappschüsse von Dateisystemen Zusammen mit Soft Updates bietet FreeBSD eine neue Funktion: Schnappschüsse von Dateisystemen. Schnappschüsse sind Dateien, die ein Abbild eines Dateisystems enthalten und müssen auf dem jeweiligen Dateisystem erstellt werden. Pro Dateisystem darf es maximal 20 Schnappschüsse, die im Superblock vermerkt werden, geben. Schnappschüsse bleiben erhalten, wenn das Dateisystem abgehangen, neu eingehangen oder das System neu gestartet wird. Wenn Sie einen Schnappschuss nicht mehr benötigen, können Sie ihn mit &man.rm.1; löschen. Es ist egal, in welcher Reihenfolge Schnappschüsse gelöscht werden. Es kann allerdings vorkommen, dass nicht der gesamte Speicherplatz wieder freigegeben wird, da ein anderer Schnappschuss einen Teil der entfernten Blöcke für sich beanspruchen kann. Das unveränderliche -Dateiflag wird nach der Erstellung des Snaphshots von &man.mksnap.ffs.8; gesetzt. Durch die Verwendung von &man.unlink.1; ist es allerdings möglich, einen Schnappschuss zu löschen. Schnappschüsse werden mit &man.mount.8; erstellt. Das folgende Kommando legt einen Schnappschuss von /var in /var/snapshot/snap ab: &prompt.root; mount -u -o snapshot /var/snapshot/snap /var Den Schnappschuss können Sie auch mit &man.mksnap.ffs.8; erstellen: &prompt.root; mksnap_ffs /var /var/snapshot/snap Um einen Schnappschuss auf Ihrem System zu finden, verwenden Sie &man.find.1;: &prompt.root; find /var -flags snapshot Nachdem ein Schnappschuss erstellt wurde, können Sie ihn für verschiedene Zwecke benutzen: Sie können den Schnappschuss für die Datensicherung benutzen und ihn auf eine CD oder ein Band schreiben. Sie können den Schnappschuss mit &man.fsck.8; manuell prüfen. Wenn das Dateisystem zum Zeitpunkt der Erstellung des Schnappschusses in Ordnung war, sollte &man.fsck.8; immer erfolgreich durchlaufen. Der Hintergrund-Prozess &man.fsck.8; hat im Übrigen genau diese Aufgabe. Sie können den Schnappschuss mit &man.dump.8; sichern. Sie erhalten dann eine konsistente Sicherung des Dateisystems zu dem Zeitpunkt, der durch den Zeitstempel des Schnappschusses gegeben ist. Der Schalter von &man.dump.8; erstellt für die Sicherung einen Schnappschuss und entfernt diesen am Ende der Sicherung wieder. Sie können einen Schnappschuss in den Verzeichnisbaum einhängen und sich dann den Zustand des Dateisystems zu dem Zeitpunkt ansehen, an dem der Schnappschuss erstellt wurde. Der folgende Befehl hängt den Schnappschuss /var/snapshot/snap ein: &prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4 &prompt.root; mount -r /dev/md4 /mnt Sie können sich nun den eingefrorenen Stand des /var Dateisystems unterhalb von /mnt ansehen. Mit Ausnahme der früheren Schnappschüsse, die als leere Dateien auftauchen, wird zu Beginn alles so aussehen, wie zum Zeitpunkt der Erstellung des Schnappschusses. Wenn Sie den Schnappschuss nicht mehr benötigen, können Sie ihn, wie nachfolgend gezeigt, abhängen: &prompt.root; umount /mnt &prompt.root; mdconfig -d -u 4 Weitere Informationen über Soft Updates und Schnappschüsse von Dateisystemen sowie technische Artikel finden Sie auf der Webseite von Marshall Kirk McKusick. Dateisystem-Quotas Accounting Plattenplatz Disk Quotas Quotas sind eine optionale Funktion des Betriebssystems, die es Ihnen erlauben, den Plattenplatz und/oder die Anzahl der Dateien eines Benutzers oder der Mitglieder einer Gruppe, auf Dateisystemebene zu beschränken. Oft wird dies auf Timesharing-Systemen (Mehrbenutzersystemen) genutzt, da es dort erwünscht ist, die Ressourcen, die ein Benutzer oder eine Gruppe von Benutzern belegen können, zu limitieren. Das verhindert, dass ein Benutzer oder eine Gruppe von Benutzern den ganzen verfügbaren Plattenplatz belegt. Konfiguration des Systems, um Quotas zu aktivieren Bevor Quotas benutzt werden können, müssen sie im Kernel konfiguriert werden, wozu die folgende Zeile der Kernelkonfiguration hinzugefügt wird: options QUOTA Im gewöhnlichen GENERIC Kernel sind Quotas nicht aktiviert, so dass Sie einen angepassten Kernel konfigurieren und bauen müssen, um Quotas zu benutzen. Weitere Informationen finden Sie in . Durch Hinzufügen der folgenden Zeile in /etc/rc.conf wird das Quota-System aktiviert: enable_quotas="YES" Disk Quotas überprüfen Um den Start des Quota-Systems zu beeinflussen, steht eine weitere Variable zur Verfügung. Normalerweise wird beim Booten die Integrität der Quotas auf allen Dateisystemen mit &man.quotacheck.8; überprüft. &man.quotacheck.8; stellt sicher, dass die Quota-Datenbank mit den Daten auf einem Dateisystem übereinstimmt. Dies ist allerdings ein sehr zeitraubender Prozess, der die Zeit, die das System zum Booten braucht, signifikant beeinflusst. Eine Variable in /etc/rc.config erlaubt es Ihnen, diesen Schritt zu überspringen: check_quotas="NO" Schließlich müssen Sie noch in /etc/fstab die Plattenquotas auf Dateisystemebene aktivieren. Dort können Sie für alle Dateisysteme Quotas für Benutzer, Gruppen oder für beide aktivieren. Um Quotas pro Benutzer für ein Dateisystem zu aktivieren, geben Sie für dieses Dateisystem die Option im Feld Optionen von /etc/fstab an. Beispiel: /dev/da1s2g /home ufs rw,userquota 1 2 Um Quotas für Gruppen einzurichten, verwenden Sie anstelle von . Um Quotas für Benutzer und Gruppen einzurichten, ändern Sie den Eintrag wie folgt ab: /dev/da1s2g /home ufs rw,userquota,groupquota 1 2 Die Quotas werden jeweils im Rootverzeichnis des Dateisystems unter dem Namen quota.user für Benutzer-Quotas und quota.group für Gruppen-Quotas abgelegt. Obwohl &man.fstab.5; beschreibt, dass diese Dateien an anderer Stelle gespeichert werden können, wird das nicht empfohlen, da es den Anschein hat, dass die verschiedenen Quota-Utilities das nicht richtig unterstützen. Jetzt sollten Sie Ihr System mit dem neuen Kernel booten. /etc/rc wird dann automatisch die richtigen Kommandos aufrufen, die die Quota-Dateien für alle Quotas, die Sie in /etc/fstab definiert haben, anlegen. Deshalb müssen vorher auch keine leeren Quota-Dateien angelegt werden. Normalerweise brauchen Sie die Kommandos &man.quotacheck.8;, &man.quotaon.8; oder &man.quotaoff.8; nicht händisch aufzurufen, obwohl Sie vielleicht die entsprechenden Seiten im Manual lesen sollten, um sich mit ihnen vertraut zu machen. Setzen von Quota-Limits Disk Quotas Limits Nachdem Sie Quotas in Ihrem System aktiviert haben, sollten Sie überprüfen, dass Sie auch tatsächlich aktiviert sind. Führen Sie dazu einfach den folgenden Befehl aus: &prompt.root; quota -v Für jedes Dateisystem, auf dem Quotas aktiviert sind, sollten Sie eine Zeile mit der Plattenauslastung und den aktuellen Quota-Limits sehen. Mit &man.edquota.8; können Sie nun Quota-Limits setzen. Sie haben mehrere Möglichkeiten, die Limits für den Plattenplatz, den ein Benutzer oder eine Gruppe verbrauchen kann, oder die Anzahl der Dateien, die angelegt werden dürfen, festzulegen. Die Limits können auf dem Plattenplatz (Block-Quotas) oder der Anzahl der Dateien (Inode-Quotas) oder einer Kombination von beiden basieren. Jedes dieser Limits wird weiterhin in zwei Kategorien geteilt: Hardlimits und Softlimits. Hardlimit Ein Hardlimit kann nicht überschritten werden. Hat der Benutzer einmal ein Hardlimit erreicht, so kann er auf dem betreffenden Dateisystem keinen weiteren Platz mehr beanspruchen. Hat ein Benutzer beispielsweise ein Hardlimit von 500 Kilobytes auf einem Dateisystem und benutzt davon 490 Kilobyte, so kann er nur noch 10 weitere Kilobytes beanspruchen. Der Versuch, weitere 11 Kilobytes zu beanspruchen, wird fehlschlagen. Softlimit Im Gegensatz dazu können Softlimits für eine befristete Zeit überschritten werden. Diese Frist beträgt in der Grundeinstellung eine Woche. Hat der Benutzer das Softlimit über die Frist hinaus überschritten, so wird das Softlimit in ein Hardlimit umgewandelt und der Benutzer kann keinen weiteren Platz mehr beanspruchen. Wenn er einmal das Softlimit unterschreitet, wird die Frist wieder zurückgesetzt. Das folgende Beispiel zeigt die Benutzung von &man.edquota.8;. Wenn &man.edquota.8; aufgerufen wird, wird der Editor gestartet, der durch EDITOR gegeben ist oder vi falls EDITOR nicht gesetzt ist. In dem Editor können Sie die Limits eingeben. &prompt.root; edquota -u test Quotas for user test: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60) Für jedes Dateisystem, auf dem Quotas aktiv sind, sehen Sie zwei Zeilen, eine für die Block-Quotas und die andere für die Inode-Quotas. Um ein Limit zu modifizieren, ändern Sie einfach den angezeigten Wert. Um beispielsweise das Blocklimit dieses Benutzers von einem Softlimit von 50 und einem Hardlimit von 75 auf ein Softlimit von 500 und ein Hardlimit von 600 zu erhöhen, ändern Sie die Zeile /usr: kbytes in use: 65, limits (soft = 50, hard = 75) zu: /usr: kbytes in use: 65, limits (soft = 500, hard = 600) Die neuen Limits sind wirksam, wenn Sie den Editor verlassen. Manchmal ist es erwünscht, die Limits für einen Bereich von UIDs zu setzen. Dies kann mit der Option von &man.edquota.8; bewerkstelligt werden. Weisen Sie dazu die Limits einem Benutzer zu und rufen danach edquota -p protouser startuid-enduid auf. Besitzt beispielsweise der Benutzer test die gewünschten Limits, können diese mit dem folgenden Kommando für die UIDs 10.000 bis 19.999 dupliziert werden: &prompt.root; edquota -p test 10000-19999 Weitere Informationen erhalten Sie in &man.edquota.8;. Überprüfen von Quota-Limits und Plattennutzung Disk Quotas überprüfen Sie können &man.quota.1; oder &man.repquota.8; benutzen, um Quota-Limits und Plattennutzung zu überprüfen. Um die Limits oder die Plattennutzung individueller Benutzer und Gruppen zu überprüfen, kann &man.quota.1; benutzt werden. Ein Benutzer kann nur die eigenen Quotas und die Quotas der Gruppe, der er angehört untersuchen. Nur der Superuser darf sich alle Limits ansehen. Mit &man.repquota.8; erhalten Sie eine Zusammenfassung von allen Limits und der Plattenausnutzung für alle Dateisysteme, auf denen Quotas aktiv sind. Das folgende Beispiel zeigt die Ausgabe von quota -v für einen Benutzer, der Quota-Limits auf zwei Dateisystemen besitzt: Disk quotas for user test (uid 1002): Filesystem usage quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60 Disk Quotas Frist Im Dateisystem /usr liegt der Benutzer momentan 15 Kilobytes über dem Softlimit von 50 Kilobytes und hat noch 5 Tage seiner Frist übrig. Der Stern * zeigt an, dass der Benutzer sein Limit überschritten hat. In der Ausgabe von &man.quota.1; werden Dateisysteme, auf denen ein Benutzer keinen Platz verbraucht, nicht angezeigt, auch wenn diesem Quotas zugewiesen wurden. Mit werden diese Dateisysteme, wie /usr/var im obigen Beispiel, angezeigt. Quotas über NFS NFS Quotas werden von dem Quota-Subsystem auf dem NFS Server erzwungen. Der &man.rpc.rquotad.8; Dæmon stellt &man.quota.1; die Quota Informationen auf dem NFS Client zur Verfügung, so dass Benutzer auf diesen Systemen ihre Quotas abfragen können. Aktivieren Sie rpc.rquotad in /etc/inetd.conf wie folgt: rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad Anschließend starten Sie inetd neu: &prompt.root; /etc/rc.d/inetd restart Lucky Green Beigetragen von
shamrock@cypherpunks.to
Partitionen verschlüsseln Partitionen verschlüsseln FreeBSD bietet ausgezeichnete Möglichkeiten, Daten vor unberechtigten Zugriffen zu schützen. Wenn das Betriebssystem läuft, schützen Zugriffsrechte und vorgeschriebene Zugriffskontrollen (MAC) (siehe ) die Daten. Die Zugriffskontrollen des Betriebssystems schützen allerdings nicht vor einem Angreifer, der Zugriff auf den Rechner hat. Der Angreifer kann eine Festplatte einfach in ein anderes System einbauen und dort die Daten analysieren. Die für &os; verfügbaren kryptografischen Subsysteme GEOM Based Disk Encryption (gbde) und geli sind in der Lage, Daten auf Dateisystemen auch vor hoch motivierten Angreifern zu schützen, die über erhebliche Mittel verfügen. Dieser Schutz ist unabhängig von der Art und Weise, durch die ein Angreifer Zugang zu einer Festplatte oder zu einem Rechner erlangt hat. Im Gegensatz zu schwerfälligen Systemen, die einzelne Dateien verschlüsseln, verschlüsseln gbde und geli transparent ganze Dateisysteme. Auf der Festplatte werden dabei keine Daten im Klartext gespeichert. Plattenverschlüsselung mit <application>gbde</application> Wechseln sie zu <username>root</username> Sie benötigen Superuser-Rechte, um gbde einzurichten. &prompt.user; su - Password: Aktivieren Sie &man.gbde.4; in der Kernelkonfigurationsdatei Fügen Sie folgende Zeile in Ihre Kernelkonfigurationsdatei ein: options GEOM_BDE Übersetzen und installieren Sie den FreeBSD-Kernel wie in beschrieben. Starten sie das System neu, um den neuen Kernel zu benutzen. Alternativ zur Neukompilierung des Kernels können Sie auch kldload verwenden, um das Kernelmodul &man.gbde.4; zu laden: &prompt.root; kldload geom_bde Einrichten eines verschlüsselten Dateisystems Das folgende Beispiel beschreibt, wie ein Dateisystem auf einer neuen Festplatte verschlüsselt wird. Das Dateisystem wird in /private eingehangen. Mit gbde könnten auch /home und /var/mail verschlüsselt werden. Die dazu nötigen Schritte können allerdings in dieser Einführung nicht behandelt werden. Installieren der Festplatte Installieren Sie die Festplatte wie in beschrieben. Im Beispiel verwenden wir die Partition /dev/ad4s1c. Die Gerätedateien /dev/ad0s1* sind Standard-Partitionen des FreeBSD-Systems. &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 Verzeichnis für gbde-Lock-Dateien anlegen &prompt.root; mkdir /etc/gbde Die Lock-Dateien sind für den Zugriff von gbde auf verschlüsselte Partitionen notwendig. Ohne die Lock-Dateien können die Daten nur mit erheblichem manuellen Aufwand wieder entschlüsselt werden (dies wird auch von der Software nicht unterstützt). Jede verschlüsselte Partition benötigt eine gesonderte Lock-Datei. Vorbereiten der gbde-Partition Eine von gbde benutzte Partition muss einmalig vorbereitet werden: &prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock &man.gbde.8; öffnet eine Vorlage in Ihrem Editor, in der Sie verschiedene Optionen einstellen können. Setzen Sie sector_size auf 2048, wenn Sie UFS1 oder UFS2 benutzen. $FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $ # # Sector size is the smallest unit of data which can be read or written. # Making it too small decreases performance and decreases available space. # Making it too large may prevent filesystems from working. 512 is the # minimum and always safe. For UFS, use the fragment size # sector_size = 2048 [...] &man.gbde.8; fragt dann zweimal eine Passphrase zum Schutz der Daten ab. Die Passphrase muss beides Mal gleich eingegeben werden. Die Sicherheit der Daten hängt alleine von der Qualität der gewählten Passphrase ab. Die Auswahl einer sicheren und leicht zu merkenden Passphrase wird auf der Webseite Diceware Passphrase beschrieben. Mit gbde init wurde im Beispiel auch die Lock-Datei /etc/gbde/ad4s1c.lock angelegt. gbde-Lockdateien müssen die Dateiendung .lock aufweisen, damit sie von /etc/rc.d/gbde, dem Startskript von gbde, erkannt werden. Sichern Sie die Lock-Dateien von gbde immer zusammen mit den verschlüsselten Dateisystemen. Ein entschlossener Angreifer kann die Daten vielleicht auch ohne die Lock-Datei entschlüsseln. Ohne die Lock-Datei können Sie allerdings nicht auf die verschlüsselten Daten zugreifen. Dies ist nur noch mit erheblichem manuellen Aufwand möglich, der weder von &man.gbde.8; noch seinem Entwickler unterstützt wird. Einbinden der verschlüsselten Partition in den Kernel &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock Das Kommando fragt die Passphrase ab, die Sie beim Vorbereiten der Partition eingegeben haben. Das neue Gerät erscheint danach als /dev/device_name.bde im Verzeichnis /dev: &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde Dateisystem auf dem verschlüsselten Gerät anlegen Wenn der Kernel die verschlüsselte Partition kennt, können Sie ein Dateisystem auf ihr anlegen. Benutzen Sie dazu den Befehl &man.newfs.8;. Da ein Dateisystem vom Typ UFS2 sehr viel schneller als eins vom Typ UFS1 angelegt wird, empfehlen wir Ihnen, die Option zu benutzen. &prompt.root; newfs -U -O2 /dev/ad4s1c.bde &man.newfs.8; muss auf einer dem Kernel bekannten gbde-Partition (einem Gerät mit dem Namen *.bde laufen. Einhängen der verschlüsselten Partition Legen Sie einen Mountpunkt für das verschlüsselte Dateisystem an: &prompt.root; mkdir /private Hängen Sie das verschlüsselte Dateisystem ein: &prompt.root; mount /dev/ad4s1c.bde /private Überprüfen des verschlüsselten Dateisystem Das verschlüsselte Dateisystem sollte jetzt von &man.df.1; erkannt werden und benutzt werden können. &prompt.user; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 1037M 72M 883M 8% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 8.1G 55K 7.5G 0% /home /dev/ad0s1e 1037M 1.1M 953M 0% /tmp /dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr /dev/ad4s1c.bde 150G 4.1K 138G 0% /private Einhängen eines existierenden verschlüsselten Dateisystems Nach jedem Neustart müssen verschlüsselte Dateisysteme dem Kernel wieder bekannt gemacht werden, auf Fehler überprüft werden und eingehangen werden. Die dazu nötigen Befehle müssen als root durchgeführt werden. gbde-Partition im Kernel bekannt geben &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock Das Kommando fragt nach der Passphrase, die Sie beim Vorbereiten der verschlüsselten gbde-Partition festgelegt haben. Prüfen des Dateisystems Das verschlüsselte Dateisystem kann noch nicht automatisch über /etc/fstab eingehangen werden. Daher muss es vor dem Einhängen mit &man.fsck.8; geprüft werden: &prompt.root; fsck -p -t ffs /dev/ad4s1c.bde Einhängen des verschlüsselten Dateisystems &prompt.root; mount /dev/ad4s1c.bde /private Das verschlüsselte Dateisystem steht danach zur Verfügung. Verschlüsselte Dateisysteme automatisch einhängen Mit einem Skript können verschlüsselte Dateisysteme automatisch bekannt gegeben, geprüft und eingehangen werden. Wir raten Ihnen allerdings aus Sicherheitsgründen davon ab. Starten Sie das Skript manuell an der Konsole oder in einer &man.ssh.1;-Sitzung. Zu diesem Zweck existiert ein rc.d-Skript, an das über Einträge in der Datei &man.rc.conf.5; Argumente übergeben werden können. Dazu ein Beispiel: gbde_autoattach_all="YES" gbde_devices="ad4s1c" gbde_lockdir="/etc/gbde" Durch diese Argumente muss beim Systemstart die gbde-Passphrase eingegeben werden. Erst nach Eingabe der korrekten Passphrase wird die gbde-verschlüsselte Partition automatisch in den Verzeichnisbaum eingehängt. Dieses Vorgehen ist insbesondere dann nützlich, wenn Sie gbde auf einem Notebook einsetzen wollen. Kryptografische Methoden von gbde &man.gbde.8; benutzt den 128-Bit AES im CBC-Modus, um die Daten eines Sektors zu verschlüsseln. Jeder Sektor einer Festplatte wird mit einem unterschiedlichen AES-Schlüssel verschlüsselt. Mehr Informationen, unter anderem wie die Schlüssel für einen Sektor aus der gegebenen Passphrase ermittelt werden, erhalten Sie in &man.gbde.4;. Kompatibilität &man.sysinstall.8; kann nicht mit verschlüsselten gbde-Geräten umgehen. Vor dem Start von &man.sysinstall.8; sind alle *.bde-Geräte zu deaktivieren, da &man.sysinstall.8; sonst bei der Gerätesuche abstürzt. Das im Beispiel verwendete Gerät wird mit dem folgenden Befehl deaktiviert: &prompt.root; gbde detach /dev/ad4s1c Sie können gbde nicht zusammen mit vinum benutzen, da &man.vinum.4; das &man.geom.4;-Subsystem nicht benutzt. Daniel Gerzo Beigetragen von Plattenverschlüsselung mit <command>geli</command> Mit &os; 6.0 wurde eine neue kryptografische GEOM-Klasse eingeführt - geli. Diese wird derzeit von &a.pjd; weiterentwickelt. geli unterscheidet sich von gbde durch unterschiedliche Fähigkeiten und einen unterschiedlichen Ansatz für die Verschlüsselung von Festplatten. Die wichtigsten Merkmale von &man.geli.8; sind: Der Einsatz des &man.crypto.9;-Frameworks – verfügt das System über kryptografische Hardware, wird diese von geli automatisch verwendet. Die Unterstützung verschiedener kryptografischer Algorithmen (derzeit AES, Blowfish, sowie 3DES). Die Möglichkeit, die root-Partition zu verschlüsseln. Um auf die verschlüsselte root-Partition zugreifen zu können, muss beim Systemstart die Passphrase eingegeben werden. geli erlaubt den Einsatz von zwei voneinander unabhängigen Schlüsseln (etwa einem privaten Schlüssel und einem Unternehmens-Schlüssel). geli ist durch einfache Sektor-zu-Sektor-Verschlüsselung sehr schnell. Die Möglichkeit, Master-Keys zu sichern und wiederherzustellen. Wenn ein Benutzer seinen Schlüssel zerstört, kann er über seinen zuvor gesicherten Schlüssel wieder auf seine Daten zugreifen. geli erlaubt es, Platten mit einem zufälligen Einmal-Schlüssel einzusetzen, was insbesondere für Swap-Partitionen und temporäre Dateisysteme interessant ist. Weitere Informationen zu den Fähigkeiten von geli finden Sie in &man.geli.8;. Die folgenden Schritte beschreiben, wie Sie geli im &os;-Kernel aktivieren und einen geli-Verschlüsselungs-Provider anlegen können. Voraussetzung für die Nutzung von geli ist der Einsatz von &os; 6.0-RELEASE oder neuer. Da Sie Ihren Kernel anpassen müssen, benötigen Sie außerdem root-Privilegien. Aufnahme der <command>geli</command>-Unterstützung in Ihre Kernelkonfigurationsdatei Fügen Sie die folgenden Zeilen in Ihre Kernelkonfigurationsdatei ein: options GEOM_ELI device crypto Bauen und installieren Sie Ihren neuen Kernel wie in beschrieben. Alternativ können Sie aber auch das geli-Kernelmodul beim Systemstart laden. Dazu fügen Sie die folgende Zeile in /boot/loader.conf ein: geom_eli_load="YES" Ab sofort wird &man.geli.8; vom Kernel unterstützt. Erzeugen des Master-Keys Das folgende Beispiel beschreibt, wie Sie eine Schlüsseldatei erzeugen, die als Teil des Master-Keys für den Verschlüsselungs-Provider verwendet wird, der unter /private in den Verzeichnisbaum eingehängt (gemountet) wird. Diese Schlüsseldatei liefert zufällige Daten, die für die Verschlüsselung des Master-Keys benötigt werden. Zusätzlich wird der Master-Key durch eine Passphrase geschützt. Die Sektorgröße des Providers beträgt 4 KB. Außerdem wird beschrieben, wie Sie einen geli-Provider aktivieren, ein vom ihm verwaltetes Dateisystem erzeugen, es mounten, mit ihm arbeiten und wie Sie es schließlich wieder unmounten und den Provider deaktivieren. Um eine bessere Leistung zu erzielen, sollten Sie eine größere Sektorgröße (beispielsweise 4 KB) verwenden. Der Master-Key wird durch eine Passphrase sowie die Daten der Schlüsseldatei (die von /dev/random stammen) geschützt. Die Sektorgröße von /dev/da2.eli (das als Provider bezeichnet wird) beträgt 4 KB. &prompt.root; dd if=/dev/random of=/root/da2.key bs=64 count=1 &prompt.root; geli init -s 4096 -K /root/da2.key /dev/da2 Enter new passphrase: Reenter new passphrase: Es ist nicht zwingend nötig, sowohl eine Passphrase als auch eine Schlüsseldatei zu verwenden. Die einzelnen Methoden können auch unabhängig voneinander eingesetzt werden. Wird für die Schlüsseldatei der Wert - angegeben, wird dafür die Standardeingabe verwendet. Das folgende Beispiel zeigt, dass Sie auch mehr als eine Schlüsseldatei verwenden können. &prompt.root; cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2 Aktivieren des Providers mit dem erzeugten Schlüssel &prompt.root; geli attach -k /root/da2.key /dev/da2 Enter passphrase: Dadurch wird die (Normaltext-)Gerätedatei /dev/da2.eli angelegt. &prompt.root; ls /dev/da2* /dev/da2 /dev/da2.eli Das neue Dateisystem erzeugen &prompt.root; dd if=/dev/random of=/dev/da2.eli bs=1m &prompt.root; newfs /dev/da2.eli &prompt.root; mount /dev/da2.eli /private Das verschlüsselte Dateisystem wird nun von &man.df.1; angezeigt und kann ab sofort eingesetzt werden. &prompt.root; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 248M 89M 139M 38% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr /dev/ad0s1d 989M 1.5M 909M 0% /tmp /dev/ad0s1e 3.9G 1.3G 2.3G 35% /var /dev/da2.eli 150G 4.1K 138G 0% /private Das Dateisystem unmounten und den Provider deaktivieren Wenn Sie nicht mehr mit dem verschlüsselten Dateisystem arbeiten und die unter /private eingehängte Partition daher nicht mehr benötigen, sollten Sie diese unmounten und den geli-Verschlüsselungs-Provider wieder deaktivieren. &prompt.root; umount /private &prompt.root; geli detach da2.eli Weitere Informationen zum Einsatz von geli finden Sie in &man.geli.8;. Der Einsatz des <filename>geli</filename>- <filename>rc.d</filename>-Skripts geli verfügt über ein rc.d-Skript, das den Einsatz von geli deutlich vereinfacht. Es folgt nun ein Beispiel, in dem geli über die Datei &man.rc.conf.5; konfiguriert wird: geli_devices="da2" geli_da2_flags="-p -k /root/da2.key" Durch diese Einträge wird /dev/da2 als geli-Provider festgelegt. Der Master-Key befindet sich in /root/da2.key. Beim Aktivieren des geli-Providers wird keine Passphrase abgefragt (beachten Sie, dass dies nur dann möglich ist, wenn Sie geli mit dem Parameter initialisieren). Wird das System heruntergefahren, wird der geli-Provider zuvor deaktiviert. Weitere Informationen zur Konfiguration der rc.d-Skripten finden Sie im Abschnitt rc.d des Handbuchs.
Christian Brüffer Geschrieben von Den Auslagerungsspeicher verschlüsseln Auslagerungsspeicher verschlüsseln Die Verschlüsselung des Auslagerungsspeichers ist unter &os; einfach einzurichten und seit &os; 5.3-RELEASE verfügbar. Je nach dem, welche &os;-Version Sie einsetzen, können Konfiguration und mögliche Optionen allerdings unterschiedlich sein. Seit &os; 6.0-RELEASE können Sie entweder das &man.gbde.8;- oder das &man.geli.8;-Verschlüsselungs-Subsystem einsetzen. Verwenden Sie eine ältere &os;-Version, sind Sie hingegen auf &man.gbde.8; beschränkt. Beide Subsysteme werden über das rc.d-Skript encswap gestartet. Der letzte Abschnitt, Partitionen verschlüsseln, enthält eine kurze Beschreibung der verschiedenen Verschlüsselungs-Subsysteme. Warum sollte der Auslagerungsspeicher verschlüsselt werden? Wie die Verschlüsselung von Plattenpartitionen dient auch die Verschlüsselung des Auslagerungsspeichers dem Schutz sensitiver Informationen. Stellen Sie sich etwa eine Anwendung vor, die ein Passwort erfordert. Solange dieses Passwort im Hauptspeicher verbleibt, ist alles in Ordnung. Beginnt Ihr Betriebssystem allerdings, Daten auf die Festplatte auszulagern, um im Hauptspeicher Platz für andere Anwendungen zu schaffen, kann es passieren, dass Ihr Passwort im Klartext in den Auslagerungsspeicher geschrieben wird, was es einem potentiellen Angreifer leicht macht, Ihr Passwort herauszufinden. Die Verschlüsselung Ihres Auslagerungsspeichers kann dieses Problem lösen. Vorbereitungen Für die weiteren Ausführungen dieses Abschnitts stellt ad0s1b die Swap-Partition dar. Noch ist Ihr Auslagerungsspeicher nicht verschlüsselt. Es könnte allerdings sein, dass bereits Passwörter oder andere sensitive Daten als Klartext im Auslagerungsspeicher vorhanden sind. Daher sollten Sie den Auslagerungsspeicher komplett mit zufällig generierten Zeichen überschreiben, bevor Sie ihn verschlüsseln: &prompt.root; dd if=/dev/random of=/dev/ad0s1b bs=1m Den Auslagerungsspeicher mit &man.gbde.8; verschlüsseln Verwenden Sie &os; 6.0-RELEASE oder neuer, sollten Sie in /etc/fstab das Suffix .bde an den Gerätenamen der Swap-Partition anhängen: # Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.bde none swap sw 0 0 Für &os;-Versionen vor 6.0-RELEASE benötigen Sie zusätzlich folgende Zeile in /etc/rc.conf: gbde_swap_enable="YES" Den Auslagerungsspeicher mit &man.geli.8; verschlüsseln Alternativ können Sie Ihren Auslagerungsspeicher auch mit &man.geli.8; verschlüsseln. Die Vorgehensweise ist dabei ähnlich. Allerdings hängen Sie bei der Verwendung von &man.geli.8; in /etc/fstab das Suffix .eli an den Gerätenamen der Swap-Partition an: # Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.eli none swap sw 0 0 In der Voreinstellung verschlüsselt &man.geli.8; den Auslagerungsspeicher mit dem AES-Algorithmus und einer Schlüssellänge von 256 Bit. Es ist möglich, diese Optionen durch das Setzen der geli_swap_flags-Option in /etc/rc.conf anzupassen. Die folgende Zeile weist das rc.d-Skript encswap an, &man.geli.8;-Swap-Partitionen mit dem Blowfish-Algorithmus und einer Schlüssellänge von 128 Bit zu verschlüsseln. Zusätzlich wird die Sektorgröße auf 4 Kilobyte gesetzt und die Option detach on last close aktiviert: geli_swap_flags="-e blowfish -l 128 -s 4096 -d" Auf Systemen vor &os; 6.2-RELEASE verwenden Sie hingegen die folgende Zeile: geli_swap_flags="-a blowfish -l 128 -s 4096 -d" Eine Auflistung möglicher Optionen für den Befehl onetime finden Sie in der Manualpage zu &man.geli.8;. Die korrekte Funktion testen Nachdem Sie Ihr System neu gestartet haben, können Sie die korrekte Funktion Ihres verschlüsselten Auslagerungsspeichers prüfen, indem Sie sich die Ausgabe von swapinfo ansehen. Wenn Sie &man.gbde.8; einsetzen, erhalten Sie eine Meldung ähnlich der folgenden: &prompt.user; swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.bde 542720 0 542720 0% Wenn Sie &man.geli.8; einsetzen, erhalten Sie hingegen ein Ausgabe ähnlich der folgenden: &prompt.user; swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.eli 542720 0 542720 0%
diff --git a/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml b/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml index f8b24f9571..d6bebf5295 100644 --- a/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml @@ -1,1929 +1,1955 @@ Ressourcen im Internet Gedruckte Medien können mit der schnellen Entwicklung von FreeBSD nicht Schritt halten. Elektronische Medien sind häufig die einzige Möglichkeit, über aktuelle Entwicklungen informiert zu sein. Da FreeBSD ein Projekt von Freiwilligen ist, gibt die Benutzergemeinde selbst auch technische Unterstützung. Die Benutzergemeinde erreichen Sie am besten über E-Mail oder Usenet-News. Die wichtigsten Wege, auf denen Sie die FreeBSD-Benutzergemeinde erreichen können, sind unten dargestellt. Wenn Sie weitere Ressourcen kennen, die hier fehlen, schicken Sie diese bitte an die Mailingliste des &a.doc;, damit sie hier aufgenommen werden können. Mailinglisten Obwohl viele FreeBSD-Entwickler Usenet-News lesen, können wir nicht garantieren, dass Sie eine zügige Antwort auf Ihre Fragen bekommen, wenn Sie diese nur in einer der comp.unix.bsd.freebsd.* Gruppen stellen. Wenn Sie Ihre Fragen auf der passenden Mailingliste stellen, erreichen Sie sowohl die Entwickler wie auch die FreeBSD-Benutzergemeinde und erhalten damit bessere (oder zumindest schnellere) Antworten. Die Chartas der verschiedenen Listen sind unten wiedergegeben. Bevor Sie sich einer Mailingliste anschließen oder E-Mails an eine Liste senden, lesen Sie bitte die Charta der Liste. Die meisten Mitglieder unserer Mailinglisten erhalten Hunderte E-Mails zum Thema FreeBSD pro Tag. Die Chartas und Regeln, die den Gebrauch der Listen beschreiben, garantieren die hohe Qualität der Listen. Die Listen würden ihren hohen Wert für das Projekt verlieren, wenn wir weniger Regeln aufstellen würden. Um zu testen, ob Sie eine Nachricht an eine &os;-Liste senden können, verwenden Sie bitte Die Liste &a.test.name;. Schicken Sie derartige Nachrichten bitte nicht an eine der anderen Listen. Wenn Sie Sich nicht sicher sind, auf welcher Liste Sie Ihre Frage stellen sollen, sollten Sie den Artikel How to get best results from the FreeBSD-questions mailing list lesen. Bevor Sie eine Nachricht an eine Mailingliste senden, sollten Sie die korrekte Nutzung der Mailinglisten erlernen. Dazu gehört auch das Vermeiden von sich häufig wiederholenden Diskussionen (lesen Sie deshalb zuerst die Mailing List Frequently Asked Questions). Alle Mailinglisten werden archiviert und können auf dem FreeBSD World Wide Web Server durchsucht werden. Das nach Schlüsselwörtern durchsuchbare Archiv bietet die hervorragende Möglichkeit, Antworten auf häufig gestellte Fragen zu finden. Nutzen Sie bitte diese Möglichkeit, bevor Sie Fragen auf einer Liste stellen. Beschreibung der Mailinglisten Allgemeine Listen: Jeder kann die folgenden allgemeinen Listen abonnieren (und ist dazu aufgefordert): Mailingliste Zweck &a.cvsall.name; Änderungen im FreeBSD-Quellbaum &a.advocacy.name; Verbreitung von FreeBSD &a.announce.name; Wichtige Ereignisse und Meilensteine des Projekts &a.arch.name; Architektur und Design von FreeBSD &a.bugbusters.name; Diskussionen über die Pflege der FreeBSD Fehlerberichte-Datenbank und die dazu benutzten Werkzeuge &a.bugs.name; Fehlerberichte &a.chat.name; Nicht technische Themen, die die FreeBSD-Gemeinschaft betreffen &a.current.name; Gebrauch von &os.current; &a.isp.name; Für Internet-Service-Provider, die FreeBSD benutzen &a.jobs.name; Anstellung und Beratung im FreeBSD-Umfeld &a.policy.name; Grundsatzentscheidungen des FreeBSD-Core-Teams. Wenig Verkehr und nur zum Lesen &a.questions.name; Benutzerfragen und technische Unterstützung &a.security-notifications.name; Ankündigungen zum Thema Sicherheit &a.stable.name; Gebrauch von &os.stable; &a.test.name; Schicken Sie Testnachrichten an diese Liste anstelle der wirklichen Listen Technische Listen: Auf den folgenden Listen werden technische Diskussionen geführt. Bevor Sie eine der Listen abonnieren oder Nachrichten an sie schicken, lesen Sie sich bitte die Charta der Liste durch, da der Inhalt und Zweck dieser Listen genau festgelegt ist. Mailingliste Zweck &a.acpi.name; Entwicklung von ACPI &a.afs.name; Portierung von AFS nach FreeBSD &a.aic7xxx.name; Entwicklung von &adaptec; AIC 7xxx Treibern &a.alpha.name; Portierung von FreeBSD auf Alpha-Maschinen &a.amd64.name; Portierung von FreeBSD auf AMD64-Systeme &a.apache.name; Diskussion über Ports, die mit Apache zusammenhängen. &a.arm.name; Portierung von FreeBSD auf &arm;-Prozessoren &a.atm.name; Benutzung von ATM-Netzen mit FreeBSD &a.audit.name; Audit der FreeBSD-Quellen &a.binup.name; Design und Entwicklung eines Systems, das es erlaubt, ein FreeBSD-System mit binären Paketen zu aktualisieren &a.bluetooth.name; &bluetooth; unter FreeBSD verwenden &a.cluster.name; Benutzung von FreeBSD in einem Cluster &a.cvsweb.name; Pflege von CVSweb &a.database.name; Diskussion über Datenbanken und Datenbankprogrammierung unter FreeBSD &a.doc.name; Erstellen der FreeBSD-Dokumentation &a.drivers.name; Gerätetreiber für &os; schreiben &a.eclipse.name; Für FreeBSD-Anwender, die die Eclipse IDE, deren Werkzeuge, Anwendungen und Ports einsetzen &a.embedded.name; FreeBSD in eingebetteten Anwendungen einsetzen &a.emulation.name; Emulation anderer Systeme wie Linux, &ms-dos; oder &windows; &a.eol.name; Support für FreeBSD-bezogene Software, die vom FreeBSD Project offiziell nicht mehr unterstützt wird. &a.firewire.name; Technische Diskussion über &firewire; (iLink, IEEE 1394) &a.fs.name; Dateisysteme &a.geom.name; Diskusion über GEOM &a.gnome.name; Portierung von GNOME und GNOME-Anwendungen &a.hackers.name; Allgemeine technische Diskussionen &a.hardware.name; Allgemeine Diskussion über Hardware, auf der FreeBSD läuft &a.i18n.name; Internationalisierung von FreeBSD &a.ia32.name; FreeBSD für die IA-32 (&intel; x86) Plattform &a.ia64.name; Portierung von FreeBSD auf &intel;s neue IA64-Systeme &a.ipfw.name; Technische Diskussion über die Neubearbeitung der IP-Firewall Quellen &a.isdn.name; Für Entwickler des ISDN-Systems &a.java.name; Für &java; Entwickler und Leute, die &jdk;s nach FreeBSD portieren &a.kde.name; Portierung von KDE und KDE-Anwendungen &a.lfs.name; Portierung von LFS nach FreeBSD &a.libh.name; Das nächste Installations- und Paketsystem &a.mips.name; Portierung von FreeBSD zu &mips; &a.mobile.name; Diskussionen über mobiles Rechnen &a.mozilla.name; Portierung von Mozilla nach FreeBSD &a.multimedia.name; Multimedia Anwendungen &a.newbus.name; Technische Diskussionen über die Architektur von Bussen &a.net.name; Diskussion über Netzwerke und den TCP/IP Quellcode &a.openoffice.name; Portierung von OpenOffice.org und &staroffice; nach FreeBSD &a.performance.name; Fragen zur Optimierung der Leistung stark ausgelasteter Systeme &a.perl.name; Pflege der portierten Perl-Anwendungen. &a.pf.name; Diskussionen und Fragen zu packet filter als Firewallsystem. &a.platforms.name; Portierungen von FreeBSD auf nicht-&intel; Architekturen &a.ports.name; Diskussion über die Ports-Sammlung &a.ports-bugs.name; Diskussion über Fehler und PRs der Ports &a.ppc.name; Portierung von FreeBSD auf den &powerpc; &a.proliant.name; Technische Diskussionen zum Einsatz von FreeBSD auf der ProLiant-Serverplattform von HP. &a.python.name; FreeBSD-spezifische Diskussionen zu Python &a.qa.name; Diskussion über Qualitätssicherung, normalerweise kurz vor einem Release &a.rc.name; Diskussion über das rc.d-System sowie dessen Weiterentwicklung &a.realtime.name; Entwicklung von Echtzeiterweiterungen für FreeBSD &a.ruby.name; FreeBSD-spezifische Diskussionen zu Ruby &a.scsi.name; Diskussion über das SCSI-Subsystem &a.security.name; Sicherheitsthemen &a.small.name; Gebrauch von FreeBSD in eingebetteten Systemen (obsolet; verwenden Sie stattdessen &a.embedded.name;) &a.smp.name; Diskussionen über das Design von asymmetrischen und symmetrischen Mehrprozessor-Programmen &a.sparc.name; Portierung von FreeBSD auf &sparc; Systeme &a.standards.name; Konformität von FreeBSD mit den C99- und POSIX-Standards &a.sun4v.name; Portierung von FreeBSD auf &ultrasparc;-T1-basierte Systeme &a.threads.name; Leichgewichtige Prozesse (Threads) in FreeBSD &a.testing.name; Leistungs- und Stabilitätstests von FreeBSD &a.tokenring.name; Token-Ring Unterstützung in FreeBSD &a.usb.name; USB-Unterstützung in FreeBSD + + &a.virtualization.name; + Diskussion über verschiedene + Virtualisierungsverfahren, die von &os; unterstützt + werden + + &a.vuxml.name; Diskussion über die Infratruktur von VuXML &a.x11.name; Wartung und Unterstützung von X11 auf FreeBSD Eingeschränkte Listen: Die folgenden Listen wenden sich an Zielgruppen mit speziellen Anforderungen und sind nicht für die Öffentlichkeit gedacht. Bevor Sie eine dieser Listen abonnieren, sollten Sie einige der technischen Listen abonniert haben, um mit den Umgangsformen vertraut zu sein. Mailingliste Zweck &a.hubs.name; Betrieb von FreeBSD-Spiegeln &a.usergroups.name; Koordination von Benutzergruppen &a.vendors.name; Koordination von Händlern vor einem Release &a.www.name; Betreuer von www.FreeBSD.org Zusammenfassungen: Alle eben aufgezählten Listen sind auch in zusammengefasster Form (digest) erhältlich. In den Einstellungen Ihres Accounts legen Sie fest, in welcher Form Sie die Listen empfangen. CVS Listen: Die folgenden Listen versenden die Log-Einträge zu Änderungen an verschiedenen Teilen des Quellbaums. Diese Listen sollen nur gelesen werden, schicken Sie bitte keine Nachrichten an eine der Listen. Mailingliste Teil des Quellbaums Beschreibung &a.cvsall.name; /usr/(CVSROOT|doc|ports|projects|src) Alle Änderungen im Quellbaum (Obermenge der anderen Commit-Listen) &a.cvs-doc.name; /usr/(doc|www) Änderungen in den doc- und www Bäumen &a.cvs-ports.name; /usr/ports Änderungen im ports-Baum &a.cvs-projects.name; /usr/projects Änderungen im projects-Baum &a.cvs-src.name; /usr/src Änderungen im src-Baum Mailinglisten abonnieren Um eine Liste zu abonnieren, folgen Sie dem oben angegebenen Hyperlink der Liste oder Sie besuchen die Webseite &a.mailman.lists.link; und klicken dort auf die Liste, die Sie abonnieren wollen. Sie gelangen dann auf die Webseite der Liste, die weitere Anweisungen enthält. Um eine Nachricht an eine Mailingliste zu schicken, schreiben Sie einfach eine E-Mail an Liste@FreeBSD.org. Die E-Mail wird dann an alle Mitglieder der Mailingliste verteilt. Wenn Sie das Abonnement aufheben wollen, folgen Sie der URL, die am Ende jeder Mail der Liste angegeben ist. Sie können das Abonnement auch mit einer E-Mail an Liste-unsubscribe@FreeBSD.org aufheben. Verwenden Sie bitte die technischen Listen ausschließlich für technische Diskussionen. Wenn Sie nur an wichtigen Ankündigungen interessiert sind, abonnieren Sie die Mailingliste &a.announce;, auf der nur wenige Nachrichten versendet werden. Chartas der Mailinglisten Alle FreeBSD-Mailinglisten besitzen Grundregeln, die von jedem beachtet werden müssen. Für die ersten beiden Male, in denen ein Absender gegen diese Regeln verstößt, erhält er jeweils eine Warnung vom FreeBSD-Postmaster postmaster@FreeBSD.org. Ein dritter Verstoß gegen die Regeln führt dazu, dass der Absender in allen FreeBSD-Mailinglisten gesperrt wird und weitere Nachrichten von ihm nicht mehr angenommen werden. Wir bedauern sehr, dass wir solche Maßnahmen ergreifen müssen, aber heutzutage ist das Internet eine recht rauhe Umgebung, in der immer weniger Leute Rücksicht aufeinander nehmen. Die Regeln: Das Thema einer Nachricht soll der Charta der Liste, an die sie gesendet wird, entsprechen. Wenn Sie eine Nachricht an eine technische Liste schicken, sollte die Nachricht auch technische Inhalte haben. Fortwährendes Geschwätz oder Streit mindern den Wert der Liste für alle Mitglieder und wird nicht toleriert. Benutzen Sie &a.chat; für allgemeine Diskussionen über FreeBSD. Eine Nachricht sollte an nicht mehr als zwei Mailinglisten gesendet werden. Schicken Sie eine Nachricht nur dann an zwei Listen, wenn das wirklich notwendig ist. Viele Leute haben mehrere Mailinglisten abonniert und Nachrichten sollten nur zu ungewöhnlichen Kombinationen der Listen, wie -stable und -scsi, gesendet werden. Wenn Sie eine Nachricht erhalten, die im Cc-Feld mehrere Listen enthält, sollten Sie das Feld kürzen, bevor Sie eine Antwort darauf verschicken. Unabhängig von dem ursprünglichen Verteiler sind Sie für Ihre eigenen Mehrfach-Sendungen selbst verantwortlich. Persönliche Angriffe und Beschimpfungen sind in einer Diskussion nicht erlaubt. Dies gilt gleichermaßen für Benutzer wie Entwickler. Grobe Verletzungen der Netiquette, wie das Verschicken oder Zitieren von privater E-Mail ohne eine entsprechende Genehmigung, werden nicht gebilligt. Die Nachrichten werden aber nicht besonders auf Verletzungen der Netiquette untersucht. Es kann sein, dass eine Verletzung der Netiquette durchaus zu der Charta einer Liste passt, aber der Absender aufgrund der Verletzung eine Warnung erhält oder gesperrt wird. Werbung für Produkte oder Dienstleistungen, die nichts mit FreeBSD zu tun haben, sind verboten. Ist die Werbung als Spam verschickt worden, wird der Absender sofort gesperrt. Chartas einzelner Listen: &a.acpi.name; Die Entwicklung von ACPI und Energieverwaltungsfunktionen. &a.afs.name; Andrew File System Auf dieser Liste wird die Portierung des AFS von CMU/Transarc diskutiert. &a.announce.name; Wichtige Ereignisse und Meilensteine Diese Liste ist für Personen, die nur an den wenigen Ankündigungen wichtiger Ereignisse interessiert sind. Die Ankündigungen betreffen Schnappschüsse und Releases, neue Merkmale von FreeBSD und die Suche nach freiwilligen Mitarbeitern. Auf der Liste herrscht wenig Verkehr und sie wird streng moderiert. &a.arch.name; Architektur und Design von FreeBSD Auf dieser technischen Liste wird die FreeBSD-Architektur diskutiert. Beispiele für angemessene Themen sind: Wie das Bausystem zu verändern ist, damit verschiedene Läufe gleichzeitig möglich sind. Was am VFS geändert werden muss, damit Heidemann Schichten eingesetzt werden können. Wie die Schnittstelle der Gerätetreiber angepasst werden muss, damit derselbe Treiber auf verschiedenen Bussen und Architekturen eingesetzt werden kann. Wie ein Netzwerktreiber geschrieben wird. &a.audit.name; Source Code Audit Project Dies ist die Liste des FreeBSD-Source Code Audit Projects. Ursprünglich war vorgesehen, hier nur sicherheitsrelevante Änderungen zu diskutieren, doch ist die Charta auf alle Änderungen ausgedehnt worden. Zu dieser Liste werden viele Korrekturen gesandt, so dass sie für den normalen FreeBSD-Benutzer von wenig Wert ist. Diskussionen über Sicherheit, die sich nicht auf die Änderung von Quellcode beziehen, finden auf der Mailingliste &a.security; statt. Auf der anderen Seite sind aber alle Entwickler aufgefordert, ihre Korrekturen zur Überprüfung an diese Liste zu senden. Dies trifft besonders auf Änderungen zu, in denen ein Fehler die Integrität des Gesamtsystems gefährdet. &a.binup.name; FreeBSD Binary Update Project Auf dieser Liste wird das Design und die Implementierung von binup diskutiert. Weitere Themen sind Fehlerbehebungen, Fehlerberichte und Anfragen nach Neuerungen. Die CVS-Logmeldungen des Projekts werden ebenfalls auf diese Liste gesendet. &a.bluetooth.name; &bluetooth; unter FreeBSD Diese Liste diskutiert Probleme der Verwendung von &bluetooth; unter FreeBSD. Designprobleme, Implementierungsdetails, Patches, Fehler- und Statusberichte, Verbesserungsvorschläge sowie alle anderen mit &bluetooth; zusammenhängenden Themen werden hier behandelt. &a.bugbusters.name; Bearbeitung der Fehlerberichte Auf dieser Liste wird die Bearbeitung der Fehlerberichte (PR, engl. problem report) koordiniert. Sie dient dem Bugmeister und allen Leuten, die ein Interesse an der Datenbank der Fehlerberichte haben, als Diskussionsforum. Auf dieser Liste werden keine spezifischen Fehler, Fehlerbehebungen oder PRs diskutiert. &a.bugs.name; Fehlerberichte Auf dieser Liste werden Fehlerberichte gesammelt. Fehlerberichte sollten immer mit &man.send-pr.1; oder dem Web Formular erstellt werden. &a.chat.name; Nicht technische Themen, die die FreeBSD Gemeinschaft betreffen Auf dieser Liste werden nicht-technische soziale Themen diskutiert, die nicht auf die anderen Listen passen. Hier kann diskutiert werden, ob Jordan wie ein Frettchen aus einem Zeichentrickfilm aussieht oder nicht, ob grundsätzlich in Großbuchstaben geschrieben werden soll, wer zuviel Kaffee trinkt, wo das beste Bier gebraut wird und wer Bier in seinem Keller braut. Gelegentlich können auf den technischen Listen wichtige Ereignisse wie Feste, Hochzeiten oder Geburten angekündigt werden, aber nachfolgende Nachrichten sollten auf die Liste &a.chat; gesendet werden. &a.core.name; FreeBSD Core Team Dies ist eine interne Mailingliste des FreeBSD Core Teams. Wenn in einer wichtigen Angelegenheit, die FreeBSD betrifft, entschieden werden muss oder die Angelegenheit einer genauen Prüfung unterzogen werden muss, können Nachrichten an diese Liste gesendet werden. &a.current.name; Gebrauch von &os.current; Diese Mailingliste ist für die Benutzer von &os.current; eingerichtet. Auf ihr finden sich Ankündigungen über Besonderheiten von -CURRENT, von denen Benutzer betroffen sind. Sie enthält weiterhin Anweisungen, wie man ein System auf -CURRENT hält. Jeder, der ein -CURRENT System besitzt, muss diese Liste lesen. Die Liste ist nur für technische Inhalte bestimmt. &a.cvsweb.name; FreeBSD CVSweb Project Technische Diskussion über den Gebrauch, die Entwicklung und die Pflege von FreeBSD-CVSweb. &a.doc.name; Documentation Project Auf dieser Mailingliste werden Themen und Projekte diskutiert, die im Zusammenhang mit der Erstellung der FreeBSD Dokumentation stehen. The FreeBSD Documentation Project besteht aus den Mitgliedern dieser Liste. Diese Liste steht jedem offen, Sie sind herzlich eingeladen teilzunehmen und mitzuhelfen. &a.drivers.name; Gerätetreiber für &os; schreiben Ein Forum für technische Diskussionen über das Schreiben von Gerätetreibern für &os;. Daher werden hier vor allem Fragen behandelt, die sich um das Schreiben von Treibern, die die APIs des Kernels nutzen, drehen. &a.eclipse.name; Für FreeBSD-Anwender, die die Eclipse IDE deren Werkzeuge, Anwendungen und Ports einsetzen Das Ziel dieser Liste ist es, Unterstützung für all jene zu bieten, die mit der Installation, Verwendung, Entwicklung und Wartung der Eclipse-IDE sowie deren Werkzeugen und Anwendungen unter &os; zu tun haben. Außerdem wird Hilfe bei der Portierung der IDE und deren Plugins auf &os; geboten. Zusätzlich soll diese Liste einen Informationsaustausch zwischen der Eclipse- und der &os;-Gemeinde ermöglichen, von dem beide Seiten profitieren können. Obwohl sich diese Liste auf die Anforderungen von Anwendern konzentriert, möchte sie auch Entwickler unterstützen, die an der Entwicklung von &os;-spezifischen Anwendungen unter Nutzung des Eclipse-Frameworks arbeiten. &a.embedded.name; FreeBSD in eingebetteten Anwendungen einsetzen Diese Liste diskutiert Themen im Zusammenhang mit dem Einsatz von ungewöhnlich kleinen und eingebettenen FreeBSD-Installationen. Auf dieser Liste werden ausschließlich technische Diskussionen geführt. Unter eingebetteten Systemen versteht diese Liste Systeme, bei denen es sich nicht um Desktopsysteme handelt, und die in der Regel nur einem einzigen Zweck dienen (im Gegensatz zu Desktopsystemen, die für die Bewältigung verschiedenster Aufgaben geeignet sind). In die Gruppe der eingebetteten Systeme gehören beispielsweise Telephone, Netzwerkgeräte wie Router, Switche oder PBX-Systeme, PDAs, Verkaufsautomaten und andere mehr. &a.emulation.name; Emulation anderer Systeme wie Linux, &ms-dos; oder &windows; Hier werden technische Diskussionen zum Einsatz von Programmen, die für andere Betriebssysteme geschrieben wurden, geführt. &a.eol.name; Support für FreeBSD-bezogene Software, die vom FreeBSD Project offiziell nicht mehr unterstützt wird. Diese Liste ist für all jene interessant, die Unterstützung für vom FreeBSD Project offiziell nicht mehr (in Form von Security Advisories oder Patches) unterstützte Programme benötigen oder anbieten wollen. &a.firewire.name; &firewire; (iLink, IEEE 1394) Auf dieser Liste wird das Design und die Implementierung eines &firewire;-Subsystems (auch IEEE 1394 oder iLink) für FreeBSD diskutiert. Relevante Themen sind die Standards, Busse und ihre Protokolle, sowie Adapter, Karten und Chipsätze. Des Weiteren die Architektur und der Quellcode, die nötig sind, diese Geräte zu unterstützen. &a.fs.name; Dateisysteme Diskussionen über FreeBSD-Dateisysteme. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. &a.geom.name; GEOM Diskussion über GEOM und verwandte Implementierungen. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. &a.gnome.name; GNOME Diskussionen über die grafische Benutzeroberfläche GNOME. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. &a.ipfw.name; IP Firewall Diskussionen über eine Neubearbeitung des IP-Firewall Quelltexts in FreeBSD. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. &a.ia64.name; Portierung von FreeBSD auf die IA64-Plattform Dies ist eine technische Liste für diejenigen, die FreeBSD auf die IA-64 Plattform von &intel; portieren. Themen sind die Probleme bei der Portierung und deren Lösung. Interessierte, die der Diskussion folgen wollen, sind ebenfalls willkommen. &a.isdn.name; ISDN Subsystem Mailingliste für die Entwickler des ISDN Subsystems von FreeBSD. &a.java.name; &java; Entwicklung Mailingliste, auf der die Entwicklung von &java; Anwendungen für FreeBSD sowie die Portierung und Pflege von &jdk;s diskutiert wird. &a.jobs.name; Stellenangebote und Stellengesuche In diesem Forum können Sie Stellenangebote und Stellengesuche, die mit &os; zu tun haben, aufgeben. Wenn Sie beispielsweise eine Beschäftigung im &os;-Umfeld suchen oder eine freie Stelle haben, die mit &os; zu tun hat, ist dies der richtige Ort. Diese Mailingliste ist nicht der Ort, um über allgemeine Beschäftigungsprobleme zu diskutieren; dazu gibt es anderswo geeignete Foren. Beachten Sie bitte, dass diese Liste, wie die anderen FreeBSD.org-Listen, weltweit gelesen wird. Geben Sie daher bitte den Arbeitsort genau an. Geben Sie bitte auch an, ob Telearbeit möglich ist und ob Hilfen für einen Umzug angeboten werden. Benutzen Sie in der E-Mail bitte nur offene Formate – vorzugsweise nur das Textformat. Andere Formate, wie PDF oder HTML, werden von den Lesern akzeptiert. Nicht offene Formate wie µsoft; Word (.doc) werden vom Server der Liste abgelehnt. &a.hackers.name; Technische Diskussionen Dies ist ein Forum für technische Diskussionen über FreeBSD. Leute, die aktiv an FreeBSD arbeiten, können hier Probleme und deren Lösungen diskutieren. Interessierte, die den Diskussionen folgen wollen, steht die Liste ebenfalls offen. Auf dieser Liste finden nur technische Diskussionen statt. &a.hardware.name; Allgemeine Diskussionen über Hardware Allgemeine Diskussionen über die Hardware, auf der FreeBSD läuft: Probleme und Ratschläge welche Hardware man kaufen sollte und welche nicht. &a.hubs.name; FreeBSD-Spiegel Ankündigungen und Diskussionsforum für Leute, die FreeBSD-Spiegel betreiben. &a.isp.name; Themen für Internet Service Provider Diese Liste ist für Internet Service Provider (ISP), die FreeBSD benutzen. Auf dieser Liste finden nur technische Diskussionen statt. &a.kde.name; KDE Diskussionen über KDE auf FreeBSD-Systemen. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. &a.openoffice.name; OpenOffice.org Portierung und Pflege von OpenOffice.org und &staroffice;. &a.performance.name; Diskussionsforum mit dem Ziel, die Leistung von FreeBSD zu verbessern. Auf dieser Liste diskutieren Hacker, Systemadministratoren und andere Interessierte die Leistung von FreeBSD. Zulässige Themen sind beispielsweise Systeme unter hoher Last, Systeme mit Leistungsproblemen oder Systeme, die Leistungsgrenzen von FreeBSD überwinden. Jeder, der mithelfen will, die Leistung von FreeBSD zu verbessern, sollte diese Liste abonnieren. Die Liste ist technisch anspruchsvoll und geeignet für erfahrene FreeBSD-Benutzer, Hacker oder Administratoren, die FreeBSD schnell, robust und skalierbar halten wollen. Auf der Liste werden Beiträge gesammelt oder Fragen nach ungelösten Problemen beantwortet. Sie ist kein Ersatz für das gründliche Studium der Dokumentation. &a.pf.name; Diskussionen und Fragen zu packet filter als Firewallsystem. FreeBSD-spezische Diskussionen zur Benutzung von packet filter (pf) als Firewallsystem. Sowohl technische Diskussionen als auch Anwenderfragen sind auf dieser Liste willkommen. Fragen zum ALTQ QoS Framework können ebenfalls gestellt werden. &a.platforms.name; Portierung auf nicht-&intel; Plattformen Plattformübergreifende Themen und Vorschläge für die Portierung auf nicht-&intel; Plattformen. Auf dieser Liste finden nur technische Diskussionen statt. &a.policy.name; Grundsatzentscheidungen des Core Teams Diese Mailingliste ist für Grundsatzentscheidungen des FreeBSD-Core-Teams. Sie trägt wenige Nachrichten und ist nur zum Lesen gedacht. &a.ports.name; Diskussion über die Ports-Sammlung Diskussionen über die FreeBSD-Ports-Sammlung und die Infrastruktur der Sammlung. Die Liste dient auch der allgemeinen Koordination der Dinge, die die Ports-Sammlung betreffen. Auf dieser Liste finden nur technische Diskussionen statt. &a.ports-bugs.name; Diskussion über Fehler in den Ports Diskussion über Fehler in der Ports-Sammlung (/usr/ports), neue Ports oder Änderungen an bestehenden Ports. Auf dieser Liste finden nur technische Diskussionen statt. &a.proliant.name; Technische Diskussionen zum Einsatz von FreeBSD auf der ProLiant-Serverplattform von HP Diese Mailingliste bietet technische Diskussionen zum Einsatz von FreeBSD auf der ProLiant-Serverplattform von HP, darunter Fragen zu ProLiant-spezifischen Treibern, Konfigurationswerkzeugen sowie BIOS-Aktualisierungen. Daher ist sie die erste Anlaufstelle, um die Module hpasmd, hpasmcli, sowie hpacucli zu diskutieren. &a.python.name; Python unter FreeBSD Diese technische Liste dient der Verbesserung der Python-Unterstützung unter FreeBSD. Sie wird von Personen gelesen, die an der Portierung von Python, von Python-Modulen Dritter und von Zope nach FreeBSD arbeiten. Personen, die diese technischen Diskussion verfolgen wollen, sind ebenfalls willkommen. &a.questions.name; Benutzerfragen Auf dieser Mailingliste können Fragen zu FreeBSD gestellt werden. Fragen Sie bitte nicht nach Anleitungen, wenn Sie nicht sicher sind, dass Ihre Frage wirklich technischer Natur ist. &a.ruby.name; Ruby unter FreeBSD Diese technische Liste dient der Verbesserung der Ruby-Unterstützung unter FreeBSD. Sie wird von Personen gelesen, die an der Portierung von Ruby, von Bibliotheken Dritter und Frameworks arbeiten. Personen, die diese technischen Diskussionen verfolgen wollen, sind ebenfalls willkommen. &a.scsi.name; SCSI Subsystem Diese Mailingliste ist für die Entwickler des SCSI Subsystems von FreeBSD. Auf dieser Liste finden nur technische Diskussionen statt. &a.security.name; Sicherheitsthemen Sicherheitsthemen, die FreeBSD betreffen, wie DES, Kerberos, bekannte Sicherheitslöcher und Fehlerbehebungen. Stellen Sie bitte auf dieser Liste keine allgemeinen Fragen zum Thema Sicherheit. Willkommen sind allerdings Beiträge zur FAQ, das heißt eine Frage mit der passenden Antwort. Auf dieser Liste finden nur technische Diskussionen statt. &a.security-notifications.name; Ankündigungen zum Thema Sicherheit Ankündigungen über Sicherheitsprobleme von FreeBSD und deren Behebungen. Diese Liste ist kein Diskussionsforum, benutzen Sie &a.security;, um Sicherheitsthemen zu diskutieren. &a.small.name; Gebrauch von FreeBSD in eingebetteten Systemen. Diese Liste für ungewöhnlich kleine FreeBSD Installation oder den Einsatz von FreeBSD in eingebetteten Systemen gedacht. Auf dieser Liste finden nur technische Diskussionen statt. Diese Liste wurde durch &a.embedded.name; ersetzt. &a.stable.name; Gebrauch von &os.stable;. Diese Mailingliste ist für die Benutzer von &os.stable; eingerichtet. Auf ihr finden sich Ankündigungen über Besonderheiten von -STABLE, von denen Benutzer betroffen sind. Sie enthält weiterhin Anweisungen, wie man ein System auf -STABLE hält. Jeder, der ein -STABLE System besitzt, muss diese Liste lesen. Die Liste ist nur für technische Inhalte bestimmt. &a.standards.name; Konformität von FreeBSD mit den C99- und &posix; Standards Dieses Forum ist für technische Diskussionen über die Konformität von FreeBSD mit den C99- und POSIX-Standards. &a.usb.name; USB-Unterstützung in &os;. Auf dieser Liste finden nur technische Diskussionen statt. &a.usergroups.name; Koordination von Benutzergruppen Diese Liste ist für Koordinatoren lokaler Benutzergruppen und einem ausgesuchten Mitglied des Core Teams eingerichtet worden. Der Inhalt sollte Inhalte von Treffen und die Koordination von Projekten mehrerer Benutzergruppen beschränkt sein. &a.vendors.name; Koordination von Händlern Koordination zwischen dem FreeBSD Project und Händlern, die Soft- und Hardware für FreeBSD verkaufen. + + + &a.virtualization.name; + + + Diskussion über verschiedene + Virtualisierungsverfahren, die von &os; unterstützt + werden + + Eine Liste, auf der die verschiedenen + Virtualisierungsverfahren, die von &os; unterstützt werden, + diskutiert werden. Auf der einen Seite liegt der Fokus auf der + Implementierung der zugrundeliegenden Funktionalitäten, + ebenso wie das Hinzufügen neuer Eigenschaften. Auf der + anderen Seite haben die Benutzer ein Forum, um Fragen bei + Problemen zu stellen oder um ihre Anwendungsfälle zu + besprechen. + + Filter der Mailinglisten Um die Verbreitung von Spam, Viren und anderen nicht erwünschten E-Mails zu verhindern, werden auf den &os;-Mailinglisten Filter eingesetzt. Dieser Abschnitt beschreibt nur einen Teil der zum Schutz der Listen eingesetzten Filter. Auf den Mailinglisten sind nur die unten aufgeführten Anhänge erlaubt. Anhänge mit einem anderen MIME-Typ werden entfernt, bevor eine E-Mail an eine Liste verteilt wird. application/octet-stream application/pdf application/pgp-signature application/x-pkcs7-signature message/rfc822 multipart/alternative multipart/related multipart/signed text/html text/plain text/x-diff text/x-patch Einige Mailinglisten erlauben vielleicht Anhänge mit anderem MIME-Typ. Für die meisten Mailinglisten sollte die obige Aufzählung aber richtig sein. Wenn eine E-Mail sowohl aus einer HTML-Version wie auch aus einer Text-Version besteht, wird die HTML-Version entfernt. Wenn eine E-Mail nur im HTML-Format versendet wurde, wird sie in reinen Text umgewandelt. Usenet-News Neben den Gruppen, die sich ausschließlich mit BSD beschäftigen, gibt es viele weitere in denen über FreeBSD diskutiert wird, oder die für FreeBSD-Benutzer wichtig sind. Warren Toomey wkt@cs.adfa.edu.au stellte großzügig suchbare Archive einiger dieser Gruppen bereit. BSD spezifische Gruppen comp.unix.bsd.freebsd.announce comp.unix.bsd.freebsd.misc de.comp.os.unix.bsd (deutsch) fr.comp.os.bsd (französisch) it.comp.os.bsd (italienisch) tw.bbs.comp.386bsd (Traditionelles Chinesisch) Weitere UNIX Gruppen comp.unix comp.unix.questions comp.unix.admin comp.unix.programmer comp.unix.shell comp.unix.user-friendly comp.security.unix comp.sources.unix comp.unix.advocacy comp.unix.misc comp.bugs.4bsd comp.bugs.4bsd.ucb-fixes comp.unix.bsd X Window System comp.windows.x.i386unix comp.windows.x comp.windows.x.apps comp.windows.x.announce comp.windows.x.intrinsics comp.windows.x.motif comp.windows.x.pex comp.emulators.ms-windows.wine World Wide Web Server &chap.eresources.www.inc; E-Mail Adressen Die folgenden Benutzergruppen stellen ihren Mitgliedern für die Arbeit an FreeBSD E-Mail-Adressen zur Verfügung. Der aufgeführte Administrator behält sich das Recht vor, die Adresse zu sperren, wenn sie missbraucht wird. Domain Angebot Benutzergruppe Administrator ukug.uk.FreeBSD.org nur zum Weiterleiten freebsd-users@uk.FreeBSD.org Lee Johnston lee@uk.FreeBSD.org Shell Accounts Die folgenden Benutzergruppen stellen Personen, die das FreeBSD Projekt aktiv unterstützen, Shell-Accounts zur Verfügung. Der aufgeführte Administrator behält sich das Recht vor, den Account zu sperren, wenn er missbraucht wird. Rechner Zugriff Angebot Administrator dogma.freebsd-uk.eu.org Telnet/FTP/SSH E-Mail, Webseiten, Anonymous FTP Lee Johnston lee@uk.FreeBSD.org diff --git a/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml b/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml index d4a1d79ced..205ccb7ab3 100644 --- a/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml @@ -1,1283 +1,1283 @@ Jim Mock Neu zusammengestellt, umstrukturiert und um Abschnitte erweitert durch Sascha Edelburg Übersetzt von Einführung Übersicht Herzlichen Dank für Ihr Interesse an &os;! Das folgende Kapitel behandelt verschiedene Aspekte des &os; Projects wie dessen geschichtliche Entwicklung, dessen Ziele oder dessen Entwicklungsmodell. Nach dem Durcharbeiten des Kapitels wissen Sie über folgende Punkte Bescheid: Wo &os; im Vergleich zu anderen Betriebssystemen steht Die Geschichte des &os; Projects Die Ziele des &os; Projects Die Grundlagen des &os;-Open-Source-Entwicklungsmodells Und natürlich wo der Name &os; herrührt Willkommen bei &os;! 4.4BSD-Lite &os; ist ein auf 4.4BSD-Lite basierendes Betriebssystem für Intel (x86 und &itanium;), AMD64, Alpha und Sun &ultrasparc; Rechner. An Portierungen zu anderen Architekturen wird derzeit gearbeitet. Mehr zu Geschichte von &os; können Sie im kurzen geschichtlichen Abriss zu &os; oder im Abschnitt Das aktuelle &os;-Release nachlesen. Falls Sie das &os; Project unterstützen wollen (mit Quellcode, Hardware- oder Geldspenden), sollten Sie den Artikel &os; unterstützen lesen. Was kann &os;? &os; hat zahlreiche bemerkenswerte Eigenschaften. Um nur einige zu nennen: Präemptives Multitasking Präemptives Multitasking mit dynamischer Prioritätsanpassung zum reibungslosen und ausgeglichenen Teilen der Systemressourcen zwischen Anwendungen und Anwendern, selbst unter schwerster Last. Mehrbenutzerbetrieb Der Mehrbenutzerbetrieb von &os; erlaubt es, viele Anwender gleichzeitig am System mit verschiedenen Aufgaben arbeiten zu lassen. Beispielsweise Geräte wie Drucker oder Bandlaufwerke, die sich nur schwerlich unter allen Anwendern des Systems oder im Netzwerk teilen lassen, können durch Setzen von Verwendungsbeschränkungen auf Benutzer oder Benutzergruppen wichtige Systemressourcen vor Überbeanspruchung schützen. TCP/IP-Netzwerkfähigkeit Hervorragende TCP/IP-Netzwerkfähigkeit mit Unterstützung von Industriestandards wie SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec und IPv6. Das heißt, Ihr &os;-System kann in einfachster Weise mit anderen Systemen interagieren. Zudem kann es als Server-System im Unternehmen wichtige Aufgaben übernehmen, beispielsweise als NFS- oder E-Mail-Server oder es kann Ihren Betrieb durch HTTP- und FTP-Server beziehungsweise durch Routing und Firewalling Internet-fähig machen. Speicherschutz Der Speicherschutz stellt sicher, dass Anwendungen (oder Anwender) sich nicht gegenseitig stören. Stürzt eine Anwendung ab, hat das keine Auswirkung auf andere Prozesse. &os; ist ein 32-Bit-Betriebssystem (64-Bit auf Alpha, &itanium;, AMD64, und &ultrasparc;) und wurde als solches von Grund auf neu entworfen. X-Window-System XFree86 Das X-Window-System (X11R7) als Industriestandard bietet eine grafische Benutzeroberfläche (GUI). Minimale Voraussetzung zur Verwendung ist lediglich eine Grafikkarte und ein Bildschirm, die beide den VGA-Modus unterstützen. Binärkompatibilität Linux Binärkompatibilität SCO Binärkompatibilität SVR4 Binärkompatibilität BSD/OS Binärkompatibilität NetBSD Binärkompatibilität mit vielen unter verschiedenen Betriebssystemen erstellten Programmen wie Linux, SCO, SVR4, BSDI und NetBSD. Tausende von sofort lauffähigen Anwendungen sind aus den Ports- und Packages-Sammlungen für &os; verfügbar. Warum mühselig im Netz Software suchen, wenn sie bereits hier vorhanden ist? Tausende zusätzliche leicht zu portierende Anwendungen sind über das Internet zu beziehen. &os; ist Quellcode-kompatibel mit den meisten kommerziellen &unix; Systemen. Daher bedürfen Anwendungen häufig nur geringer oder gar keiner Anpassung, um auf einem &os;-System zu kompilieren. virtueller Speicher Seitenweise anforderbarer Virtueller Speicher und der merged VM/buffer cache-Entwurf bedient effektiv den großen Speicherhunger mancher Anwendungen bei gleichzeitigem Aufrechterhalten der Bedienbarkeit des Systems für weitere Benutzer. Symmetrisches Multi-Processing (SMP) SMP-Unterstützung für Mehrprozessorsysteme Kompiler C Kompiler C++ Kompiler FORTRAN Ein voller Satz von C, C++ und Fortran- Entwicklungswerkzeugen. Viele zusätzliche Programmiersprachen für Wissenschaft und Entwicklung sind aus der Ports- und Packages-Sammlung zu haben. Quellcode Quellcode für das gesamte System bedeutet größtmögliche Kontrolle über Ihre Umgebung. Warum sollte man sich durch proprietäre Lösungen knebeln und sich auf Gedeih und Verderb der Gnade eines Herstellers ausliefern, wenn man doch ein wahrhaft offenes System haben kann? Umfangreiche Online-Dokumentation. 4.4BSD-Lite Computer Systems Research Group (CSRG) U.C. Berkeley &os; basiert auf dem 4.4BSD-Lite-Release der Computer Systems Research Group (CSRG) der Universität von Kalifornien in Berkeley und führt die namhafte Tradition der Entwicklung von BSD-Systemen fort. Zusätzlich zu der herausragenden Arbeit der CSRG hat das &os; Project tausende weitere Arbeitsstunden investiert, um das System zu verfeinern und maximale Leistung und Zuverlässigkeit bei Alltagslast zu bieten. Während viele kommerzielle Riesen Probleme haben PC-Betriebssysteme mit derartigen Funktionen, Leistungpotential und Zuverlässigkeit anzubieten, kann &os; damit schon jetzt aufwarten! Die Anwendungsmöglichkeiten von &os; werden nur durch Ihre Vorstellungskraft begrenzt. Von Software-Entwicklung bis zu Produktionsautomatisierung, von Lagerverwaltung über Abweichungskorrektur bei Satelliten; Falls etwas mit kommerziellen &unix; Produkten machbar ist, dann ist es höchstwahrscheinlich auch mit &os; möglich. &os; profitiert stark von tausenden hochwertigen Anwendungen aus wissenschaftlichen Instituten und Universitäten in aller Welt. Häufig sind diese für wenig Geld oder sogar kostenlos zu bekommen. Kommerzielle Anwendungen sind ebenso verfügbar und es werden täglich mehr. Durch den freien Zugang zum Quellcode von &os; ist es in unvergleichbarer Weise möglich, das System für spezielle Anwendungen oder Projekte anzupassen. Dies ist mit den meisten kommerziellen Betriebssystemen einfach nicht möglich. Beispiele für Anwendungen, die unter &os; laufen, sind: Internet-Dienste: Die robuste TCP/IP-Implementierung in &os; macht es zu einer idealen Plattform für verschiedenste Internet-Dienste, wie zum Beispiel: FTP-Server FTP-Server HTTP-Server HTTP-Server (Standard-Web-Server oder mit SSL-Verschlüsselung) IPv4- und IPv6-Routing Firewall NAT Firewalls und NAT-Gateways (IP-Masquerading) E-Mail E-Mail-Server Usenet Usenet-News und Foren (BBS) Zum Betreiben von &os; reicht schon ein günstiger 386-PC. Wenn es das Wachstum Ihres Unternehmens verlangt, kann &os; aber auch auf einem hochgerüsteten 4-Wege-System mit Xeon-Prozessoren und RAID-Plattenspeicher Verwendung finden. Bildung: Sind Sie Informatikstudent oder Student eines verwandten Studiengangs? Die praktischen Einblicke in &os; sind die beste Möglichkeit etwas über Betriebssysteme, Rechnerarchitektur und Netzwerke zu lernen. Einige frei erhältliche CAD-, mathematische und grafische Anwendungen sind sehr nützlich, gerade für diejenigen, die &os; nicht zum Selbstzweck, sondern als Arbeitsmittel einsetzen. Wissenschaft: Mit dem frei verfügbaren Quellcode für das gesamte System bildet &os; ein exzellentes Studienobjekt in der Disziplin der Betriebssysteme, wie auch in anderen Zweigen der Informatik. Es ist beispielsweise denkbar, das räumlich getrennte Gruppen gemeinsam an einer Idee oder Entwicklung arbeiten. Das Konzept der freien Verfügbarkeit und -nutzung von &os; ermöglicht so einen Gebrauch, auch ohne sich groß Gedanken über Lizenzbedingungen oder -beschränkungen machen zu müssen. Router DNS-Server Netzwerkfähigkeit: Brauchen Sie einen neuen Router? Oder einen Name-Server (DNS)? Eine Firewall zum Schutze Ihres Intranets vor Fremdzugriff? &os; macht aus dem in der Ecke verstaubenden 386- oder 486-PC im Handumdrehen einen leistungsfähigen Router mit anspruchsvollen Packet-Filter-Fähigkeiten. X-Window-System XFree86 X-Window-System Accelerated-X X-Window-Workstation: &os; ist eine gute Wahl für kostengünstige X-Terminals mit dem frei verfügbaren X11-Server. Im Gegensatz zu einem X-Terminal erlaubt es &os;, viele Anwendungen lokal laufen zu lassen, was die Last eines zentralen Servers erleichtern kann. &os; kann selbst plattenlos starten, was einzelne Workstations noch günstiger macht und die Wartung erleichtert. GNU-Compiler-Collection Software-Entwicklung: Das Standard-System von &os; wird mit einem kompletten Satz an Entwicklungswerkzeugen bereitgestellt, unter anderem mit dem bekannten GNU C/C++-Kompiler und -Debugger. &os; ist sowohl in Form von Quellcode als auch in Binärform auf CD-ROM, DVD und über anonymous FTP erhältlich. Näheres zum Bezug von &os; enthält . Wer benutzt &os;? Anwender Bekannte &os;-Anwender &os; dient als Plattform für Geräte und Produkte einiger der weltgrößten IT-Firmen, darunter: Apple Apple Cisco Cisco Juniper - Juniper + Juniper NetApp NetApp Außerdem laufen einige der größten Internet-Auftritte unter &os;, beispielsweise: Yahoo! Yahoo! Yandex/primary> Yandex Apache Apache Rambler Rambler Sina Sina Pair Networks Pair Networks Sony Japan Sony Japan Netcraft Netcraft Weathernews Weathernews TELEHOUSE America TELEHOUSE America Das &os; Project Der folgende Abschnitt bietet einige Hintergrundinformationen zum &os; Project, einschließlich einem kurzen geschichtlichen Abriss, den Projektzielen und dem Entwicklungsmodell. Jordan Hubbard Beigesteuert von Kurzer geschichtlicher Abriss zu &os; 386BSD Patchkit Hubbard, Jordan Williams, Nate Grimes, Rod &os; Project Geschichte Das &os; Project erblickte das Licht der Welt Anfang 1993 teils als Auswuchs des Unofficial 386BSD Patchkit unter der Regie der letzten drei Koordinatoren des Patchkits: Nate Williams, Rod Grimes und mir. 386BSD Unser eigentliches Ziel war es, einen zwischenzeitlichen Abzug von 386BSD zu erstellen, um ein paar Probleme zu beseitigen, die das Patchkit-Verfahren nicht lösen konnte. Einige von Ihnen werden sich in dem Zusammenhang noch an die frühen Arbeitstitel 386BSD 0.5 oder 386BSD Interim erinnern. Jolitz, Bill 386BSD war das Betriebssystem von Bill Jolitz. Dieses litt bis zu diesem Zeitpunkt heftig unter fast einjähriger Vernachlässigung. Als das Patchkit mit jedem Tag anschwoll und unhandlicher wurde, waren wir einhellig der Meinung, es müsse etwas geschehen. Wir entschieden uns Bill Jolitz zu helfen, indem wir den übergangsweise bereinigten Abzug zur Verfügung stellten. Diese Pläne wurden unschön durchkreuzt als Bill Jolitz plötzlich seine Zustimmung zu diesem Projekt zurückzog, ohne einen Hinweis darauf, was stattdessen geschehen sollte. Greenman, David Walnut Creek CDROM Es hat nicht lange gedauert zu entscheiden, dass das Ziel es wert war, weiterverfolgt zu werden, selbst ohne Bills Unterstützung. Also haben wir den von David Greenman geprägten Namen &os; angenommen. Unsere anfänglichen Ziele setzten wir nach Rücksprache mit den damaligen Benutzern des Systems fest. Und als deutlich wurde, das Projekt würde möglicherweise Realität, nahm ich Kontakt mit Walnut Creek CDROM auf, mit einem Auge darauf, den Vertriebsweg für die vielen Missbegünstigten zu verbessern, die keinen einfachen Zugang zum Internet hatten. Walnut Creek CDROM unterstützte nicht nur die Idee des CD-ROM-Vertriebs, sondern stellte sogar dem Projekt einen Arbeitsrechner und eine schnelle Internetverbindung zur Verfügung. Ohne den beispiellosen Glauben von Walnut Creek CDROM in ein zu der Zeit absolut unbekanntes Projekt, gäbe es &os; in der heutigen Form wohl nicht. 4.3BSD-Lite Net/2 U.C. Berkeley 386BSD Free Software Foundation Die erste auf CD-ROM (und netzweit) verfügbare Veröffentlichung war &os; 1.0 im Dezember 1993. Diese basierte auf dem Band der 4.3BSD-Lite (Net/2) der Universität von Kalifornien in Berkeley. Viele Teile stammten aus 386BSD und von der Free Software Foundation. Gemessen am ersten Angebot, war das ein ziemlicher Erfolg und wir ließen dem das extrem erfolgreiche &os; 1.1 im Mai 1994 folgen. Novell U.C. Berkeley Net/2 AT&T Zu dieser Zeit formierten sich unerwartete Gewitterwolken am Horizont, als Novell und die Universität von Kalifornien in Berkeley (UCB) ihren langen Rechtsstreit über den rechtlichen Status des Berkeley Net/2-Bandes mit einem Vergleich beilegten. Eine Bedingung dieser Einigung war es, dass die UCB große Teile des Net/2-Quellcodes als belastet zugestehen musste, und dass diese Besitz von Novell sind, welches den Code selbst einige Zeit vorher von AT&T bezogen hatte. Im Gegenzug bekam die UCB den Segen von Novell, dass sich das 4.4BSD-Lite-Release bei seiner endgültigen Veröffentlichung als unbelastet bezeichnen darf. Alle Net/2-Benutzer sollten auf das neue Release wechseln. Das betraf auch &os;. Dem Projekt wurde eine Frist bis Ende Juli 1994 eingeräumt, das auf Net/2-basierende Produkt nicht mehr zu vertreiben. Unter den Bedingungen dieser Übereinkunft war es dem Projekt noch erlaubt ein letztes Release vor diesem festgesetzten Zeitpunkt herauszugeben. Das war &os; 1.1.5.1. &os; machte sich dann an die beschwerliche Aufgabe, sich Stück für Stück, aus einem neuen und ziemlich unvollständigen Satz von 4.4BSD-Lite-Teilen, wieder aufzubauen. Die Lite-Veröffentlichungen waren deswegen leicht, weil Berkeleys CSRG große Code-Teile, die für ein start- und lauffähiges System gebraucht wurden, aufgrund diverser rechtlicher Anforderungen entfernen musste und weil die 4.4-Portierung für Intel-Rechner extrem unvollständig war. Das Projekt hat bis November 1994 gebraucht diesen Übergang zu vollziehen, was dann zu dem im Netz veröffentlichten &os; 2.0 und zur CD-ROM-Version (im späten Dezember) führte. Obwohl &os; gerade die ersten Hürden genommen hatte, war dieses Release ein maßgeblicher Erfolg. Diesem folgte im Juni 1995 das robustere und einfacher zu installierende &os; 2.0.5. Im August 1996 veröffentlichten wir &os; 2.1.5. Es schien unter ISPs und der Wirtschaft beliebt genug zu sein, ein weiteres Release aus dem 2.1-STABLE-Zweig zu rechtfertigen. Das war &os; 2.1.7.1. Es wurde im Februar 1997 veröffentlicht und bildete das Ende des Hauptentwicklungszweiges 2.1-STABLE. Derzeit unterliegt dieser Zweig dem Wartungsmodus, das heißt, es werden nur noch Sicherheitsverbesserungen und die Beseitigung von kritischen Fehlern vorgenommen (RELENG_2_1_0). &os; 2.2 entsprang dem Hauptentwicklungszweig (-CURRENT) im November 1996 als RELENG_2_2-Zweig und das erste komplette Release (2.2.1) wurde im April 1997 herausgegeben. Weitere Veröffentlichungen des 2.2-Zweiges gab es im Sommer und Herbst 1997. Das letzte Release des 2.2-Zweiges bildete die Version 2.2.8, die im November 1998 erschien. Das erste offizielle 3.0-Release erschien im Oktober 1998 und läutete das Endes des 2.2-Zweiges ein. Am 20. Januar 1999 teilte sich der Quellbaum in die Zweige 4.0-CURRENT und 3.X-STABLE. Auf dem 3.X-STABLE-Zweig wurden folgende Releases erstellt: 3.1 am 15. Februar 1999, 3.2 am 15. Mai 1999, 3.3 am 16. September 1999, 3.4 am 20. Dezember 1999 und 3.5 am 24. Juni 2000. Letzterem folgte ein paar Tage später das Release 3.5.1, welches einige akute Sicherheitslöcher von Kerberos stopfte und die letzte Veröffentlichung des 3.X-Zweiges darstellte. Eine weitere Aufspaltung, aus dem der 4.X-STABLE-Zweig hervorging, erfolgte am 13. März 2000. Bisher gab es mehrere Veröffentlichungen aus diesem Zweig: 4.0-RELEASE erschien im März 2000. Das letzte Release, 4.11-RELEASE, erschien im Januar 2005. Das lang erwartete 5.0-RELEASE wurde am 19. Januar 2003 veröffentlicht. Nach nahezu drei Jahren Entwicklungszeit brachte dieses Release die Unterstützung für Mehrprozessor-Systeme sowie für Multithreading. Mit diesem Release lief &os; erstmalig auf den Plattformen &ultrasparc; und ia64. Im Juni 2003 folgte 5.1-RELEASE. Das letzte 5.X-Release aus dem CURRENT-Zweig war 5.2.1-RELEASE, das im Februar 2004 veröffentlicht wurde. Der Zweig RELENG_5 wurde im August 2004 erzeugt. Als erstes Release dieses Zweiges wurde 5.3-RELEASE veröffentlicht, bei dem es sich gleichzeitig auch um das erste 5-STABLE-Release handelte. Das aktuelle 5.5-RELEASE (dem keine RELENG_5-Versionen mehr folgen werden) erschien im Mai 2006. Der Zweig RELENG_6 wurde im Juli 2005 erzeugt. 6.0-RELEASE, das erste Release des 6.X-Zweiges, wurde im November 2005 veröffentlicht. Das aktuelle &rel2.current;-RELEASE (dem - wahrscheinlich weitere RELENG_6-Versionen folgen werden) + keine weiteren RELENG_6-Versionen folgen werden) erschien im November 2008. Der Zweig RELENG_7 wurde im Oktober 2007 erzeugt. 7.0-RELEASE, das erste Release des 7.X-Zweiges, wurde im Februar 2008 veröffentlicht. Das aktuelle &rel.current;-RELEASE (dem weitere RELENG_7-Versionen folgen werden) erschien im Januar 2009. Zurzeit werden Projekte mit langem Entwicklungshorizont im Zweig 8.X-CURRENT verfolgt, Schnappschüsse von 8.X auf CD-ROM (und natürlich im Netz) werden bei fortlaufender Entwicklung auf dem Snapshot-Server zur Verfügung gestellt. Jordan Hubbard Beigesteuert von Ziele des &os; Projects &os; Project Ziele Das &os; Project stellt Software her, die ohne Einschränkungen für beliebige Zwecke eingesetzt werden kann. Viele von uns haben beträchtlich in Quellcode und Projekt investiert und hätten sicher nichts dagegen, hin und wieder ein wenig finanziellen Ausgleich dafür zu bekommen. Aber in keinem Fall bestehen wir darauf. Wir glauben unsere erste und wichtigste Mission ist es, Software für jeden Interessierten und zu jedem Zweck zur Verfügung zu stellen, damit die Software größtmögliche Verbreitung erlangt und größtmöglichen Nutzen stiftet. Das ist, glaube ich, eines der grundlegenden Ziele freier Software, welche wir mit größter Begeisterung unterstützen. GNU General Public License (GPL) GNU Lesser General Public License (LGPL) BSD Copyright Der Code in unserem Quellbaum, der unter die General Public License (GPL) oder die Library General Public License (LGPL) fällt, stellt geringfügig mehr Bedingungen. Das aber vielmehr im Sinne von eingefordertem Zugriff, als das übliche Gegenteil der Beschränkungen. Aufgrund zusätzlicher Abhängigkeiten, die sich durch die Verwendung von GPL-Software bei kommerziellem Gebrauch ergeben, bevorzugen wir daher Software unter dem transparenteren BSD-Copyright, wo immer es angebracht ist. Satoshi Asami Beigesteuert von Das Entwicklungsmodell von &os; &os; Project Entwicklungsmodell Die Entwicklung von &os; ist ein offener und vielseitiger Prozess. &os; besteht aus Beisteuerungen von Hunderten Leuten rund um die Welt, wie Sie aus der Liste der Beitragenden ersehen können. Die vielen Entwickler können aufgrund der Entwicklungs-Infrastruktur von &os; über das Internet zusammenarbeiten. Wir suchen ständig nach neuen Entwicklern, Ideen und jenen, die sich in das Projekt tiefer einbringen wollen. Nehmen Sie einfach auf der Mailingliste &a.hackers; Kontakt mit uns auf. Die Mailingliste &a.announce; steht für wichtige Ankündigungen, die alle &os;-Benutzer betreffen, zur Verfügung. Unabhängig davon ob Sie alleine oder mit anderen eng zusammen arbeiten, enthält die folgende Aufstellung nützliche Informationen über das &os; Project und dessen Entwicklungsabläufe. CVS- und SVN-Repositories CVS Repository Concurrent-Versions-System CVS SVN Repository Subversion SVN Der Hauptquellbaum von &os; wurde über viele Jahre ausschließlich mit CVS gepflegt, einem frei erhältlichen Versionskontrollsystem, welches mit &os; geliefert wird. Im Juni 2008 begann das &os; Project mit dem Umstieg auf SVN (Subversion). Dieser Schritt wurde notwendig, weil CVS aufgrund des rapide wachsenden Quellcodebaumes und dem Umfang der bereits gespeichterten Revisisionsinformationen an seine Grenzen zu stoßen begann. Während das Hauptrepository nun SVN verwendet, hat sich auf der Client-Seite nichts geändert. Werkzeuge wie CVSup und csup, die auf der alten CVS-Infrastruktur aufbauen, funktionieren weiterhin, weil alle Änderungen, die im SVN-Repository erfolgen, in das CVS-Repository portiert werden. Im Moment wird nur src-Quellcodebaum über SVN verwaltet. Die Dokumentation, die Webseiten sowie die Ports befinden sich weiterhin in einem CVS-Repository. Das Haupt-CVS-Repository läuft auf einer Maschine in Santa Clara, Kalifornien, USA. Von dort wird es auf zahlreiche Server in aller Welt gespiegelt. Der SVN-Quellbaum, der die Zweige -CURRENT und -STABLE enthält, kann so einfach auf Ihr eigenes System gespiegelt werden. Näheres dazu können Sie im Handbuch unter Synchronisation der Quellen in Erfahrung bringen. Die Committer-Liste Committer Die Committer sind Personen mit Schreibzugriff auf den CVS-Quellbaum (der Begriff Committer stammt vom &man.cvs.1;-Befehl commit, der zum Einspeisen von Änderungen ins Repository gebraucht wird). Der beste Weg, Vorschläge zur Prüfung durch die Mitglieder der Committer-Liste einzureichen, bietet der Befehl &man.send-pr.1;. Sollte es unerwartete Probleme mit diesem Verfahren geben, besteht immer noch die Möglichkeit eine E-Mail an die Liste &a.committers; zu schicken. Das FreeeBSD-Core-Team Core-Team Würde man das &os; Project mit einem Unternehmen vergleichen, so wäre das &os;-Core-Team das Gegenstück zum Vorstand. Die Hauptaufgabe des Core-Teams ist es, das Projekt als Ganzes in gesunder Verfassung zu halten und die weitere Entwicklung in die richtige Bahn zu lenken. Das Anwerben leidenschaftlicher und verantwortungsbewusster Entwickler ist eine Aufgabe des Core-Team, genauso wie die Rekrutierung neuer Mitglieder für das Core-Team, im Falle, dass Altmitglieder aus dem Projekt aussteigen. Das derzeitige Core-Team wurde im Juli 2008 aus einem Kreis kandidierender Committer gewählt. Wahlen werden alle zwei Jahre abgehalten. Einige Core-Team-Mitglieder haben auch spezielle Verantwortungsbereiche. Das bedeutet, sie haben sich darauf festgelegt, sicherzustellen, dass ein größerer Teil des Systems so funktioniert wie ausgewiesen. Eine vollständige Liste an &os; beteiligter Entwickler und ihrer Verantwortungsbereiche kann in der Liste der Beitragenden eingesehen werden. Die Mehrzahl der Mitglieder des Core-Teams sind Freiwillige in Bezug auf die &os;-Entwicklung und profitieren nicht finanziell vom Projekt. Daher sollte Verpflichtung nicht als garantierter Support fehlinterpretiert werden. Der oben angeführte Vergleich mit einem Vorstand hinkt und es wäre angebrachter zu erwähnen, dass diese Leute – wider besseres Wissen – ihr eigenes Leben für &os; aufgegeben haben! Weitere Beitragende Beitragende Die größte Entwicklergruppe sind nicht zuletzt die Anwender selbst, die Rückmeldungen und Fehlerbehebungen in einem anhaltend hohen Maße an uns senden. Der bevorzugte Weg an dem weniger zentralisierten Bereich der &os;-Entwicklung teilzuhaben, ist die Möglichkeit sich bei der Liste &a.hackers; anzumelden. Weitere Informationen über die verschiedenen &os;-Mailinglisten erhalten Sie in . Die Liste der zu &os; Beitragenden ist eine lange und wachsende. Also warum nicht selbst dort stehen, indem Sie gleich persönlich etwas zu &os; beitragen? Quellcode ist nicht der einzige Weg, etwas zum Projekt beizusteuern. Eine genauere Übersicht über offene Aufgaben finden Sie auf der &os;-Web-Site. Zusammengefasst bildet unser Entwicklungsmodell einen losen Verbund konzentrischer Kreise. Das zentralisierte Modell ist auf die Bedürfnisse der Anwender zugeschnitten, mit der einfachen Möglichkeit eine zentrale Code-Basis zu verfolgen und möglichen neuen Beitragenden nicht das Leben zu erschweren! Unser Ziel ist es, ein stabiles Betriebssystem mit einer großen Zahl passender Programme zu bieten, die der Anwender leicht installieren und anwenden kann. Und dieses Modell funktioniert für diese Aufgabe ziemlich gut. Das Einzige was wir von möglichen neuen Mitgliedern fordern, ist die gleiche Hingabe, mit der die jetzigen Mitglieder am dauerhaften Erfolg arbeiten! Das aktuelle &os;-Release NetBSD OpenBSD 386BSD Free Software Foundation U.C. Berkeley Computer Systems Research Group (CSRG) &os; ist ein (mit vollem Quellcode und ein frei erhältliches) auf 4.4BSD-Lite-basierendes Release für Intel &i386;, &i486;, &pentium;, &pentium; Pro, &celeron;, &pentium; II, &pentium; III, &pentium; 4 (oder ein dazu kompatibler Prozessor), &xeon;, DEC Alpha und Sun &ultrasparc; Systeme. Es stützt sich zum größten Teil auf Software der Computer Systems Research Group (CSRG) der Universität von Kalifornien in Berkeley mit einigen Verbesserungen aus NetBSD, OpenBSD, 386BSD und der Free Software Foundation. Seit unserem &os; 2.0 von Ende 1994 hat sich Leistung, Funktionsvielfalt und Stabilität dramatisch verbessert. Die größte Änderung erfuhr das virtuelle Speichermanagement durch eine Kopplung von virtuellem Speicher und dem Buffer-Cache, das nicht nur die Leistung steigert, sondern auch den Hauptspeicherverbrauch reduziert und ein 5 MB-System zu einem nutzbaren Minimal-System verhilft. Weitere Verbesserungen sind volle NIS-Client- und Server-Unterstützung, T/TCP, Dial-On-Demand-PPP, integriertes DHCP, ein verbessertes SCSI-Subsystem, ISDN-Support, Unterstützung für ATM-, FDDI-, Fast- und Gigabit-Ethernet-Karten (1000 Mbit), verbesserter Support der neusten Adaptec-Controller und tausende Fehlerkorrekturen. Zusätzlich zur Standard-Distribution bietet &os; eine Sammlung von portierter Software mit tausenden begehrten Programmen. Zum Verfassungszeitpunkt waren über &os.numports; Anwendungen in der Ports-Sammlung! Das Spektrum der Ports-Sammlung reicht von HTTP-Servern über Spiele, Programmiersprachen, Editoren und so ziemlich allem dazwischen. Die gesamte Ports-Sammlung benötigt &ports.size; an Speicherplatz, wobei jeder Port anhand eines Deltas zu den Quellen angegeben wird. Das macht es für uns erheblich leichter, Ports zu aktualisieren und es verringert den Plattenbedarf im Vergleich zur älteren 1.0-Port-Sammlung. Um ein Port zu übersetzen, müssen Sie einfach ins Verzeichnis des Programms wechseln und ein make install absetzen. Den Rest erledigt das System. Die originalen Quellen jedes zu installierenden Port werden dynamisch von CD-ROM oder einem FTP-Server bezogen. Es reicht also für genügend Plattenplatz zu sorgen, um die gewünschten Ports zu erstellen. Allen, die Ports nicht selbst kompilieren wollen: Es gibt zu fast jedem Port ein vorkompiliertes Paket, das einfach mit dem Befehl (pkg_add) installiert wird. Pakete und Ports werden in beschrieben. Eine Reihe von weiteren Dokumenten, die sich als hilfreich bei der Installation oder dem Arbeiten mit &os; erweisen könnten, liegen auf neueren &os;-Systemen im Verzeichnis /usr/share/doc. Die lokal installierten Anleitungen lassen sich mit jedem HTML-fähigen Browser unter folgenden Adressen betrachten: Das &os;-Handbuch /usr/share/doc/handbook/index.html Die &os;-FAQ /usr/share/doc/faq/index.html Es besteht auch die Möglichkeit, sich die jeweils aktuellste Version der Referenzdokumente unter anzusehen. diff --git a/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml b/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml index 918b99542c..0bd81f1dcf 100644 --- a/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml @@ -1,1058 +1,1059 @@ Murray Stokely Beigetragen von Oliver Peter Übersetzt von Virtualisierung Übersicht Virtualisierungssoftware erlaubt es, mehrere Betriebssysteme gleichzeitig auf dem selben Computer laufen zu lassen. Derartige Softwaresysteme für PCs setzen in der Regel ein Host-Betriebssystem voraus, auf dem die Virtualisierungssoftware läuft und unterstützen eine nahezu beliebige Anzahl von Gast-Betriebssystemen. Nachdem Sie dieses Kapitel gelesen haben, Kennen Sie den Unterscheid zwischen einem Host-Betriebssystem und einem Gast-Betriebssystem. Können Sie FreeBSD auf einem &intel;-basierenden &apple; &macintosh; installieren. Wissen Sie, wie man FreeBSD unter Linux mit &xen; installiert. Können Sie FreeBSD unter µsoft.windows; und Virtual PC installieren. Wissen Sie, wie man ein virtualisiertes FreeBSD-System für optimale Leistung konfiguriert. Bevor Sie dieses Kapitel lesen, sollten Sie Die Grundlagen von &unix; und FreeBSD verstehen (). FreeBSD installieren können (). Wissen, wie man seine Netzwerkverbindung konfiguriert (). Software Dritter installieren können (). FreeBSD als Gast-Betriebssystem Parallels unter MacOS X Parallels Desktop für &mac; ist ein kommerzielles Softwareprodukt, welches für &intel;-basierende &apple; &mac;-Computer mit &macos; X 10.4.6 oder höher verfügbar ist. FreeBSD wird von diesem Softwarepaket als Gast-Betriebssystem vollständig unterstützt. Nach der Installation von Parallels auf &macos; X konfigurieren Sie als erstes eine virtuelle Maschine, in der Sie danach das gewünschte Gast-Betriebssystem (in unserem Fall FreeBSD) installieren. Installation von FreeBSD unter Parallels/&macos; X Der erste Schritt bei der Installation von FreeBSD unter Parallels/&macos; X ist es, eine virtuelle Maschine zu konfigurieren, in der Sie FreeBSD installieren können. Dazu wählen Sie bei der Frage nach dem Guest OS Type FreeBSD aus: Danach legen Sie geeignete Größen für Festplatten- und Arbeitsspeicher für die zu erstellende FreeBSD-Instanz fest. 4 GB Plattenplatz sowie 512 MB RAM sind in der Regel für die Arbeit unter Parallels ausreichend: Wählen Sie den gewünschten Netzwerktyp aus und konfigurieren Sie Ihre Netzwerkverbindung: Speichern Sie Ihre Eingaben, um die Konfiguration abzuschließen: Nachdem Sie die virtuelle Maschine erstellt haben, installieren Sie im nächsten Schritt FreeBSD in dieser virtuellen Maschine. Dazu verwenden Sie am besten eine offizielle FreeBSD-CDROM oder Sie laden von einem offiziellen FTP-Server ein ISO-Abbild auf Ihren &mac; herunter. Danach klicken Sie auf das Laufwerksymbol in der rechten unteren Ecke des Parallels-Fensters, um ihr virtuelles Laufwerk mit dem ISO-Abbild oder mit dem physikalischen CD-ROM-Laufwerk ihres Computers zu verknüpfen. Nachdem Sie diese Verknüpfung hergestellt haben, starten sie die virtuelle FreeBSD-Maschine neu, indem Sie wie gewohnt auf das Symbol "Neustarten" klicken. Parallels startet nun ein Spezial-BIOS, das zuerst prüft, ob Sie eine CD-ROM eingelegt haben (genau so, wie es auch ein echtes BIOS machen würde). In unserem Fall findet das BIOS ein FreeBSD-Installationsmedium und beginnt daher eine normale Installation mit sysinstall (wie in des Handbuchs beschreiben). Nachdem die Installation abgeschlossen ist, können Sie die virtuelle Maschine starten. FreeBSD für den Einsatz unter Parallels/&macos; X optimieren Nachdem Sie FreeBSD erfolgreich unter &macos; X mit Parallels installiert haben, sollten Sie ihr virtuelles FreeBSD-System für virtualisierte Operationen optimieren: Setzen der Bootloader-Variablen Die wichtigste Änderung ist es, die Variable zu verkleinern, um so die CPU-Auslastung in der Parallels-Umgebung zu verringern. kern.hz=100 Ohne diese Einstellung kann ein unbeschäftigtes FreeBSD unter Parallels trotzdem rund 15 Prozent der CPU-Leistung eines Single Prozessor &imac;'s verbrauchen. Nach dieser Änderung reduziert sich dieser Wert auf etwa 5 Prozent. Erstellen einer neuen Kernelkonfigurationsdatei Sie können alle SCSI-, FireWire- und USB-Laufwerks-Treiber entfernen. Parallels stellt einen virtuellen Netzwerkadapter bereit, der den &man.ed.4;-Treiber verwendet. Daher können alle Netzwerkgeräte bis auf &man.ed.4; und &man.miibus.4; aus dem Kernel entfernt werden. Netzwerkbetrieb einrichten Die einfachste Netzwerkkonfiguration ist der Einsatz von DHCP, um Ihre virtuelle Maschine mit dem gleichen lokalen Netzwerk, in dem sich der Host-&mac; befindet, zu verbinden. Dazu fügen Sie die Zeile ifconfig_ed0="DHCP" in die Datei /etc/rc.conf ein. Weitere Informationen zur Konfiguration des Netzwerks unter FreeBSD finden Sie im des Handbuchs. Fukang Chen (Loader) Beigetragen von FreeBSD mit &xen; unter Linux einsetzen Der &xen; Hypervisor ist ein als Open Source verfügbares Para-Virtualisierungsprodukt, das von der kommerziellen Firma XenSource unterstützt wird. Gast-Betriebssysteme werden dabei als domU-Domains, Host-Betriebssysteme hingegen als dom0 bezeichnet. Um eine virtuelle FreeBSD-Instanz unter Linux auszuführen, müssen Sie zuerst &xen; für Linux dom0 installieren. Als Host-Betriebssystem wird im folgenden Beispiel die Distribution Slackware verwendet. &xen; 3 unter Linux dom0 &xen; 3.0 von XenSource herunterladen Laden Sie die Datei xen-3.0.4_1-src.tgz von herunter. Den Tarball entpacken &prompt.root; cd xen-3.0.4_1-src &prompt.root; KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world &prompt.root; make install Den dom0-Kernel neu kompilieren: &prompt.root; cd xen-3.0.4_1-src/linux-2.6.16.33-xen0 &prompt.root; make menuconfig &prompt.root; make &prompt.root; make install Ältere Versionen von &xen; müssen gegebenenfalls mit make ARCH=xen menuconfig näher spezifiziert werden. Einen Menü-Eintrag in die menu.lst von Grub aufnehmen Editieren Sie /boot/grub/menu.lst und fügen Sie die folgenden Zeilen hinzu: title Xen-3.0.4 root (hd0,0) kernel /boot/xen-3.0.4-1.gz dom0_mem=262144 module /boot/vmlinuz-2.6.16.33-xen0 root=/dev/hda1 ro Starten Sie Ihren Computer neu, um &xen; zu aktivieren Anschließend editieren Sie /etc/xen/xend-config.sxp und fügen die folgenden Zeilen hinzu: (network-script 'network-bridge netdev=eth0') Danach kann &xen; gestartet werden: &prompt.root; /etc/init.d/xend start &prompt.root; /etc/init.d/xendomains start Damit ist dom0 gestartet: &prompt.root; xm list Name ID Mem VCPUs State Time(s) Domain-0 0 256 1 r----- 54452.9 FreeBSD 7-CURRENT als domU verwenden Laden Sie den FreeBSD-dumU-Kernel für &xen; 3.0 sowie das Festplattenabbild von http://www.fsmware.com/ herunter: kernel-current mdroot-7.0.bz2 xmexample1.bsd Kopieren Sie xmexample1.bsd nach /etc/xen/ und passen Sie die Einträge für Kernel und Festplattenabbild an Ihre Konfiguration an. Ihre Konfiguration sollte ähnlich dem folgenden Beispiel aussehen: kernel = "/opt/kernel-current" memory = 256 name = "freebsd" vif = [ '' ] disk = [ 'file:/opt/mdroot-7.0,hda1,w' ] #on_crash = 'preserve' extra = "boot_verbose" extra += ",boot_single" extra += ",kern.hz=100" extra += ",vfs.root.mountfrom=ufs:/dev/xbd769a" Die Datei mdroot-7.0.bz2 sollte unkomprimiert sein. Als Nächstes muss der __xen_guest-Abschnitt in kernel-current verändert und das von &xen; 3.0.3 benötigte VIRT_BASE hinzugefügt werden: &prompt.root; objcopy kernel-current -R __xen_guest &prompt.root; perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' > tmp &prompt.root; objcopy kernel-current --add-section __xen_guest=tmp &prompt.root; objdump -j __xen_guest -s kernel-current kernel-current: file format elf32-i386 Contents of section __xen_guest: 0000 4c4f4144 45523d67 656e6572 69632c47 LOADER=generic,G 0010 55455354 5f4f533d 66726565 6273642c UEST_OS=freebsd, 0020 47554553 545f5645 523d372e 302c5845 GUEST_VER=7.0,XE 0030 4e5f5645 523d7865 6e2d332e 302c4253 N_VER=xen-3.0,BS 0040 445f5359 4d544142 2c564952 545f4241 D_SYMTAB,VIRT_BA 0050 53453d30 78433030 30303030 3000 SE=0xC0000000. Nun kann die domU erstellt und gestartet werden: &prompt.root; xm create /etc/xen/xmexample1.bsd -c Using config file "/etc/xen/xmexample1.bsd". Started domain freebsd WARNING: loader(8) metadata is missing! Copyright (c) 1992-2006 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 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006 kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF WARNING: DIAGNOSTIC option enabled, expect reduced performance. Xen reported: 1796.927 MHz processor. Timecounter "ixen" frequency 1796927000 Hz quality 0 CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1796.93-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 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=0x4400<CNTX-ID,<b14>> real memory = 265244672 (252 MB) avail memory = 255963136 (244 MB) xc0: <Xen Console> on motherboard cpu0 on motherboard Timecounters tick every 10.000 msec [XEN] Initialising virtual ethernet driver. xn0: Ethernet address: 00:16:3e:6b:de:3a [XEN] Trying to mount root from ufs:/dev/xbd769a WARNING: / was not properly dismounted Loading configuration files. No suitable dump device was found. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/xbd769a: 18859 files, 140370 used, 113473 free (10769 frags, 12838 blocks, 4.2% fragmentation) Setting hostname: demo.freebsd.org. lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet 127.0.0.1 netmask 0xff000000 Additional routing options:. Mounting NFS file systems:. Starting syslogd. /etc/rc: WARNING: Dump device does not exist. Savecore not run. ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout Starting usbd. usb: Kernel module not available: No such file or directory Starting local daemons:. Updating motd. Starting sshd. Initial i386 initialization:. Additional ABI support: linux. Starting cron. Local package initialization:. Additional TCP options:. Starting background file system checks in 60 seconds. Sun Apr 1 02:11:43 UTC 2007 FreeBSD/i386 (demo.freebsd.org) (xc0) login: Die domU sollte nun den &os; 7.0-CURRENT-Kernel ausführen: &prompt.root; uname -a FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006 kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF i386 Das Netzwerk kann nun unter der domU konfiguriert werden. Die &os;-domU wird ein spezielles Gerät namens xn0 verwenden: &prompt.root; ifconfig xn0 10.10.10.200 netmask 255.0.0.0 &prompt.root; ifconfig xn0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500 inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255 ether 00:16:3e:6b:de:3a lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet 127.0.0.1 netmask 0xff000000 Unter der Slackware-dom0 sollten einige &xen;-spezifische Netzwerkgeräte erscheinen: &prompt.root; ifconfig eth0 Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2 inet addr:10.10.10.130 Bcast:0.0.0.0 Mask:255.0.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:815 errors:0 dropped:0 overruns:0 frame:0 TX packets:1400 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:204857 (200.0 KiB) TX bytes:129915 (126.8 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:99 errors:0 dropped:0 overruns:0 frame:0 TX packets:99 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:9744 (9.5 KiB) TX bytes:9744 (9.5 KiB) peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:1853349 errors:0 dropped:0 overruns:0 frame:0 TX packets:952923 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2432115831 (2.2 GiB) TX bytes:86528526 (82.5 MiB) Base address:0xc000 Memory:ef020000-ef040000 vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:1400 errors:0 dropped:0 overruns:0 frame:0 TX packets:815 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:129915 (126.8 KiB) TX bytes:204857 (200.0 KiB) vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:157 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:140 (140.0 b) TX bytes:158 (158.0 b) xenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:112 (112.0 b) TX bytes:0 (0.0 b) &prompt.root; brctl show bridge name bridge id STP enabled interfaces xenbr1 8000.feffffffffff no vif0.1 peth0 vif1.0 Johann Kois Übersetzt von Virtual PC unter &windows; Virtual PC für &windows; wird von µsoft; kostenlos zum Download angeboten. Die Systemanforderungen für dieses Programm finden Sie hier. Nachdem Sie Virtual PC unter µsoft.windows; installiert haben, müssen Sie eine virtuelle Maschine konfigurieren und das gewünschte Betriebssystem installieren. FreeBSD in Virtual PC/µsoft.windows; installieren Der erste Schritt zur Installation von FreeBSD in µsoft.windows;/Virtual PC ist es, eine neue virtuelle Maschine zu erstellen, in die Sie FreeBSD installieren können. Dazu wählen Sie die Option Create a virtual machine, wenn Sie danach gefragt werden: Bei der Frage nach dem Operating system wählen Sie Other: Danach müssen Sie den von Ihnen gewüschten Plattenplatz sowie die Größe des Hauptspeichers angeben. 4 GB Plattenplatz sowie 512 MB RAM sollten für die Installation von FreeBSD in Virtual PC ausreichend sein: Speichern Sie Ihre Eingaben und beenden Sie die Konfiguration: Wählen Sie nun die für FreeBSD erstellte virtuelle Maschine aus und klicken Sie auf Settings, um das Netzwerk zu konfigurieren: Nun können Sie FreeBSD installieren. Dazu verwenden Sie am besten eine offizielle FreeBSD-CD-ROM oder ein ISO-Image, das Sie von einem offiziellen FreeBSD-FTP-Server heruntergeladen haben. Wenn Sie ein ISO-Image auf Ihrer Festplatte gespeichert haben, oder eine FreeBSD-CD-ROM in Ihr CD-Laufwerk eingelegt haben, doppelklicken Sie auf die virtuelle Maschine, die Sie für FreeBSD angelegt haben. Danach klicken Sie auf CD und wählen die Option Capture ISO Image... im Virtual PC-Fenster. Danach können Sie im folgenden Fenster das CD-Laufwerk mit Ihrem physikalischen CD-Laufwerk oder mit dem ISO-Image verknüpfen. Danach starten Sie die virtuelle Maschine neu, indem Sie zuerst auf Action und danach auf Reset klicken. Virtual PC startet Ihre virtuelle Maschine nun neu und prüft zuerst, ob die virtuelle Maschine über ein CD-Laufwerk verfügt. Da dies hier der Fall ist, beginnt nun eine normale, auf sysinstall basierende Installation, die in beschrieben wird. Sie können FreeBSD nun installieren. Verzichten Sie an dieser Stelle aber unbedingt auf die X11-Konfiguration. Nachdem die Installation abgeschlossen ist, entfernen Sie die CD-ROM aus dem Laufwerk (oder lösen die Verknüpfung zum ISO-Image). Danach starten Sie die virtuelle Maschine neu, um FreeBSD zu starten. FreeBSD in µsoft.windows;/Virtual PC konfigurieren Nachdem Sie FreeBSD auf Ihrem µsoft.windows;-System erfolgreich unter Virtual PC installiert haben, sollten Sie ihr virtuelles FreeBSD noch anpassen, um eine optimale Funktion zu gewährleisten. Setzen der Bootloader-Variablen Die wichtigste Änderung ist es, die Variable zu verkleinern, um so die CPU-Auslastung in der Virtual PC-Umgebung zu verringern. Dazu fügen Sie die folgende Zeile in die Datei /boot/loader.conf ein: kern.hz=100 Ohne diese Einstellung kann ein unbeschäftigtes FreeBSD unter Virutal PC trotzdem rund 40 Prozent der CPU-Leistung eines Ein-Prozessor-Systems verbrauchen. Nach dieser Änderung reduziert sich dieser Wert auf etwa 5 Prozent. Erstellen einer neuen Kernelkonfigurationsdatei Sie können alle SCSI-, FireWire- und USB-Laufwerks-Treiber entfernen. Virtual PC stellt einen virtuellen Netzwerkadapter bereit, der den &man.de.4;-Treiber verwendet. Daher können alle Netzwerkgeräte bis auf &man.de.4; und &man.miibus.4; aus dem Kernel entfernt werden. Das Netzwerk einrichten Die einfachste Netzwerkkonfiguration ist der Einsatz von DHCP, um Ihre virtuelle Maschine mit dem gleichen lokalen Netzwerk, in dem sich Ihr Host-µsoft.windows; befindet, zu verbinden. Dazu fügen Sie die Zeile ifconfig_de0="DHCP" in die Datei /etc/rc.conf ein. Weitere Informationen zur Konfiguration des Netzwerks unter FreeBSD finden Sie im des Handbuchs. Johann Kois Übersetzt von VMWare unter MacOS VMWare Fusion für &mac; ist ein kommerzielles Programm, das für &intel; basierte &apple; &mac;-Computer mit &macos; 10.4.9 oder neuer erhältlich ist. FreeBSD wird von diesem Produkt vollständig als Gast-Betriebssystem unterstützt. Nachdem Sie VMWare Fusion unter &macos; X installiert haben, können Sie das gewünschte Gastbetriebssystem (in unserem Fall FreeBSD) installieren. FreeBSD in VMWare/&macos; X installieren Zuerst müssen Sie VMWare Fusion starten, um eine virtuelle Maschine zu erstellen. Dazu wählen Sie die Option "New": Dadurch wird ein Assistent gestartet, der Ihnen bei der Erzeugung einer neuen virtuellen Maschine behilflich ist. Clicken Sie auf "Continue", um den Prozess zu starten: Wählen Sie Other als das Operating System, danach FreeBSD oder FreeBSD 64-bit, je nach dem, welche Version Sie installieren wollen, wenn Sie nach der zu installierenden Version gefragt werden: Vergeben Sie einen Namen für virtuelle Maschine an und legen Sie den Speicherort fest: Legen Sie die Größe Ihrer virtuellen Festplatte fest: Nachdem Sie auf "Finish" geklickt haben, wird die virtuelle Maschine gestartet: Nun können Sie &os; wie gewohnt installieren (lesen Sie dazu auch des Handbuchs): Nachdem die Installation abgeschlossen ist, können Sie noch verschiedene Parameter der virtuellen Maschine, etwa den Speicherverbrauch, konfigurieren: Die Hardware der virtuellen Maschine kann nicht geändert werden, solange die virtuelle Maschine läuft. Die Anzahl der CPUs der virtuellen Maschine: Den Status des CD-Laufwerks. Sie können das CD-Laufwerk von der virtuellen Maschine lösen, wenn Sie es nicht benötigen. Zuletzt sollten Sie noch festlegen, wie sich die virtuelle Maschine mit dem Netzwerk verbinden soll. Sollen neben dem Gastsystem auch andere Rechner auf Ihre virtuelle Maschine zugreifen können, müssen Sie die Option Connect directly to the physical network (Bridged) wählen. Ist dies nicht der Fall, sollten Sie die Option Share the host's internet connection (NAT) wählen. In dieser Einstellung kann die virtuelle Maschine zwar auf auf das Internet zugreifen, andere Rechner dürfen aber nicht auf die virtuelle Maschine zugreifen. Nachdem Sie die Konfiguration abgeschlossen haben, können Sie FreeBSD starten. + FreeBSD unter &macos; X/VMWare konfigurieren Nachdem Sie FreeeBSD erfolgreich unter VMWare für &macos; X installiert haben, sollten Sie ihr virtuelles FreeBSD noch anpassen, um eine optimale Funktion zu gewährleisten. Die wichtigste Änderung ist es, die Variable zu verkleinern, um so die CPU-Auslastung in der VMWare-Umgebung zu verringern. kern.hz=100 Ohne diese Einstellung kann ein unbeschäftigtes FreeBSD unter VMWare trotzdem rund 15 Prozent der CPU-Leistung eines Single Prozessor &imac;'s verbrauchen. Nach dieser Änderung reduziert sich dieser Wert auf etwa 5 Prozent. Erstellen einer neuen Kernelkonfigurationsdatei Sie können alle FireWire- und USB-Laufwerks-Treiber entfernen. VMWare stellt einen virtuellen Netzwerkadapter bereit, der den &man.em.4;-Treiber verwendet. Daher können alle Netzwerkgeräte bis auf &man.em.4; und &man.miibus.4; aus dem Kernel entfernt werden. Netzwerkbetrieb einrichten Die einfachste Netzwerkkonfiguration ist der Einsatz von DHCP, um Ihre virtuelle Maschine mit dem gleichen lokalen Netzwerk, in dem sich der Host-&mac; befindet, zu verbinden. Dazu fügen Sie die Zeile ifconfig_em0="DHCP" in die Datei /etc/rc.conf ein. Weitere Informationen zur Konfiguration des Netzwerks unter FreeBSD finden Sie im des Handbuchs. FreeBSD als Host-Betriebssystem FreeBSD wird derzeit offiziell von keiner Virtualisierungssoftware als Host-Betriebssystem unterstützt. Viele Anwender verwenden aber noch ältere VMware-Versionen, die FreeBSD noch als Host-Betriebssystem unterstützen. Zusätzlich wird daran gearbeitet, &xen; als funktionierende Host-Umgebung (dom0) für FreeBSD verfügbar zu machen.