diff --git a/de_DE.ISO8859-1/articles/contributing/article.xml b/de_DE.ISO8859-1/articles/contributing/article.xml index 3e21b6b8eb..2c85e9cdf6 100644 --- a/de_DE.ISO8859-1/articles/contributing/article.xml +++ b/de_DE.ISO8859-1/articles/contributing/article.xml @@ -1,624 +1,624 @@
&os; unterstützen Dieser Artikel beschreibt, wie Einzelpersonen oder Unternehmen das &os;-Projekt unterstützen können. Übersetzt von Johann Kois. Jordan Hubbard Beigetragen von &tm-attrib.freebsd; &tm-attrib.ieee; &tm-attrib.general; $FreeBSD$ $FreeBSD$ Unterstützung Sie wollen &os; unterstützen? Das ist großartig! &os; ist auf die Unterstützung seiner Anwender angewiesen, um zu überleben. Ihre Beiträge werden nicht nur begrüßt, sie sind für die Weiterentwicklung von &os; von elementarer Bedeutung. Im Gegensatz zu dem, was einige Leute Ihnen einreden wollen, müssen Sie kein Spitzenprogrammierer oder persönlicher Freund eines Mitglieds des FreeBSD-Core-Teams sein, damit Ihre Beiträge akzeptiert werden. Ein große und wachsende Anzahl von internationalen Unterstützern verschiedenen Alters und mit verschiedenen technischen Fähigkeiten entwickelt FreeBSD weiter. Es gibt immer mehr zu tun, als von den beteiligten Personen bewältigt werden kann, daher freuen wir uns über jede Hilfe. Das FreeBSD-Projekt ist für ein komplettes Betriebssytem verantwortlich, nicht nur für einen Kernel oder ein paar verstreute Werkzeuge. Daher umfasst unsere TODO-Liste viele verschiedene Aufgabenbereiche: Angefangen von der Dokumentation, über Betatests und Präsentationen bis zu Systeminstallationen und speziellen Weiterentwicklungen des Kernels. Da Fähigkeiten in den verschiedensten Bereichen benötigt werden, kann fast jeder etwas zu diesem Projekt beitragen. Personen, die im kommerziellen Umfeld mit FreeBSD zu tun haben, sind ebenfalls aufgefordert, sich bei uns zu melden. Brauchen Sie eine spezielle Erweiterung, damit Ihr Produkt funktioniert? Wir kommen Ihren Wünschen gerne entgegen, vorausgesetzt, sie sind nicht zu speziell. Arbeiten Sie an einem Mehrwertprodukt? Dann informieren Sie uns bitte! Wir könnten in der Lage sein, an einem Teil davon mitzuarbeiten. Die Welt der freien Software fordert viele bestehenden Annahmen über die Entwicklung, den Verkauf und die Wartung von Software heraus, und wir bitten Sie, ernsthaft darüber nachzudenken. Was wird gebraucht? Die folgende Liste von Aufgaben und Unterprojekten repräsentiert eine Zusammenfassung von verschiedenen TODO-Listen und Benutzerwünschen. Aufgaben für Nicht-Programmierer Viele Menschen, die an FreeBSD beteiligt sind, sind keine Programmierer. Es sind Leute, die an der Dokumentation arbeiten, Internetseiten erstellen oder einfach Hilfe anbieten. Alles, was diese Leute mitbringen müssen, sind Zeit und die Bereitschaft, etwas zu lernen. Lesen Sie die häufig gestellten Fragen (FAQ) und das Handbuch gelegentlich. Wenn etwas schlecht erklärt wird, veraltet oder einfach falsch ist, teilen Sie es uns mit. Oder noch besser, korrigieren Sie es (SGML ist nicht schwer zu erlernen, wir akzeptieren aber auch Vorschläge im ASCII-Format.). Helfen Sie dabei, die Dokumentation in Ihre Muttersprache zu übersetzen. Wenn an der Übersetzung in Ihre Sprache bereits gearbeitet wird, helfen Sie, indem Sie weitere Dokumente übersetzen, oder sorgen Sie dafür, dass die Übersetzungen aktuell sind. Lesen Sie zuerst die Übersetzungs-FAQ der Fibel für neue Mitarbeiter des FreeBSD-Dokumentations-Projekts. Sie verpflichten sich dabei nicht dazu, jede einzelne Seite zu übersetzen — als Freiwilliger übersetzen Sie genau so viel, wie Sie wollen. Wenn jemand mit der Übersetzung beginnt, beteiligen sich fast immer auch andere Personen daran. Wenn Sie nur Zeit und Energie für einen Teil der Dokumentation haben, dann übersetzen Sie bitte die Installationsanleitung. Lesen Sie &a.questions; sowie die &ng.misc; gelegentlich (oder sogar regelmäßig). Es kann sehr befriedigend sein, wenn Sie Ihr Wissen teilen und anderen Leuten dabei helfen können, deren Probleme zu lösen; vielleicht lernen Sie sogar noch etwas Neues! Diese Foren können auch eine Quelle für Ideen sein, an denen man arbeiten könnte. Aufgaben für Programmierer Die meisten der hier aufgeführten Aufgaben erfordern entweder einen bedeutenden Zeitaufwand oder eine sehr gute Kenntnis des FreeBSD-Kernels, oder beides. Es gibt jedoch genug Aufgaben, die auch für Wochenendprogrammierer geeignet sind. Wenn Sie FreeBSD-CURRENT installiert haben und über eine schnelle Internetanbindung verfügen, können Sie von current.FreeBSD.org ein täglich neu erzeugtes Release herunterladen — versuchen Sie dann hin und wieder, das neueste Release zu installieren und melden Sie dabei eventuell auftretende Fehler. Lesen Sie &a.bugs;. Es könnte ein Problem geben, an dem Sie konstruktiv mitarbeiten könnten, oder für das es Patches gibt, die Sie testen könnten. Oder Sie könnten sogar versuchen, eines dieser Probleme selbst zu beheben. Wenn Sie von Fehlerbehebungen wissen, die zwar erfolgreich auf -CURRENT angewendet wurden, die aber nach einem bestimmten Zeitraum nicht in -STABLE eingebracht wurden (normalerweise innerhalb einiger Wochen), erinnern Sie den Committer höflich daran. Verschieben Sie beigetragene Software im Quellcodebaum nach src/contrib. Stellen Sie sicher, dass der Code in src/contrib aktuell ist. Bauen Sie den Quellcodebaum (oder einen Teil des Baumes) mit aktivierten Compilerwarnungen und beheben Sie auftretende Fehlermeldungen. Beheben Sie Fehlermeldungen bei der Installation von Ports, die auf unsauberen Code hinweisen (etwa die Verwendung von gets() oder die Einbindung von malloc.h). Wenn Sie einen Port beigetragen und dabei irgendwelche &os;-spezifischen Änderungen getätigt haben, senden Sie Ihre Patches an die ursprünglichen Autoren (das wird ihr Leben einfacher machen, wenn die nächste Version des Ports erscheint). Besorgen Sie sich Kopien von wichtigen Standards wie &posix;. Als Ausgangspunkt für Ihre Suche können Sie die Seite des FreeBSD C99 & POSIX Standards Conformance Project verwenden. Vergleichen Sie das Verhalten von FreeBSD mit dem von dem jeweiligen Standard geforderten Verhalten. Verhält sich FreeBSD in einem Bereich unterschiedlich, sollten Sie einen Problembericht (PR) einsenden. Wenn Sie dazu in der Lage sind, können Sie sich auch eine Lösung des Problems überlegen und Ihrem PR einen Patch anfügen. Wenn Sie der Meinung sind, dass der Standard nicht korrekt ist, können Sie auch das jeweilige Standardgremium um weitere Informationen bitten. Schlagen Sie weitere Aufgaben für diese Liste vor! Die PR-Datenbank durchsehen problem reports database Die FreeBSD PR-Datenbank enthält alle derzeit offenen Problemberichte und Verbesserungswüsche, die von Anwendern eingereicht wurden. Die PR-Datenbank enthält sowohl Aufgaben für Programmierer als auch für Nichtprogrammierer. Gehen Sie die Liste der offenen PRs durch, um festzustellen, ob Sie ein Problem interessiert. Bei manchen Berichten geht es nur darum, zu überprüfen, ob der bereitgestellte Patch korrekt funktioniert. Andere Problemberichte sind hingegen komplexer, oder beinhalten überhaupt keinen Lösungsvorschlag. Beginnen Sie mit den PRs, die niemandem zugewiesen sind. Ist ein PR, für den Sie eine Lösung hätten, bereits jemandem zugewiesen, nehmen Sie mit dem dafür Zuständigen Kontakt auf und fragen Sie ihn, ob Sie an der Lösung mitarbeiten können — es könnte etwa bereits ein Patch existieren, der nur noch getestet werden muss, oder Sie könnten weitere Ideen mit ihm diskutieren. Wählen Sie einen der Einträge auf der <quote>Ideen</quote>-Seite aus Die Liste von Projekten und Ideen für &os; ist auch für Freiwillige interessant, die etwas zum &os; Projekt beitragen möchten. Diese Liste wird regelmäßig aktualisiert und enthält Einträge für Programmierer und Nicht-Programmierer sowie Informationen zu jedem Projekt. Was Sie tun können Mögliche Beiträge lassen sich in fünf Kategorien einteilen: Fehlerberichte und allgemeine Vorschläge Eine Idee oder ein Vorschlag von allgemeinem technischen Interesse sollte an &a.hackers; geschickt werden. Personen, die an solchen Fragen interessiert sind (und kein Problem mit einem hohen Mailaufkommen haben!) können die Mailingliste &a.hackers; auch abonnieren. Informationen zu dieser und anderen Mailinglisten finden Sie im FreeBSD Handbuch. Wenn Sie einen Fehler gefunden oder eine Verbesserung entwickelt haben, vergessen Sie nicht, einen Bericht über &man.send-pr.1; oder dessen Internetschnittstelle zu erstellen. Versuchen Sie bitte, jedes Feld auszufüllen. Ist Ihr Patch kleiner als 65 KB, sollten Sie ihn direkt in den Bericht einbauen. Kann der Patch direkt auf den Quellcodebaum angewendet werden, fügen Sie [PATCH] im Synopsis-Feld ein. Wenn Sie einen Patch einfügen, verwenden Sie bitte kein copy-and-paste, weil dadurch Tabulatoren in Leerzeichen umgewandelt werden, was den Patch unbrauchbar macht. Sind die Patches viel größer als 20 KB, sollten Sie sie komprimieren (z.B. mit &man.gzip.1; oder &man.bzip2.1;) und &man.uuencode.1; verwenden, um diese in ihren Problembericht einzufügen. Nachdem Sie einen Bericht versandt haben, erhalten Sie eine E-Mail, die eine Bestätigung sowie eine Identifikationsnummer enthält. Geben Sie diese Nummer im Betreff der Nachricht an ("Re: kern/3377"), wenn Sie neue Informationen zu diesem Problem an &a.bugfollowup; senden. Zusätzliche Informationen zu Problemberichten sollten immer auf diese Art und Weise verschickt werden. Sollten Sie innerhalb einer Woche keine Bestätigung erhalten, oder &man.send-pr.1; nicht verwenden können, können Sie über &a.bugs; jemanden bitten, dies für Sie zu erledigen. Weitere Informationen zum Verfassen von guten Problemberichten finden Sie im entsprechenden Artikel. Änderungen der Dokumentation documentation submissions Änderungen der Dokumentation werden vom &a.doc; überwacht. Lesen Sie bitte die Fibel für neue Mitarbeiter des FreeBSD-Dokumentationsprojekts für weitere Informationen. Korrekturen und Ergänzungen (selbst kleine Änderungen sind willkommen!) werden mit &man.send-pr.1; übermittelt. Lesen Sie dazu den Abschnitt Fehlerberichte und allgemeine Vorschläge. Änderungen am vorhandenen Quellcode FreeBSD-CURRENT Änderungen des existierenden Quellcodes sind etwas komplizierter. Entscheidend ist hier, wie vertraut Sie mit dem aktuellen Entwicklungsstand von FreeBSD sind. Es existiert eine spezielle, ständig aktualisierte Version von FreeBSD, die als FreeBSD-CURRENT bekannt ist. Diese ist auf verschiedenen Wegen erhältlich und stellt den aktuellen Stand der Entwicklung dar. Lesen Sie den Abschnitt FreeBSD-CURRENT vs. FreeBSD-STABLE des Handbuchs für weitere Informationen zur Installation und Verwendung von FreeBSD-CURRENT. Arbeiten Sie mit älteren Quellcodeversionen, kann dies leider bedeuten, das Ihre Änderungen obsolet sind, oder sich nicht mehr in FreeBSD reintegrieren lassen. Dieses Risiko lässt sich verringern, wenn Sie die Mailinglisten &a.announce; und &a.current; abonnieren, auf denen aktuelle Systemänderungen diskutiert werden. Wenn Ihre Änderungen auf ausreichend aktuellen Quellen beruhen, erstellen Sie als Nächstes einen Differenzensatz, den Sie an die FreeBSD-Entwickler schicken. Eine solche Differenz erstellen Sie mit &man.diff.1;. Das bevorzugte &man.diff.1;-Format für das Versenden von Patches ist das sogenannte unified output-Format, das Sie mit diff -u erstellen. Für größere Änderungen kann allerdings das context output-Format (erzeugt mit diff -c) die bessere Wahl sein. diff Dazu ein Beispiel: &prompt.user; diff -c oldfile newfile oder &prompt.user; diff -c -r olddir newdir würde einen solchen Satz von Differenzen für die angegebene Verzeichnishierarchie erzeugen. Genauso hätte &prompt.user; diff -u oldfile newfile oder &prompt.user; diff -u -r olddir newdir den gleichen Effekt, allerdings erfolgt die Ausgabe im unified diff-Format. Lesen Sie dazu auch &man.diff.1;. Nachdem Sie den Differenzensatz erstellt und mit &man.patch.1; getestet haben, sollten Sie ihn an das FreeBSD-Projekt senden. Verwenden Sie dazu &man.send-pr.1; (wie im Abschnitt Fehlerberichte und allgemeine Vorschläge beschrieben). Senden Sie die Differenzen nicht nur an &a.hackers;, da diese sonst verloren gehen. Wir freuen uns über Ihren Beitrag (schließlich ist FreeBSD ein Freiwilligenprojekt); wir sind aber manchmal nicht in der Lage, das Problem sofort anzugehen. Es verbleibt aber in der PR-Datenbank, bis wir dafür Zeit finden. Verwenden Sie den Begriff [PATCH] im Synopsis-Feld des Berichts. uuencode Sie können auch ein tar-Archiv erzeugen (was vor allem dann sinnvoll ist, wenn Sie Dateien hinzugefügt, gelöscht oder umbenannt haben) und &man.uuencode.1; auf das Archiv anwenden. Mit &man.shar.1; erzeugte Archive sind ebenfalls willkommen. Wenn Ihre Änderungen potentielle Probleme aufweisen, wie Unklarheiten im Hinblick auf das Copyright, oder Sie einfach eine genaue Überprüfung Ihrer Änderungen möchten, sollten Sie die Änderungen an das &a.core; schicken, statt sie mit &man.send-pr.1; zu versenden. Die Mailingliste &a.core; erreicht nur eine kleine Gruppe von Leuten, die sich um die tägliche Arbeit an &os; kümmern. Beachten Sie aber, dass diese Gruppe sehr beschäftigt ist. Daher sollten Sie nur dann eine E-Mail an sie schicken, wenn es absolut notwendig ist. &man.intro.9; und &man.style.9; beschreiben den zu verwendenden Programmierstil. Bevor Sie also Code versenden, sollten Sie diese Informationen gelesen haben. Neuer Code oder große Mehrwertpakete Handelt es sich um einen bedeutenden Beitrag oder um das Hinzufügen von neuen wichtigen Fähigkeiten zu FreeBSD, ist es fast immer notwendig, die Änderungen als uuencoded tar-Dateien zu versenden, oder diese auf einer Internetseite oder einem FTP-Server bereitzustellen. Haben Sie keinen eigenen Speicherplatz im Internet, sollten Sie auf einer entsprechenden Mailinglisten nachfragen, ob jemand diese Aufgabe für Sie übernehmen kann. Arbeitet man mit großen Codebeständen, kommt man unweigerlich mit den unterschiedlichen Lizenzen in Berührung. Code, der in FreeBSD enthalten ist, kann unter den folgenden Lizenzen stehen: BSD-Lizenz Der BSD-Lizenz. Diese Lizenz wird von uns bevorzugt, weil sie an keine Bedingungen geknüpft ist und daher für kommerzielle Unternehmen sehr attraktiv ist. Das FreeBSD-Projekt unterstützt diese kommerzielle Verwendung, die manchmal sogar in eine Förderung des FreeBSD-Projekts mündet. GPLGNU General Public License GNU General Public License Der GNU General Public License, oder GPL. Diese Lizenz ist nicht ganz so beliebt bei uns, da sie die kommerzielle Nutzung des Quellcodes einschränkt. In Anbetracht der schieren Menge an GPL-Quellcode, den wir derzeit benötigen (wie Compiler, Assembler oder Textformatierer) wären wir aber schlecht beraten, Beiträge, die unter dieser Lizenz stehen, abzulehnen. Code, der unter der GPL steht, befindet sich in einem gesonderten Bereich des Quellcodebaums, und zwar unter /sys/gnu oder /usr/src/gnu, und ist daher für jeden, für den die GPL ein Problem darstellt, sofort erkennbar. Beiträge, die unter einer dieser Lizenzen stehen, müssen sorgfältig geprüft werden, bevor ihre Aufnahme in FreeBSD in Betracht gezogen wird. Beiträge, für die besonders restriktive Lizenzen gelten, werden generell abgelehnt, obwohl die Autoren ermutigt werden, ihre Veränderungen über ihre eigenen Kanäle verfügbar zu machen. Um Ihre Arbeit unter die BSD-Lizenz zu stellen, fügen Sie den folgenden Text am Beginn jeder von Ihnen erstellten Quellcodedatei ein, wobei Sie den Text zwischen den %%-Zeichen durch die entsprechenden Informationen ersetzt: Copyright (c) %%Jahr der Veröffentlichung%% %%Ihr Name%%, %%Ihr Land%% %%Ihre Postleitzahl%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%Ihr Name%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%Ihr Name%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Id$ Eine Kopie dieses Textes finden Sie unter /usr/share/examples/etc/bsd-style-copyright. Geld, Hardware oder Internetzugang Wir freuen uns immer, wenn jemand das FreeBSD-Projekt durch Spenden unterstützen will. Auch kleine Spenden können eine große Wirkung haben. Hardwarespenden sind ebenfalls sehr wichtig, um die Liste der von FreeBSD unterstützten Hardware erweitern zu können, da uns die Mittel zum Erwerb dieser Hardware fehlen. - - <anchor id="donations"/>Geldspenden + + Geldspenden Die FreeBSD Foundation ist eine gemeinnützige Gesellschaft, die zur Unterstützung des FreeBSD-Projekts geschaffen wurde. Sie ist nach dem Paragraphen 501(c)3 sowohl von der amerikanischen Einkommenssteuer als auch von der des Staates Colorado befreit. Spenden an solche steuerbefreiten Gesellschaften können unter gewissen Umständen steuermindernd geltend gemacht werden. Sie können Spenden in Scheckform an folgende Adresse senden:
The FreeBSD Foundation 7321 Brockway Dr. Boulder, CO 80303 USA
Die FreeBSD Foundation ist nun auch in der Lage, Spenden durch das PayPal-System entgegenzunehmen. Solche Spenden können über die Homepage der Foundation erfolgen. Für weitere Informationen zur FreeBSD Foundation sollten Sie den Artikel The FreeBSD Foundation -- an Introduction lesen. Sie erreichen die FreeBSD Foundation über die E-Mail-Adresse bod@FreeBSDFoundation.org.
Hardwarespenden donations Das FreeBSD-Projekt freut sich, wenn jemand benötigte Hardware spenden will. Sind Sie daran interessiert, setzen Sie sich bitte mit dem Donations Liaison Office in Verbindung. Internetzugang zur Verfügung stellen Wir sind ständig auf der Suche nach neuen FTP-, WWW- oder cvsup-Spiegeln. Wenn Sie einen solchen Spiegel einrichten wollen, lesen Sie bitte den Artikel Mirroring FreeBSD, der weitere Informationen enthält.
diff --git a/de_DE.ISO8859-1/books/handbook/mirrors/chapter.xml b/de_DE.ISO8859-1/books/handbook/mirrors/chapter.xml index dd54a06dfe..4262d17553 100644 --- a/de_DE.ISO8859-1/books/handbook/mirrors/chapter.xml +++ b/de_DE.ISO8859-1/books/handbook/mirrors/chapter.xml @@ -1,3370 +1,3370 @@ Bezugsquellen für &os; CD-ROM und DVD Verleger &os;-Pakete &os;-Pakete (&os;-CDs, zusätzliche Software und gedruckte Dokumentation) erhalten Sie von mehreren Händlern:
CompUSA WWW:
Frys Electronics WWW:
&os;-CDs und -DVDs Die &os;-CDs und -DVDs werden von vielen Online-Händlern angeboten:
&os; Mall, Inc. 700 Harvest Park Ste F Brentwood, CA 94513 USA Telefon: +1 925 240-6652 Fax: +1 925 674-0821 E-Mail: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany Telefon: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW:
JMC Software Ireland Telefon: 353 1 6291282 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom Telefon: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland Telefon: +48 22 860 18 18 E-Mail: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Telefon: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Telefon: +7-812-3125208 E-Mail: info@linuxcenter.ru WWW:
Lieferanten Wenn Sie &os;-CD-ROM-Produkte weiterverkaufen möchten, kontaktieren Sie einen der folgenden Lieferanten:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 USA Telefon: +1 650 694-4949 Fax: +1 650 694-4953 E-Mail: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Telefon: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Telefon: +1 952 947-0822 Fax: +1 952 947-0876 E-Mail: sales@kudzuenterprises.com
LinuxCenter.Kz Ust-Kamenogorsk Kazakhstan Telefon: +7-705-501-6001 E-Mail: info@linuxcenter.kz WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Telefon: +7-812-3125208 E-Mail: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Telefon: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
FTP-Server Die offiziellen Quellen von &os; sind mit anonymous FTP über ein weltweites Netz von FTP-Spiegeln erhältlich. Obwohl über eine gute Anbindung verfügt, sollten Sie einen Spiegel in Ihrer Nähe verwenden (insbesondere, wenn Sie selber einen Spiegel einrichten wollen). Sie können &os; auch über anonymous FTP von den folgenden Spiegeln beziehen. Wenn Sie &os; über anonymous FTP beziehen wollen, wählen Sie bitte einen Spiegel in Ihrer Nähe. Die unter Haupt-Spiegel aufgeführten Spiegel stellen normalerweise das komplette &os;-Archiv (alle momentan erhältlichen Versionen für jede unterstützte Architektur) zur Verfügung. Wahrscheinlich geht es aber schneller, wenn Sie einen Spiegel in Ihrer Nähe benutzen. Die Länder-Spiegel stellen die neusten Versionen für die beliebtesten Architekturen bereit, sie stellen aber unter Umständen nicht das komplette &os;-Archiv bereit. Auf alle Server kann mit anonymous FTP zugegriffen werden, einige Server bieten auch andere Zugriffsmethoden an. Die zur Verfügung stehenden Zugriffsmethoden sind bei jedem Server in Klammern angegeben. &chap.mirrors.ftp.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.ftp.inc; BitTorrent BitTorrent Die ISO-Images für die Release-CDs sind via BitTorrent abrufbar. Eine Sammlung von Torrent-Dateien zum Herunterladen der Images ist unter http://torrents.freebsd.org:8080 verfügbar. Die BitTorrent Client-Software ist als Port net-p2p/py-bittorrent oder als vorkompiliertes Paket erhältlich. Nach dem Herunterladen der ISO-Images mit BitTorrent können Sie diese auf CD oder DVD brennen, so wie im burncd- beschrieben. Anonymous CVS - - <anchor id="anoncvs-intro"/>Einführung + + Einführung CVS anonymous Anonymous CVS (oder anoncvs) dient zum Synchronisieren mit entfernten Repositories und steht mit den CVS Werkzeugen, die im &os; Basissystem enthalten sind, zur Verfügung. Benutzer von &os; können damit unter anderem lesende Operationen auf den Anoncvs Servern des &os; Projects durchführen, ohne über besondere Berechtigungen zu verfügen. Um es zu benutzen, setzen Sie einfach die CVSROOT Umgebungsvariable auf einen Anoncvs Server und geben beim Login mit cvs login das Passwort anoncvs an. Danach können Sie mit &man.cvs.1; wie auf jedes lokale Repository (allerdings nur lesend) zugreifen. cvs login speichert Passwörter zur Authentifizierung an einem CVS Server in der Datei .cvspass in Ihrem HOME-Verzeichnis. Wenn diese Datei beim ersten Benutzen von cvs login nicht existiert, erhalten Sie vielleicht eine Fehlermeldung. In diesem Fall legen Sie einfach eine leere .cvspass Datei an und melden sich erneut an. CVSup und Anoncvs bieten dieselbe Funktionalität, die folgenden Kriterien helfen Ihnen zu entscheiden, welche Methode Sie benutzen sollen. CVSup geht wesentlich effizienter mit Netzwerk-Ressourcen um und ist auch technisch ausgereifter. Allerdings müssen Sie zuerst einen speziellen Client installieren und konfigurieren, bevor Sie CVSup benutzen können. Weiterhin können Sie mit CVSup nur relativ große Teile der Quellen, die Sammlungen genannt werden, synchronisieren. Im Gegensatz dazu können Sie mit Anoncvs jede beliebige Datei oder indem Sie einfach den CVS Namen des Moduls angeben, ein beliebiges Programm, wie ls oder grep, bearbeiten. Natürlich können Sie mit Anoncvs nur lesend auf ein CVS Repository zugreifen. Wenn Sie lokal mit dem &os;-Repository entwickeln wollen, dann ist CVSup die einzige Wahl. - - <anchor id="anoncvs-usage"/>Benutzen von Anonymous CVS + + Benutzen von Anonymous CVS Setzen Sie einfach die CVSROOT Umgebungsvariable, um &man.cvs.1; das CVS Repository eines &os; Anoncvs-Servers bekannt zu geben. Zurzeit stehen folgende Server zur Verfügung: Frankreich: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (Das Passwort für pserver ist anoncvs, SSH-Zugriffe verwenden kein Passwort.) Taiwan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver: Benutzen Sie cvs login und ein beliebiges Passwort. SSH-Zugriffe erfordern kein Passwort.) SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub USA: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (nur SSH2 ohne Passwort). SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub Mit CVS können Sie praktisch jede Version von &os;, die schon einmal existiert hat (oder in manchen Fällen existieren wird) auschecken. Sie sollten daher damit vertraut sein, wie Sie mit Tags unter &man.cvs.1; arbeiten (die Option). Zudem müssen Sie die Namen der Tags im &os;-Repository kennen. Es gibt zwei verschiedene TagsTags sind symbolische Namen, die im Repository vergeben werden. : Tags, die Revisionen bezeichnen und Tags, die Zweige bezeichnen. Die Ersten sind statisch und fest an eine Revision gebunden. Ein Tag, das einen Zweig bezeichnet, bezieht sich dagegen zu einem gegebenen Zeitpunkt immer auf die aktuellste Revision. Da ein Tag eines Zweiges nicht an eine bestimmte Revision gebunden ist, kann sich dessen Bedeutung von heute auf morgen ändern. In finden Sie eine Liste der gültigen Tags. Beachten Sie bitte, dass keines der Tags auf die Ports-Sammlung anwendbar ist, da diese nicht über Zweige verfügt. Wenn Sie ein Tag eines Zweiges verwenden, erhalten Sie die aktuellsten Dateien dieses Entwicklungszweiges. Wenn Sie eine frühere Revision erhalten möchten, können Sie zum Beispiel einen Zeitpunkt mit der Option angeben. Weitere Informationen dazu entnehmen Sie bitte &man.cvs.1;. Beispiele Im Folgenden finden Sie einige Beispiele für den Umgang mit Anonymous CVS. Sie sollten sich aber die Manualpage von &man.cvs.1; sorgfältig durchlesen, bevor Sie anfangen. &man.ls.1; von -CURRENT auschecken &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges Passwort. &prompt.user; cvs co ls Den <filename>src/</filename>-Baum über SSH auschecken &prompt.user; cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established. DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts. &man.ls.1; aus dem 8-STABLE-Zweig auschecken &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges Passwort. &prompt.user; cvs co -rRELENG_8 ls Änderungen in &man.ls.1; zwischen 5.3 RELEASE und 5.4 RELEASE (als unified diff) &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges Passwort. &prompt.user; cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls Gültige Modulnamen herausfinden &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges Passwort. &prompt.user; cvs co modules &prompt.user; more modules/modules Weitere Ressourcen Die folgenden Ressourcen sind nützlich, um den Umgang mit CVS zu lernen: CVS Tutorial von der California Polytechnic State University. CVS Home, die Homepage des CVS-Projekts. CVSweb das Web Interface zu CVS des &os; Projekts. CTM CTM Mit CTM Abkürzung für CVS Through eMail können Sie einen entfernten Verzeichnisbaum mit einem zentralen Baum synchronisieren. Es wurde extra zum Synchronisieren der &os; Quellen entwickelt, obwohl es mit der Zeit vielleicht auch andere Anwendungen geben wird. Zurzeit existiert leider so gut wie keine Dokumentation zum Erstellen der Deltas. Wenn Sie Hilfe benötigen oder CTM für andere Zwecke einsetzen wollen, wenden Sie sich bitte an die Mailingliste &a.ctm-users.name;. Warum soll ich <application>CTM</application> benutzen? Mit CTM erhalten Sie eine lokale Kopie des &os;-Quellbaums, den es in mehreren Varianten gibt. Sie können das ganze Repository oder nur einen Zweig spiegeln. Wenn Sie ein aktiver &os;-Entwickler mit einer schlechten oder gar keiner TCP/IP Verbindung sind, oder die Änderungen einfach automatisch zugesandt bekommen wollen, dann ist CTM das Richtige für Sie. Für die Zweige mit der meisten Aktivität müssen Sie sich täglich bis zu drei Deltas beschaffen, Sie sollten allerdings erwägen, die Deltas automatisch über E-Mail zu beziehen. Die Größe der Updates wird so klein wie möglich gehalten. Normalerweise sind sie kleiner als 5 kB, manchmal sind sie 10-50 kB groß (etwa jedes 10. Update) und ab und an werden Sie auch einmal ein Update mit 100 kB oder mehr erhalten. Sie sollten sich über die Vorbehalte gegen die Verwendung der Quellen anstelle eines offiziellen Releases bewusst sein. Das trifft besonders auf &os.current; zu, lesen Sie dazu bitte den Abschnitt &os.current;. Was brauche ich, um <application>CTM</application> zu benutzen? Zwei Sachen: Das CTM Programm und die initialen Deltas, von denen aus Sie auf die aktuellen Stände kommen. CTM ist schon seit der Version 2.0 Teil des &os;-Basissystems. Sie finden es in /usr/src/usr.sbin/ctm, wenn Sie eine Kopie der Quellen besitzen. Die Deltas, die CTM verarbeitet, können Sie über FTP oder E-Mail beziehen. Wenn Sie über einen FTP Zugang zum Internet verfügen, erhalten Sie die Deltas unter der folgenden URL: Die Deltas werden auch von CTM Spiegeln bereitgehalten. Wechseln Sie in das passende Verzeichnisse zum Beispiel src-cur für &os.current; und laden Sie sich von dort die Deltas herunter. Sie können die Deltas auch über E-Mail beziehen. Abonnieren Sie dazu eine der CTM-Verteilerlisten. Über &a.ctm-cvs-cur.name; erhalten Sie den kompletten CVS-Baum, über &a.ctm-src-cur.name; erhalten Sie &os.current; und über &a.ctm-src-7.name; erhalten Sie den &os; 7.X-Zweig. Wenn Sie nicht wissen, wie Sie eine der Mailinglisten abonnieren, folgen Sie einem der Verweise von oben oder besuchen Sie die Seite &a.mailman.lists.link;. Weitere Informationen erhalten Sie, wenn Sie dort auf die gewünschte Liste klicken. Benutzen Sie ctm_rmail, um die CTM Updates, die Sie per E-Mail empfangen, auszupacken und anzuwenden. Wenn Sie diesen Prozess automatisiert ablaufen lassen möchten, können Sie dazu einen Eintrag in /etc/aliases verwenden. Genauere Informationen finden Sie in der Manualpage von ctm_rmail. Sie sollten die Mailingliste &a.ctm-announce.name; abonnieren, egal wie Sie die CTM-Deltas erhalten. Ankündigungen, die den Betrieb des CTM-Systems betreffen, werden nur auf dieser Liste bekannt gegeben. Klicken Sie auf den Namen der Liste oder besuchen Sie die Seite &a.mailman.lists.link;, um diese Liste zu abonnieren. Initialisieren von <application>CTM</application> Bevor Sie die CTM Deltas benutzen können, brauchen Sie einen Startpunkt, auf den die nachfolgenden Deltas angewendet werden. Sie können natürlich mit einem leeren Verzeichnis beginnen. In diesem Fall benötigen Sie ein XEmpty-Delta, mit dem Sie den CTM-Verzeichnisbaum initialisieren. Wenn Sie Glück haben, finden Sie ein XEmpty-Delta, mit dem sie beginnen können, auf einer der CDs Ihrer Distribution. Da die Verzeichnisbäume mehrere Megabyte groß sind, sollten Sie nach Möglichkeit etwas schon vorhandenes benutzen. Wenn Sie eine -RELEASE CD besitzen, können Sie die Quellen von dieser CD benutzen. Sie ersparen sich damit das Übertragen großer Datenmengen. Die Deltas, mit denen Sie beginnen können, enthalten ein X in ihrem Namen, wie in src-cur.3210XEmpty.gz. Hinter dem X wird der Startpunkt der Deltas angegeben, in diesem Fall steht Empty für ein leeres Verzeichnis. Nach etwa 100 Deltas wird ein neues XEmpty-Delta erstellt. Mit ungefähr 75 Megabyte komprimierter Daten sind diese XEmpty-Deltas übrigens sehr groß. Nachdem Sie Ihren Startpunkt festgelegt haben, benötigen Sie alle Deltas mit einer höheren Nummer. Benutzen von <application>CTM</application> Um ein Delta einzuspielen, benutzen Sie das folgende Kommando: &prompt.root; cd /Pfad/zu/den/Quellen &prompt.root; ctm -v -v /Pfad/zu/den/Deltas/src-xxx.* CTM kann mit Deltas arbeiten, die mit gzip komprimiert wurden. Sie brauchen die Deltas vorher nicht mit gunzip zu dekomprimieren und sparen damit Plattenplatz. Ihr Quellbaum wird erst dann verändert, wenn CTM die Deltas sauber verarbeiten kann. Die Integrität der Deltas und ihre Anwendbarkeit auf den Quellbaum lassen sich durch die Angabe des Schalters -c überprüfen, CTM ändert in diesem Fall Ihren Quellbaum nicht. CTM verfügt über weitere Kommandozeilenoptionen, Informationen dazu finden Sie in der Manualpage oder dem Quellcode. Das war schon alles. Um Ihre Quellen aktuell zu halten, verwenden Sie CTM jedes Mal, wenn Sie neue Deltas bekommen. Löschen Sie die Deltas nicht, wenn Sie diese nur schwer wieder beschaffen können. Behalten Sie sie für den Fall, das etwas passiert. Auch wenn Sie nur Disketten besitzen, sollten Sie erwägen, die Deltas mit fdwrite zu sichern. Umgang mit lokalen Änderungen Entwickler wollen mit den Dateien im Quellbaum experimentieren und diese verändern. In beschränkter Weise werden lokale Änderungen von CTM unterstützt. Wenn CTM die Datei foo bearbeiten will, überprüft es zuerst ob die Datei foo.ctm existiert. Wenn diese Datei existiert, werden Änderungen in ihr anstatt in foo vorgenommen. Mit diesem Verfahren ist eine leichte Handhabung lokaler Änderungen möglich. Kopieren Sie die Dateien, die Sie ändern möchten, in Dateien, die das Suffix .ctm tragen. Sie können dann ungestört mit dem Quellcode arbeiten, während CTM die .ctm Dateien aktualisiert. Weitere <application>CTM</application>-Optionen Was wird aktualisiert? Eine Liste der Änderungen, die CTM an Ihrem Quellbaum vornehmen wird, erhalten Sie, wenn Sie die Option angeben. Das ist nützlich, wenn Sie Logs über die Änderungen führen wollen, geänderte Dateien vor- oder nachbearbeiten wollen, oder einfach ein bisschen paranoid sind. Sicherungen vor einer Aktualisierung erstellen Sie wollen vielleicht die Dateien, die durch eine CTM Aktualisierung verändert werden, sichern. Mit weisen Sie CTM an, alle Dateien, die durch ein CTM Delta verändert würden, nach backup-file zu sichern. Dateien ausschließen Manchmal wollen Sie nur bestimmte Teile aktualisieren oder nur bestimmte Dateien aus einer Folge von Deltas extrahieren. Sie können die Liste der Dateien, mit denen CTM arbeitet, einschränken, indem Sie reguläre Ausdrücke mit den Optionen und angeben. Wenn Sie eine aktuelle Kopie von lib/libc/Makefile aus den gesicherten CTM Deltas erhalten wollen, setzen Sie das folgende Kommando ab: &prompt.root; cd /wo/Sie/es/auspacken/wollen/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* Die Optionen und werden in der Reihenfolge angewandt, in der sie auf der Kommandozeile angegeben wurden. Eine Datei wird nur dann von CTM verarbeitet, wenn dies nach der Anwendung der Optionen und noch erlaubt ist. Pläne für <application>CTM</application> Mehrere: Hinzufügen eines Authentifizierungsmechanismus, damit gefälschte CTM-Deltas erkannt werden können. Aufräumen der CTM-Optionen, die mit der Zeit unübersichtlich und irreführend wurden. Verschiedenes Es gibt Deltas für die Ports-Sammlung, die aber nicht intensiv genutzt werden. CTM-Spiegel Die CTM-Deltas können Sie mit anonymous FTP von den folgenden Spiegeln beziehen. Versuchen Sie bitte einen Spiegel in Ihrer Nähe zu benutzen. Bei Problemen wenden Sie sich bitte an die Mailingliste &a.ctm-users.name;. Kalifornien, Bay Area, Offizieller Server Südafrika, Backup-Server für alte Deltas Taiwan/R.O.C. Wenn die Liste keinen Spiegel in Ihrer Nähe enthält oder Sie Probleme mit dem ausgewählten Spiegel haben, versuchen Sie einen Spiegel mit einer Suchmaschine, wie alltheweb, zu finden. Benutzen von CVSup Einführung CVSup ist eine Anwendung, die Verzeichnisbäume von einem entfernten CVS-Server bereitstellt und aktualisiert. Die Quellen von &os; werden in einem CVS-Repository auf einer Entwicklungsmaschine in Kalifornien gepflegt. Mit CVSup können sich &os;-Benutzer den eigenen Quellbaum auf aktuellem Stand halten. Zum Aktualisieren benutzt CVSup die Pull-Methode, bei der die Aktualisierungen vom Client angefragt werden. Der Server wartet dabei passiv auf Anfragen von Clients, das heißt er verschickt nicht unaufgefordert Aktualisierungen. Somit gehen alle Anfragen vom Client aus und die Benutzer müssen CVSup entweder manuell starten oder einen cron Job einrichten, um regelmäßig Aktualisierungen zu erhalten. CVSup in genau dieser Schreibweise bezeichnet die Anwendung, die aus dem Client cvsup und dem Server cvsupd besteht. cvsup läuft auf den Maschinen der Benutzer, cvsupd läuft auf jedem der &os;-Spiegel. Wenn Sie die &os;-Dokumentation und die Mailinglisten lesen, werden Sie oft auf Sup, dem Vorgänger von CVSup stoßen. CVSup wird in gleicher Weise wie Sup benutzt und verfügt sogar über Konfigurationsdateien, die kompatibel zu denen von Sup sind. Da CVSup schneller und flexibler als Sup ist, wird Sup vom &os; Project nicht mehr benutzt. Mit csup gibt es in inzwischen auch eine in C geschriebene Neuimplementierung von CVSup. Der größte Vorteil dieser neuen Version ist neben einer höheren Geschwindigkeit der, dass dieses Programm nicht von der Sprache Modula-3 abhängig ist und Sie daher dieses Paket nicht mitinstallieren müssen. csup ist bereits im Basissystem enthalten und kann sofort verwendet werden. Wollen Sie künftig csup einsetzen, überspringen Sie in den folgenden Ausführungen einfach den Abschnitt zur Installation von CVSup und ersetzen alle Vorkommen von CVSup durch csup. Installation von <application>CVSup</application> CVSup können Sie leicht installieren, wenn Sie das vorkompilierte Paket net/cvsup aus der Ports-Sammlung benutzen. Alternativ können Sie net/cvsup auch ausgehend von den Quellen bauen, doch seien Sie gewarnt: net/cvsup hängt vom Modula-3 System ab, das viel Zeit und Platz zum Herunterladen und Bauen braucht. Wenn Sie CVSup auf einer Maschine ohne &xorg; (also beispielsweise auf einem Server), benutzen, stellen Sie bitte sicher, dass Sie den Port ohne das CVSup-GUI, (net/cvsup-without-gui) verwenden. Konfiguration von CVSup Das Verhalten von CVSup wird mit einer Konfigurationsdatei gesteuert, die supfile genannt wird. Beispiele für Konfigurationsdateien finden Sie in dem Verzeichnis . Ein supfile enthält die folgenden Informationen: Welche Dateien Sie erhalten wollen. Welche Versionen der Dateien Sie benötigen. Woher Sie die Dateien beziehen wollen. Wo Sie die erhaltenen Dateien speichern. Wo Sie die Status-Dateien aufbewahren wollen. In den folgenden Abschnitten erstellen wir ein typisches supfile indem wir nach und nach diese Punkte klären. Zuerst beschreiben wir aber den Aufbau dieser Konfigurationsdatei. Ein supfile ist eine Textdatei. Kommentare beginnen mit einem # und gelten bis zum Zeilenende. Leerzeilen und Zeilen, die nur Kommentare enthalten, werden ignoriert. Die anderen Zeilen legen die Dateien fest, die ein Benutzer erhalten will. Der Server organisiert verschiedene Dateien in einer Sammlung, deren Name auf einer Zeile angegeben wird. Nach dem Namen der Sammlung können mehrere durch Leerzeichen getrennte Felder folgen, die die oben angesprochenen Informationen festlegen. Es gibt zwei Arten von Feldern: Felder, die Optionen festlegen und Felder mit Parametern. Optionen bestehen aus einem Schlüsselwort, wie oder und stehen alleine. Ein Parameterfeld beginnt mit einem Schlüsselwort, dem = und ein Parameter, wie in , folgt. Dieses Feld darf keine Leerzeichen enthalten. In einem supfile werden normalerweise mehrere Sammlungen angefordert. Die erforderlichen Felder können explizit für jede Sammlung angegeben werden, dann werden jedoch die Zeilen ziemlich lang. Außerdem ist dieses Vorgehen sehr unhandlich, da die meisten Felder für alle Sammlungen gleich sind. CVSup bietet die Möglichkeit, Vorgaben für die Felder der Sammlungen festzulegen. Zeilen, die mit der Pseudo-Sammlung *default beginnen, legen Optionen und Parameter für nachfolgende Sammlungen im supfile fest. Der Vorgabewert kann in der Zeile einer bestimmten Sammlung überschrieben werden. Durch Hinzufügen weiterer *default Zeilen können die Vorgaben auch mitten im supfile überschrieben oder erweitert werden. Mit diesem Wissen können wir nun ein supfile erstellen, das den Quellbaum von &os;-CURRENT anfordert und aktualisiert. Welche Dateien wollen Sie empfangen? Dateien werden von CVSup in Sammlungen organisiert. Die erhältlichen Sammlungen werden später beschrieben. Wir wollen den Quellbaum von &os; empfangen, der in der Sammlung src-all enthalten ist. Das supfile enthält pro Zeile eine Sammlung, in diesem Fall also nur eine einzige Zeile: src-all Welche Versionen der Dateien werden benötigt? Mit CVSup können Sie jede Version der Quellen bekommen, da der cvsupd-Server seine Daten direkt aus dem CVS-Repository bezieht. Sie können die benötigten Versionen in den Parameterfeldern tag= und angeben. Achten Sie darauf, dass Sie das richtige tag=-Feld angeben. Einige Tags sind nur für spezielle Sammlungen gültig. Wenn Sie ein falsches Tag angeben oder sich verschreiben, wird CVSup Dateien löschen, die Sie wahrscheinlich gar nicht löschen wollten. Achten Sie insbesondere bei den ports-*-Sammlungen darauf, ausschließlich tag=. zu verwenden. Mit tag= wird ein symbolischer Name aus dem Repository angegeben. Es gibt zwei verschiedene Tags: Tags, die Revisionen bezeichnen und Tags, die Zweige bezeichnen. Die ersteren sind statisch und fest an eine Revision gebunden. Ein Tag, das einen Zweig bezeichnet, bezieht sich dagegen zu einem gegebenen Zeitpunkt immer auf die aktuellste Revision. Da ein Tag eines Zweiges nicht an eine bestimmte Revision gebunden ist, kann sich dessen Bedeutung von heute auf morgen ändern. zählt für Benutzer relevante Tags auf. Wenn Sie in der Konfigurationsdatei ein Tag, wie RELENG_8, angeben, müssen Sie diesem tag= vorstellen: tag=RELENG_8. Denken Sie daran, dass es für die Ports-Sammlung nur tag=. gibt. Achten Sie darauf, dass Sie den Namen eines Tags richtig angeben. CVSup kann nicht zwischen richtigen und falschen Tags unterscheiden. Wenn Sie sich bei der Angabe eines Tags vertippen, nimmt CVSup an, Sie hätten ein gültiges Tag angegeben, dem nur keine Dateien zugeordnet sind. Die Folge davon ist, dass Ihre vorhandenen Quellen gelöscht werden. Wenn Sie ein Tag angeben, das sich auf einen Zweig bezieht, erhalten Sie die aktuellsten Revisionen der Dateien auf diesem Zweig. Wenn Sie eine frühere Revision erhalten möchten, können Sie diese im Feld angeben. Einzelheiten dazu finden Sie in der Manualpage von cvsup. Wir möchten gerne &os;-CURRENT beziehen und fügen die folgende Zeile am Anfang der Konfigurationsdatei ein: *default tag=. Eine wichtige Ausnahme ist wenn Sie weder ein tag=-Feld noch ein date=-Feld angeben. In diesem Fall erhalten Sie anstelle einer speziellen Revision die wirklichen RCS-Dateien aus dem CVS-Repository des Servers. Diese Vorgehensweise wird von Entwicklern bevorzugt, da sie mit einem eigenen Repository leicht die Entwicklungsgeschichte und Veränderungen von Dateien verfolgen können. Dieser Vorteil muss allerdings mit sehr viel Plattenplatz bezahlt werden. Woher sollen die Dateien bezogen werden? Im host=-Feld wird angegeben, woher cvsup die Dateien holen soll. Sie können hier jeden der CVSup-Spiegel angeben, doch sollten Sie einen Server in Ihrer Nähe auswählen. Für dieses Beispiel wollen wir den erfundenen Server cvsup99.FreeBSD.org verwenden: *default host=cvsup99.FreeBSD.org Bevor Sie CVSup laufen lassen, sollten Sie hier einen existierenden Server einsetzen. Den zu verwendenden Server können Sie auf der Kommandozeile mit überschreiben. Wo sollen die Dateien gespeichert werden? Im prefix=-Feld teilen Sie cvsup mit, wo die Dateien gespeichert werden sollen. In diesem Beispiel werden wir die Quelldateien direkt im Verzeichnisbaum für Quellen /usr/src ablegen. Das Verzeichnis src ist schon in der Sammlung, die wir beziehen enthalten, so dass wir die folgende Zeile angeben: *default prefix=/usr Wo sollen die Statusinformationen von cvsup gespeichert werden? cvsup legt in einem Verzeichnis Statusinformationen ab, die festhalten, welche Versionen schon empfangen wurden. Wir verwenden das Verzeichnis /var/db: *default base=/var/db Wenn das Verzeichnis für die Statusinformationen nicht existiert, sollten Sie es jetzt anlegen, da cvsup ohne dieses Verzeichnis nicht startet. Verschiedene Einstellungen: Eine weitere Zeile sollte normalerweise in jedem supfile sein: *default release=cvs delete use-rel-suffix compress Mit release=cvs wird angegeben, dass der Server das &os;-Haupt-Repository abfragen soll, was praktisch immer der Fall ist (die Ausnahmen werden in diesem Text nicht diskutiert). delete erlaubt es CVSup, Dateien zu löschen. Diese Option sollten Sie immer angeben, damit CVSup Ihren Quellbaum auch wirklich aktuell halten kann. CVSup löscht nur Dateien für die es auch verantwortlich ist. Andere Dateien, die sich in einem Baum unter Kontrolle von CVSup befinden, werden nicht verändert. Wenn Sie wirklich etwas über das obskure use-rel-suffix erfahren wollen, lesen Sie bitte in der Manualpage nach, ansonsten geben Sie es einfach an und vergessen es. Wenn Sie compress angeben, werden Daten auf dem Kommunikationskanal komprimiert. Wenn Sie über eine T1-Leitung oder eine schnellere Netzanbindung verfügen, brauchen Sie diese Option vielleicht nicht. In allen anderen Fällen beschleunigt sie aber den Ablauf. Zusammenfassung: Das vollständige supfile unseres Beispiels sieht nun so aus: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all Die <filename>refuse</filename> Datei CVSup benutzt die Pull-Methode, das heißt wenn sich ein Client mit einem Server verbindet, erhält er eine Liste der verfügbaren Sammlungen und wählt aus diesen die herunterzuladenden Dateien aus. In der Voreinstellung wählt der Client alle Dateien aus, die zu einer gegebenen Sammlung und zu einem gegebenen Tag passen. Dieses Verhalten ist aber nicht immer erwünscht, besonders wenn Sie die doc, ports oder www Verzeichnisbäume synchronisieren. Die wenigsten Leute beherrschen vier oder fünf Sprachen und benötigen Dateien mit speziellen Anpassungen für eine Sprache. Wenn Sie die Ports-Sammlung synchronisieren, können Sie anstelle von ports-all einzelne Ports, wie ports-astrology oder ports-biology angeben. Die doc und www Verzeichnisbäume verfügen aber nicht über Sammlungen für spezielle Sprachen. In diesem Fall müssen Sie eines der vielen eleganten Merkmale von CVSup benutzen: Die refuse Datei. Mit einer refuse Datei können Sie bestimmte Dateien einer Sammlung von der Übertragung ausschließen. Der Ort der refuse ist base/sup/refuse, wobei base in Ihrem supfile festgelegt wurde. Wir verwenden das Verzeichnis /var/db, der Ort der refuse Datei ist daher /var/db/sup/refuse. Das Format der refuse Datei ist einfach: Sie enthält eine Liste der Dateien und Verzeichnisse, die Sie nicht herunterladen wollen. Wenn Sie zum Beispiel die Dokumentation nicht in anderen Sprachen als Englisch lesen wollen, könnte Ihre refuse-Datei wie folgt aussehen: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc_mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* Die Aufzählung setzt sich für andere Sprachen fort. Eine vollständige Liste finden Sie im &os; CVS Repository. Die refuse Datei spart Anwendern von CVSup, die über eine langsame Internetanbindung verfügen oder deren Internetverbindung zeitlich abgerechnet wird, wertvolle Zeit, da sie Dateien, die sie nicht benötigen, nicht mehr herunterladen müssen. Weitere Informationen zu refuse Dateien und anderen Eigenschaften von CVSup entnehmen Sie bitte der Manualpage. Ausführen von <application>CVSup</application> Wir können nun eine Aktualisierung mit der folgenden Kommandozeile starten: &prompt.root; cvsup supfile supfile gibt dabei das eben erstelle supfile an. Wenn Sie X11 benutzen, wird cvsup ein GUI starten. Drücken Sie go und schauen Sie zu. Das Beispiel aktualisiert die Dateien im Verzeichnisbaum /usr/src. Sie müssen cvsup als root starten, damit Sie die nötigen Rechte haben, die Dateien zu aktualisieren. Sie sind vielleicht ein bisschen nervös weil Sie das Programm zum ersten Mal anwenden und möchten zuerst einmal einen Testlauf durchführen. Legen Sie dazu ein temporäres Verzeichnis an und übergeben es auf der Kommandozeile von cvsup: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest Aktualisierungen werden dann nur in dem angegebenen Verzeichnis vorgenommen. CVSup untersucht die Dateien in /usr/src, wird aber keine dieser Dateien verändern. Die veränderten Dateien finden Sie stattdessen in /var/tmp/dest/usr/src. Die Statusdateien von CVSup werden ebenfalls nicht geändert, sondern in dem angegebenen Verzeichnis abgelegt. Wenn Sie Leseberechtigung in /usr/src haben, brauchen Sie das Programm noch nicht einmal unter root laufen zu lassen. Wenn Sie X11 nicht benutzen wollen oder keine GUIs mögen, sollten Sie cvsup wie folgt aufrufen: &prompt.root; cvsup -g -L 2 supfile verhindert den Start des GUIs. Wenn Sie kein X11 laufen haben, passiert das automatisch, ansonsten müssen Sie diesen Schalter angeben. Mit gibt CVSup Einzelheiten zu jeder Aktualisierung aus. Die Wortfülle der Meldungen können Sie von bis einstellen. In der Voreinstellung werden nur Fehlermeldungen ausgegeben. Eine Zusammenfassung der Optionen von CVSup erhalten Sie mit cvsup -H. Genauere Informationen finden Sie in der Manualpage von CVSup. Wenn Sie mit dem Ablauf der Aktualisierung zufrieden sind, können Sie CVSup regelmäßig aus &man.cron.8; ausführen. In diesem Fall sollten Sie natürlich nicht das GUI benutzen. <application>CVSup</application> Sammlungen Die CVSup Sammlungen sind hierarchisch organisiert. Es gibt wenige große Sammlungen, die in kleinere Teilsammlungen unterteilt sind. Wenn Sie eine große Sammlung beziehen, entspricht das dem Beziehen aller Teilsammlungen. Der Hierarchie der Sammlung wird in der folgenden Aufzählung durch Einrückungen dargestellt. Die am häufigsten benutzen Sammlungen sind src-all und ports-all. Die anderen Sammlungen werden von wenigen Leuten zu speziellen Zwecken benutzt und es kann sein, dass diese nicht auf allen Spiegeln zur Verfügung stehen. cvs-all release=cvs Das &os;-Haupt-Repository einschließlich der Kryptographie-Module. distrib release=cvs Dateien, die zum Verteilen und Spiegeln von &os; benötigt werden. doc-all release=cvs Quellen des &os;-Handbuchs und weiterer Dokumentation. Diese Sammlung enthält nicht die &os;-Webseite. ports-all release=cvs Die &os;-Ports-Sammlung. Wenn Sie nicht die gesamte Ports-Sammlung (ports-all) aktualisieren wollen, sondern nur eine der nachstehend aufgeführten Teilsammlungen, aktualisieren Sie immer die Teilsammlung ports-base. Diese Teilsammlung enthält das Bausystem der Ports. Immer wenn ports-base geändert wird, ist es so gut wie sicher, dass diese Änderung auch tatsächlich von einem Port benutzt wird. Der Bau eines Ports, der auf Änderungen im Bausystem angewiesen wird, wird fehlschlagen, wenn das Bausystem noch auf einem alten Stand ist. Aktualisieren Sie vor allen Dingen ports-base, wenn Sie bei einem Bau merkwürdige Fehlermeldungen erhalten und kein aktuelles Bausystem benutzen. Wenn Sie die Datei ports/INDEX selbst erzeugen, brauchen Sie unbedingt die Sammlung ports-all (den ganzen Ports-Baum). Es ist nicht möglich, ports/INDEX nur mit einem Teilbaum zu erstellen. Lesen Sie dazu bitte die FAQ. ports-accessibility release=cvs Werkzeuge für behinderte Benutzer. ports-arabic release=cvs Arabische Sprachunterstützung. ports-archivers release=cvs Werkzeuge zum Archivieren. ports-astro release=cvs Astronomie-Programme. ports-audio release=cvs Audio-Programme. ports-base release=cvs Das Bausystem der Ports-Sammlung. Dazu gehören verschiedene Dateien in den Unterverzeichnissen Mk/ und Tools/ von /usr/ports. Aktualisieren Sie diese Teilsammlung jedes Mal, wenn Sie einen Teil der Ports-Sammlung aktualisieren. Lesen Sie dazu auch den obigen Hinweis zur Ports-Sammlung. ports-benchmarks release=cvs Benchmarks. ports-biology release=cvs Biologie. ports-cad release=cvs Computer Aided Design Werkzeuge. ports-chinese release=cvs Chinesische Sprachunterstützung. ports-comms release=cvs Programme zur Datenkommunikation. ports-converters release=cvs Zeichensatz Konvertierer. ports-databases release=cvs Datenbanken. ports-deskutils release=cvs Sachen, die sich vor dem Computer-Zeitalter auf dem Schreibtisch befanden. ports-devel release=cvs Werkzeuge für Entwickler. ports-dns release=cvs Software für DNS. ports-editors release=cvs Editoren. ports-emulators release=cvs Programme, die andere Betriebssysteme emulieren. ports-finance release=cvs Finanz-Anwendungen. ports-ftp release=cvs Werkzeuge für FTP Clients und Server. ports-games release=cvs Spiele. ports-german release=cvs Deutsche Sprachunterstützung. ports-graphics release=cvs Graphik-Programme. ports-hebrew release=cvs Hebräische Sprachunterstützung. ports-hungarian release=cvs Ungarische Sprachunterstützung. ports-irc release=cvs Internet Relay Chat Werkzeuge. ports-japanese release=cvs Japanische Sprachunterstützung. ports-java release=cvs &java; Werkzeuge. ports-korean release=cvs Koreanische Sprachunterstützung. ports-lang release=cvs Programmiersprachen. ports-mail release=cvs E-Mail Programme. ports-math release=cvs Programme zur numerischen Mathematik. ports-misc release=cvs Verschiedene Werkzeuge. ports-multimedia release=cvs Multimedia-Anwendungen. ports-net release=cvs Netzwerk-Programme. ports-net-im release=cvs Diverse Instant-Messenger. ports-net-mgmt release=cvs Software zum Verwalten von Netzwerken. ports-net-p2p release=cvs Software für die Nutzung von Peer-to-Peer-Netzwerken. ports-news release=cvs USENET News Werkzeuge. ports-palm release=cvs Programme für den Palm. ports-polish release=cvs Polnische Sprachunterstützung. ports-ports-mgmt release=cvs Werkzeuge zum Management von Ports und Paketen. ports-portuguese release=cvs Portugiesische Sprachunterstützung. ports-print release=cvs Druckprogramme. ports-russian release=cvs Russische Sprachunterstützung. ports-science release=cvs Wissenschaft. ports-security release=cvs Werkzeuge zum Thema Sicherheit. ports-shells release=cvs Kommandozeilen-Shells. ports-sysutils release=cvs System-Werkzeuge. ports-textproc release=cvs Programme zur Textverarbeitung (ohne Desktop Publishing). ports-ukrainian release=cvs Ukrainische Sprachunterstützung. ports-vietnamese release=cvs Vietnamesische Sprachunterstützung. ports-www release=cvs Software rund um das World Wide Web. ports-x11 release=cvs X-Window Programme. ports-x11-clocks release=cvs X11-Uhren. ports-x11-drivers release=cvs X11-Treiber. ports-x11-fm release=cvs X11-Dateiverwalter. ports-x11-fonts release=cvs X11-Zeichensätze und Werkzeuge dazu. ports-x11-toolkits release=cvs X11-Werkzeuge. ports-x11-servers release=cvs X11-Server. ports-x11-themes release=cvs X11-Themes. ports-x11-wm release=cvs X11-Fensterverwalter. projects-all release=cvs Quelltexte der verschiedenen &os;-Projekte. src-all release=cvs Die &os;-Quellen einschließlich der Kryptographie-Module. src-base release=cvs Verschiedene Dateien unter /usr/src. src-bin release=cvs Benutzer-Werkzeuge die im Einzelbenutzermodus gebraucht werden (/usr/src/bin). src-cddl release=cvs Werkzeuge und Bibliotheken, die der CDDL-Lizenz unterliegen (/usr/src/cddl). src-contrib release=cvs Werkzeuge und Bibliotheken, die nicht aus dem &os; Project stammen und wenig verändert übernommen werden. (/usr/src/contrib). src-crypto release=cvs Kryptographische Werkzeuge und Bibliotheken, die nicht aus dem &os; Project stammen und wenig verändert übernommen werden. (/usr/src/crypto). src-eBones release=cvs Kerberos und DES (/usr/src/eBones). Wird in aktuellen Releases von &os; nicht benutzt. src-etc release=cvs Konfigurationsdateien des Systems (/usr/src/etc). src-games release=cvs Spiele (/usr/src/games). src-gnu release=cvs Werkzeuge, die unter der GNU Public License stehen (/usr/src/gnu). src-include release=cvs Header Dateien (/usr/src/include). src-kerberos5 release=cvs Kerberos5 (/usr/src/kerberos5). src-kerberosIV release=cvs KerberosIV (/usr/src/kerberosIV). src-lib release=cvs Bibliotheken (/usr/src/lib). src-libexec release=cvs Systemprogramme, die von anderen Programmen ausgeführt werden (/usr/src/libexec). src-release release=cvs Dateien, die zum Erstellen eines &os; Releases notwendig sind (/usr/src/release). src-rescue release=cvs Statisch gelinkte Programme zur Wiederherstellung eines defekten Systems. Lesen Sie dazu auch die Manualpage &man.rescue.8; (/usr/src/rescue). src-sbin release=cvs Werkzeuge für den Einzelbenutzermodus (/usr/src/sbin). src-secure release=cvs Kryptographische Bibliotheken und Befehle (/usr/src/secure). src-share release=cvs Dateien, die von mehreren Systemen gemeinsam benutzt werden können (/usr/src/share). src-sys release=cvs Der Kernel (/usr/src/sys). src-sys-crypto release=cvs Kryptographie Quellen des Kernels (/usr/src/sys/crypto). src-tools release=cvs Verschiedene Werkzeuge zur Pflege von &os; (/usr/src/tools). src-usrbin release=cvs Benutzer-Werkzeuge (/usr/src/usr.bin). src-usrsbin release=cvs System-Werkzeuge (/usr/src/usr.sbin). www release=cvs Die Quellen der &os;-WWW-Seite. distrib release=self Die Konfigurationsdateien des CVSup Servers. Diese werden von den CVSup benutzt. gnats release=current Die GNATS Datenbank, in der Problemberichte verwaltet werden. mail-archive release=current Das Archiv der &os;-Mailinglisten. www release=current Die formatierten Dateien der &os;-WWW-Seite (nicht die Quellen). Diese werden von den WWW-Spiegeln benutzt. Weiterführende Informationen Die CVSup FAQ und weitere Informationen über CVSup finden Sie auf The CVSup Home Page. &os; spezifische Diskussionen über CVSup finden auf der Mailingliste &a.hackers; statt. Dort und auf der Liste &a.announce; werden neue Versionen von CVSup angekündigt. Bei Fragen und Problemberichten zu CVSup lesen Sie bitte die CVSup FAQ. CVSup-Server Die folgende Aufzählung enthält CVSup Server für &os;: &chap.mirrors.cvsup.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.cvsup.inc; CVS-Tags Wenn Sie Quellen mit CVS oder CVSup erhalten oder aktualisieren wollen, müssen Sie ein Tag angeben. Ein Tag kann einen bestimmten &os;-Zweig oder einen bestimmten Zeitpunkt (Release-Tag) bestimmen. Tags für Zweige Mit Ausnahme von HEAD (das immer ein gültiges Tag ist), können die folgenden Tags nur im src/-Quellbaum verwendet werden. Die Quellbäume ports/, doc/ und www/ sind nicht verzweigt. HEAD Symbolischer Name für den Hauptzweig, auch &os.current; genannt. Dies ist die Vorgabe, wenn keine Revision angegeben wird. In CVSup wird dieses Tag mit einem . (Punkt) bezeichnet. In CVS ist das die Vorgabe, wenn Sie kein Tag oder eine Revision angeben. Außer Sie wollen einen -STABLE Rechner auf -CURRENT aktualisieren, ist es nicht ratsam, die -CURRENT Quellen auf einem -STABLE Rechner einzuspielen. RELENG_8 Der Entwicklungszweig für &os;-8.X, auch bekannt als &os; 8-STABLE. RELENG_8_2 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 8.2 durchgeführt werden. RELENG_8_1 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 8.1 durchgeführt werden. RELENG_8_0 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 8.0 durchgeführt werden. RELENG_7 Der Entwicklungszweig für &os;-7.X, auch als &os; 7-STABLE bekannt. RELENG_7_4 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 7.4 durchgeführt werden. RELENG_7_3 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 7.3 durchgeführt werden. RELENG_7_2 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 7.2 durchgeführt werden. RELENG_7_1 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 7.1 durchgeführt werden. RELENG_7_0 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 7.0 durchgeführt werden. RELENG_6 Der Entwicklungszweig für &os;-6.X, auch als &os; 6-STABLE bekannt. RELENG_6_4 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 6.4 durchgeführt werden. RELENG_6_3 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 6.3 durchgeführt werden. RELENG_6_2 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 6.2 durchgeführt werden. RELENG_6_1 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 6.1 durchgeführt werden. RELENG_6_0 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 6.0 durchgeführt werden. RELENG_5 Der &os; 5.X Entwicklungszweig, der auch &os; 5-STABLE genannt wird. RELENG_5_5 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 5.5 durchgeführt werden. RELENG_5_4 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 5.4 durchgeführt werden. RELENG_5_3 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 5.3 durchgeführt werden. RELENG_5_2 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 5.2 und &os; 5.2.1 durchgeführt werden. RELENG_5_1 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 5.1 durchgeführt werden. RELENG_5_0 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 5.0 durchgeführt werden. RELENG_4 Der &os; 4.X Entwicklungszweig, der auch &os; 4-STABLE genannt wird. RELENG_4_11 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 4.11 durchgeführt werden. RELENG_4_10 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 4.10 durchgeführt werden. RELENG_4_9 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 4.9 durchgeführt werden. RELENG_4_8 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 4.8 durchgeführt werden. RELENG_4_7 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 4.7 durchgeführt werden. RELENG_4_6 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 4.6 und &os; 4.6.2 durchgeführt werden. RELENG_4_5 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 4.5 durchgeführt werden. RELENG_4_4 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 4.4 durchgeführt werden. RELENG_4_3 Der Zweig, auf dem sicherheitsrelevante oder kritische Fehlerbehebungen für &os; 4.3 durchgeführt werden. RELENG_3 Der &os;-3.X Entwicklungszweig, der auch 3.X-STABLE genannt wird. RELENG_2_2 Der &os;-2.2.X Entwicklungszweig, der auch 2.2-STABLE genannt wird. Release-Tags Diese Tags geben den Zeitpunkt an, an dem eine bestimme &os;-Version veröffentlicht wurde. Das Erstellen einer Release ist in den Dokumenten Release Engineering Information und Release Process beschrieben. Der src-Baum benutzt Tags, deren Namen mit RELENG_ anfangen. Die Bäume ports und doc benutzen Tags, deren Namen mit RELEASE anfangen. Im Baum www werden keine Release-Tags verwendet. RELENG_8_2_0_RELEASE &os; 8.2 RELENG_8_1_0_RELEASE &os; 8.1 RELENG_8_0_0_RELEASE &os; 8.0 RELENG_7_4_0_RELEASE &os; 7.4 RELENG_7_3_0_RELEASE &os; 7.3 RELENG_7_2_0_RELEASE &os; 7.2 RELENG_7_1_0_RELEASE &os; 7.1 RELENG_7_0_0_RELEASE &os; 7.0 RELENG_6_4_0_RELEASE &os; 6.4 RELENG_6_3_0_RELEASE &os; 6.3 RELENG_6_2_0_RELEASE &os; 6.2 RELENG_6_1_0_RELEASE &os; 6.1 RELENG_6_0_0_RELEASE &os; 6.0 RELENG_5_5_0_RELEASE &os; 5.5 RELENG_5_4_0_RELEASE &os; 5.4 RELENG_4_11_0_RELEASE &os; 4.11 RELENG_5_3_0_RELEASE &os; 5.3 RELENG_4_10_0_RELEASE &os; 4.10 RELENG_5_2_1_RELEASE &os; 5.2.1 RELENG_5_2_0_RELEASE &os; 5.2 RELENG_4_9_0_RELEASE &os; 4.9 RELENG_5_1_0_RELEASE &os; 5.1 RELENG_4_8_0_RELEASE &os; 4.8 RELENG_5_0_0_RELEASE &os; 5.0 RELENG_4_7_0_RELEASE &os; 4.7 RELENG_4_6_2_RELEASE &os; 4.6.2 RELENG_4_6_1_RELEASE &os; 4.6.1 RELENG_4_6_0_RELEASE &os; 4.6 RELENG_4_5_0_RELEASE &os; 4.5 RELENG_4_4_0_RELEASE &os; 4.4 RELENG_4_3_0_RELEASE &os; 4.3 RELENG_4_2_0_RELEASE &os; 4.2 RELENG_4_1_1_RELEASE &os; 4.1.1 RELENG_4_1_0_RELEASE &os; 4.1 RELENG_4_0_0_RELEASE &os; 4.0 RELENG_3_5_0_RELEASE &os;-3.5 RELENG_3_4_0_RELEASE &os;-3.4 RELENG_3_3_0_RELEASE &os;-3.3 RELENG_3_2_0_RELEASE &os;-3.2 RELENG_3_1_0_RELEASE &os;-3.1 RELENG_3_0_0_RELEASE &os;-3.0 RELENG_2_2_8_RELEASE &os;-2.2.8 RELENG_2_2_7_RELEASE &os;-2.2.7 RELENG_2_2_6_RELEASE &os;-2.2.6 RELENG_2_2_5_RELEASE &os;-2.2.5 RELENG_2_2_2_RELEASE &os;-2.2.2 RELENG_2_2_1_RELEASE &os;-2.2.1 RELENG_2_2_0_RELEASE &os;-2.2.0 AFS-Server Die folgende Aufzählung enthält AFS Server für &os;: Schweden Die Dateien sind unter dem Pfad /afs/stacken.kth.se/ftp/pub/FreeBSD/ erreichbar. stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Betreuer ftp@stacken.kth.se rsync-Server rsync wird ähnlich wie &man.rcp.1; verwendet, besitzt aber mehr Optionen und verwendet das rsync remote-update Protokoll, das nur geänderte Dateien überträgt und damit viel schneller als ein normaler Kopiervorgang ist. rsync ist sehr nützlich, wenn Sie einen &os;-FTP-Spiegel oder einen CVS-Spiegel betreiben. Das Programm ist für viele Betriebssysteme erhältlich, mit &os; können Sie den Port net/rsync oder das fertige Paket benutzen. Die folgenden Server stellen &os; über das rsync Protokoll zur Verfügung: Großbritannien rsync://rsync.mirrorservice.org/ Verfügbare Sammlungen: sites/ftp.freebsd.org: Kompletter Spiegel des &os;-FTP-Servers. Niederlande rsync://ftp.nl.FreeBSD.org/ Verfügbare Sammlungen: &os;: Kompletter Spiegel des &os;-FTP-Servers. Russland rsync://ftp.mtu.ru/ Verfügbare Sammlungen: &os;: Kompletter Spiegel des &os;-FTP-Servers. &os;-gnats: Die GNATS-Datenbank zur Verwaltung von Problemberichten. &os;-Archive: Ein Spiegel des &os;-Archive-FTP-Servers. Schweden rsync://ftp4.se.freebsd.org/ Verfügbare Sammlungen: &os;: Kompletter Spiegel des &os;-FTP-Servers. Taiwan rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ Verfügbare Sammlungen: &os;: Kompletter Spiegel des &os;-FTP-Servers. Tschechische Republik rsync://ftp.cz.FreeBSD.org/ Verfügbare Sammlungen: ftp: Unvollständiger Spiegel des &os;-FTP-Servers. &os;: Vollständiger Spiegel des &os;-FTP-Servers. USA rsync://ftp-master.FreeBSD.org/ Dieser Server darf nur von primären Spiegeln benutzt werden. Verfügbare Sammlungen: &os;: Das Hauptarchiv des &os; FTP Servers. acl: Die primäre ACL-Liste. rsync://ftp13.FreeBSD.org/ Verfügbare Sammlungen: &os;: Kompletter Spiegel des &os;-FTP-Servers.
diff --git a/el_GR.ISO8859-7/articles/contributing/article.xml b/el_GR.ISO8859-7/articles/contributing/article.xml index 8709fb6070..969529f8c2 100644 --- a/el_GR.ISO8859-7/articles/contributing/article.xml +++ b/el_GR.ISO8859-7/articles/contributing/article.xml @@ -1,621 +1,621 @@
ÓõíåéóöÝñïíôáò óôï &os; Áõôü ôï Üñèñï ðåñéãñÜöåé äéÜöïñïõò ôñüðïõò ìå ôïõò ïðïßïõò ìðïñåß Ýíá Üôïìï Þ ìéá ïñãÜíùóç íá óõíåéóöÝñåé óôï &os;. Jordan Hubbard ÃñÜöôçêå áðü ôïí ÊõñéÜêïò ÊåíôñùôÞò ÌåôáöñÜóôçêå áðü ôïí &tm-attrib.freebsd; &tm-attrib.ieee; &tm-attrib.general; $FreeBSD$ $FreeBSD$ contributing ÈÝëåôå íá óõìâÜëëåôå óôï &os; ëïéðüí; Áõôü åßíáé õðÝñï÷ï! Ôï &os; âáóßæåôáé óôç óõíåéóöïñÜ ôùí ÷ñçóôþí ãéá íá åðéâéþóåé ùò Ýñãï. Ïé óõíåéóöïñÝò óáò äåí åßíáé áðëþò êáëïäå÷ïýìåíåò, áëëÜ åßíáé ïõóéáóôéêÝò ðñïêåéìÝíïõ ôï &os; íá óõíå÷ßóåé íá áíáðôýóóåôáé. Äåí åßíáé áíÜãêç íá åßóôå ðñïãñáììáôéóôÞò Þ ößëïò ìå ôçí êåíôñéêÞ ïìÜäá ôïõ &os; ãéá íá ãßíåé ç óõíåéóöïñÜ óáò áðïäåêôÞ. Ôï &os; áíáðôýóóåôáé áðü Ýíá ìåãÜëï áñéèìü áíèñþðùí áðü üëï ôïí êüóìï. Óôçí ïìÜäá áíÜðôõîçò õðÜñ÷ïõí Üôïìá äéáöüñùí çëéêéþí Þ ãíùóôéêþí áíôéêåéìÝíùí. Ïé åñãáóßåò ïé ïðïßåò ðñÝðåé íá ãßíïõí åßíáé áñêåôÝò üìùò. ÐïëëÝò öïñÝò åßíáé ðåñéóóüôåñåò áðü üôé ìðïñïýí íá êÜíïõí ïé Üíèñùðïé ðïõ åßíáé äéáèÝóéìïé óôçí ïìÜäá ôïõ &os;. Ãé áõôü åßíáé ðÜíôïôå êáëïäå÷ïýìåíç êÜèå âïÞèåéá. Ôï &os; åßíáé õðåýèõíï ãéá Ýíá ïëüêëçñï ëåéôïõñãéêü ðåñéâÜëëïí, êé ü÷é ìüíï ãéá Ýíá ðõñÞíá Þ ìåñéêÜ äéÜóðáñôá åñãáëåßá. ¸ôóé, ç ëßóôá ôùí åñãáóéþí ðïõ ðñÝðåé íá ãßíïõí êáëýðôåé Ýíá áñêåôÜ ìåãÜëï åýñïò: áðü ôçí ôåêìçñßùóç, ôç äïêéìÞ êáé ôçí ðáñïõóßáóç, ìÝ÷ñé ôï ðñüãñáììá åãêáôÜóôáóçò ôïõ óõóôÞìáôïò êáé ôá ðïëý åîåéäéêåõìÝíá èÝìáôá ôçò áíÜðôõîçò ôïõ ðõñÞíá. ¸ôóé åßíáé ó÷åäüí óßãïõñï üôé üëïé ìðïñïýí íá óõíåéóöÝñïõí ìå åðïéêïäïìçôéêü ôñüðï óôï Ýñãï áíÜðôõîçò ôïõ &os;, üðïéåò ãíþóåéò êáé íá Ý÷ïõí. Ìáò åíäéáöÝñåé åðßóçò êáé êÜèå åðéêïéíùíßá ìå åìðïñéêïýò ïñãáíéóìïýò, åöüóïí äñáóôçñéïðïéïýíôáé óå êÜðïéï ÷þñï ó÷åôéêü ìå ôï &os;. ×ñåéÜæåóôå ìéá åéäéêÞ åðÝêôáóç ãéá íá äïõëÝøåé ôï ðñïúüí óáò; Èá ìáò âñåßôå äåêôéêïýò óôá áéôÞìáôá óáò· åéäéêÜ üôáí åßíáé ñåáëéóôéêÜ. Äïõëåýåôå ðÜíù óå Ýíá ðñïúüí âáóéóìÝíï óôï &os;; Ðáñáêáëïýìå åíçìåñþóôå ìáò. Ìðïñåß íá óõíåñãáóôïýìå ìå êÜðïéï ôñüðï ÷ñÞóéìï êáé óôéò äýï ðëåõñÝò. Ï êüóìïò ôïõ åëåýèåñïõ ëïãéóìéêïý Ý÷åé åíäéáöÝñïõóåò åðéðôþóåéò óå ðïëëÝò õðÜñ÷ïõóåò èåùñßåò ó÷åôéêÜ ìå ôçí áíÜðôõîç, ôçí ðþëçóç êáé ôç óõíôÞñçóç ôïõ ëïãéóìéêïý. Áîßæåé, áí ü÷é íá áó÷ïëçèåßôå ìáæß ôïõ, ôïõëÜ÷éóôïí íá Ý÷åôå õðüøç óáò ðùò ëåéôïõñãåß. Ôé ÷ñåéÜæåôáé Ç ëßóôá åñãáóéþí êáé ìéêñüôåñùí Ýñãùí ðïõ áêïëïõèåß åßíáé ìéá åíäåéêôéêÞ óõëëïãÞ áðü éäÝåò ãéá õëïðïßçóç êáé áéôÞìáôá ôùí ÷ñçóôþí ôïõ &os;. Åñãáóßåò ðïõ äå ÷ñåéÜæïíôáé ðñïãñáììáôéóôÝò Áñêåôïß Üíèñùðïé ðïõ ó÷åôßæïíôáé ìå ôï &os; äåí åßíáé ðñïãñáììáôéóôÝò. Ôï Ýñãï ðåñéëáìâÜíåé óõããñáöåßò ôåêìçñßùóçò, ó÷åäéáóôÝò éóôïóåëßäùí êáé áíèñþðïõò ðïõ ôï õðïóôçñßæïõí. Ôï ìüíï ðïõ ÷ñåéÜæåôáé ãéá íá óõíåéóöÝñåé êÜðïéïò óôï Ýñãï áõôÞò ôçò ïìÜäáò åßíáé ç äéÜèåóç íá åðåíäýóåé ëßãï ÷ñüíï êáé ç èÝëçóç ãéá ãíþóç. ÄéáâÜóôå ôç ëßóôá óõ÷íþí åñùôÞóåùí (FAQ) êáé ôï Åã÷åéñßäéï ôïõ &os;. Áí êÜôé äåí åîçãåßôáé óùóôÜ, ðåñéÝ÷åé îåðåñáóìÝíåò ðëçñïöïñßåò Þ åßíáé åíôåëþò ëÜèïò, åéäïðïéÞóôå ìáò. Áêüìá êáëýôåñá, óôåßëôå ìáò ìéá äéüñèùóç (ç SGML äåí åßíáé äýóêïëç óôçí åêìÜèçóç, áëëÜ ðÜíôá äå÷üìáóôå êáé äéïñèþóåéò óå ìïñöÞ áðëïý êåéìÝíïõ ASCII). ÂïçèÞóôå óôç ìåôÜöñáóç ôçò ôåêìçñßùóçò ôïõ &os; óôç ìçôñéêÞ óáò ãëþóóá. Áí õðÜñ÷åé Þäç ôåêìçñßùóç óôç ãëþóóá óáò, ìðïñåßôå íá âïçèÞóåôå óôç ìåôÜöñáóç åðéðñüóèåôùí êåéìÝíùí Þ íá åðéâåâáéþíåôå üôé ç ìåôÜöñáóç åßíáé åíçìåñùìÝíç. Ðñþôá, êïéôÜîôå óôéò áðáíôçìÝíåò åñùôÞóåéò ó÷åôéêÜ ìå ôéò ìåôáöñÜóåéò óôï Âáóéêü Ïäçãü ãéá ôçí Ôåêìçñßùóç ôïõ &os;. Ôï íá óôåßëåôå ìßá ìåôÜöñáóç äåí óáò êáèéóôÜ õðåýèõíï íá ìåôáöñÜóåôå üëç ôçí ôåêìçñßùóç ôïõ &os;. Ùò åèåëïíôÞò ìðïñåßôå íá ìåôáöñÜóåôå üóá êåßìåíá èÝëåôå Þ ìðïñåßôå· üóï ðïëëÜ, ìåãÜëá, ìéêñÜ Þ ëßãá åßíáé áõôÜ. Ìüëéò áñ÷ßóåé êÜðïéïò ôç ìåôÜöñáóç ôçò ôåêìçñßùóçò ôïõ &os; óå ìéá ãëþóóá, ó÷åäüí áìÝóùò áñ÷ßóïõí íá óõíåéóöÝñïõí êé Üëëïé óôçí ðñïóðÜèåéá. Áí Ý÷åôå ôï ÷ñüíï Þ ôçí åíÝñãåéá íá ìåôáöñÜóåôå ìüíï Ýíá ìÝñïò ôçò ôåêìçñßùóçò, ðáñáêáëïýìå ìåôáöñÜóôå ôéò ïäçãßåò åãêáôÜóôáóçò. Íá äéáâÜæåôå ðåñéóôáóéáêÜ (Þ êáèçìåñéíÜ) ôéò &a.questions; êáé &ng.misc;. Ôï íá ìïéñÜæåóôå ôçí åìðåéñßá óáò êáé íá âïçèÜôå áíèñþðïõò íá ëýóïõí ôá ðñïâëÞìáôÜ ôïõò ìðïñåß íá åßíáé éäéáßôåñá éêáíïðïéçôéêü. ÌåñéêÝò öïñÝò ìðïñåß íá ìÜèåôå êáé êÜôé íÝï ìÝóá áðü áõôÞ ôç äéáäéêáóßá! Åðßóçò áõôÝò ïé óõæçôÞóåéò ìðïñåß íá óáò äþóïõí éäÝåò ãéá êáéíïýñéá åíäéáöÝñïíôá ðñÜãìáôá ìå ôá ïðïßá ìðïñåßôå íá áó÷ïëçèåßôå. Åñãáóßåò ãéá ðñïãñáììáôéóôÝò Óôéò ðåñéóóüôåñåò áðü ôéò åñãáóßåò ðïõ áíáöÝñïíôáé åäþ ÷ñåéÜæåôáé åßôå óçìáíôéêÞ åðÝíäõóç ÷ñüíïõ Þ ìßá óå âÜèïò ãíþóç ôïõ ðõñÞíá ôïõ &os; Þ êáé ôá äýï. ÕðÜñ÷ïõí åðßóçò ðïëëÝò åñãáóßåò ïé ïðïßåò åßíáé ôáõôü÷ñïíá ÷ñÞóéìåò êáé áñêåôÜ åýêïëåò áêüìç êáé ãéá êÜðïéïí hacker ôïõ óáââáôïêýñéáêïõ. Áí ôñÝ÷åôå &os;-CURRENT êáé Ý÷åôå ãñÞãïñç óýíäåóç óôï Internet, õðÜñ÷åé Ýíáò åîõðçñåôçôÞò óôï current.FreeBSD.org ðïõ ÷ôßæåé ìéá ðëÞñç Ýêäïóç êÜèå ìÝñá. ÐñïóðáèÞóôå íá åãêáôáóôÞóåôå ôçí ôåëåõôáßá Ýêäïóç áðü åêåß êáé êÜíôå áíáöïñÜ ãéá ïðïéïäÞðïôå ðñüâëçìá óõíáíôÞóåôå êáôÜ ôç äéÜñêåéá ôçò åãêáôÜóôáóçò Þ ìåôÜ áðü áõôÞí. ÄéáâÜóôå ôç &a.bugs;. Ðéèáíüí íá õðÜñ÷åé êÜðïéï ðñüâëçìá ôï ïðïßï ìðïñåßôå íá ó÷ïëéÜóåôå åðïéêïäïìçôéêÜ Þ êÜðïéï patch ôï ïðïßï ìðïñåßôå íá äïêéìÜóåôå. Áêüìá êáëýôåñá, ìðïñåß íá âñåßôå êÜðïéï ðñüâëçìá ôï ïðïßï óáò öáßíåôáé åíäéáöÝñïí êáé ìðïñåß íá ôï äéïñèþóåôå ïé ßäéïé. Áí ãíùñßæåôå ïðïéåóäÞðïôå äéïñèþóåéò ðñïâëÞìáôïò ïé ïðïßåò Ý÷ïõí åöáñìïóôåß åðéôõ÷çìÝíá óôïí êëÜäï áíÜðôõîçò -CURRENT áëëÜ äåí Ý÷ïõí óõã÷ùíåõôåß ìå ôïí êëÜäï -STABLE ìåôÜ áðü êÜðïéï ëïãéêü äéÜóôçìá (óõíÞèùò ìåñéêÝò âäïìÜäåò), óôåßëôå óôïí committer ìéá åõãåíéêÞ õðåíèýìéóç. ÂïçèÞóôå ìáò íá îå÷ùñßóïõìå ôï ëïãéóìéêü áðü åîùôåñéêÝò ïìÜäåò êáé íá ìåôáêéíÞóïõìå ôÝôïéá ðñïãñÜììáôá óôïí êáôÜëïãï src/contrib ôïõ ðçãáßïõ êþäéêá. Óéãïõñåõôåßôå üôé ôá ðñïãñÜììáôá ôïõ src/contrib Ý÷ïõí åíçìåñùèåß óôéò ôåëåõôáßåò äéáèÝóéìåò åêäüóåéò. Ìåôáãëùôôßóôå ôïí ðçãáßï êþäéêá (Þ Ýíá ìÝñïò ôïõ êþäéêá) ìå åðéðëÝïí åéäïðïéÞóåéò ðéèáíþí ëáèþí (compiler warnings) êáé äéïñèþóôå üôé ëÜèç âñåßôå. Äéïñèþóôå ôéò ðñïåéäïðïéÞóåéò ëÜèïõò (warnings) ãéá ôá ports ôá ïðïßá ÷ñçóéìïðïéïýí ìç áðïäåêôÝò êëÞóåéò, üðùò ç óõíÜñôçóç gets(), Þ óõìðåñéëáìâÜíïõí ðáëéÜ áñ÷åßá include, üðùò ôï malloc.h. Áí Ý÷åôå óõíåéóöÝñåé áëëáãÝò ãéá êÜðïéá ports êáé ÷ñåéÜóôçêáí áëëáãÝò ãéá íá äïõëÝøåé ôï áíôßóôïé÷ï ëïãéóìéêü óùóôÜ óå &os;, óôåßëôå ôéò áëëáãÝò óáò óôïõò áñ÷éêïýò äçìéïõñãïýò ôïõ ëïãéóìéêïý (áõôü èá êÜíåé ôç æùÞ óáò åõêïëüôåñç üôáí èá êõêëïöïñÞóïõí ôç íÝá Ýêäïóç). Ðñïóðáèåßóôå íá âñåßôå áíôßãñáöá áðü åðßóçìá ðñüôõðá üðùò ôï &posix;. Ìðïñåßôå íá âñåßôå óõíäÝóìïõò ó÷åôéêÜ ìå áõôÜ ôá ðñüôõðá óôçí éóôïóåëßäá &os; C99 & POSIX Standards Conformance Project. Óõãêñßíåôå ôçí óõìðåñéöïñÜ ôïõ &os; ìå ôçí áðáéôïýìåíç áðü ôá ðñüôõðá. Áí ç óõìðåñéöïñÜ äéáöÝñåé, éäéáßôåñá óå ëåðôÜ Þ äõóäéÜêñéôá óçìåßá ôùí ðñïäéáãñáöþí, óôåßëôå ìéá áíáöïñÜ ðñïâëÞìáôïò ó÷åôéêÜ ìå áõôü. Áí åßíáé äõíáôüí óêåöôåßôå Ýíá ôñüðï íá äéïñèþóåôå ôï ðñüâëçìá êáé óõìðåñéëÜâåôå ôï patch óôçí áíáöïñÜ óáò. Áí èåùñåßôáé üôé ôá ðñüôõðá åßíáé ëáíèáóìÝíá, èÝóôå åñþôçìá óôïí ïñãáíéóìü ôïõ ðñïôýðïõ íá åîåôÜóåé ôï èÝìá. Ìðïñåßôå áêüìç íá ðñïôåßíåôå åðéðëÝïí åñãáóßåò ãéá áõôÞ ôç ëßóôá! Åñãáóßá ÌÝóù ôçò ÂÜóçò Áíáöïñþí ÐñïâëçìÜôùí (PR database) problem reports database âÜóç áíáöïñþí ðñïâëçìÜôùí Ç ëßóôá áíáöïñþí ðñïâëçìÜôùí ôïõ &os; ðåñéÝ÷åé üëåò ôéò ãíùóôÝò áíáöïñÝò ðñïâëçìÜôùí êáé ôá áéôÞìáôá áíáâÜèìéóçò ôá ïðïßá Ý÷ïõí õðïâÜëëåé óå áõôÞ ïé ÷ñÞóôåò ôïõ &os;. Óå áõôÞ õðÜñ÷ïõí åñãáóßåò ôüóï ãéá ðñïãñáììáôéóôÝò üóï êáé ãéá ìç ðñïãñáììáôéóôÝò. ¸íáò ôñüðïò íá âïçèÞóåôå ôçí áíÜðôõîç ôïõ &os; åßíáé íá äéáôñÝîåôå (ìßá ç ðåñéóóüôåñåò öïñÝò) ôç ëßóôá ðñïâëçìÜôùí, øÜ÷íïíôáò ãéá êÜôé ðïõ óáò åíäéáöÝñåé. ÌåñéêÝò áðü áõôÝò ôéò áíáöïñÝò ðñïâëçìÜôùí ó÷åôßæïíôáé ìå ðïëý áðëÝò åñãáóßåò. ÐïëëÝò öïñÝò áñêåß ìßá óýíôïìç ìáôéÜ ãéá íá åðéâåâáéùèåß üôé ç ðñïôåéíüìåíç äéüñèùóç êÜðïéïõ ðñïâëÞìáôïò åßíáé óùóôÞ. ¶ëëåò öïñÝò ïé áëëáãÝò ðïõ ÷ñåéÜæïíôáé åßíáé ðéï äýóêïëåò Þ äåí Ý÷åé âñåèåß êÜðïéá ëýóç áêüìá. Áñ÷ßóôå ìå ôéò áíáöïñÝò ðñïâëçìÜôùí ðïõ äåí Ý÷ïõí åê÷ùñçèåß óå êÜðïéïí Üëëïí. Áí ç áíáöïñÜ åßíáé êáôá÷ùñçìÝíç óå êÜðïéïí, áëëÜ âëÝðåôå üôé åßíáé êÜôé ðïõ ìðïñåßôå íá ÷åéñéóôåßôå, åéäïðïéÞóôå ìå email ôïí õðåýèõíï ôçò áíáöïñÜò êáé ñùôÞóôå áí ìðïñåßôå íá äïõëÝøåôå ðÜíù ó' áõôÞí. ºóùò ï õðåýèõíïò Ý÷åé Þäç îåêéíÞóåé êÜðïéåò äéïñèþóåéò êáé óáò äþóåé êÜôé ãéá äïêéìÞ Þ Ý÷åé Þäç êÜðïéåò éäÝåò ðïõ ìðïñåßôå íá óõæçôÞóåôå ìáæß ôïõ. ÄéáëÝîôå êÜðïéï áíôéêåßìåíï áðü ôçí óåëßäá ìå ôéò <quote>éäÝåò</quote>. Ç ëßóôá &os; ôùí Ýñãùí êáé ôùí éäåþí ãéá åèåëïíôÝò åßíáé åðßóçò äéáèÝóéìç ãéá áíèñþðïõò ìå äéÜèåóç íá óõíåéóöÝñïõí óôï Ýñãï ôïõ &os;. Ç ëßóôá áíáíåþíåôáé ôáêôéêÜ êáé ðåñéëáìâÜíåé áíôéêåßìåíá ãéá åíáó÷üëçóç ôüóï ãéá ðñïãñáììáôéóôÝò üóï êáé ãéá ìç ðñïãñáììáôéóôÝò êáé ðáñÝ÷åé ðëçñïöïñßåò ãéá êÜèå Ýñãï. Ðùò ìðïñåßôå íá óõíåéóöÝñåôå Ïé óõíåéóöïñÝò óôï óýóôçìá êáôáôÜóóïíôáé ãåíéêÜ óå ìéá áðü ôéò áêüëïõèåò 5 êáôçãïñßåò: ÁíáöïñÝò ðñïâëÞìáôïò êáé ãåíéêÝò åðåîçãçìáôéêÝò ðáñáôçñÞóåéò-ó÷üëéá Ìéá éäÝá Þ ðñüôáóç ãåíéêïý ôå÷íéêïý åíäéáöÝñïíôïò èá ðñÝðåé íá áðïóôáëåß óôç ëßóôá &a.hackers;. ÅðéðëÝïí, Üíèñùðïé ìå åíäéáöÝñïí ãéá ôÝôïéá èÝìáôá (áëëÜ êáé áíåêôéêüôçôá óå ìåãÜëï áñéèìü åéóåñ÷üìåíùí ìçíõìÜôùí!) ìðïñïýí íá ãñáöôïýí óôç ëßóôá &a.hackers;. Äåßôå ôï Åã÷åéñßäéï ôïõ &os; ãéá ðåñéóóüôåñåò ðëçñïöïñßåò ó÷åôéêÜ ìå áõôÞí áëëÜ êáé Üëëåò ëßóôåò. Áí âñåßôå êÜðïéï bug Þ áí Ý÷åôå êÜíåé êÜðïéá óõãêåêñéìÝíç áëëáãÞ, ðáñáêáëïýìå êÜíôå áíáöïñÜ ÷ñçóéìïðïéþíôáò ôï ðñüãñáììá &man.send-pr.1; Þ ôçí áíôßóôïé÷ç éóôïóåëßäá. ÐñïóðáèÞóôå íá óõìðëçñþóåôå üëá ôá ðåäßá ôçò áíáöïñÜò. Áí ïé áëëáãÝò ðïõ êÜíáôå äåí îåðåñíïýí ôá 65KB óå ìÝãåèïò, óõìðåñéëÜâåôå ôéò áëëáãÝò óáò áðåõèåßáò óôçí áíáöïñÜ. Áí ïé áëëáãÝò åßíáé êáôÜëëçëåò ãéá åöáñìïãÞ óôïí ðçãáßï êþäéêá, ðñïóèÝóôå ôçí åôéêÝôá [PATCH] óôçí ðåñßëçøç ôçò áíáöïñÜò. ¼ôáí óõìðåñéëáìâÜíåôå patches, ìç ÷ñçóéìïðïéåßôå áíôéãñáöÞ-êáé-åðéêüëëçóç, äéüôé ç áíôéãñáöÞ êáé åðéêüëëçóç ìåôáôñÝðåé óõ÷íÜ ôïõò óôçëïèÝôåò (TAB) óå êåíÜ êáé á÷ñçóôåýåé ôï patch. Áí ôá patches åßíáé ðïëý ìåãáëýôåñá áðü 20KB, äïêéìÜóôå íá ôá óõìðéÝóåôå (ð.÷. ìå ôï &man.gzip.1; Þ ôï &man.bzip2.1;) êáé ÷ñçóéìïðïéÞóôå ôï åñãáëåßï &man.uuencode.1; ãéá íá åéóÜãåôå ôç óõìðéåóìÝíç ìïñöÞ óôçí áíáöïñÜ óáò. ÌåôÜ ôçò õðïâïëÞ ìéáò áíáöïñÜò èá ëÜâåôå åðéâåâáßùóç ðáñÜëëçëá ìå Ýíáí áñéèìü áíáöïñÜò. ÊñáôÞóôå ôïí áñéèìü þóôå íá ìðïñåßôå íá ìáò åíçìåñþíåôå ìå ðëçñïöïñßåò ó÷åôéêÜ ìå ôï ðñüâëçìá óôÝëíïíôáò mail óôï &a.bugfollowup;. ×ñçóéìïðïéÞóôå ôïí áñéèìü ôçò áíáöïñÜò óáò óôï èÝìá ôïõ ìçíýìáôïò, ð.÷. "Re: kern/3377". Åðéðñüóèåôåò ðëçñïöïñßåò ãéá ïðïéïäÞðïôå áíáöïñÜ ðñïâëÞìáôïò èá ðñÝðåé íá õðïâÜëëïíôáé ìå ôïí ðáñáðÜíù ôñüðï. ÅÜí äå ëÜâåôå åðéâåâáßùóç åãêáßñùò (3 ìÝñåò ùò ìéá âäïìÜäá, áíÜëïãá ìå ôç áîéïðéóôßá ôïõ email) Þ ãéá êÜðïéï ëüãï áäõíáôåßôå íá ÷ñçóéìïðïéÞóåôå ôçí åíôïëÞ &man.send-pr.1;, ìðïñåßôå íá áðåõèõíèåßôå óå êÜðïéïí ðñïêåéìÝíïõ íá ôçí áñ÷åéïèåôÞóåé ãéá åóÜò óôÝëíïíôáò mail óôç &a.bugs;. Äåßôå åðßóçò áõôü ôï Üñèñï ó÷åôéêÜ ìå ôï ðþò íá ãñÜöåôå êáëÝò áíáöïñÝò ðñïâëçìÜôùí. ÁëëáãÝò óôçí ôåêìçñßùóç documentation submissions óõíåéóöïñÝò ôåêìçñßùóçò Ïé áëëáãÝò óôçí ôåêìçñßùóç åðéâëÝðïíôáé áðü ôçí &a.doc;. Ãéá ðëÞñåéò ïäçãßåò ó÷åôéêÜ ìå ôïí ôñüðï ðïõ ìðïñåßôå íá óõíåéóöÝñåôå óôçí ôåêìçñßùóç ôïõ &os;, äåßôå ôïí Ïäçãü ôåêìçñßùóçò ôïõ &os;. Óôåßëôå ôá êáéíïýñéá óáò êåßìåíá Þ ôéò áëëáãÝò óáò (áêüìç êáé ìéêñïäéïñèþóåéò åßíáé ðÜíôá êáëïäå÷ïýìåíåò) ÷ñçóéìïðïéþíôáò ôçí åíôïëÞ &man.send-pr.1; üðùò ðåñéãñÜöåôå óôï ÁíáöïñÜ bugs êáé ãåíéêÜ ó÷üëéá - ðáñáôçñÞóåéò. ÁëëáãÝò óôïí Ðçãáßï Êþäéêá &os;-CURRENT Ìßá ðñïóèÞêç Þ áëëáãÞ óôïí õðÜñ÷ïíôá êþäéêá åßíáé êáôÜ êÜðïéï ôñüðï ðåñßôå÷íç õðüèåóç êáé åîáñôÜôáé áñêåôÜ áðü ôïí âáèìü ôçò åíçìÝñùóçò ðïõ Ý÷åôå ìå ôçí ôñÝ÷ïõóá êáôÜóôáóç ôçò áíÜðôõîçò ôïõ &os;. ÕðÜñ÷åé ìéá åéäéêÞ óõíå÷þò áíáðôõóóüìåíç Ýêäïóç ôïõ &os; ãíùóôÞ ùò &os;-CURRENT ç ïðïßá åßíáé äéáèÝóéìç ìå äéÜöïñïõò ôñüðïõò ãéá ôçí åõêïëßá ôùí ðñïãñáììáôéóôþí ðïõ äñáóôçñéïðïéïýíôáé åíåñãÜ óôçí áíÜðôõîç ôïõ óõóôÞìáôïò. Äåßôå ôï Åã÷åéñßäéï ôïõ &os; ãéá ðåñéóóüôåñåò ðëçñïöïñßåò ó÷åôéêÜ ìå ôï ðïõ èá âñåßôå êáé ðþò ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôï &os;-CURRENT. Äïõëåýïíôáò áðü ðáëéüôåñï êþäéêá äõóôõ÷þò óçìáßíåé üôé ïé áëëáãÝò óáò ìðïñåß ìåñéêÝò öïñÝò íá åßíáé áñêåôÜ îåðåñáóìÝíåò Þ íá áðïêëßíïõí ðïëý, ïðüôå íá äõóêïëåýåé êÜðùò ç åíóùìÜôùóÞ ôïõò óôï &os;. Ñßóêá óáí ãé' áõôÜ ìðïñïýí íá åëá÷éóôïðïéçèïýí êÜðùò ìå ôçí óõììåôï÷Þ óôéò ëßóôåò &a.announce; êáé &a.current;, óôéò ïðïßåò äéåîÜãïíôáé óõæçôÞóåéò ãéá ôçí ôñÝ÷ïõóá êáôÜóôáóç ôïõ óõóôÞìáôïò. Áöïý åîáóöáëßóåôå êÜðùò Ýíá ó÷åôéêÜ åíçìåñùìÝíï áíôßãñáöï ôïõ ðçãáßïõ êþäéêá ùò âÜóç ãéá ôéò áëëáãÝò óáò, ôï åðüìåíï âÞìá åßíáé íá äçìéïõñãÞóåôå diffs ãéá áðïóôïëÞ óôçí ïìÜäá áíÜðôõîçò ôïõ &os;. Áõôü ãßíåôáé ìå ôçí åíôïëÞ &man.diff.1;. Ôï ðñïôéìþìåíï format ôïõ &man.diff.1; ãéá ôçí õðïâïëÞ patches åßíáé ç åíïðïéçìÝíç ìïñöÞ åîüäïõ (unified diff), ðïõ äçìéïõñãåßôáé áðü ôçí åíôïëÞ diff -u. Ìéá ìéêñÞ åîáßñåóç åßíáé ôá ôá patches ðïõ áëëÜæïõí ìåãÜëá êïììÜôéá êþäéêá, ïõóéáóôéêÜ áíôéêáèéóôþíôáò ôá ó÷åäüí ìå ìéá êáéíïýñéá Ýêäïóç. Ãéá ôÝôïéåò áëëáãÝò ìðïñåß íá åßíáé ðéï åõáíÜãíùóôç ç ìïñöÞ åîüäïõ ðïõ äçìéïõñãåßôáé áðü ôçí åíôïëÞ diff -c. diff Ãéá ðáñÜäåéãìá ôï: &prompt.user; diff -c ðáëéü_áñ÷åßï íÝï_áñ÷åßï Þ ôï &prompt.user; diff -c -r ðáëéüò_êáôÜëïãïò íÝïò_êáôÜëïãïò èá äçìéïõñãÞóåé Ýíá óåô áðü context diffs ãéá ôïí êþäéêá ôïõ óõãêåêñéìÝíïõ áñ÷åßïõ Þ ôçò éåñáñ÷ßáò êáôáëüãùí. Ïìïßùò ôï, &prompt.user; diff -u ðáëéü_áñ÷åßï íÝï_áñ÷åßï Þ ôï &prompt.user; diff -u -r ðáëéüò_êáôÜëïãïò íÝïò_êáôÜëïãïò èá êÜíåé ôï ßäéï, áëëÜ èá ðáñÜãåé diff åíïðïéçìÝíç ìïñöÞ. Äåßôå ôç âïÞèåéá ôïõ åñãáëåßïõ &man.diff.1; ãéá ðåñéóóüôåñåò ëåðôïìÝñåéåò. Áðü ôç óôéãìÞ ðïõ Ý÷åôå êÜðïéá diffs, (ôá ïðïßá ìðïñåßôå íá åëÝãîåôå ìå ôçí åíôïëÞ &man.patch.1;), èá ðñÝðåé íá ôá õðïâÜëëåôå ãéá åíóùìÜôùóç óôï &os;. ×ñçóéìïðïéÞóôå ôï ðñüãñáììá &man.send-pr.1;, üðùò ðåñéãñÜöåôå óôï êåßìåíï ÁíáöïñÜ Bugs êáé ãåíéêüò ó÷ïëéáóìüò - ðáñáôçñÞóåéò. Ìç óôÝëíåôå ìüíï Ýíá ìÞíõìá ìå ôá patches óôç &a.hackers; áëëéþò èá ÷áèïýí! Óáò åõ÷áñéóôïýìå ðñïêáôáâïëéêÜ ãéá ïðïéáäÞðïôå ðñïóöïñÜ êþäéêá (ôï Ýñãï áíÜðôõîçò ôïõ &os; åßíáé åèåëïíôéêÞ ðñïóðÜèåéá ðïõ âáóßæåôáé áêñéâþò óå ôÝôïéåò ðñïóöïñÝò!). ÅðåéäÞ åßìáóôå áðáó÷ïëçìÝíïé, ìðïñåß íá ìç ÷åéñéóôïýìå ôçí áßôçóç ãéá áëëáãÞ áìÝóùò, ùóôüóï ìÝ÷ñé íá ôï êÜíïõìå áõôü, èá ðáñáìåßíåé óôçí âÜóç áíáöïñþí. Èõìçèåßôå íá åðéóçìÜíåôå ôçí õðïâïëÞ óáò ìå ôçí åôéêÝôá [PATCH] óôçí ðåñßëçøç ôçò áíáöïñÜò. uuencode Áí íïìßæåôå üôé ÷ñåéÜæåôáé (ð.÷. Ý÷åôå ðñïóèÝôåé, áöáéñÝóåé Þ ìåôïíïìÜóåé êÜðïéá áñ÷åßá), ÷ñçóéìïðïéåßóôå ôï åñãáëåßï tar ãéá íá ðáêåôÜñåôå ôéò áëëáãÝò óáò, êáé ôï åñãáëåßï &man.uuencode.1; ãéá íá ôéò åíóùìáôþóåôå óôçí áíáöïñÜ ðïõ èá óôåßëåôå. ÅíáëëáêôéêÜ, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôï åñãáëåßï &man.shar.1; áíôß ãéá ôï &man.tar.1;. Áí ç öýóç ôùí áëëáãþí ðïõ èÝëåôå íá êÜíåôå åßíáé êÜðùò åõáßóèçôç, ð.÷. áí äåí åßóôå óßãïõñïé ãéá ôá ðíåõìáôéêÜ äéêáéþìáôá êáé ôç äéáíïìÞ ôùí áëëáãþí Þ áí áðëÜ äåí åßóôå Ýôïéìïé íá äþóåôå óôç äçìïóéüôçôá êÜðïéåò áëëáãÝò ÷ùñßò Ýíá review áêüìá, ôüôå åßíáé êáëýôåñá íá óôåßëåôå ôéò áëëáãÝò óáò áðåõèåßáò óôçí &a.core; áíôß íá ôéò ðñïùèÞóåôå ìÝóù ôïõ &man.send-pr.1;. Ç &a.core; áðïôåëåßôáé áðü Ýíá ðïëý ìéêñüôåñï áñéèìü áôüìùí. ¸÷åôå õðüøéí üìùò üôé áõôÞ ç ïìÜäá åßíáé ðïëý áðáó÷ïëçìÝíç, ïðüôå êáëü åßíáé íá ôïõò óôÝëíåôå ìçíýìáôá ìüíï üôáí åßóôå áñêåôÜ óßãïõñïé üôé åßíáé áðáñáßôçôï. ÊÜôé ôåëåõôáßï ó÷åôéêÜ ìå ôïí ðçãáßï êþäéêá ôïõ &os;. Ïé óåëßäåò ôåêìçñßùóçò &man.intro.9; êáé &man.style.9; ðåñéÝ÷ïõí ðëçñïöïñßåò ó÷åôéêÜ ìå ôï óôõë êþäéêá ðïõ ðñïôéìïýìå ãéá ôï &os;. Ðñéí óôåßëåôå óçìáíôéêÝò áëëáãÝò óôçí ïìÜäá áíÜðôõîçò åßíáé óçìáíôéêü íá Ý÷åôå åîïéêåéùèåß ìå ôï óôõë ðïõ ãñÜöïõìå êáé, üôáí åßíáé äõíáôüí, íá ôï áêïëïõèÞóåôå óôï ãñÜøéìï ôïõ êþäéêá ðïõ èá ìáò óôåßëåôå. ÍÝïò Êþäéêáò êáé ÌåãÜëá ÐáêÝôá Ðñüóèåôùí ×áñáêôçñéóôéêþí Óôçí ðåñßðôùóç ìéáò ó÷åôéêÜ ìåãÜëçò óõíåéóöïñÜò ëïãéóìéêïý óôï &os; êáé êÜèå öïñÜ ðïõ ðñïóôßèåôáé Ýíá óçìáíôéêü êáéíïýñéï ÷áñáêôçñéóôéêü óôï óýóôçìá, åßíáé ó÷åäüí ðÜíôá áðáñáßôçôï íá åßíáé äéáèÝóéìåò ïé áëëáãÝò ìå ôç ìïñöÞ åíüò ðáêÝôïõ tar Þ íá åßíáé äéáèÝóéìåò ìÝóù åíüò åîõðçñåôçôÞ web Þ FTP. Áí äåí Ý÷åôå ðñüóâáóç ãéá íá áíåâÜóåôå ôá áñ÷åßá óå êÜðïéïn åîõðçñåôçôÞ web Þ FTP, ñùôÞóôå óôçí êáôÜëëçëç ëßóôá çëåêôñïíéêïý ôá÷õäñïìåßïõ ôïõ &os; êáé êÜðïéïò Üëëïò ìðïñåß íá öéëïîåíÞóåé ôá áñ÷åßá ãéá óáò. Ôï åõáßóèçôï èÝìá ôùí ðíåõìáôéêþí äéêáéùìÜôùí êáé ôùí áäåéþí ÷ñÞóçò åßíáé ôï åðüìåíï ðñÜãìá ðïõ ðáßæåé ìåãÜëï ñüëï, éäéáßôåñá ãéá ìåãÜëá Ýñãá ëïãéóìéêïý. Ïé Üäåéåò ÷ñÞóçò ðïõ åßíáé áðïäåêôÝò ãéá êþäéêá ðïõ åíóùìáôþíåôáé óôï &os; åßíáé ïé ðáñáêÜôù: ¶äåéá BSD Ç Üäåéá ÷ñÞóçò BSD. ÁõôÞ ç Üäåéá åßíáé ç ðñïôéìüôåñç, ëüãù ôçò éäéáßôåñçò ÷ùñßò ðåñéïñéóìïýò öýóçò ðïõ Ý÷åé êáé ôçò äõíáôüôçôáò ÷ñÞóçò ôïõ êþäéêá áêüìç êáé ãéá åìðïñéêïýò óêïðïýò. Ç ÏìÜäá ôïõ &os; äåí áðïèáññýíåé ôÝôïéïõ åßäïõò ÷ñÞóç ôïõ ðçãáßïõ êþäéêá. Ôï áíôßèåôï ìÜëéóôá, åíèáññýíåé ôç ÷ñÞóç ôïõ êþäéêá, áöïý Ýôóé õðÜñ÷åé ðéèáíüôçôá ïñéóìÝíïé åìðïñéêïß íá óõíåéóöÝñïõí ìå ôç óåéñÜ ôïõò óôçí áíÜðôõîç ôïõ &os;. GPLGNU General Public License GNU General Public License Ç Üäåéá GNU General Public License, Þ GPL. áõôÞ ç Üäåéá äåí åßíáé ôüóï äçìïöéëÞò åðåéäÞ ÷ñåéÜæåôáé Ýîôñá ðñïóðÜèåéá áðü ïðïéïíäÞðïôå ÷ñçóéìïðïéåß ôïí êþäéêá ãéá åìðïñéêïýò óêïðïýò, áëëÜ åðåéäÞ õðÜñ÷åé Ýíá ìåãÜëï óþìá ðçãáßïõ êþäéêá, ôï ïðïßï äéáíÝìåôáé ìå áõôÞ ôçí Üäåéá êé áðü ôï ïðïßï åîáñôéüìáóôå (ìåôáãëùôôéóôÞò, assembler, ðñïãñÜììáôá ìïñöïðïßçóçò êåéìÝíïõ, êëð.), èá Þôáí êÜðùò ÷áæü íá ìç äå÷üìáóôå êáìßá áëëáãÞ óå ôÝôïéï êþäéêá. Ï êþäéêáò ìå Üäåéá GPL äéáíÝìåôáé üìùò óå äéêü ôïõ, îå÷ùñéóôü ìÝñïò ôïõ ðçãáßïõ êþäéêá ôïõ &os;, êÜôù áðü ôïõò êáôáëüãïõò /sys/gnu êáé /usr/src/gnu. ¸ôóé åßíáé åýêïëï íá îå÷ùñßóåé êáíåßò áðü ôïí êþäéêá ôïõ &os; üëá ôá ìÝñç ìå Üäåéá GPL, üôáí õðÜñ÷åé ëüãïò íá ãßíåé ôÝôïéïò äéá÷ùñéóìüò. Ïé óõíåéóöïñÝò êþäéêá ìå ïðïéáäÞðïôå Üëëç Üäåéá ðñÝðåé íá ðåñÜóïõí áðü ðïëý ðñïóåêôéêü Ýëåã÷ï ðñéí áðïöáóßóïõìå áí õðÜñ÷åé ëüãïò íá åíóùìáôùèïýí ìå ôï &os;. Ïé óõíåéóöïñÝò ìå éäéáßôåñá áõóôçñïýò åìðïñéêïýò ðåñéïñéóìïýò áðïññßðôïíôáé óõíÞèùò ÷ùñßò ðïëý óêÝøç, áëëÜ ïé äçìéïõñãïß ôùí áëëáãþí Þ ôïõ óõãêåêñéìÝíïõ êþäéêá ìðïñïýí ðÜíôá íá äéáíÝìïõí ôéò áëëáãÝò ôïõò ìÝóá áðü ôá äéêÜ ôïõò êáíÜëéá äéáíïìÞò êáé åðéêïéíùíßáò. Ãéá íá ïñßóåôå üôé êÜðïéï äéêü óáò Ýñãï ðçãáßïõ êþäéêá äéáíÝìåôáé ìå ôïõò üñïõò ìéÜò Üäåéáò ôýðïõ BSD ìðïñåßôå íá óõìðåñéëÜâåôå óôçí áñ÷Þ ôùí áñ÷åßùí ðçãáßïõ êþäéêá ôï ðáñáêÜôù êåßìåíï, áíôéêáèéóôþíôáò ôï êåßìåíï ìåôáîý ôùí %% ìå ôéò êáôÜëëçëåò ðëçñïöïñßåò: Copyright (c) %%÷ñïíéÜ_Þ_÷ñïíéÝò_áëëáãþí%% %%ôï_üíïìÜ_óáò%%, %%ç_äéåýèõíóÞ_óáò%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%ôï_üíïìÜ_óáò%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%ôï_üíïìÜ_óáò%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Id$ ¸íá áíôßãñáöï áõôïý ôïõ êåéìÝíïõ õðÜñ÷åé óôï áñ÷åßï /usr/share/examples/etc/bsd-style-copyright, ïðüôå ìðïñåßôå íá ôï áíôéãñÜöåôå áðü åêåß êÜèå öïñÜ ðïõ ÷ñåéÜæåôáé. ×ñÞìáôá, Õëéêü Þ Ðñüóâáóç óôï Äéáäßêôõï ÊÜèå äùñåÜ ðïõ ìðïñåßôå íá êÜíåôå óôï Ýñãï ôïõ &os; åßíáé åõðñüóäåêôç. Áêüìá êáé ç ðéï ìéêñÞ ðñïóöïñÜ ìðïñåß íá Ý÷åé ìåãÜëç óçìáóßá ãéá Ýíá Ýñãï ôï ïðïßï âáóßæåôáé óôçí åèåëïíôéêÞ åñãáóßá, üðùò ôï äéêü ìáò. ÅéäéêÜ ïé ðñïóöïñÝò óå õëéêü åßíáé ðïëý óçìáíôéêÝò, áöïý Ýôóé ìáò äßíåôáé ç äõíáôüôçôá íá åðåêôåßíïõìå ôçí õðïóôÞñéîç ôïõ &os; ãéá ôï õëéêü áõôü — êÜôé ðïõ ìðïñåß íá ìçí åßíáé åýêïëï áí ðñÝðåé íá áãïñÜóïõìå êÜèå êïììÜôé õëéêïý ìüíïé ìáò. - - <anchor id="donations"/>×ñçìáôéêÝò ÄùñåÝò + + ×ñçìáôéêÝò ÄùñåÝò Ç ïñãÜíùóç &os; Foundation åßíáé Ýíáò ìç êåñäïóêïðéêüò óýëëïãïò, ï ïðïßïò Ý÷åé éäñõèåß ãéá íá ðñïùèÞóåé ôï Ýñãï ôçò ÏìÜäáò ôïõ &os;. Ëüãù ôçò íïìéêÞò öýóçò ôïõ óõëëüãïõ, ç ïñãÜíùóç ðáñÝ÷åé ìåñéêÝò öïñïëïãéêÝò åëáöñýíóåéò óôéò ÇíùìÝíåò Ðïëéôåßåò êáé ðéï óõãêåêñéìÝíá óôçí ðïëéôåßá ôïõ Colorado. Ïé äùñåÝò óôçí ïñãÜíùóç åêðßðôïõí áðü ôïõò öüñïõò ðïõ ðñÝðåé íá ðëçñþóåé êÜðïéïò óôéò ÇíùìÝíåò Ðïëéôåßåò· ðéèáíüí êáé óå Üëëá ìÝñç. Ïé äùñÝåò óáò ìðïñïýí íá óôáëïýí óå ìïñöÞ åìâÜóìáôïò, óôç äéåýèõíóç:
The &os; Foundation 7321 Brockway Dr. Boulder, CO 80303 USA
Ç ïñãÜíùóç ìðïñåß ðëÝïí íá äå÷ôåß êáé äùñåÝò ìÝóù äéêôýïõ áðü ôï óýóôçìá PayPal. Áí åíäéáöÝñåóôå íá êÜíåôå êÜðïéá äùñåÜ, ðáñáêáëïýìå îåêéíÞóôå áðü ôçí éóôïóåëßäá ôçò &os; Foundation. Ðåñéóóüôåñåò ðëçñïöïñßåò ãéá ôçí ïñãÜíùóç &os; Foundation ìðïñåßôå íá âñåßôå óôçí áíáêïßíùóç The &os; Foundation -- an Introduction. Ç åðéêïéíùíßá ìå ôçí ïñãÜíùóç ìðïñåß íá ãßíåé êáé ìÝóù çëåêôñïíéêÞò áëëçëïãñáößáò óôç äéåýèõíóç bod@FreeBSDFoundation.org.
ÄùñåÝò Õëéêïý donations äùñåÝò Ç ÏìÜäá ÁíÜðôõîçò ôïõ &os; äÝ÷åôáé êÜèå äùñåÜ õëéêïý ãéá ôçí ïðïßá ìðïñåß íá âñåé êÜðïéá êáëÞ ÷ñÞóç. Áí åíäéáöÝñåóôå íá ìáò äùñßóåôå êÜðïéï õëéêü, ðáñáêáëïýìå åðéêïéíùíÞóôå ìå ôçí ÏìÜäá Äéá÷åßñéóçò ôùí Äùñåþí. ÄùñÝåò Ðñüóâáóçò óôï Äéáäßêôõï ÐÜíôá åßíáé ÷ñÞóéìï íá Ý÷ïõìå êáéíïýñéá mirror sites ãéá ôï FTP, ôïí éóôüôïðü ìáò Þ ôï cvsup. Áí èÝëåôå íá åãêáôáóôÞóåôå Ýíá ôÝôïéï mirror, ðáñáêáëïýìå äåßôå ôo Üñèñï Mirroring &os;. Åêåß èá âñåßôå ðåñéóóüôåñåò ðëçñïöïñßåò.
diff --git a/el_GR.ISO8859-7/books/handbook/mirrors/chapter.xml b/el_GR.ISO8859-7/books/handbook/mirrors/chapter.xml index 5656b633af..03c9124216 100644 --- a/el_GR.ISO8859-7/books/handbook/mirrors/chapter.xml +++ b/el_GR.ISO8859-7/books/handbook/mirrors/chapter.xml @@ -1,3399 +1,3399 @@ Ðïõ èá Âñåßôå ôï &os; Åêäüóåéò óå CDROM êáé DVD Retail Åêäüóåéò Ôï &os; åßíáé äéáèÝóéìï ùò åìðïñéêü ðñïúüí (&os; CD, åðéðñüóèåôï ëïãéóìéêü, êáé ôõðùìÝíç ôåêìçñßùóç) áðü äéÜöïñïõò ðñïìçèåõôÝò:
Frys Electronics WWW:
CD êáé DVD äéáíïìÝò Ôï &os; åßíáé äéáèÝóéìï óå CD êáé DVD ãéá áãïñÜ ìÝóù äéáäéêôýïõ áðü ôïõò ðáñáêÜôù ðñïìçèåõôÝò:
&os; Mall, Inc. 700 Harvest Park Ste F Brentwood, CA 94513 USA ÔçëÝöùíï: +1 925 674-0783 Fax: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany ÔçëÝöùíï: (089) 428 419 WWW:
JMC Software Ireland ÔçëÝöùíï: 353 1 6291282 WWW:
Linux Distro UK 42 Wharfedale Road Margate CT9 2TB United Kingdom WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom ÔçëÝöùíï: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland ÔçëÝöùíï: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia ÔçëÝöùíï: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia ÔçëÝöùíï: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Äéáíïìåßò Áí åßóôå ìåôáðùëçôÞò êáé ìðïñåßôå íá äéáíåßìåôå óå CD-ROM ðñïúüíôá âáóéóìÝíá óôï &os;, ðáñáêáëïýìå åðéêïéíùíÞóôå ìå êÜðïéïí áðü ôïõò äéáíïìåßò:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA ÔçëÝöùíï: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA ÔçëÝöùíï: +1 952 947-0822 Fax: +1 952 947-0876 Email: sales@kudzuenterprises.com
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia ÔçëÝöùíï: +7-812-3125208 Email: info@linuxcenter.ru WWW:
ÅîõðçñåôçôÝò FTP Ïé åðßóçìåò åêäüóåéò ôïõ &os; åßíáé äéáèÝóéìåò ìÝóù áíþíõìçò FTP óýíäåóçò áðü äéÜöïñïõò åîõðçñåôçôÝò FTP óå üëï ôïí êüóìï. Ï êåíôñéêüò åîõðçñåôçôÞò Ý÷åé ðïëý êáëÞ óýíäåóç ìå ôïí õðüëïéðï êüóìï, êáé åðéôñÝðåé Ýíá ìåãÜëï áñéèìü ôáõôü÷ñïíùí óõíäÝóåùí. Áêüìá êé Ýôóé üìùò, åßíáé ìÜëëïí êáëÞ éäÝá íá âñåßôå êÜðïéï åîõðçñåôçôÞ FTP ðïõ åßíáé ðéï êïíôÜ óáò (åéäéêÜ áí èÝëåôå íá óôÞóåôå êÜðïéï ôïðéêü mirror site). Ôï &os; åßíáé åðßóçò äéáèÝóéìï ìÝóù óýíäåóçò áíþíõìïõ FTP áðü ôá ðáñáêÜôù mirror sites. Áí åðéëÝîåôå íá êáôåâÜóåôå ôï &os; ìÝóù áíþíõìïõ FTP, óáò ðáñáêáëïýìå íá äéáëÝîåôå êÜðïéï åîõðçñåôçôÞ ï ïðïßïò åßíáé êïíôÜ óáò. Ôá mirror sites ðïõ áíáöÝñïíôáé ùò Êýñéá Mirror Sites Ý÷ïõí óõíÞèùò ôçí ðëÞñç óõëëïãÞ áñ÷åßùí ôïõ &os; (üëåò ôéò äéáèÝóéìåò åêäüóåéò, ãéá êÜèå äéáèÝóéìç áñ÷éôåêôïíéêÞ óõóôÞìáôïò), áëëÜ åßíáé ðéèáíüí íá ðåôý÷åôå êáëýôåñåò ôá÷ýôçôåò åîõðçñÝôçóçò ìå êÜðïéï åîõðçñåôçôÞ ðïõ åßíáé óôç äéêÞ óáò ÷þñá Þ ðåñéï÷Þ. Ôá ôïðéêÜ sites Ý÷ïõí óõíÞèùò ôéò ðéï ðñüóöáôåò åêäüóåéò ãéá ôéò ðéï äçìïöéëåßò áñ÷éôåêôïíéêÝò óõóôÞìáôïò, ïðüôå ìðïñåß íá ìçí Ý÷ïõí üëåò ôéò ðéèáíÝò åêäüóåéò ôïõ &os;. ¼ëá ôá sites äÝ÷ïíôáé óõíäÝóåéò ìÝóù áíþíõìïõ FTP. ÌåñéêÜ áðü áõôÜ ìðïñåß íá õðïóôçñßæïõí êáé Üëëçò ìïñöÞò óõíäÝóåéò. Ïé åíáëëáêôéêÝò ìïñöÝò óýíäåóçò áíáöÝñïíôáé îå÷ùñéóôÜ ãéá êÜèå site ðáñáêÜôù: &chap.mirrors.ftp.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.ftp.inc; BitTorrent BitTorrent Ìðïñåßôå íá áíáêôÞóåôå ôá âáóéêÜ áñ÷åßá ISO ôùí åêäüóåùí ôïõ &os;, ìÝóù ôïõ óõóôÞìáôïò BitTorrent. Óôçí ôïðïèåóßá http://torrents.freebsd.org:8080 õðÜñ÷åé ìéá ðëÞñçò óõëëïãÞ áðü áñ÷åßá torrent ðïõ ìðïñåßôå íá êáôåâÜóåôå. Ãéá íá ÷ñçóéìïðïéÞóåôå ôá áñ÷åßá torrent, èá ÷ñåéáóôåßôå êáôÜëëçëï ëïãéóìéêü-ðåëÜôç, üðùò áõôü ðïõ ðáñÝ÷åôáé áðü ôï port Þ ðáêÝôï net-p2p/py-bittorrent. Áöïý êáôåâÜóåôå ôï áñ÷åßï ISO ìå ôï BitTorrent, ìðïñåßôå íá ôï ãñÜøåôå óå CD Þ DVD, üðùò ðåñéãñÜöåôáé óôï (burncd). Áíþíõìï CVS - - <anchor id="anoncvs-intro"/>ÅéóáãùãÞ + + ÅéóáãùãÞ CVS anonymous Ç óýíäåóç áíþíõìïõ CVS (Þ anoncvs üðùò ëÝãåôáé ìåñéêÝò öïñÝò) õðïóôçñßæåôáé áðü ôá åñãáëåßá CVS ðïõ äéáíÝìïíôáé ìå ôï ßäéï ôï &os; ãéá óõã÷ñïíéóìü ôïðéêþí áñ÷åßùí ìå Ýíá áðïìáêñõóìÝíï repository. ¸íá áðü ôá ÷áñáêôçñéóôéêÜ ôïõ CVS åßíáé üôé åðéôñÝðåé óôïõò ÷ñÞóôåò ôïõ &os; íá óõã÷ñïíßæïõí, ÷ùñßò éäéáßôåñá äéêáéþìáôá ÷ñÞóôç, ôá ôïðéêÜ áíôßãñáöá ðçãáßïõ êþäéêá ðïõ Ý÷ïõí ìå ôïõò êåíôñéêïýò, åðßóçìïõò åîõðçñåôçôÝò CVS ôïõ &os; project. Ãéá íá ÷ñçóéìïðïéÞóåé êáíåßò ôï CVS áñêåß: (á) íá ïñßóåé ôçí ôéìÞ ôçò ìåôáâëçôÞò ðåñéâÜëëïíôïò CVSROOT Ýôóé þóôå íá äåß÷íåé ðñïò Ýíáí áðü ôïõò åðßóçìïõò åîõðçñåôçôÝò, êáé (â) íá äþóåé ôïí êùäéêü anoncvs óôçí ðñïôñïðÞ ôçò åíôïëÞò cvs login. Ôüôå ìðïñåß íá ÷ñçóéìïðïéÞóåé ôï åñãáëåßï &man.cvs.1; ãéá íá ðñïóðåëÜóåé ôï áðïìáêñõóìÝíï CVS repository ôïõ &os; óáí Ýíá ïðïéïäÞðïôå ôïðéêü repository. Ç åíôïëÞ cvs login áðïèçêåýåé ôïõò êùäéêïýò ðïõ ÷ñçóéìïðïéïýíôáé ãéá ðéóôïðïßçóçò ôçò ôáõôüôçôÜò óáò óôïí åîõðçñåôçôÞ CVS óå Ýíá áñ÷åßï ìå üíïìá .cvspass óôïí HOME êáôÜëïãï ôïõ ôïðéêïý óáò ëïãáñéáóìïý. Áí áõôü ôï áñ÷åßï äåí õðÜñ÷åé Þäç, ìðïñåß íá áðïôý÷åé ç åíôïëÞ cvs login ôçí ðñþôç öïñÜ. Ìðïñåßôå áðëÜ íá äçìéïõñãÞóåôå Ýíá Üäåéï áñ÷åßï .cvspass êáé íá îáíáôñÝîåôå ôçí åíôïëÞ cvs login. Ìðïñåß íá ðåé êáíåßò üôé ôï CVSup êáé ôï anoncvs åßíáé ïõóéáóôéêÜ ðáñüìïéïé ôñüðïé óõã÷ñïíéóìïý áñ÷åßùí êáé õðïóôçñßæïõí ôçí ßäéá ëåéôïõñãéêüôçôá, áëëÜ õðÜñ÷ïõí êÜðïéåò äéáöïñÝò ïé ïðïßåò ìðïñåß íá ðáßîïõí óçìáíôéêü ñüëï óôçí åðéëïãÞ ìåôáîý áõôþí ôùí äýï ìåèüäùí. ÃåíéêÜ, ôï CVSup êÜíåé ðïëý ðéï áðïäïôéêÞ ÷ñÞóç ôçò óýíäåóçò ðïõ Ý÷åôå êáé ÷ñçóéìïðïéåß Ýíá ðïëý ðéï Ýîõðíï ðñùôüêïëëï åðéêïéíùíßáò, áëëÜ õðÜñ÷åé êáé ôï áíôßóôïé÷ï ôßìçìá. Ãéá íá ÷ñçóéìïðïéÞóåôå ôï CVSup ðñÝðåé íá åãêáôáóôÞóåôå êáé íá ñõèìßóåôå Ýíá åéäéêü ðñüãñáììá ðåëÜôç, êáé ôüôå ìðïñåßôå íá óõã÷ñïíßóåôå ìüíï ìåãÜëåò óõëëïãÝò áñ÷åßùí — ôéò ïðïßåò ôï CVSup áðïêáëåß óõëëïãÝò (collections). Ôï anoncvs, áðü ôçí Üëëç, ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá íá åîåôÜóåé êáíåßò ôéò áëëáãÝò åíüò êáé ìüíï áñ÷åßïõ Þ åíüò ìüíï ðñïãñÜììáôïò êáé ôùí óõíïäåõôéêþí ôïõ áñ÷åßùí (ð.÷. ôïí ðçãáßï êþäéêá ôçò åíôïëÞò ls Þ ôçò grep), ìå ÷ñÞóç ôïõ ïíüìáôïò ôïõ êáôÜëëçëïõ module. Ôï anoncvs åßíáé ðéï âïëéêü ãéá åñãáóßåò ðïõ áðáéôïýí âÝâáéá ìüíï áíÜãíùóç. Ïðüôå, áí èÝëåôå íá õðïóôçñßîåôå ôçí áíÜðôõîç ðñïãñáììÜôùí ôïðéêÜ, ôï CVSup åßíáé ìÜëëïí ìïíüäñïìïò. - - <anchor id="anoncvs-usage"/>×ñçóéìïðïéþíôáò Áíþíõìï CVS + + ×ñçóéìïðïéþíôáò Áíþíõìï CVS Ç ñýèìéóç ôïõ &man.cvs.1; þóôå íá ÷ñçóéìïðïéåß Ýíá áíþíõìï CVS repository ãßíåôáé áðëþò ñõèìßæïíôáò ôçí ìåôáâëçôÞ ðåñéâÜëëïíôïò CVSROOT þóôå íá äåß÷íåé óå Ýíáí áðü ôïõò anoncvs åîõðçñåôçôÝò ôïõ &os; project. Ôçí þñá ðïõ ãñÜöïíôáé áõôÝò ïé ãñáììÝò, åßíáé äéáèÝóéìïé ïé áêüëïõèïé åîõðçñåôçôÝò: Ãáëëßá: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (Ãéá pserver ÷ñçóéìïðïéÞóôå ôçí åíôïëÞ cvs login êáé äþóôå ôïí êùäéêü anoncvs üôáí óáò æçôçèåß. Ôï ssh äåí áðáéôåß ôç ÷ñÞóç êùäéêïý.) ÔáÀâÜí: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (Ãéá pserver ÷ñçóéìïðïéÞóôå ôçí åíôïëÞ cvs login êáé äþóôå ïôéäÞðïôå ãéá êùäéêü üôáí óáò æçôçèåß, Ôï ssh äåí áðáéôåß ôç ÷ñÞóç êùäéêïý.) SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub Êáèþò ôï CVS óáò åðéôñÝðåé íá êÜíåôå check out ïõóéáóôéêÜ ïðïéáäÞðïôå Ýêäïóç ôïõ ðçãáßïõ êþäéêá ôïõ &os; õðÞñîå ðïôÝ (êáé óå ïñéóìÝíåò ðåñéðôþóåéò áêüìá êáé åêäüóåéò ðïõ äåí Ý÷ïõí êõêëïöïñÞóåé áêüìá), èá ðñÝðåé íá åßóôå åîïéêåéùìÝíïò ìå ôçí åðéëïãÞ ôïõ &man.cvs.1; ìå ôçí ïðïßá åðéëÝãåôáé ôï revision (ðñüêåéôáé ãéá ôçí ) êáé ðïéåò åßíáé ïé åðéôñåðôÝò ôéìÝò ôçò ãéá ôï repository ôïõ &os; project. ÕðÜñ÷ïõí äýï åßäç tags (åôéêåôþí), ôá revision tags (åôéêÝôåò Ýêäïóçò) êáé ôá branch tags. ¸íá revision tag áíáöÝñåôáé óå ìéá óõãêåêñéìÝíç Ýêäïóç. Ç Ýííïéá ôïõ ðáñáìÝíåé óôáèåñÞ ìÝñá ìå ôç ìÝñá. Áðü ôçí Üëëç, Ýíá branch tag äåß÷íåé ôçí ôåëåõôáßá Ýêäïóç ìéáò óõãêåêñéìÝíçò ðïñåßáò áíÜðôõîçò, óå êÜèå ÷ñïíéêÞ óôéãìÞ. Êáèþò ôï branch tag äåí áíáöÝñåôáé óå êÜðïéá óõãêåêñéìÝíç Ýêäïóç, ìðïñåß áýñéï íá óçìáßíåé êÜôé äéáöïñåôéêü áðü üôé óçìáßíåé óÞìåñá. Ôï ðåñéÝ÷åé revision tags ôá ïðïßá ìðïñåß íá åíäéáöÝñïõí ôïõò ÷ñÞóôåò. Õðåíèõìßæïõìå üôé êáíÝíá áðü áõôÜ äåí åßíáé Ýãêõñï ãéá ôçí ÓõëëïãÞ ôùí Ports, êáèþò áõôÞ äåí Ý÷åé ðïëëáðëÝò åêäüóåéò (revisions). ¼ôáí êáèïñßæåôå êÜðïéï branch tag, öõóéïëïãéêÜ ëáìâÜíåôå ôéò ôåëåõôáßåò åêäüóåéò ôùí áñ÷åßùí ðïõ õðÜñ÷ïõí óå áõôÞ ôç ãñáììÞ áíÜðôõîçò. Áí èÝëåôå íá ëÜâåôå êÜðïéá ðáëéüôåñç Ýêäïóç, ìðïñåßôå ÷ñçóéìïðïéþíôáò ôçí çìåñïìçíßá óå óõíäõáóìü ìå ôçí åðéëïãÞ . Äåßôå ôç óåëßäá manual ôïõ &man.cvs.1; ãéá ðåñéóóüôåñåò ëåðôïìÝñåéåò. Ðáñáäåßãìáôá Áí êáé ðñáãìáôéêÜ óõíßóôáôáé íá äéáâÜóåôå ðñïóåêôéêÜ ôç óåëßäá manual ôïõ &man.cvs.1; ðñéí êÜíåôå ïôéäÞðïôå, ðáñáêÜôù óáò äßíïõìå êÜðïéá ãñÞãïñá ðáñáäåßãìáôá ôá ïðïßá ïõóéáóôéêÜ èá óáò äåßîïõí ðùò íá ÷ñçóéìïðïéÞóåôå ôï Áíþíõìï CVS: ËÞøç (Check out) ÊÜðïéïõ Áñ÷åßïõ áðü ôï -CURRENT (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Óôçí ðñïôñïðÞ, äþóôå ïðïéáäÞðïôå ëÝîç ãéá password. &prompt.user; cvs co ls ×ñÞóç SSH ãéá ËÞøç (check out) ôïõ ÄÝíôñïõ <filename>src/</filename>: &prompt.user; cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established. DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts. ËÞøç ôçò ¸êäïóçò ôïõ Áñ÷åßïõ &man.ls.1; áðü ôï 8-STABLE Branch: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Óôçí ðñïôñïðÞ, äþóôå ïðïéáäÞðïôå ëÝîç ãéá password. &prompt.user; cvs co -rRELENG_8 ls Äçìéïõñãßá ìéáò Ëßóôáò Áëëáãþí (ùò Unified Diffs) ôçò &man.ls.1;: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Óôçí ðñïôñïðÞ, äþóôå ïðïéáäÞðïôå ëÝîç ãéá password. &prompt.user; cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls Âñßóêïíôáò Ðïéá ¶ëëá Ïíüìáôá Modules ìðïñïýí íá ×ñçóéìïðïéçèïýí: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Óôçí ðñïôñïðÞ, äþóôå ïðïéáäÞðïôå ëÝîç ãéá password. &prompt.user; cvs co modules &prompt.user; more modules/modules ¶ëëåò ÐçãÝò Ðëçñïöïñéþí Ïé ðáñáêÜôù ðçãÝò ðëçñïöïñéþí ßóùò óáò öáíïýí ÷ñÞóéìåò ãéá íá ìÜèåôå ôï CVS: CVS Tutorial áðü ôï California Polytechnic State University. CVS Home, ç ïìÜäá áíÜðôõîçò êáé õðïóôÞñéîçò ôïõ CVS. CVSweb ÄéåðáöÞ Web ãéá ôï CVS ôïõ &os; Project. ×ñçóéìïðïéþíôáò ôï CTM CTM Ôï CTM åßíáé ìéá ìÝèïäïò íá äéáôçñïýìå óå óõã÷ñïíéóìü Ýíá áðïìáêñõóìÝíï êáôÜëïãï ìå Ýíá êåíôñéêü. Áíáðôý÷èçêå ãéá ÷ñÞóç ìå ôï äÝíôñï ðçãáßïõ êþäéêá ôïõ &os;, áí êáé Üëëïé Üíèñùðïé ìðïñåß íá ôï âñïõí ÷ñÞóéìï êáé ãéá äéáöïñåôéêïýò óêïðïýò êáèþò ðåñíÜåé ï êáéñüò. Ôç äåäïìÝíç óôéãìÞ õðÜñ÷åé åëÜ÷éóôç ùò áíýðáñêôç ôåêìçñßùóç ãéá ôçí äéáäéêáóßá äçìéïõñãßáò áñ÷åßùí äéáöïñþí (deltas), êáé áí ÷ñåéÜæåóôå ðåñéóóüôåñåò ðëçñïöïñßåò, åðéêïéíùíÞóôå ìå ôç ëßóôá ôá÷õäñïìåßïõ &a.ctm-users.name; åéäéêÜ áí èÝëåôå íá ÷ñçóéìïðïéÞóåôå ôï CTM ãéá Üëëåò åöáñìïãÝò. Ãéáôß ÐñÝðåé íá ×ñçóéìïðïéÞóù ôï <application>CTM</application>; Ôï CTM èá óáò äþóåé Ýíá ôïðéêü áíôßãñáöï ôïõ äÝíôñïõ ðçãáßïõ êþäéêá ôïõ &os;. ÕðÜñ÷åé äéáèÝóéìïò Ýíáò áñéèìüò áðü ãåýóåéò ôïõ äÝíôñïõ. Ôï CTM ìðïñåß íá óáò ðáñÝ÷åé ôéò ðëçñïöïñßåò ðïõ ÷ñåéÜæåóôå, åßôå áðïöáóßóåôå íá ðáñáêïëïõèåßôå ïëüêëçñï ôï äÝíôñï, åßôå êÜðïéï áðü ôá ðáñáêëÜäéá ôïõ. Áí áíÞêåôå óôá åíåñãÜ ìÝëç áíÜðôõîçò ôïõ &os; áëëÜ Ý÷åôå êáêÞò ðïéüôçôáò (Þ êáèüëïõ) TCP/IP óõíäåóéìüôçôá, Þ áðëÜ èÝëåôå ïé áëëáãÝò íá óáò Ýñ÷ïíôáé áõôüìáôá, ôï CTM Ý÷åé öôéá÷ôåß ãéá óáò. Èá ÷ñåéáóôåß íá ðáßñíåôå ùò ôñßá deltas ôçí çìÝñá ãéá ôá êëáäéÜ ôïõ äÝíôñïõ ðïõ Ý÷ïõí ôçí ðéï åíåñãÞ áíÜðôõîç. Èá ðñÝðåé ùóôüóï íá èåùñÞóåôå ùò êáëýôåñç ëýóç ôçí áõôüìáôç áðïóôïëÞ ôïõò ìÝóù email. Ôá ìåãÝèç ôùí áíáíåþóåùí êñáôïýíôáé ðÜíôá üóï ôï äõíáôüí ðéï ìéêñÜ. ÓõíÞèùò åßíáé ìéêñüôåñá áðü 5Ê, ðåñéóôáóéáêÜ (Ýíá óôá äÝêá) åßíáé áðü 10-50Ê êáé ïñéóìÝíåò öïñÝò åìöáíßæïíôáé êáé êÜðïéá ðïõ åßíáé 100Ê Þ êáé ìåãáëýôåñá. Èá ðñÝðåé åðßóçò íá åîïéêåéùèåßôå ìå ôéò äéÜöïñåò ðáãßäåò ðïõ ó÷åôßæïíôáé ìå ôçí áðåõèåßáò åñãáóßá óôïí õðü áíÜðôõîç ðçãáßï êþäéêá óå ó÷Ýóç ìå ìéá Ýôïéìç, ðñïêáôáóêåõáóìÝíç Ýêäïóç. Áõôü éó÷ýåé áêüìá ðåñéóóüôåñï áí åðéëÝîåôå íá ÷ñçóéìïðïéÞóåôå ôïí ðçãáßï êþäéêá áðü ôï current. Óáò óõíéóôïýìå íá äéáâÜóåôå ðùò íá ÷ñçóéìïðïéÞóåôå ôï current óôï &os;. Ôé ×ñåéÜæïìáé ãéá íá ×ñçóéìïðïéÞóù ôï <application>CTM</application>; Èá ÷ñåéáóôåßôå äýï ðñÜãìáôá: Ôçí åöáñìïãÞ CTM êáé ôéò áñ÷éêÝò áëëáãÝò (deltas) ãéá íá ôéò åéóÜãåôå óå áõôÞí (þóôå íá öôÜóåôå óôï åðßðåäï ôïõ current). Ôï CTM åßíáé ìÝñïò ôïõ &os; áðü ôçí Ýêäïóç 2.0, êáé âñßóêåôáé óôïí êáôÜëïãï /usr/src/usr.sbin/ctm åöüóïí Ý÷åôå åãêáôåóôçìÝíï ôïí ðçãáßï êþäéêá. Ôá deltas ìå ôá ïðïßá ôñïöïäïôåßôå ôï CTM ìðïñåßôå íá ôá áðïêôÞóåôå ìå äýï ôñüðïõò, ìÝóù FTP Þ ìÝóù email. Áí Ý÷åôå ãåíéêÞ FTP ðñüóâáóç óôï Internet, èá âñåßôå õðïóôÞñéîç ãéá ôï CTM óôéò áêüëïõèåò ôïðïèåóßåò FTP: Þ äåßôå ôï ôìÞìá mirrors. ÊÜíôå FTP óôï ó÷åôéêü êáôÜëïãï êáé äéáâÜóôå ôï áñ÷åßï README ãéá íá îåêéíÞóåôå. Áí èÝëåôå íá ëáìâÜíåôå ôá deltas ìÝóù email: Ãñáöôåßôå óõíäñïìçôÞò óå ìéá áðü ôéò ëßóôåò äéáíïìÞò ôïõ CTM. Ç ëßóôá &a.ctm-cvs-cur.name; õðïóôçñßæåé ïëüêëçñï ôï äÝíôñï ôïõ CVS. Ç ëßóôá &a.ctm-src-cur.name; õðïóôçñßæåé ôçí êåöáëÞ (head) ôïõ êëÜäïõ áíÜðôõîçò (development branch). Ç ëßóôá &a.ctm-src-7.name; õðïóôçñßæåé ôçí Ýêäïóç 7.X ê.ï.ê. Áí äåí ãíùñßæåôå ðùò íá åããñáöåßôå óå ìéá ëßóôá, êÜíôå êëéê óôï üíïìá ôçò ëßóôáò ðïõ åìöáíßæåôáé ðáñáðÜíù Þ ðçãáßíåôå óôï &a.mailman.lists.link; êáé êÜíôå êëéê óôç ëßóôá ðïõ èÝëåôå íá åããñáöåßôå. Ç óåëßäá ôçò ëßóôáò èá ðñÝðåé íá ðåñéÝ÷åé üëåò ôéò áðáñáßôçôåò ðëçñïöïñßåò ó÷åôéêÜ ìå ôéò óõíäñïìÝò. ¼ôáí áñ÷ßóåôå íá ëáìâÜíåôå áíáíåþóåéò CTM ìÝóù mail, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôï ðñüãñáììá ctm_rmail ãéá íá ôéò áðïóõìðéÝóåôå êáé íá ôéò åöáñìüóåôå. Ìðïñåßôå óôçí ðñáãìáôéêüôçôá íá ÷ñçóéìïðïéÞóåôå ôï ðñüãñáììá ctm_rmail áðåõèåßáò ìÝóù ìéáò åããñáöÞò óôï /etc/aliases áí èÝëåôå ç äéáäéêáóßá íá åêôåëåßôáé áõôïìáôïðïéçìÝíá. Äåßôå ôç óåëßäá manual ôïõ ctm_rmail ãéá ðåñéóóüôåñåò ëåðôïìÝñåéåò. ¶ó÷åôá ìå ôç ìÝèïäï ðïõ èá ÷ñçóéìïðïéÞóåôå ãéá íá ëÜâåôå ôá deltas ôïõ CTM èá ðñÝðåé íá åããñáöåßôå óôç ëßóôá &a.ctm-announce.name;. Óôï ìÝëëïí, áõôü èá åßíáé êáé ôï ìüíï ìÝñïò óôï ïðïßï èá äçìïóéåýïíôáé ðëçñïöïñßåò ó÷åôéêÜ ìå ôéò ëåéôïõñãßåò ôïõ óõóôÞìáôïò CTM. ÊÜíôå êëéê óôï üíïìá ôçò ðáñáðÜíù ëßóôáò, êáé áêïëïõèåßóôå ôéò ïäçãßåò ãéá íá åããñáöåßôå. ×ñçóéìïðïéþíôáò ôï <application>CTM</application> ãéá Ðñþôç ÖïñÜ Ðñéí áñ÷ßóåôå íá ÷ñçóéìïðïéåßôå CTM deltas, èá ðñÝðåé íá Ý÷åôå Ýíá óçìåßï åêêßíçóçò ãéá ôá delta ðïõ Ý÷ïõí äçìéïõñãçèåß ìåôÜ áðü áõôü. Èá ðñÝðåé ðñþôá íá êáèïñßóåôå ôé Ý÷åôå Þäç. ÏðïéïóäÞðïôå ìðïñåß íá áñ÷ßóåé áðü Ýíá Üäåéï êáôÜëïãï. Èá ðñÝðåé íá îåêéíÞóåôå ìå Ýíá áñ÷éêü Êåíü delta ãéá íá áñ÷ßóåôå ìå ôï CTM äÝíôñï óáò. Áðü êÜðïéï óçìåßï èåùñïýìå üôé Ýíá áðü áõôÜ ôá áñ÷éêÜ deltas èá äéáíÝìïíôáé óå CD ãéá ôç äéêÞ óáò äéåõêüëõíóç, ùóôüóï áõôü äåí óõìâáßíåé ôç äåäïìÝíç óôéãìÞ. Êáèþò ôá äÝíôñá åßíáé áñêåôÝò äåêÜäåò megabytes, åßíáé ðñïôéìüôåñï íá îåêéíÞóåôå áðü êÜôé ðïõ Ý÷åôå Þäç. Áí Ý÷åôå CD êÜðïéáò äéáíïìÞò (RELEASE), ìðïñåßôå íá áíôéãñÜøåôå Þ íá áðïóõìðéÝóåôå áðü åêåß ôïí áñ÷éêü ðçãáßï êþäéêá. ¸ôóé èá ãëõôþóåôå óçìáíôéêü ìÝñïò ôçò ìåôáöïñÜò äåäïìÝíùí. Ìðïñåßôå íá áíáãíùñßóåôå áõôÜ ôá áñ÷éêÜ deltas áðü ôï X ðïõ áêïëïõèåß ôïí áñéèìü ôïõò (ãéá ðáñÜäåéãìá src-cur.3210XEmpty.gz). Ï ÷áñáêôçñéóìüò ìåôÜ ôï X áíôéóôïé÷åß óôçí ðçãÞ ôïõ áñ÷éêïý óáò seed. Ôï Empty åßíáé Ýíáò Üäåéïò êáôÜëïãïò. ÊáôÜ êáíüíá äçìéïõñãåßôáé ìéá ìåôÜâáóç áðü ôï Empty êÜèå 100 deltas. Åðßóçò ôá áñ÷åßá áõôÜ åßíáé ìåãÜëá! ÓõíçèéóìÝíï ìÝãåèïò ãéá XEmpty deltas åßíáé ôá 70 ùò 80 MB óõìðéåóìÝíùí ìå gzip äåäïìÝíùí. Ìüëéò åðéëÝîåôå Ýíá âáóéêü delta ãéá íá îåêéíÞóåôå, èá ÷ñåéáóôåßôå åðßóçò üëá ôá deltas ìå ìåãáëýôåñïõò áðü áõôü áñéèìïýò. ×ñçóéìïðïéþíôáò ôï <application>CTM</application> óôçí ÊáèçìåñéíÞ óáò ÆùÞ Ãéá íá åöáñìüóåôå ôá deltas, áðëþò ãñÜøôå: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* Ôï CTM áíôéëáìâÜíåôáé deltas ôá ïðïßá Ý÷ïõí óõìðéåóôåß ìÝóù gzip, êáé Ýôóé äåí ÷ñåéÜæåôáé íá ÷ñçóéìïðïéÞóåôå ôçí gunzip, ãëõôþíïíôáò ìå áõôü ôïí ôñüðï ÷þñï óôï äßóêï. Ôï CTM äåí ðñüêåéôáé íá ðåéñÜîåé ôá áñ÷åßá óáò áí äåí åßíáé áðüëõôá óßãïõñï ãéá ôç äéáäéêáóßá áíáíÝùóçò. Ãéá íá åðáëçèåýóåôå Ýíá delta ìðïñåßôå åðßóçò íá ÷ñçóéìïðïéÞóåôå ôçí åðéëïãÞ êáé ôï CTM äåí èá ðåéñÜîåé ôßðïôá, áðëþò èá åðáëçèåýóåé ôçí áêåñáéüôçôá ôïõ delta êáé èá äåé áí ìðïñåß íá ôï åöáñìüóåé ÷ùñßò ðñïâëÞìáôá óôï ôñÝ÷ïí äÝíôñï. ÕðÜñ÷ïõí êáé Üëëåò åðéëïãÝò óôï CTM, äåßôå ôéò áíôßóôïé÷åò óåëßäåò manual Þ êïéôÜîôå ôïí ðçãáßï êþäéêá ãéá ðåñéóóüôåñåò ðëçñïöïñßåò. Áõôü åßíáé üëï óôçí ðñáãìáôéêüôçôá. ÊÜèå öïñÜ ðïõ ëáìâÜíåôå Ýíá íÝï delta, áðëþò ðåñÜóôå ôï óôï CTM þóôå íá Ý÷åôå ðÜíôïôå áíáíåùìÝíï ôïí ðçãáßï óáò êþäéêá. Ìçí óâÞíåôå ôá deltas áí åßíáé äýóêïëï íá ôá êáôåâÜóåôå îáíÜ. ºóùò èÝëåôå íá ôá öõëÜîåôå ãéá ôçí ðåñßðôùóç ðïõ êÜôé ðÜåé óôñáâÜ. Áêüìá êáé áí ôï ìüíï ìÝóï ðïõ Ý÷åôå åßíáé äéóêÝôåò, êÜíôå áíôßãñáöï ÷ñçóéìïðïéþíôáò ôçí fdwrite. Êñáôþíôáò ôéò ÔïðéêÝò óáò ÁëëáãÝò Ùò ðñïãñáììáôéóôÞò, èá èÝëåôå íá ðåéñáìáôéóôåßôå êáé íá áëëÜîåôå áñ÷åßá óôï äÝíôñï ôïõ ðçãáßïõ êþäéêá. Ôï CTM õðïóôçñßæåé ðåñéïñéóìÝíïõ ôýðïõ ôïðéêÝò áëëáãÝò: ðñéí åëÝãîåé ãéá ôçí ðáñïõóßá åíüò áñ÷åßïõ foo, åëÝã÷åé ðñþôá ãéá ôï foo.ctm. Áí ôï áñ÷åßï áõôü õðÜñ÷åé, ôï CTM èá ÷ñçóéìïðïéÞóåé áõôü áíôß ãéá ôï foo. Ç óõìðåñéöïñÜ áõôÞ ìáò ðáñÝ÷åé Ýíá áðëü ôñüðï íá äéáôçñÞóïõìå ôïðéêÝò áëëáãÝò: áðëþò áíôéãñÜøôå ôá áñ÷åßá ðïõ óêïðåýåôå íá áëëÜîåôå óå áíôßóôïé÷á áñ÷åßá ìå êáôÜëçîç .ctm. Ìðïñåßôå êáôüðéí íá êÜíåôå üôé áëëáãÝò èÝëåôå óôïí êþäéêá åíþ ôï CTM èá äéáôçñåß áíáíåùìÝíï ôï áñ÷åßï .ctm. ¶ëëåò ÅíäéáöÝñïõóåò ÅðéëïãÝò ôïõ <application>CTM</application> Âñßóêïíôáò ôé Áêñéâþò èá ÁëëÜîåé óå ìéá ÁíáíÝùóç Ìðïñåßôå íá ðñïóäéïñßóåôå ôéò áëëáãÝò ðïõ èá ðñïêáëÝóåé ôï CTM óôï repository ôïõ ðçãáßïõ óáò êþäéêá, ÷ñçóéìïðïéþíôáò ôçí åðéëïãÞ . Áõôü èá åßíáé ÷ñÞóéìï áí èÝëåôå íá êñáôÞóåôå çìåñïëüãéï ôùí áëëáãþí, áí èÝëåôå íá åðåîåñãáóôåßôå ôá ôñïðïðïéçìÝíá áñ÷åßá ðñéí Þ ìåôÜ ôçí ôñïðïðïßçóç ôïõò, Þ áí áðëþò áéóèÜíåóôå åëáöñþò ðáñáíïúêüò. Äçìéïõñãþíôáò Áíôßãñáöá Áóöáëåßáò ðñéí ôçí ÁíáíÝùóç ÌåñéêÝò öïñÝò èá èÝëåôå íá êñáôÞóåôå áíôßãñáöï áóöáëåßáò üëùí ôùí áñ÷åßùí ðïõ ðñüêåéôáé íá áëëá÷èïýí áðü ìéá áíáíÝùóç ìÝóù CTM. Äßíïíôáò ôçí åðéëïãÞ ôï CTM èá äçìéïõñãÞóåé áíôßãñáöï áóöáëåßáò üëùí ôùí áñ÷åßùí ðïõ ðñüêåéôáé íá áëëá÷èïýí áðü êÜðïéï óõãêåêñéìÝíï delta óôï áñ÷åßï backup-file. Ðåñéïñßæïíôáò ôá Áñ÷åßá ðïõ èá Áëëá÷èïýí áðü ÊÜðïéá ÁíáíÝùóç ÌåñéêÝò öïñÝò ßóùò íá åíäéáöÝñåóôå íá ðåñéïñßóåôå ôçí ðåñéï÷Þ äñÜóçò ìéáò óõãêåêñéìÝíçò áíáíÝùóçò ìÝóù CTM Þ ßóùò óáò åíäéáöÝñåé íá ðÜñåôå ìüíï ëßãá áñ÷åßá áðü êÜðïéá óåéñÜ áðü deltas. Ìðïñåßôå íá åëÝãîåôå ôç ëßóôá ôùí áñ÷åßùí óôá ïðïßá èá ëåéôïõñãÞóåé ôï CTM ÷ñçóéìïðïéþíôáò ùò ößëôñá, regular expressions ìå ôéò åðéëïãÝò êáé . Ãéá ðáñÜäåéãìá, ãéá íá åîÜãåôå Ýíá áíáíåùìÝíï áíôßãñáöï ôïõ áñ÷åßïõ lib/libc/Makefile áðü ôçí óõëëïãÞ óáò ôùí áðïèçêåõìÝíùí CTM deltas, åêôåëÝóôå ôéò åíôïëÝò: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* Ãéá êÜèå áñ÷åßï ðïõ êáèïñßæåôáé óå Ýíá CTM delta, ïé åðéëïãÝò êáé åöáñìüæïíôáé ìå ôç óåéñÜ ðïõ åìöáíßæïíôáé óôç ãñáììÞ åíôïëþí. Óôï áñ÷åßï ãßíåôáé åðåîåñãáóßá áðü ôï CTM, ìüíï áí ìáñêáñéóôåß ùò Ýãêõñï ðñïò áíáíÝùóç ìåôÜ ôçí åöáñìïãÞ üëùí ôùí åðéëïãþí êáé . ÌåëëïíôéêÜ Ó÷Ýäéá ãéá ôï <application>CTM</application> Åßíáé ðÜñá ðïëëÜ: ×ñÞóç êÜðïéïõ åßäïõò ðéóôïðïßçóçò óôï óýóôçìá CTM þóôå íá áíáãíùñßæïíôáé ôõ÷üí øåýôéêåò áíáíåþóåéò. ÎåêáèÜñéóìá ôùí åðéëïãþí ôïõ CTM, êáèþò ðñïêáëïýí óýã÷õóç êáé äåí åßíáé ðñïöáíåßò. ÄéÜöïñá ÕðÜñ÷åé åðßóçò êáé ìéá óåéñÜ áðü deltas ãéá ôçí óõëëïãÞ ôùí ports, áëëÜ äåí Ý÷åé åêäçëùèåß áêüìá áñêåôü åíäéáöÝñïí ãéá áõôÞ. CTM Mirrors Ôï CTM/&os; äéáôßèåôáé ìÝóù áíþíõìïõ FTP áðü ôá áêüëïõèá mirrors. Áí åðéëÝîåôå íá êáôåâÜóåôå ôï CTM ìÝóù áíþíõìïõ FTP, óáò ðáñáêáëïýìå ðñïóðáèÞóôå íá åðéëÝîåôå ìéá ôïðïèåóßá êïíôÜ óå óáò. Óå ðåñßðôùóç ðñïâëçìÜôùí, ðáñáêáëïýìå åðéêïéíùíÞóôå ìå ôç ëßóôá &a.ctm-users.name;. Êáëéöüñíéá, Bay Area, åðßóçìç ðçãÞ Íüôéá ÁöñéêÞ, áíôßãñáöá áóöáëåßáò ãéá ðáëéÜ deltas ÔáúâÜí/R.O.C. Áí äåí âñÞêáôå êÜðïéï mirror óôçí ðåñéï÷Þ óáò, Þ áí ôï mirror äåí åßíáé ðëÞñåò, ðñïóðáèÞóôå íá ÷ñçóéìïðïéÞóåôå ìéá ìç÷áíÞ áíáæÞôçóçò üðùò ç alltheweb. ×ñçóéìïðïéþíôáò ôï CVSup ÅéóáãùãÞ Ôï CVSup åßíáé Ýíá ëïãéóìéêü ãéá ôçí äéáíïìÞ êáé áíáíÝùóç äÝíôñùí ðçãáßïõ êþäéêá áðü Ýíá êåíôñéêü (master) CVS repository ôï ïðïßï âñßóêåôáé óå êÜðïéï áðïìáêñõóìÝíï õðïëïãéóôÞ. Ôï repository ôïõ &os; âñßóêåôáé óå Ýíá êåíôñéêü ìç÷Üíçìá óôçí Êáëéöüñíéá. Ìå ôï CVSup, ïé ÷ñÞóôåò ôïõ &os; ìðïñïýí åýêïëá íá äéáôçñÞóïõí áíáíåùìÝíá ôá áíôßãñáöá ôïõ ðçãáßïõ ôïõò êþäéêá. Ôï CVSup ÷ñçóéìïðïéåß Ýíá ìïíôÝëï áíáíÝùóçò ãíùóôü ùò pull. Óôï ìïíôÝëï áõôü, êÜèå ðåëÜôçò æçôÜ ôéò áíáíåþóåéò áðü ôïí åîõðçñåôçôÞ, üôáí êáé áí ôéò åðéèõìåß. Ï åîõðçñåôçôÞò ðåñéìÝíåé, ðáèçôéêÜ, ôéò áðáéôÞóåéò áðü ôïõò ðåëÜôåò. Ìå ôïí ôñüðï áõôü, êÜèå áíáíÝùóç îåêéíÜåé êáôüðéí áðáßôçóçò ôïõ ðåëÜôç. Ï åîõðçñåôçôÞò ðïôÝ äåí óôÝëíåé áíáíåþóåéò ðïõ äåí Ý÷ïõí æçôçèåß. Ïé ÷ñÞóôåò èá ðñÝðåé åßôå íá åêôåëÝóïõí ôï CVSup ÷åéñïêßíçôá ãéá íá ëÜâïõí ìéá áíáíÝùóç, åßôå èá ðñÝðåé íá ñõèìßóïõí êáôÜëëçëá ôï cron þóôå íá ôï åêôåëåß áõôüìáôá êáôÜ ôáêôÜ ÷ñïíéêÜ äéáóôÞìáôá. Ï üñïò CVSup, ãñáììÝíïò ìå êåöáëáßá êáé ìéêñÜ üðùò öáßíåôáé, áíáöÝñåôáé óå ïëüêëçñï ôï ðáêÝôï ëïãéóìéêïý. Ôá âáóéêÜ ôïõ ôìÞìáôá åßíáé ç åíôïëÞ ðåëÜôç cvsup ç ïðïßá åêôåëåßôáé óôï ìç÷Üíçìá ôïõ êÜèå ÷ñÞóôç, êáé ôï ðñüãñáììá ôïõ åîõðçñåôçôÞ cvsupd ôï ïðïßï åêôåëåßôáé óå êÜèå Ýíá áðü ôá mirror sites ôïõ &os;. Êáèþò äéáâÜæåôå ôçí ôåêìçñßùóç êáé ôéò ëßóôåò ôá÷õäñïìåßïõ ôïõ &os;, ìðïñåß íá âñåßôå áíáöïñÝò óôçí åöáñìïãÞ sup. Ôï sup Þôáí ï ðñüãïíïò ôïõ CVSup, êáé åîõðçñåôïýóå ðáñüìïéï óêïðü. Ôï CVSup ÷ñçóéìïðïéåßôáé ìå áñêåôÜ üìïéï ôñüðï ìå ôï sup, êáé óôçí ðñáãìáôéêüôçôá, ÷ñçóéìïðïéåß áñ÷åßá ñõèìßóåùí ôá ïðïßá Ý÷ïõí ðßóù óõìâáôüôçôá ìå áõôÜ ôïõ sup. Ôï sup äåí ÷ñçóéìïðïéåßôáé ðëÝïí óôï &os; Project, åðåéäÞ ôï CVSup åßíáé ôá÷ýôåñï êáé ðñïóöÝñåé ìåãáëýôåñç åõåëéîßá. Ôï ðñüãñáììá csup åßíáé ôï CVSup îáíáãñáììÝíï óå ãëþóóá C. Ôï ìåãáëýôåñï ôïõ ðëåïíÝêôçìá åßíáé üôé åßíáé ôá÷ýôåñï, êáé äåí åîáñôÜôáé áðü ôçí ãëþóóá ðñïãñáììáôéóìïý Modula-3, ôçí ïðïßá êáé äåí ÷ñåéÜæåôáé ðëÝïí íá åãêáôáóôÞóåôå. Åðßóçò ìðïñåßôå íá ôï ÷ñçóéìïðïéÞóåôå Üìåóá, êáèþò ðåñéëáìâÜíåôáé óôï âáóéêü óýóôçìá. Áí áðïöáóßóåôå íá ÷ñçóéìïðïéÞóåôå ôï csup, áðëþò ðáñáëåßøôå ôá âÞìáôá ãéá ôçí åãêáôÜóôáóç ôïõ CVSup êáé áíôéêáôáóôÞóôå êÜèå áíáöïñÜ óôï CVSup óå áõôü ôï Üñèñï, ìå csup. ÅãêáôÜóôáóç Ï åõêïëüôåñïò ôñüðïò ãéá íá åãêáôáóôÞóåôå ôï CVSup åßíáé ìÝóù ôïõ Ýôïéìïõ ðáêÝôïõ net/cvsup áðü ôçí óõëëïãÞ ðáêÝôùí ôïõ &os;. Áí ðñïôéìÜôå íá ìåôáãëùôôßóåôå ôï CVSup áðü ôïí ðçãáßï êþäéêá, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôï port net/cvsup. Óáò ðñïåéäïðïéïýìå ùóôüóï üôé ôï port net/cvsup åîáñôÜôáé áðü ôçí Modula-3, ç ïðïßá ÷ñåéÜæåôáé áñêåôü ÷ñüíï êáé ÷þñï óôï äßóêï ãéá íá êáôÝâåé êáé íá ìåôáãëùôôéóôåß. Áí ðñüêåéôáé íá ÷ñçóéìïðïéÞóåôå ôï CVSup óå Ýíá ìç÷Üíçìá ôï ïðïßï äåí èá äéáèÝôåé ãñáöéêü ðåñéâÜëëïí ìÝóù ôïõ &xorg;, üðùò ð.÷. óå Ýíá åîõðçñåôçôÞ, âåâáéùèåßôå üôé åãêáèéóôÜôå ôï áíôßóôïé÷ï port ôï ïðïßï äåí ðåñéëáìâÜíåé ãñáöéêü ðåñéâÜëëïí, äçëáäÞ ôï net/cvsup-without-gui. Ñýèìéóç ôïõ CVSup Ç ëåéôïõñãßá ôïõ CVSup åëÝã÷åôáé áðü Ýíá áñ÷åßï ñõèìßóåùí ðïõ êáëåßôáé supfile. ÕðÜñ÷ïõí êÜðïéá õðïäåßãìáôá áðü supfiles óôïí êáôÜëïãï /usr/share/examples/cvsup/. Ïé ðëçñïöïñßåò óôï supfile áðáíôïýí ôéò áêüëïõèåò åñùôÞóåéò ãéá ôï CVSup: Ðïéá áñ÷åßá èÝëåôå íá ëÜâåôå; Ðïéåò åêäüóåéò ôùí áñ÷åßùí èÝëåôå; Áðü ðïõ èÝëåôå íá ôá ëÜâåôå; Ðïõ èÝëåôå íá ôá áðïèçêåýóåôå óôï ìç÷Üíçìá óáò; Ðïõ èÝëåôå íá áðïèçêåýóåôå ôá áñ÷åßá êáôÜóôáóçò; Óôá åðüìåíá ôìÞìáôá, èá äçìéïõñãÞóïõìå Ýíá ôõðéêü supfile áðáíôþíôáò êÜèå ìéá áðü ôéò åñùôÞóåéò áõôÝò ìå ôç óåéñÜ. Ðñþôá, èá ðåñéãñÜøïõìå ôç óõíïëéêÞ äïìÞ åíüò supfile. ¸íá supfile åßíáé Ýíá áñ÷åßï êåéìÝíïõ. Ôá ó÷üëéá îåêéíÜíå ìå # êáé åðåêôåßíïíôáé ùò ôï ôÝëïò ôçò ãñáììÞò. Ïé êåíÝò ãñáììÝò, êáèþò êáé áõôÝò ðïõ ðåñéÝ÷ïõí ìüíï ó÷üëéá, áãíïïýíôáé. ÊÜèå ãñáììÞ áðü ôéò õðüëïéðåò ðåñéãñÜöåé Ýíá óåô áñ÷åßùí ôá ïðïßá åðéèõìåß íá ëÜâåé ï ÷ñÞóôçò. Ç ãñáììÞ îåêéíÜåé ìå ôï üíïìá ìéáò óõëëïãÞò, åíüò ëïãéêïý ãêñïõð áðü áñ÷åßá ðïõ ïñßæåôáé áðü ôïí åîõðçñåôçôÞ. Ôï üíïìá ôçò óõëëïãÞò äçëþíåé óôïí åîõðçñåôçôÞ ðïéá áñ÷åßá åðéèõìåßôå. ÌåôÜ ôï üíïìá ôçò óõëëïãÞò, ìðïñåß íá õðÜñ÷ïõí áðü ìçäÝí ùò êÜðïéá ðåäßá, ôá ïðïßá ÷ùñßæïíôáé ìåôáîý ôïõò ìå êåíÜ äéáóôÞìáôá. Ôá ðåäßá áõôÜ áðáíôïýí ôéò åñùôÞóåéò ðïõ ôÝèçêáí ðáñáðÜíù. ÕðÜñ÷ïõí äýï ôýðïé ðåäßùí: ðåäßá óÞìáíóçò (flags) êáé ðåäßá ôéìþí. ¸íá ðåäßï óÞìáíóçò áðïôåëåßôáé áðü ìéá ìüíï ëÝîç êëåéäß ð.÷. delete Þ compress. ¸íá ðåäßï ôéìÞò îåêéíÜåé åðßóçò ìå ìéá ëÝîç êëåéäß, áëëÜ áõôÞ áêïëïõèåßôå ÷ùñßò ôçí ðáñåìâïëÞ êåíïý äéáóôÞìáôïò áðü = êáé ìéá äåýôåñç ëÝîç. Ãéá ðáñÜäåéãìá ôï release=cvs áðïôåëåß Ýíá ðåäßï ôéìÞò. ¸íá supfile ôõðéêÜ êáèïñßæåé ðñïò ëÞøç ðåñéóóüôåñåò áðü ìßá óõëëïãÝò. ¸íá ôñüðïò ãéá íá äïìÞóåôå Ýíá supfile åßíáé íá êáèïñßóåôå üëá ôá ó÷åôéêÜ ðåäßá ÷ùñéóôÜ ãéá êÜèå óõëëïãÞ. Ìå ôïí ôñüðï áõôü ùóôüóï ôï supfile èá êáôáëÜâåé áñêåôÝò ãñáììÝò êáé èá åßíáé Üâïëï, åðåéäÞ ôá ðåñéóóüôåñá ðåäßá åßíáé ßäéá ãéá üëåò ôéò óõëëïãÝò ðïõ ðåñéÝ÷ïíôáé óå áõôü. Ôï CVSup ðáñÝ÷åé Ýíá ìç÷áíéóìü ÷ñÞóçò ðñïåðéëåãìÝíùí ôéìþí, þóôå íá áðïöåýãïíôáé áõôÜ ôá ðñïâëÞìáôá. Ïé ãñáììÝò ðïõ îåêéíÜíå ìå ôï åéäéêü üíïìá øåõôü-óõëëïãÞò *default ìðïñïýí íá ÷ñçóéìïðïéçèïýí ãéá íá èÝóïõí ðåäßá óÞìáíóçò êáé ôéìþí ôá ïðïßá èá ÷ñçóéìïðïéçèïýí ùò ðñïåðéëïãÝò ãéá ôéò óõëëïãÝò ôïõ supfile ðïõ âñßóêïíôáé ìåôÜ áðü áõôÜ. Ìéá ðñïåðéëåãìÝíç ôéìÞ ìðïñåß íá áëëÜîåé áí êáèïñéóôåß îáíÜ ìå íÝá ôéìÞ ìÝóá óôçí ßäéá ôç óõëëïãÞ. Ïé ðñïåðéëïãÝò ìðïñïýí åðßóçò íá áëëÜîïõí, Þ íá ðñïóôåèïýí íÝåò, âÜæïíôáò ðñüóèåôá *default óå ïðïéïäÞðïôå óçìåßï ìÝóá óôï supfile. Ãíùñßæïíôáò ôá ðáñáðÜíù, èá ðñï÷ùñÞóïõìå ôþñá óôç äüìçóç åíüò supfile ãéá ëÞøç êáé áíáíÝùóç ôïõ êõñßùò äÝíôñïõ ðçãáßïõ êþäéêá ãéá ôï &os;-CURRENT. Ðïéá áñ÷åßá èÝëåôå íá ëÜâåôå; Ôá áñ÷åßá ðïõ åßíáé äéáèÝóéìá ìÝóù ôçò CVSup åßíáé ïñãáíùìÝíá óå ãêñïõð ðïõ ïíïìÜæïíôáé óõëëïãÝò. ÐåñéãñáöÞ ôùí äéáèÝóéìùí óõëëïãþí èá âñåßôå óôï áêüëïõèï ôìÞìá. Óôï ðáñÜäåéãìá ìáò, èÝëïõìå íá ëÜâïõìå ôï ðëÞñåò äÝíôñï ðçãáßïõ êþäéêá ôïõ &os; óõóôÞìáôïò. ÕðÜñ÷åé ìéá ìåãÜëç óõëëïãÞ src-all ç ïðïßá èá ìáò ôçí äþóåé üëç. Óáí ðñþôï âÞìá ãéá ôçí äüìçóç ôïõ supfile, áðëþò ãñÜöïõìå ôéò óõëëïãÝò, ìßá óå êÜèå ãñáììÞ (óôçí ðåñßðôùóç ìáò Ý÷ïõìå ìüíï ìéá ãñáììÞ): src-all Ðïéåò åêäüóåéò ôùí áñ÷åßùí èÝëåôå íá ëÜâåôå; Ìå ôï CVSup, ìðïñåßôå ïõóéáóôéêÜ íá ëÜâåôå ïðïéáäÞðïôå Ýêäïóç ôïõ ðçãáßïõ êþäéêá õðÞñîå ðïôÝ. Áõôü åßíáé äõíáôüí åðåéäÞ ï åîõðçñåôçôÞò cvsupd ëåéôïõñãåß áðåõèåßáò áðü ôï CVS repository, ôï ïðïßï ðåñéÝ÷åé üëåò ôéò åêäüóåéò. Äçëþíåôå ðïéá áðü áõôÝò èÝëåôå ÷ñçóéìïðïéþíôáò ôá ðåäßá ôéìþí tag= êáé . Èá ðñÝðåé íá äþóåôå éäéáßôåñç ðñïóï÷Þ óôïí êáèïñéóìü ôùí ðåäßùí tag= þóôå íá åßíáé óùóôÜ. ÊÜðïéá tags åßíáé Ýãêõñá ìüíï ãéá óõãêåêñéìÝíåò óõëëïãÝò áñ÷åßùí. Áí êáèïñßóåôå ëáíèáóìÝíï tag (Þ êÜíåôå ïñèïãñáöéêü ëÜèïò) ôï CVSup èá óâÞóåé áñ÷åßá ôá ïðïßá ðéèáíþò äåí èÝëåôå íá óâçóôïýí. Åéäéêüôåñá, ãéá ôçí óõëëïãÞ ôùí ports-*, ÷ñçóéìïðïéÞóôå ìüíï ôï tag=.. Ôï ðåäßï tag= äåß÷íåé ðñïò Ýíá óõìâïëéêü tag óôï repository. ÕðÜñ÷ïõí äýï åßäç tags, ôá tags åêäüóåùí (revision tags) êáé ôá tags êëÜäùí (branch tags). ¸íá revision tag áíáöÝñåôáé óå ìéá óõãêåêñéìÝíç Ýêäïóç. Ç óçìáóßá ôïõ äéáôçñåßôáé ßäéá áðü ôç ìéá ìÝñá óôçí Üëëç. Áðü ôçí Üëëç, Ýíá branch tag, áíáöÝñåôáé óôçí ôåëåõôáßá Ýêäïóç ìéá óõãêåêñéìÝíçò ãñáììÞò áíÜðôõîçò, óå êÜèå ÷ñïíéêÞ óôéãìÞ. ÅðåéäÞ Ýíá branch tag äåí áíáöÝñåôáé óå êÜðïéá óõãêåêñéìÝíç Ýêäïóç, ìðïñåß áýñéï íá óçìáßíåé êÜôé äéáöïñåôéêü áðü üôé óçìáßíåé óÞìåñá. Óôï èá âñåßôå branch tags ôá ïðïßá ìðïñåß íá óáò åíäéáöÝñïõí. ¼ôáí êáèïñßæåôå Ýíá tag óôï áñ÷åßï ñõèìßóåùí ôïõ CVSup, èá ðñÝðåé ðñéí áðü áõôü íá âÜæåôå ôç ëÝîç êëåéäß tag= (äçë. ôï RELENG_8 èá ãßíåé tag=RELENG_8). Íá Ý÷åôå õðüøéí óáò üôé ãéá ôçí óõëëïãÞ ôùí Ports, ôï tag=. åßíáé ôï ìüíï Ýãêõñï. Íá åßóôå éäéáßôåñá ðñïóåêôéêüò, þóôå íá ãñÜøåôå ôï tag áêñéâþò üðùò öáßíåôáé. Ôï CVSup äåí ìðïñåß íá äéá÷ùñßóåé ìåôáîý Ýãêõñùí êáé ìç-Ýãêõñùí tags. Áí ãñÜøåôå ëÜèïò ôï tag, ôï CVSup èá óõìðåñéöåñèåß óáí íá Ý÷åôå äþóåé Ýíá Ýãêõñï tag ôï ïðïßï äåí áíáöÝñåôáé óå êáíÝíá áñ÷åßï. Óôçí ðåñßðôùóç áõôÞ èá äéáãñÜøåé ôá õðÜñ÷ïíôá áñ÷åßá óáò ðçãáßïõ êþäéêá. ¼ôáí êáèïñßóåôå êÜðïéï branch tag, öõóéïëïãéêÜ èá ëÜâåôå ôéò ôåëåõôáßåò åêäüóåéò ôùí áñ÷åßùí ðïõ õðÜñ÷ïõí óå áõôÞ ôç ãñáììÞ áíÜðôõîçò. Áí èÝëåôå íá ëÜâåôå êÜðïéåò ðáëéüôåñåò åêäüóåéò, ìðïñåßôå íá ôï êÜíåôå êáèïñßæïíôáò ìéá çìåñïìçíßá ìÝóù ôïõ ðåäßïõ ôéìþí . Ç óåëßäá manual &man.csup.1; åîçãåß ðùò ìðïñåßôå íá ôï êÜíåôå. Óôï ðáñÜäåéãìá ìáò, åðéèõìïýìå íá ëÜâïõìå ôï &os;-CURRENT. ÐñïóèÝôïõìå ôç ãñáììÞ áõôÞ óôçí áñ÷Þ ôïõ supfile áñ÷åßïõ ìáò: *default tag=. ÕðÜñ÷åé ìéá óçìáíôéêÞ åéäéêÞ ðåñßðôùóç üôáí äåí êáèïñßóåôå ïýôå ðåäßï tag= ïýôå ðåäßï date=. Óôçí ðåñßðôùóç áõôÞ èá ëÜâåôå ôá êáíïíéêÜ áñ÷åßá RCS áðåõèåßáò áðü ôï CVS repository ôïõ åîõðçñåôçôÞ, áíôß ãéá íá ëÜâåôå êÜðïéá óõãêåêñéìÝíç Ýêäïóç. Ïé ðñïãñáììáôéóôÝò ãåíéêÜ ðñïôéìïýí áõôü ôïí ôñüðï ëåéôïõñãßáò. Äéáôçñþíôáò ðëÞñåò áíôßãñáöï ôïõ CVS repository óôá óõóôÞìáôá ôïõò Ý÷ïõí ôçí éêáíüôçôá íá âëÝðïõí ôï éóôïñéêü áëëáãþí êÜèå Ýêäïóçò êáé íá åîåôÜæïõí ðáëéüôåñåò åêäüóåéò ôùí áñ÷åßùí. Ôá ðáñáðÜíù ðëåïíåêôÞìáôá ùóôüóï Ý÷ïõí ôï êüóôïò ôçò ìåãáëýôåñçò ÷ñÞóçò ÷þñïõ óôï óêëçñü äßóêï. Áðü ðïõ èÝëåôå íá ôá ëÜâåôå; ×ñçóéìïðïéïýìå ôï ðåäßï host= ãéá íá ðïýìå óôï cvsup áðü ðïõ íá ëÜâåé ôéò áíáíåþóåéò ôïõ. ÏðïéïäÞðïôå áðü ôá CVSup mirror sites åßíáé êáôÜëëçëï, áí êáé èá ðñÝðåé íá ðñïóðáèÞóåôå íá åðéëÝîåôå êÜðïéï ôï ïðïßï íá âñßóêåôáé êïíôÜ óáò. Óôï ðáñÜäåéãìá ìáò, èá ÷ñçóéìïðïéÞóïõìå ìéá öáíôáóôéêÞ ôïðïèåóßá äéáíïìÞò ôïõ &os;, ôï cvsup99.FreeBSD.org: *default host=cvsup99.FreeBSD.org Èá ðñÝðåé íá áëëÜîåôå ôï host óå êÜðïéï ðïõ ðñáãìáôéêÜ õðÜñ÷åé ðñéí åêôåëÝóåôå ôï CVSup. ÊÜèå öïñÜ ðïõ åêôåëåßôå ôï cvsup, Ý÷åôå ôçí äõíáôüôçôá íá áíáôñÝðåôå áõôÞ ôç ñýèìéóç ìÝóù ôçò ãñáììÞò åíôïëþí ìå ôçí åðéëïãÞ . Ðïõ èÝëåôå íá ôá áðïèçêåýóåôå óôï ìç÷Üíçìá óáò; Ôï ðåäßï prefix= äçëþíåé óôçí cvsup ðïõ íá áðïèçêåýóåé ôá áñ÷åßá ðïõ ëáìâÜíåé. Óôï ðáñÜäåéãìá ìáò, èá âÜëïõìå ôá áñ÷åßá ôïõ ðçãáßïõ êþäéêá, áðåõèåßáò óôï êýñéï äÝíôñï ðçãáßïõ êþäéêá, /usr/src. Ï êáôÜëïãïò src èåùñåßôáé äåäïìÝíïò ãéá ôéò óõëëïãÝò ðïõ Ý÷ïõìå åðéëÝîåé íá ëÜâïõìå, êáé Ýôóé ï óùóôüò ðñïóäéïñéóìüò åßíáé áõôüò ðïõ öáßíåôáé ðáñáêÜôù: *default prefix=/usr Ðïõ èá áðïèçêåýóåé ôï cvsup ôá áñ÷åßá êáôÜóôáóçò ôïõ; Ï ðåëÜôçò CVSup äéáôçñåß êÜðïéá áñ÷åßá êáôÜóôáóçò (status files) óå áõôü ðïõ áðïêáëåßôáé êáôÜëïãïò base. Ôá áñ÷åßá áõôÜ âïçèïýí ôï CVSup íá ëåéôïõñãåß ðéï áðïäïôéêÜ êñáôþíôáò ëïãáñéáóìü ôùí áíáíåþóåùí ðïõ Ý÷åôå Þäç ëÜâåé. Èá ÷ñçóéìïðïéÞóïõìå ôïí ðñïåðéëåãìÝíï êáôÜëïãï base, /var/db: *default base=/var/db Áí ï base êáôÜëïãïò óáò äåí õðÜñ÷åé Þäç, ôþñá åßíáé ìéá êáëÞ óôéãìÞ íá ôïí äçìéïõñãÞóåôå. O ðåëÜôçò cvsup äåí èá åêôåëåßôáé áí ï base êáôÜëïãïò äåí õðÜñ÷åé. ÄéÜöïñåò ñõèìßóåéò ãéá ôï supfile: ÕðÜñ÷åé áêüìá ìéá êïéíÞ ãñáììÞ ñõèìßóåùí, ç ïðïßá ôõðéêÜ õðÜñ÷åé óôï supfile: *default release=cvs delete use-rel-suffix compress Ôï release=cvs äåß÷íåé üôé ï åîõðçñåôçôÞò èá ðñÝðåé íá ëÜâåé ôéò ðëçñïöïñßåò ôïõ ìÝóù ôïõ êýñéïõ CVS repository ôïõ &os;. Áõôü éó÷ýåé ó÷åäüí ðÜíôá, áëëÜ õðÜñ÷ïõí êáé Üëëåò ðéèáíüôçôåò ðïõ îåöåýãïõí áðü ôï óêïðü áõôÞò ôçò óõæÞôçóçò. Ç ëÝîç delete äßíåé äéêáéþìáôá óôï CVSup íá äéáãñÜöåé áñ÷åßá. Èá ðñÝðåé ðÜíôïôå íá Ý÷åôå ôçí åðéëïãÞ áõôÞ, þóôå ôï CVSup íá ìðïñåß íá êñáôÞóåé ôï äÝíôñï ôïõ ðçãáßïõ óáò êþäéêá ðëÞñùò áíáíåùìÝíï. Ôï CVSup åßíáé áñêåôÜ ðñïóåêôéêü þóôå íá óâÞíåé ìüíï ôá áñ÷åßá ðïõ âñßóêïíôáé õðü ôçí åõèýíç ôïõ. Áí ôõ÷üí âÜëåôå Ýîôñá áñ÷åßá óôïí ßäéï êáôÜëïãï, äåí èá ôá áããßîåé. Ç åðéëïãÞ use-rel-suffix åßíáé... áñ÷áéïëïãéêÞ. Áí ðñáãìáôéêÜ èÝëåôå íá ìÜèåôå ó÷åôéêÜ ìå áõôÞí, äéáâÜóôå ôç óåëßäá manual &man.cvsup.1;. Áëëéþò, áðëþò ÷ñçóéìïðïéÞóôå ôçí, êáé ìçí áíçóõ÷åßôå éäéáßôåñá ãéá áõôÞ. Ç åðéëïãÞ compress åíåñãïðïéåß ôç ÷ñÞóç óõìðßåóçò ôýðïõ gzip óôï êáíÜëé åðéêïéíùíßáò. Áí Ý÷åôå óýíäåóç äéêôýïõ ôýðïõ T1 Þ êáé ðéï ãñÞãïñç, ìÜëëïí äåí èá ðñÝðåé íá ÷ñçóéìïðïéÞóåôå óõìðßåóç. Óå äéáöïñåôéêÞ ðåñßðôùóç, èá âïçèÞóåé åîáéñåôéêÜ. ¼ëåò ïé åðéëïãÝò ìáæß: Åäþ åßíáé ôï ðëÞñåò supfile ãéá ôï ðáñÜäåéãìá ìáò: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all Ôï Áñ÷åßï <filename>refuse</filename> ¼ðùò áíáöÝñáìå ðáñáðÜíù, ôï CVSup ÷ñçóéìïðïéåß ìÝèïäï pull. ÂáóéêÜ áõôü óçìáßíåé üôé óõíäÝåóôå óôïí åîõðçñåôçôÞ CVSup, áõôüò ëÝåé ÁõôÜ åßíáé ôá áñ÷åßá ðïõ ìðïñåßôå íá êáôåâÜóåôå áðü ìÝíá.., êáé ôï äéêü óáò ðñüãñáììá áðáíôÜåé ÅíôÜîåé, èá ðÜñù áõôü, áõôü, áõôü, êáé áõôü. Óôçí ðñïåðéëåãìÝíç ñýèìéóç, ï ðåëÜôçò CVSup èá ðÜñåé êÜèå áñ÷åßï ðïõ óõíäÝåôáé ìå ôçí óõëëïãÞ êáé ôï tag ðïõ Ý÷åôå êáèïñßóåé óôï áñ÷åßï ñõèìßóåùí. Ùóôüóï ìðïñåß íá ìçí ôï åðéèõìåßôå áõôü ðÜíôá, åéäéêÜ áí óõã÷ñïíßæåôå ôá äÝíôñá doc, ports Þ www — ïé ðåñéóóüôåñïé Üíèñùðïé äåí ìðïñïýí íá äéáâÜóïõí ôÝóóåñéò Þ ðÝíôå ãëþóóåò êáé Ýôóé äåí ÷ñåéÜæåôáé íá êáôåâÜóïõí áñ÷åßá ðïõ áíáöÝñïíôáé åéäéêÜ óå áõôÝò. Áí ÷ñçóéìïðïéåßôå ôï CVSup ãéá ôçí óõëëïãÞ ôùí Ports, ìðïñåßôå íá îåðåñÜóåôå áõôÞ ôç óõìðåñéöïñÜ êáèïñßæïíôáò óõãêåêñéìÝíåò óõëëïãÝò (ð.÷. ports-astrology, ports-biology áíôß ãéá ports-all). Ùóôüóï, åðåéäÞ ôá äÝíôñá doc êáé www äåí äéáèÝôïõí óõëëïãÝò ÷ùñéóìÝíåò áíÜ ãëþóóá, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå Ýíá áðü ôá âïëéêÜ ÷áñáêôçñéóôéêÜ ôïõ CVSup: ôï áñ÷åßï refuse. Ôï áñ÷åßï refuse ïõóéáóôéêÜ ëÝåé óôï CVSup üôé äåí ðñÝðåé íá ðÜñåé êÜèå áñ÷åßï áðü ìéá óõëëïãÞ. Ìå Üëëá ëüãéá, ëÝåé óôïí ðåëÜôç íá áñíçèåß óõãêåêñéìÝíá áñ÷åßá ðïõ ðñïóöÝñåé ï åîõðçñåôçôÞò. Ôï áñ÷åßï refuse ìðïñåß íá âñåèåß (Þ íá äçìéïõñãçèåß áí äåí Ý÷åôå Þäç) óôï base/sup/. Ôï base êáèïñßæåôáé óôï supfile. Ôï äéêü ìáò base åßíáé óôï /var/db, ôï ïðïßï óçìáßíåé üôé ôï ðñïåðéëåãìÝíï áñ÷åßï refuse èá åßíáé ôï /var/db/sup/refuse. Ôï áñ÷åßï refuse Ý÷åé éäéáßôåñá áðëÞ ìïñöÞ. Áðëþò ðåñéÝ÷åé ôá ïíüìáôá ôùí áñ÷åßùí êáé êáôáëüãùí ôá ïðïßá äåí åðéèõìåßôå íá êáôåâÜóåôå. Ãéá ðáñÜäåéãìá, áí äåí ìéëÜôå ãëþóóåò åêôüò áðü ÁããëéêÜ êáé ëßãá ÃåñìáíéêÜ, êáé äåí áéóèÜíåóôå ôçí áíÜãêç íá äéáâÜóåôå ôçí ÃåñìáíéêÞ ìåôÜöñáóç ôçò ôåêìçñßùóçò, ìðïñåßôå íá âÜëåôå ôá áêüëïõèá óôï äéêü óáò áñ÷åßï refuse: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* ê.ï.ê. ãéá ôéò õðüëïéðåò ãëþóóåò (ìðïñåßôå íá âñåßôå ôçí ðëÞñç ëßóôá óôï &os; CVS repository). Ìå áõôÞ ôç ÷ñÞóéìç äõíáôüôçôá, ïé ÷ñÞóôåò ðïõ Ý÷ïõí áñãÞ óýíäåóç Þ ðëçñþíïõí ôï Internet ìå ÷ñïíï÷ñÝùóç áíÜ ëåðôü, èá ìðïñÝóïõí íá åîïéêïíïìÞóïõí ðïëýôéìï ÷ñüíï êáèþò äåí èá ÷ñåéÜæåôáé ðëÝïí íá êáôåâÜóïõí áñ÷åßá ðïõ äåí ðñüêåéôáé íá ÷ñçóéìïðïéÞóïõí ðïôÝ. Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò ó÷åôéêÜ ìå ôá áñ÷åßá refuse êáé Üëëá ÷ñÞóéìá ÷áñáêôçñéóôéêÜ ôïõ CVSup, ðáñáêáëïýìå äéáâÜóôå ôçí áíôßóôïé÷ç óåëßäá ôïõ manual. Åêôåëþíôáò ôï <application>CVSup</application> Åßóôå ôþñá Ýôïéìïé íá äïêéìÜóåôå ìéá áíáíÝùóç. Ç ãñáììÞ åíôïëÞò ãéá ôï óêïðü áõôü åßíáé éäéáßôåñá áðëÞ: &prompt.root; cvsup supfile üðïõ ôï supfile åßíáé öõóéêÜ ôï üíïìá ôïõ áñ÷åßïõ supfile ðïõ ìüëéò äçìéïõñãÞóáôå. ÕðïèÝôïíôáò üôé ÷ñçóéìïðïéåßôå ôá X11, ç åíôïëÞ cvsup èá óáò åìöáíßóåé Ýíá ãñáöéêü ðáñÜèõñï ìå êÜðïéá ðëÞêôñá óõíçèéóìÝíùí ëåéôïõñãéþí. ÐéÝóôå ôï ðëÞêôñï go, êáé ðáñáêïëïõèÞóôå ôçí åêôÝëåóç. Êáèþò óôçí ðåñßðôùóç ìáò áíáíåþíåôáé ôï ðñáãìáôéêü äÝíôñï /usr/src, èá ÷ñåéáóôåß íá åêôåëÝóåôå ôï ðñüãñáììá ùò root þóôå ç cvsup íá Ý÷åé ôá äéêáéþìáôá ðïõ ÷ñåéÜæåôáé ãéá íá áíáíåþóåé ôá áñ÷åßá óáò. Êáèþò ìüëéò Ý÷åôå äçìéïõñãÞóåé ôï áñ÷åßï ñõèìßóåùí, êáé äåí Ý÷åôå ðïôÝ ðñéí ÷ñçóéìïðïéÞóåé ôï ðñüãñáììá, ßóùò áéóèÜíåóôå ëßãï Üâïëá. ÕðÜñ÷åé åýêïëïò ôñüðïò íá êÜíåôå äïêéìáóôéêÞ åêôÝëåóç ÷ùñßò íá ðåéñÜîåôå ôá ðïëýôéìá áñ÷åßá óáò. Áðëþò äçìéïõñãÞóôå Ýíá Üäåéï êáôÜëïãï óå Ýíá âïëéêü ìÝñïò, êáé äþóôå ôï óáí Ýîôñá ðáñÜìåôñï óôçí ãñáììÞ åíôïëþí: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest Ï êáôÜëïãïò ðïõ êáèïñßóáôå èá ÷ñçóéìïðïéçèåß ùò ðñïïñéóìüò ãéá üëåò ôéò áíáíåþóåéò áñ÷åßùí. Ôï CVSup èá åîåôÜóåé ôá êáíïíéêÜ áñ÷åßá óáò óôï /usr/src, áëëÜ äåí èá ôñïðïðïéÞóåé ïýôå èá äéáãñÜøåé êáíÝíá áðü áõôÜ. ÊÜèå áíáíÝùóç áñ÷åßïõ èá ãßíåé óôïí êáôÜëïãï /var/tmp/dest/usr/src. Ôï CVSup üôáí åêôåëåßôáé ìå áõôü ôïí ôñüðï áöÞíåé åðßóçò áíÝðáöá ôá áñ÷åßá êáôÜóôáóçò ôïõ óôïí êáôÜëïãï base. Ïé íÝåò åêäüóåéò ôùí áñ÷åßùí áõôþí èá ãñáöïýí óôïí êáèïñéóìÝíï êáôÜëïãï. Áí Ý÷åôå áðëþò ðñüóâáóç áíÜãíùóçò óôï /usr/src, äåí ÷ñåéÜæåóôå íá åßóôå êáí root ãéá íá êÜíåôå áõôÞ ôç äïêéìáóôéêÞ åêôÝëåóç. Áí äåí åêôåëåßôå ôá X11 Þ áðëþò äåí óáò áñÝóïõí ôá ãñáöéêÜ ðåñéâÜëëïíôá, ìðïñåßôå íá äþóåôå êÜðïéåò åðéëïãÝò óôçí ãñáììÞ åíôïëþí üôáí åêôåëåßôå ôçí cvsup: &prompt.root; cvsup -g -L 2 supfile Ç åðéëïãÞ ëÝåé óôï CVSup íá ìç ÷ñçóéìïðïéÞóåé ôï ãñáöéêü ôïõ ðåñéâÜëëïí. Áõôü ãßíåôáé áõôüìáôá áí äåí åêôåëïýíôáé ôá X11, áëëÜ äéáöïñåôéêÜ èá ðñÝðåé íá ôï êáèïñßóåôå. Ç åðéëïãÞ ëÝåé óôï CVSup íá åìöáíßóåé üëåò ôéò ëåðôïìÝñåéåò ãéá üëåò ôéò áíáíåþóåéò áñ÷åßùí ðïõ åêôåëåß. ÕðÜñ÷ïõí ôñßá åðßðåäá ðåñéãñáöÞò, áðü ôï ùò ôï . Ç ðñïåðéëïãÞ åßíáé ôï 0, ðïõ óçìáßíåé áðüëõôç óéùðÞ åêôüò áðü ìçíýìáôá ëÜèïõò. ÕðÜñ÷ïõí äéáèÝóéìåò áñêåôÝò áêüìá åðéëïãÝò. Ãéá ìéá ðåñéëçðôéêÞ ëßóôá, ãñÜøôå cvsup -H. Ãéá ðåñéóóüôåñï ëåðôïìåñåßò ðåñéãñáöÝò, äåßôå ôç óåëßäá ôïõ manual. ¼ôáí ìåßíåôå éêáíïðïéçìÝíïò áðü ôïí ôñüðï ðïõ ãßíïíôáé ïé áíáíåþóåéò, ìðïñåßôå íá êáíïíßóåôå ôçí óå ôáêôÜ äéáóôÞìáôá åêôÝëåóç ôïõ CVSup ìå ôçí ÷ñÞóç ôïõ &man.cron.8;. Ðñïöáíþò äåí èá ðñÝðåé íá áöÞóåôå ôï CVSup íá ÷ñçóéìïðïéåß ôï ãñáöéêü ôïõ ðåñéâÜëëïí üôáí ôï åêôåëåßôå ìÝóù ôïõ &man.cron.8;. ÓõëëïãÝò Áñ÷åßùí ôïõ<application>CVSup</application> Ïé óõëëïãÝò áñ÷åßùí ðïõ äéáôßèåíôáé ìÝóù ôïõ CVSup åßíáé ïñãáíùìÝíåò éåñáñ÷éêÜ. ÕðÜñ÷ïõí ëßãåò ìåãÜëåò óõëëïãÝò, êáé áõôÝò ÷ùñßæïíôáé óå ìéêñüôåñåò õðï-óõëëïãÝò. Ç ëÞøç ìéáò ìåãÜëçò óõëëïãÞò, éóïäõíáìåß ìå ôçí ëÞøç êÜèå ìéáò áðü ôéò õðï-óõëëïãÝò ôéò. Ïé éåñáñ÷éêÝò ó÷Ýóåéò ìåôáîý ôùí óõëëïãþí, áíôéêáôïðôñßæïíôáé ðáñáêÜôù ìå ôçí ÷ñÞóç ôùí åóï÷þí. Ïé ðéï óõ÷íÜ ÷ñçóéìïðïéïýìåíåò óõëëïãÝò åßíáé ç src-all, êáé ç ports-all. Ïé Üëëåò óõëëïãÝò ÷ñçóéìïðïéïýíôáé ìüíï áðü ìéêñÝò ïìÜäåò áíèñþðùí ãéá åéäéêïýò óêïðïýò, êáé êÜðïéá mirror sites ìðïñåß íá ìçí ôéò Ý÷ïõí êáèüëïõ. cvs-all release=cvs Ôï êýñéï CVS repository ôïõ &os;, ðïõ ðåñéëáìâÜíåé êáé ôïí êþäéêá êñõðôïãñáößáò. distrib release=cvs Áñ÷åßá ðïõ áíáöÝñïíôáé óôçí äéáíïìÞ êáé ôï mirroring ôïõ &os;. doc-all release=cvs Ðçãáßïò êþäéêáò ãéá ôï &os; Handbook êáé ôçí õðüëïéðç ôåêìçñßùóç. Äåí ðåñéëáìâÜíåé áñ÷åßá ãéá ôï web site ôïõ &os;. ports-all release=cvs Ç óõëëïãÞ Ports ôïõ &os;. Áí äåí èÝëåôå íá áíáíåþóåôå üëï ôï ports-all (ôï ðëÞñåò äÝíôñï ôùí ports), áëëÜ íá ÷ñçóéìïðïéÞóåôå ìéá áðü ôéò õðïóõëëïãÝò ðïõ öáßíïíôáé ðáñáêÜôù, âåâáéùèåßôå üôé ðÜíôá áíáíåþíåôå ôçí õðïóõëëïãÞ ports-base! ¼ôáí êÜôé áëëÜæåé óôï óýóôçìá ìåôáãëþôôéóçò ôùí ports ðïõ áíôéðñïóùðåýåôáé áðü ôï ports-base, åßíáé ðñáêôéêÜ âÝâáéï üôé ïé áëëáãÝò áõôÝò ðïëý óýíôïìá èá ÷ñçóéìïðïéçèïýí áðü ðñáãìáôéêÜ ports. ¸ôóé, áí áíáíåþíåôå ìüíï ôá ðñáãìáôéêÜ ports êáé áõôÜ ÷ñçóéìïðïéïýí êÜðïéåò áðü ôéò íÝåò äõíáôüôçôåò, õðÜñ÷åé ìåãÜëç ðéèáíüôçôá ç ìåôáãëþôôéóç ôïõò íá áðïôý÷åé ìå êÜðïéï ìõóôçñéþäåò ìÞíõìá ëÜèïõò. Ôï ðñþôï ðñÜãìá ðïõ ðñÝðåé íá êÜíåôå óå áõôÞ ôçí ðåñßðôùóç åßíáé íá âåâáéùèåßôå üôé åßíáé åíçìåñùìÝíç ç óõëëïãÞ óáò ports-base. Áí óêïðåýåôå íá äçìéïõñãÞóåôå ôï äéêü óáò ôïðéêü áíôßãñáöï ôïõ ports/INDEX, èá ðñÝðåé íá äå÷ôåßôå ôç óõëëïãÞ ports-all (ïëüêëçñï ôï äÝíôñï ôùí ports). H äçìéïõñãßá ôïõ ports/INDEX áðü ìç-ðëÞñåò äÝíôñï äåí õðïóôçñßæåôáé. Äåßôå ôï FAQ. ports-accessibility release=cvs Ëïãéóìéêü ãéá ôçí âïÞèåéá ÷ñçóôþí ìå áíáðçñßåò. ports-arabic release=cvs ÕðïóôÞñéîç ÁñáâéêÞò Ãëþóóáò. ports-archivers release=cvs Åñãáëåßá áðïèÞêåõóçò êáé óõìðßåóçò. ports-astro release=cvs Ports ó÷åôéêÜ ìå áóôñïíïìßá. ports-audio release=cvs ÕðïóôÞñéîç Þ÷ïõ. ports-base release=cvs ÂáóéêÜ áñ÷åßá ôùí ports ãéá õðïóôÞñéîç ôïõ óõóôÞìáôïò ìåôáãëþôôéóçò. ÄéÜöïñá áñ÷åßá ðïõ âñßóêïíôáé óôïõò õðïêáôáëüãïõò Mk/ êáé Tools/ ôïõ /usr/ports. Ðáñáêáëïýìå äåßôå ôçí óçìáíôéêÞ ðñïåéäïðïßçóç ðáñáðÜíù: èá ðñÝðåé ðÜíôïôå íá åíçìåñþíåôå áõôÞ ôçí õðïóõëëïãÞ, üôáí åíçìåñþíåôå ïðïéïäÞðïôå ôìÞìá ôçò óõëëïãÞò Ports ôïõ &os;. ports-benchmarks release=cvs ÐñïãñÜììáôá ìÝôñçóçò áðüäïóçò (Benchmarks). ports-biology release=cvs Âéïëïãßá. ports-cad release=cvs Åñãáëåßá ó÷åäßáóçò ìå ôç âïÞèåéá õðïëïãéóôÞ. ports-chinese release=cvs ÕðïóôÞñéîç ÊéíåæéêÞò Ãëþóóáò. ports-comms release=cvs Ëïãéóìéêü åðéêïéíùíéþí. ports-converters release=cvs Ìåôáôñïðåßò ÷áñáêôÞñùí. ports-databases release=cvs ÂÜóåéò ÄåäïìÝíùí. ports-deskutils release=cvs Áíôéêåßìåíá ðïõ âñßóêïíôáí óõíÞèùò óå Ýíá ãñáöåßï ðñéí ôçí åöåýñåóç ôùí õðïëïãéóôþí. ports-devel release=cvs ÂïçèçôéêÜ ðñïãñÜììáôá ãéá ôçí áíÜðôõîç ëïãéóìéêïý. ports-dns release=cvs Ëïãéóìéêü ó÷åôéêü ìå DNS. ports-editors release=cvs ÓõíôÜêôåò êåéìÝíïõ. ports-emulators release=cvs ÅîïìïéùôÝò Üëëùí ëåéôïõñãéêþí óõóôçìÜôùí. ports-finance release=cvs ×ñçìáôïïéêïíïìéêÜ ðñïãñÜììáôá. ports-ftp release=cvs ÐñïãñÜììáôá FTP (ðåëÜôåò êáé åîõðçñåôçôÝò). ports-games release=cvs Ðáé÷íßäéá. ports-german release=cvs ÕðïóôÞñéîç ÃåñìáíéêÞò ãëþóóáò. ports-graphics release=cvs Åñãáëåßá ãñáöéêþí. ports-hebrew release=cvs ÕðïóôÞñéîç åâñáúêÞò ãëþóóáò. ports-hungarian release=cvs ÕðïóôÞñéîç ÏõããáñÝæéêçò ãëþóóáò. ports-irc release=cvs ÐñïãñÜììáôá ãéá ôï IRC. ports-japanese release=cvs ÕðïóôÞñéîç ÉáðùíéêÞò ãëþóóáò. ports-java release=cvs Åñãáëåßá ãéá ôçí &java;. ports-korean release=cvs ÕðïóôÞñéîç ÊïñåáôéêÞò ãëþóóáò. ports-lang release=cvs Ãëþóóåò ðñïãñáììáôéóìïý. ports-mail release=cvs ÐñïãñÜììáôá çëåêôñïíéêïý ôá÷õäñïìåßïõ. ports-math release=cvs Ëïãéóìéêü ìáèçìáôéêþí õðïëïãéóìþí. ports-misc release=cvs ÄéÜöïñá âïçèçôéêÜ ðñïãñÜììáôá. ports-multimedia release=cvs Ëïãéóìéêü ðïëõìÝóùí. ports-net release=cvs Ëïãéóìéêü äéêôýùí. ports-net-im release=cvs Ëïãéóìéêü Üìåóùí ìçíõìÜôùí (instant messaging). ports-net-mgmt release=cvs Ëïãéóìéêü äéá÷åßñéóçò äéêôýùí. ports-net-p2p release=cvs Äéêôýùóç peer-to-peer. ports-news release=cvs Ëïãéóìéêü ãéá ôï USENET. ports-palm release=cvs Ëïãéóìéêü ãéá ôçí õðïóôÞñéîç óõóêåõþí ôýðïõ Palm. ports-polish release=cvs ÕðïóôÞñéîç ÐïëùíéêÞò ãëþóóáò. ports-ports-mgmt release=cvs Åñãáëåßá ãéá ôç äéá÷åßñéóç ðáêÝôùí êáé ports. ports-portuguese release=cvs ÕðïóôÞñéîç ÐïñôïãáëéêÞò ãëþóóáò. ports-print release=cvs Ëïãéóìéêü åêôõðþóåùí. ports-russian release=cvs ÕðïóôÞñéîç ÑùóéêÞò ãëþóóáò. ports-science release=cvs ÅðéóôçìïíéêÜ ðñïãñÜììáôá. ports-security release=cvs Åñãáëåßá áóöáëåßáò. ports-shells release=cvs Shells ãéá ôçí ãñáììÞ åíôïëþí. ports-sysutils release=cvs ÂïçèçôéêÜ ðñïãñÜììáôá óõóôÞìáôïò. ports-textproc release=cvs Åñãáëåßá åðåîåñãáóßáò êåéìÝíïõ (äåí ðåñéëáìâÜíåé åðéôñáðÝæéá ôõðïãñáößá). ports-ukrainian release=cvs ÕðïóôÞñéîç ÏõêñáíéêÞò ãëþóóáò. ports-vietnamese release=cvs ÕðïóôÞñéîç ÂéåôíáìÝæéêçò ãëþóóáò. ports-www release=cvs Ëïãéóìéêü ðïõ ó÷åôßæåôáé ìå ôïí ðáãêüóìéï éóôü (World Wide Web). ports-x11 release=cvs Ports ãéá õðïóôÞñéîç ôïõ óõóôÞìáôïò X Windows. ports-x11-clocks release=cvs Ñïëüãéá ãéá ôï X11. ports-x11-drivers release=cvs ÐñïãñÜììáôá ïäÞãçóçò ãéá ôá X11. ports-x11-fm release=cvs Äéá÷åéñéóôÝò áñ÷åßùí ãéá ôá X11. ports-x11-fonts release=cvs ÃñáììáôïóåéñÝò êáé åñãáëåßá ãñáììáôïóåéñþí ãéá X11. ports-x11-toolkits release=cvs ÅñãáëåéïèÞêåò X11. ports-x11-servers release=cvs ÅîõðçñåôçôÝò X11. ports-x11-themes release=cvs ÈÝìáôá ãéá X11. ports-x11-wm release=cvs Äéá÷åéñéóôÝò ðáñáèýñùí (window managers) ãéá X11. projects-all release=cvs Ðçãáßïò êþäéêáò ãéá ôï projects repository ôïõ &os;. src-all release=cvs Ï âáóéêüò ðçãáßïò êþäéêá ôïõ &os;, óõìðåñéëáìâáíïìÝíïõ ôïõ êþäéêá êñõðôïãñáößáò. src-base release=cvs ÄéÜöïñá áñ÷åßá óôçí êïñõöÞ ôïõ /usr/src. src-bin release=cvs Åñãáëåßá ðïõ ðéèáíüí íá áðáéôïýíôáé óå êáôÜóôáóç ëåéôïõñãßáò åíüò ÷ñÞóôç (single-user) (/usr/src/bin). src-cddl release=cvs Åñãáëåßá êáé âéâëéïèÞêåò ðïõ êáëýðôïíôáé áðü ôçí Üäåéá ÷ñÞóçò CDDL (/usr/src/cddl). src-contrib release=cvs Åñãáëåßá êáé âéâëéïèÞêåò ðïõ äåí áíÞêïõí óôï &os; Project, êáé ôá ïðïßá ÷ñçóéìïðïéïýíôáé ïõóéáóôéêÜ áíáëëïßùôá (/usr/src/contrib). src-crypto release=cvs Åñãáëåßá êáé âéâëéïèÞêåò êñõðôïãñÜöçóçò ðïõ äåí áíÞêïõí óôï &os; project êáé ôá ïðïßá ÷ñçóéìïðïéïýíôáé ïõóéáóôéêÜ áíáëëïßùôá (/usr/src/crypto). src-eBones release=cvs Kerberos êáé DES (/usr/src/eBones). Äåí ÷ñçóéìïðïéïýíôáé óôéò ôñÝ÷ïõóåò åêäüóåéò ôïõ &os;. src-etc release=cvs Áñ÷åßá ñõèìßóåùí ôïõ óõóôÞìáôïò (/usr/src/etc). src-games release=cvs Ðáé÷íßäéá (/usr/src/games). src-gnu release=cvs Åñãáëåßá ðïõ êáëýðôïíôáé áðü ôçí Üäåéá ÷ñÞóçò GNU Public License (/usr/src/gnu). src-include release=cvs Áñ÷åßá åðéêåöáëßäùí (/usr/src/include). src-kerberos5 release=cvs ÐáêÝôï áóöáëåßáò Kerberos5 (/usr/src/kerberos5). src-kerberosIV release=cvs ÐáêÝôï áóöáëåßáò KerberosIV (/usr/src/kerberosIV). src-lib release=cvs ÂéâëéïèÞêåò (/usr/src/lib). src-libexec release=cvs ÐñïãñÜììáôá óõóôÞìáôïò ôá ïðïßá öõóéïëïãéêÜ åêôåëïýíôáé áðü Üëëá ðñïãñÜììáôá (/usr/src/libexec). src-release release=cvs Áñ÷åßá ðïõ áðáéôïýíôáé ãéá ôçí ðáñáãùãÞ ìéáò Ýêäïóçò ôïõ &os; (/usr/src/release). src-rescue release=cvs ÐñïãñÜììáôá ìå óôáôéêÞ ìåôáãëþôôéóç ãéá ÷ñÞóç óå Ýêôáêôåò ðåñéðôþóåéò åðáíáöïñÜò ôïõ óõóôÞìáôïò. Äåßôå ôï &man.rescue.8; (/usr/src/rescue). src-sbin release=cvs Åñãáëåßá óõóôÞìáôïò ãéá ëåéôïõñãßá óå êáôÜóôáóç åíüò ÷ñÞóôç (single user mode) (/usr/src/sbin). src-secure release=cvs ÂéâëéïèÞêåò êáé åíôïëÝò êñõðôïãñÜöçóçò (/usr/src/secure). src-share release=cvs Áñ÷åßá ôá ïðïßá ìðïñåß íá åßíáé êïéíÜ áíÜìåóá óå ðïëëáðëÜ óõóôÞìáôá (/usr/src/share). src-sys release=cvs Ï ðõñÞíáò (/usr/src/sys). src-sys-crypto release=cvs Êþäéêáò êñõðôïãñáößáò ôïõ ðõñÞíá (/usr/src/sys/crypto). src-tools release=cvs ÄéÜöïñá åñãáëåßá ãéá ôç óõíôÞñçóç ôïõ &os; (/usr/src/tools). src-usrbin release=cvs Åñãáëåßá ÷ñÞóôç (/usr/src/usr.bin). src-usrsbin release=cvs Åñãáëåßá óõóôÞìáôïò (/usr/src/usr.sbin). www release=cvs Ï ðçãáßïò êþäéêáò ãéá ôçí ôïðïèåóßá WWW ôïõ &os;. distrib release=self Ôá áñ÷åßá ñõèìßóåùí ôïõ ßäéïõ ôïõ åîõðçñåôçôÞ CVSup. ×ñçóéìïðïéåßôáé áðü CVSup mirror sites. gnats release=current H âÜóç äåäïìÝíùí ôïõ óõóôÞìáôïò ðáñáêïëïýèçóçò ðñïâëçìÜôùí GNATS. mail-archive release=current Ôá áñ÷åßá ôçò ëßóôáò ôá÷õäñïìåßïõ ôïõ &os;. www release=current Ðñï-åðåîåñãáóìÝíá áñ÷åßá ôçò äéêôõáêÞò ôïðïèåóßáò (WWW) ôïõ &os; (ü÷é ï ðçãáßïò êþäéêáò). ×ñçóéìïðïéåßôáé áðü WWW mirror sites. Ãéá Ðåñéóóüôåñåò Ðëçñïöïñßåò Ãéá ôï FAQ ôïõ CVSup êáé Üëëåò ðëçñïöïñßåò ó÷åôéêÜ ìå áõôü, äåßôå ôç Óåëßäá ôïõ CVSup. ÓõæçôÞóåéò ó÷åôéêÜ ìå ôç ÷ñÞóç ôïõ CVSup óôï &os; ëáìâÜíïõí ÷þñá óôçí &a.hackers;. Óôç ëßóôá áõôÞ, êáèþò êáé óôçí &a.announce; áíáêïéíþíïíôáé êáé ïé íÝåò åêäüóåéò ôïõ ðñïãñÜììáôïò. Ãéá åñùôÞóåéò Þ áíáöïñÝò óöáëìÜôùí ó÷åôéêÜ ìå ôï CVSup ñßîôå ìéá ìáôéÜ óôï CVSup FAQ. Ôïðïèåóßåò CVSup Ìðïñåßôå íá âñåßôå åîõðçñåôçôÝò CVSup ãéá ôï &os; óôéò áêüëïõèåò ôïðïèåóßåò: &chap.mirrors.cvsup.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.cvsup.inc; ÅôéêÝôåò (Tags) ãéá ôï CVS ¼ôáí êáôåâÜæåôå Þ áíáíåþíåôå ôïí ðçãáßï êþäéêá ìÝóù ôçò cvs ç ôçò CVSup, èá ðñÝðåé íá êáèïñßóåôå ìéá åôéêÝôá Ýêäïóçò (revision tag). ¸íá revision tag áíáöÝñåôáé åßôå óå ìéá óõãêåêñéìÝíç ðïñåßá áíÜðôõîçò ôïõ &os;, åßôå óå Ýíá óõãêåêñéìÝíï ÷ñïíéêü óçìåßï. Ï ðñþôïò ôýðïò ïíïìÜæåôáé åôéêÝôá êëÜäïõ (branch tag), êáé ï äåýôåñïò ïíïìÜæåôáé åôéêÝôá Ýêäïóçò (release tag). ÅôéêÝôåò ÊëÜäùí (Branch Tags) ¼ëåò áõôÝò, ìå ôçí åîáßñåóç ôïõ HEAD (ôï ïðïßï åßíáé ðÜíôá Ýãêõñç åôéêÝôá), éó÷ýïõí ìüíï ãéá ôï äÝíôñï src/. Ôá äÝíôñá ports/, doc/, êáé www/ äåí Ý÷ïõí êëÜäïõò. HEAD Ðñüêåéôáé ãéá ôï óõìâïëéêü üíïìá ôçò êýñéáò ãñáììÞò áíÜðôõîçò, Þ &os;-CURRENT. Åßíáé åðßóçò ôï ðñïåðéëåãìÝíï tag áí äåí êáèïñéóôåß êÜðïéï óõãêåêñéìÝíï revision. Óôï CVSup, ôï tag áõôü áíôéðñïóùðåýåôáé áðü ìéá . (äåí ðñüêåéôáé ãéá óçìåßï óôßîçò ôçò ðñüôáóçò, áëëÜ ãéá ôïí ðñáãìáôéêü ÷áñáêôÞñá .). Óôï CVS, áõôÞ åßíáé êáé ç ðñïåðéëïãÞ áí äåí êáèïñéóôåß revision tag. ÓõíÞèùò äåí åßíáé êáëÞ éäÝá íá êÜíåôå checkout êáé áíáíÝùóç óôïí ðçãáßï êþäéêá ôïõ CURRENT óå Ýíá ìç÷Üíçìá STABLE, åêôüò áí áõôÞ åßíáé ðñáãìáôéêÜ ç ðñüèåóç óáò. RELENG_9 Ç ãñáììÞ áíÜðôõîçò ãéá ôï &os;-9.X, ãíùóôÞ åðßóçò êáé ùò &os; 9-STABLE RELENG_9_0 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-9.0, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_8 Ç ãñáììÞ áíÜðôõîçò ãéá ôï &os;-8.X, ãíùóôÞ åðßóçò êáé ùò &os; 8-STABLE RELENG_8_3 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-8.3, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_8_2 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-8.2, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_8_1 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-8.1, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_8_0 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-8.0, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_7 Ç ãñáììÞ áíÜðôõîçò ãéá ôï &os;-7.X, ãíùóôÞ åðßóçò êáé ùò &os; 7-STABLE RELENG_7_4 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-7.4, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_7_3 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-7.3, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_7_2 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-7.2, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_7_1 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-7.1, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_7_0 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-7.0, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_6 Ç ãñáììÞ áíÜðôõîçò ãéá ôï &os;-6.X, ãíùóôÞ åðßóçò êáé ùò &os; 6-STABLE RELENG_6_4 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-6.4, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_6_3 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-6.3, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_6_2 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-6.2, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_6_1 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-6.1, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_6_0 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-6.0, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_5 Ç ãñáììÞ áíÜðôõîçò ãéá ôï &os;-5.X, ãíùóôÞ åðßóçò ùò &os; 5-STABLE. RELENG_5_5 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-5.5, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_5_4 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-5.4, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_5_3 Ç ãñáììÞ Ýêäïóçò ôïõ &os;-5.3, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_5_2 Ç ãñáììÞ Ýêäïóçò &os;-5.2 êáé &os;-5.2.1, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_5_1 Ç ãñáììÞ Ýêäïóçò ãéá ôï &os;-5.1, ÷ñçóéìïðïéåßôáé ìüíï ãéá ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_5_0 Ç ãñáììÞ Ýêäïóçò ãéá ôï &os;-5.0, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_4 Ç ãñáììÞ áíÜðôõîçò ãéá ôï &os;-4.X, ãíùóôÞ åðßóçò êáé ùò &os; 4-STABLE. RELENG_4_11 Ç ãñáììÞ Ýêäïóçò ãéá ôï &os;-4.11, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_4_10 Ç ãñáììÞ Ýêäïóçò ãéá ôï &os;-4.10, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_4_9 Ç ãñáììÞ Ýêäïóçò ãéá ôï &os;-4.9, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_4_8 Ç ãñáììÞ Ýêäïóçò ãéá ôï &os;-4.8, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_4_7 Ç ãñáììÞ Ýêäïóçò ãéá ôï &os;-4.7, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_4_6 Ç ãñáììÞ Ýêäïóçò ãéá ôá &os;-4.6 êáé &os;-4.6.2, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_4_5 Ç ãñáììÞ Ýêäïóçò ãéá ôï &os;-4.5, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_4_4 Ç ãñáììÞ Ýêäïóçò ãéá ôï &os;-4.4, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_4_3 Ç ãñáììÞ Ýêäïóçò ãéá ôï &os;-4.3, ÷ñçóéìïðïéåßôáé ìüíï ãéá åíçìåñþóåéò áóöáëåßáò êáé Üëëåò êñßóéìåò äéïñèþóåéò. RELENG_3 Ç ãñáììÞ áíÜðôõîçò ãéá ôï &os;-3.X, ãíùóôÞ åðßóçò êáé ùò 3.X-STABLE. RELENG_2_2 Ç ãñáììÞ áíÜðôõîçò ãéá ôï &os;-2.2.X, ãíùóôÞ åðßóçò êáé ùò 2.2-STABLE. Ç ãñáììÞ áõôÞ èåùñåßôáé ïõóéáóôéêÜ ðáñù÷çìÝíç. ÅôéêÝôåò Åêäüóåùí (Release Tags) Ïé åôéêÝôåò áõôÝò áíáöÝñïíôáé óå ìéá óõãêåêñéìÝíç ÷ñïíéêÞ óôéãìÞ êáôÜ ôçí ïðïßá Ýãéíå ìéá êáíïíéêÞ Ýêäïóç (release) ôïõ &os;. Ç äéáäéêáóßá ôçò Ýêäïóçò ôåêìçñéþíåôáé ìå ðåñéóóüôåñåò ëåðôïìÝñåéåò óôá Ýããñáöá Ðëçñïöïñßåò Äéáäéêáóßáò ¸êäïóçò êáé Äéáäéêáóßá ¸êäïóçò. Ôï äÝíôñï src ÷ñçóéìïðïéåß ïíüìáôá åôéêåôþí ðïõ îåêéíïýí ìå ôç ëÝîç RELENG_. Ôá äÝíôñá ports êáé doc ÷ñçóéìïðïéïýí åôéêÝôåò ðïõ îåêéíïýí ìå ôç ëÝîç RELEASE. ÔÝëïò, óôï äÝíôñï www äåí äßíåôáé êÜðïéá åéäéêÞ åôéêÝôá ðïõ íá Ý÷åé ó÷Ýóç ìå ôéò åêäüóåéò. RELENG_9_0_0_RELEASE &os; 9.0 RELENG_8_3_0_RELEASE &os; 8.3 RELENG_8_2_0_RELEASE &os; 8.2 RELENG_8_1_0_RELEASE &os; 8.1 RELENG_8_0_0_RELEASE &os; 8.0 RELENG_7_4_0_RELEASE &os; 7.4 RELENG_7_3_0_RELEASE &os; 7.3 RELENG_7_2_0_RELEASE &os; 7.2 RELENG_7_1_0_RELEASE &os; 7.1 RELENG_7_0_0_RELEASE &os; 7.0 RELENG_6_4_0_RELEASE &os; 6.4 RELENG_6_3_0_RELEASE &os; 6.3 RELENG_6_2_0_RELEASE &os; 6.2 RELENG_6_1_0_RELEASE &os; 6.1 RELENG_6_0_0_RELEASE &os; 6.0 RELENG_5_5_0_RELEASE &os; 5.5 RELENG_5_4_0_RELEASE &os; 5.4 RELENG_4_11_0_RELEASE &os; 4.11 RELENG_5_3_0_RELEASE &os; 5.3 RELENG_4_10_0_RELEASE &os; 4.10 RELENG_5_2_1_RELEASE &os; 5.2.1 RELENG_5_2_0_RELEASE &os; 5.2 RELENG_4_9_0_RELEASE &os; 4.9 RELENG_5_1_0_RELEASE &os; 5.1 RELENG_4_8_0_RELEASE &os; 4.8 RELENG_5_0_0_RELEASE &os; 5.0 RELENG_4_7_0_RELEASE &os; 4.7 RELENG_4_6_2_RELEASE &os; 4.6.2 RELENG_4_6_1_RELEASE &os; 4.6.1 RELENG_4_6_0_RELEASE &os; 4.6 RELENG_4_5_0_RELEASE &os; 4.5 RELENG_4_4_0_RELEASE &os; 4.4 RELENG_4_3_0_RELEASE &os; 4.3 RELENG_4_2_0_RELEASE &os; 4.2 RELENG_4_1_1_RELEASE &os; 4.1.1 RELENG_4_1_0_RELEASE &os; 4.1 RELENG_4_0_0_RELEASE &os; 4.0 RELENG_3_5_0_RELEASE &os;-3.5 RELENG_3_4_0_RELEASE &os;-3.4 RELENG_3_3_0_RELEASE &os;-3.3 RELENG_3_2_0_RELEASE &os;-3.2 RELENG_3_1_0_RELEASE &os;-3.1 RELENG_3_0_0_RELEASE &os;-3.0 RELENG_2_2_8_RELEASE &os;-2.2.8 RELENG_2_2_7_RELEASE &os;-2.2.7 RELENG_2_2_6_RELEASE &os;-2.2.6 RELENG_2_2_5_RELEASE &os;-2.2.5 RELENG_2_2_2_RELEASE &os;-2.2.2 RELENG_2_2_1_RELEASE &os;-2.2.1 RELENG_2_2_0_RELEASE &os;-2.2.0 Ôïðïèåóßåò AFS ÅîõðçñåôçôÝò AFS ãéá ôï &os; èá âñåßôå óôéò áêüëïõèåò ôïðïèåóßåò: Óïõçäßá Ç äéáäñïìÞ ãéá ôá áñ÷åßá åßíáé: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Õðåýèõíïò ÓõíôÞñçóçò: ftp@stacken.kth.se Ôïðïèåóßåò rsync Ôï &os; åßíáé äéáèÝóéìï ìÝóù ôïõ ðñùôïêüëëïõ rsync óôéò áêüëïõèåò ôïðïèåóßåò. Ôï âïçèçôéêü ðñüãñáììá rsync ëåéôïõñãåß ìå ðåñßðïõ ôïí ßäéï ôñüðï ìå ôçí åíôïëÞ &man.rcp.1;, áëëÜ Ý÷åé ðåñéóóüôåñåò åðéëïãÝò êáé ÷ñçóéìïðïéåß ôï ðñùôüêïëëï áðïìáêñõóìÝíçò áíáíÝùóçò ôï ïðïßï ìåôáöÝñåé ìüíï ôéò äéáöïñÝò ìåôáîý äýï óåô áñ÷åßùí, åðéôá÷ýíïíôáò Ýôóé éäéáßôåñá ôï óõã÷ñïíéóìü ìÝóù ôïõ äéêôýïõ. Áõôü åßíáé ðåñéóóüôåñï ÷ñÞóéìï áí äéáôçñåßôå mirror ôïõ äéáêïìéóôÞ FTP Þ ôïõ CVS Repository ôïõ &os;. Ç óõëëïãÞ åöáñìïãþí rsync äéáôßèåôáé ãéá ðïëëÜ ëåéôïõñãéêÜ óõóôÞìáôá, óôï &os; äåßôå ôï port net/rsync Þ ÷ñçóéìïðïéÞóôå ôï áíôßóôïé÷ï ðáêÝôï. Äçìïêñáôßá ôçò Ôóå÷ßáò rsync://ftp.cz.FreeBSD.org/ ÄéáèÝóéìåò ÓõëëïãÝò: ftp: Ìåñéêü mirror ôïõ äéáêïìéóôÞ FTP ôïõ &os;. &os;: ÐëÞñåò mirror ôïõ äéáêïìéóôÞ FTP ôïõ &os;. Ïëëáíäßá rsync://ftp.nl.FreeBSD.org/ ÄéáèÝóéìåò ÓõëëïãÝò: &os;: ÐëÞñåò mirror ôïõ äéáêïìéóôÞ FTP ôïõ &os;. Ñùóßá rsync://ftp.mtu.ru/ ÄéáèÝóéìåò ÓõëëïãÝò: &os;: ÐëÞñåò mirror ôïõ äéáêïìéóôÞ FTP ôïõ &os;. &os;-gnats: Ç âÜóç äåäïìÝíùí ôïõ óõóôÞìáôïò ðáñáêïëïýèçóçò óöáëìÜôùí GNATS. &os;-Archive: Mirror ôïõ äéáêïìéóôÞ FTP ðáëáéüôåñùí åêäüóåùí (archive) ôïõ &os;. Óïõçäßá rsync://ftp4.se.freebsd.org/ ÄéáèÝóéìåò ÓõëëïãÝò: &os;: ÐëÞñåò mirror ôïõ äéáêïìéóôÞ FTP ôïõ &os; ÔáÀâÜí rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ ÄéáèÝóéìåò ÓõëëïãÝò: &os;: ÐëÞñåò mirror ôïõ äéáêïìéóôÞ FTP ôïõ &os;. ÇíùìÝíï Âáóßëåéï rsync://rsync.mirrorservice.org/ ÄéáèÝóéìåò ÓõëëïãÝò: sites/ftp.freebsd.org: ÐëÞñåò mirror ôïõ äéáêïìéóôÞ FTP ôïõ &os;. ÇíùìÝíåò Ðïëéôåßåò ÁìåñéêÞò rsync://ftp-master.FreeBSD.org/ Ï äéáêïìéóôÞò áõôüò ìðïñåß íá ÷ñçóéìïðïéçèåß ìüíï áðü êýñéá mirror sites ôïõ &os;. ÄéáèÝóéìåò ÓõëëïãÝò: &os;: To êýñéï (master) óýóôçìá áñ÷åßùí ôïõ äéáêïìéóôÞ FTP ôïõ &os;. acl: Ç êýñéá ëßóôá ACL ôïõ &os;. rsync://ftp13.FreeBSD.org/ ÄéáèÝóéìåò ÓõëëïãÝò: &os;: ÐëÞñåò mirror ôïõ äéáêïìéóôÞ FTP ôïõ &os;.
diff --git a/en_US.ISO8859-1/articles/contributing/article.xml b/en_US.ISO8859-1/articles/contributing/article.xml index c2061bfc69..da75befadc 100644 --- a/en_US.ISO8859-1/articles/contributing/article.xml +++ b/en_US.ISO8859-1/articles/contributing/article.xml @@ -1,552 +1,552 @@
Contributing to FreeBSD This article describes the different ways in which an individual or organization may contribute to the FreeBSD Project. Jordan Hubbard Contributed by &tm-attrib.freebsd; &tm-attrib.ieee; &tm-attrib.general; $FreeBSD$ $FreeBSD$ contributing So you want to contribute to FreeBSD? That is great! FreeBSD relies on the contributions of its user base to survive. Your contributions are not only appreciated, they are vital to FreeBSD's continued growth. Contrary to what some people might have you believe, you do not need to be a hot-shot programmer or a close personal friend of the FreeBSD core team to have your contributions accepted. A large and growing number of international contributors, of greatly varying ages and areas of technical expertise, develop FreeBSD. There is always more work to be done than there are people available to do it, and more help is always appreciated. The FreeBSD project is responsible for an entire operating system environment, rather than just a kernel or a few scattered utilities. As such, our TODO lists span a very wide range of tasks: from documentation, beta testing and presentation, to the system installer and highly specialized types of kernel development. People of any skill level, in almost any area, can almost certainly help the project. Commercial entities engaged in FreeBSD-related enterprises are also encouraged to contact us. Do you need a special extension to make your product work? You will find us receptive to your requests, given that they are not too outlandish. Are you working on a value-added product? Please let us know! We may be able to work cooperatively on some aspect of it. The free software world is challenging many existing assumptions about how software is developed, sold, and maintained, and we urge you to at least give it a second look. What Is Needed The following list of tasks and sub-projects represents something of an amalgam of various TODO lists and user requests. Ongoing Non-Programmer Tasks Many people who are involved in FreeBSD are not programmers. The Project includes documentation writers, Web designers, and support people. All that these people need to contribute is an investment of time and a willingness to learn. Read through the FAQ and Handbook periodically. If anything is badly explained, out of date or even just completely wrong, let us know. Even better, send us a fix (Docbook is not difficult to learn, but there is no objection to ASCII submissions). Help translate FreeBSD documentation into your native language. If documentation already exists for your language, you can help translate additional documents or verify that the translations are up-to-date. First take a look at the Translations FAQ in the FreeBSD Documentation Project Primer. You are not committing yourself to translating every single FreeBSD document by doing this — as a volunteer, you can do as much or as little translation as you desire. Once someone begins translating, others almost always join the effort. If you only have the time or energy to translate one part of the documentation, please translate the installation instructions. Read the &a.questions; and &ng.misc; occasionally (or even regularly). It can be very satisfying to share your expertise and help people solve their problems; sometimes you may even learn something new yourself! These forums can also be a source of ideas for things to work on. Ongoing Programmer Tasks Most of the tasks listed here require either a considerable investment of time, or an in-depth knowledge of the FreeBSD kernel, or both. However, there are also many useful tasks which are suitable for weekend hackers. If you run FreeBSD-CURRENT and have a good Internet connection, there is a machine current.FreeBSD.org which builds a full release once a day—every now and again, try to install the latest release from it and report any failures in the process. Read the &a.bugs;. There might be a problem you can comment constructively on or with patches you can test. Or you could even try to fix one of the problems yourself. If you know of any bug fixes which have been successfully applied to -CURRENT but have not been merged into -STABLE after a decent interval (normally a couple of weeks), send the committer a polite reminder. Move contributed software to src/contrib in the source tree. Make sure code in src/contrib is up to date. Build the source tree (or just part of it) with extra warnings enabled and clean up the warnings. Fix warnings for ports which do deprecated things like using gets() or including malloc.h. If you have contributed any ports and you had to make &os;-specific changes, send your patches back to the original authors (this will make your life easier when they bring out the next version). Get copies of formal standards like &posix;. You can get some links about these standards at the FreeBSD C99 & POSIX Standards Conformance Project web site. Compare FreeBSD's behavior to that required by the standard. If the behavior differs, particularly in subtle or obscure corners of the specification, send in a PR about it. If you are able, figure out how to fix it and include a patch in the PR. If you think the standard is wrong, ask the standards body to consider the question. Suggest further tasks for this list! Work through the PR Database problem reports database The FreeBSD PR list shows all the current active problem reports and requests for enhancement that have been submitted by FreeBSD users. The PR database includes both programmer and non-programmer tasks. Look through the open PRs, and see if anything there takes your interest. Some of these might be very simple tasks that just need an extra pair of eyes to look over them and confirm that the fix in the PR is a good one. Others might be much more complex, or might not even have a fix included at all. Start with the PRs that have not been assigned to anyone else. If a PR is assigned to someone else, but it looks like something you can handle, email the person it is assigned to and ask if you can work on it—they might already have a patch ready to be tested, or further ideas that you can discuss with them. Pick one of the items from the <quote>Ideas</quote> page The &os; list of projects and ideas for volunteers is also available for people willing to contribute to the &os; project. The list is being regularly updated and contains items for both programmers and non-programmers with information about each project. How to Contribute Contributions to the system generally fall into one or more of the following 5 categories: Bug Reports and General Commentary An idea or suggestion of general technical interest should be mailed to the &a.hackers;. Likewise, people with an interest in such things (and a tolerance for a high volume of mail!) may subscribe to the &a.hackers;. See The FreeBSD Handbook for more information about this and other mailing lists. If you find a bug or are submitting a specific change, please report it using the &man.send-pr.1; program or its WEB-based equivalent. Try to fill-in each field of the bug report. Unless they exceed 65KB, include any patches directly in the report. If the patch is suitable to be applied to the source tree put [PATCH] in the synopsis of the report. When including patches, do not use cut-and-paste because cut-and-paste turns tabs into spaces and makes them unusable. When patches are a lot larger than 20KB, consider compressing them (eg. with &man.gzip.1; or &man.bzip2.1;) and using &man.uuencode.1; to include their compressed form in your problem report. After filing a report, you should receive confirmation along with a tracking number. Keep this tracking number so that you can update us with details about the problem by sending mail to &a.bugfollowup;. Use the number as the message subject, e.g. "Re: kern/3377". Additional information for any bug report should be submitted this way. If you do not receive confirmation in a timely fashion (3 days to a week, depending on your email connection) or are, for some reason, unable to use the &man.send-pr.1; command, then you may ask someone to file it for you by sending mail to the &a.bugs;. See also this article on how to write good problem reports. Changes to the Documentation documentation submissions Changes to the documentation are overseen by the &a.doc;. Please look at the FreeBSD Documentation Project Primer for complete instructions. Send submissions and changes (even small ones are welcome!) using &man.send-pr.1; as described in Bug Reports and General Commentary. Changes to Existing Source Code FreeBSD-CURRENT An addition or change to the existing source code is a somewhat trickier affair and depends a lot on how far out of date you are with the current state of FreeBSD development. There is a special on-going release of FreeBSD known as FreeBSD-CURRENT which is made available in a variety of ways for the convenience of developers working actively on the system. See The FreeBSD Handbook for more information about getting and using FreeBSD-CURRENT. Working from older sources unfortunately means that your changes may sometimes be too obsolete or too divergent for easy re-integration into FreeBSD. Chances of this can be minimized somewhat by subscribing to the &a.announce; and the &a.current; lists, where discussions on the current state of the system take place. Assuming that you can manage to secure fairly up-to-date sources to base your changes on, the next step is to produce a set of diffs to send to the FreeBSD maintainers. This is done with the &man.diff.1; command. The preferred &man.diff.1; format for submitting patches is the unified output format generated by diff -u. diff &prompt.user; diff -u oldfile newfile or &prompt.user; diff -u -r -N olddir newdir would generate a set of unified diffs for the given source file or directory hierarchy. See &man.diff.1; for more information. Once you have a set of diffs (which you may test with the &man.patch.1; command), you should submit them for inclusion with FreeBSD. Use the &man.send-pr.1; program as described in Bug Reports and General Commentary. Do not just send the diffs to the &a.hackers; or they will get lost! We greatly appreciate your submission (this is a volunteer project!); because we are busy, we may not be able to address it immediately, but it will remain in the PR database until we do. Indicate your submission by including [PATCH] in the synopsis of the report. uuencode If you feel it appropriate (e.g. you have added, deleted, or renamed files), bundle your changes into a tar file and run the &man.uuencode.1; program on it. Archives created with &man.shar.1; are also welcome. If your change is of a potentially sensitive nature, such as if you are unsure of copyright issues governing its further distribution then you should send it to &a.core; directly rather than submitting it with &man.send-pr.1;. The &a.core; reaches a much smaller group of people who do much of the day-to-day work on FreeBSD. Note that this group is also very busy and so you should only send mail to them where it is truly necessary. Please refer to &man.intro.9; and &man.style.9; for some information on coding style. We would appreciate it if you were at least aware of this information before submitting code. New Code or Major Value-Added Packages In the case of a significant contribution of a large body work, or the addition of an important new feature to FreeBSD, it becomes almost always necessary to either send changes as uuencoded tar files or upload them to a web or FTP site for other people to access. If you do not have access to a web or FTP site, ask on an appropriate FreeBSD mailing list for someone to host the changes for you. When working with large amounts of code, the touchy subject of copyrights also invariably comes up. Acceptable copyrights for code included in FreeBSD are: The BSD copyrightBSD copyright. This copyright is most preferred due to its no strings attached nature and general attractiveness to commercial enterprises. Far from discouraging such commercial use, the FreeBSD Project actively encourages such participation by commercial interests who might eventually be inclined to invest something of their own into FreeBSD. GPL GNU General Public License GNU General Public License The GNU General Public License, or GPL. This license is not quite as popular with us due to the amount of extra effort demanded of anyone using the code for commercial purposes, but given the sheer quantity of GPL'd code we currently require (compiler, assembler, text formatter, etc) it would be silly to refuse additional contributions under this license. Code under the GPL also goes into a different part of the tree, that being /sys/gnu or /usr/src/gnu, and is therefore easily identifiable to anyone for whom the GPL presents a problem. Contributions coming under any other type of copyright must be carefully reviewed before their inclusion into FreeBSD will be considered. Contributions for which particularly restrictive commercial copyrights apply are generally rejected, though the authors are always encouraged to make such changes available through their own channels. To place a BSD-style copyright on your work, include the following text at the very beginning of every source code file you wish to protect, replacing the text between the %% with the appropriate information: Copyright (c) %%proper_years_here%% %%your_name_here%%, %%your_state%% %%your_zip%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $&os;$ For your convenience, a copy of this text can be found in /usr/share/examples/etc/bsd-style-copyright. Money, Hardware or Internet Access We are always very happy to accept donations to further the cause of the FreeBSD Project and, in a volunteer effort like ours, a little can go a long way! Donations of hardware are also very important to expanding our list of supported peripherals since we generally lack the funds to buy such items ourselves. - - <anchor id="donations"/>Donating Funds + + Donating Funds The FreeBSD Foundation is a non-profit, tax-exempt foundation established to further the goals of the FreeBSD Project. As a 501(c)3 entity, the Foundation is generally exempt from US federal income tax as well as Colorado State income tax. Donations to a tax-exempt entity are often deductible from taxable federal income. Donations may be sent in check form to:
The FreeBSD Foundation P.O. Box 20247, Boulder, CO 80308 USA
The FreeBSD Foundation is now able to accept donations through the web with PayPal. To place a donation, please visit the Foundation web site. More information about the FreeBSD Foundation can be found in The FreeBSD Foundation -- an Introduction. To contact the Foundation by email, write to bod@FreeBSDFoundation.org.
Donating Hardware donations The FreeBSD Project happily accepts donations of hardware that it can find good use for. If you are interested in donating hardware, please contact the Donations Liaison Office.
diff --git a/en_US.ISO8859-1/books/fdp-primer/docbook-markup/chapter.xml b/en_US.ISO8859-1/books/fdp-primer/docbook-markup/chapter.xml index 1fea4515bc..0b21d3f964 100644 --- a/en_US.ISO8859-1/books/fdp-primer/docbook-markup/chapter.xml +++ b/en_US.ISO8859-1/books/fdp-primer/docbook-markup/chapter.xml @@ -1,2641 +1,2629 @@ DocBook Markup Introduction This chapter is an introduction to DocBook as it is used for &os; documentation. DocBook is a large and complex markup system, but the subset described here covers the parts that are most widely used for &os; documentation. While a moderate subset is covered, it is impossible to anticipate every situation. Please post questions that this document does not answer to the &a.doc;. DocBook was originally developed by HaL Computer Systems and O'Reilly & Associates to be a Document Type Definition (DTD) for writing technical documentation A short history can be found under http://www.oasis-open.org/docbook/intro.shtml#d0e41.. Since 1998 it is maintained by the DocBook Technical Committee. As such, and unlike LinuxDoc and XHTML, DocBook is very heavily oriented towards markup that describes what something is, rather than describing how it should be presented. The DocBook DTD is available from the Ports Collection in the textproc/docbook-xml-450 port. It is automatically installed as part of the textproc/docproj port. Formal Versus Informal Some elements may exist in two forms, formal and informal. Typically, the formal version of the element will consist of a title followed by the informal version of the element. The informal version will not have a title. Inline Versus Block In the remainder of this document, when describing elements, inline means that the element can occur within a block element, and does not cause a line break. A block element, by comparison, will cause a line break (and other processing) when it is encountered. &os; Extensions The &os; Documentation Project has extended the DocBook DTD with additional elements and entities. These additions serve to make some of the markup easier or more precise. Throughout the rest of this document, the term DocBook is used to mean the &os;-extended DocBook DTD. Most of these extensions are not unique to &os;, it was just felt that they were useful enhancements for this particular project. Should anyone from any of the other *nix camps (NetBSD, OpenBSD, Linux, …) be interested in collaborating on a standard DocBook extension set, please contact &a.doceng;. &os; Elements The additional &os; elements are not (currently) in the Ports Collection. They are stored in the &os; Subversion tree, as head/share/xml/freebsd.dtd. &os;-specific elements used in the examples below are clearly marked. &os; Entities This table shows some of the most useful entities available in the FDP. For a complete list, see the *.ent files in doc/share/xml. &os; Name Entities - - &os; &os; &os.stable; &os.stable; &os.current; &os.current; Manual Page Entities - - &man.ls.1; &man.ls.1; Usage: &man.ls.1; is the manual page for commandlscommand. &man.cp.1; &man.cp.1; Usage: The manual page for commandcpcommand is &man.cp.1;. &man.command.sectionnumber; link to command manual page in section sectionnumber Entities are defined for all the &os; manual pages. &os; Mailing List Entities - - &a.doc; &a.doc; Usage: A link to the &a.doc;. &a.questions; &a.questions; Usage: A link to the &a.questions;. &a.listname; link to listname Entities are defined for all the &os; mailing lists. &os; Document Link Entities - - &url.books.handbook; &url.books.handbook; Usage: A link to the ulink url="&url.books.handbook;/advanced-networking.html"Advanced Networkingulink chapter of the Handbook. &url.books.bookname; relative path to bookname Entities are defined for all the &os; books. &url.articles.committers-guide; &url.articles.committers-guide; Usage: A link to the ulink url="&url.articles.committers-guide;"Committer's Guideulink article. &url.articles.articlename; relative path to articlename Entities are defined for all the &os; articles. Other Operating System Name Entities - - &linux; &linux; The &linux; operating system. &unix; &unix; The &unix; operating system. &windows; &windows; The &windows; operating system. Miscellaneous Entities - - &prompt.root; &prompt.root; The root user prompt. &prompt.user; &prompt.user; A prompt for an unprivileged user. &postscript; &postscript; The &postscript; programming language. &tex; &tex; The &tex; typesetting language. &xorg; &xorg; The &xorg; open source X Window System. Formal Public Identifier (FPI) In compliance with the DocBook guidelines for writing FPIs for DocBook customizations, the FPI for the &os; extended DocBook DTD is: PUBLIC "-//FreeBSD//DTD DocBook V4.2-Based Extension//EN" Document Structure DocBook allows structuring documentation in several ways. The &os; Documentation Project uses two primary types of DocBook document: the book and the article. Books are organized into chapters. This is a mandatory requirement. There may be parts between the book and the chapter to provide another layer of organization. For example, the Handbook is arranged in this way. A chapter may (or may not) contain one or more sections. These are indicated with the sect1 element. If a section contains another section then use the sect2 element, and so on, up to sect5. Chapters and sections contain the remainder of the content. An article is simpler than a book, and does not use chapters. Instead, the content of an article is organized into one or more sections, using the same sect1 (and sect2 and so on) elements that are used in books. The nature of the document being written should be used to determine whether it is best marked up as a book or an article. Articles are well suited to information that does not need to be broken down into several chapters, and that is, relatively speaking, quite short, at up to 20-25 pages of content. Books are best suited to information that can be broken up into several chapters, possibly with appendices and similar content as well. The &os; tutorials are all marked up as articles, while this document, the FreeBSD FAQ, and the FreeBSD Handbook are all marked up as books, for example. Starting a Book The content of a book is contained within the book element. As well as containing structural markup, this element can contain elements that include additional information about the book. This is either meta-information, used for reference purposes, or additional content used to produce a title page. This additional information is contained within bookinfo. Boilerplate <sgmltag>book</sgmltag> with <sgmltag>bookinfo</sgmltag> book bookinfo titleYour Title Heretitle author firstnameYour first namefirstname surnameYour surnamesurname affiliation addressemailYour email addressemailaddress affiliation author copyright year1998year holder role="mailto:your email address"Your nameholder copyright releaseinfo$&os;$releaseinfo abstract paraInclude an abstract of the book's contents here.para abstract bookinfobook Starting an Article The content of the article is contained within the article element. As well as containing structural markup, this element can contain elements that include additional information about the article. This is either meta-information, used for reference purposes, or additional content used to produce a title page. This additional information is contained within articleinfo. Boilerplate <sgmltag>article</sgmltag> with <sgmltag>articleinfo</sgmltag> article articleinfo titleYour title heretitle author firstnameYour first namefirstname surnameYour surnamesurname affiliation addressemailYour email addressemailaddress affiliation author copyright year1998year holder role="mailto:your email address"Your nameholder copyright releaseinfo$&os;$releaseinfo abstract paraInclude an abstract of the article's contents here.para abstract articleinfoarticle Indicating Chapters Use chapter to mark up your chapters. Each chapter has a mandatory title. Articles do not contain chapters, they are reserved for books. A Simple Chapter chapter titleThe Chapter's Titletitle ... chapter A chapter cannot be empty; it must contain elements in addition to title. If you need to include an empty chapter then just use an empty paragraph. Empty Chapters chapter titleThis is An Empty Chaptertitle parapara chapter Sections Below Chapters In books, chapters may (but do not need to) be broken up into sections, subsections, and so on. In articles, sections are the main structural element, and each article must contain at least one section. Use the sectn element. The n indicates the section number, which identifies the section level. The first sectn is sect1. You can have one or more of these in a chapter. They can contain one or more sect2 elements, and so on, down to sect5. Sections in Chapters chapter titleA Sample Chaptertitle paraSome text in the chapter.para sect1 titleFirst Sectiontitlesect1 sect1 titleSecond Sectiontitle sect2 titleFirst Sub-Sectiontitle sect3 titleFirst Sub-Sub-Sectiontitlesect3 sect2 sect2 titleSecond Sub-Section (1.2.2)titlesect2 sect1 chapter Section numbers are automatically generated and prepended to titles when the document is rendered to an output format. The generated section numbers and titles from the example above will be: 1.1. First Section 1.2. Second Section 1.2.1. First Sub-Section 1.2.1.1. First Sub-Sub-Section 1.2.2. Second Sub-Section Subdividing Using <sgmltag>part</sgmltag> Elements parts introduce another level of organization between book and chapter with one or more parts. This cannot be done in an article. part titleIntroductiontitle chapter titleOverviewtitle ... chapter chapter titleWhat is FreeBSD?title ... chapter chapter titleHistorytitle ... chapter part Block Elements Paragraphs DocBook supports three types of paragraphs: formalpara, para, and simpara. Almost all paragraphs in &os; documentation use para. formalpara includes a title element, and simpara disallows some elements from within para. Stick with para. <sgmltag>para</sgmltag> Usage: paraThis is a paragraph. It can contain just about any other element.para Appearance: This is a paragraph. It can contain just about any other element. Block Quotations A block quotation is an extended quotation from another document that should not appear within the current paragraph. These are rarely needed. Blockquotes can optionally contain a title and an attribution (or they can be left untitled and unattributed). <sgmltag>blockquote</sgmltag> Usage: paraA small excerpt from the US Constitution:para blockquote titlePreamble to the Constitution of the United Statestitle attributionCopied from a web site somewhereattribution paraWe the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare, and secure the Blessings of Liberty to ourselves and our Posterity, do ordain and establish this Constitution for the United States of America.para blockquote Appearance: A small excerpt from the US Constitution:
Preamble to the Constitution of the United States Copied from a web site somewhere We the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare, and secure the Blessings of Liberty to ourselves and our Posterity, do ordain and establish this Constitution for the United States of America.
Tips, Notes, Warnings, Cautions, Important Information and Sidebars Extra information may need to be separated from the main body of the text. Typically this is meta information of which the user should be aware. Depending on the nature of the information, one of tip, note, warning, caution, and important should be used. Alternatively, if the information is related to the main text but is not one of the above, use sidebar. The circumstances in which to choose one of these elements over another is loosely defined by the DocBook documentation, which suggests: A Note is for information that should be heeded by all readers. An Important element is a variation on Note. A Caution is for information regarding possible data loss or software damage. A Warning is for information regarding possible hardware damage or injury to life or limb. <sgmltag>warning</sgmltag> Usage: warning paraInstalling FreeBSD may make you want to delete Windows from your hard disk.para warning Appearance: Installing FreeBSD may make you want to delete Windows from your hard disk. Lists and Procedures Information often needs to be presented as lists, or as a number of steps that must be carried out in order to accomplish a particular goal. To do this, use itemizedlist, orderedlist, or procedureThere are other types of list element in DocBook, but we are not concerned with those at the moment. itemizedlist and orderedlist are similar to their counterparts in HTML, ul and ol. Each one consists of one or more listitem elements, and each listitem contains one or more block elements. The listitem elements are analogous to HTML's li tags. However, unlike HTML, they are required. procedure is slightly different. It consists of steps, which may in turn consists of more steps or substeps. Each step contains block elements. <sgmltag>itemizedlist</sgmltag>, <sgmltag>orderedlist</sgmltag>, and <sgmltag>procedure</sgmltag> Usage: itemizedlist listitem paraThis is the first itemized item.para listitem listitem paraThis is the second itemized item.para listitem itemizedlist orderedlist listitem paraThis is the first ordered item.para listitem listitem paraThis is the second ordered item.para listitem orderedlist procedure step paraDo this.para step step paraThen do this.para step step paraAnd now do this.para step procedure Appearance: This is the first itemized item. This is the second itemized item. This is the first ordered item. This is the second ordered item. Do this. Then do this. And now do this. Showing File Samples Fragments of a file (or perhaps a complete file) are shown by wrapping them in the programlisting element. White space and line breaks within programlisting are significant. In particular, this means that the opening tag should appear on the same line as the first line of the output, and the closing tag should appear on the same line as the last line of the output, otherwise spurious blank lines may be included. <sgmltag>programlisting</sgmltag> Usage: paraWhen finished, the program will look like this:para programlisting#include &lt;stdio.h&gt; int main(void) { printf("hello, world\n"); }programlisting Notice how the angle brackets in the #include line need to be referenced by their entities instead of being included literally. Appearance: When finished, the program will look like this: #include <stdio.h> int main(void) { printf("hello, world\n"); } Callouts A callout is a visual marker for referring to a piece of text or specific position within an example. Callouts are marked with the co element. Each element must have a unique id assigned to it. After the example, include a calloutlist that describes each callout. <sgmltag>co</sgmltag> and <sgmltag>calloutlist</sgmltag> paraWhen finished, the program will look like this:para programlisting#include &lt;stdio.h&gt; co id="co-ex-include" int co id="co-ex-return" main(void) { printf("hello, world\n"); co id="co-ex-printf" }programlisting calloutlist callout arearefs="co-ex-include" paraIncludes the standard IO header file.para callout callout arearefs="co-ex-return" paraSpecifies that functionmain()function returns an int.para callout callout arearefs="co-ex-printf" paraThe functionprintf()function call that writes literalhello, worldliteral to standard output.para callout calloutlist Appearance: When finished, the program will look like this: #include <stdio.h> int main(void) { printf("hello, world\n"); } Includes the standard IO header file. Specifies that main() returns an int. The printf() call that writes hello, world to standard output. Tables Unlike HTML, DocBook does not need tables for layout purposes, as the stylesheet handles those issues. Instead, just use tables for marking up tabular data. In general terms (and see the DocBook documentation for more detail) a table (which can be either formal or informal) consists of a table element. This contains at least one tgroup element, which specifies (as an attribute) the number of columns in this table group. Within the tablegroup there is one thead element, which contains elements for the table headings (column headings), and one tbody which contains the body of the table. Both tgroup and thead contain row elements, which in turn contain entry elements. Each entry element specifies one cell in the table. <sgmltag>informaltable</sgmltag> Usage: informaltable pgwide="1" tgroup cols="2" thead row entryThis is Column Head 1entry entryThis is Column Head 2entry row thead tbody row entryRow 1, column 1entry entryRow 1, column 2entry row row entryRow 2, column 1entry entryRow 2, column 2entry row tbody tgroup informaltable Appearance: This is Column Head 1 This is Column Head 2 Row 1, column 1 Row 1, column 2 Row 2, column 1 Row 2, column 2 Always use the pgwide attribute with a value of 1 with the informaltable element. A bug in Internet Explorer can cause the table to render incorrectly if this is omitted. Table borders can be suppressed by setting the frame attribute to none in the informaltable element. For example, informaltable frame="none". Tables Where <literal>frame="none"</literal> Appearance: This is Column Head 1 This is Column Head 2 Row 1, column 1 Row 1, column 2 Row 2, column 1 Row 2, column 2 Examples for the User to Follow Examples for the user to follow are often necessary. Typically, these will consist of dialogs with the computer; the user types in a command, the user gets a response back, the user types another command, and so on. A number of distinct elements and entities come into play here. screen Everything the user sees in this example will be on the computer screen, so the next element is screen. Within screen, white space is significant. prompt, &prompt.root; and &prompt.user; Some of the things the user will be seeing on the screen are prompts from the computer (either from the operating system, command shell, or application). These should be marked up using prompt. As a special case, the two shell prompts for the normal user and the root user have been provided as entities. To indicate the user is at a shell prompt, use one of &prompt.root; and &prompt.user; as necessary. They do not need to be inside prompt. &prompt.root; and &prompt.user; are &os; extensions to DocBook, and are not part of the original DTD. userinput When displaying text that the user should type in, wrap it in userinput tags. It will be displayed differently than system output text. <sgmltag>screen</sgmltag>, <sgmltag>prompt</sgmltag>, and <sgmltag>userinput</sgmltag> Usage: screen&prompt.user; userinputls -1userinput foo1 foo2 foo3 &prompt.user; userinputls -1 | grep foo2userinput foo2 &prompt.user; userinputsuuserinput promptPassword: prompt &prompt.root; userinputcat foo2userinput This is the file called 'foo2'screen Appearance: &prompt.user; ls -1 foo1 foo2 foo3 &prompt.user; ls -1 | grep foo2 foo2 &prompt.user; su Password: &prompt.root; cat foo2 This is the file called 'foo2' Even though we are displaying the contents of the file foo2, it is not marked up as programlisting. Reserve programlisting for showing fragments of files outside the context of user actions.
In-line Elements Emphasizing Information To emphasize a particular word or phrase, use emphasis. This may be presented as italic, or bold, or might be spoken differently with a text-to-speech system. There is no way to change the presentation of the emphasis within the document, no equivalent of HTML's b and i. If the information being presented is important, then consider presenting it in important rather than emphasis. <sgmltag>emphasis</sgmltag> Usage: paraFreeBSD is without doubt emphasistheemphasis premiere &unix;-like operating system for the Intel architecture.para Appearance: FreeBSD is without doubt the premiere &unix;-like operating system for the Intel architecture. Acronyms Many computer terms are acronyms, words formed from the first letter of each word in a phrase. Acronyms are marked up into acronym elements. It is helpful to the reader when an acronym is defined on the first use, as shown in the example below. Acronyms Usage: paraRequest For Comments (acronymRFCacronym) 1149 defined the use of avian carriers for transmission of Internet Protocol (acronymIPacronym) data. The quantity of acronymIPacronym data currently transmitted in that manner is unknown.para Appearance: Request For Comments (RFC) 1149 defined the use of avian carriers for transmission of Internet Protocol (IP) data. The quantity of IP data currently transmitted in that manner is unknown. Quotations To quote text from another document or source, or to denote a phrase that is used figuratively, use quote. Most of the markup tags available for normal text are also available from within a quote. Quotations Usage: paraHowever, make sure that the search does not go beyond the quoteboundary between local and public administrationquote, as acronymRFCacronym 1535 calls it.para Appearance: However, make sure that the search does not go beyond the boundary between local and public administration, as RFC 1535 calls it. Keys, Mouse Buttons, and Combinations To refer to a specific key on the keyboard, use keycap. To refer to a mouse button, use mousebutton. And to refer to combinations of key presses or mouse clicks, wrap them all in keycombo. keycombo has an attribute called action, which may be one of click, double-click, other, press, seq, or simul. The last two values denote whether the keys or buttons should be pressed in sequence, or simultaneously. The stylesheets automatically add any connecting symbols, such as +, between the key names, when wrapped in keycombo. Keys, Mouse Buttons, and Combinations Usage: paraTo switch to the second virtual terminal, press keycombo action="simul"keycapAltkeycap keycapF1keycapkeycombo.para paraTo exit commandvicommand without saving changes, type keycombo action="seq"keycapEsckeycapkeycap:keycap keycapqkeycapkeycap!keycapkeycombo.para paraMy window manager is configured so that keycombo action="simul"keycapAltkeycap mousebuttonrightmousebutton keycombo mouse button is used to move windows.para Appearance: To switch to the second virtual terminal, press Alt F1. To exit vi without saving changes, type Esc : q !. My window manager is configured so that Alt right mouse button is used to move windows. Applications, Commands, Options, and Cites Both applications and commands are frequently referred to when writing documentation. The distinction between them is that an application is the name of a program or suite of programs that fulfill a particular task. A command is the filename of a program that the user can type and run at a command line. It is often necessary to show some of the options that a command might take. Finally, it is often useful to list a command with its manual section number, in the command(number) format so common in Unix manuals. Mark up application names with application. To list a command with its manual section number (which should be most of the time) the DocBook element is citerefentry. This will contain a further two elements, refentrytitle and manvolnum. The content of refentrytitle is the name of the command, and the content of manvolnum is the manual page section. This can be cumbersome to write, and so a series of general entities have been created to make this easier. Each entity takes the form &man.manual-page.manual-section;. The file that contains these entities is in doc/share/xml/man-refs.ent, and can be referred to using this FPI: PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN" Therefore, the introduction to &os; documentation will usually include this: <!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ <!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man; … ]> Use command when to include a command name in-line but present it as something the user should type in. Use option to mark up the options which will be passed to a command. When referring to the same command multiple times in close proximity, it is preferred to use the &man.command.section; notation to markup the first reference and use command to markup subsequent references. This makes the generated output, especially HTML, appear visually better. Applications, Commands, and Options Usage: paraapplicationSendmailapplication is the most widely used Unix mail application.para paraapplicationSendmailapplication includes the citerefentry refentrytitlesendmailrefentrytitle manvolnum8manvolnum citerefentry, &man.mailq.1;, and &man.newaliases.1; programs.para paraOne of the command line parameters to citerefentry refentrytitlesendmailrefentrytitle manvolnum8manvolnum citerefentry, option-bpoption, will display the current status of messages in the mail queue. Check this on the command line by running commandsendmail -bpcommand.para Appearance: Sendmail is the most widely used Unix mail application. Sendmail includes the sendmail 8 , &man.mailq.1;, and &man.newaliases.1; programs. One of the command line parameters to sendmail 8 , , will display the current status of messages in the mail queue. Check this on the command line by running sendmail -bp. Notice how the &man.command.section; notation is easier to follow. Files, Directories, Extensions To refer to the name of a file, a directory, or a file extension, use filename. <sgmltag>filename</sgmltag> Usage: paraThe XML source for the Handbook in English is found in filename class="directory"/usr/doc/en_US.ISO8859-1/books/handbook/filename. The first file is called filenamebook.xmlfilename in that directory. There is also a filenameMakefilefilename and a number of files with a filename.entfilename extension.para Appearance: The XML source for the Handbook in English can be found in /usr/doc/en/handbook/. The first file is called handbook.xml in that directory. There is also a Makefile and a number of files with a .ent extension. The Name of Ports &os; Extension These elements are part of the &os; extension to DocBook, and do not exist in the original DocBook DTD. To include the name of a program from the &os; Ports Collection in the document, use the filename tag with the role attribute set to package. Since ports can be installed in any number of locations, only include the category and the port name; do not include /usr/ports. <sgmltag>filename</sgmltag> Tag with <literal>package</literal> Role Usage: paraInstall the filename role="package"net/wiresharkfilename port to view network traffic.para Appearance: Install the net/wireshark port to view network traffic. Devices &os; Extension These elements are part of the &os; extension to DocBook, and do not exist in the original DocBook DTD. There are two names for devices: the device name as it appears in /dev, or the name of the device as it appears in the kernel. For this latter course, use devicename. Sometimes there is no choice. Some devices, such as network cards, do not have entries in /dev, or the entries are markedly different from their kernel device names. <sgmltag>devicename</sgmltag> Usage: paradevicenamesiodevicename is used for serial communication in FreeBSD. devicenamesiodevicename manifests through a number of entries in filename/devfilename, including filename/dev/ttyd0filename and filename/dev/cuaa0filename.para paraBy contrast, network devices such as devicenameed0devicename do not appear in filename/devfilename.para paraIn MS-DOS, the first floppy drive is referred to as devicenamea:devicename. In FreeBSD it is filename/dev/fd0filename.para Appearance: sio is used for serial communication in FreeBSD. sio manifests through a number of entries in /dev, including /dev/ttyd0 and /dev/cuaa0. By contrast, network devices such as ed0 do not appear in /dev. In MS-DOS, the first floppy drive is referred to as a:. In FreeBSD it is /dev/fd0. Hosts, Domains, IP Addresses, and So Forth &os; Extension These elements are part of the &os; extension to DocBook, and do not exist in the original DocBook DTD. Identification information for networked computers (hosts) can be marked up in several ways, depending on the nature of the information. All of them use hostid as the element, with the role attribute selecting the type of the marked up information. No role attribute, or role="hostname" With no role attribute (i.e., hostid.../hostid) the marked up information is the simple hostname, such as freefall or wcarchive. The hostname can be explicitly specified with role="hostname". role="domainname" The text is a domain name, such as FreeBSD.org or ngo.org.uk. There is no hostname component. role="fqdn" The text is a Fully Qualified Domain Name, with both hostname and domain name parts. role="ipaddr" The text is an IP address, probably expressed as a dotted quad. role="ip6addr" The text is an IPv6 address. role="netmask" The text is a network mask, which might be expressed as a dotted quad, a hexadecimal string, or as a / followed by a number (CIDR notation). role="mac" The text is an Ethernet MAC address, expressed as a series of 2 digit hexadecimal numbers separated by colons. <sgmltag>hostid</sgmltag> and Roles Usage: paraThe local machine can always be referred to by the name hostidlocalhosthostid, which will have the IP address hostid role="ipaddr"127.0.0.1hostid.para paraThe hostid role="domainname"FreeBSD.orghostid domain contains a number of different hosts, including hostid role="fqdn"freefall.FreeBSD.orghostid and hostid role="fqdn"bento.FreeBSD.orghostid.para paraWhen adding an acronymIPacronym alias to an interface (using commandifconfigcommand) emphasisalwaysemphasis use a netmask of hostid role="netmask"255.255.255.255hostid (which can also be expressed as hostid role="netmask"0xffffffffhostid).para paraThe acronymMACacronym address uniquely identifies every network card in existence. A typical acronymMACacronym address looks like hostid role="mac"08:00:20:87:ef:d0hostid.para Appearance: The local machine can always be referred to by the name localhost, which will have the IP address 127.0.0.1. The FreeBSD.org domain contains a number of different hosts, including freefall.FreeBSD.org and bento.FreeBSD.org. When adding an IP alias to an interface (using ifconfig) always use a netmask of 255.255.255.255 (which can also be expressed as 0xffffffff). The MAC address uniquely identifies every network card in existence. A typical MAC address looks like 08:00:20:87:ef:d0. Usernames &os; Extension These elements are part of the &os; extension to DocBook, and do not exist in the original DocBook DTD. To refer to a specific username, such as root or bin, use username. <sgmltag>username</sgmltag> Usage: paraTo carry out most system administration functions requires logging in as usernamerootusername.para Appearance: To carry out most system administration functions requires logging in as root. Email Addresses Email addresses are marked up as email elements. In the HTML output format, the wrapped text becomes a hyperlink to the email address. Other output formats that support hyperlinks may also make the email address into a link. <sgmltag>email</sgmltag> with a Hyperlink Usage: paraAn email address that does not actually exist, like emailnotreal@example.comemail, can be used as an example.para Appearance: An email address that does not actually exist, like notreal@example.com, can be used as an example. A &os;-specific extension allows setting the role attribute to nolink to prevent the creation of the hyperlink to the email address. <sgmltag>email</sgmltag> Without a Hyperlink Usage: paraSometimes a link to an email address like email role="nolink"notreal@example.comemail is not desired.para Appearance: Sometimes a link to an email address like notreal@example.com is not desired. Describing <filename>Makefile</filename>s &os; Extension These elements are part of the &os; extension to DocBook, and do not exist in the original DocBook DTD. Two elements exist to describe parts of Makefiles, maketarget and makevar. maketarget identifies a build target exported by a Makefile that can be given as a parameter to make. makevar identifies a variable that can be set (in the environment, on the command line with make, or within the Makefile) to influence the process. <sgmltag>maketarget</sgmltag> and <sgmltag>makevar</sgmltag> Usage: paraTwo common targets in a filenameMakefilefilename are maketargetallmaketarget and maketargetcleanmaketarget.para paraTypically, invoking maketargetallmaketarget will rebuild the application, and invoking maketargetcleanmaketarget will remove the temporary files (filename.ofilename for example) created by the build process.para paramaketargetcleanmaketarget may be controlled by a number of variables, including makevarCLOBBERmakevar and makevarRECURSEmakevar.para Appearance: Two common targets in a Makefile are all and clean. Typically, invoking all will rebuild the application, and invoking clean will remove the temporary files (.o for example) created by the build process. clean may be controlled by a number of variables, including CLOBBER and RECURSE. Literal Text Literal text, or text which should be entered verbatim, is often needed in documentation. This is text that is excerpted from another file, or which should be copied exactly as shown from the documentation into another file. Some of the time, programlisting will be sufficient to denote this text. But programlisting is not always appropriate, particularly when you want to include a portion of a file in-line with the rest of the paragraph. On these occasions, use literal. <sgmltag>literal</sgmltag> Usage: paraThe literalmaxusers 10literal line in the kernel configuration file determines the size of many system tables, and is a rough guide to how many simultaneous logins the system will support.para Appearance: The maxusers 10 line in the kernel configuration file determines the size of many system tables, and is a rough guide to how many simultaneous logins the system will support. Showing Items That the User <emphasis>Must</emphasis> Fill In There will often be times when the user is shown what to do, or referred to a file or command line, but cannot simply copy the example provided. Instead, they must supply some information themselves. replaceable is designed for this eventuality. Use it inside other elements to indicate parts of that element's content that the user must replace. <sgmltag>replaceable</sgmltag> Usage: screen&prompt.user; userinputman replaceablecommandreplaceableuserinputscreen Appearance: &prompt.user; man command replaceable can be used in many different elements, including literal. This example also shows that replaceable should only be wrapped around the content that the user is meant to provide. The other content should be left alone. Usage: paraThe literalmaxusers replaceablenreplaceableliteral line in the kernel configuration file determines the size of many system tables, and is a rough guide to how many simultaneous logins the system will support.para paraFor a desktop workstation, literal32literal is a good value for replaceablenreplaceable.para Appearance: The maxusers n line in the kernel configuration file determines the size of many system tables, and is a rough guide to how many simultaneous logins the system will support. For a desktop workstation, 32 is a good value for n. Showing <acronym>GUI</acronym> Buttons Buttons presented by a graphical user interface are marked with guibutton. To make the text look more like a graphical button, brackets and non-breaking spaces are added surrounding the text. <sgmltag>guibutton</sgmltag> Usage: paraEdit the file, then click guibutton[&nbsp;Save&nbsp;]guibutton to save the changes.para Appearance: Edit the file, then click [ Save ] to save the changes. Quoting System Errors System errors generated by &os; are marked with errorname. This indicates the exact error that appears. <sgmltag>errorname</sgmltag> Usage: screenerrornamePanic: cannot mount rooterrornamescreen Appearance: Panic: cannot mount root Images Image support in the documentation is somewhat experimental. The mechanisms described here are unlikely to change, but that is not guaranteed. To provide conversion between different image formats, the graphics/ImageMagick port must be installed. This port is not included in the textproc/docproj meta port, and must be installed separately. A good example of the use of images is the doc/en_US.ISO8859-1/articles/vm-design/ document. Examine the files in that directory to see how these elements are used together. Build different output formats to see how the format determines what images are shown in the rendered document. Image Formats Two image formats are currently supported. The type of image determines which format to use. Images that are primarily vector based, such as network diagrams, time lines, and similar, should be in EPS (Encapsulated Postscript) format. These images have a .eps extension. For bitmaps, such as screen captures, use the PNG (Portable Network Graphic) format. These images have the .png extension. These are the only formats in which images should be committed to the documentation repository. Use the appropriate format for each image. Documentation will often have a mix of EPS and PNG images. The Makefiles ensure that the correct format image is chosen depending on the output format used. Do not commit the same image to the repository in two different formats. The Documentation Project may eventually switch to using the SVG (Scalable Vector Graphic) format for vector images. However, the current state of SVG capable editing tools makes this impractical. Image File Locations Image files can be stored in one of several locations, depending on the document and image: In the same directory as the document itself, usually done for articles and small books that keep all their files in a single directory. In a subdirectory of the main document. Typically done when a large book uses separate subdirectories to organize individual chapters. When images are stored in a subdirectory of the main document directory, the subdirectory name must be included in their paths in the Makefile and the imagedata element. In a subdirectory of doc/share/images named after the document. For example, images for the Handbook are stored in doc/share/images/books/handbook. Images that work for multiple translations are stored in this upper level of the documentation file tree. Generally, these are images that can be used unchanged in non-English translations of the document. Image Markup Images are included as part of a mediaobject. The mediaobject can contain other, more specific objects. We are concerned with two, the imageobject and the textobject. Include one imageobject, and two textobject elements. The imageobject will point to the name of the image file without the extension. The textobject elements contain information that will be presented to the user as well as, or instead of, the image itself. Text elements are shown to the reader in several situations. When the document is viewed in HTML, text elements are shown while the image is loading, or if the mouse pointer is hovered over the image, or if a text-only browser is being used. In formats like plain text where graphics are not possible, the text elements are shown instead of the graphical ones. This example shows how to include an image called fig1.png in a document. The image is a rectangle with an A inside it: mediaobject imageobject imagedata fileref="fig1" imageobject textobject literallayout class="monospaced"+---------------+ | A | +---------------+literallayout textobject textobject phraseA picturephrase textobject mediaobject Include an imagedata element inside the imageobject element. The fileref attribute should contain the filename of the image to include, without the extension. The stylesheets will work out which extension should be added to the filename automatically. The first textobject contains a literallayout element, where the class attribute is set to monospaced. This is an opportunity to demonstrate ASCII art skills. This content will be used if the document is converted to plain text. Notice how the first and last lines of the content of the literallayout element butt up next to the element's tags. This ensures no extraneous white space is included. The second textobject contains a single phrase element. The contents of this phrase will become the alt attribute for the image when this document is converted to HTML. Image <filename>Makefile</filename> Entries Images must be listed in the Makefile in the IMAGES variable. This variable must contain the names of all the source images. For example, if there are three figures, fig1.eps, fig2.png, fig3.png, then the Makefile should have lines like this in it. … IMAGES= fig1.eps fig2.png fig3.png … or … IMAGES= fig1.eps IMAGES+= fig2.png IMAGES+= fig3.png … Again, the Makefile will work out the complete list of images it needs to build the source document, you only need to list the image files you provided. Images and Chapters in Subdirectories Be careful when separating documentation into smaller files in different directories (see ). Suppose there is a book with three chapters, and the chapters are stored in their own directories, called chapter1/chapter.xml, chapter2/chapter.xml, and chapter3/chapter.xml. If each chapter has images associated with it, place those images in each chapter's subdirectory (chapter1/, chapter2/, and chapter3/). However, doing this requires including the directory names in the IMAGES variable in the Makefile, and including the directory name in the imagedata element in the document document. For example, if the book has chapter1/fig1.png, then chapter1/chapter.xml should contain: mediaobject imageobject imagedata fileref="chapter1/fig1" imageobjectmediaobject The directory name must be included in the fileref attribute. The Makefile must contain: … IMAGES= chapter1/fig1.png … Links Links are also in-line elements. <literal>id</literal> Attributes Most DocBook elements accept an id attribute to give that part of the document a unique name. The id can be used as a target for a crossreference or link. Any portion of the document that will be a link target must have an id attribute. Assigning an id to all chapters and sections, even if there are no current plans to link to them, is a good idea. These ids can be used as unique anchor reference points by anyone referring to the HTML version of the document. <literal>id</literal> on Chapters and Sections chapter id="introduction" titleIntroductiontitle paraThis is the introduction. It contains a subsection, which is identified as well.para sect1 id="introduction-moredetails" titleMore Detailstitle paraThis is a subsection.para sect1 chapter Use descriptive values for id names. The values must be unique within the entire document, not just in a single file. In the example, the subsection id is constructed by appending text to the chapter id. This ensures that the ids are unique. It also helps both reader and anyone editing the document to see where the link is located within the document, similar to a directory path to a file. To allow the user to jump into a specific portion of the document, even in the middle of a paragraph or an example, use anchor. This element has no content, but takes an id attribute. <sgmltag>anchor</sgmltag> paraThis paragraph has an embedded anchor id="para1"link target in it. It will not show up in the document.para Crossreferences with <literal>xref</literal> xref provides the reader with a link to jump to another section of the document. The target id is specified in the linkend attribute, and xref generates the link text automatically. Using <sgmltag>xref</sgmltag> Assume that this fragment appears somewhere in a document that includes the id example shown above: paraMore information can be found in xref linkend="introduction".para paraMore specific information can be found in xref linkend="introduction-moredetails".para The link text will be generated automatically, looking like (emphasized text indicates the link text):
More information can be found in Chapter 1, Introduction. More specific information can be found in Section 1.1, More Details.
The link text is generated automatically from the chapter and section number and title elements. xref cannot link to an id attribute on an anchor element. The anchor has no content, so the xref cannot generate the link text.
Linking to the Same Document or Other Documents on the Web The link elements described here allow the writer to define the link text. It is very important to use descriptive link text to give the reader an idea of where the link will take them. Remember that DocBook can be rendered to multiple types of media. The reader may be looking at a printed book or other form of media where there are no links. If the link text is not descriptive enough, the reader may not be able to locate the linked section. Links to the Same Document link is used to create a link within the same document. The target id is specified in the linkend attribute. This element wraps content, which is used for the link text. Using <sgmltag>link</sgmltag> Assume that this fragment appears somewhere in a document that includes the id example. paraMore information can be found in the link linkend="introduction"sample introductionlink.para paraMore specific information can be found in the link linkend="introduction-moredetails"sample introduction with more detailslink section.para This output will be generated (emphasized text is used to show the link text):
More information can be found in the sample introduction. More specific information can be found in the sample introduction with more details section.
link can be used to include links to the id of an anchor element, since the link content defines the link text.
Linking to Other Documents on the Web The ulink is used to link to external documents on the web. The url attribute is the URL of the page that the link points to, and the content of the element is the text that will be displayed for the user to activate. <sgmltag>ulink</sgmltag> to a &os; Documentation Web Page Link to the book or article URL entity. To link to a specific chapter in a book, add a slash and the chapter file name, followed by an optional anchor within the chapter. For articles, link to the article URL entity, followed by an optional anchor within the article. URL entities can be found in doc/share/xml/urls.ent. Usage for book links: paraRead the ulink url="&url.books.handbook;/svn.html#svn-intro"SVN introductionulink, then pick the nearest mirror from the list of ulink url="&url.books.handbook;/subversion-mirrors.html"Subversion mirror sitesulink.para Appearance: Read the SVN introduction, then pick the nearest mirror from the list of Subversion mirror sites. Usage for article links: paraRead this ulink url="&url.articles.bsdl-gpl;"article about the BSD licenseulink, or just the ulink url="&url.articles.bsdl-gpl;#intro"introductionulink.para Appearance: Read this article about the BSD license, or just the introduction. <sgmltag>ulink</sgmltag> to a &os; Web Page Usage: paraOf course, you could stop reading this document and go to the ulink url="&url.base;/index.html"FreeBSD home pageulink instead.para Appearance: Of course, you could stop reading this document and go to the FreeBSD home page instead. <sgmltag>ulink</sgmltag> to an External Web Page Usage: paraWikipedia has an excellent reference on ulink url="http://en.wikipedia.org/wiki/GUID_Partition_Table"GUID Partition Tablesulink.para Appearance: Wikipedia has an excellent reference on GUID Partition Tables. The link text can be omitted to show the actual URL: paraWikipedia has an excellent reference on GUID Partition Tables: ulink url="http://en.wikipedia.org/wiki/GUID_Partition_Table"ulink.para Appearance: Wikipedia has an excellent reference on GUID Partition Tables: .
diff --git a/es_ES.ISO8859-1/articles/contributing/article.xml b/es_ES.ISO8859-1/articles/contributing/article.xml index 3691383575..14d721333c 100644 --- a/es_ES.ISO8859-1/articles/contributing/article.xml +++ b/es_ES.ISO8859-1/articles/contributing/article.xml @@ -1,615 +1,615 @@
Contribuir a FreeBSD En éste artículo se describen las diferentes maneras en las que una persona o entidad pueden ayudar al Proyecto FreeBSD. &trans.es.bazcar; Jordan Hubbard Enviado por $FreeBSD$ $FreeBSD$ contributing ?Quiere ayudar a mejorar FreeBSD? ¡Eso es genial! FreeBSD depende del esfuerzo de base de usuarios y usuarias para sobrevivir. Su ayuda no sólamente muy apreciada sino que es vital para el contínuo crecimiento de FreeBSD. Contrariamente a lo que pudiera usted creer, no hace falta ser un brujo de la programación o un amigo íntimo del core team de FreeBSD para su trabajo sea aceptado. El desarrollo de FreeBSD está al cargo de un gran grupo internacional de voluntarios y voluntarias en contínuo crecimiento, de muy diversas edades y expertos en distintos campos del conocimiento. Siempre hay más trabajo por hacer que gente disponible para hacerlo y una mano más siempre es bienvenida. El proyecto FreeBSD tiene el compromiso de mantener un sistema operativo completo, no simplemente un kernel o unas cuantas aplicaciones sueltas. Por lo tanto nuestra lista de TAREAS PENDIENTES (TODO) incluye una vasta lista de tareas: desde documentación, prueba de versiones preliminares hasta el desarrollo del sistema de instalación y el desarrollo del kernel en aspectos altamente especializados. Casi con total seguridad puede usted ayudar al proyecto sea cual sea su preparación y el área en la que disponga de experiencia o interés. Invitamos a las empresas que tienen proyectos relacionados con FreeBSD a que se pongan en contacto con nosotros. ?Necesitan una extensión concreta para hacer que su producto funcione? Estaremos encantados de escuchar sus peticiones (suponiendo que no sean demasiado esotéricas). ?Su proyecto es interesante y/o beneficioso para su empresa y para FreeBSD? ¡Háganoslo saber! Podemos trabajar conjuntamente en algunos aspectos del mismo. El mundo del software libre está cambiando muchas de las normas establecidas sobre cómo el software debería ser desarrollado, vendido y mantenido así que le rogamos encarecidamente que al menos le dé un segundo vistazo. Qué es lo que hace falta La siguiente lista de tareas y subproyectos representa de algún modo la amalgama de listas de TAREAS PENDIENTES y peticiones de usuarios. Tareas en Curso para No Programadores Una gran parte de quienes trabajan en FreeBSD no son programadores. El Proyecto incluye escritores de documentación, diseñadores y técnicos de soporte. Los únicos requisitos necesarios son poner algo de su tiempo y ganas de aprender. Lea cuidadosamente las FAQ y el Handbook cada cierto tiempo. Si algo está mal explicado, desfasado o sencillamente completamente equivocado háganoslo saber. Aún mejor, envíenos la corrección (no es difícil aprender SGML pero no hay problema si lo envía en ASCII). Ayude a traducir la documentación de FreeBSD a su lengua materna. Si ya existe documentación en su idioma puede ayudar a traducir otros documentos o a mantener al día los que ya existan. Antes de nada consulte Translations FAQ en el FreeBSD Documentation Project Primer. El hecho de traducir algo no implica la obligación de traducir todo: al ser una tarea voluntaria puede usted traducir tanto o tan poco como prefiera. Cuando alguien empieza a traducir casi siempre hay alguien que se une. Si sólo tiene tiempo o ganas para traducir una parte de la documentación por favor, traduzca las instrucciones de instalación. Lea la &a.questions; y el &ng.misc; de vez en cuando (o incluso regularmente). Compartir sus conocimientos mientras ayuda a la gente a resolver sus problemas puede ser muy gratificante. ¡Puede ser que incluso aprenda usted también algo nuevo! Esos foros pueden ser también un importante foco de ideas para nuevas cosas en las que trabajar. Tareas en Curso para Programadores La mayoría de las tareas aquí expuestas requieren una considerable cantidad de tiempo o un conocimiento profundo del kernel de FreeBSD o ambas cosas. Existen, sin embargo, multitud de tareas muy útiles que son ideales para hackers de fin de semana. Si utiliza FreeBSD-CURRENT y tiene una buena conexión con Internet existe una máquina llamada current.FreeBSD.org que genera diariamente (en teoría, la frecuencia puede variar) una distribución completa. Intente instalar la última versión desde ella e informe de cualquier anomalía en el proceso. Lea la &a.bugs;. Puede encontrar algún problema sobre el que hacer un comentario constructivo o sobre el que probar parches. Puede incluso intentar arreglarlo usted. Si sabe de alguna corrección que ha sido aplicada con éxito a -CURRENT pero que aún no haya sido incluída en -STABLE tras un período de tiempo razonable (por lo general un par de semanas) envíe al committer responsable un (educado) mensaje recordándoselo. Mueva software de terceras partes a src/contrib en el árbol de fuentes. Asegúrese de que el código de src/contrib está actualizado. Compile el árbol de fuentes (o sólo una parte del mismo) con una cantidad extra de warnings activadas y depúrelas. Corrija warnings en los ports en los que aparecen cosas en desuso como gets() o que incluyen malloc.h. Si ha enviado algún port envíe sus parches a los autores originales: le hará la vida más fácil cuando liberen la siguiente versión. Consiga copias de estándares formales como POSIX. Hay enlaces relacionados con esos estándares en el sitio web del FreeBSD C99 & Posix Standards Conformance Project. Compare el funcionamiento interno de FreeBSD con el que exije el estándar. Si hay diferencias, en especial en algún rincón sutil y oscuro de la especificación, envíe un PR (Problem Report). Si es capaz de aventurar una solución incluya un parche en el PR. Si cree que el estándar es incorrecto póngase en contacto con los responsables del mismo para que tengan en cuenta su propuesta. ¡Sugiera nuevas tareas para ésta lista! Trabajo en la <quote>PR Database</quote> base de datos de informes de problemas (PR) La lista de PR de FreBSD muestra los informes de problemas activos así como las peticiones de mejoras que han enviado los usuarios de FreeBSD. La PR database incluye tanto problemas que han de ser corregidos por programadores como por no programadores. Busque entre los PR que están abiertos, puede haber alguno que le interese. Algunos pueden ser tareas muy sencillas que sólo necesiten una mirada adicional para confirmar que la solución adjunta es la adecuada. Otras, por el contrario, pueden llegar a ser muchísimo más complejas o incluso no incluír una solución. Comience con un PR no haya sido aún asignado. Si el PR ya ha sido asignado a alguien pero cree que puede ayudar envíe un correo electrónico a la persona responsable del PR y pregúntele si puede colaborar (tal vez ya exista un parche listo para ser probado o puedan contrastar ideas). Cómo Colaborar Las colaboraciones al sistema generalmente pueden catalogarse en las siguientes 5 categorías: Informes de Errores y Comentarios Generales Las ideas o sugerencias de interés técnico general deben enviarse a &a.hackers;. En consecuencia, si le interesan ese tipo de cuestiones (¡y no le importa recibir un gran volumen de correo!) debería suscribirse a la &a.hackers; enviando un correo electrónico a &a.majordomo;. Consulte el FreeBSD Handbook para más información sobre ésta y otras listas de correo. Si encuentra un error o quiere enviar un cambio concreto por favor utilice el programa &man.send-pr.1; o su equivalente en la web (N. del T.: El interfaz web de send-pr fué desactivado a causa del spam). Trate de rellenar todos los campos del informe de errores. A menos que exceda de 65KB puede incluír los parches directamente en el informe. Si es posible aplicar el parche al árbol de fuentes no olvide incluír [PATCH] en la sinópsis del informe. Cuando incluya parches no copie y pegue ya que las tabulaciones son transformadas en espacios, haciendo el parche inútil. Considere la posibilidad de comprimir los parches mediante &man.uuencode.1; si sobrepasan los 20KB. Tras rellenar el informe debería recibir un mensaje de confirmación junto con un número de seguimiento. Conserve ese número por si en algún momento pudiera añadir nueva información sobre el problema enviando correo a FreeBSD-gnats-submit@FreeBSD.org. Utilice el número como asunto del mensaje (por ejemplo, "Re: kern/3377". Así debería enviarse la información adicional sobre cualquier PR. Si no recibe confirmación en un período de tiempo razonable (entre 3 días y una semana, dependiendo de su tipo de conexión) o si por alguna razón no puede utilizar el comando &man.send-pr.1;, puede solicitar que alguien lo haga por usted enviando un correo a &a.bugs;. No olvide consultar éste article sobre cómo escribir buenos informes de problemas. Cambios en la Documentación envíos de documentación Los cambios en la documentación son revisados por la &a.doc;. Por favor, consulte FreeBSD Documentation Project Primer para recibir instrucciones detalladas. Envíe nuevos contenidos o cambios sobre los ya existentes (¡incluso los pequeños son bienvenidos!) mediante &man.send-pr.1; tal y como se detalla en Informes de Error y Comentarios Generales. Cambios al Código Fuente ya Existente FreeBSD-CURRENT Añadir cambios o modificar el código fuente existente es un tema delicado y depende mucho de hasta qué punto esté usted al día sobre el estado actual del desarrollo de FreeBSD. Hay una versión en desarrollo permanente de FreeBSD conocida como FreeBSD-CURRENT, disponible de muy diversas formas para mayor comodidad de los desarrolladores que están trabajando activamente en el sistema. Consulte el FreeBSD Handbook, donde se explica cómo obtener y utilizar FreeBSD-CURRENT. Si trabaja con versiones anticuadas de los fuentes desafortunadamente significará que sus cambios podrían con frecuencia resultar demasiado obsoletos o demasiado divergentes para una fácil reintegración dentro de FreeBSD. Ésta posibilidad puede minimizarse suscribiéndose a la &a.announce; y a la &a.current;, donde tienen lugar los debates sobre el estado actual del sistema. Asumiendo que puede manejarse con seguridad con unos fuentes totalmente actualizados sobre los que aplicar sus cambios, el siguiente paso es generar los diffs que enviará al equipo de FreeBSD. Hágalo con el comando &man.diff.1;. El formato &man.diff.1; que preferimos para el envío de parches es la salida unificada generada por diff -u. Sin embargo, para parches que implican cambios sustanciales en una región de código una salida contextual de diff generada por diff -c resultará más legible y en consecuencia preferible. diff Por ejemplo: &prompt.user; diff -c ficheroantíguo ficheronuevo o &prompt.user; diff -c -r directorioantíguo directorionuevo generarían un conjunto de diffs contextuales de fichero fuente o la jerarquía de directorios. Del mismo modo &prompt.user; diff -u ficheroantíguo ficheronuevo o &prompt.user; diff -u -r directorioantíguo directorionuevo nos darían el mismo resultado excepción hecha del formato unificado de los diffs resultantes. Consulte la página man de &man.diff.1; para más detalles. Una vez que disponga de un conjunto de diffs (que debería probar con el comando &man.patch.1;) puede enviarlos para que sean incluídos en FreeBSD. Utilice el programa &man.send-pr.1; tal y como se muestra Informes de Errores y Comentarios Generales. ¡No se limite simplemente a enviar sus diffs a la &a.hackers; o se perderán! Agradecemos inmensamente su colaboración (¡éste es un proyecto que funciona gracias al trabajo desinteresado de mucha gente!). Estamos muy ocupados, así que no podemos atender inmediatamente todos y cada uno de los envíos recibidos, pero permanecerán en la PR database hasta que lo hagamos. Etiquete sus envíos incluyendo [PATCH] en la sinópsis del informe. uuencode Si lo considera oportuno (ésto es, si ha añadido borrado o renombrado ficheros) empaquete sus cambios en un fichero tar y ejecute el programa &man.uuencode.1; sobre él. Puede usar también ficheros creados con &man.shar.1; Si su cambio puede tener un cariz potencialmente delicado ésto es, no está seguro de bajo qué tipo de licencia sería su distribución ulterior o simplemente no está listo para liberarlo sin una revisión exhaustiva, debería enviarlo directamente a &a.core; en lugar de usar &man.send-pr.1;. El &a.core; incluye un grupo de gente mucho más pequeño que lleva a cabo la mayor parte del trabajo diario en FreeBSD. Tenga en cuenta que el &a.core; está muy ocupado y por lo tanto sólo debería enviársele correo cuando sea estrictamente necesario. Consulte la páginas man de &man.intro.9; y &man.style.9; para saber más acerca del estilo de codificación requerido. Le agradeceríamos mucho que al menos tuviera en cuenta esa información antes de enviar código. New Code or Major Value-Added Packages En el caso de una contribución significativa o de gran impacto, o si se trata de añadir una nueva característica importante a FreeBSD, enviar ficheros tar tratados con uuencode o por el contrario ponerlos a disposición de otras personas en un sitio web o FTP se convierte en algo prácticamente imprescindible. Si no dispone de acceso a un sitio web o FTP pregunte en la lista apropiada de FreeBSD para que alguien se lo facilite. Cuando se trabaja con un gran volumen de código el espinoso tema de la licencia invariablemente sale a la palestra. Las licencias admitidas para la inclusión de código en FreeBSD son: La Licencia BSD La licencia BSD. Ésta licencia es la preferida a causa de su naturaleza carente de requerimientos añadidos y su atractivo general para la empresa. Lejos de buscar evitar el uso comercial, el Proyecto FreeBSD recomienda vivamente la participación de entidades comerciales que pudieran en casos determinados dedicar parte de sus recursos a FreeBSD. GPLGNU General Public License GNU General Public License La GNU General Public License, o GPL. Ésta licencia no es tan popular debido al esfuerzo añadido que requiere de cualquiera que usara el código con fines comerciales, pero dada la ingente cantidad de código GPL que usamos habitualmente (el compilador, el ensamblador, el procesador de texto, etc) sería estúpido rechazar contribuciones bajo ésta licencia. El código bajo licencia GPL también se incluye bajo una parte diferenciada del árbol, pudiendo ser /sys/gnu o /usr/src/gnu, y es por tanto fácilmente identificable para quienes la licencia GPL suponga un problema. Todo lo que vaya bajo cualquier otro tipo de licencia requiere que ésta deba ser cuidadosamente revisada antes de que su inclusión en FreeBSD sea llevada a consideración. Las aportaciones bajo licencias comerciales particularmente restrictivas en vigor por lo general son rechazadas aunque siempre se recomienda a los autores que hagan públicamente accesible su trabajo usando sus propios medios. Para poner su trabajo bajo la licencia BSD inserte el siguiente texto al principio de todos y cada uno de los ficheros de código que quiera amparar bajo la misma, reemplazando el texto entre %% con la información apropiada: Copyright (c) %%años_exactos%% %%su_nombre%%, %%su_estado/país%% %%su_código_postal%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%su_nombre%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%su_nombre%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Id$ Para su comodidad existe una copia de éste texto en /usr/share/examples/etc/bsd-style-copyright. Dinero, Hardware o Acceso a Internet Estamos encantados de aceptar donaciones económicas para ayudar a impulsar el Proyecto FreeBSD y, como en cualquier proyecto mantenido por voluntarios, un poco puede hacer mucho. También son muy importantes las donaciones de hardware para ampliar nuestra lista de hardware soportado, dado que normalmente andamos cortos de fondos con los que comprar ese tipo de material. - - <anchor id="donations"/>Donación de Fondos + + Donación de Fondos La Fundación FreeBSD es una fundación sin ánimo de lucro y exenta de impuestos creada para impulsar los objetivos del Proyecto FreeBSD. Como una entidad 501(c)3, la Fundación está prácticamente exenta del pago del impuesto federal de la renta de los EEUU así como del del Estado de Colorado. Las donaciones a una entidad libre de impuestos suelen ser deducibles en la declaración federal de impuestos. Las donaciones pueden enviarse mediante cheque a:
The FreeBSD Foundation 7321 Brockway Dr. Boulder, CO 80303 USA
La Fundación FreeBSD puede también aceptar donaciones via web mediante PayPal. Para hacer una donación visite la página web de la Fundación. Puede encontrar más información sobre la Fundación en The FreeBSD Foundation -- an Introduction. Puede enviar correo electrónico a la Fundación a bod@FreeBSDFoundation.org.
Donación de Hardware donaciones El Proyecto FreeBSD acepta encantado donaciones de hardware que le resulte útil. Si desea donar hardware por favor póngase en contacto con la Donations Liaison Office. Donación de Acceso a Internet Nunca viene mal una nueva réplica para sitios FTP, WWW o cvsup. Si desea ofrecer alguno de esos servicios por favor consulte el siguiente artículo Mirroring FreeBSD para más información.
diff --git a/fr_FR.ISO8859-1/articles/contributing/article.xml b/fr_FR.ISO8859-1/articles/contributing/article.xml index 1436a31a60..8f07d71a59 100644 --- a/fr_FR.ISO8859-1/articles/contributing/article.xml +++ b/fr_FR.ISO8859-1/articles/contributing/article.xml @@ -1,633 +1,633 @@
Collaborer à FreeBSD $FreeBSD$ $FreeBSD$ Cet article décrit les différentes manières pour une personne individuelle ou une organisation de collaborer au projet FreeBSD. &trans.a.fonvieille; Première version de &a.fr.dntt; Jordan Hubbard Contribution de &tm-attrib.freebsd; &tm-attrib.ieee; &tm-attrib.general; $FreeBSD$ collaborer Alors, comme ça vous voulez collaborer à FreeBSD? C'est génial! FreeBSD s'appuie sur les contributions de sa base d'utilisateurs pour survivre. Vos contributions ne sont pas seulement appréciées, elles sont vitales pour la constante progression de FreeBSD. Contrairement à ce que certains pourraient vous faire croire, vous n'avez pas besoin d'être un expert programmeur ou un ami proche de l'équipe principale de FreeBSD pour avoir vos contributions acceptées. Un grand nombre, toujours en augmentation, de collaborateurs à travers le monde, dont les âges et l'expertise technique sont très variables, développent FreeBSD. Il y a toujours plus de travail à faire que de personnes disponibles pour s'en occuper, et davantage d'aide est toujours appréciée. Le projet FreeBSD est responsable de tout l'environnement du système d'exploitation, et pas seulement d'un noyau ou de quelques utilitaires éparpillés. Ainsi, nos listes TODO (à faire) s'étendent sur une large gamme de tâches: depuis la documentation, les béta-tests et la présentation, jusqu'à l'installateur système et des types de développement du noyau hautement spécialisés. Des personnes de n'importe quel niveau de compétence, dans presque tous les domaines, pourront sûrement aider le projet. Les entités commerciales engagées dans des entreprises relatives à FreeBSD sont également encouragées à nous contacter. Vous avez besoin d'une extension spéciale pour faire fonctionner votre produit? Vous nous trouverez réceptif à vos requêtes, du moment quelles ne sont pas trop exotiques. Vous travaillez sur un produit à valeur ajoutée? Faites-le nous savoir! Nous serons peut être en mesure de coopérer sur certains aspects. Le monde du logiciel libre va à l'encontre de nombreuses idées reçues sur la manière dont les logiciels sont développés, vendus, et maintenus, et nous vous invitons à lui donner au moins un second regard. Les besoins La liste suivante de tâches et de sous-projets représente une sorte d'amalgame des différentes listes TODO et des demandes d'utilisateurs. Tâches de non-programmeur De nombreuses personnes impliquées dans FreeBSD ne sont pas des programmeurs. Le projet comprend des rédacteurs de documentation, des concepteurs de site web, et des personnes assurant le support. La contribution de ces personnes se matérialise sous la forme d'un investissement en temps et une volonté d'apprendre. Lisez la FAQ et le Manuel régulièrement. Si quelque chose est mal expliquée, pas à jour ou tout simplement complètement faux, signalez-le nous. Mieux, envoyez nous un correctif (le SGML n'est pas difficile à apprendre, mais il n'y aucune objection à des soumissions en format ASCII). Aidez à traduire la documentation FreeBSD dans votre langue. Si la documentation existe déjà dans votre langue, vous pouvez aider à traduire des documents supplémentaires ou contrôler que les traductions sont à jour. Consultez tout d'abord la FAQ sur les traductions dans l'Introduction au Projet de Documentation de FreeBSD. Notez que vous ne vous engagez pas à traduire chacun des documents FreeBSD ce faisant — en tant que volontaire, vous pouvez faire autant que vous le désirez. Une fois que quelqu'un commence à traduire, presque toujours d'autres personnes rejoindront l'effort. Si vous n'avez le temps et l'énergie pour ne traduire qu'une partie de la documentation, traduisez les instructions d'installation. Lisez la &a.questions; et le &ng.misc; de temps en temps (ou même régulièrement). Il peut être très gratifiant de partager son expérience et d'aider les gens à résoudre leurs problèmes; parfois vous pourrez même apprendre quelque chose de nouveau! Ces forums peuvent être également une source d'idées sur ce qu'il faut améliorer. Tâches de programmeur La plupart des tâches listées ici nécessitent soit un investissement considérable en temps, soit une connaissance en profondeur du noyau, ou les deux. Cependant, il y a également de nombreuses tâches utiles pour les “programmeurs occasionnels”. Si vous utilisez FreeBSD-CURRENT et que vous avez une bonne connexion Internet, il existe une machine current.FreeBSD.org qui compile une version complète une fois par jour—à chaque fois, essayez d'installer la dernière version et rapportez toutes les erreurs durant le processus. Lisez la &a.bugs;. Il peut y avoir un problème que vous pouvez commenter de manière constructive ou avec des correctifs que vous pouvez tester. Ou vous pourrez même tenter de corriger un de ces problèmes vous-même. Si vous connaissez un correctif qui a été appliqué avec succès sur la branche -CURRENT mais qui n'a pas été intégré dans la branche -STABLE après un intervalle de temps raisonnable (normalement quelques semaines), envoyez au responsable un rappel poli. Déplacer des contributions logiciels vers src/contrib dans l'arborescence des sources. Assurez vous que le code dans src/contrib est à jour. Compiler l'arbre des sources (ou une partie) avec tous les messages d'avertissements activés et corriger les avertissements. Corriger les avertissements pour les logiciels portés qui font des choses obsolètes comme utiliser gets() ou inclure malloc.h. Si vous avez collaboré à un des logiciels portés, envoyez vos correctifs à leur auteur original (cela vous rendra la vie plus facile lors de la sortie de la prochaine version). Récupérer des copies de normes précises comme &posix;. Vous pouvez trouver des liens sur ces normes sur le site du Projet FreeBSD de conformité aux normes C99 et POSIX. Comparer le comportement de FreeBSD avec celui requis par la norme. Si le comportement diffère, en particulier pour des éléments subtiles et obscures de la spécification, envoyez un rapport de bogue à ce sujet. Si vous en êtes capable, déterminez comment le corriger et joignez un correctif à votre rapport de bogue. Si vous pensez que la norme est erronée, demandez à l'organisme de normalisation de considérer la question. Suggérer d'autres tâches pour cette liste! Travailler avec la base de données des rapports de bogue (PR) base de données des rapports de bogue La liste des PRs de FreeBSD donne tous les rapports de problème actuellement actifs et les demandes d'amélioration qui ont été soumis par les utilisateurs de FreeBSD. La base de données des PRs comprend des tâches de programmeurs et de non-programmeurs. Consultez les PRs ouverts, et voyez s'il y a quelque chose qui peut vous intéresser. Certaines de ces tâches peuvent être des tâches très simples qui ne nécessitent qu'une paire d'yeux supplémentaire pour vérifier et confirmer que le correctif dans le PR est correct. D'autres peuvent être bien plus complexes, ou pourront même ne pas inclure de correctif du tout. Commencez avec des PRs qui n'ont pas été assignés à quelqu'un d'autre. Si le PR est assigné à quelqu'un d'autre, mais qu'il semble que c'est quelque chose dont vous pouvez vous charger, envoyez un courrier électronique à la personne en question et demandez si vous pouvez travailler dessus—elle pourra déjà avoir un correctif prêt à être testé, ou des idées supplémentaires sur lesquelles vous pourrez discuter. Comment participer Les contributions au système tombent généralement dans une ou plusieurs des 5 catégories suivantes: Rapport de bogue et commentaires généraux Une idée ou une suggestion d'intérêt technique général devrait être envoyée à la &a.hackers;. De même, les personnes intéressées par de telles choses (et qu'un grand volume de courrier électronique ne dérange pas) devraient s'abonner à la &a.hackers; en envoyant un courrier électronique à &a.majordomo;. Voir le Manuel FreeBSD pour plus d'information à ce propos et sur les autres listes de diffusion. Si vous trouvez un bogue ou que vous soumettez une modification spécifique, rapportez-le en utilisant le programme &man.send-pr.1; ou son équivalent web. Essayez de remplir chaque champ du rapport de bogue. A moins qu'ils ne dépassent 65KO, inclure tous les correctifs directement dans le rapport. Si le correctif peut être appliqué directement sur l'arbre des sources ajoutez [PATCH] dans le synopsis du rapport. Quand vous ajoutez des correctifs, ne pas utiliser le copier-coller car ce dernier transforme les tabulations en espaces et rend les correctifs inutilisables. Pensez à compresser les correctifs et à utiliser &man.uuencode.1; s'ils dépassent 20KO. Après avoir rempli un rapport, vous devriez recevoir une confirmation accompagnée d'un numéro de suivi. Conservez ce numéro de suivi afin que vous puissiez nous soumettre plus de détails au sujet du problème en envoyant un courrier électronique à FreeBSD-gnats-submit@FreeBSD.ORG. Utilisez le numéro comme sujet du message, e.g. "Re: kern/3377". Toute information supplémentaire sur un rapport de bogue devrait être soumise de cette manière. Si vous ne recevez aucune confirmation dans un temps raisonnable (de 3 jours à une semaine, en fonction de votre connexion pour le courrier électronique) ou qu'il vous est, pour quelque raison que ce soit, impossible d'utiliser la commande &man.send-pr.1;, vous pouvez demander à quelqu'un de le faire pour vous en envoyant un courrier électronique à la &a.bugs;. Voir aussi cet article sur comment écrire de bon rapports de bogue. Modifications de la documentation soumissions concernant la documentation Les modifications de la documentation sont supervisées par la &a.doc;. Veuillez consulter l'Introduction au Projet de Documentation de FreeBSD pour des instructions complètes. Envoyez les soumissions et les modifications (même les plus petites sont les bienvenues!) en utilisant la commande send-pr comme décrit dans Rapport de bogue et commentaires généraux. Modifications dans le code source existant FreeBSD-CURRENT Un ajout ou une modification du code source existant est une toute autre affaire et dépend beaucoup de comment est à jour votre version par rapport à l'état courant du développement de FreeBSD. Il y a une version spéciale de FreeBSD, connue sous le nom de “FreeBSD-CURRENT” qui est disponible de diverses manières pour le confort des développeurs qui travaillent activement sur le système. Voir le Manuel FreeBSD pour plus d'informations sur la manière d'obtenir et d'utiliser FreeBSD-CURRENT. Travailler sur des sources plus anciennes signifie que malheureusement parfois vos modifications pourront être trop obsolètes ou trop divergentes pour permettre une réintégration aisée dans FreeBSD. On peut limiter ce type de changements en souscrivant à la &a.announce; et la &a.current;, où des discussions sur l'état courant du système ont lieu. En supposant que vous pouvez vous arranger pour avoir de manière sure des sources à jour comme base pour vos modifications, l'étape suivante est de produire un ensemble de diffs à envoyer à ceux qui sont chargés de maintenir FreeBSD. Cela est fait à l'aide de la commande &man.diff.1;. Le format &man.diff.1; préféré pour soumettre des correctifs est le format unifié généré par la commande diff -u. Cependant, pour des correctifs qui modifient sensiblement une partie du code, le format de contexte généré par diff -c peut s'avérer plus lisible et donc préférable. diff Par exemple: &prompt.user; diff -c oldfile newfile ou &prompt.user; diff -c -r olddir newdir générera un ensemble de “context diffs” pour un fichier source ou une hiérarchie de répertoires donnés. De même, &prompt.user; diff -u oldfile newfile ou &prompt.user; diff -u -r olddir newdir effectuera la même chose, mais dans le format unifié. Voir la page de manuel de &man.diff.1; pour plus de détails. Une fois que vous avez un ensemble de diffs (que vous pouvez tester avec la commande &man.patch.1;), vous devrez les soumettre pour qu'ils puissent être inclus dans FreeBSD. Utiliser le programme &man.send-pr.1; comme décrit dans Rapport de bogue et commentaires généraux. Ne pas simplement envoyez les diffs à la &a.hackers; ou ils seront perdus! Nous apprécions énormément votre soumission (c'est un projet fait par des volontaires!), mais parce que nous sommes très occupés, nous ne pourrons pas les étudier immédiatement, mais cela restera dans la base de données des PRs jusqu'à ce que nous le fassions. Identifiez votre soumission en ajoutant [PATCH] dans le synopsis du rapport. uuencode Si cela vous semble approprié (e.g. vous avez ajouté, effacé ou renommé des fichiers), archivez vos modifications dans un fichier tar et lancez le programme &man.uuencode.1; dessus. Les archives &man.shar.1; sont aussi les bienvenues. Si votre modification est de nature potentiellement sensible, e.g. si vous n'êtes pas sûr des problèmes de copyright concernant sa distribution ou que vous n'êtes tout simplement pas prêt à le distribuer sans relecture attentive, alors vous devriez l'envoyer directement à la &a.core; plutôt que de le soumettre avec &man.send-pr.1;. La liste de diffusion de l'équipe de base atteint un plus petit groupe de personnes qui réalise la plupart du travail quotidien de FreeBSD. Notez que ce groupe est aussi très occupé et donc que vous ne devriez leur envoyez de courrier électronique que lorsque cela est vraiment nécessaire. Veuillez vous référer à &man.intro.9; et &man.style.9; pour plus d'informations sur la manière de coder. Nous apprécierons le fait que vous soyez au moins conscient de ces problèmes avant de soumettre du code. Nouveau code source ou logiciel à valeur ajoutée importante Dans le cas d'une contribution importante, ou l'addition d'une importante fonctionnalité à FreeBSD, il devient presque nécessaire d'envoyer les modifications soit sous la forme d'archives tar uuencodées soit en les chargeant sur un site web ou FTP. Si vous n'avez pas accès à un site web ou FTP, demandez sur la liste de diffusion appropriée à ce que quelqu'un héberge ces modifications pour vous. Lorsque l'on travaille avec un grand volume de code, le sujet sensible des copyrights revient invariablement. Les copyrights acceptables pour le code inclus dans FreeBSD sont: copyright BSD Le copyright BSD. Ce copyright est le plus apprécié de par son côté “sans attaches” et très attractif pour les entreprises commerciales. Loin de décourager un usage commercial, le projet FreeBSD encourage activement une telle participation avec intérêts commerciaux pour ceux qui pourraient être tentés par la suite d'investir quelque chose dans FreeBSD. GPLLicence Publique Générale GNU Licence Publique Générale GNU La Licence Publique Générale GNU, ou “GPL”. Cette licence n'est pas aussi populaire chez nous à cause du volume d'efforts supplémentaires demandés à celui qui voudrait utiliser le code dans un but commercial, mais étant donné la quantité de code GPL dont nous avons actuellement besoin (compilateur, assembleur, formateur de texte, etc...) il serait absurde de refuser des contributions sous cette licence. Le code sous GPL va également dans une partie différente de l'arborescence, soit /sys/gnu soit/usr/src/gnu, et est de ce fait aisément identifiable par toute personne pour laquelle la licence GPL poserait un problème. Les contributions venant avec un autre type de copyright doivent être soigneusement vérifiées avant que leur intégration à FreeBSD ne soit prise en considération. Les contributions pour lesquelles des restrictions commerciales particulières s'appliquent sont généralement rejetées, bien que les auteurs sont toujours encouragés à rendre disponible de telles modifications par leurs propres moyens. Pour mettre un copyright de “style BSD” sur votre travail, inclure le texte suivant au tout début de chaque fichier de code source que vous voulez protéger, en remplaçant le texte entre les %% par l'information appropriée. Copyright (c) %%proper_years_here%% %%your_name_here%%, %%your_state%% %%your_zip%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Id$ Pour votre convenance, une copie de ce texte peut être trouvée dans /usr/share/examples/etc/bsd-style-copyright. Contribution financière, matérielle ou accès Internet Nous sommes toujours très heureux d'accepter des donations pour poursuivre la cause du projet FreeBSD, et dans un effort volontaire comme le notre, un rien peut faire du chemin! Les donations de matériel sont également très importantes pour augmenter notre liste de périphériques supportés puisque nous manquons généralement de fonds pour acheter de tels éléments nous-mêmes. - - <anchor id="donations"/>Donation de fonds + + Donation de fonds La Fondation FreeBSD est une fondation à but non lucratif et exempte d'impôts fondée pour servir les objectifs du projet FreeBSD. En tant qu'entitée 501(c)3, la Fondation est généralement exempte de l'impôt fédéral des Etats Unis comme de l'impôt de l'état du Colorado. Les dons à une entitée exempte d'impôts sont souvent déductibles de l'impôt fédéral. Les dons sous forme de chèques peuvent être adressés à:
The FreeBSD Foundation 7321 Brockway Dr. Boulder, CO 80303 USA
La Fondation FreeBSD est désormais en mesure d'accepter les donations par l'intermédiaire du service web PayPal. Pour faire un don, veuillez visiter le site web de la Fondation. Plus d'informations au sujet de la Fondation FreeBSD peuvent être trouvés dans La Fondation FreeBSD -- une introduction. Pour contacter la Fondation par courrier électronique, écrire à bod@FreeBSDFoundation.org.
Contribution en matériel dons Le projet FreeBSD accepte avec joie les donations de matériel. Si vous êtes interessés pour nous faire un don de matériel, contactez le Bureau de liaison des donations. Contribution d'accès Internet Nous pouvons toujours utiliser de nouveau sites miroirs pour les site FTP, WWW ou cvsup. Si vous voulez devenir un tel miroir, voyez le document devenir un site mirroir FreeBSD pour plus d'informations.
diff --git a/fr_FR.ISO8859-1/books/faq/book.xml b/fr_FR.ISO8859-1/books/faq/book.xml index 642dcf1afd..563e072457 100644 --- a/fr_FR.ISO8859-1/books/faq/book.xml +++ b/fr_FR.ISO8859-1/books/faq/book.xml @@ -1,7727 +1,7727 @@ ]> Questions Fréquemment Posées sur FreeBSD 2.X, 3.X et 4.X Le projet de documentation FreeBSD 1995 1996 1997 1998 1999 2000 2001 2002 Le projet de documentation FreeBSD &legalnotice; $FreeBSD$ Ceci est la FAQ pour les versions de FreeBSD 2.X, 3.X et 4.X. Toutes les entrées sont relatives à FreeBSD 2.05 et les versions ultérieures. La dernière version de ce document est disponible en anglais à l'adresse suivante : FreeBSD World Wide Web server . Ce document est également disponible en un seul fichier HTML sur le serveur HTTP du projet, ou en texte, PostScript, PDF, etc. sur le serveur FTP de FreeBSD. Vous pouvez aussi, chercher dans cette FAQ. N.d.T.: La version française est publiée sur le serveur World Wide Web du groupe de traduction en langue française de la documentation de FreeBSD. N.d.T.: Contactez la &a.fr-doc; si vous voulez collaborer à ce projet. &trans.a.gioria; Première version de &a.fr.gioria; et &a.fr.dntt; Préface. **Mise à jour en cours** Quel est le but de cette FAQ ? Comme toutes les FAQ Usenet, ce document contient les questions les plus fréquemment posées à propos du système d'exploitation FreeBSD, ainsi que leurs réponses. Bien que destinées, à l'origine, à réduire le trafic et éviter que les mêmes questions soient posées encore et encore, les FAQ sont maintenant reconnues comme de précieuses sources d'information. Tous les efforts ont été apportés pour rendre cette FAQ la plus complète possible. Si vous avez des commentaires la concernant ou si vous voulez y contribuer, envoyez un e-mail au responsable de cette FAQ. FreeBSD c'est quoi ? Pour résumer, FreeBSD 2.X est un système d'exploitation UN*X basé sur la distribution 4.4BSD-lite de l'université de Berkeley pour des plate-formes i386. Il est aussi basé indirectement sur le portage de William Jolitz de la distribution Net/2 de l'université de Berkeley, plus connu sous le nom de 386BSD, mais très peu de code de 386BSD subsiste. Une description plus complète de ce qu'est FreeBSD et à quoi il peut vous servir, peut être trouvée à la page d'accueil de FreeBSD. FreeBSD est utilisé par des sociétés commerciales, fournisseurs d'accès à l'Internet, chercheurs, professionnels de l'informatique, étudiants et particuliers à travers le monde entier pour travailler, apprendre et se divertir. Reportez-vous à la galerie FreeBSD pour vous faire une idée. Pour plus de détails et d'informations sur FreeBSD, référez vous au manuel de FreeBSD Quels sont les buts de FreeBSD ? L'objectif du projet FreeBSD est de fournir un logiciel qui puisse être utilisé à n'importe quelle fin et sans aucun restriction. Nombre d'entre nous sont impliqués de façon significative dans le code (et dans le projet) et ne refuseraient certainement pas une petite compensation financière de temps à autre, mais ce n'est certainement pas dans nos intentions d'insister là dessus. Nous croyons que notre première et principale “mission” est de fournir du code à tout le monde, pour n'importe quel projet, de façon à ce que l'il soit utilisé le plus possible et avec le maximum d'avantages. C'est, nous le pensons, l'un des objectifs les plus fondamentaux du Logiciel Libre et l'un de ceux que nous soutenons avec enthousiasme. Le code de l'arborescence des sources, qui est régi par la Licence Publique GNU (“GNU Public License” - GPL) ou la Licence Publique GNU pour les Bibliothèques (“GNU Library Public License” - GLPL) impose légèrement plus de contraintes, bien que plutôt liées à une disponibilité plus grande qu'au contraire, comme c'est généralement le cas. En raison des complications supplémentaires qui peuvent résulter de l'utilisation commerciale de logiciels GPL, nous essayons, cependant de remplacer ces derniers par des logiciels soumis à la licence BSD qui est plus souple, chaque fois que c'est possible. Pourquoi le nom FreeBSD ? Il peut être utilisé gratuitement, même pour un usage commercial. L'intégralité des sources est disponible gratuitement, et le moins de restrictions possible ont été placées sur son utilisation, sa distribution et son incorporation dans d'autres travaux (à des fins commerciales ou non). N'importe quelle personne qui a une nouvelle fonctionnalité et/ou une correction de bogue peut soumettre une portion de code, qui pourra être inclus dans l'arbre de développement (moyennant une ou deux conditions évidentes). Pour ceux de nos lecteurs dont la langue maternelle n'est pas l'anglais, il est important de rappeler que le mot "free" est utilisé ici de deux manières, l'une signifiant "gratuitement" et l'autre "vous pouvez faire ce que vous voulez". Excepté une ou deux choses que vous ne pouvez pas faire avec le code FreeBSD, par exemple prétendre que vous l'avez développé, vous pouvez réellement faire ce que vous en voulez. Quelle est la dernière version de FreeBSD ? La version 3.1 est la dernière version stable ; elle a été mise en circulation en février 1999. C'est aussi la dernière version RELEASE. En quelques mots, la branche-stable est destinée aux fournisseurs d'accès à l'Internet et autres utilisateurs professionnels qui recherchent un système stable ainsi que des changements mineurs lors de la mise à jour de leur système en dernière version. Qu'est-ce que FreeBSD-current ? FreeBSD-current est la version de développement du système d'exploitation, qui deviendra en temps utile la version 4.0-RELEASE. Comme telle, cette version ne peut intéresser que les développeurs du noyau ainsi que certains passionnés. Voyez la section appropriée du manuel pour plus de détails sur l'utilisation de -current. Si vous n'êtes pas familier avec ce système d'exploitation, ou que vous n'êtes pas capable de différencier un problème temporaire d'un problème critique, vous ne devez pas utiliser FreeBSD-current. Cette branche évolue assez rapidement et peut ne pas être compilée pendant un certain temps. Les personnes utilisant FreeBSD-current doivent être capables d'analyser n'importe quel problème et de ne rapporter que les erreurs utiles. Assez souvent, une version de test est créée depuis la branche de développement -current et occasionnellement une distribution sur CDROM est disponible. Les buts de chaque version de test sont les suivants: Tester la dernière version du programme d'installation. Donner aux personnes voulant utiliser -current mais n'ayant pas le temps ou la bande passante pour suivre jour après jour les évolutions du système, une façon simple de faire évoluer leur système. Garder un point de synchronisation pour les sources du système actuel, juste au cas ou nous casserions quelque chose plus tard d'une façon irrécupérable (Bien sur, CVS nous empêche normalement d'en arriver là :-). Vérifier que toutes les nouvelles fonctionnalités nécessitant des tests ont le nombre maximum de testeurs potentiels. Aucune garantie ne peut être donnée sur le fait que les versions de test puissent être considérées comme des versions "de production". Pour des systèmes en production, vous devez attendre la version finale. Les versions de test sont directement téléchargeables depuis ce site et sont générées en moyenne une fois par jour pour les branches 4.0-current et 3.0-stable. Quel est le concept de la branche FreeBSD-stable ? Revenons un peu en arrière, lorsque la version 2.0.5 de FreeBSD fut livrée, nous avons décidé de scinder le développement en deux branches. Une nommée -stable, où nous avons décidé de n'inclure que les correctifs testés et contenant quelques ajouts de fonctionnalités (pour les fournisseurs d'accès ou les sociétés à vocation commerciale où les fonctionnalités expérimentales sont plus qu'indésirables). L'autre nommée -current qui nous emmènera jusqu'à la version 4.0-RELEASE (et audelà) depuis la livraison 2.0. Un dessin ASCII qui vous montre à quoi ressemble l'arbre de développement :
L'arbre de développement 2.0 | | | [2.1-stable] *Nouvelle BRANCHE* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [fin de la branche 2.1-stable] | (Mars 1997) | | | [2.2-stable] *Nouvelle BRANCHE* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [fin] |(Mars 1997) (Octobre 97) (Avril 98) (Juillet 98) (Décembre 1998) | | 3.0-SNAPs (Debut 1er trimestre 1997) | | 3.0.0-RELEASE (Octobre 1998) | | [3.0-stable] *Nouvelle BRANCHE* 3.1 (Feb 1999) -> ... future 3.x releases ... | | \|/ + [4.0-current continues]
La branche -current progresse lentement vers la version 4.0 et au-delà, la branche 2.2-stable étant terminée avec la version 2.2.8. La branche 3.0-stable l'a maintenant remplacée, la prochaine version arrivant avec la 3.1 au début 1999 . La version 4.0-current est maintenant la "branche courante" avec les premières versions 4.0 apparaissant au premier trimestre 2000.
Quand sont livrées les versions de FreeBSD ? Les nouvelles versions de FreeBSD sont livrées quand l'équipe principale de FreeBSD décide qu'il y a suffisamment de nouveautés et/ou de correctifs pour justifier d'une version, et lorsqu'ils sont satisfaits des modifications apportées et qu'elles ne compromettent pas la stabilité de la version. Beaucoup d'utilisateurs pensent que cela fait partie des meilleures choses de FreeBSD, même si cela peut être un peu frustrant d'attendre que les derniers ajouts soient disponibles. Les versions sont livrées à peu près tous les 4 mois en moyenne. Pour les personnes qui ont besoin (ou veulent) d'un peu plus de risques, il y a les versions SNAP qui sont livrées un peu plus souvent (à peu près tous les mois). Sur quelles plate-formes, autre que les PC, est disponible FreeBSD ? Actuellement FreeBSD 3.x tourne sur une plate-forme DEC Alpha aussi bien que sur les architecture x86. Un intérêt a été exprimé pour un portage sur UltraSPARC mais les détails de ce projet ne sont pas encore clairs. Si vous disposez d'une autre architecture, nous vous conseillons d'aller voir aux URLs suivantes: NetBSD OpenBSD Qui sont les responsables de FreeBSD ? Les décisions concernant le projet FreeBSD, comme les directions que vont prendre le projet ainsi que les personnes autorisées à ajouter du code dans le noyau, sont fixées par l'équipe principale , composée d'environ 15 personnes. Il y a une équipe un peu plus large d'environ 150 personnes qui ont le droit d'effectuer des changements dans le code. Bien sûr, la plupart des changements sont discutés au préalable dans les listes de messagerie, et il n'y a aucune restriction sur qui peut prendre part à la discussion. Où peut-on trouver FreeBSD ? Toutes les versions sont disponibles via un ftp anonyme sur le site ftp de FreeBSD Pour la version 2.2-stable, 2.2.8R, voir le répertoire 2.2.8-RELEASE. Pour la version 3.0-stable, 3.0-RELEASE, voir le répertoire 3.0-RELEASE. Les versions de tests 2.2 sont compilées une fois par jour tout au long de la vie de la branche RELENG_2_2 (post 2.2.8). Sauf gros incident, la branche RELENG_2_2 est maintenue avec extrêmement d'attention (pas de changements expérimentaux, correctifs ajoutés après test dans la branche -current uniquement). Les versions de test 3.0 sont compilées une fois par jour depuis la branche RELENG_3 (post 3.0-release)jusqu'à la 3.1-RELEASE. Les versions de test 4.0 sont compilées une fois par jour depuis la branche -current, ce service étant juste là pour les personnes voulant la tester, ou les développeurs. FreeBSD est aussi disponible par CDROM chez : En France Le Monde en Tique 6 rue du Maître Albert 75005 PARIS FRANCE Téléphone :01 55 42 73 73 Télécopie :01 55 42 73 74 WWW:Serveur WWW du Monde en Tique Ouverture : Du lundi au samedi, de 9h30 à 19h30 sans interruption Métro : Ligne 10 : Station Maubert - Mutualité Rer B : Cluny - La Sorbonne, Sortie : Boulevard Saint-Michel - Boulevard Saint-Germain Rer C : Saint Michel - Notre Dame, Sortie : Notre-Dame Infothèque 32, rue de Moscou 75008 Paris Téléphone:01 45 22 67 01 Télécopie:01 42 93 73 83 WWW: Serveur WWW de infotheque Aux USA Walnut Creek CDROM 4041 Pike Lane, Suite F Concord, CA 94520 USA Commandes: +1 800 786-9907 Questions: +1 925 674-0783 FAX: +1 925 674-0821 email: Commandes Walnut Creek WWW: Serveur WWW de Walnut Creek En Australie chez : Advanced Multimedia Distributors Factory 1/1 Ovata Drive Tullamarine, Melbourne Victoria Australia Tel: +61 3 9338 6777 CDROM Support BBS 17 Irvine St Peppermint Grove WA 6011 Tel: +61 9 385-3793 Fax: +61 9 385-2360 En Angleterre : The Public Domain & Shareware Library Winscombe House, Beacon Rd Crowborough Sussex. TN6 1UL Tel: +44 1892 663-298 Fax: +44 1892 667-473 Où trouver de l'information sur les listes de messagerie ? Vous trouverez ces informations dans la section sur les listes de diffusion du manuel Quels sont les forums de discussion disponibles sur FreeBSD ? Tous les forums sont listés dans la section sur les forums de discussion du manuel Existe-t-il des canaux IRC(Internet Relay Chat) sur FreeBSD ? Oui, la plupart des réseaux IRC comportent un canal FreeBSD. Le canal #FreeBSD sur EFNET est sûrement le plus populaire et est disponible sur irc.chat.org. Le canal #FreeBSD sur DALNET est disponible sur irc.dal.net pour les US et sur irc.eu.dal.net pour l'Europe. Le canal #FreeBSD sur UNDERNET est disponible sur us.undernet.org pour les US et sur eu.undernet.org pour l'Europe. Enfin vous pouvez rejoindre #FreeBSD sur BSDNET, un petit serveur de chat BSD sur irc.FreeBSD.org Tous ces canaux sont distincts et ne sont pas interconnectés entre eux. Les discussions sur chaque canal diffèrent, donc essayez-les tous avant de trouver celui qui vous convient. Quels sont les livres parlant de FreeBSD ? Le livre de Greg Lehey's stalling and Running FreeBSD est disponible chez Walnut Creek CDROM et comprend le CDROM de la version 2.2.8. Il y a aussi un livre plus important nommé The Complete FreeBSD qui est lui livré avec certaines pages de manuel et qui inclut aussi les CDROMs de la version 2.2.8. Ils devraient aussi etre disponibles dans toutes les bonnes librairies. Il existe aussi un projet se nommant "FreeBSD Documentation Project", que vous pouvez contacter (ou mieux, joindre) sur la liste de diffusion doc <freebsd-doc@FreeBSD.ORG>. Cette liste a pour but de discuter sur la documentation de FreeBSD. Les questions plus générales sur FreeBSD sont à poser dans la "mailing list" <freebsd-questions@FreeBSD.ORG>. Un ``manuel'' sur FreeBSD est disponible. Sachez, pour information, que ce manuel est en perpétuelle évolution, et que certaines parties peuvent être incomplètes. Comme FreeBSD 2.2.X est basé sur la version 4.4.BSD-lite2, la plupart des manuels relatifs à 4.4BSD peuvent s'appliquer à FreeBSD. Des versions imprimées sont disponibles chez O'Reilly: 4.4BSD System Manager's Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 804 pages ISBN 1-56592-080-5 4.4BSD User's Reference Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 905 pages ISBN 1-56592-075-9 4.4BSD User's Supplementary Documents By Computer Systems Research Group, UC Berkeley 1st Edition July 1994, 712 pages ISBN 1-56592-076-7 4.4BSD Programmer's Reference Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 886 pages ISBN 1-56592-078-3 4.4BSD Programmer's Supplementary Documents By Computer Systems Research Group, UC Berkeley 1st Edition July 1994, 596 pages ISBN 1-56592-079-1 Une courte description de ces livres est disponible via WWW à l'adresse suivante : http://gnn.com/gnn/bus/ora/category/bsd.html. Vu le peu de ventes, ces livres sont relativement difficiles a trouver. Pour plus d'informations sur le noyau 4.4BSD vous pouvez vous reporter au livre suivant : McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John Quarterman. The Design and Implementation of the 4.4BSD Operating System. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-54979-4 Un bon livre sur l'administration système: Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein, ``Unix System Administration Handbook'', Prentice-Hall, 1995 ISBN 0-13-151051-7 Attention à bien acheter la deuxième édition, version avec la couverture rouge, et non pas la première. Ce livre couvre les bases de l'administration système aussi bien que TCP/IP, le DNS, NFS, SLIP/PPP, sendmail, INN/NNTP, l'impression, etc... Il est assez onéreux (environ 300-350 FF) mais est indispensable. Il comprend en plus un CDROM contenant énormément d'outils, dont la plupart sont inclus sur les CDROM de FreeBSD. Comment accèder à la base de données des problèmes ? La base de données des problèmes est accessible (pour soumission ou interrogation) en utilisant votre navigateur WWW pour la soumission ou pour l'interrogation . La commande send-pr(1) peut aussi être utilisée pour soumettre des problèmes et des modifications par courrier électronique. Où peut-on trouver des versions ASCII/PostScript de cette FAQ ? La dernière version de cette FAQ est disponible sur le serveur WWW de FreeBSD ou sur tout serveur miroir en PostScript ou texte (ASCII 7 bits et Latin1 8 bits). Le PostScript (environ 370Ko) :http://www.freebsd-fr.org/FAQ/FAQ.ps En format texte ISO 8859-1 (environ 220Ko): http://www.freebsd-fr.org/FAQ/FAQ.txt Où peut-on trouver des versions ASCII/PostScript du manuel ? La dernière version du manuel est disponible sur le serveur WWW de FreeBSD ou sur tout serveur miroir en PostScript ou texte (ASCII 7 bits et Latin1 8 bits). Le PostScript (environ 1.7Mo) :http://www.freebsd-fr.org/handbook/handbook.ps En format texte ISO 8859-1 (environ : 1.1Mo) :http://www.freebsd-fr.org/handbook/handbook.txt La version ASCII du manuel ne contient pas que du texte ! C'est vrai. Les versions ASCII et Latin1 de la FAQ et du manuel ne contiennent pas que du texte. Elles contiennent des soulignés et d'autres codes qui supposent que l'impression sera faite sur une imprimante matricielle. Si vous avez besoin de reformater ces fichiers sous une forme plus lisible, lancez la commande col sur le fichier : $ col -b < fichierOrigine > fichierSortie Je voudrais devenir un miroir WWW de FreeBSD ! Bien sûr ! Différents moyens permettent de synchroniser les pages WWW. En utilisant CVSUP: vous pouvez retrouver les pages formatées en HTML en utilisant CVSUP depuis cvsup.freebsd.org. Ajoutez simplement cette ligne à votre fichier cvsup: www release=current hostname=/home base=/usr/local/etc/cvsup prefix=/usr/local/www/data/www.freebsd.org delete old use-rel-suffix En utilisant rsync: voir la page sur les miroirs pour les informations. En utilisant un miroir ftp: vous pouvez télécharger la copie sur serveur WWW se trouvant sur le serveur ftp. Les fichiers se trouvent à ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/www . Je veux traduire la documentation en Javanais On ne peut pas vous payer, mais on peut s'arranger pour vous envoyer un CDROM gratuit ou un T-shirt et une entrée dans la liste des contributeurs du Handbook si vous nous soumettez une traduction de la documentation. Autres sources d'informations. Les forums de discussion suivants se rapportent à FreeBSD fr.comp.os.bsd (en francais) comp.unix.bsd.freebsd.announce (en anglais - modéré) comp.unix.bsd.freebsd.misc (en anglais) comp.unix.bsd.misc (en anglais) Ressources WWW: La page principale de FreeBSD La page principale de fr.FreeBSD Si vous possédez un portable, vous devez visiter la page de Tatsumi Hosokawa's Mobile Computing au Japon Pour plus d'informations sur SMP (Symmetric MultiProcessing) voyez la page du support SMP Pour plus d'informations sur les applications multimedia FreeBSD , voyez la page multimédia. Si vous vous intéressez plus spécialement à la capture vidéo Bt848 suivez ce lien. Le manuel de FreeBSD contient une section bibliographie plus importante, si vous recherchez d'autres livres ou informations.
Installation. **Mise à jour en cours** Quels fichiers télécharger pour installer FreeBSD ? Vous n'avez généralement besoin que d'une image-disque, le fichier floppies/boot.flp, que vous copiez sur une disquette 1.44 Mo et qui permet de démarrer pour pouvoir télécharger le reste (l'installation prend en charge votre connexion TCP/IP, votre lecteur de bandes, CDROM, disquettes, partitions DOS, tout ce est nécessaire pour le reste de l'installation). Si vous avez besoin de télécharger la distribution par vous même (pour une installation depuis une partition DOS par exemple), voici quels sont les fichiers à récupérer: Tout le répertoire bin Tout le répertoire manpages Tout le répertoire compat Tout le répertoire doc Tous les fichiers src/ssys.* Vous trouverez les instructions complètes pour cette procédure et un peu plus au sujet de l'installation en général dans la section installation de FreeBSD du manuel. A l'aide ! L'image-disque de démarrage ne tient pas sur une seule disquette ! Une disquette 3,5 pouces (1.44 Mo) peut contenir jusqu'à 1474560 octets de données. La taille du fichier image est exactement 1474560 octets. Les erreurs courantes concernant la création de la disquette de démarrage sont les suivantes : Vous n'avez pas téléchargé l'image-disque en mode binary en utilisant FTP Certains clients FTP mettent par défaut le transfert en mode ASCII, et essayent de changer le caractère de fin de ligne reçu pour correspondre aux conventions utilisées par le système client. Cela altère presque inévitablement le fichier image. Vérifiez la taille du fichier image téléchargé: si elle n'est pas exactement la même que sur le serveur, alors le processus de téléchargement est suspect. Une solution simple : tapez binary à l'invite FTP, après la connexion sur le serveur et avant le démarrage du téléchargement de l'image. Vous avez utilisé la commande DOS copy (ou une commande équivalente) pour transférer l'image de démarrage sur la disquette. Les programmes comme copy ne fonctionnent pas correctement avec les images, car ils ne peuvent créer une disquette de démarrage. L'image est le contenu exact de la disquette, piste à piste, et ne peut être copiée sur la disquette comme un fichier normal. Vous devez la transférer sur la disquette en mode brut {raw} en utilisant les outils de bas niveau {low-level} fdimage ou rawrite. Ces outils sont décrits dans la section installation de FreeBSD du manuel. Où sont les instructions pour installer FreeBSD ? Les instructions d'installation de FreeBSD se trouvent dans la section installation de FreeBSD du manuel. De quoi ai-je besoin pour faire tourner FreeBSD ? Vous avez besoin d'un PC 386 ou mieux, avec 5Mo ou plus de mémoire vive (RAM) et au moins 60Mo de disque dur. Il suffit d'une carte graphique MDA, mais pour utiliser X11R6, une carte video VGA ou mieux est nécessaire. Voir aussi la section compatibilité matérielle. Je n'ai que 4Mo de mémoire vive. Puis-je installer FreeBSD ? FreeBSD 2.1.7 est la dernière version de FreeBSD que l'on peut installer sur des systèmes avec 4Mo de mémoire vive. Les nouvelles versions de FreeBSD, comme la version 2.2, ont besoin d'au moins 5Mo de mémoire vive pour être installées sur un nouveau système. Toutes les versions de FreeBSD, y compris la version 3.0, peuvent fonctionner avec 4Mo de mémoire vive, mais ne peuvent pas exécuter le programme d'installation en 4Mo. Vous pouvez ajouter de la mémoire vive supplémentaire pour le processus d'installation, si vous voulez, et quand le système fonctionne, revenir à 4Mo. Ou vous pouvez placer votre disque sur un système disposant de plus de 4Mo, effectuer l'installation et l'échanger à nouveau. Il y a malgré tout des situations dans lesquelles FreeBSD 2.1.7 ne peut s'installer avec 4Mo. Pour être exact : cette version de n'installe pas avec 640Ko de mémoire de base et 3Mo de mémoire étendue. Si votre carte mère peut réallouer quelques blocs mémoire perdue hors de la région entre 640Ko et 1Mo alors vous pourrez installer FreeBSD 2.1.7 Regardez dans la configuration de votre BIOS si vous disposez d'un option remap. Si oui, activez la. Vous devez aussi désactiver la copie miroir de la mémoire ROM. Il est plus simple d'augmenter la mémoire vive à plus de 4Mo pour l'installation, construire un noyau contenant juste les options dont vous avez besoin, puis revenir à une configuration avec 4Mo. Vous pouvez dans le pire des cas, installer la version 2.0.5 et effectuer une mise à jour de votre système en version 2.1.7 avec l'option du programme d'installation de la 2.1.7. Après l'installation, si vous construisez un noyau sur mesure, cela tournera sans problème avc 4Mo. Certaines personnes ont même réussi a démarrer sur un système disposant de 2Mo de mémoire vive (bien sûr le système fut complétement inutilisable :-)). Comment créer ma propre disquette d'installation ? Actuellement il n'y a pas de solution pour créer *juste* une disquette d'installation personnalisée. Vous devez créer une distribution complète, qui contiendra votre disquette d'installation. Le code se trouvant dans /usr/src/release/floppies/Makefile peut laisser supposer que vous pouvez créer votre disquette, mais ce n'est pas le cas actuellement. Pour créer votre propre version, suivez les instructions se trouvant . Puis-je avoir plus d'un système d'exploitation sur mon PC ? Voyez la page du tutoriel sur la cohabitation de plusieurs systèmes d'exploitation. Est-ce que Windows 95 peut coexister avec FreeBSD ? Installez en premier Windows 95, puis FreeBSD. Le gestionnaire de démarrage de FreeBSD, vous permet de démarrer indifféremment sous Windows 95 ou FreeBSD. Si vous installez Windows 95 en second, il surchargera votre gestionnaire de démarrage sans même poser une question. Si cela arrive, voir la section suivante. Windows 95 a effacé mon gestionnaire de démarrage ! Comment le récupérer ? Vous pouvez ré-installer le gestionnaire de démarrage de FreeBSD de deux manières : Sous DOS, allez dans le répertoire tools de votre distribution FreeBSD et cherchez un programme bootinst.exe. Il vous l'exécutez ainsi: c:\tools>bootinst.exe boot.bin et le gestionnaire de démarrage sera ré-installé Démarrez à nouveau sous FreeBSD avec la disquette de démarrage et allez dans le menu Custom installation. Choisissez Partition Sélectionnez le disque devant contenir le gestionnaire de démarrage (probablement le premier) et quand vous arrivez dans l'éditeur de partition, la première chose à faire (c'est à dire n'effectuer aucun changement) sélectionnez (W)rite. Vous serez interrogé pour confirmation, répondez yes, et quand vous obtenez le menu de sélection du gestionnaire de démarrage, assurez vous de bien sélectionner Boot manager. Cela re-écrit le gestionnaire de démarrage sur le disque. Ensuite quittez le programme d'installation et redémarrez à partir du disque dur normalement. Peut-on installer FreeBSD sur un disque comportant des secteurs défectueux ? La gestion des secteurs défectueux (voir la commande bad144) de FreeBSD n'est pas fiable à 100% ; il serait plus juste de dire que si vous disposez d'un disque IDE ou ESDI avec énormement de bad blocks, alors FreeBSD n'est pas pour vous ! En fait FreeBSD tourne sur des centaines de systèmes à base de disques IDE, il vaut mieux essayer avant de vous décourager. Si vous avez un disque SCSI comportant des secteurs défectueux, voyez cette réponse Il se passe des choses étranges lorsque je démarre depuis la disquette d'installation ! Si vous détectez des choses comme : un blocage de la machine, un redémarrage inopiné de votre système avec la disquette d'installation, posez vous les 3 questions suivantes : Avez-vous utilisé une disquette neuve, sans erreurs (préférez une disquette sortie de la boîte plutôt qu'une disquette provenant du dernier magazine oublié sous votre lit depuis trois ans) ? Avez vous téléchargé l'image en mode binaire (ne vous offusquez pas, même les meilleurs d'entre nous, ont téléchargé des fichiers en mode ASCII au moins une fois) ? Si vous utilisez des systèmes d'exploitation récents comme Windows 95 ou Windows NT, avez vous arrété le système et redémarré en DOS simple et honnête ? Il semble que ces systèmes peuvent interférer avec des programmes qui écrivent directement sur le matériel, comme c'est le cas des programmes de création de disquette ; même en l'exécutant dans une fenêtre DOS de windows cela peut causer ces problèmes. Certaines informations mentionnant que Netscape pose des problèmes en téléchargeant l'image de la disquette de démarrage, donc utilisez un client FTP différent si vous pouvez. Je n'arrive pas à installer à partir de la bande Si vous installez la version 2.1.7R à partir d'une bande, vous devez créer la bande en utilisant un facteur de blocage de 10 (5120 octets). Le facteur de blocage par défaut de tar est 20 (10240 octets), et les bandes crées en utilisant cette valeur par défaut ne peuvent pas être utilisées pour installer la version 2.1.7R ; avec ce type de bande vous obtiendrez une erreur disant que la taille des enregistrements est trop grande. Connecter deux systèmes FreeBSD par les ports parallèle (PLIP) Trouvez un câble "laplink". Vérifiez que les deux ordinateurs ont un noyau avec le support de pilote lpt. $ dmesg | grep lp lpt0 at 0x378-0x37f irq 7 on isa lpt0: Interrupt-driven port lp0: TCP/IP capable interface Installez le câble "laplink" sur les ports parallèlle. Configurez les paramètres de l'interface réseau pour lp0 des deux côtés en tant que root. Par exemple, si vous voulez connecter l'ordinateur max avec moritz : max <-----> moritz IP Address 10.0.0.1 10.0.0.2 sur max, démarrez : # ifconfig lp0 10.0.0.1 10.0.0.2 sur moritz, démarrez : # ifconfig lp0 10.0.0.2 10.0.0.1 C'est tout ! Lisez aussi les manpages lp4 and lpt4. Vous devez aussi ajouter les deux adresse dans /etc/hosts : 127.0.0.1 localhost.my.domain localhost 10.0.0.1 max.my.domain max 10.0.0.2 moritz.my.domain moritz Pour vérifier le bon fonctionnement faire : sur max : $ ifconfig lp0 lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 $ netstat -r Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire moritz max UH 4 127592 lp0 $ ping -c 4 moritz PING moritz (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms --- moritz ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms Peut-on effectuer une installation par le port parallèle (PLIP) Connectez les deux ordinateurs avec un cable parallèle "Laplink"
Cable parallèle +----------------------------------------+ |A-name A-End B-End Descr. Port/Bit | +----------------------------------------+ |DATA0 2 15 Data 0/0x01 | |-ERROR 15 2 1/0x08 | +----------------------------------------+ |DATA1 3 13 Data 0/0x02 | |+SLCT 13 3 1/0x10 | +----------------------------------------+ |DATA2 4 12 Data 0/0x04 | |+PE 12 4 1/0x20 | +----------------------------------------+ |DATA3 5 10 Strobe 0/0x08 | |-ACK 10 5 1/0x40 | +----------------------------------------+ |DATA4 6 11 Data 0/0x10 | |BUSY 11 6 1/0x80 | +----------------------------------------+ |GND 18-25 18-25 GND - | +----------------------------------------+
Voir aussi cette note sur la page de FreeBSD pour les portables
Quelle géométrie dois-je utiliser pour un disque ? (Par le mot "géométrie" d'un disque, nous pensons aux nombres de cylindres, têtes et secteurs par pistes sur un disque - Nous dirons par la suite C/H/S. C'est de cette façon que le BIOS des PC arrive à écrire ou lire une zone du disque). Cela peut préter à confusion pour différentes raisons. Premièrement, la géométrie physique d'un disque SCSI ne veut rien dire, de la façon dont FreeBSD utilise les blocs disques. En fait, on ne peut parler de la géométrie physique, la densité des secteurs variant sur le disque -ce que les fabricants appellent la vraie géométrie physique, c'est la géométrie qu'ils ont détérminé, pour avoir le moins d'espace perdu. Pour les disques IDE, FreeBSD voit en terme de C/H/S, mais tous les disques récents convertissent cela en blocs eux-mêmes. Tout cela est, en fait, la géométrie logique   la réponse que le BIOS reçoit lorsqu'il demande quelle est votre géométrie ? et qu'il utilise pour accéder au disque. Comme FreeBSD utilise le BIOS pour démarrer, il est très important qu'elle soit juste. En particulier, si vous avez plus d'un système d'exploitation sur votre disque, ils doivent être d'accord sur la géométrie, sinon vous rencontrerez de graves problèmes au démarrage du système. Pour les disques SCSI, la géométrie à utiliser dépend du support de translation étendu activé sur votre contrôleur (ou encore appelé support pour les disques DOS >1Go ou similaire). S'il n'est pas activé, utilisez N cylindres, 64 têtes et 32 secteurs par pistes, ou 'N' est la capacité du disque en Mo. Par exemple, pour un disque de 2Go vous devez utiliser 2048 cylindres, 64 têtes et 32 secteurs par piste. Si cette option est active (c'est le cas la plupart du temps pour permettre de passer outre certaines limitations de MSDOS) et que le disque a une capacité de plus de 1Go, utilisez M cylindres, 63 têtes (et *pas* 64), et 255 secteurs par piste, où M correspond à la capacité en Mo divisé par 7.844238 (!). Donc, en prenant un disque de 2Go nous obtenons 261 cylindres, 63 têtes et 255 secteurs par piste. Si vous n'êtes pas sûr de point, ou si FreeBSD n'arrive pas à détecter la géométrie correctement au moment de l'installation, la façon la plus simple de faire, est de créer une petite partition DOS sur le disque. La géométrie correcte sera alors détectée (et vous pourrez toujours retirer la partition DOS dans l'éditeur de partitions si vous ne voulez pas la garder ou conservez la pour la programmation de cartes réseau). Une autre solution est d'utiliser un outil disponible librement distribué avec FreeBSD appelé pfdisk.exe (il se trouve dans le répertoire tools du CDROM de FreeBSD ou sur les sites ftp), qui permet de voir quelle géométrie utilisent les autres systèmes sur ce disque. Vous pourrrez ensuite entrer cette géométrie dans l'éditeur de partitions. Y a-t-il des restrictions sur la façon de partitionner le disque ? Oui. Vous devez vous assurer que la partition / {root} se trouve dans les 1024 premiers cylindres, pour permettre au BIOS de trouver le noyau. (Notez que c'est une limitation dûe au BIOS des PC et non pas à FreeBSD). Dans le cas d'une disque SCSI, cela implique que la partition / {root} soit dans les 1024 premiers Mo (ou dans les 4096 premiers si la translation est en place - voir la question précédente). Pour un disque IDE, il faut qu'elle se trouve dans les 504 premiers Mo. A propos des gestionnaires de disque ? Ou bien, j'ai un disque de grande capacité ! FreeBSD reconnait le gestionnaire "Ontrack Disk Manager" et le tolère. Les autres gestionnaires de disque ne sont pas supportés. Si vous voulez utiliser le disque uniquement avec FreeBSD, vous n'avez pas besoin de gestionnaire de disque. Configurez simplement le disque pour utiliser le maximum de place reconnue par le BIOS (la plupart du temps 504Mo), et FreeBSD trouvera de lui même la capacité de votre disque. Si vous utilisez un vieux disque avec un controlleur MFM, vous devrez donner explicitement à FreeBSD le nombre de cylindres à utiliser. Si vous voulez utiliser le disque avec FreeBSD et un autre système d'exploitation, vous n'aurez pas besoin d'un gestionnaire de disque: assurez vous que la partition de démarrage de FreeBSD et les tranches pour les autres systèmes d'exploitation se trouvent dans les 1024 premiers cylindres. Si vous êtes prudent, une partition de démarrage de 20Mo doit suffire. Lors du démarrage de FreeBSD j'obtiens "Missing Operating System" C'est le symptôme classique où FreeBSD et DOS, ou un autre système d'exploitation, sont en conflit à propos de la géométrie du disque. Vous devez alors réinstaller FreeBSD, en faisant attention à toutes les informations qui vous sont présentées. Je ne peux pas aller plus loin que le message `F?' du gestionnaire de démarrage. Ceci est un autre symptôme du problème décrit à la question précédente. La géométrie trouvée par le BIOS et celle de FreeBSD ne sont pas les mêmes. Si votre contrôleur ou votre BIOS supporte la translation de cylindres (souvent indiquée comme "Support des disques >1Go"), essayez de changer les paramètres et réinstallez FreeBSD. Je dispose de plus de 16Mo de RAM. Est-ce que cela peut poser un problème ? Mis à part les problèmes de performances, non. FreeBSD 2.X inclus des bounce buffers permettant à votre bus principal d'accéder à plus de 16Mo de mémoire. (Notez que cela n'est vrai que pour les périphériques ISA, et quelques périphériques EISA ou VLB). Voyez aussi la section parlant des ordinateurs plus de 64Mo de RAM, si vous avez autant de mémoire, ou si vous utilisez un ordinateur Compaq ou un autre BIOS qui donne de mauvaises informations sur la mémoire disponible. Dois-je installer tous les sources ? La plupart du temps, non. Malgré tout, nous vous conseillons fortement d'installer, au minimum, les sources de base (sbase) ainsi que les sources du noyau (ssys). Il n'y a rien dans le système qui nécessite la présence des sources, sauf si vous désirez reconfigurer le noyau du système. A l'exception du noyau, notre structure de compilation est faite pour vous permettre de visualiser les sources (même en lecture seule) et de construire alors de nouveaux binaires. (En raison de la restriction des sources du noyau, nous vous recommandons de monter les sources ailleurs que dans /usr/src en créeant les liens symboliques appropriés permettant de dupliquer la structure complète des sources). En ayant les sources à votre disposition et en sachant comment l'on construit un système avec, cela permettra d'avoir une façon très simple pour mettre à jour votre système vers les prochaines versions de FreeBSD. Pour n'installer qu'une partie des sources, utilisez le menu Custom quand vous êtes dans le menu Distributions du programme d'installation. Le script src/install.sh peut installer aussi certains éléments des sources, en fonction des arguments que vous lui passez. Suis-je obligé de construire un nouveau noyau ? Construire un nouveau noyau, était encore, il y a quelque temps, une étape à peu près obligatoire après l'installation de FreeBSD, mais les nouvelles versions ont bénéficié d'un utilitaire de configuration du noyau plus sympathique. Au démarrage de FreeBSD et après l'invite de démarrage (boot:) utilisez le paramètre et vous aurez alors accès au menu de configuration visuel, qui vous permet de configurer les paramètres de la plupart des cartes ISA. Il est encore recommandé construire un nouveau noyau contenant juste les pilotes dont avez besoin, seulement pour économiser un peu de RAM, mais ce n'est plus une exigence stricte pour la plupart des systèmes. Je réside en dehors des Etats-Unis. Puis-je utiliser le DES ? Si la méthode de cryptage DES ne vous est pas absolument nécessaire, alors vous pouvez utiliser le système de cryptage fourni par défaut avec FreeBSD et qui vous apporte une bien meilleure sécurité, sans aucune restriction d'exportation. Le cryptage des mots de passe par défaut de FreeBSD 2.0 est maintenant basé sur MD5, qui est plus difficile à casser que DES, avec un outil automatisé en raison de sa forte demande en temps de calcul, et qui permet aussi d'utiliser des mots de passe plus longs. La seule raison pour laquelle vous ne pouvez pas utiliser le cryptage basé sur MD5 est, si vous désirez utiliser la même entrée du fichier des mots de passe sur des systèmes FreeBSD et non-FreeBSD. Comme l'algorithme de cryptage DES ne peut pas être légalement exporté en dehors des Etats-Unis, tout utilisateur non américain ne doit pas télécharger les logiciels l'incluant (se trouvant dans le répertoire sec des sites FTP américains) Il y a cependant une librairie de remplacement disponible, libcrypt, basée sur des sources écrit en Australie par David Burren. Le code est maintenant disponible sur certains sites ftp miroirs en dehors des Etats-Unis. Les sources, ainsi que les binaires des programmes l'utilisant peuvent être téléchargés sur les sites ftp suivants: Afrique du Sud: ftp://ftp.internat.freebsd.org/pub/FreeBSD ftp://storm.sea.uct.ac.za/pub/FreeBSD Brésil: ftp://ftp.iqm.unicamp.br/pub/FreeBSD Finlande: ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt Cette distribution non-US peut être directement utilisée à la place de la distribution américaine. Ce paquetage s'installe de la même façon que le paquetage américain (regardez les notes d'installation du paquetage pour plus de détails). Si vous désirez installer le cryptage DES, vous devez l'installer le plus tôt possible, avant l'installation de tout autre logiciel. Les utilisateurs ne résidant pas aux Etats-Unis ne doivent télécharger aucun programme de cryptage sur un site américain. Cela pourrait entrainer, pour les responsables du site depuis lequel le logiciel est téléchargé, de graves problèmes juridiques. Une distribution non-US de Kerberos est aussi en cours de développement, et les versions courantes peuvent généralement être obtenues depuis un site FTP anonyme braae.ru.ac.za Il existe aussi une liste de messagerie discutant de tous les logiciels non-US de cryptage. Pour plus d'informations, envoyez un email contenant le mot "help" dans le corps du message à <majordomo@braae.ru.ac.za> La disquette de démarrage se bloque sur le message "Probing Devices..." Si vous disposez d'un disque ZIP ou JAZ, retirez-le et recommencez. La disquette d'installation a des problèmes avec ce genre de disque. Une fois le système installé, vous pouvez reconnecter le disque. Si tout va bien ce problème sera fixé dans une version ultérieure. J'obtiens le message "panic: cant mount root" lors du redémarrage de mon système après l'installation. Cette erreur indique un conflit entre les blocs de démarrage du système et la connaissance du noyau sur les disques. Cette erreur arrive fréquemment dans le cas d'un système disposant de deux disques IDE, avec chaque disque installé en maître ou périphérique unique sur des contrôleurs séparés, avec FreeBSD installé sur le contrôleur IDE secondaire. Le programme de démarrage pense que le système est installé sur wd1 (le second disque vu par le BIOS) alors que le noyau affecte wd2 au premier disque du deuxième contrôleur. Après le test de tous les périphériques, le noyau essaye de monter ce que le programme de démarrage pense être le disque de démarrage, wd1, alors qu'il s'agit en fait de wd2 et échoue. Pour résoudre ce problème, effectuez les opérations suivantes : Au message de démarrage tapez : 1:wd(2,a)kernel puis Entrée. Si le système démarre, lancez la commande echo "1:wd(2,a)kernel" > /boot.config pour affecter la bonne chaîne de démarrage. Déplacez le disque FreeBSD sur le controleur primaire, les disques sont alors vus de façon contigus. Reconstruisez un noyau en modifiant les lignes de configuration wd pour avoir: controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 # disk wd1 at wdc0 drive 1 # comment out this line controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr disk wd1 at wdc1 drive 0 # change from wd2 to wd1 disk wd2 at wdc1 drive 1 # change from wd3 to wd2 Puis installez le nouveau noyau. Si vous avez déplacé vos disques et vous voulez restaurer la configuration précédente, placez les disques dans la configuration désirée puis redémarrez. Votre système doit démarrer correctement. Quelles sont les limites mémoire ? Pour la mémoire, la limite est (en théorie) 4Go. Un essai a été fait avec un Go ; vous ne pourrez probablement pas acheter des PC i386 pouvant supporter plus que cela. Quelles sont les tailles limites pour les systèmes de fichiers FFS ? La taille maximum théorique d'un système de fichiers FFS est de 8 téraoctets (2G blocs) ou de 16To avec la taille de bloc par défaut de 8K. Il y a en pratique une limite logicielle à 1 téraoctet mais, avec quelques modifications, il est possible d'avoir des systèmes de fichiers de 4 téraoctet (et il en existe). La taille maximum d'un fichier FFS est d'environ 1G blocs (4To), quand la taille de bloc est de 4K. taille de fichier maximum ----------------------------------------- 2.2.7 3.0 taille de bloc -stable -current marche devrait marcher -------------- ------- -------- ------ --------------- 4K 4T-1 4T-1 4T-1 4+T 8K 32+G 8T-1 32+G 16T-1 16K 128+G 16T-1 128+G 32T-1 32K 512+G 32T-1 512+G 64T-1 64K 2048+G 64T-1 2048+G 128T-1 Quand la taille du bloc est de 4K, l'adressage du bloc par indirection triple fonctionne et la limite devrait être définie par le plus grand numéro de bloc qui peut être reprété avec une indirection triple (approximativement 1K^3 + 1K^2 + 1K), mais la limite effective est en fait donnée par une valeur (erronée) de 1G-1 pour le nombre de blocs maximum. Cette valeur devraite être de 2G-1. Il y a des bogues avec les blocs dont le numéro est voisin de 2G-1, et ces blocs ne peuvent être adressés quand la taille du bloc est de 4K. Pour les tailles de blocs de 8K et plus, tout devrait être limité par la valeur de 2G-1 pour les numéros de blocs, mais l'est en fait par la valeur maximum de 1G-1, hormis sous -stable, les blocs adressés par indirection triple ne peuvent être atteints, la limite est donc donnée par le plus grand numéro de bloc qui peut être adressé par une double indirection (approximativement (taille du bloc/4)^2 + (taille du bloc/4)), et dépasser cette limite sous -current peut poser des problèmes. Utiliser la valeur correcte de 2G-1 blocs posent à coup sûr des problèmes. Comment puis-je mettre des fichiers de 1To sur une disquette ? J'en ai plusieurs - virtuels - sur disquette :-). La taille maximum d'un fichier n'a pas de lien étroit avec la dimension maximum d'un disque. Un disque peut avoir jusqu'à un 1To. Il est fonctionnellement possible d'avoir un fichier plus grand que le disque. L'exemple suivant crée un fichier de 8T-1 occupant 32K d'espace disque. (3 blocs indirects et 1 bloc de données) sur une petite partition racine. Il faut pour cela une version de la commande dd qui fonctionne sur de gros fichiers. ttyv0:bde@alphplex:/tmp/q> cat foo df . dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1 ls -l z du z df . ttyv0:bde@alphplex:/tmp/q> sh foo Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/sd0a 64479 27702 31619 47% / 1+0 records in 1+0 records out 1 bytes transferred in 0.000187 secs (5346 bytes/sec) -rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z 32 z Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/sd0a 64479 27734 31587 47% / ttyv0:bde@alphplex:/tmp/q> exit Bruce Evans, September 1998
Compatibilité matérielle. **Mise à jour en cours** Quels sont les types de disques durs supportés par FreeBSD ? FreeBSD supporte les disques EIDE et SCSI (pour les contrôleurs compatibles, voir la section suivante), ainsi que tous les disques utilisant l'interface originale "Western Digital" (MFM, RLL, ESDI et bien sûr IDE). Quelques contrôleurs ESDI utilisant des interfaces propriétaires peuvent ne pas marcher: utilisez les interfaces WD1002/3/6/7 et leurs clones. Quels sont les contrôleurs SCSI supportés ? Voir la liste complète dans le Handbook. Quels sont les lecteurs CD-ROM supportés par FreeBSD ? N'importe quel lecteur SCSI connecté à un contrôleur supporté est supporté. Les interfaces CD-ROM propriétaires suivantes sont aussi supportées: Mitsumi LU002 (8 bits), LU005 (16 bits) et FX001D (16 bits double vitesse). Sony CDU 31/33A CD-ROM Sound Blaster Non-SCSI CD-ROM Matsushita/Panasonic CD-ROM ATAPI compatible IDE Toutes les cartes non-SCSI sont connues pour être extrêmement lentes par rapport aux lecteurs SCSI, et certains CDROM ATAPI peuvent ne pas être pris en charge. A partir de la version 2.2, le CD-ROM FreeBSD de Walnut Creek permet de démarrer directement FreeBSD depuis le CD. Est-ce que FreeBSD supporte les lecteurs ZIP ? FreeBSD supporte bien sûr les lecteurs ZIP SCSI de base  - out of the box. Les lecteurs ZIP ne peuvent être réglés que pour marcher sur les cibles SCSI d'adresse 5 ou 6, mais si le BIOS de votre adaptateur SCSI hôte le permet, vous pourrez même démarrer à partir du ZIP. Je ne sais pas quel adaptateur SCSI hôte vous permet de démarrer depuis des cibles autres que 0 ou 1... regardez votre documentation (et dites moi si cela marche pour vous). Les ZIP ATAPI (IDE) sont pris en charge par FreeBSD 2.2.6 ainsi que par les versions ultérieures. FreeBSD 3.0-STABLE contient le support pour lecteur ZIP sur port parallèle, mais pour cela, vous aurez à construire un nouveau noyau avec support pour ppbus (Parallel Port Bus) afin d'utiliser le ZIP. Prendre le fichier de configuration LINT comme exemple. Regarder aussi cette note traitant des disques amovibles, ainsi que celle sur le 'formatage'. Est-ce que FreeBSD supporte JAZ, EZ et autres disques amovibles ? A part la version IDE du lecteur EZ, ce sont tous des périphériques SCSI, alors pour FreeBSD, ils sont considérés comme des disques SCSI, et le lecteur IDE EZ est considéré comme un lecteur IDE. Je ne suis pas sûr que FreeBSD supporte correctemement un changement de media en cours de fonctionnement. Vous devrez bien sûr démonter le lecteur avant l'échange, et vous assurer que les unités externes soient allumées pendant le démarrage du système de sorte que FreeBSD puisse les voir. Quelles sont les cartes séries multi-ports prises en charge par FreeBSD ? Une liste est disponible à la section périphériques divers du handbook. A notre connaissance, certaines cartes clone sans marque sont connues pour fonctionner, en particulier celles qui se disent être compatibles AST. Regarder la page de manuel sio pour plus d'informations sur la configuration de telles cartes. J'ai une souris bus inhabituelle. Comment la configurer ? FreeBSD supporte les souris bus et les souris bus InPort de constructeurs tels que Microsoft, Logitech et ATI. Le contrôleur du bus est compilé dans le noyau GENERIC par défaut. Si vous construisez un noyau personalisé avec le contrôleur de souris bus, assurez-vous d'avoir bien mis la ligne suivante dans le fichier de configuration du noyau : device mse0 at isa? port 0x23c tty irq5 vector mseintr La souris bus vient souvent avec une interface dédiée. Cela vous permet de mettre une adresse de port et un numéro d'IRQ autres que ceux donnés ci-dessus. Reportez-vous au manuel de votre souris et à la page de manuel mse pour plus d'informations. Comment utiliser ma souris PS/2 (``port souris'' ou ``clavier'') ? Si vous utilisez une version de FreeBSD post-2.2.5, le pilote nécessaire, psm, est inclu et activé dans le noyau. Le noyau devrait détecter votre souris PS/2 au moment du démarrage. Si vous utilisez une version précédente mais assez récente de FreeBSD (2.1.x ou mieux), alors vous pouvez simplement l'activer dans le menu de configuration du noyau à l'installation, ou plus tard avec -c à l'invite du démarrage (boot). Il est désactivé par défaut, c'est pourquoi vous aurez à l'activer explicitement. Si vous utilisez une version plus ancienne du noyau, alors vous aurez à ajouter la ligne suivante dans la configuration de votre noyau, et compiler un nouveau noyau : device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr Voir la section du Handbook sur la configuration du noyau si vous n'avez aucune expérience dans la construction d'un noyau. Un fois que vous aurez un noyau détectant correctement psm0 au moment du démarrage, assurez vous qu'une entrée pour psm0 existe bien dans /dev. Vous pouvez le faire en tapant : cd /dev; sh MAKEDEV psm0 une fois loggué sous root. Puis-je utiliser ma souris en dehors de X Window ? Si vous utilisez le pilote de console par défaut, syscons, vous pourrez utiliser un curseur souris dans les consoles texte pour couper et coller du texte. Lancer le démon (de gestion de la) souris : moused, et déclencher le curseur de souris dans la console virtuelle. moused -p /dev/xxxx -t yyyy vidcontrol -m on xxxx est le nom du périphérique souris et yyyy le type de protocole pour la souris. Voir la page de manuel moused pour les types de protocoles supportés. Peut-être préférez-vous lancer le démon gérant la souris au moment du démarrage du système. Dans la version 2.2.1, positionnez les variables suivantes dans /etc/sysconfig. mousedtype="yyyy" mousedport="xxxx" mousedflags="" Dans les versions 2.2.2 et plus, positionnez les variables suivantes dans /etc/rc.conf. moused_type="yyyy" moused_port="xxxx" moused_flags="" A partir de la version 2.2.6 de FreeBSD, le démon souris est capable de déterminer le type de protocole approprié automatiquement à moins que votre souris série ne soit d'un modèle relativement ancien. Spécifiez ``auto'' comme protocole pour activer la détection automatique. Quand le démon souris tourne, l'accès à la souris doit être coordonné entre le démon souris et les autres programmes comme X-Window. Se référer à une autre section de ce document. Comment puis-je couper et coller du texte avec ma souris dans ma console texte ? Une fois que vous aurez réussi à lancer le démon souris (voir section précédente), appuyez en le maintenant sur le bouton 1 (bouton de gauche) et déplacez la souris afin de sélectionner une partie du texte. Puis, appuyez (clicquez) sur le bouton 2 (bouton du milieu) ou bouton 3 (bouton de droite) pour le coller à l'endroit du curseur texte. Dans les versions 2.2.6 et plus, un clic sur le bouton 2 collera le texte. Un clic sur le bouton droit ``étendra'' la partie de texte sélectionné. Si votre souris n'a pas de bouton du milieu, vous pouvez l'émuler ou redéfinir les boutons en utilisant les options de la souris. Se reporter à la page de référence moused pour plus de détails. Ma souris a une roulette et des boutons ésotériques. Puis-je les utiliser sous FreeBSD ? Malheureusement, la réponse est: ``Cà dépend''. Ces souris avec des fonctionnalités supplémentaires ont besoin de pilotes spéciaux dans la majorité des cas. Alors, à moins que le pilote de la souris ou que le programme utilisateur ait un support spécifique pour cette souris, la souris se comportera comme une souris standard 2 ou 3 boutons. Comment utiliser la souris/trackball/touchpad de mon portable ? Se référer à la réponse à la question précédente, ainsi qu'à cette section sur les ordinateurs portables. Quels types de lecteurs de bandes sont supportés ? FreeBSD supporte les lecteurs de bandes magnétique SCSI, QIC-36 (avec une interface QIC-02) et QIC-40/80 (basés sur l'interface Floppy). Ceci inclut les lecteurs 8-mm (connus sous le nom d'Exabyte) et lecteurs DAT. Les lecteurs QIC-40/80 sont connus pour être lents. Parmi les premiers lecteurs 8-mm, quelques-uns ne sont pas tout à fait compatibles SCSI-2, et peuvent de ce fait ne pas très bien marcher avec FreeBSD. FreeBSD supporte-t-il les changeurs de bandes ? FreeBSD 2.2 gère les changeurs SCSI en utilisant le périphérique ch ainsi que la commande chio. Pour avoir plus de détails sur le contrôle du changeur, lisez la page du manuel chio. Si vous n'utilisez pas AMANDA ou un autre produit qui gère déjà les changeurs, souvenez-vous qu'ils ne savent que déplacer une bande d'un point à un autre. Par conséquent, vous devrez garder une trace de l'emplacement dans lequel une bande est mise, ainsi que celui où la bande courante devra revenir. Quelles sont les cartes son supportées par FreeBSD ? FreeBSD prend en charge les cartes son: SoundBlaster, SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16, AdLib et Gravis UltraSound. Il y a aussi un support limité pour les cartes MPU-401 et compatible MIDI. Les cartes conformes aux spécifications Microsoft Sound System sont aussi supportées par l'intermédiaire du pilote pcm. Ceci n'est valable que pour les sons! Ce pilote ne supporte pas les CD-ROMs, SCSI ou joysticks sur ces cartes, excepté pour la SoundBlaster. L'interface SCSI SoundBlaster et quelques CD-ROM non-SCSI sont aussi supportés. Mais vous ne pourrez pas démarrer depuis ces périphériques. Quels sont les cartes réseau supportées par FreeBSD ? Regarder la section cartes éthernet du handbook pour une liste complète. Je n'ai pas de coprocesseur arithmétique. Est-ce un problème ? Cela ne touche que ceux qui ont un 386/486SX/486SLC - toutes les autres machines en ont déjà un intégré dans la CPU. En règle générale, il n'y a pas d'inconvénient, mais il existe des circonstances dans lesquelles cela peut causer des problèmes aussi bien au niveau des performances qu'au niveau de la précision du code d'émulation arithmétique (voir la section sur l'émulation FP). En particulier, le dessin de courbes sous X sera TRES lent. Il est hautement recommandé d'acheter un coprocesseur arithmétique : c'est quand même mieux avec ! Certains coprocesseurs mathématiques sont meilleurs que d'autres. Cela nous peine de le dire, mais personne n'a jamais été licencié pour avoir acheté de l'Intel. A moins que d'être sûr qu'ils fonctionnent avec FreeBSD, méfiez-vous des clones ! Quels autres périphériques la version 2.X supporte-t-elle ? Lire le Handbook pour obtenir la liste des périphériques supportés. FreeBSD supporte-t-il le gestionnaire d'énergie de mon portable ? FreeBSD supporte l'APM sur certaines machines. Regardez dans le fichier de configuration du noyau LINT, et cherchez le mot-clef APM. Solutions de contournement pour des problèmes matériels particuliers. Cette section traite de solutions de contournement pour des problèmes rencontrés par nos utilisateurs sur certains matériels particuliers. Les systèmes Micron sont suspendus au moment du démarrage. Certaines cartes mères Micron ont des implémentations non-conformes de PCI BIOS, ce qui peut poser des problèmes lorsque FreeBSD démarre car les périphériques PCI ne sont pas configurés à l'adresse annoncée. Désactivez l'option "Système d'exploitation Plug and Play" dans le BIOS pour contourner ce problème. Des compléments d'informations peuvent être trouvés à "http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron" J'ai un nouveau contrôleur Adaptec, et FreeBSD ne le reconnait pas. Les nouvelles puces de la série Adaptec AIC789x sont supportées dans le cadre du CAM SCSI qui démarre avec la 3.0. Des patches pour la version 2.2-STABLE sont disponibles à ftp://ftp.freebsd.org/pub/FreeBSD/cam/ Une disquette d'amorce avec CAM est disponible à http://www.freebsd.org/~abial/cam-boot/. Dans les deux cas, lisez le fichier README avant toute chose. J'ai un modem interne plug'n play, et FreeBSD ne le reconnait pas. Vous devez ajouter l'ID PnP du modem à la liste des ID PnP dans le pilote série. Pour activer le support Plug & Play, il faut compiler un nouveau noyau avec controller pnp0 dans le fichier de configuration, puis redémarrer le système. Le noyau affichera alors l'ID PnP de tous les périphériques qu'il trouvera. Copier alors l'ID PnP du modem dans le tableau de /sys/i386/isa/sio.c, vers la ligne 1200. Cherchez la chaîne de caractère "SUP1310" dans la structure "siopnp_ids[]" pour trouver le tableau. Construire à nouveau le noyau, installer, redémarrer, et votre modem devrait être reconnu. Vous pouvez configurer manuellement les périphériques PnP en utilisant la commande `pnp' à la configuration au moment du démarrage, avec une commande du style : pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8 pour afficher le modem. Comment puis-je obtenir l'invite de commande ``boot:'' sur la console série ? Construire un noyau avec options COMCONSOLE. Créer un fichier /boot.config avec pour seul contenu -P Déconnecter le clavier du système. Redardez /usr/src/sys/i386/boot/biosboot/README.serial pour plus d'informations. Pourquoi ma carte réseau 3Com PCI ne marche pas avec mon Micron ? Certaines cartes mères Micron ont une implémentation non-conforme du BIOS PCI qui ne configure pas les périphériques PCI à l'adresse annoncée. Cela cause des problèmes quand FreeBSD démarre. Pour contourner ce problème, désactiver l'option "Système d'exploitation Plug and Play" dans le BIOS. Pour plus d'informations sur ce problème, allez voir à l'URL: http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron FreeBSD supporte-t-il les Multiprocesseurs Symétriques (SMP) ? SMP n'est supporté que dans la version 3.0-STABLE et les versions suivantes. Résolutions des incidents. **Mise à jour en cours** J'ai des secteurs défectueux sur mon disque dur ! Pour les disques SCSI, le disque devrait être capable de réallouer ceux-ci automatiquement. Quoiqu'il en soit, beaucoup de disques sont livrés avec cette fonctionnalité désactivée, pour une raison mystérieuse... Pour l'activer, vous aurez à éditer le first device page mode, ce qui peut être fait sur FreeBSD en tapant la commande (sous root) scsi -f /dev/rsd0c -m 1 -e -P 3 et en changeant la valeur de AWRE et ARRE de 0 à 1 : AWRE (Auto Write Reallocation Enbld): 1 ARRE (Auto Read Reallocation Enbld): 1 Les paragraphes suivants ont été soumis par Ted Mittelstaedt : Pour les disques IDE, le moindre secteur défectueux est habituellement un signe d'incident potentiel. Tous les disques IDE modernes sont livrés avec la réallocation des secteurs défectueux activée. Tous les fabriquants de disques durs IDE offrent aujourd'hui des garanties étendues et remplaceront les disques possédant des secteurs défectueux. Si vous voulez toutefois essayer de récupérer un disque IDE avec des secteurs défectueux, vous pouvez essayer de télécharger le programme de diagnostic du fabriquant de disque IDE et de le faire exécuter sur le disque. Quelquefois, ces programmes peuvent être configurés pour forcer l'électronique du disque à rebalayer le disque pour les secteurs défectueux et leur inhibition. Pour les disques ESDI, RLL et MFM, les secteurs défectueux font partie de la vie normale du disque et ne sont pas signes d'incidents, généralement. Avec un PC, la carte contrôleur de disque et le BIOS prennent en charge la tâche d'inhibition des secteurs défectueux. C'est bien pour les systèmes d'exploitation comme DOS qui utilisent le code du BIOS pour accéder au disque. Toutefois, le driver de disque FreeBSD ne passe pas par le BIOS, aussi un mécanisme, bad144, existe pour remplacer cette fonctionnalité. bad144 ne fonctionne qu'avec le driver wd, il ne peut pas être utilisé avec le SCSI. bad144 fonctionne en entrant tous les secteurs défectueux trouvés dans un fichier spécial. Un inconvénient avec bad144 -  le fichier spécial des secteurs défectueux est placé sur la dernière piste du disque. Comme ce fichier contient peut-être une liste de secteurs dont l'un serait près du début du disque, où le fichier noyau /kernel serait aussi localisé, il doit donc être accéssible au progamme d'amorce (bootstrap) qui utilise les appels du BIOS pour lire le fichier du noyau. Cela signifie qu'un disque géré avec bad144 ne peut dépasser 1024 cylindres, 16 têtes et 63 secteurs. Cela place une limite effective de 500Mo sur un disque qui est réalloué avec bad144. Pour utiliser bad144, positionnez simplement le balayage des secteurs défectueux Bad Block à ON dans le menu fdisk de FreeBSD lors de l'installation initiale. Cela marche jusqu'à la version 2.2.7 de FreeBSD. Le disque doit avoir moins de 1024 cylindres. Il est généralement recommandé de laisser tourner préalablement le disque pendant plus de 4 heures avant cette opération, pour tenir compte de la dilatation thermique et des pistes errantes. Si le disque a plus de 1024 cylindres (comme un gros disque ESDI), le contrôleur ESDI utilise un mode de translation spécial pour le faire fonctionner sous DOS. Le driver wd comprend ces modes de translation, si vous entrez la géométrie "translatée" avec la commande set geometry dans fdisk. De plus, vous ne devez pas utiliser le mode dangerously dedicated de création d'une partition FreeBSD, parce qu'il ignore la géométrie. De plus, même si fdisk va utiliser votre géométrie surchargée, il continue à connaître la vrai taille du disque et va tenter de créer une partition FreeBSD trop grande. Si la géométrie du disque est remplacée par la géométrie translatée, la partition doit être créée manuellement avec le nombre de secteurs. Un truc rapide à utiliser est d'initialiser le gros disque ESDI avec le contrôleur ESDI, le démarrer avec un disque DOS et le formatter avec une partition DOS. Puis, démarrez l'installation FreeBSD et dans le menu fdisk, lire depuis l'écran et écrire à côté la taille et le nombre de secteurs de la partition DOS. Puis, réinitilisez la géométrie comme celle de DOS en détruisant la partition DOS et en créant une partition FreeBSD cooperative avec la taille précédemment notée. Puis positionnez la partition pour être amorçable et autorisez le balayage des secteurs défectueux. Pendant l'installation réelle, bad144 passera en premier, avant la moindre création de systèmes de fichiers (vous pouvez le voir avec un Alt-F2). S'il a le moindre problème pour créer le fichier des secteurs défectueux, vous avez initialisé une géométrie de disque trop grande - redémarrez le système et recommencez tout depuis le début (y compris le repartitionnement et reformattage en DOS). Si la réallocation est autorisée et que vous voyez des secteurs défectueux, envisagez un remplacement du disque. Les secteurs défectueux ne feront que s'aggaver au fil du temps. FreeBSD ne reconnait pas ma carte EISA SCSI Bustek 742a ! Cette information est spécifique à la 742a, mais peut aussi couvrir les autres cartes Buslogic (Bustek = Buslogic). Il y a 2 ``versions'' générales de la carte 742a. Ce sont les révisions matérielles A-G et H - et plus. La lettre de révision est placée après le numéro d'assemblage sur le bord de la carte. La 742a possède 2 puces ROM dessus, l'une est la puce BIOS et l'autre est la puce Firmware. Si FreeBSD ne fait pas attention à la version de la puce BIOS que vous avez, il le fait par contre pour la version de la puce Firmware. Buslogic vous enverra des ROMs de mise à jour si vous appelez leur support technique. Les puces BIOS et Firmware sont appariées. Vous devez avoir la ROM Firmware la plus en cours dans votre carte d'adaptatation pour votre révision de matériel. Les cartes REV A-G ne peuvent recevoir que les versions de BIOS/Firmware 2.41/2.21. Les cartes REV H - et plus peuvent accepter les plus récente versions de BIOS/Firmware 4.70/3.37. La différence entre ces jeux de firmware est que le 3.37 supporte l'allocation tournante (``round robin''). Les cartes Buslogic ont aussi un numéro de série inscrit. Si vous avez une vieille révision de carte, vous pouvez appeler le département Buslogic RMA et leur donner le numéro de série afin d'essayer d'échanger celle-ci contre une révision plus récente. Si votre carte n'est pas trop vieille, il l'échangeront. FreeBSD 2.1 ne supporte que les versions firmware 2.21 et plus. Si vous avez une version Firmware plus vieille, votre carte ne sera pas reconnue comme une carte Buslogic. Elle peut malgré tout être reconnue comme une carte Adaptec 1540. La vieille carte firmware contient un mode ``émulation'' AHA1540. Quoiqu'il en soit, ce n'est pas une bonne chose pour une carte EISA. Si vous avez une vieille révision de carte et que vous obtenez le firmware 2.21, vous aurez à vérifier la position du cavalier (jumper) W1 à B-C ; par défaut, il est positionné à A-B. Les cartes EISA 742q n'ont jamais eu le problème ``>16Mo'' mentionné dans la section sur les machines >16 Mo . Ceci est un problème qui apparaît avec les cartes SCSI Buslogic Vesa-Local. Mon contrôleur SCSI HP Netserver n'est pas détecté ! C'est à la base un problème connu. Le contrôleur SCSI-EISA intégré sur la carte mère des machines HP Netserver occupe le slot EISA numéro 11, aussi tous les ``vrais'' slots EISA se retrouvent devant lui. Malheureusement, l'espace d'adressage pour les slots EISA >= 10 se retrouve en conflit avec l'espace d'adressage assigné aux slots PCI, et l'auto-configuration de FreeBSD ne peut actuellement pas très bien gérer cette situation. Donc, pour le moment, le mieux que vous ayez à faire, est de prétendre qu'il n'y a pas de conflit de plage d'adresse :-), en propulsant l'option du noyau EISA_SLOTS à la valeur 12. Configurez et compilez un noyau comme décrit dans le manuel de référence sur la configuration du noyau. Bien sûr, cela se présente comme le problème bien connu de la poule et de l'oeuf lorsque l'on installe sur une telle machine. Afin de pouvoir contourner ce problème, un hack spécial est disponible au moment de la configuration utilisateur (UserConfig). Ne pas utiliser l'interface ``visual'', mais l'interface en mode texte. Tapez simplement : eisa 12 quit au prompt, et installez le système comme d'habitude. Quoiqu'il en soit, il est recommandé de compiler et d'installer un noyau adapté. dset comprend aussi maintenant qu'il faut sauver cette valeur. Heureusement, les versions futures auront une solution appropriée à ce problème. Vous ne pouvez pas utiliser un disque *dangereusement dédié* (dangerously dedicated) avec un Netserver HP. Voir cette note pour plus d'informations. Que se passe-t'il avec le contrôleur CMD640 IDE controller? Il ne marche pas, Il ne peut pas manipuler des commandes sur les deux canaux simultanément. Il y a un détour disponible à présent, et elle s'active automatiquement si votre système utilise cette puce. Pour plus de détails, référez-vous à la page de manuel du driver de dique (man 4 wd). Si vous lancez déjà FreeBSD 2.2.1 ou 2.2.2 avec un contrôleur IDE CMD640 et que vous voulez utiliser le deuxième canal, construisez un nouveau noyau avec les options options "CMD640" activé. Il est mis par défaut pour FreeBSD 2.2.5 et plus. Je n'arrête pas de voir ``<filename>ed1: timeout</filename>''. Cela est généralement causé par un conflit d'interruption (par exemple , 2 cartes utilisant le même IRQ). FreeBSD avant 2.0.5R était tolérant et fonctionnait même en cas de conflit d'IRQ. Mais à partir du 2.0.5R, les conflits ne sont plus tolérés. Booter avec l'option -c et changer l'ed0/de0/... pour se conformer à votre carte. Si vous utilisez un connecteur BNC sur votre carte réseau, vous pouvez aussi voir des timeouts sur les périphériques à cause de mauvaise terminaison. Pour le vérifier, attachez un terminateur directement au NIC (sans câble) et regardez si les messages d'erreurs disparaissent. Certaines cartes compatibles NE2000 donneront une telle erreur s'il n'y a pas de liaison sur le port UTP ou si le cable est déconnecté. Quand je monte le CD-ROM, j'obtiens ``Incorrect super block''. Vous devez spécifier à mount le type de périphérique que vous voulez monter. Par défaut, mount supposera que le système de fichier est de type ``ufs''. Vous pouvez vouloir monter un système de fichier CDROM, et vous pouvez le faire en spécifiant l'option ``-t cd9660'' à mount . Cela suppose évidemment que le CDROM contienne un système de fichier ISO 9660 , qui est celui qu'ont presque tous les CDROM. Comme pour le 1.1R, FreeBSD comprend automatiquement les extensions Rock Ridge (nom long). Par exemple, si vous voulez monter le lecteur CDROM ``/dev/cd0c'', sous le répertoire /mnt, vous aurez à exécuter : mount -t cd9660 /dev/cd0c /mnt Bien noter que le nom du périphérique (``/dev/cd0c'' de cet exemple peut être différent suivant l'interface du CDROM. Noter que l'option ``-t cd9660'' ne fait qu'exécuter la commande ``mount_cd9660'', c'est ainsi que l'exmple pourrait être simplifié en : mount_cd9660 /dev/cd0c /mnt Quand je monte un CDROM, j'obtiens ``Device not configured''. Cela veut généralement dire qu'il n'y a pas de CDROM dans le lecteur de CDROM, ou que le lecteur n'est pas visible du bus. Mettez un disque dans le lecteur, et/ou vérifiez son état maître/esclave si c'est un IDE (ATAPI). Cela peut prendre quelques secondes pour le lecteur CDROM pour s'apercevoir qu'il y a un disque, alors, soyez patient. De temps en temps, un lecteur CD-ROM SCSI peut être manqué car il n'a pas eu assez de temps pour répondre à la réinitialisation du bus. Si vous avez un lecteur CDROM SCSI, essayez d'ajouter la ligne suivante dans votre fichier de configuration du noyau, et recompilez. options "SCSI_DELAY=15" Mon imprimante est extrêmement lente, que puis-je faire ? Si c'est du parallèle, et que le seul problème est qu'elle est terriblement lente, essayez de positionner votre port imprimante en mode ``poller'': lptcontrol -p Certaines nouvelles imprimantes HP sont soupçonnées de ne pas fonctionner correctement en mode interruption, apparemment, cela est dû a certains problème de timing (mais cela n'est pas encore exactement compris). Mes programmes se tuent souvent avec l'erreur ``Signal 11''. Cela peut-être causé par du mauvais matériel (mémoire, carte mère...). Essayez de lancer un programme de test de mémoire sur votre PC. Notez que même si chaque programme de test de mémoire essayeront de vous dire que tout va bien, il est possible que certaines rares zones de mémoire passent tous les tests mémoires, mais échouent pourtant durant certaines conditions d'opération (comme pendant qu'un bus maîtrise l'accès direct à la mémoire depuis un contrôleur SCSI comme l'Adaptec 1542, quand vous chargez la mémoire en compilant le noyau, ou quand le système tourne dans des conditions très critiques) La FAQ sur SIG11 (listée ci-dessous) dénonce les mémoires lentes comme étant le problème le plus courant. Augmentez le nombre d'états d'attente dans votre configuration du BIOS ou récupérez de la mémoire plus rapide. Pour moi, la partie incriminée a été une mauvaise mémoire cache, ou un mauvais contrôleur cache. Essayez de désactiver le cache secondaire dans la setup BIOS, et regardez si cela résoud le problème. Il y a une FAQ plus détaillée sur la FAQ du problème SIG11 Quand je boote, l'écran devient noir, et perd sa synchronisation Ceci est un problème connu avec les cartes vidéo ATI Mach 64. Le problème est que cette carte utilise l'adresse 2e8, et que le quatrième port série aussi. Dû à un bug (une fonctionnalité ?) dans le driver sio.c , cela touchera ce port même si vous n'avez pas ce quatrième port série, et *même* si vous désactives sio3 (le quatrième port) qui utilise normalement cette adresse. Jusqu'à ce que ce bug soit fixé, vous pouvez utiliser cette astuce : Entrez -c à l'invite. (Cela mettra le noyau en mode configuration). Désactivez sio0, sio1, sio2 and sio3 (tous). De cette manière, le driver sio ne sera pas activé. et donc plus de problèmes. Tapez exit et continuez le rebootage. Si vous voulez pouvoir utiliser les ports séries, vous aurez à construire un nouveau noyau avec les modifications suivantes : Dans /usr/src/sys/i386/isa/sio.c cherchez la seule occurence de la chaîne 0x2e8 et enlevez cette chaîne et la virgule précédente (gardez la virgule de liaison). Puis suivre la procédure normale de la construction d'un nouveau noyau. Même après avoir appliqué toutes ces astuces, vous pouvez trouver que X Window ne marche pas correctement, Certaines nouvelles cartes vidéo ATI Mach 64 (notamment ATI Mach Xpression) ne marche pas avec la version actuelle de XFree86; l'écran devient noir quand vous démarrez X Window, ou alors il marche avec des problèmes étranges. Vous pouvez obtenir la version beta d'un nouveau serveur X qui marche mieux. Regardez sur le site XFree86 site et suivez les liens à la nouvelle beta release. Récupérez les fichiers suivants : AccelCards, BetaReport, Cards, Devices, FILES, README.ati, README.FreeBSD, README.Mach64, RELNOTES, VGADriver.Doc, X312BMa64.tgz Remplacez les vieux fichiers avec ceux de la nouvelle version et vérifiez que vous lancez bien : xf86config à nouveau. J'ai 128 MB de RAM mais le système n'en voit que 64 MB. <!-- id="reallybigram">--> Dûe à la façon dont FreeBSD récupère la taille de la mémoire depuis le BIOS, il ne peut seulement détecter qu'une taille dont la valeur est codée en kilo-octets par 16 bits (65535 Ko = 64MB) (ou moins... certains BIOS tronque la taille de la mémoire à 16Mo). Si vous avez plus de 64 Mo, FreeBSD tentera de le détecter, mais il se peut que cette tentative échoue. Pour contourner ce problème, vous devez utiliser l'option du noyau donnée ci-dessous. Il y a une manière de récupérer les informations complète de la mémoire depuis le BIOS, mais nous n'avons pas assez de place sur les blocks de boot pour le faire. Un jour, quand le manque de place sur les blocs de boots sera résolu, nous utiliserons les fonctions du BIOS étendu pour récupérer l'information complète sur la mémoire... mais pour l'instant, nous utilisons cette option du noyau. options "MAXMEM=<n>" n est votre mémoire en KiloOctet. Pour une machine à 128Mo, vous pouvez utiliser 131072. FreeBSD 2.0 panique avec ``kmem_map too small!'' Note : Le message peut aussi être ``mb_map too small!'' La panique indique que le système n'a plus de mémoire virtuelle pour les buffers réseau (spécialement mbuf clusters). Vous pouvez augmenter la quantité de mémoire virtuelle disponible pour les clusters mbuf en ajoutant : options "NMBCLUSTERS=<n>" dans votre configuration du kernel, où <n> est un nombre compris entre 512 et 4096, suivant le nombre de connexions concurrentes TCP que vous aurez à supporter. Je vous recommande d'utiliser 2048 - cela devrait vous débarasser complètement de cette panique. Vous pouvez contrôler le nombre de clusters mbuf alloué/en cours d'utilisation sur votre système, avec netstat -m . La valeur par défaut pour NMBCLUSTERS est 512 + MAXUSERS * 16/. ``CMAP busy panic'' au moment d'un reboot avec un nouveau noyau. La logique permettant de détecter un fichier obsolète /var/db/kvm_*.db peut parfois échouer et utiliser un fichier non approprié peut alors conduire à cette panique. Si cela arrive, rebooter en mode single-user et faites : rm /var/db/kvm_*.db ahc0: brkadrint, Illegal Host Access at seqaddr 0x0 C'est un conflit avec l'adaptateur hôte Ultrastor SCSI. Durant la procédure de boot, entrez dans le menu de configuration du noyau et désactivez uha0" qui est à la cause de ce problème. Sendmail me dit ``mail loops back to myself'' Cela est répondu dans la FAQ sendmail de la façon suivante : * Je reçois des messages "Local configuration error" messages, comme: 553 relay.domain.net config error: mail loops back to myself 554 <user@domain.net>... Local configuration error Comment puis-je résoudre ce problème ? Vous avez demandé que les mails adressés au domaine (par exemple domain.net) soient dirigés vers un hôte spécifique (dans ce cas relay.domain.net) en utilisant un enregistrement MX, mais la machine de relai ne s'est pas reconnu lui-même comme domain.net. Ajoutez domain.net à /etc/sendmail.cw (si vous utilisez FEATURE(use_cw_file)) ou ajoutez "Cw domain.net" à /etc/sendmail.cf. La version actuelle de la FAQ sendmail n'est plus maintenue avec la release sendmail. Mais elle est de toute façon postée régulièrement à : comp.mail.sendmail , comp.mail.misc , comp.mail.smail , comp.answers , et news.answers . Vous pouvez aussi en recevoir une copie par courrier électronique, en envoyant un mail à : mail-server@rtfm.mit.edu avec la commande with the command "send usenet/news.answers/mail/sendmail-faq" comme corps de message. Les applications plein-écran sur des machines distantes se comportent étrangement. La machine distante peut régler votre type de terminal à autre chose que le type de terminal cons25 utilisé par la console FreeBSD. Il y a un certains nombres de contournement de ce problème : Après s'être loggué sur la machine distante, positionnez votre variable d'environnement TERM à soit ansi soit sco. Utilisez localement un émulateur VT100 comme . screen screen permet la possibilité de lancer plusieurs sessions concurentes depuis un terminal. Installez l'entrée cons25 du terminal dans la base de données sur la machine distante. fire up X et login vers la machine distante depuis un xterm. Applications commerciales. **Mise à jour en cours** NOTE : Cette section est encore très clairsemée, car nous espérons naturellement, que les industries y contribueront :-) L'organisation FreeBSD n'a aucun intérêt financier dans aucune des sociétés énumérées ici, mais les liste simplement comme service public (et estime que l'intérêt commercial dans FreeBSD peut avoir des effets très positifs sur la viabilité à long terme de FreeBSD). Nous encourageons les constructeurs de logiciel commerciaux à envoyer leurs références ici pour inclusion. Voir les pages des constructeurs pour une liste plus complète. Où puis je obtenir Motif pour FreeBSD ? Contactez Apps2go pour une distribution ELF Motif 2.1 pour FreeBSD. Cette distribution comprend : OSF/Motif manager, xmbind, panner, wsm. Les librairies ELF statiques et dynamiques (utilisables avec FreeBSD 3.0 et supérieur). Kit de développement avec les fichiers uil, mrm, xm, xmcxx, include et Imake. Des applications de démonstration. Soyez sûr d'indiquer que vous voulez la version de FreeBSD de Motif lors de la commande ! Des versions pour NetBSD et OpenBSD sont également vendues par Apps2go. Vous avez actuellement juste la possiblité de télécharger en FTP. Pour plus d'informations Serveur WWW de Apps2go Ou les addresse de messageries du département des ventes ou encore du support Tél: (817) 431 8775 ou +1 817 431-8775 Contactez Metro Link pour une distribution a.out ou ELF Motif 2.1 pour FreeBSD. Cette distribution comprend : OSF/Motif manager, xmbind, panner, wsm. Kit de développement avec les fichiers uil, mrm, xm, xmcxx, include et Imake. Les librairies a.out et ELF statiques et dynamiques (utilisables avec FreeBSD 3.0 et supérieur pour les librairies ELF et 2.2.8 et supérieur pour les librairies a.out ). Des applications de démonstration. Les pages de manuel préformattées Soyez sûr d'indiquer que vous voulez la version de FreeBSD de Motif lors de la commande ! Des versions pour Linux sont également vendues par Metro Link. La distribution est disponible par téléchargement FTP ou sur un CDROM. Contactez Xi Graphics pour une distribution a.out Motif 2.0 pour FreeBSD. Cette distribution comprend : OSF/Motif manager, xmbind, panner, wsm. Les librairies a.out statiques et dynamiques (utilisables avec FreeBSD 2.2.8 et supérieur). Kit de développement avec les fichiers uil, mrm, xm, xmcxx, include et Imake. Des applications de démonstration. Les pages de manuel préformattées Soyez sûr d'indiquer que vous voulez la version de FreeBSD de Motif lors de la commande ! Des versions pour BSDI et Linux sont également vendues par Xi Graphics. La distribution comprend actuellement 4 disquettes. Dans le futur il y aura un CD comme pour CDE. Où puis-je avoir CDE pour FreeBSD? Contactez Xi Graphics pour une distribution CDE 1.0.10 pour FreeBSD. Cela inclut Motif 1.2.5, et peut être utilisé avec Motif 2.0. C'est une distribution CDROM uniforme pour FreeBSD et Linux. Y a-t-il des serveurs X commerciaux haute-performance ?<!-- <label id="xig"> --> Oui, Xi Graphics et Metro Link vendent leur produit Accelerated-X pour FreeBSD et autres systèmes basés sur Intel. Le serveur X de Metro Link offre une configuration facile grace a l'utilisation des outils de gestion des packages de FreeBSD, supporte de multiples cartes vidéos et est distribué en forme binaire seulement, par FTP. N'oublions pas de mentionner que Metro Link offre se serveur a un prix raisonnable de 39$. Metro Link vend aussi une version ELF et a.out de Motif (voir ci-dessus). Pour plus d'informations Serveur WWW de Metro Link Ou les addresse de messageries du département des ventes ou encore du support Tél: (954) 938-0283 or +1 954 938-0283 Xi Graphics offre un serveur X haute performances comportant une facilité de configuration et supportant des cartes vidéos multiples. La distribution est sous forme binaire, et est au format disquette pour FreeBSD et Linux. Xi Graphics offre aussi un serveur haute performances pour les portables. Il y a une "démo de compatibilité" disponible et gratuite de la version 5.0. Xi Graphics vends aussi Motif et CDE pour FreeBSD (voir ci-dessus). Pour plus d'informations : Xi Graphics WWW page ou par courrier électronique aux adresses suivantes : Ventes ou Support ou encore par téléphone au (800) 946 7433 ou +1 303 298-7478. Y a-t-il un système de bases de données pour FreeBSD? Oui ! Conetic Software Systems a porté leur système de bases de données C/base and C/books pour FreeBSD 2.0.5 et plus, et Sleepycat Software vend une version commerciale supportée de leur librairie de base de données DB. Pour plus d'informations : Conetic Software Systems ou envoyez un courrier électronique à Information E-mail address et Sleepycat Software Applications. **Mise à jour en cours** Ou puis-je trouver toutes les applications utilisateurs? Allez voir sur la page des ports pour plus d'informations sur les packages portés sur FreeBSD. La liste complète inclut plus de 1000 ports, et grossit chaque jours, donc vérifiez souvent cette liste, ou souscrivez à la mailing liste freebsd-announce pour vous tenir au courant des mises à jour. La plupart des ports sont disponibles pour la branche 2.2 et 3.0, et la plupart d'entre eux sont susceptibles de fonctionner sur des systèmes 2.1.x. A chaque fois qu'une version de FreeBSD est livrée, une version des ports, au moment de la livraison de la version, est incluse dans le répertoire ports . FreeBSD supporte aussi le concept de ``package'', qui n'est rien de plus qu'une distribution binaire compressée avec quelques informations en plus, permettant de l'installer très simplement. Un ``package'' peut être installé et désinstallé facilement, sans avoir besoin de savoir les détails sur les fichiers qu'il inclut. Il vous suffit d'utiliser le menu d'installation des ``package'' du programme /stand/sysinstall ou servez vous de la commande pkg_add(1) pour installer les ``packages'' que vous désirez. Les fichiers des ``packages'' sont très simple à identifiés de part leur suffixe .tgz . Les personnes disposant d'une distribution sur CDROM les trouveront dans le répertoire packages/All . Ils sont aussi disponibles sur ces différents serveurs ftp: Pour les versions 2.1.x-release: ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/ Pour les versions 2.2.6-release/2.2.-stable: ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.6/ Pour la version 3.0-current: ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/ ou sur un site mirroir. Notez, que tous les ports ne sont pas obligatoirement disponibles sous forme de ``package''. C'est une bonne idée de vérifier régulièrement la disponibilité des différents packages sur le site principal de FreeBSD Ou trouver la librairie libc.so.3.0? Cela veut dire que vous essayez d'utiliser un ``package'' compilé pour des versions 2.2/3.0 sur un système 2.1.x. Voyez la section précedente et retrouvez le port/package correct pour votre système. - - ghostscript m'affiche énormément d'erreurs sur mon 386/486SX. <anchor id="emul"/> + + ghostscript m'affiche énormément d'erreurs sur mon 386/486SX. Vous n'avez pas de coprocesseur mathématique, n'est-ce pas ? Vous devez absolument compiler l'émulateur mathématique fournit dans votre noyau; il vous suffit d'ajouter la ligne suivante dans votre fichier de configuration du noyau: options GPL_MATH_EMULATE NOTE: Vous devez retirer la ligne contenant l'option MATH_EMULATE si vous activez la précédente. Lorsque je lance des applications SCO/iBCS2, elles plantent sur <filename> socksys </filename> Vous devez en tout premier éditer le fichier /etc/sysconfig (ou /etc/rc.conf ) et positionner la variable suivante sur YES : # à positionner sur YES si vous voulez que l'émulation ibcs2(SCO) soit chargée au démarrage ibcs2=NO Cela activera le module ibcs2 au démarrage. Vous devrez aussi créer le répertoire /compat/ibcs2/dev et mettre en place ce qui suit : lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys -rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx Il suffit de faire pointer socksys vers /dev/null pour tromper les open & close. Le code, dans la version -current, fera le reste. Si vous avez besoin du driver spx pour la connexion d'une socket X, définissez SPX_HACK lors de la compilation de votre système. Comment dois-je configurer INN (Internet News) pour mon système ? Après avoir installé le package ou le port de inn, la meilleur façon de commencer est de voir la page de Fabien TASSIN sur INN, ou vous trouverez la FAQ de INN. Quelle version de Microsoft FrontPage dois-je utiliser ? Utilisez les ports ! Une pré-version patchée pour Apache est disponible dans les ports Configuration du noyau. **Mise à jour en cours** <!--<label id="kernelconfig">--> J'aimerais personnaliser mon noyau. Est-ce difficile ? <!--<label id="make-kernel">--> Pas du tout ! Jetez un coup d'oeil à la section de la configuration du noyau du manuel de référence. NOTE : Je vous recommande de faire une sauvegarde datée de votre noyau dans kernel.YYMMDD dès que vous arrivez à tout faire marcher. Ainsi, si jamais en jouant avec votre configuration du noyau, vous mélangez tout, vous pourrez démarrer sur ce noyau plutôt que de repartir depuis kernel.GENERIC. Ceci est particulièrement important si vous démarrez actuellement depuis un contrôleur qui n'est pas supporté par le noyau GENERIC (oui, c'est une expérience personelle). Ma compilation du noyau échoue car <filename>&hw&float</filename> manque. Laissez-moi deviner. Vous avez supprimé npx0 de votre fichier de configuration du noyau car vous n'avez pas de coprocesseur arithmétique, c'est ça ? Faux ! :-). Le périphérique npx0 est *OBLIGATOIRE*. Même si vous n'avez pas de coprocesseur arithmétique, vous *devez* inclure le périphérique npx0. Conflits d'interruption avec le code multi-port série. Q. Quand je compile le noyau avec du code multi-port série, cela me dit que seul le premier port est examiné et le reste est ignoré à cause des conflits d'interruption. Comment puis-je résoudre cela ? R. Le problème ici, est que FreeBSD a du code intégré pour éviter au noyau de se planter à cause d'un conflit matériel ou logiciel. La façon de fixer ce problème est d'ignorer le réglage des IRQ sur tous les ports sauf un. Voici un exemple : # # 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 Comment puis-je activer le support des disques QIC-40/80 ? Vous supprimez le commentaire de la ligne suivante du fichier générique de configuration (ou ajoutez la à votre fichier de configuration), ajoutez un ``flags 0x1'' à la ligne fdc et recompilez. controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr disk fd0 at fdc0 drive 0 ^^^^^^^^^ disk fd1 at fdc0 drive 1 #tape ft0 at fdc0 drive 2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Puis, vous créez un périphérique appelé /dev/ft0 en allant dans le répertoire /dev et en lançant la commande suivante : sh ./MAKEDEV ft0 pour le premier périphérique. ft1 pour le second, et ainsi de suite. Vous aurez un périphérique appelé /dev/ft0, où vous pourrez écrire par l'intermédiaire d'un programme spécial appelé ``ft'' - Voir la page de manuel ft pour plus de détails. Les versions précédentes de -current ont aussi quelques problèmes avec certaines cartouche ddfectueuses. Si vous avez des problèmes où ft semble aller et venir indéfiniment, essayez de récupérer la dernière version de ft depuis /usr/src/sbin/ft dans -current et essayez le. Administration système. **Mise à jour en cours** Où sont les fichiers de démarrage du système ? De la version 2.0.5R à la version 2.2.1R, le fichier de configuration principal était /etc/sysconfig . Toutes les options sont spécifiées dans ce fichier et les autres fichiers comme /etc/rc et /etc/netstart ne font que l'inclure. Regardez dans le fichier /etc/sysconfig et changez les valeurs nécessaires pour configurer votre système. Ce fichier inclut des commentaires indiquant les valeurs à mettre. Pour les versions 2.2.1 et suivantes, le fichier /etc/sysconfig a été renommé en rc.conf et a été épuré au passage. Le fichier /etc/netstart a aussi été renommé en rc/network comme cela tous les fichiers peuvent être copiés grâce à une seule commande : cp /usr/src/etc/rc* /etc. Le fichier /etc/rc.local existe toujours et peut être utilisé pour démarrer des services additionnels comme INN ou pour positionner certaines valeurs. Le fichier /etc/rc.serial permet d'initialiser les ports série (par exemple mettre en place les caractéristiques du port, etc..). Le fichier /etc/rc.i386 est spécifique aux paramètres des plateformes Intel, comme l'émulation iBCS2 ou la configuration de la console système d'un PC. Avec la version 2.1.0R, vous pouvez définir des fichiers de démarrage "locaux" se trouvant dans un répertoire spécifié dans le fichier /etc/sysconfig (ou le fichier /etc/rc.conf ): # Emplacement des fichiers de démarrage locaux local_startup=/usr/local/etc/rc.local.d Chaque fichier se terminant par .sh sera éxécuté dans l'ordre alphabétique. Si vous voulez vous assurez d'un certain ordre de démarrage sans changer le nom des fichiers, vous pouvez utiliser un schéma similaire à celui qui suit, en faisant précéder chaque fichier de chiffres pour assurer l'ordre de démarrage: 10news.sh 15httpd.sh 20ssh.sh Cela peut vous sembler un peu laid (ou SysV :-)) mais cela fournit une façon simple pour les packages locaux ajoutés sans être obligé d'éditer /etc/rc.local . La plupart des ports ou des packages assument que le répertoire /usr/local/etc/rc.d permet le démarrage des programmes locaux. Comment ajouter simplement un utilisateur ? Utilisez la commande adduser Il existe aussi un autre outil nommé ``new-account'' écrit en Perl par Ollivier Robert. Demandez le lui. Cet outil est actuellement en cours de développements supplémentaires Pour retirer un utilisateur, utilisez la commande rmuser. Comment ajouter un nouveau disque dur à mon système FreeBSD ? Voyez le tutoriel sur le formatage des disques dur. Comment utiliser mon nouveau disque amovible ? Que ce soit un disque amovible de type ZIP ou EZ (ou même une disquette), ou un disque dur, une fois installé et reconnu par le système et que vous avez inséré une cartouche/disquette, la manipulation est la même pour tous les périphériques. (Cette section est basée sur la FAQ des lecteurs ZIP de Mark Mayo) Si c'est un disque ZIP ou une disquette DOS, il y a déjà un système de fichier DOS installé, vous pouvez utilisez les commandes suivantes: mount -t msdos /dev/fd0c /floppy s'il s'agit d'une disquette; ou: mount -r msdos /dev/sd2s4 /zip s'il s'agit d'un lecteur ZIP dans sa configuration d'origine. Pour les autres types de disques, voyez leur partitionnement en utilisant fdisk ou /stand/sysinstall . Les exemples qui suivent supposent que vous disposez d'un disque ZIP sur sd2, le troisième disque SCSI. Si votre disque amovible n'est pas une disquette, ou tout autre disque amovible que vous ne désirez par partager avec d'autres personnes, il vaut mieux mettre un système de fichiers BSD dessus. Vous pourrez avoir des noms longs, une amélioration de performances et une meilleur stabilité. Pour commencer, vous devez effacer la partition ou le système de fichiers DOS. Vous pouvez utiliser l'utilitaire fdisk ou /stand/sysinstall , ou pour un disque d'une petite capacité, détruire la table des partitions FAT et utiliser le partitionnement BSD standard : dd if=/dev/zero of=/dev/rsd2 count=2 disklabel -Brw sd2 auto Vous pouvez utiliser disklabel ou /stand/sysinstall pour créer plusieurs partitions BSD. Vous effectuerez probablement ces opérations si vous ajoutez de l'espace de "swap" sur un disque fixe, mais il est inconcevable de le faire sur un disque amovible ZIP. Pour finir construisez un nouveau système de fichier, utilisant tout l'espace disponible sur votre lecteur ZIP : newfs /dev/rsd2c et montez le : mount /dev/sd2c /zip C'est surement une bonne idée d'ajouter la ligne suivante au fichier /etc/fstab , cela vous permettra de ne taper que "mount /zip" par la suite : /dev/sd2c /zip ffs rw,noauto 0 0 Comment monter une partition DOS étendue ? Les partitions DOS étendues se trouvent après la fin de toutes les partitions primaires. Par exemple, si vous avez une partition "E" en tant que partition DOS étendue sur le deuxième disque SCSI, vous devez créer le fichier spécial pour la partition 5 dans /dev et monter /dev/sd1s5 : # cd /dev # ./MAKEDEV sd1s5 # mount -t msdos /dev/sd1s5 /dos/e Puis-je monter d'autres systèmes de fichiers sous FreeBSD ? Les CDROM Digital UNIX au format UFS peuvent être montés directements sous FreeBSD. Il peut être très difficile, par contre, de monter des partitions disques de Digital UNIX, ou d'autres systèmes supportant l'UFS. Cela dépend des partitionnements effectués sur le système en question. Linux: Les version 2.2 et supérieures incluent le support des partitions ext2fs . Pour plus d'informations voyez la page de manuel de mount_ext2fs . Toute autre information sur le sujet est appréciée. Comment utiliser le programme de démarrage de NT pour démarrer FreeBSD ? Il faut pour cela copier le premier secteur de votre partition FreeBSD dans un fichier sur une partition DOS/NT. Nous supposerons qu'il s'appelle c:\bootsect.bsd (équivalent de c:\bootsect.dos ). Il suffit d'éditer le fichier c:\boot.ini pour qu'il ressemble à ceci: [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="FreeBSD" C:\="DOS" Cette procédure implique que DOS, NT ou FreeBSD soient installés sur le même disque. Dans mon cas DOS et NT sont installés respectivement sur la première partition du disque et FreeBSD sur la seconde. FreeBSD est aussi configuré pour démarrer depuis sa partition et non depuis le MBR du disque. Monter une disquette préformatée DOS (si vous cette partition n'est pas en FAT, mais en NTFS) sous /mnt . dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1 Redémarrez en mode DOS ou NT. Si vous avez une partition NTFS copiez le fichier bootsect.bsd de la disquette dans le répertoire C:\. Modifiez les attributs (permissions) du fichier boot.ini. attrib -s -r c:\boot.ini Ajoutez la ligne correcte au fichier boot.ini et restaurez les anciens attributs. attrib -s -r c:\boot.ini Si FreeBSD démarre depuis le MBR, restaurez-le avec la commande DOS fdisk /MBR après avoir reconfiguré FreeBSD pour démarrer depuis sa partition native. Comment démarrer FreeBSD et Linux grace à LILO ? Si vous avez installé FreeBSD et Linux sur le mème disque, suivez les instructions du manuel de LILO pour démarrer sur d'autres systèmes que Linux. En résumé il faut : Démarrer sous Linux et ajouter les lignes suivantes au fichier /etc/lilo.conf : other=/dev/hda2 table=/deb/hda label=FreeBSD (l'exemple précédant suppose que la partition FreeBSD est connue par linux sous le nom /dev/hda2 . Ensuite lancez lilo sous root, et c'est fini. Si FreeBSD se trouve sur un autre disque vous devez ajouter loader=/boot/chain.b au fichier de configuration de lilo : other=/dev/sdb4 table=/dev/sdb loader=/boot/chain.b label=FreeBSD Dans certains cas, vous devez spécifier le numéro du disque connu par le BIOS au programme de démarrage de FreeBSD pour démarrer sur le deuxième disque. Par exemple, si votre disque SCSI contenant FreeBSD est trouvé par le BIOS comme disque numéro 1, vous devez taper la ligne suivante au prompt du programme de démarrage: Boot: 1:sd(0,a)/kernel Vous pouvez configurer le programme de démarrage de FreeBSD version 2.2.5 ou supérieure pour prendre cette chaine par défaut. Le document Linux+FreeBSD mini-HOWTO est une très bonne référence sur l'interopérabilité entre FreeBSD et Linux. Comment démarrer FreeBSD et Linux depuis BootEasy ? Il faut installer LILO au début de votre partition de démarrage de Linux au lieu du MBR. Vous pouvez alors démarrer LILO depuis BootEasy. Si vous utilisez Linux et Windows-95, c'est la meilleur façon d'installer LILO si vous voulez continuer à démarrer Linux après avoir réinstallé Windows-95 (qui lui ne tient pas contre des autres systèmes et se croit seul sur le MBR). Est-ce dangereux d'utiliser un disque dédié ? La procédure d'installation vous permet de choisir deux façons différentes pour partitionner vos disques. Par défaut, elle permet de les rendre compatibles avec d'autres systèmes d'exploitation se trouvant sur votre ordinateur en utilisant les entrées des tables de fdisk (appelés "slices" sous FreeBSD), en faisant en sorte qu'une "slice" FreeBSD corresponde à une partition. Vous pouvez aussi installer un selecteur de démarrage pour choisir de démarrer sous un autre système d'exploitation. Comme ceci correspond à la plupart des cas de personnes venant des PC, les personnes venant d'Unix et qui désirent mettre en place une machine pour y faire tourner FreeBSD et juste FreeBSD, utilisent la procédure classique d'installation d'Unix, ou Unix utilise le disque au complet, du premier secteur au dernier. Une véritable table pour fdisk n'est d'aucune utilité dans le vas d'une machine utilisant FreeBSD 24h/24, 7jours sur 7, car aucun autre système d'exploitation ne sera démarré. Donc si vous sélectionnez ``A)ll FreeBSD '' dans l'éditeur de partition du programme d'installation et répondez ``No'' à la question qui suit, vous serez dans ce cas. Notez que cela implique que le programme de démarrage BSD correspond au MBR de ce disque. N'essayez pas d'en réinstaller un sous peine de détruire le précédent. Donc pourquoi est-ce donc ``dangereux'' ? Un disque configuré de la sorte ne contient pas de table fdisk valides, pour la plupart des utilitaires PC. Suivant la façon dont ils ont été conçus, ils vous avertissent ou tout simplement ne disent rien et détruisent le programme de démarrage BSD sans avertissement. Certains systèmes d'exploitation très utilisés sur PC, sont connus pour agir de la sorte (bien sûr, ils agissent de la sorte sous le couvert de système "orienté-utilisateur"). Au moins un BIOS de chez Award, qui est par exemple utilisé sur les HP Netserver (mais sur d'autre systèmes aussi), est connu pour ignorer tout disque dur n'ayant pas de table fdisk valide. Lorsque votre machine démarre il ignore tout simplement de tels disques, tente de démarrer sur une disquette, et vous affiche un ``Read error''. Très impressionnant, non ?. C'est ce que certains appellent un système "orienté-utilisateur". Les avantages de ce partitionnement sont : FreeBSD utilise le disque au complet, il n'y a donc pas de besoin de garder quelques 'pistes' au début du disque qui ne servaient à rien sauf pour un modèle de partitionnement vieux et simpliste qui n'a maintenant plus aucun sens. Ces contraintes étant ce que l'on peut appeler la plus grosse prise de tête lors de l'installation des systèmes d'exploitations sur PS, et qui menaient le plus souvent à deux façon complètement redondantes de stockage des informations dans les tables fdisk. Voyez le chapitre sur ``Missing Operating System''. Dans le cas d'un disque ``dangereusement dédié'', le programme de démarrage BSD commence au secteur 0, qui est le seul secteur ne changeant de valeur C/H/S, pour les valeurs du disque du BIOS. Vous pouvez donc, dans ce cas, interchanger des disques entre plusieurs controleurs ou systèmes utilisant des schémas de translation différents sans vous poser de questions. Pour passer d'un disque ``dangereusement dédié'' à un disque normal de PC, il y a deux solutions simples. La première est de recouvrir le MBR d'octets vides, pour permettre de faire croire que le disque est vierge. Pour pouvez le faire de la façon suivante: dd if=/dev/zero of=/dev/rds0 count=15 Ou en utilisant une fonctionnnalité non-documentée de DOS : fdisk /mbr qui installe aussi un nouveau MBR, en recouvrant le programme de démarrage BSD. Comme faire pour ajouter plus de "swap" ? La meilleur façon de faire, est d'augmenter la taille de votre partition de swap, ou de prendre cette excuse pour ajouter un autre disque. Ajouter du "swap" sur un autre disque permet plus d'augmenter la rapidité que d'en ajouter sur le même disque. Par exemple, si vous compilez des fichiers qui se trouvent sur un disque et que le "swap" se trouve sur un autre disque, cela va beaucoup plus vite d'avoir le "swap" et les sources sur le même disque. Ceci est spécialement vrai pour les disques SCSI. Les disques IDE ne permettent pas l'accès à deux disques sur le même canal au même moment (FreeBSD ne supporte pas le mode 4, donc toutes les entrées/sorties disques sont ``programmées''). Je vous suggère de mettre le "swap" sur un autre disque aussi. Les disques durs sont si peu couteux, que cela ne vaut pas le coup de tout mettre sur un. C'est une très mauvaise idée de mettre le fichier de "swap" sur une partition NFS, sauf si vous disposez d'un environnement réseau extrèmement rapide, et d'un très bon serveur NFS. Voici un exemple pour ajouter 64Mo de swap en utilisant un fichier se nommant /usr/swap0 . Assurez vous que votre noyau est compilé avec la ligne pseudo-device vn 1 # #Vnode driver (turns a file into a device) Le noyau GENERIC la contient par défaut. Créez un vn-device : cd /dev sh./MAKEDEV vn0 Créez le fichier de "swap" (/usr/swap0). dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 Activez le fichier de "swap" dans le fichier /etc/rc.conf swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. Rebootez la machine Pour activer le fichier de "swap" immédiatement, tapez vnconfig -ce /dev/vn0c /usr/swap0 swap J'ai des problèmes pour installer mon imprimante. Référez-vous à la section sur les imprimantes du Handbook. Elle couvre l'essentiel des problèmes que l'on peut rencontrer. Le clavier est mal configuré sur mon ordinateur. Le programme kbdcontrol comporte une option permettant de charger une configuration clavier différente. Vous trouverez dans /usr/share/syscons/keymaps différents fichiers de configuration. Choisissez celle voulue et chargez la : kbdcontrol -l fr.iso Dans tous les cas le programme kbdcontrol recherche dans /usr/share/syscons/keymaps un fichier se terminant par .kbd. Vous pouvez le configurer dans le fichier /etc/sysconfig (ou rc.conf). Regardez les commentaires apropriés dans ce fichier. Pour les versions 2.0.5 et suivantes, tout ce qui est relatif aux fontes du texte, à la configuration du clavier se trouve dans /usr/share/syscons. Actuellement les configurations de claviers suivantes sont supportées : Belgian ISO-8859-1 Brazilian 275 keyboard Codepage 850 Brazilian 275 keyboard ISO-8859-1 Danish Codepage 865 Danish ISO-8859-1 French ISO-8859-1 German Codepage 850 German ISO-8859-1 Italian ISO-8859-1 Japanese 106 Japanese 106x Latin American Norwegian ISO-8859-1 Polish ISO-8859-2 (programmer's) Russian Codepage 866 (alternative) Russian koi8-r (shift) Russian koi8-r Spanish ISO-8859-1 Swedish Codepage 850 Swedish ISO-8859-1 Swiss-German ISO-8859-1 United Kingdom Codepage 850 United Kingdom ISO-8859-1 United States of America ISO-8859-1 United States of America dvorak United States of America dvorakx Comment faire en sorte que les quotas utilisateurs fonctionnent correctement ? Ne mettez pas de quotas sur '/', Mettez le fichier des quotas sur le système de fichiers qui en dispose, par ex : Système de fichier Emplacement du fichier des quotas /usr /usr/admin/quotas /home /home/admin/quotas ... Qu'est-ce qui ne va pas avec ma configuration de ccd ? Le symptome est le suivant : # ccdconfig -C ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format # Ceci apparait la plupart du temps lorsque vous essayez de concaténer les partitions ``c'', qui par défaut ont comme type ``unused''. Le gestionnaire de disque ccd nécessite que le type de la partition soit de type FS_BSDFFS. Dans ce cas, éditez le label des disques à concaténer et changez le type des partitions en type ``4.2BSD''. Pourquoi je ne peux pas éditer le label de mes disques concaténés ? Le symptome est le suivant : # disklabel ccd0 (ça affiche quelque chose de particulier ici, donc essayons de l'éditer) # disklabel -e ccd0 (édition, sauvegarde, sortie) disklabel: ioctl DIOCWDINFO: No disk label on disk; use "disklabel -r" to install initial label # Cela apparait souvent lorsque le label retourné par le gestionnaire de disques concaténé est un faux, un qui n'est pas véritablement sur le disque. Pour résoudre ce problème il faut écrire explicitement sur le disque, comme ceci : # disklabel ccd0 > /tmp/disklabel.tmp # disklabel -Rr ccd0 /tmp/disklabel.tmp # disklabel -e ccd0 (maintenant cela doit fonctionner correctement) Est-ce que FreeBSD supporte les communications inter-processus de type Système V (IPC) ? Oui, FreeBSD supporte les communications inter-processus de type Système V, IPC. Cela inclue la mémoire partagée, les files de messages et les sémaphores. Vous devez ajouter les lignes suivantes à votre fichier de configuration du noyau pour les activer : options SYSVSHM options "SHMMAXPGS=64" # 256Ko de mémoire partagée options SYSVSEM # activation des sémaphores options SYSVMSG # activation des files de messages Recompilez le noyau et installez le. Note : Vous aurez sûrement besoin d'augmenter SHMMAXPGS à un nombre plus élevé, comme 4096 (16M!) si vous avez besoin d'utiliser GIMP. 256Ko est largement suffisant pour la mémoire partagée dont à besoin X11R6. Comment configurer sendmail pour fonctionner avec UUCP ? La configuration de sendmail fournie avec FreeBSD, correspond à un site directement connecté à l'Internet. Les sites qui utilisent UUCP pour échanger du courrier électronique doivent installer un autre fichier de configuration pour sendmail. Modifier directement le fichier /etc/sendmail.cf est réservé la plupart du temps aux gourous. La version 8 de sendmail dispose d'une interface m4 de génération du fichier de configuration, qui encapsule le fichier de configuration dans un format abstrait de haut niveau. Vous devez trouvez les différents fichiers de configuration dans le répertoire /usr/src/usr.sbin/sendmail/cf . Si vous n'avez pas installé tous les sources du système, vous pouvez trouver les différents fichiers de configuration de sendmail dans un fichier séparé des autres sources sur le CD-ROM. Si vous avez monté le CD-ROM exécutez les commandes suivantes : cd /usr/src tar -xvzf /cdrom/dists/src/ssmailcf.aa Cela correspond juste à une centaine de kilo-octets. Le fichier README dans le répertoire cf vous explique rapidement comment fonctionnne m4. Pour utiliser UUCP, vous devez utiliser la fonctionnnalité mailertable. Elle permet à sendmail de constituer une base de données pour lui permettre de router le courrier correctement. Pour commencer, vous devez créer une fichier de configuration .mc. Tous ces types de fichiers se trouvent dans le répertoire /usr/src/usr.sbin/sendmail/cf/cf. Il y a quelques fichiers d'exemples dans ce répertoire pouvant vous aider. En supposant que vous avez appelé ce fichier foo.mc, tout ce que vous devez faire pour le convertir en un fichier valide de configuration de sendmail, sendmail.cf est : cd /usr/src/usr.sbin/sendmail/cf/cf make foo.cf cp foo.cf /etc/sendmail.cf Un fichier classique ressemble à ceci: include(`../m4/cf.m4') VERSIONID(`Votre numéro de version) OSTYPE(bsd4.4) FEATURE(nodns) FEATURE(nocanonify) FEATURE(mailertable) define(`UUCP_RELAY', nom.du.relai.uucp) define(`UUCP_MAX_SIZE', 200000) MAILER(local) MAILER(smtp) MAILER(uucp) Cw alias.de.votre.nom.de.machine Cw votrenomdenoeuduucp.UUCP Les directives nodnset nocanonify forcent sendmail à ne pas utiliser le DNS lors de l'envoi du courrier. La directive UUCP_RELAY est utilisée pour des raisons assez bizarres; ne posez pas de questions et utilisez-la. Mettez juste un nom de machine capable de recevoir du courrier en UUCP. La plupart du temps il faut mettre le nom du serveur de messagerie de votre fournisseur d'accès. Après avoir défini tout ceci, vous avez besoin d'un fichier /etc/mailertable. Voici un exemple de ce type de fichier : # # makemap hash /etc/mailertable.db < /etc/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:sax Les trois premières lignes font en sorte d'envoyer le courrier à des serveurs UUCP ``voisins'' et non pas au serveur par défaut, pour permettre de racourcir le temps d'envoi des messages. La ligne suivante permet d'envoyer le courrier sur le domaine local en protocole SMTP. Et pour finir, les ``voisins'' UUCP sont mentionner dans la la notation de domaine .UUCP, permettant au format de mail ``voisin-uucp!destinataire'' d'écraser les règles par défaut. La dernière ligne doit toujours être un ``.'', qui représente toutes les destinations, qui doit correspondre à un serveur de messagerie UUCP voisin, et qui sert de passerelle de courrier éléctronique vers le reste du monde. Tous les noms de noeuds se trouvant après le mot clé uucp-dom:doivent être des noms valides de voisins UUCP, que vous pouvez vérifier en utilisant la commande uuname Pour vous rappeler que ce fichier doit être converti en fichier DBM pour pouvoir être utilisé, la ligne de commande nécessaire à sa création est rappelée dans les commentaires du fichier mailertable. Vous devez lancer cette commande à chaque fois que vous changez quelque chose dans ce fichier. Pour finir : si vous n'etes pas certain de votre configuration d'envoi de messages électroniques, rappellez-vous l'option -bt de sendmail. Cela lance sendmail en mode test ; entrez simplement ``0 '' suivi de l'adresse que vous voulez tester. La dernière ligne vous indiquera alors le type d'agent utilisé pour l'envoi, la machine auquelle l'agent enverra le courrier, et l'adresse à laquelle il l'enverra. Pour quitter ce mode tapez Control-D. j@uriah 191% sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 0 foo@interface-business.de rewrite: ruleset 0 input: foo @ interface-business . de ... rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ < @ interface-business . de > > ^D j@uriah 192% Comment mettre en oeuvre le courrier électronique avec une connexion temporaire à un réseau ? Si vous disposez d'un adresse IP statique, vous ne devez rien changer. Definissez juste votre nom de machine pour qu'il corresponde à votre nom de machine internet et sendmail s'occupera du reste. Dans le cas ou vous disposez d'une adresse IP dynamiquement assignée et que vous utilisez une connexion ppp pour accèder à l'internet, vous diposez probablement d'une boite aux lettres chez votre fournisseur d'accès. Prenons comme exemple que le domaine de votre fournisseur soit monISP.com, que votre nom d'utilisateur soit monlogin, que votre nom de machine soit bsd.perso et que votre fournisseur vous aie indiqué la machine relai.monISP.com comme serveur relai de messagerie électronique. Pour pouvoir recevoir votre courrier depuis votre boite à lettres, vous devez installer un agent de rapatriement de mail.Fetchmail est un bon choix, car il supporte la plupart des protocoles de messagerie. La plupart du temps, votre fournisseur offre l'accès à travers le protocole POP3. Si vous avez décidé d'utiliser la partie utilisateur de ppp, vous pouvez automatiquement rapatrier votre courrier lorsque la connexion vers le réseau est établie en ajoutant la ligne suivante au fichier /etc/ppp/ppp.linkup : MYADDR: !bg su monlogin -c fetchmail Ici nous assumons que vous disposez d'un compte nommé monlogin sur la machine bsd.perso. Vous devez alors créer un fichier .fetchmailrc dans votre répertoire principal contenant : poll monISP.com protocol pop3 fetchall pass monPasswd: Naturellement, ce fichier ne doit être lisible que par l'utilisateur monlogin car il contient le mot de passe monPasswd. Pour permettre d'envoyer du courrier avec l'entête from: correcte, vous devez configurer sendmail pour utiliser l'adresse monlogin@monISP.com plutôt que monlogin@bsd.perso. Vous devez aussi dire à votre sendmail d'envoyer tout le courrier via le serveur relai.monISP.com, permettant au courrier d'être envoyé plus rapidement. Le fichier de configuration .mc suivant doit convenir : VERSIONID(`bsd.perso.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.perso MASQUERADE_AS(`monISP.com')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(SMART_HOST, `relai.monISP.com') Dmbsd.perso define(`confDOMAIN_NAME',`bsd.perso')dnl define(`confDELIVERY_MODE',`deferred')dnl Reférez-vous à la section précédente pour l'explication détaillée de conversion du fichier .mcen fichier sendmail.cf. N'oubliez pas non plus de redémarrer sendmail après avoir modifié le fichier /etc/sendmail.cf Horreur !! J'ai perdu le mot de passe de root !! Ne paniquez pas! Redémarrez tout simplement le système en tapant -s au "prompt" Boot: pour passer en mode mono-utilisateur. A la question sur le shell à utiliser, appuyez sur ENTREE. Vous obtiendrez alors un prompt "#". Tapez la commande mount -u pour remonter votre partition primaire en lecture/écriture et lancez la commande mount -a pour remonter tous les systèmes de fichiers. Tapez passwd root pour changer le mot de passe root puis tapez exit pour continuer le processus de démarrage du système. Comment empècher le redémarrage du système en appuyant sur les touches Control-Alt-Delete ? Editez le fichier de configuration du clavier que vous utilisez pour la console et remplacez le mot clé boot par nop. Le fichier de configuration du clavier utilisé par défaut est /usr/share/syscons/keymaps/us.iso.kbd. Vous pouvez changer la configuration en éditant le fichier /etc/rc.conf. Bien sur si vous utilisez une autre configuration, il faut éditer le fichier de configuration la décrivant. Comment transformer les fichiers textes au format DOS en fichiers UNIX ? Utilisez tout simplement la commande perl suivante : perl -i.bak -pe 's/\r\n/\n/g' fichier.dos ... fichier.dos étant le fichier à modifier. Cette commande remplace dans le fichier et sauvegarde l'ancien sous le nom fichier.dos.bak. Comment tuer un processus par son nom ? Utilisez killall(1) Pourquoi la commande <filename>su</filename> me dit sans arrêt que je ne suis pas dans les ACL de root ? Cette erreur vient du système d'authentification distribué Kerberos. Ceci n'est pas un problème très grave. Un palliatif consiste à utiliser l'option "-k" de su ou de désinstaller Kerberos comme expliqué à la section suivante. Comment désinstaller Kerberos ? Pour désinstaller Kerberos de votre système, vous devez réinstaller la distribution bin depuis votre version de FreeBSD. Si vous disposez d'un CDROM, vous devez monter le cd (la plupart du temps dans /cdrom) et lancer : cd /cdrom/bin ./install.sh Comment ajouter des pseudo-terminaux au système ? Si vous avez un grand nombre de telnet, ssh, X, or screen users, vous risquez probablement de manquer de pseudo-terminaux. Voici comment en ajouter plusieurs : Créer et installer un nouveau noyau avec la ligne pseudo-device pty 256 dans le fichier de configuration. Exécuter la commande : # cd /dev # ./MAKEDEV pty{1,2,3,4,5,6,7} pour créer 256 device nodes pour les nouveaux terminaux. Editer /etc/ttys et jouter une ligne pour chacun des 256 terminaux. Elles doivent correspondre à la forme des entrées existantes. c'est à dire ressembler à : ttyqc none network L'ordre des lettres de désignation est tty[pqrsPQRS][0-9a-v], en utilisant une expression régulière. Démarrez le système avec le nouveau noyau et vous êtes prêts à travailler. Le système X-Windows et les consoles virtuelles. **Mise à jour en cours** Je veux lancer X, comment dois-je faire ? La manière la plus simple est de spécifier au moment de l'installation que l'on veut utiliser X. Puis, lire la documentation suivante sur l'outil xf86config , qui vous aidera dans la configuration de XFree86(tm) pour vos cartes graphiques, souris etc... Vous pouvez aussi regarder du côté du serveur Xaccel qui est disponible pour un prix très raisonnable/ Voir la section sur Xi Graphics pour plus de détails. - - Pourquoi ma souris ne marche pas sous X ? <anchor id="x-and-moused"/> + + Pourquoi ma souris ne marche pas sous X ? Si vous utilisez syscons (le driver par défaut de la console), vous pouvez configurer FreeBSD de telle sorte qu'il puisse supporter un pointeur de souris sur chacun des écrans virtuels. Afin d'éviter des conflits avec X, les supports syscons un périphérique virtuel nommé ``/dev/sysmouse''. Tous les évènement liés à la souris sont écrit vers le périphérique sysmouse, en utilsant le protocole MouseSystems. Si vous voulez utiliser votre souris sur une console virtuelle ou plus, et utiliser X, la configuration suivante est recommandée. /etc/rc.conf: moused_type=ps/2 # or whatever your actual type is moused_port=/dev/psm0 # or whatever your real port is moused_flags= /etc/XF86Config Section Pointer Protocol "MouseSystems" Device "/dev/sysmouse" ..... Certaines personnes préfèrent utiliser ``/dev/mouse'' sous X. Ppour le faire marcher, ``/dev/mouse'' devrait être un lien symbolique pour /dev/sysmouse cd /dev rm -f mouse ln -s sysmouse mouse les menus X Window et les boîtes de dialogue ne marchent pas bien! Essayez de désactiver la touche Num Lock. Si votre touche Num Lock est activée par défaut au moment du boot, vous pouvez ajouter la ligne suivante dans la section ``Keyboard'' du fichier XF86config. Let the server do the NumLock processing. This should only be required when using pre-R6 clients ServerNumLock Qu'est ce qu'une console virtuelle, et comment puis-je en avoir plus ? En gros, les consoles virtuelles vous permettent d'avoir plusieurs sessions simultanées sur la même machine sans faire de trucs compliqués du genre monter un réseau, ou lancer X. Quand le système démarre, il vous affichera une invite de login sur le moniteur juste après avoir affiché les messages du boot. Vous pouvez taper votre login et votre mot de passe et commencer à travailler (ou à jouer !) sur la première console virtuelle. A un moment, vous voudrez probablement ouvrir une autre session, par exemple pour lire la documentation d'un programme que vous êtes en train d'exécuter, ou alors lire le courrier en attendant qu'un transfert FTP se termine. Fais juste Alt-F2 (Appuyez en maintenant la touche Alt puis, pressez F2), et vous trouverez une invite de login vous attendant sur la seconde ``console virtuelle ''! Quand vous voudrez revenir à la session de départ, faites Alt-F1. L'installation par défaut de FreeBSD a 3 consoles virtuelles activées, et Alt-F1, Alt-F2, et d Alt-F3 vous permettra de basculer entre ces consoles virtuelles. Pour en activer plus, éditez /etc/ttys et ajoutez les entrées pour ``ttyv4'' à ``ttyvc'' après les commentaires sur les ``terminaux virtuels'': Edit the existing entry for ttyv3 in /etc/ttys and change "off" to "on". ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/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 Utilisez en autant que vous voulez/ Mais plus vous avez de terminaux virtuels, plus vous utilisez de ressources; cela peut-être important si vous avez 8Mo de RAM ou moins. Vous pouvez aussi changer ``secure'' to `` insecure''. NOTE IMPORTANTE si vous voulez lancer un serveur X, vous DEVEZ avoir au moins un terminal virtuel non utilisé (ou désactivé)afin qu'il puisse l'utiliser. Tout cela pour dire que si vous voulez une invite de prompt pour les tous les 12 de vos touches Alt-fonctions, pas de chance, vous pourrez le faire que pour 11 d'entre eux si vous voulez aussi lancer un serveur X sur cette machine. La meilleure façon de désactiver une console est de la déselectionner. Par exemple, si vous avez alloué tous les 12 terminaux mentionné ci-dessus, et que vous voulez lancer X, vous aurez à changer le réglage pour le terminal virtuel 12 de : ttyvb "/usr/libexec/getty Pc" cons25 on secure à: ttyvb "/usr/libexec/getty Pc" cons25 off secure Si votre clavier n'a que 10 touches de fonctions, vous pouvez terminer par : ttyv9 "/usr/libexec/getty Pc" cons25 off secure ttyva "/usr/libexec/getty Pc" cons25 off secure ttyvb "/usr/libexec/getty Pc" cons25 off secure (Vous pouvez aussi juste effacer ces lignes) Une fois que vous avez édité /etc/ttys" , l'étape suivante est de s'assurer que vous avez assez de périphériques de terminaux virtuels. La plus simple manière de procéder est : cd /dev ./MAKEDEV vty12 # For 12 devices Ensuite, la plus simple (et plus propre) manière d'activer la console virtuelle est de rebooter. Malgrè tout, si vous voulez vraiment ne pas avoir è rebooter, vous pouvez juste arrêter le système X Window et exécuter root. kill -HUP 1 Il est impératif d'arrêter complètement X Window s'il est en train de marcher, avant de lancer cette commande. Si vous ne le faite pas, votre système, se trouvera probablement suspendu/bloqué après le lancement de la commande kill. Comment accéder à mes consoles virtuelles depuis X ? Si la console est actuellement en train d'afficher X Window, vous pouvez utiliser Ctrl-Alt-F1, etc. pour passer d'une console à une autre. Notez cependantm qu'une fois que vous avez basculé depuis X Window vers un terminal virtuel, vous ne pouvez utiliser seulement les touches de fonctions Alt- pour passer à un autre terminal virtuel ou revenir è X Window. Vous n'avez pas à maintenir enfoncé la touche Ctrl. Si vous utilisez la touche contrôle pour revenir a X sur certaines vieilles versions, vous pouvez retrouver votre console texte bloquée en mode ``control-lock'' Taper la touche contrôle à nouveau pour le débloquer. Comment démarrer XDM au boot ? Il y a deux écoles de pensée à propos du démarrage de xdm Une école démarre xdm epuis /etc/ttys en utilisant l'exemple fourni. tandis que l'autre lance simplement xdm depuis rc.local depuis un script X.sh dans /usr/local/etc/rc.d. Les deux approches sont valides, et suivant les situations, une méthode peut marcher et pas l'autre. Dans les deux cas, le résultat est le même : X fera apparaître une incite de login graphique. La méthode du ttys a l'avantage de documenter quel vty X va démarrer et en passant la responsabilité de redémarrer le serveur X au logout pour s'initialiser. La méthode rc.local rend la destruction par un kill de xdm très facile si jamais un problème de démarrage du serveur X était rencontré. Si xdm est chargé depuis /etc/rc.local, il peut-être démarré avec n'importe quel argument (i.e comme un démon). Une version précédente de la FAQ disait d'ajouter les vt que vous vouliez que X utilise dans le fichier /usr/X11R6/lib/X11/xdm/Xservers. Cela n'est pas nécessaire, et X utilisera le premier vt qu'il trouvera. Quand je lance xconsole, j'obtiens ``Couldn't open console'' Si vous démarrez X avec startx, les permissions sur /dev/console ne seront pas changé, ce qui entraînera que xterm -C et xconsole ne marcheront pas. Cela est dû à la manière dont les droits sur la consoles sont fixés par défaut. Sur un système multi-utilisateur, on ne veut pas nécessairement que n'importe quel utilisateur ait la possibilité d'écrire sur la console système. Pour les utilisateurs qui se logguent directement sur la machine avec un VTY, le fichier fbtab est là pour résoudre ce problème. En pratique, assurez vous d'avoir une ligne décommenté de la forme : /dev/ttyv0 0600 /dev/console dans/etc/fbtab et cela assurera que quiconque se logguera sur /dev/ttyv0 obtiendra les droits sur la console. Ma souris PS/2 ne se comporte pas bien sous X. Votre souris et votre pilote de souris ont dû se désynchroniser Dans les versions 2.2.5 et avant, passer de X à un termical virtuel et revenir à X ensuite , peuvent les re-synchroniser. Si le problème apparaît souvent, vous pouvez ajouter l'option suivante dans votre fichier de configuration du noyau, et recompiler. options PSM_CHECKSYNC voir la section sur la construction du noyau si vous n'avez aucune expérience dans la recompilation de noyau. Avec cette option, vous aurez moins de chance d'avoir de problème de synchronisation entre la souris et le pilote. Si, malgrès tout, vous aviez ce problème, cliquez sur un bouton quelconque de la souris en maintenant la souris jusqu'à resynchroniser la souris et le pilote. Notez que malheureusement cette option peut ne pas marcher avec tous les systèmes et vide la fonctionnalité ``TAP'' du périphérique ALPS GlidePoint attaché auport souris PS/2 Dans les versions 2.2.6 et plus, la vérification de la synchronisation est un peu mieux faite et est standard avec les pilotes souris PS/2. Cela devrait même marcher avec GlidePoint. (comme le code de vérification est devenu une fonctionnalité standard, l'option PSM_CHECKSYNC n'est pas disponible dans ces versions). Malgrès il y a des rares cas où le pilote peut de façon erronée repporter des problèmes de synchronisation, et vous pourrez alors voir le message : psmintr: out of sync (xxxx != yyyy) et voir que votre souris ne marche pas correctement. Si cela arrive, désactiver le mode de vérification de la synchronization en positionnant le drapeau pour les pilotes de souris PS/2 à 0x100. Entrez dans UserConfig en tapant ``-c'' option à l'invite du boot. boot: -c Puis en ligne de comande de UserConfig, tapez : UserConfig>flags psm0 0x100 UserConfig>quit Ma souris PS/2 mouse de MouseSystems ne marche pas Certains ont rapportés que certains modèles de souris PS/2 de MouseSystem ne marchaient que lorsqu'ils étaient mis en mode ``haute résolution''. D'un autre côté, le curseur de souris peut sauter d'une extrémité de l'écran à l'autre très souvent. Malheureusement, il n'y a pas de solution pour les versions 2.0.X et 2.1.X. Dans les versions 2.2 à 2.2.5, ajouter le patch suivant à /sys/i386/isa/psm.c et reconstruisez le noyau. Voir la section sur la construction d'un noyausi vous n'avez aucune expérience dans la construction des noyaux, diff -u psm.c.orig psm.c @@ -766,6 +766,8 @@ if (verbose >= 2) log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n", unit, i); + set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH); + if 0 set_mouse_scaling(sc->kbdc); /* 1:1 scaling */ set_mouse_mode(sc->kbdc); /* stream mode */ Dans les versions 2.2.6 et plus, spécifier le drqpeau 0x04 au pilote de souris PS/2 afin de mettre la souris en mode haute résolution. Entrez dansUserConfig en spécifiant l'option ``-c'' à l'invite du boot. boot: -c puis, dans la ligne de commande deUserConfig tapez : UserConfig>flags psm0 0x04 UserConfig>quit Voir les sections précédentes pour les autres causes possibles de problèmes avec la souris. Lorsque je construis une application X, <emphasis remap="tt">imake</emphasis> dit qu'il ne trouve pas <emphasis remap="tt">Imake.tmpl</emphasis>. Où est-t-il ? Imake.tmpl est une partie du paquetage Imake, un outil de développement standart sous X. Imake.tmpl,tout comme plusieurs fichiers d'en-tête qui sont requis lors de la construction d'applications X est contenu dans la distribution de programmes X. Vous pouvez l'installer depuis sysinstall ou manuellement à partir des fichiers de distributions X. Comment puis-je inverser les boutons de la souris ? Lancez la commande xmodmap -e "pointer = 3 2 1" depuis votre .xinitrc ou .xsession. Réseaux. **Mise à jour en cours** Où puis-je trouver des informations sur le ``boot sans disque''? Le ``boot sans disque'' veut dire que la machine sous FreeBSD est bootée depuis le réseau, et lit les fichiers nécessaires depuis un serveur et non depuis son disque dur. Pour plus de détails, lisez la section du Handbook sur le Diskless booting Une machine sous FreeBSD peut-elle être utilisée comme routeur dédié ? Les standards de l'Internet et de bonnes pratiques techniques nous interdisent de faire par défaut du routage de paquets avec FreeBSD. Mais vous pouvez néamoins activer cette fonctionnalité en changeant la variable suivante à YES dans rc.conf: gateway_enable=YES # L'hote agira comme routeur s'il est positionne a YES Cette option mettra la variable sysctl net.inet.ip.forwarding à 1. Dans la plupart des cas, vous aurez aussi à lancer un processus de routage afin de renseigner les autres systèmes sur votre routeur. FreeBSD est fourni avec le démon de routage standard BSD routed, ou pour des situations plus complexes, vous pouvez essayer GaTeD (disponible par FTP depuis ftp.gated.Merit.EDU) qui supporte FreeBSD depuis 3_5Alpha7. Nous nous devons de vous prévenir que lorsque FreeBSD est configuré de cette manière, il ne correspond pas tout à fait aux requis standards de l'Internet sur les routeurs. Néamoins, il s'en rapproche assez pour un usage ordinaire. Puis-je connecter ma machine sous Win95 à l'Internet via FreeBSD ? Typiquement, les gens qui posent cette questions sont ceux qui ont 2 PC à la maison, un avec FreeBSD et un avec Win95. L'idée est d'utiliser la machine sous FreeBSD pour se connecter à l'Internet et puis pouvoir ensuite accéder à l'Internet depuis la machine sous Windows 95 via la machine sous FreeBSD. Ce n'est en réalité qu'un cas particulier de la question précédente. Il y a un document très pratique qui explique comment configurer FreeBSD comme routeur par connexion PPP NOTE: Cela requiert que vous ayez au moins deux adresses IP fixes, et probablement 3 ou plus, cela dépend du travail que vous voulez effectuer pour pouvoir mettre en place la machine sous Windows. Comme alternative, si vous n'avez pas d'adresse IP fixe, vous pouvez utiliser une des adresses IP privés et installer des proxies comme SQUID et le TIS firewall toolkit sur la machine sous FreeBSD. Voir aussi la section sur natd . Pourquoi la recompilation du dernier BIND de ISC échoue-t-elle ? Il y a un conflit entre le fichier ``cdefs.h'' de la distribution et celui fourni par FreeBSD. Vous n'avez qu'à enlever compat/include/sys/cdefs.h. FreeBSD supporte-t-il SLIP et PPP? Oui, regardez les pages de manuel slattach, sliplogin, pppd et ppp. pppd et ppp permettent les connexions entrantes et sortantes Sliplogin ne peut s'utiliser qu'avec des connexions entrantes et slattach qu'avec des connexions sortantes. Ces programmes sont décrits dans les sections suivantes du handbook: référence du handbook sur SLIP (côté serveur) référence du handbook sur SLIP (côté client) référence du handbook sur PPP (mode noyau) référence du handbook sur PPP (mode utilisateur) Si vous avez accès à l'Internet à travers un "compte shell" vous pouvez jeter un coup d'oeil au paquetage slirp. Il peut vous fournir un accès (limité) aux services tels que ftp et http directement depuis votre machine locale. Est-ce que FreeBSD supporte NAT ou le Masquerading ? Si vous avez un sous-réseau local (une ou plusieur machines), mais qu'une seule adresse IP vous a été allouée (même si ce n'est qu'une adresse IP dynamique), vous pouvez regarder le programme natd . Natd vous permet de connecter un sous-réseau entier à l'Internet en n'utilisant qu'une seule adresse IP. Le programme ppp a des fonctionnalités similaires construit par l'intermédiaire de l'option -alias switch. La bibliothèque alias est utilisée dans les deux cas. Je n'arrive pas à faire marcher ppp. Où me suis-je trompé ? Vous devriez tout d'abord lire la page de manuel ppp et la section du handbook sur ppp. Activer le logging avec la commande set log Phase Chat Connect Carrier lcp ipcp ccp command Cette commande peut-être tapée à l'invite de commande de ppp ou peut-être entrée dans le fichier de configuration /etc/ppp/ppp.conf. (le début de la section par défaut default est l'endroit idéal pour le mettre). Assurez vous que le fichier /etc/syslog.conf contienne les lignes !ppp *.* /var/log/ppp.log et que le fichier /var/log/ppp.log existe. Vous pouvez aussi tirer pas mal de renseignements sur ce qui se passe en lisant les fichiers log. Ne vous inquiétez pas même si cela vous semble dénué de sens, si vous obtenez de l'aide de quelqu'un, pour lui, cela aura un sens. Si votre version de ppp ne comprend pas la commande "set log" vous devriez charger la dernière version. Il pourrra se construire sur FreeBSD version 2.1.5 et plus. Ppp se bloque quand je le lance Cela est usuellement dû au fait que votre nom d'hôte ne peut être résolu. La meilleure solution pour résoudre ce problème est de s'assurer que votre /etc/hosts est consulté en premier par votre résolveur en éditant /etc/host.conf et en mettant la ligne hosts en premier. Puis, ajoutez simplement une entrée pour votre machine locale dans /etc/hosts. Si vous n'avez pas de réseau local, changez simplement votre ligne localhost : 127.0.0.1 foo.bar.com foo localhost Sinon, ajoutez simplement une autre entrée pour votre hôte. Consultez les pages de manuels appropriées pour plus de détails. Vous devrez être alors capable de réussir à faire un ping -c1 `hostname` quand vous aurez fini. Ppp ne veut pas communiquer en mode -auto Tout d'abord, vérifiez que vous avez bien un routage par défaut en lançant netstat -rn, vous devriez voir deux entrées comme suivent : 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 ici, on supposera que vous avez utilisé les adresses données en exemple dans le handbook, les pages man ou depuis le fichier ppp.conf.sample. Si vous n'avez pas de routage par défaut, c'est peut-être parce que vous utilisez une vieille version de ppp qui ne comprend pas le mot HISADDR dans le fichier ppp.conf. Si votre version de ppp est antérieure à FreeBSD 2.2.5, changer la ligne add 0 0 HISADDR par celle-ci : add 0 0 10.0.0.2 Une autre raison au fait que la ligne du routage par défaut soit manquante est que vous avez pu régler un routage par défaut erroné dans le fichier /etc/rc.conf (ce fichier est appelé /etc/sysconfig avant la release 2.2.2), et que vous avez oublié la ligne suivante : delete ALL from ppp.conf. Si cela est le cas, revenez à la section du handbook sur la configuration finale du système section of the handbook. Que veut dire "No route to host" ? Cette erreur est usuellement dûe à une omission de la section MYADDR: delete ALL add 0 0 HISADDR dans votre fichier /etc/ppp/ppp.linkup. Cela est seulement nécessaire si vous avez une adresse IP dynamique ou que vous ne savez pas l'adresse de votre routeur. Si vous utilisez le mode interactif, vous pouvez taper les lignes suivantes après être entré en mode paquet (le mode paquet est indiqué par le PPP en majuscule à l'invite): delete ALL add 0 0 HISADDR Se référer à la section du handbook sur PPP et les adresses IP dynamiques pour plus de détails. Ma connexion se termine au bout de 3 minutes La limite de temps (timeout) par défaut de ppp est de 3 minutes. Cela peut-être ajusté avec les lignes : set timeout NNN NNN est le nombre de secondes d'inactivité avant que la connexion ne soit fermée. Si NNN est égal à zero, la connexion ne sera jamais fermée pour cause de limite de temps écoulée. Il est possible de mettre cette commande dans le fichier ppp.conf, ou de la taper à l'invite en mode interactif. Il est également possible de l'ajuster au vol alors que la ligne est active, en se connectant à la socket du serveur ppp en utilisant telnet ou pppctl. Se réferer à la page de manuel de ppp pour plus de détails. Ma connexion se termine lors de gros chargements. Si vous avez activé le report de la qualité de connexion (Link Quality Reporting (LQR)), il est possible ce soit parce que que trop de paquets LQR sont perdus entre la machine et son interlocuteur. PPP en déduit que la ligne doit être trop mauvaise, et se déconnecte. Avant la version 2.2.5 de FreeBSD, LQR était activé par défaut. Il est maintenant désactivé par défaut. LQR peut-être désactivé avec la ligne suivante : disable lqr Ma connexion se termine après un certain temps aléatoire. Parfois, sur une ligne de téléphone avec des parasites, ou même sur une ligne avec des attentes d'appels activées, le modem peut se suspendre parce qu'il pense (de manière erronée) qu'il y a une perte du support de connexion (lost carrier) Il y a un réglage sur la plupart des modems qui déterminent le degré de tolérance sur la perte temporaire de la ligne porteuse. Sur un USR Sportster par exemple, cela est mesuré par le registre S10 en dixième de secondes. Pour rendre votre modem plus tolérant, vous pouvez ajouter la séquence envoi-attente suivante à votre chaîne de connexion : set dial "...... ATS10=10 OK ......" Se référer au manuel de votre modem pour plus de détails. Rien ne se passe après le message Login Ok! Avant la version 2.2.5 de FreeBSD, une fois la ligne établie, ppp devait attendre que ce soit l'autre parti (peer) qui initialise le protocole de contrôle de ligne (Line Control Protocol (LCP). Or, plusieurs ISPs ne débuteront pas la négociation et attendront du client qu'il le fasse. Pour forcer ppp à initialiser le LCP, utiliser la ligne suivante : set openmode active Note: Cela ne fait pas de dégats si chacun des deux parties initialisent tous les deux la connexion, c'est pourquoi openmode est à présent activé par défaut. Quoiqu'il en soit, la prochaine section expliquera quand est-ce ce que cela peut gêner. Je n'arrête pas de voir des erreurs à propos de magic being the same De temps en temps, juste après la connexion, vous pouvez voir des messages dans le log qui dit "magic is the same". Parfois ces messages sont sans conséquences, et parfois l'un ou l'autre des partis quitte. La plupart des implémentations ppp ne peuvent survivre à ce problème, et même si la ligne semble venir, vous verrez régulièrement des demandes de configuration et des accusés de réception de configuration dans le fichier log à moins que ppp abandonne et ne ferme la connexion. Cela apparaît normallement sur les machines serveurs avec des disques lents qui diffusent un getty sur le port, et qui exécute ppp depuis un script ou programme de login après le login. J'ai aussi eu vent de cela arrivant lorsqu'on utilise slirp. La raison est qu'entre le temps où getty quitte et que ppp commence, le ppp côté-client commence par envoyer des paquets Line Control Protocol (LCP). Parce que l'ECHO est toujours actif sur les ports du côté serveur, le client ppp verra ces paquets qui lui seront "reflèté". Une partie de la négociation LCP est d'établir un nombre magique (magic number) de chaque côté de la ligne, ceci afin que les "réflexions" soient détectées. Le protocole dit que lorsque l'autre parti essaye de négocier le même nombre magique, un NAK devrait être envoyé et un nouveau nombre magique choisi. Durand la période où le serveur où le port serveur a l'ECHO activé, le client ppp envoie des paquets LCP, voit le même nombre magique dans les paquets reflètés et il le "NAK". Il voit aussi les reflexions de NAK (qui veut aussi dire que ppp devrait changer son nombre magique). Cela produit potentiellement un énorme nombre de nombre magiques à changer, chacun d'entre eux tous s'empilant joyeusement dans le buffer stty du serveur. Aussitôt que ppp démarre sur le serveur, il est innondé par des changement de nombre magique et souvent décide qu'il a assez essayé de négociation LCP et abandonne. Pendant ce temps, le client qui ne voit alors plus de réflexions, se réjouit juste le temps de voir que le serveur l'a déconnecté. Cela peut-être évité en autorisant l'autre parti à démarrer la négociation avec la ligne suivante dans le fichier ppp.conf set openmode passive Cela dit à ppp d'attendre que le serveur débute la négociation LCP. Certains serveurs toutefois peuvent ne jamais initier la négociation. Si cela est le cas, vous pouvez faire quelque chose du genre : set openmode active 3 Cela dit à ppp de rester passif pendant 3 secondes, et puis commencer à envoyer les requêtes LCP/ Si l'autre parti commence à envoyer des requêtes durant cette période, ppp répondra immédiatement plutôt qu'en attendant que la période des 3 secondes se termine. Les négociations LCP continuent jusqu'à ce que la connexion soit fermée. Cela est pour l'instant un défaut d'implémentation dans ppp où il n'associe pas les réponses LCP, CCP & IPCP avec leur requête originale. Comme conséquence, si l'une des implémentations ppp est 6 secondes plus lente que l'autre côté, l'autre côté enverra 2 requêtes de configuration LCP supplémentaire. Cela est fatal. Soient 2 implémentations, A et B. A commence à envoyer des requêtes LCP immédiatement après s'être connecté et B met 7 secondes à démarer. Quand B démarre, A a envoyé 3 requêtes LCP. Nous supposons que la ligne a désactivée l'ECHO, car dans le cas contraire nous verrions des problèmes de nombres magiques comme décrit dans la section précédente. B envoi un REQ, puis un ACK au premier REQ de A. Le résultat est que A entre dans l'état OPENED et envoie un ACK (le premier) en retour à B. Pendant ce temps, B renvoi 2 ACK de plus en réponse au 2 REQ supplémentaires envoyés par A avant B que B n'ait commencé. B reçoit alors le premier ACK de A et entre dans l'état OPENED. A reçoit le deuxième ACK de B et revient à l'état REQ-SENT, et envoie un autre (quatrième) REQ comme décrit dans la RFC. Il envoie alors un troisième ACK et entre dans l'état OPENED. Durant ce moment, B reçoit le quatrième REQ de A, par conséquent, revient dans l'état ACK-SENT et envoie un autre (second) REQ et (quatrième) ACK as per the RFC. A reçoit le REQ, va dans l'état REQ-SENT et envoie un autre REQ. Il reçoit alors immédiatement le ACK suivant et entre dans l'état OPENED. Cela continue tant qu'un des partis ne s'aperçoive qu'ils n'iront nulle part comme cela et abandonne. La meilleure façon d'éviter cela est de configurer un côté comme étant passif - cela fait, faire de telle sorte qu'un des côtés attende que l'autre commence la négociation. Cela peut-être fait par la commande : set openmode passive Faire attention avec cette option, vous devriez aussi utiliser la commande set stopped N afin de limiter la durée avant que ppp attende de l'autre parti de commencer la négociation. D'une autre façon, la commande set openmode active N (où N est le nombre de secondes qu'il faut attendre avant que le démarrage de la négociation ne soit faite). Regardez les pages de manuels pour plus de détails. Ppp se verrouille peu après la connexion. Avant la version 2.2.5 de FreeBSD, il était possible que votre ligne soit désactivée peu après la connexion, dûe à une mauvaise négociation de compression Predictor1 de ppp Cela ne devrait arriver que si deux côtés essayent de négocier des protocoles de contrôle de compression ( Compression Control Protocols (CCP) différents. Ce problème est à présent résolu, mais si vous utilisez toujours une vieille version de ppp, le problème peut-être sauté avec la ligne disable pred1 Ppp se verrouille quand je "shell" pour le tester. Quand vous exécutez le shell ou la commande !, ppp exécute un shell (ou si vous avez passé des arguments, ppp exécutera ces arguments). Ppp attendra que la commande se termine avant de continuer. Si vous avez l'intention d'utiliser la connexion ppp pendant que vous lancez la commande, la connexion apparaîtra alors comme ayant été gelée. Cela parce que ppp attend que la commande se termine. Si vous voulez exécuter des commandes comme cela, utilisez plutôt la commande !bg. Cela exécutera la commande en arrière plan, et ppp pourra continuer de servir la connexion. Ppp sur un null-modem ne quitte jamais. Il n'y a aucune manière pour que ppp détermine automatiquement qu'une connexion directe s'est achevée. Cela est dû aux lignes utilisées dans un câble série null-modem. Quand on utilise cette sorte de connexion, LQR devrait être toujours activé avec la ligne : enable lqr LQR est accepté pas défaut si négocié par l'autre parti. Pourquoi ppp tente de se connecter sans raison em mode -auto ? Si ppp tente de se comnnecter sans raison aucune, vous devez en déterminer la cause et mettre en place des filtrages d'appels (dfilters) pour prévenir de tels appels. Afin d'en déterminer la cause, utilisez la ligne suivant : set log +tcp/ip Cela tracera tous le trafic à travers une connexion. La prochaine fois que la connexion se mettra en place de manière inattendue, vous verrez la raison tracé avec le moment où cela s'est produit à côté. Vous pouvez à présent désactiver les appels sous ces circonstances. D'habitude, ces sortes de problèmes arrivent à cause des DNS lookup. Pour empêcher le DNS lookup d'établir une connexion (cela n'empêchera pas ppp de passer les paquets à travers une connexion établie), utilisez les lignes suivantes : set dfilter 1 deny udp src eq 53 set dfilter 2 deny udp dst eq 53 set dfilter 3 permit 0/0 0/0 Cela ne convient pas toujours puisqu'il enlèvera effectivement vos fonctionnalités de demandes d'appels - la plupart des programmes auront besoin du DNS lookup avant de faire quelque chose ayant un rapport avec le réseau. Dans le cas DNS, vous pouvez essayer de déterminer qui est-ce qui essaye actuellement de résoudre le nom de l'hôte. La plupart du temps, c'est sendmail le coupable. Vous devez vous assurer que vous avez dit à sendmail de ne faire aucun DNS lookup dans ses fichiers de configuration, regardez la section sur la configuration du mail pour les détails de comment créer son propre fichier de comfiguration, et qu'est ce qu'on doit mettre dedans. Vous pouvez aussi vouloir ajouter les lignes suivantes dans votre fichier .mc : define(`confDELIVERY_MODE', `d')dnl Cela fera que sendmail mettra tout en file d'attente jusqu'à ce que la file soit lancée (habituellement, sendmail est invoqué avec ``-bd -q30m'', lui disant de lancer la file d'attente toutes les 30 minutes) ou jusqu'à ce que un ``sendmail -q'' soit effectué (peut-être dans votre fichier ppp.linkup). Que veulent dire ces erreurs CCP ? Je n'arrête pas de voir les erreurs suivantes dans mon fichier log : CCP: CcpSendConfigReq CCP: Received Terminate Ack (1) state = Req-Sent (6) Ceci est obtenu parce que ppp est en train de négocier la compression Predictor1 et que l'autre parti ne veut pas du tout négocier de compression. Ces messages sont sans conséquences aucune, mais si vous voulez les enleverm vous pouvez désactiver la compression Predictor1 aussi en local. disable pred1 Ppp se bloque durant les transferts de fichiers avec une erreur IO. Sous FreeBSD 2.2.2 et avant, il y avait un bug dans le driver tun qui stoppait tous les paquets entrants d'une taille plus grande que la taille MTU de l'interace tun. La réception de paquets plus grands que la taille du MTU résultait en une erreur IO qui était alors tracé avec syslogd, Les spécifications ppp disent qu'un MTU de 1500 devrait toujours être accepté comme un minimum, ceci quelque soit la négociation LCP. Il est toutefois possible que vous diminuez le MTU à moins de 1500, votre ISP vous transmettra des paquets de 1500 sans s'en préoccuper, et cela vous bloquera, gelant ainsi la ligne. Ce problème peut être contourné en ne réglant jamais un MTU en dessous de 1500 sous FreeBSD 2.2.2 et avant. Pourquoi ppp ne trace-t-il pas ma vitesse de connexion ? La façon de tracer toutes les lignes de la ``conversation'' de votre modem est d'activer : set log +connect Cela permettra à ppp de tout tracer jusqu'à la dernière chaîne de requête d'"attente" Si vous voulez voir votre vitesse de connexion et que vous utilisez PAP ou CHAP (et donc ne rien avoir avec "chat" après le CONNECT dans le script dial - pas de script "set login"), vous devez vous assurer que vous prévenez ppp de s'attendre tout la ligne CONNECT, quelque chose comme : set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n" Ici, nous avons notre CONNECT, ne rien envoyer, et puis attendre un saut de ligne, forçant ppp à lire toute la réponse CONNECT. Ppp ignore le caractère `\' dans mon script chat Ppp parse chacune des lignes de votre fichier de configuration, de telle sorte qu'il puisse interprêter des chaines comme set phone "123 456 789" correctement (et réaliser qu'il n'y a que un seul argument. Pour pouvoir spécifier un caractère ``"'', vous devez l'échapper avec un backslash (``\''). Quand l'interprêteur chat parse chaque argument, il re-interprête l'argument de telle sorte à trouver des séquences de caractères d'échappement comme ``\P'' ou ``\T'' (voir les pages de manuel). En conséquence de ce double-parsing, vous devez vous souvenir d'utiliser le nombre correct d'échappement. Si vous voulez envoyer un caractère ``\'' à votre modem, vous aurez besoin de faire quelque chose comme : set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK" qui se résultera en la séquence suivante : ATZ OK AT\X OK ou encore set phone 1234567 set dial "\"\" ATZ OK ATDT\\T" résultera en la séquence suivante : ATZ OK ATDT1234567 Ppp reçoit une erreur de segmentation, mais je ne trouve pas de fichier <emphasis remap="tt">ppp.core</emphasis> Ppp (ou n'importe quel programme dans le même cas) ne devrait jamais faire de coredump. Parce que ppp tourne avec une identité d'utilisateur effectif de 0, le système d'exploitation n'écrira pas d'image du core sur le disque avant de l'avoir terminé. Si, malgrè tout, ppp se termine actuellement à cause d'une violation de segmentation, ou n'importe quel autre signal qui cause normalement un core dump, et que vous êtes sûr que vous utilisez la dernière version (voir le début de cette section), alors vous devriez faire la chose suivante : $ tar xfz ppp-*.src.tar.gz $ cd ppp*/ppp $ echo STRIP= >>Makefile $ echo CFLAGS+=-g >>Makefile $ make clean all $ su make install chmod 555 /usr/sbin/ppp Vous aurez alors une version déboguable de ppp installé. Vous aurez à être root pour lancer ppp puisque tous ses privilèges auront été révoqués. Quand vous démarrez ppp, retenez soigneusement le répertoire courant dans lequel vous étiez. A présent, si et quand ppp recevra une violation de segmentation, cela crééra un fichier core nommé ppp.core. Vous aurez alors à faire la chose suivante : $ su gdb /usr/sbin/ppp ppp.core (gdb) bt ..... (gdb) f 0 ..... (gdb) i args ..... (gdb) l ..... Toutes ces informations devront être données suivant votre question, rendant ainsi possible le diagnostique de votre problème. Si vous êtes familier avec gdb, vous pouvez vouloir trouver d'autres techniques pour trouver ce qui a causé le dump, et les adresses et valeurs des variables concernées. Le processus qui force un appel en mode auto ne se connecte jamais. Cela est un problème connu quand ppp est réglé de telle sorte à négocier une adresse IP dynamique avec son homologue. Quand ce programme initial appelle connect(2) , l'adresse IP de l'interface tun est assignée à l'extrêmité de la socket. Le noyau crée le premier paquet sortant et l'écrit sur le périphérique tun. Ppp lit alors le paquet et établit alors la connexion. Si, comme résultat de l'assignation dynamique de ppp, l'adresse de l'interface est changée, l'extrêmité originale de la socket sera invalide. Tout paquet envoyé à l'autre parti sera alors en principe perdu. Et même s'il ne l'était pas, toute réponse ne pourrait pas être renvoyée à la machine originelle puisque l'adresse IP ne serait plus possèdée par cette machine. Théoriquement, il y a plusieurs manières d'aborder ce problème. Le mieux serait que l'homologue re-assigne la même adresse IP si possible :-) La meilleure méthode de notre côté, serait de ne jamais changer l'adresse IP de l'interface tun, mais à la place, changer tous les paquets sortant de telle sorte que les adresses IP de la source soient changées de l'interface Ip à l'IP négocié au vol. C'est essentiellement ce que libalias(3) (et l'option -alias de ppp) font actuellement. Une autre alternative (et probablement la plus sûre); est d'implémenter un appel système qui change tous les sockets reliées depuis une adresse IP à une autre. Ppp utiliserait cet appel pour modifier la socket de tous les programmes existant lorsqu'une nouvelle adresse IP est négociée. Une troisième possibilité est d'autoriser à une interface de s'activer sans adresse IP. Les paquets sortant auront une adresse IP de 255.255.255.255 jusqu'à ce que le premier SIOCAIFADDR ioctl soit fait. Cela reviendrait à lier entièrement la socket, et ça serait à ppp de changer l'adresse IP source, mais seulement si il est à 255.255.255.255, et seulement si le numéro IP et le checksum IP doivent être changés. Quoiqu'il en soit, c'est de la bidouille puisque le noyau enverra des paquets invalides à une interface mal configurée, en supposant que d'autres mécanismes seront capables de réparer les choses retrospectivement. Aucune de ces solutions n'a (encore) été implémentée. Pourquoi la plupart des jeux ne marchent pas avec l'option -alias ? La raison pour laquelle les jeux et assimilés ne marchent pas avec libalias est que la machine extérieure essaye d'ouvrir une connexion ou envoyer des paquets UDP (non sollicités) à la machine interne. Le logiciel packet alias ne sait alors pas qu'il faut envoyer ces paquets à une machine interne. Pour que ça marche, assurez vous que la seule chose qui tourne est le logiciel avec lequel vous avez des problèmes, puis alors, soit vous lancez tcpdump sur votre interface tun de votre routeur, soit vous activez le login ppp tcp/ip (``set log +tcp/ip'') sur votre routeur. Quand vous démarrez le logiciel incriminé, vous devriez voir les paquets passer à travers la machine routeur. Quand quelque chose revient depuis l'extérieur, il sera retiré (c'est ça le problème). Noter le numéro de port de ces paquets, puis arrêtez le logiciel incriminé. Faite ceci quelques fois pour voir si les numéro de ports sont consistants. Si ils le sont, alors la ligne suivante dans la section appropriée de /etc/ppp/ppp.conf rendra le logiciel fonctionnel. alias port proto internalmachine:port port où ``proto'' est soit ``tcp'' ou ``udp'', ``internalmachine'' est la machine à laquelle vous voulez que les paquets soient envoyés et ``port'' le numéro de port de destination des paquets. Vous ne pourrez pas utiliser le logiciel sur d'autres machines sans changer la commande du dessus, et lancer le logiciel sur 2 machines internes en même temps est hors de question - après tout, le monde extérieur voit tout votre réseau entier comme une seule machine. Si les numéros de ports ne sont pas consistants, il y a 3 autres options : 1) Soumettre le support dans libalias. Des exemples de ``cas spéciaux'' peuvent être trouvés dans /usr/src/lib/libalias/alias_*.c (alias_ftp.c iest un bon prototype). Cela implique habituellement la lecture de certains paquets sortant reconnus, identification des instructions qui dit à la machine extérieure d'initialiser la connexion en retour vers machine interne sur un port (aléatoire) spécifique, et mettre en place une ``route'' dans la table d'alias de telle sorte que les paquets concernés sachent où aller. C'est la solution la plus difficile, mais c'est la meilleure et permettra au logiciel de marcher sur plusieurs machines 2) Utiliser un proxy. L'application peut pouvoir supporter socks5 par exemple, ou (comme dans le cas de ``cvsup'') peut avoir une option ``passive'' qui évite d'avoir à toujours demander que l'autre parti ouvre une connexion en retour sur la machine locale. 3) Tout rediriger vers une machine interne utilisant ``alias addr''. C'est l'approche "bourrin". Rien de cela ne marche - je suis désespéré ! Si tout le reste échoue, envoyer autant d'informations que vous pouvez, y compris vos fichiers de configuration, comment vous avez démarré ppp, les parties pertinentes de votre fichier log, et la sortie de la commande netstat -rn (avant et après connexion) à la liste de diffusion freebsd-questions@FreeBSD.org ou au newsgroup comp.unix.bsd.freebsd.misc, et quelqu'un devrait vous orienter dans la bonne direction. Je ne peux pas créer un périphérique <emphasis remap="tt">/dev/ed0</emphasis> ! Dans le cadre des réseaux Berkeley, les interfaces réseaux sont seulement directement accessibles par le code du noyau. Regarder le fichier /etc/rc.network et les pages de manuels pour les différents programmes réseaux mentionnés ici pour plus d'informations. Si cela vous est complètement confus, vous devriez prendre un livre décrivant l'administration réseaux sur un autre système d'exploitation relatif à BSD; à quelques exceptions mineures, administrer un réseau sous FreeBSD est basiquement la même chose que sur un SunOS 4.0 ou un Ultrix. Comment puis-je régler les alias éthernet ? Ajouter ``netmask 0xffffffff'' à votre ligne de commande ifconfig comme ci-dessous : ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff Comment puis-je faire pour que mon 3C503 utilise l'autre port réseau ? Si vous voulez utiliser les autres ports, vous avez à spécifier un paramêtre supplémentaire dans la ligne de commande ifconfig. Le port par défaut est``link0''. Pour utiliser le port AUI à la place du BNC,utiliser ``link2''. Ces paramêtres devraient être spécifiés en utilisant les variables de ifconfig_* variables dans /etc/rc.conf. J'ai des problèmes avec NFS depuis/vers FreeBSD. Certaines cartes réseaux sont meilleures que d'autres et peuvent causer quelquefois des problèmes lors d'applications réseaux intensives comme NFS. Regarder la partie du Handbook sur NFS pour plus d'informations à ce sujet. Pourquoi ne puis-je pas monter par NFS depuis une machine sous Linux ? Certaines versions du code NFS de Linux ne peuvent accepter des requêtes de montages que depuis un port privilègié; essayez mount -o -P linuxbox:/blah /mnt Pourquoi ne puis-je pas monter un NFS depuis une machine Sun ? Les stations de travail Sun sous SunOS 4.X n'acceptent seulement des requêtes de montage que depuis un port privilègié; essayez mount -o -P sunbox:/blah /mnt J'ai des problème pour parler PPP à des machines NeXTStep. Essayer de désactiver l'extension TCP dans /etc/rc.conf en changeant la variable à NO : tcp_extensions=NO les machines Xylogic's Annex ne marchent pas non plus dans ce contexte, et vous devez changer de même que ci-dessus pour pouvoir vous connecter au travers d'elles. Comment activer le support multicast IP ? Les opérations multicast sont entièrement supportées par FreeBSD 2.0 et plus par défaut. Si vous voulez que votre machine marche comme un routeur multicast, vous devez recompiler votre noyau avec l'option MROUTING et lancer mrouted. FreeBSD 2.2 et plus démarrera mrouted au moment du boot si l'option mrouted_enable est mis à "YES" dans /etc/rc.conf. Les outils MBONE tools sont disponibles dans leur propre catégorie de ports, mbone. Si vous cherchez les outils de conférence vic et vat, c'est là qu'il faut voir ! Pour plus d'informations, regarder le web d'information Mbone. Quelles cartes réseaux sont basées sur le chipset DEC PCI ? Voici une liste compilée par Glen Foster, avec quelques ajouts récents : Vendor Model ---------------------------------------------- ASUS PCI-L101-TB Accton ENI1203 Cogent EM960PCI Compex ENET32-PCI D-Link DE-530 Dayna DP1203, DP2100 DEC DE435 Danpex EN-9400P3 JCIS Condor JC1260 Linksys EtherPCI Mylex LNP101 SMC EtherPower 10/100 (Model 9332) SMC EtherPower (Model 8432) TopWare TE-3500P Zynx ZX342 Pourquoi dois-je utiliser le FQDN pour les hôtes de mon site ? Vous verrez probablement que l'hôte est actuellement dans un domaine différent; par exemple, si vous êtes dans foo.bar.edu et que vous voulez atteindre un hôte nommé ``mumble'' dans le domaine bar.edu domain, vous aurez à vous y référer par son nom de domaine entièrement qualifié, ``mumble.bar.edu'', à la place de juste ``mumble''. Traditionellement, cela était autorisés par les résolveurs BSD BIND. Malgrè tout, la version courante de bind qui est fournie avec FreeBSD ne fournit plus d'abbréviation par défaut pour un domaine non entièrement qualifié; autre que le domaine dans lequel vous êtes. Ainsi, un hôte non-qualifié mumble doit soit être trouvé comme mumble.foo.bar.edu, ou alors il sera cherché dans le domaine racine. Cela est différent du comportement décrit auparavant, où la recherche continuait à travers mumble.bar.edu, et mumble.edu. Jetez un coup d'oeil à la RFC 1535 pour savoir pourquoi cela est considéré comme une mauvaise pratique, ou encore même un trou de sécurité. Comme détour, vous pouvez placer la ligne : search foo.bar.edu bar.edu à la place de la précédente : domain foo.bar.edu dans votre fichier /etc/resolv.conf . Quoiqu'il en soit, assurez vous que l'ordre de recherche ne vas pas en dehors des ``limites entre l'administration locale et publique'', comme appelée dans la RFC 1535. ``Permission denied'' pour toutes les opérations réseaux. Si vous avez compilé votre noyau avc l'option IPFIREWALL, vous devez être prévenu, que la politique par défaut depuis le 2.1.7R (cela a changé durant le développement du 2.1-STABLE) est de refuser tous les paquets qui ne sont pas explicitement autorisés. Si vous avez inintentionnellement mal configuré votre système pour le firewall, vous pouvez rétablir les fonctionnalité réseaux en tapant la commande suivante sous root : ipfw add 65534 allow all from any to any Vous pouvez aussi régler "firewall_type='open'" dans /etc/rc.conf. Pour plus d'informations sur la configuration d'un firewall FreeBSD, voir la section correspondante du handbook. Combien d'overhead, IPFW implique-t-il ? La réponse à ceci dépend pour la plupart à votre ensemble de règle et à votre vitesse de processeur. Pour la plupart des applications utilisant ethernet et de petits ensembles de règles, la réponse est : négligeable. Pour tous ceux d'entre vous qui veulent des mesures actuelles pour satisfaire leur curiosité, continuez à lire : Les mesures suivantes ont été réalisées en utilisant 2.2.5-STABLE sur un 486-66. IPFW a été modifié pour mesurer le temps écoulé par l'intermédiaire de la routine ip_fw_chk en affichant les résultats sur la console tous les 1000 paquets. 2 ensembles de règles, chacun avec 1000 règles ont été testés. Le premier ensemble a été conçu pour démontrer le scénario du pire des cas en répétant la règle : ipfw add deny tcp from any to any 55555 Cela démontre le pire des cas en faisant que chaque paquet IPFW entraine l'exécution de la routine de vérification qui finallement décide que le paquet ne correspond pas aux règles (en vertu du numéro de port)? Apès la 999eme itération de cette règle, il y avait un allow ip from any to any. Le second ensemble de règles a été conçu pour annuler la vérification de règle très rapidement : ipfw add deny ip from 1.2.3.4 to 1.2.3.4 Les adresses IP des sources non correspondantes aux règles énoncées ci-dessus font que ces règles sont sautées très rapidement. Comme auparavant, la 1000eme règle était un allow ip from any to any. L'étude par paquet dans le premier cas a été approximativement de 2.703ms/paquet, soit en gros 2.7 microseconds par règle . Ainsi, la limite théorique d'étude de paquet avec ces règles est de 370 paquets par secondes. En supposant un éthernet 10Mbps et des paquets d'environ 1500 bytes, nous ne pourrons être capable que d'obtenir une utilisation de la bande passante de 55.5% Pour le dernier cas, chaque paquet a été étudié en approximativement 1.172ms, soit en gros 1.2 microseconds par règle. La limite théorique de l'étude des paquets ici, serait d'environ de 853 paquets par secondes, ce qui pourrait consommer une bande passante d'un éthernet 10Mbps. Le nombre excessif de règle testés, et la nature de ces règles ne fournissent pas un scénario du monde réel -- ils ont été utilisés que pour générer les informations de temps présentés ici.Voici certaines choses à garder à l'esprit pour construire un ensemble de règles efficaces : Placer une règle d'`établissement' très tôt afin de pouvoir gérer la majorité du trafic TCP. Ne mettre aucun allow tcp avant cette règle. Placer les règles souvent sollicitées le plus au début de l'ensemble des règles plutôt que celles rarement utilisées (sans changer la permissivité du firewall , bien sûr). Vous pourrez voir quels sont les règles les plus souvent utilisées en examinant les statistiques des comptages des paquets avec ipfw -a l. Comment puis-je rediriger les requêtes de services d'une machine vers une autre ? Vous pouvez rediriger des requêtes FTP (et autre services) avec le paquetage 'socket', disponible dans l'arbre des ports dans la catégorie 'sysutils'. Remplacer simplement la ligne de commande de service pour appeler socket à la place, ainsi: ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp où 'ftp.foo.com' et 'ftp' sont les hôtes et les ports où se diriger respectivement. Communications par port série. **Mise à jour en cours** Cette section comporte les réponses aux différentes questions sur la communication par port série sur FreeBSD. Les protocoles PPP et SLIP sont couverts dans la section Réseaux. Comment savoir si FreeBSD a trouvé mes ports séries ? Lorsque FreeBSD démarre, il recherche les ports série sur votre machine qui sont configurés dans le noyau. Vous pouvez voir ces ports en regardant avec attention au moment du démarrage les messages affichés, ou en lançant la commande suivante: dmesg | grep sio Lorsque votre système a démarré. Voici quelques exemples de l'affichage de la commande précédente. sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A Vous voyez alors apparaitre deux ports série. Le premier se trouve à l'adresse 0x3f8 sur l'IRQ 4 et est composé d'une puce de type 16550A. Le second est de meme type que le premier, mais se trouve lui à l'adresse 0x2f8 sur l'IRQ 3. Les cartes modems internes sont traités comme des ports série -- sauf qu'ils ont toujours un modem sur le port. Le noyau GENERIC comprends le support pour deux ports série dont les adresses et les IRQ sont les memes que celles ci-dessus. Si ces valeurs ne vous conviennent pas, ou si vous avez des cartes modems additionnelles ou des cartes série, reconfigurez un noyau. Voyez la section sur la reconstruction d'un noyau pour plus de détails. Comment savoir si FreeBSD a trouvé mes cartes modems Référez vous à la section précédente Je viens de mettre à jour ma machine en 2.0.5 et mes <emphasis remap="tt"> tty0x</emphasis> ont diparus ! Ne vous inquitez pas, ils sont été remplacés par les devices ttydX. Vous devrez donc changer toutes vos anciennes configurations pour utiliser ces devices. Comment accéder aux ports série sous FreeBSD ? Le troisième port série sio2 (aussi appelé COM3 sous DOS), s'appelle /dev/cuaa2 en sortie, et /dev/ttyd2 en entrée. Quelle est la différence entre ces deux classes de devices ? Vous devez utiliser ttydX pour des appels sortants. Lorsque vous ouvrez /dev/ttydX en mode bloquant, un processus attend, sur le device cuaaX correspondant, qu'il soit inactif, et attends alors de détecter la porteuse sur la ligne. Lorsque vous ouvrez le port cuaaX , un processus vérifie déjà que le port ttydX correspondant est disponible. Si le port est disponible, alors il se l'approprie depuis le port ttydX . Le port cuaaXX ne tient pas compte de la détection de porteuse. Graçe a cette fonctionnalité et un modem, vous pouvez avoir des utilisateurs se logguant sur votre machine tout en vous laissant appeller via le meme modem, c'est le système qui se préocupera de gérer les conflits. Comment activer le support pour les cartes séries multiports Encore une fois, reportez vous à la section sur la configuration du noyau. Pour une carte série multiports placez une ligne sio pour chaque port série de la carte dans le fichier de configuration du noyau. Ne mettez pour une valeur l'irq et le vecteur d'adresse de la carte. Tous les ports de la cartes doivent partager la même irq. Pour des raisons de cohérence, spécifiez l'irq pour le dernier port. N'oubliez pas d'ajouter l'option COM_MULTIPORT . L'example suivant correspond à une carte série 4ports AST sur l'irq 7 options "COM_MULTIPORT" device sio4 at isa? port 0x2a0 tty flags 0x781 device sio5 at isa? port 0x2a8 tty flags 0x781 device sio6 at isa? port 0x2b0 tty flags 0x781 device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr Les drapeaux (flags) indiquent que le port maitre à un nombre mineur de 7 (0x700), que nous désirons afficher les diagnostics (0x080) et que tous les ports partagent la même irq (0x001). Est-ce que FreeBSD sait gérer les cartes séries multiports en partageant les IRQ ? Pas pour le moment. Vous devez utiliser une IRQ différente pour chaque carte. Puis-je définir les paramètres par défaut de la liaison série pour un port? Les périphériques ttydX (ou cuaaX) sont des périphériques normaux que vous pouvez ouvrir dans vos applications. Lorsqu'un processus ouvre le périphérique, il utilise les paramètres par défaut d'entrées sorties de terminal. Vous pouvez voir ces paramètres en utilisant la commande: stty -a -f /dev/ttyd1 Lorsque vous changez les paramètres du périphérique, ces paramètres sont effectifs jusqu'au moment ou vous arreterez de vous servir de ce périphérique. S'il est ouvert de nouveau, il reprendra les paramètres par défaut. Pour changer les paramètres par défaut , vous devez ouvrir le périphérique et changer les paramètres de l'``état initial'' du périphérique. Par exemple pour définit un mode LOCAL, 8 bits et un controle de flux XON/XOFF par défaut sur le ttyd5, voud devez : stty -f /dev/ttyd5 clocal cs8 ixon ixoff Le mailleur endroit pour effectuer ceci est le fichier de démarrage /etc/rc.serial. Maintenant lorsqu'une application ovrira ttyd5 elle obtiendra les valeurs ci-dessus. Vous pouvez empecher certaines valeurs d'etre modifiées en utilisant le fonction de ``lock'' du périphérique. Par exemple pour forcer la vitesse à 57600bauds sur ttyd5 : stty -f /dev/ttyd5 57600 Maintenant lorsqu'un programme ouvrira ttyd5 et tentera de changer la vitesse du port, il obtiendra toujours 57600 bauds. Bien sur, vous devez laisser la possibilité de changer les états initiaux et de lock que pour l'utilisateur root. Le script MAKEDEV ne le fait pas par défaut lorsqu'il crée les noeuds. Comment mettre en place un login dialup sur mon modem? Vous voulez devenir fournisseur d'accès à l'Internet ? Pour commencer vous devez disposer de plus d'un modem pouvant répondre automatiquement. Votre modem doit pouvoir detecter une émission de porteuse lorsque qu'elle se présente et ne doit pas en détecter constemment. Il doit aussi etre capable de racrocher la ligne lorsqu'il détecte le passage de 1 à 0 du signal DTR. Il doit aussi utiliser un controle de flux de type RTS/CTS ou aucun controle de flus. Enfin, il doit etre capable de négocier la vitesse de transmission entre lui-même et le modem distant tout en gardant une vitesse constante vis à vis de l'ordinateur. Pour la plupart des modems comprennant les commande Hayes, cette commande met en place les bonnes valeurs et les enregistre en mémoire morte: AT &C1 &D3 &K3 &Q6 S0=1 &W Voyez la section sur l'envoi direct de commandes AT, pour savoir comment les mettre en place sans avoir besoin de lancer un émulateur de terminal sous MS-DOS. Ensuite créez une entrée dans /etc/ttys pour le modem. Ce fichier comporte tous les ports sur lesquels le système d'exploitation attend des commandes de login. Ajoutez une ligne ressemblant à celle ci: ttyd1 "/usr/libexec/getty std.57600" dialup on insecure Cette ligne indique que sur le deuxième port série (/dev/ttyd1) est attaché un modem dialoguant à 57600 bauds sans parité (std.57600) se trouvant dans le fichier /etc/gettytab ). Le type de terminal est ``dialup''. Le port est ``on'' et ``insecure'' -- ce qui veut dire que les logins sous root ne sont pas autorisés sur ce port. Pour utiliser d'autres ports en entrée, utilisez les autres entrées ttydX . Il est d'usage courant d'utiliser ``dialup'' comme type de terminal. Beaucoup d'utilisateurs affichent un prompt dans leur .profile ou .login si le type de terminal est ``dialup''. L'exemple ci-dessus affecte au port le mode ``insecure''. Pour passer root, vous devez donc vous logguer en temps qu'utilisateur ordinaire et utiliser la commande su pour devenir root. Si vous définissez le port en tant que ``secure'', alors vous pourrez vous logguer sous root directement. Après avoir effectué les modifications au fichier /etc/ttys , vous devez envoyer un signal HUP au processus init kill -HUP 1 Cela force le processus init à relire le fichier /etc/ttys. Le processus init démarrera donc des processus getty sur tous les ports marqués comme on. Vous pouvez alors vérifiez que le login est possible sur le port en tapant : ps -ax | grep '[t]tyd1' Et vous devez voir apparaitre quelque chose comme ceci: 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 Comment connecter un terminal sur mon système FreeBSD? Si vous utilisez un autre ordinateur en tant que terminal, vous devez vous procurer un cable null modem pour relier les deux ports série. Si vous utilisez un vrai terminal (de type WYSE-50), suivez les instructions du manuel Ensuite, modifez /etc/ttys comme expliqué à la section précedente. Par exemple, pour un terminal WYSE-50 connecté sur le 5ème port série, utilisez une entrée ressemblant à la suivante: ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure Cet exemple assume que le port /dev/ttyd4 est connecté sur un terminal wyse50 à la vitesse de 38400 bauds sans parité (std.38400 se trouvant dans le fichier /etc/gettytab) et les logins root sont permis (mot clé secure) Pourquoi ne puis-je pas executer <filename>tip</filename> ou <filename>cu</filename>? Sur votre système, les programmes tip et cu ne sont probablement executable que par l'utilisateur uucp et par le groupe dialer. Le groupe dialer vous permet de controler qui a accès à votre modem ainsi qu'aux systèmes distants. Ajoutez vous dans ce groupe pour pouvoir utiliser ces commandes. Sinon, vous pouvez autoriser tous les utilisateurs de votre système à utiliser les programmes tip et cu en tapant: # chmod 4511 /usr/bin/cu # chmod 4511 /usr/bin/tip Mon modem Hayes n'est pas supporté; que dois-je faire ? Pour l'instant la page de manuel de tip n'est pas à jour. Il existe un support générique des commandes Hayes intégré dans le programme. Il suffit de mettre la ligne suivante ar=hayes dans votre fichier /etc/remote Le gestionnaire Hayes ne sait pas reconnaitre les fonctions avancées des nouveaux modems. Des messages comme BUSY, NO DIALTONE, CONNECT 115200 ne sont pas reconnus. Vous devez absolument désactiver ces messages lorsque vous utilisez tip (en tapant ATX0&W). De plus le timeout de tip est de 60 secondes. Votre modem doit absolument utiliser une valeur plus faible, sinon tip pensera qu'il y a un problème de communication. Essayez la commande ATS7=45&W Le version de tip livrée ne comporte pas toutes ces fonctionnalités. La solution est d'éditer le fichier tipconf.h se trouvant dans le répertoire /usr/src/usr.bin/tip/tip. Bien sur cela nécessite que vous ayez installé les sources. Remplacez alors la ligne #define HAYES 0 par #define HAYES 1. Puis tapez make et make install. Tout doit marcher correctement après cela. Comment faire pour entrer certaines commandes AT ? Créez une entrée de type direct dans votre fichier /etc/remote. Par exemple, si votre modem est attaché sur le premier port série, /dev/cuaa0, ajoutez la ligne suivante: cuaa0:dv=/dev/cuaa0:br#19200:pa=none Utilisez le taux maximum, de transfert de votre modem, pour la fonctionnalitée br. Ensuite tapez tip cuaa0 et vous serez alors connecté sur votre modem. S'il n'existe pas de fichier /dev/cuaa0 sur votre système, executez la commande suivante: # cd /dev # ./MAKEDEV cuaa0 Sinon utilisez la commande cu sous root de la façon suivante. # cu -l``port'' -s``vitesse'' Avec port le nom du port série(ex:/dev/cuaa0) et vitesse(la vitesse maximum de votre modem)(ex:57600). Lorsque vous avez entrer les commandes AT apropriées, tapez ~. pour quitter Le symbole <filename>@</filename> pour la fonctionnalité pn ne marche pas! Le symbole @ dans le numéro de téléphone demande à tip de regarder dans le fichier /etc/phones pour trouver le numéro aproprié. Mais le symbole @ est aussi un caractère spécial pour le fichier /etc/remote. Mettez un backslash devant pour qu'il soit correctement interprété. pn=\@ Comment composer un numéro de téléphone depuis la ligne de commande? Mettez une ligne generic dans le fichier /etc/remote. Par exemple: tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: tip57600|Dial any phone number at 57600 bps:\ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: Vous pourrez alors utilisez la commande suivante tip -115200 5551234 . Si vous préferez cu à tip, utilisez une ligne générique pour cu: cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: et utilisez la commande cu 5551234 -s 115200. Dois-je spécifier la vitesse en bauds à chaque connexion Mettez une ligne tip1200 ou cu1200, mais mettez la vitesse que vous voulez pour la fonctionnalité br.tip pense que la vitesse par défaut est de 1200 bauds, donc il cherche une entrée tip1200. Bien sur, vous n'etes pas obligez d'utiliser cette vitesse. J'ai accès à plusieurs machines depuis mon serveur de terminal Plutot que d'attendre d'etre connecté et de taper la commande CONNECT <host> chaque fois, utilisez la fonctionnalité cm de tip. Voyez, par exemple, les entrèes suivantes du fichier /etc/remote: pain|pain.deep13.com|Forrester's machine:\ :cm=CONNECT pain\n:tc=deep13: muffin|muffin.deep13.com|Frank's machine:\ :cm=CONNECT muffin\n:tc=deep13: deep13:Gizmonics Institute terminal server:\ :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234: Cela vous permet de taper directement tip pain ou tip muffin pour vous connectez sur les machines pain ou muffin, et tip deep13 pour accéder au serveur de terminaux. Est-ce que tip peut utiliser plusieurs numéros de téléphones pour se connecter à un site? C'est un problème courant lorsqu'une université a plusieurs lignes pour les modems et plusieurs milliers d'étudiants qui les utilisent. Créez une ligne pour votre université dans le fichier /etc/remote et utilisez \@ comme valeur pour la fonctionnalité pn. big-university:\ :pn=\@:tc=dialout dialout:\ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: Ensuite listez tous les numéros de téléphones de l'université dans le fichier /etc/phones big-university 5551111 big-university 5551112 big-university 5551113 big-university 5551114 tip essaiera alors tous les numéros de téléphones dans l'ordre de la liste puis s'arretera. Si vous voulez qu'il réessaye à l'infini, lancez tip dans une boucle sans fin Pourquoi dois-je appuyer deux fois sur CTRL+P pour envoyer un CRTL+P? CTRL+P est le caractère par défaut pour tip, pour lui dire que le caractère suivant est une donnée brute. Vous pouvez changez ce caractère en n'importe quel autre en utilisant la séquence d'échappement ~s, qui équivaut à set a variable. Tapez ~sforce=<single-char> suivit d'un saut de ligne. <single-char> correspondant à un simple caractère.Si vous laissez <single-char> vide, alors le caractère de ``force'' est le caractère nul, que vous pouvez obtenir par CTRL+2 ou CTRL+SPACE. La meilleur valeur pour ce caractère est SHIFT+CTRL+6, que je n'ai vu que utilisé que sur peu de terminaux. Vous pouvez affecter la valeur que vous voulez pour ce caractère en le spécifiant dans le fichier $HOME/.tiprc: force=<single-char> Tout d'un coup, tout ce que je tape est en majuscule? Vous devez avoir pressé CTRL+A, le caractère ``raise'' de tip, spécialement concus pour les gens n'ayant pas de caps-lock. Utilisez comme auparavant, ~s, et fixez la variable raisechar a une valeur plus raisonnable. En fait, vous pouvez le mettre à la meme valeur que le caractère de ``force'', si vous ne désirez jamais utiliser ces fonctionnalités. Voici un exemple de fichier .tiprc pour les utilisateurs d'Emacs qui utilisent beaucoup CTRL+2 et CTRL+A: force=^^ raisechar=^^ Le caractère ^^ correspond à SHIFT+CTRL+6. Comment effectuer des transferts de fichiers en utilisant <filename>tip</filename>? Si vous dialoguez avec un autre système UNIX, vous pouvez envoyer et recevoir des fichiers en utilisant la commande ~p(put) et ~t(take). Ces commandes utilisent les commandes cat et echo sur le système distant pour recevoir et envoyer les fichiers. La syntaxe de ces commandes est: ~p <fichier-local> [<fichier-distant>] ~t <fichier-distant> [<fichier-local>] Il n'y a aucun controle d'erreur, donc il vaut mieux utiliser un autre protocol comme zmodem. Comment dialoguer en zmodem avec <filename>tip</filename>? Il faut, pour commencer, installer un des programmes zmodem depuis les ports(un de ceux de la catégorie comms lrzsz ou rzsz). Pour recevoir un fichier, démarrez le programme d'envoi des données sur le système distant. Ensuite pressez entrée puis tapez ~C rz (ou ~C lrz si vous avez installé lrzsz) pour recevoir le fichier. Pour envoyer des fichiers, démarrez le programme de réception sur le système distant. Ensuite tapez entrée et tapez ~C sz <files>(ou ~C lsz <files>) pour envoyer le fichier. FreeBSD ne trouve pas mes ports séries, même avec les bonnes valeurs de configuration . Certaines cartes mères et les cartes comportant des Composants UART Acer, ne sont pas reconnues correctement par le programme de détection de FreeBSD. Un patch est disponible à www.lemis.com pour résoudre votre problème. Questions diverses. **Mise à jour en cours** FreeBSD utilise beaucoup plus d'espace swap que Linux. pourquoi ? Non. Vous voulez peut-être dire "pourquoi mon swap semble être plein ?". Si cela est vraiment ce que vous voulez dire, c'est en fait parce que mettre les choses dans le swap plutôt que les mettre de côté rend toujours plus facile sa récupération que si le pager devait aller chercher à travers tout le système de fichier afin de récupérer des blocs propres (non modifié) d'un exécutable. La quantité actuelle de pages "sales" que vous pouvez avoir dans le noyau en même temps n'est pas réduit, les pages propres sont déplacées si nécessaires. Pourquoi utiliser (qu'est-ce) a.out et les formats exécutables ELF ? Afin de comprendre pourquoi FreeBSD utilise le format a.out, vous devez d'abord savoir quelques trucs sur les 3 formats exécutables courant "dominants" pour UNIX : a.out Le vieux et `classique' format des objets unix. Il utilise un court et compact en-tête avec un nombre magique au début, qui est souvent utilisé pour caractériser le format (voir a.out(5) pour plus de détails). Il contient trois segments chargés : .text, .data, et .bss plus une table de symboles et une table de chaînes. COFF Le formats des objets SVR3. L'en-tête comprend une table de section, de telle sorte que vous avez plus de sections que juste .text, .data, et .bss. ELF Le successeur de COFF, qui permet des sections multiples et des valeurs possibles de 32 bits et 64 bits. Un inconvénient majeur : ELF a aussi été conçu en supposant le fait qu'il y qu'un seul ABI par architecture système. Cette hypothèse est assez incorrecte, et même dans le monde SYSV (qui a au moins 2 ABIs : SVR4, Solaris, SCO) cela ne se vérifie pas. FreeBSD essaye de contourner ce problème en fournissant un utilitaire pour marquer un exécutable connu ELF avec des informations sur l'ABI qui va avec. Regardez la page de manuel pour brandelf pour plus d'informations. FreeBSD vient du camp "classique" et utilise traditionnellement le format a.out, une technologie esssayée et éprouvée à travers des générations de releases BSD. Bien qu'il a aussi été quelques fois possible de construire et de lancer des binaires natifs ELF (et noyau) sur un système FreeBSD, FreeBSD a initiallement résisté à la "pression" de passer à ELF comme format par défaut. Pourquoi ? Bien, quand le camp Linux ont fait leur difficile transition vers ELF, il ne suffisait pas de fuir le format exécutable a.out. mais leur mécanisme de librairies partagées basé sur des table de sauts inflexible ce qui rendait la construction de librairies partagées difficiles pour les vendeurs et développeurs. Depuis comme les outils ELF offrent une solution au problème des librairies partagées et semblent en général perçus comme "la voie du progrès" de toute façon, le coût de migration a été entendu comme nécessaire, et la transition a été réalisée. Dans le cas FreeBSD, notre mécanisme de librairie partagée se rapproche plus des style de mécanisme de librairie partagée des SunOS de Sun, et de la sorte, est très simple à utiliser. Quoiqu'il en soit, à partir de 3.0, FreeBSD supportera officiellement les binaires ELF comme format par défaut. Même si les formats exécutables a.out nous ont beaucoup servis, les gens du GNU auteurs des outils de compilation que nous utilisons ont arrêté leur supports pour le format a.out. Cela nous a forcé à maintenir des versions divergentes du compilateur et de l'éditeur de liens, et nous a empêché de bénéficier des derniers efforts du développement GNU. Et puis, les demandes de ISO-C++, notemment pour les constructeurs et les destructeurs, nous ont aussi conduit à supporter de l' ELF natif pour les futures release de FreeBSD. Pourquoi chmod ne veulent pas changer les permissions sur les liens symboliques ? Vous devez utiliser soit ``-H'' ou ``-L'' ensemble avec l'option ``-R'' pour que cela marche. Regardez les pages de manuels de chmod et symlink. ATTENTION l'option ``-R'' fait un chmod RECURSIF chmod. Faites attention en spécifiant le répertoire ou les liens symboliques vers les repertoires où vous lancerez chmod. Si vous voulez changer les permissions d'un répertoire référencé par un symlink, utiliser chmod sans aucune option et suivre le lien symbolique avec un slash final (``/''). Par exemple, si ``foo'' est un lien symbolique vers le répertoire ``bar'', et que vous voulez changer les permissions de ``foo'' (actuellement ``bar''), vous devrez sans doute faire quelque chose comme : chmod 555 foo/ Avec un slash final, chmod suivra le lien symbolique, ``foo'', pour changer les droits sur le répertoire ``bar''. Pourquoi les noms de logins sont <emphasis remap="bf">encore</emphasis> restreints à 8 caractères ? Vous pouvez penser qu'il est assez simple de changer UT_NAMESIZE et de reconstruire tout le monde, et que tout marcherait. Malheureusement, il y a souvent une escouade d'applications et d'utilitaires (y compris les outils systèmes) qui ont codé en dur les petits nombres (pas toujours "8" ou "9", mais d'autres plus étranges comme "15" ou "20") dans les structures et les buffers. Non seulement cela vous donnera des fichiers logs qui seront altérés (à cause des longueurs des variables enregistrés là où des enregistrement de taille fixées sont attendus), mais cela peut planter les clients NIS de Sun, et potentiellement causer d'autres problèmes lors de l'interaction avec d'autres systèmes UNIX. Dans FreeBSD 3.0 et plus, la longueur maximale des noms a été augmentée à 16 caractères et tous ces divers utilitaires avec des tailles de noms codés en dur ont été trouvés et corrigés. Le fait que cela touche tant de domaines du système explique en fait pourquoi le changement n'a pas été fait avant la 3.0. Si vous êtes absolument confiant dans votre habileté à trouver et à corriger ces sortes de problèmes par vous-même quand ils arrivent, vous pouvez augmenter la taille des noms de login dans les releases précédentes en éditant /usr/include/utmp.h et en changeant en fonction de la taille que vous voulez donner, la variable UT_NAMESIZE. Vous devez aussi mettre à jour la variable MAXLOGNAME dans /usr/include/sys/param.h pour correspondre au changement de UT_NAMESIZE. Au final, si vous construisez depuis les sources, n'oubliez pas que /usr/include est mis à jour à chaque fois ! Changer les fichiers appropriés dans /usr/src/... à la place. Puis-je lancer des binaires DOS sous FreeBSD? Oui, à partir de la version 3.0, vous pouvez utiliser rundos l'émulateur DOS de BSDI, qui a été intégré et perfectionné. Envoyez un courrier électronique à la liste de discussion sur les émulations de FreeBSD si cela vous interesse de vous joindre à cet effort en progression. Pour les systèmes pre-3.0, il y a un bel utiltaire appelé pcemu dans la collection de pports, qui émule un 8088 et assez de services BIOS pour pouvoir lancer des applications DOS en mode texte. Cela requiert le système X Windows (fourni comme XFree86). Qu'est ce ``<emphasis remap="tt">sup</emphasis>'', et comment l'utilise je ? SUP veut dire Software Update Protocol, et a été développé par CMU pour pouvoir synchroniser leurs arbres de développement. Nous l'utilisons pour garder les sites distants en synchronisation avec nos sources centraux de développement SUP n'est pas très ami avec la bande passante et a été retiré. La méthode actuelle recommandé pour pouvoir garder vos sources à jour est Handbook entry on CVSup Jusqu'à quel point FreeBSD est-il cool ? Q. Quelqu'un a-t-il déjà fait des tests de température de FreeBSD ? Je sais que Linux tourne moins chaudement que DOS, mais je n'ai jamais vu aucune mention sur FreeBSD. Ca semble tourner vraiment très chaudement. A. Non, mais nous avons effectué de nombreux tests gustatifs sur des volontaires ayant les yeux bandés et aussi 250 microgrammes de LSD-25 administré préalablement. 35%des volontaires ont dit que FreeBSD avait un goût d'orange, alors que Linux avait un goût de purple haze. Aucun des groupes n'a mentionné une variance de température particulière (si je me souviens bien). Nous avons de toute façon dû jeter tous les résultats quand nous nous sommes aperçu que de nombreux volontaires s'étaient promené en dehors de la salle durant les tests, faussant ainsi les résultats. Je pense que la plupart des volontaires sont à présent chez Apple, travaillant pour leur nouveau GUI 'scratch and sniff'. C'est un drôle de monde dans lequel nous vivons ! Sérieusement, FreeBSD et Linux utilisent tous les deux l'instruction ``HLT'' (halt) quand le système est idle de telle sorte à baisser leur consommation d'énergie et donc la chaleur que cela génère. Et aussi, si vous avez APM (automatic power management) configuré, alors FreeBSD peut aussi mettre le CPU dans un mode basse énergie. Qui est-ce qui fait grésiller mes banques mémoires ? Q. Y a t il quelque chose d'"étrange" que fait FreeBSD quand il compile le noyau qui pourrait faire que la mémoire fasse un grésillement ? Quand ça compile (et pour un bref moment après avoir reconnu le lecteur de disquette au démarrage), un étrange grésillement émane depuis ce qui semble être les banques mémoire. A. Oui! Vous verrez des fréquentes références aux "démons" dans la documentation BSD, et ce que les gens ne savent pas, c'est que cela se réfère aux entités non-corporelle qui possède à présent votre ordinateur. Le grésillement venant de la mémoire est en fait le murmure échangé entre les démons lorsqu'ils débattent sur les différentes tâches de l'administration système. Si le bruit vous parvient, un bon ``fdisk /mbr'' depuis le DOS vous en débarassera, mais ne soyez pas surpris s'il réagissent et qu'ils essayent de vous contrer. De plus, si jamais à un moment de l'opération, vous entendez la voix satanique de Bill Gates vous parvenant du haut-parleur interne, continuez, et ne regardez jamais en arrière ! Délivré de l'influence contre-balançante des démons BSD, les démons jumeaux de DOS et Windows pourront alors prendre le contrôle totale de votre machine jusqu'à la damnation éternelle de votre âme. S'il fallait choisir, je pense que je préfèrerais m'habituer au grésillement ! Que veut dire 'MFC' ? MFC est un acronyme pour 'Merged From -CURRENT.' C'est utilisés dans les logs CVS pour noter quand un changement a migré depuis un CURRENT vers une branche STABLE Pour les passionnés. **Mise à jour en cours** Que sont les SNAP et RELEASE Il y a actuellement 3 branches actives/semi-actives dans l'entrepot CVS des sources de FreeBSD: RELENG_2_1_0 encore appelée 2.1-stable ou branche 2.1 RELENG_2_2 encore appelée 2.2-stable ou branche 2.2 HEAD encore appelée -current ou 3.0-current HEAD n'est pas vraiment une branche, comparée aux deux autres, c'est juste une valeur symbolique constante pour désigner le répertoire de la version courante(ou version de développement), auquel nous nous référerons sous le nom de -current. Actuellement -current est la branche de développement de la version 3.0 résultant de la séparation de la branche 2.2-stable(RELENG_2_2) en Novembre 1996. La branche 2.1-stable, RELENG_2_1_0, s'étant séparée de -current en Septembre 1994. Comment créer ma propre version Pour créer votre propre version, vous devez effectuer trois choses. Premièrement, vous devez avoir un noyau contenant le gestionnaire vn. Ajoutez la ligne suivante au fichier de configuration du noyau, puis reconstruisez le. pseudo-device vn #Vnode driver (turns a file into a device) Ensuite, vous devez disposer de l'arbre CVS au complet. Pour l'obtenir, vous pouvez utiliser CVSUP et remplissez votre fichier de configuration de cvsup de la façon suivante: *default prefix=/home/ncvs *default base=/a *default host=cvsup.FreeBSD.org *default release=cvs *default delete compress use-rel-suffix ## Main Source Tree src-all src-eBones src-secure # Other stuff ports-all www doc-all Ensuite lancez la commande cvsup -g fichier_de_configuration_de_cvsup pour rapatrier tous les sources sur votre machine Pour finir, vous devez disposez de beaucoup de place sur vos disque pour compiler le tout. Disons que cela se trouve dans le répertoire /tres/gros/systeme/de/fichiers et que l'arbre CVS se trouve dans /home/ncvs setenv CVSROOT /home/ncvs # ou export CVSROOT=/hom/ncvs (pour du sh) cd /usr/src/release make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/tres/gros/systeme/de/fichiers Une distribution complète sera alors crée dans le répertoire /tres/gros/systeme/de/fichiers et vous disposerez d'un programme d'installation ftp utilisant ce répertoire par défaut. Vous pouvez aussi décider de compiler autre chose que la version -current en donnant au paramètre RELEASETAG une autre valeur. Par exemple pour compiler une version 2.2, il suffit de passer la valeur RELEASETAG=RELENG_2_2 à la ligne de commande de make. Comment créer une disquette d'installation personnalisée? Le processus de création, des disquettes d'installation ainsi que des archives binaires, est automatisé par différentes cibles dans le fichier /usr/src/release/Makefile. Ce fichier doit etre votre point de départ pour plus d'informations. Bien sur, cela veut dire que vous devrez faire un make world et que cela demande beaucoup d'espace disque et de temps. <quote>make world</quote> remplace-t-il tous les binaires déja installés? Oui.Comme son nom le suggère,make world recompile tout le système depuis les sources, donc vous pouvez etre sur d'avoir un système sain et cohérent à la fin (cela peut prendre énormément de temps pour y arriver). Si la variable DESTDIR est définie lorsque vous éxecutez make world ou make install, les binaires seront installés dans la même arborescence que votre système sauf que la racine du nouveau système sera ${DESTDIR}. Différentes combinations dans la modification des librairies partagées et dans les programmes, peut entrainer une erreur du make world. Lorsque le système démarre, il affiche <quote>(bus speed defaulted)</quote> Les cartes SCSI Adaptec 1542 permettent d'accéder à la configuration de la vitesse du bus par logiciel. Les anciennes versions du gestionnaire de périphérique 1542 essayaient de déterminer la vitesse maximale utiliable et de configurer la carte à cette valeur. Nous avons trouvé que cela pouvait casser certains systèmes, donc vous devez définir l'option TUNE_1542 dans le fichier de configuration du noyau, pour que cela soit actif. En l'utilisant sur des systèmes ou la carte le supporte, cela vous permettra d'avoir une meilleur vitesse pour vos disques, mais sur des système ne le supportant pas vous obtiendrez des données corrompues. Puis-je me tenir à jour par rapport à -current si j'ai un accès limité à l'Internet? Oui, vous pouvez le faire sans télécharger l'arbre complet des sources en utilisant la fonctionnalitée CTM Comment faire pour couper la distribution en fichiers de 240Ko? Les systèmes BSD récents diposent d'une option -b pour vous permettre de découper les fichiers binaires en plusieurs parties Voici un exemple, tiré de /usr/src/Makefile. bin-tarball: (cd ${DISTDIR}; \ tar cf - . \ gzip --no-name -9 -c | \ split -b 240640 - \ ${RELEASEDIR}/tarballs/bindist/bin_tgz.) J'ai écrit une extension pour le noyau, comment l'incorporer? Regardez la partie du handbook sur la façon de soumettre du code Et encore merci pour tout. Comment sont détectées les cartes plugs and play ISA? Contribution de Frank Durda IV Il y a un certains nombres de ports d'entrées/sorties sur lesquels la plupart des cartes PnP répondent lorsqu'une machine interroge le bus ISA. Donc, lorsque la routine de détection PnP s'execute, elle interroge les cartes PnP sur ces ports pour savoir lesquelles sont présentes. Dans ce cas toutes les cartes répondent en indiquant leur modèle et la routine de détection reçoit alors une valeur qui est soit oui soit rien. Au minimum un bit est mis à 1 lors de la réponse. Alors le code de détection peut essayer de dialoguer avec les cartes, graçe aux numéros de modèle de cartes (définis par Microsoft/Intel), inférieurs à X pour leur dire de s'arréter. Il vérifie alors qu'aucune autre carte ne répond à la question précedente. Si la réponse est 0 alors il considère qu'aucune carte n'a d'ID au dessus de X. Ensuite il interroge le bus pour obtenir la liste des cartes sous X. S'il en trouve alors il interroge le bus pour avoir la liste des celles ayant un ID supérieur à X-(limit/4). Et répète ainsi de suite l'algorithme, qui consiste à diviser l'intervalle de recherche par deux. Avec cet algorithme, les cartes seront découvertes avec un maximum d'itération de 2^64. Les Identifiants de cartes sont codés sur 32 bits + 8 bit de checksum. Les 32 premiers bits représentent le code de la carte pour le constructeur de cette carte. Il arrive de trouver plusieurs cartes du meme constructeur ayant différents code de carte. L'idée de coder sur 32 bits le nom du constructeur serait un peu excessif. Les 32 bits de poids faibles sont le numéro de série de la carte; l'adresse ethernet , ou quelque chose rendant la carte unique par ce numéro. Le constructeur ne doit jamais produire une deuxième carte ayant ce meme numéro tout en ayant le meme nombre représenté sur les 32 premiers bits. Vous pouvez dons avoir plusieurs cartes du meme type dans votre ordinateur , et l'ensemble des 64 bits permet de rendre chacune unique. Les groupes de 32 bits ne peuvent en aucun cas etre tous à zéro. Cela permet d'effectuer le OU pour afficher les bits non nuls lors de la première recherche dicotomique. Lorsque le système à détecter toutes les cartes présentes, ils les réactivent une à une, et recherche les ressources dont elles ont besoin, quels sont les choix possibles pour les interruptions, etc. Un scan de toutes les cartes est effectué pour collecter toutes ces informations. Cette information est combinée avec l'information recueillie des fichiers ECU se trouvant sur le disque dur ou dans le BIOS. Le support ECU et BIOS du plug-and-play pour le matériel est très simple, et les périphérique n'ont pas besoin d'etre vraiment PnP. Mais en examinant les informations du BIOS et des fichiers ECU, les routines d'interrogations peuvent permettre aux périphériques PnP to avoid those devices the probe code cannot relocate. Alors les périphériques PnP sont encore interrogés, et renvoient leur IRQ, adresse mémoire, ports d'entrée/sorties et DMA. Les périphériques sont alors activés, en prenant en compte ces valeurs, et le reste jusqu'au prochaine redémarrage du système. Bien sur rien de vous empeche de les retirer, si le matériel le permet :-). Ceci n'explique pas toute la complexité de détection, mais c'est une explication simple du processus de détection. Est-ce que FreeBSD va supporter d'autres architectures matérielles? Différentes personnes sont interressées sur un support multi-architecture pour FreeBSD, et certaines personnes sont en train de porter FreeBSD sur la plateforme ALPHA, en coopération avec DEC. Pour plus d'informations sur les nouvelles architectures utilisez la mailling liste <freebsd-platforms@FreeBSD.ORG> J'ai besoin d'un <quote>major number</quote> pour un gestionnaire de périphérique que je viens d'écrire Ceci dépend du fait que vous vouliez ou non rendre public ce gestionnaire. Si vous le désirez, envoyez nous une copie code source du gestionnaire et les modifications nécessaires à apporter au fichier files.i386, un fichier de configuration et le code du fichier MAKEDEVnécessaire pour créer les fichiers spéciaux dont le gestionnaire à besoin. Si vous ne désirez pas rendre plublic le code, ou si vous ne pouvez pas à cause de certaines restrictions de votre license, alors utilisez le major number 32 (pour les gestionnaires de type caractère) et le major number 8 (pour les gestionnaires de type blocs), qui sont réservés à ce type de chose. Dans les deux cas nous sommes interessés par votre gestionnaire, discutez à son propos sur la mailling liste <freebsd-hackers@FreeBSD.ORG>. REMERCIEMENTS. **Mise à jour en cours** Si vous voyez un problème avec cette FAQ, ou que vous voulez rajouter une entrée, mailez nous à <FAQ@FreeBSD.ORG> Nous apprécions tout commentaire, et seul votre aide nous permettra d'améliorer cette FAQ ! FreeBSD Core Team Version originale Jordan Hubbard : Ocasionnellement des mises à jour et des corrections de la FAQ Doug White : Les services ci-dessus et plus qu'il n'en faut sur freebsd-questions Joerg Wunsch : Les services ci-dessus et plus qu'il n'en faut sur Usenet Garrett Wollman : Réseaux et format Jim Lowe : Informations Multicast Peter da Silva : Tapage de la FAQ FreeBSD. The FreeBSD Team : Soumission d'information... L'équipe de traduction Francaise: Renaud BREARD Robert Brive Sébastien GIORIA Frédéric Haby Stéphane LEGRAND Philippe Nolin Philippe REGNAULD Pierre Yves RITSCHARD Tuyêt Trâm DANG NGOC Et pour tous les autres que nous avons oubliés, mille excuses, et merci de tout coeur !
diff --git a/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.xml b/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.xml index 7ab5dfdf2a..841005e80d 100644 --- a/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.xml +++ b/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.xml @@ -1,3669 +1,3669 @@ Se procurer &os; &trans.a.fonvieille; Editeurs de CD-ROMs et DVDs Produits vendus en boîte Des versions en boîte de &os; sont disponibles (CDs de &os;, logiciels supplémentaires, et documentation papier) auprès de plusieurs revendeurs:
CompUSA WWW:
Frys Electronics WWW:
CDs et DVDs Les CDs et DVDs de &os; sont disponibles auprès de nombreux revendeurs en ligne:
BSD Mall by Daemon News PO Box 161 Nauvoo, IL 62354 USA Phone: +1 866 273-6255 Fax: +1 217 453-9956 Email: sales@bsdmall.com WWW:
BSD-Systems Email: info@bsd-systems.co.uk WWW:
FreeBSD Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 USA Phone: +1 925 240-6652 Fax: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Allemagne Phone: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW:
JMC Software Ireland Phone: 353 1 6291282 WWW:
Linux CD Mall Private Bag MBE N348 Auckland 1030 New Zealand Phone: +64 21 866529 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA Royaume-Uni Phone: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland Phone: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australie 21 Ray Drive Balwyn North VIC - 3104 Australie Phone: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Phone: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Distributeurs Si vous êtes un revendeur et désirez vendre des CDROMs de &os;, veuillez contacter un distributeur:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 USA Phone: +1 650 694-4949 Fax: +1 650 694-4953 Email: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Phone: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Phone: +1 952 947-0822 Fax: +1 952 947-0876 Email: sales@kudzuenterprises.com
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Phone: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
Sites FTP >Les sources officielles de &os; sont disponibles via FTP anonyme à partir d'un ensemble de sites miroir. Le site dispose d'une bonne connectivité et autorise un grand nombre de connexions, mais vous avez intérêt à trouver plutôt un site miroir “plus proche” (tout particulièrement si vous décidez de mettre en place une sorte de miroir à votre tour). La base de données des sites miroir &os; est plus à jour que la liste de ce Manuel, parce qu'elle tire ses informations du DNS plutôt que se reposer sur une liste statique de machines. De plus, &os; est disponible via FTP anonyme à partir des sites miroir ci-dessous. Si vous décidez de vous procurer &os; via FTP anonyme, essayez si possible d'utiliser un site proche de vous. Les sites miroir listés en tant que “sites miroir primaires“ disposent généralement de l'intégralité de l'archive &os; (toutes les versions actuellement disponibles pour chacune des architectures) mais vous obtiendrez les temps de téléchargements les plus courts à partir d'un site situé dans votre pays ou votre région. Les sites régionaux proposent les versions les plus récentes des architectures les plus populaires mais pourraient ne pas proposer l'intégralité de l'archive de &os;. Tous les sites proposent un accès FTP anonyme mais certains sites fournissent également un accès suivant d'autres méthodes. Les méthodes d'accès disponibles pour chaque site sont données entre parenthèses après le nom de la machine. &chap.mirrors.ftp.inc; CVS anonyme - - <anchor id="anoncvs-intro"/>Introduction + + Introduction CVS anonyme CVS anonyme (ou comme on l'appelle également, anoncvs) est une de fonctionnalité des utilitaires CVS livrés avec &os; qui permet la synchronisation avec un référentiel CVS sur une machine distante. Elle permet, entre autres, aux utilisateurs de &os;, de lire, sans autorisation particulière, les archives disponibles sur l'un des serveurs anoncvs officiels du projet &os;. Pour l'utiliser, il suffit simplement de définir la variable d'environnement CVSROOT pour qu'elle pointe sur le serveur anoncvs approprié, fournir le fameux mot de passe “anoncvs” avec la commande cvs login, puis ensuite utiliser la commande &man.cvs.1; pour y accéder de la même manière qu'à un référentiel local. La commande cvs login, stocke les mots de passe utilisés pour authentification sur le serveur CVS dans un fichier appelé .cvspass dans votre répertoire HOME. Si ce fichier n'existe pas, vous pourrez obtenir une erreur quand vous essaierez d'utiliser cvs login pour la première fois. Créez juste un fichier .cvspass vide, et relancez la commande. Bien que l'on puisse aussi dire que CVSup et anoncvs assurent globalement la même fonction, il y a diverses nuances qui peuvent influencer l'utilisateur dans son choix d'une méthode de synchronisation. En résumé, CVSup utilise plus efficacement les ressources réseau et est de loin la méthode la plus sophistiquée des deux, mais cela a un prix. Pour employer CVSup, il faut d'abord installer et configurer un programme client spécialisé avant de pouvoir récupérer quoi que ce soit, et il faut ensuite travailler par sous-ensemble relativement importants, que CVSup appelle catalogues. anoncvs, au contraire, peut être utilisé pour examiner n'importe quoi, d'un seul fichier à un programme particulier (tel que ls ou grep) en faisant référence au nom du module CVS. Bien sûr, anoncvs n'est bon qu'à lire un référentiel CVS, si vous avez donc l'intention de développer localement sur un référentiel partagé avec le projet &os;, alors vous n'avez d'autre choix que d'utiliser CVSup. - - <anchor id="anoncvs-usage"/>Utiliser CVS anonyme + + Utiliser CVS anonyme Configurer &man.cvs.1; pour utiliser un référentiel CVS anonyme consiste simplement à définir la variable d'environnement CVSROOT pour qu'elle pointe sur l'un des serveurs anoncvs du projet &os;. A la date de rédaction de ce document, les serveurs suivants sont disponibles: Autriche: :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs (Utilisez cvs login et entrez le mot de passe “anoncvs” quand on vous le demandera.) France: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (mot de passe “anoncvs”), ssh (aucun mot de passe)) Allemagne: :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022) Japon: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (Utilisez cvs login et entrez le mot de passe “anoncvs” quand on vous le demandera.) Taiwan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver (utilisez cvs login and entrez n'importe quel mot de passe quand on vous le demandera), ssh (pas de mot de passe)) SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub USA: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (ssh uniquement - pas de mot de passe) SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub USA: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ssh2 uniquement - pas de mot de passe) SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub Comme CVS vous permet de récupérer (“check out”) pratiquement n'importe quelle version des sources de &os; ayant existé (ou, dans certains cas, à venir), vous devez maîtriser l'indicateur de révision () de &man.cvs.1; et connaître les valeurs qu'il peut prendre dans le référentiel du projet &os;. Il y a deux sortes d'étiquettes, les étiquettes de révision et les étiquettes de branches. Les étiquettes de révision s'appliquent à une révision particulière. Leur signification ne varie pas d'un jour à l'autre. Les étiquettes de branche, à l'inverse, se rapportent à la dernière révision sur une branche particulière à un moment donné. Comme les étiquettes de branche ne se rapportent pas à une révision particulière, elles peuvent désigner demain quelque chose de différent de ce qu'elles référencent aujourd'hui. présente les étiquettes de révision qui peuvent intéresser l'utilisateur. Encore une fois, aucune ne s'applique au catalogue des logiciels portés puisque ce dernier ne présente pas de multiples branches de développement. Quand vous précisez une étiquette de branche, vous obtenez normalement la dernière version des fichiers de cette branche de développement. Si vous voulez une version antérieure, vous pouvez l'obtenir en précisant une date avec l'indicateur . Reportez-vous aux pages de manuel &man.cvs.1; pour plus de détails. Exemples Bien qu'il soit vraiment recommandé de lire attentivement les pages de manuel de &man.cvs.1; avant de faire quoi que ce soit, voici quelques exemples rapides qui vous montrent essentiellement comment utiliser CVS anonyme: Récupérer quelque chose de -CURRENT (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter any word for password. &prompt.user; cvs co ls Utiliser SSH pour récupérer l'arborescence <filename>src/</filename>: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. Récupérer la version 6-STABLE de &man.ls.1;: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter any word for password. &prompt.user; cvs co -rRELENG_6 ls Générer la liste des différences concernant &man.ls.1; (sous forme de “diffs unifiés”) entre différentes versions de &os; &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter any word for password. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls Savoir quels autres noms de modules peuvent être utilisés: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter any word for password. &prompt.user; cvs co modules &prompt.user; more modules/modules Autres ressources Les ressources supplémentaires suivantes peuvent être utiles pour apprendre à se servir de CVS: Guide CVS de Cal Poly. CVS Home, la communauté de développement et de support de CVS. CVSweb est l'interface Web pour CVS du projet &os;. Utiliser CTM CTM CTM est une méthode pour synchroniser une arborescence de répertoires distants avec une arborescence centrale. Elle a été développée pour être utilisée avec l'arborescence des sources de &os;, bien que d'autres puissent avec le temps la trouver utile pour d'autres besoins. Il existe actuellement très peu, sinon aucune, documentation sur la façon de créer les deltas, contactez-donc la liste de diffusion &a.ctm-users.name; pour obtenir plus d'informations et si vous souhaitez utiliser CTM pour autre chose. Pourquoi utiliser <application>CTM</application>? CTM vous procurera un exemplaire local de l'arborescence des sources de &os;. Il y a plusieurs “moutures” de l'arborescence disponibles. Que vous désiriez suivre toute l'arborescence CVS ou seulement une de ses branches, CTM peut vous fournir ce dont vous avez besoin. Si vous développez activement sous &os;, mais ne disposez que d'une connectivité TCP/IP peu fiable ou n'en avez pas du tout, ou voulez tout simplement que les modifications vous soient automatiquement envoyées, CTM est ce qu'il vous faut. Il vous faudra jusqu'à trois deltas par jour sur les branches les plus actives. Cependant, vous devriez envisager de vous les faire envoyer automatiquement par courrier électronique. La taille des mises à jour est toujours aussi petite que possible. Typiquement moins de 5KO, occasionnellement (une fois sur 10), entre 10 et 50KO, et de temps à autre, une grosse modification de 100KO ou plus. Vous devrez aussi vous tenir au courant des différentes contre-parties liées au fait de travailler directement avec les sources en cours de développement plutôt qu'avec les versions publiées. C'est particulièrement vrai si vous choisissez les sources de la branche “-CURRENT”. Il est recommandé de lire Se synchroniser avec la version -CURRENT de FreeBSD. Que vous faut-il pour utiliser <application>CTM</application>? Vous aurez besoin de deux choses: le programme CTM, et les deltas initiaux à lui fournir (pour mettre à jour avec la version “courante”). Le programme CTM fait partie de &os; depuis la publication de la version 2.0, et se trouve dans /usr/src/usr.sbin/ctm si vous avez un exemplaire des sources en ligne. Vous pouvez obtenir les “deltas” à fournir à CTM de deux façons, par FTP ou par courrier électronique. Si vous avez un accès FTP à l'Internet, les sites suivants supportent l'accès à CTM: ou reportez-vous à la section Sites miroirs. Allez dans le répertoire vous concernant et commencez par télécharger le fichier README. Si vous souhaitez récupérer vos deltas par courrier électronique: Abonnez-vous à l'une des listes de distribution CTM. &a.ctm-cvs-cur.name; comprend toute l'arborescence -CURRENT. &a.ctm-src-4.name; concerne la branche 4.X, etc... (Si vous ne savez pas comment vous abonner à une liste, cliquez sur le nom de la liste ci-dessus ou sur &a.mailman.lists.link; puis cliquez sur la liste à laquelle vous désirez vous abonner. La page devrait contenir toutes les instructions nécessaires à l'abonnement.) Dès que vous commencez à recevoir vos mises à jour CTM par courrier électronique, vous pouvez utiliser le programme ctm_rmail pour les décompacter et les appliquer. Vous pouvez en fait utiliser directement le programme ctm_rmail à partir d'une entrée dans /etc/aliases si vous voulez automatiser complètement le processus. Consultez les pages de manuel de ctm_rmail pour plus de détails. Quelle que soit la méthode que vous utilisez pour récupérer les deltas CTM, vous devriez vous abonner à la liste de diffusion &a.ctm-announce.name;. Ce sera, dans l'avenir, le seul endroit où les annonces concernant le fonctionnement du système CTM seront faites. Cliquez sur le nom de la liste et suivez les instructions pour s'inscrire à la liste. Utiliser <application>CTM</application> pour la première fois Avant de pouvoir utiliser les deltas CTM, il vous faut un point de départ pour appliquer les deltas générés à partir de là. Tout d'abord vous devez déterminer ce que vous avez déjà. Tout le monde peut partir d'un répertoire “vide”. Vous devez utiliser un delta “Empty” (vide) au départ pour débuter votre arborescence supportée par CTM. Il fut question que l'un de ces deltas de départ soit distribué sur le CD, cependant ce n'est actuellement pas le cas. Puisque les arborescences représentent plusieurs dizaines de mégaoctets, vous préférerez commencer avec ce que vous avez déjà sous la main. Si vous disposez d'une version de &os; sur CD, vous pouvez copier ou extraire les sources initiales qui s'y trouvent. Cela évitera un transfert de données conséquent. Vous pouvez reconnaître ces deltas de transition au X qui suit leur numéro de séquence (src-cur.3210XEmpty.gz par exemple). La dénomination après le X correspond à l'origine de votre “racine” initiale. Empty est un répertoire vide. La règle est qu'une transition de base à partir de Empty est générée tous les 100 deltas. Au passage, elles sont volumineuses! De 70 à 80 mégaoctets de données compressées avec gzip est une taille habituelle pour les deltas XEmpty. Une fois que vous avez sélectionné un delta initial à partir duquel commencer, il vous faudra également tous les deltas de numéro supérieur qui le suivent. Utiliser <application>CTM</application> au quotidien Pour appliquer les deltas, tapez simplement: &prompt.root; cd /où/vous/voulez/mettre/les/fichiers &prompt.root; ctm -v -v /où/vous/mettez/vos/deltas/src-xxx.* CTM reconnaît les deltas qui ont été compressés avec gzip, vous n'avez donc pas besoin de les décompresser avant, ce qui économise de l'espace disque. A moins d'être absolument sûr du résultat, CTM ne touchera pas à votre arborescence. Pour contrôler la validité d'un delta, vous pouvez également utiliser l'indicateur et CTM ne modifiera alors pas votre arborescence; il vérifiera simplement l'intégrité du delta et regardera s'il peut s'appliquer proprement à votre arborescence en l'état. Il y a aussi d'autres option pour CTM, voyez les pages de manuel ou lisez les sources pour plus d'informations. C'est à peu près tout. Chaque fois que vous recevez un delta, passez-le à CTM pour tenir à jour votre arborescence des sources. N'effacez pas les deltas s'il vous est difficile de les télécharger de nouveau. Vous pouvez en avoir besoin si quelque chose mauvais se produit. Même si vous n'avez que des disquettes, envisagez d'utiliser &man.fdwrite.1; pour en faire une copie. Conserver vos modifications locales Si vous êtes développeur vous voudrez expérimenter et modifier des fichiers de l'arborescence des sources. CTM supporte de façon limitée les modifications locales: avant de contrôler l'existence d'un fichier foo, il regarde tout d'abord s'il y a un fichier foo.ctm. Si ce fichier existe, CTM l'utilisera au lieu de foo. Ce comportement vous permet de conserver de façon simple des modifications locales: copiez simplement les fichiers que vous envisagez de modifier dans des fichiers de même nom, mais avec le suffixe .ctm. Vous pouvez ensuite bidouiller tranquillement le code, pendant que CTM maintient à jour le fichier .ctm. D'autres options intéressantes de <application>CTM</application> Savoir avec précision ce que va modifier une mise à jour Vous pouvez connaître la liste des modifications que CTM appliquera à votre archive des sources en utilisant CTM avec l'option . C'est utile si vous voulez conserver la trace des modifications, pré- ou post- modifier les fichiers concernés, ou vous vous sentez un tantinet paranoïaque. Faire des sauvegardes avant la mise à jour Parfois vous voudrez sauvegarder tous les fichiers qui seraient toucher par une mise à jour CTM. Avec l'option , CTM sauvegarde tous les fichiers que seraient modifiés par delta CTM donné dans fichier_de_sauvegarde. Restreindre la liste des fichiers touchés par une mise à jour Parfois vous voudrez restreindre le champ d'application d'une mise à jour CTM, ou serez intéressé à n'extraire que quelques fichiers d'une séquence de deltas. Vous pouvez contrôler la liste de fichiers sur laquelle travaillera CTM en donnant comme filtre une expression régulière avec les options et . Par exemple, pour extraire une version à jour de lib/libc/Makefile de la série de deltas CTM que vous avez sauvegardé, lancez les commandes: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* Pour chaque fichier d'un delta CTM, les options et sont appliquées dans l'ordre donné sur la ligne de commande. Le fichier est traité par CTM uniquement s'il est sélectionné après application des options et . Perspectives pour <application>CTM</application> Il y en a des tonnes: Utiliser une méthode d'authentification au système CTM pour détecter la substitution de mises à jour. Faire le ménage dans les options de CTM, elles commencent à engendrer de la confusion et à contredire l'intuition. Divers Il existe aussi une séquence de deltas pour le catalogue des logiciels portés, mais elle n'a pas reçue beaucoup d'écho jusqu'ici. Miroirs <application>CTM</application> CTM/FreeBSD est disponible via FTP anonyme sur les miroirs suivants. Si vous faites le choix de vous procurer CTM via FTP anonyme, utilisez s'il vous plaît un site proche de vous. En cas de problème, contactez la liste de diffusion &a.ctm-users.name;. Californie, Bay Area, source officielle Afrique du Sud, serveur de sauvegarde pour les anciens deltas Taïwan/R.O.C. Si vous n'avez pas trouvé de miroir proche de vous, où si le miroir est incomplet, essayez d'utiliser un moteur de recherche comme alltheweb. Utiliser CVSup Introduction CVSup est un ensemble de logiciels pour la distribution et la mise à jour d'arborescences de sources à partir d'un référentiel CVS principal sur une machine serveur distante. Les sources de &os; sont archivées sous un référentiel CVS sur une machine centrale de développement en Californie. Grâce à CVSup, les utilisateurs de &os; peuvent facilement tenir à jour leur propre arborescence de sources. CVSup utilise le modèle pull de mise à jour. Dans ce schéma, chaque client réclame les mises à jour au serveur, si et quand il le souhaite. Le serveur attend passivement les demandes de mises à jour de ses clients. Toutes les mises à jour sont donc faites à la demande du client. Le serveur n'envoie jamais de mise à jour non sollicitée. Les utilisateurs doivent soit exécuter le client CVSup à la main pour obtenir une mise à jour, soit mettre en oeuvre une tâche cron pour l'exécuter automatiquement et à intervalles réguliers. Le terme CVSup, avec les majuscules, désigne l'ensemble du logiciel. Ses principales composantes sont le client cvsup qui s'exécute sur les machines de chaque utilisateur, et le serveur cvsupd, qui tourne sur tous les sites miroir de &os;. En lisant la documentation et les listes de diffusion de &os;, vous trouverez des références à sup. sup était le prédécesseur de CVSup, et remplissait la même fonction. CVSup est utilisé de la même façon que sup et, emploie de fait des fichiers de configuration qui sont compatibles avec ceux de sup. sup n'est plus utilisé pour le projet &os;, parce que CVSup est à la fois plus rapide et plus souple. L'utilitaire csup est une réécriture en C du logiciel CVSup. Son plus grand avantage est d'être plus rapide et de ne pas dépendre du langage Modula-3, vous n'avez donc pas besoin de l'installer. De plus si vous utilisez &os; 6.2 ou une version suivante, vous pouvez directement utiliser cet utilitaire puisqu'il fait partie du système de base. Les anciennes versions de &os; ne disposent pas de &man.csup.1; dans leur système de base, mais vous pouvez facilement installer le logiciel porté net/csup, ou le paquetage pré-compilé correspondant. L'utilitaire csup ne supporte pas, cependant, le mode CVS. Si vous désirez dupliquer l'intégralité de dépôts, vous aurez toujours besoin de CVSup. Si vous avez décidé d'utiliser csup, passez les étapes concernant l'installation de CVSup et remplacez les références à CVSup par csup dans le reste de cette section. Installation La méthode la plus simple pour installer CVSup est d'utiliser la version pré-compilée net/cvsup du catalogue des logiciels portés de &os;. Si vous préférez compiler CVSup à partir des sources, vous pouvez directement utiliser le logiciel porté net/cvsup. Cependant soyez averti: le logiciel porté net/cvsup est écrit en Modula-3, qui demande un temps et un espace disque non négligeables pour le télécharger et le compiler. Si vous avez l'intention d'utiliser CVSup sur une machine qui ne disposera pas de &xfree86; ou &xorg;, comme un serveur, assurez-vous que le logiciel porté de n'incluera pas l'interface graphique (“GUI”) de CVSup, net/cvsup-without-gui. Si vous voulez installer csup sous &os; 6.1 et version précédentes, vous pouvez utiliser le paquetage pré-compilé net/csup du catalogue des logiciels portés. Si vous préférez compiler csup à partir des sources, vous pouvez directement utiliser le logiciel porté net/csup. Configuration de <application>CVSup</application> Le fonctionnement de CVSup est contrôlé par un fichier de configuration appelé supfile. Il y a des exemples de fichiers supfile dans le répertoire /usr/share/examples/cvsup/. Les informations du fichier supfile répondent pour CVSup aux question suivantes: Quels fichiers voulez-vous télécharger? Quelles versions de ces fichiers voulez-vous? D'où voulez-vous les télécharger? Où voulez-vous les mettre sur votre machine? Où voulez-vous mettre les fichiers d'état de votre machine? Dans les sections suivantes, nous allons renseigner un fichier supfile typique en répondant une à une à chacune de ces questions. Commençons par décrire la structure d'ensemble d'un fichier supfile. Un fichier supfile est un fichier texte. Les commentaires débutent par un # et se prolongent jusqu'à la fin de la ligne. Les lignes vides ou qui ne contiennent que des commentaires sont ignorées. Les autres lignes décrivent les ensembles de fichiers que l'utilisateur souhaite recevoir. Ces lignes commencent par le nom d'un “catalogue” - collection, un regroupement logique de fichiers défini par le serveur. Le nom du catalogue dit au serveur quels fichiers vous voulez. Ce nom est éventuellement suivi d'un ou plusieurs champs, séparés par un espace. Ces champs répondent aux questions listées ci-dessus. Il y deux types de champs: des indicateurs et des valeurs. Un indicateur est un mot-clé autonome, e.g., delete ou compress. Une valeur commence aussi par un mot-clé, mais il est impérativement suivi sans espace par un = et un deuxième mot. Par exemple, release=cvs est un champ définissant une valeur. Un fichier supfile spécifie en général plus d'un catalogue à télécharger. Une façon de construire un fichier supfile consiste à préciser explicitement tous les champs nécessaires pour chaque catalogue. Cependant, cela tend à donner des fichiers supfile avec des lignes assez longues, et ce n'est pas très pratique parce que la plupart des champs sont les mêmes pour tous les catalogues du fichier supfile. CVSup fournit un mécanisme pour s'affranchir de ce problème. Les lignes qui commencent par le nom du pseudo-catalogue spécial *default servent à définir les indicateurs et les valeurs qui seront pris par défaut pour les catalogues listés ensuite dans le fichier supfile. Une valeur par défaut peut-être surchargée pour un catalogue particulier, en associant au catalogue lui-même une valeur différente. Les valeurs par défaut peuvent également être redéfinies, ou bien on peut en définir de nouvelles, en cours de fichier supfile, par de nouvelles lignes *default. Sachant cela, nous allons maintenant mettre au point un fichier supfile pour télécharger et mettre à jour l'arborescence principale de FreeBSD-CURRENT. Quels fichiers voulez-vous télécharger? Les fichiers disponibles via CVSup sont regroupés par “catalogues” - collections. Les catalogues disponibles sont décrits dans la section suivante. Dans notre exemple, nous souhaitons recevoir toute l'arborescence principale du système &os;. Il existe un unique gros catalogue src-all qui correspond à tout cela. Pour commencer à renseigner notre fichier supfile, nous listons simplement les catalogues, un par ligne (dans notre cas, une seule ligne): src-all Quelle(s) version(s) voulez-vous télécharger? Avec CVSup, vous pouvez obtenir pratiquement n'importe quelle version qui ait existé des sources. C'est possible parce que le serveur cvsupd travaille directement à partir du référentiel CVS, qui contient toutes les versions. Vous indiquez quelle version vous voulez en utilisant les valeurs tag= et . Faites très attention à définir correctement la valeur tag=. Certaines étiquettes ne s'appliquent qu'à certains catalogues. Si l'étiquette que vous donnez n'est pas valable ou mal orthographiée, CVSup effacera des fichiers que vous ne vouliez probablement pas supprimer. En particulier, n'utilisez que tag=. pour les catalogues ports-*. Les valeurs données avec tag= sont des étiquettes symboliques définies dans le référentiel. Il y a deux sortes d'étiquettes, les étiquettes de révision et les étiquettes de branches. Les étiquettes de révision s'appliquent à une révision particulière. Leur signification ne varie pas d'un jour à l'autre. Les étiquettes de branches, à l'inverse, se rapportent à la dernière révision sur une branche particulière à un moment donné. Comme les étiquettes de branches ne se rapportent pas à une révision particulière, elles peuvent désigner demain quelque chose de différent de ce qu'elles référencent aujourd'hui. contient les étiquettes de branches qui peuvent intéresser les utilisateurs. Quand on spécifie une étiquette dans le fichier de configuration de CVSup, elle doit être précédée du champ tag= (RELENG_4 deviendra tag=RELENG_4). Gardez à l'esprit que seule l'étiquette tag=. n'a de signification pour le catalogue des logiciels portés. Faites très attention à mentionner précisément l'étiquette exacte. CVSup ne sait différencier une étiquette valide d'une étiquette qui ne l'est pas. Si vous orthographiez mal l'étiquette, CVSup se comportera comme si vous aviez donné une étiquette valide qui ne se réfère à aucun fichier. Dans ce cas il supprimera toutes les sources que vous avez déjà. Lorsque vous indiquez une étiquette de branche, vous recevez normalement les dernières versions des fichiers sur cette branche de développement. Si vous voulez récupérer des version antérieures, vous pouvez le faire en donnant une date avec le champ . La page de manuel de &man.cvsup.1; vous expliquent comment le faire. Dans notre exemple, nous désirons obtenir &os.current;. Nous ajoutons alors la ligne suivante au début de notre fichier supfile: *default tag=. Il existe un cas particulier important qui se produit lorsque que l'on ne spécifie ni le champ tag= ni le champ date=. Dans ce cas, vous obtenez alors les fichiers RCS directement du référentiel CVS du serveur, plutôt que de recevoir une version donnée. Les développeurs préfèrent généralement cette façon de travailler. En maintenant une version du référentiel lui-même sur leur système, ils ont la possibilité de consulter l'historique des révisions et d'accéder aux versions antérieures des fichiers. Cet avantage ne s'obtient cependant qu'au prix d'une consommation importante d'espace disque. D'où voulez-vous les télécharger? Nous employons le champ host= pour dire à cvsup où récupérer ses mises à jour. N'importe quel des sites miroir CVSup fera l'affaire, bien que vous devriez essayer de choisir un site proche de vous. Dans cet exemple, nous utiliserons un site fictif de distribution de &os; cvsup99.FreeBSD.org: *default host=cvsup99.FreeBSD.org Vous devrez changer le site pour un qui existe réellement avant d'exécuter CVSup. Lors de l'exécution de cvsup, vous pouvez surcharger cette définition sur la ligne de commande avec l'option . Où voulez-vous les mettre sur votre machine? Le champ prefix= dit à cvsup où mettre les fichiers qu'il obtient. Dans l'exemple, nous mettrons les fichiers source directement dans notre arborescence des sources, /usr/src. Le répertoire src est déjà implicitement défini dans les catalogues que nous avons choisis de télécharger, voici donc la définition correcte: *default prefix=/usr cvsup doit-il mettre les fichiers d'état? Le client CVSup tient à jour des fichiers d'état dans ce qui est appelé le répertoire de “base”. Ces fichiers permettent à CVSup de travailler plus efficacement en gardant la trace des modifications que vous avez déjà reçues. Nous utiliserons le répertoire de base standard, /var/db: *default base=/var/db Si votre répertoire de base n'existe pas encore, c'est le moment de le créer. Le client cvsup refusera de s'exécuter si le répertoire de base n'existe pas. Diverses autres options de configuration dans le fichier supfile: Il y a une autre ligne d'instruction qui doit normalement figurer dans le fichier supfile: *default release=cvs delete use-rel-suffix compress release=cvs dit au serveur d'obtenir les informations du référentiel principal de &os;. C'est quasiment toujours le cas, mais il existe d'autres possibilités qui sortent du cadre du présent document. delete donne à CVSup l'autorisation de supprimer des fichiers. Vous devriez toujours utiliser cette possibilité, de sorte que CVSup puisse vraiment maintenir à jour votre arborescence des sources. CVSup veille à ne supprimer que les fichiers qu'il maintient. Les fichiers supplémentaires que vous pourriez avoir ne seront pas touchés. use-rel-suffix est... ésotérique. Si vous voulez vraiment savoir de quoi il retourne, lisez la page de manuel de &man.cvsup.1;. Sinon, mettez cet indicateur et ne vous en souciez pas plus. compress permet d'utiliser un algorithme de compression de type &man.gzip.1; sur la ligne de communication. Si votre connexion a la vitesse d'une ligne T1 ou plus, vous ne devriez probablement pas utiliser la compression. Sinon, cela facilite substantiellement les choses. Assembler les morceaux: Voici le fichier supfile de notre exemple en entier: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all Le fichier <filename>refuse</filename> Comme mentionné ci-dessus, CVSup utilise une méthode de type pull. Fondamentalement, cela signifie que vous vous connectez au serveur CVSup, ce dernier dit, “Voici ce que vous pouvez télécharger...”, puis votre client répond “Ok, je prendrai ceci, ceci, ceci et cela”. Dans la configuration par défaut, le client CVSup téléchargera chaque fichier associé avec le catalogue et l'étiquette que vous avez choisi dans le fichier de configuration. Cependant cela ne correspond pas toujours à ce que vous désirez, tout particulièrement si vous mettez à jour les arborescences doc, ports, ou www — la plupart des personnes sont incapables de lire quatre ou cinq langues différentes, et donc elles n'ont pas besoin de télécharger les fichiers spécifiques à certaines langues. Si vous mettez à jour le catalogue des logiciels portés, vous pouvez remédier à cela en spécifiant chaque catalogue individuellement (e.g., ports-astrology, ports-biology, etc au lieu de spécifier simplement ports-all). Cependant puisque les arborescences doc et www ne disposent pas de catalogues spécifiques à chaque langue, vous devez utiliser une des nombreuses fonctions de CVSup: le fichier refuse. Le fichier refuse indique essentiellement à CVSup qu'il ne doit pas télécharger chaque fichier d'un catalogue; en d'autre termes, il dit au client de refuser certains fichiers du serveur. Le fichier refuse peut être trouvé (ou, si vous n'en disposez pas encore d'un, doit être placé) dans base/sup/. base est défini dans votre supfile; notre répertoire base est défini en tant que /var/db ce qui signifie que le fichier refuse est par défaut /var/db/sup/refuse. Le fichier refuse a un format très simple; il contient tout simplement les noms des fichiers ou des répertoires que vous ne désirez pas rapatrier. Par exemple, si vous ne pouvez parler d'autres langues que l'anglais ou un peu d'allemand, et vous ne ressentez pas le besoin de lire la traduction en allemand de la documentation, vous pouvez mettre ce qui suit dans le fichier refuse: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* et ainsi de suite pour les autres langues (vous pouvez en trouver une liste complète en parcourant le référentiel CVS de &os;). Avec cette fonction très utile, les utilisateurs disposant d'une connexion lente ou payant le temps de connexion à la minute seront en mesure d'économiser de précieuses minutes comme ils n'auront plus du tout besoin de télécharger des fichiers qu'ils n'utiliseront jamais. Pour plus d'information sur les fichiers refuse et d'autres caractéristiques intéressantes de CVSup, consultez sa page de manuel. Exécuter <application>CVSup</application> Vous êtes maintenant prêt à essayer de faire une mise à jour. La ligne de commande à utiliser est très simple: &prompt.root; cvsup supfile supfile est bien sûr le nom du fichier supfile que vous venez de créer. Si vous êtes sous X11, cvsup affichera une interface graphique avec des boutons pour les opérations courantes. Appuyez sur le bouton go et suivez le déroulement des opérations. Comme, dans cet l'exemple, vous mettez directement à jour votre arborescence /usr/src, vous devrez exécuter le programme en tant que root de façon à ce que cvsup ait le droit de mettre à jour vos fichiers. Comme vous venez juste de créer votre fichier de configuration et n'avez encore jamais utilisé le programme, il est compréhensible que cela vous rende nerveux. Il est facile de faire un essai sans toucher à vos précieux fichiers. Créez juste un nouveau répertoire quelque part et donnez-le en argument supplémentaire sur la ligne de commande: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest Le répertoire indiqué sera pris comme destination pour tous les fichiers modifiés. CVSup examinera les fichiers habituels dans /usr/src, mais ne les modifiera pas et n'en supprimera aucun. Les modifications atterriront dans /var/tmp/dest/usr/src. CVSup ne touchera pas non plus à ses fichiers d'état dans le répertoire de base, lorsqu'il est invoqué de cette manière. Les nouvelles versions de ces fichiers iront dans le répertoire indiqué. A partir du moment où vous avez les les droits en lecture sur /usr/src, vous n'avez pas besoin d'être root pour faire ce genre d'essai. Si vous n'êtes pas sous X11, ou si vous n'aimez tout simplement pas les interfaces graphiques, vous devrez ajouter quelques options supplémentaires sur la ligne de commande de cvsup: &prompt.root; cvsup -g -L 2 supfile L'option dit à CVSup de ne pas utiliser son interface graphique. C'est automatique si vous n'êtes pas sous X11, sinon vous devez le préciser. L'option dit à CVSup d'afficher le détail de ce qu'il est en train de faire. Il y a trois niveaux de trace, de à . La valeur par défaut est de 0, ce qui équivaut à n'émettre que les messages d'erreur. Il y a de nombreuses autres option disponibles. Pour en obtenir un résumé, tapez cvsup -H. Pour une description plus détaillée, reportez-vous aux pages de manuel. Une fois que vous êtes satisfait de la façon dont se passent les mises à jour, vous pouvez mettre en place une exécution de CVSup à intervalles réguliers en utilisant &man.cron.8;. Bien évidemment, vous ne devez pas laisser CVSup utiliser don interface graphique quand vous le lancez depuis &man.cron.8;. Catalogue de fichiers <application>CVSup</application> Les catalogues de fichiers disponibles via CVSup sont organisés hiérarchiquement. Il y a quelques gros catalogues, qui sont divisés en plus petits sous-catalogues. Recevoir un gros catalogue équivaut à recevoir chacun de ces sous-catalogues. Les relations hiérarchiques entre les sous-catalogues sont décrites par les indentations dans la liste ci-dessous. Les catalogues habituellement les plus employés sont src-all, et ports-all. Les autres catalogues ne sont utilisés que par de petits groupes de personnes pour des besoins particuliers, et certains sites miroir ne les mettent pas à disposition. cvs-all release=cvs Le référentiel CVS principal de &os;, incluant les logiciels de chiffrement. distrib release=cvs Les fichiers ayant trait à la distribution et à la mise en place de sites miroir &os;. doc-all release=cvs Les sources du manuel &os; et d'autres documentations. Cela de comprend pas les fichiers pour le site Web de &os;. ports-all release=cvs Le catalogue des logiciels portés de &os;. Si vous ne voulez pas mettre à jour l'intégralité du catalogue ports-all (l'intégralité du catalogue des logiciels portés), mais utiliser un des sous-catalogues listés ci-dessous, assurez-vous de toujours mettre à jour le sous-catalogue ports-base! Dès qu'il y a un changement dans l'infrastructure de compilation des logiciels portés représentée par ports-base, il est certain que ces changements seront utilisés par un logiciel porté très rapidement. Donc, si vous ne mettez à jour que les logiciels portés en tant que tel et qu'ils utilisent certains des changements, il y a de grandes chances pour que leur compilation échoue avec de mystérieux messages d'erreur. La première chose à faire dans ce cas est de vérifier que votre sous-catalogue ports-base est à jour. Si vous voulez construire votre propre version locale du fichier ports/INDEX, vous devez accepter le catalogue ports-all (l'intégralité du catalogue des logiciels portés). La construction de ports/INDEX avec une arborescence partielle n'est pas supportée. Consultez la FAQ. ports-accessibility release=cvs Logiciels pour utilisateurs handicapées. ports-arabic release=cvs Support pour l'arabe. ports-archivers release=cvs Outils d'archivage. ports-astro release=cvs Logiciels d'astronomie. ports-audio release=cvs Support du son. ports-base release=cvs L'infrastructure de compilation du catalogue des logiciels portés — divers fichiers situés dans les répertoires Mk/ et Tools/ sous-répertoires de la hiérarchie /usr/ports. Lisez l'important avertissement ci-dessus: vous devriez toujours mettre à jour ce sous-catalogue, dès que vous mettez à jour une partie du catalogue des logiciels portés de &os;! ports-benchmarks release=cvs Evaluation de performances. ports-biology release=cvs Biologie. ports-cad release=cvs Outils de conception assistée par ordinateur. ports-chinese release=cvs Support pour le chinois. ports-comms release=cvs Logiciels de communication. ports-converters release=cvs Conversion entre codages de caratères. ports-databases release=cvs Bases de données. ports-deskutils release=cvs Les choses que l'on trouvait sur un bureau avant l'invention des ordinateurs. ports-devel release=cvs Outils de développement. ports-dns release=cvs Logiciels relatifs au DNS. ports-editors release=cvs Editeurs. ports-emulators release=cvs Emulateurs d'autres systèmes d'exploitation. ports-finance release=cvs Applications concernant les finances et l'argent. ports-ftp release=cvs Clients et serveurs FTP. ports-games release=cvs Jeux. ports-german release=cvs Support pour l'allemand. ports-graphics release=cvs Outils graphiques. ports-hebrew release=cvs Support de l'hébreu. ports-hungarian release=cvs Support du hongrois. ports-irc release=cvs Outils pour l'IRC. ports-japanese release=cvs Support pour le japonais. ports-java release=cvs Outils &java;. ports-korean release=cvs Support pour le coréen. ports-lang release=cvs Langages de programmation. ports-mail release=cvs Logiciels de courrier électronique. ports-math release=cvs Logiciels de calcul numérique. ports-mbone release=cvs Applications MBone. ports-misc release=cvs Utilitaires divers. ports-multimedia release=cvs Logiciels pour le multimedia. ports-net release=cvs Logiciels réseau. ports-net-im release=cvs Logiciels de messagerie instantanée. ports-net-mgmt release=cvs Logiciels de gestion des réseaux. ports-net-p2p release=cvs Logiciels pour le peer to peer. ports-news release=cvs Logiciels pour les forums de discussion USENET. ports-palm release=cvs Logiciels de support des machines Palm. ports-polish release=cvs Support pour le polonais. ports-ports-mgmt release=cvs Utilitaires pour la gestion des logiciels portés et des paquetages. ports-portuguese release=cvs Support pour le portugais. ports-print release=cvs Logiciels d'impression. ports-russian release=cvs Support pour le russe. ports-science release=cvs Science. ports-security release=cvs Outils de sécurité. ports-shells release=cvs Interpréteurs de commandes. ports-sysutils release=cvs Utilitaires système. ports-textproc release=cvs Outils de traitement de texte (sauf les logiciels de publication assistée par ordinateur). ports-ukrainian release=cvs Support de l'ukrainien. ports-vietnamese release=cvs Support du vietnamien. ports-www release=cvs Logiciels concernant le World Wide Web. ports-x11 release=cvs Logiciel pour le système X window. ports-x11-clocks release=cvs Horloges pour X11. ports-x11-drivers release=cvs pilotes de périphérique X11. ports-x11-fm release=cvs Gestionnaires de fichiers pour X11. ports-x11-fonts release=cvs Polices de caractères et outils associés pour X11. ports-x11-toolkits release=cvs “Toolkits” X11. ports-x11-servers release=cvs Serveurs X11. ports-x11-themes release=cvs Thèmes X11. ports-x11-wm release=cvs Gestionnaires de fenêtres pour X11. projects-all release=cvs Les sources présentes dans le dépots des projets &os;. src-all release=cvs Les sources du système &os;, comprenant les logiciels de chiffrement. src-base release=cvs Divers fichiers en haut de la hiérarchie /usr/src. src-bin release=cvs Programmes utilisateurs qui peuvent être utiles en mode mono-utilisateur (/usr/src/bin). src-cddl release=cvs Utilitaires et bibliothèques sous licence CDDL (/usr/src/cddl). src-contrib release=cvs Utilitaires et bibliothèques d'origine indépendante du projet &os;, employés à peu près tels quels (/usr/src/contrib). src-crypto release=cvs Utilitaires et bibliothèques pour le chiffrement d'origine indépendante du projet &os;, employés à peu près tels quels (/usr/src/crypto). src-eBones release=cvs Kerberos et DES (/usr/src/eBones). Non utilisés dans les versions de &os; actuellement publiées. src-etc release=cvs Fichiers de configuration du système (/usr/src/etc). src-games release=cvs Jeux (/usr/src/games). src-gnu release=cvs Utilitaires soumis à la licence publique GNU (/usr/src/gnu). src-include release=cvs Fichiers d'entête (/usr/src/include). src-kerberos5 release=cvs Logiciel de sécurité Kerberos5 (/usr/src/kerberos5). src-kerberosIV release=cvs Logiciel de sécurité KerberosIV (/usr/src/kerberosIV). src-lib release=cvs Bibliothèques (/usr/src/lib). src-libexec release=cvs Programmes système normalement exécutés par d'autres programmes (/usr/src/libexec). src-release release=cvs Fichiers nécessaires à la génération d'une version publiable de &os; (/usr/src/release). src-rescue release=cvs Programmes liés en statique pour les dépannages d'urgence; consultez la page de manuel &man.rescue.8; (/usr/src/rescue). src-sbin release=cvs Utilitaires système pour le mode mono-utilisateur (/usr/src/sbin). src-secure release=cvs Commandes et bibliothèques pour le chiffrage (/usr/src/secure). src-share release=cvs Fichiers qui peuvent être partagés par plusieurs systèmes (/usr/src/share). src-sys release=cvs Le noyau (/usr/src/sys). src-sys-crypto release=cvs Code du noyau destiné au chiffrement (/usr/src/sys/crypto). src-tools release=cvs Divers outils pour la maintenance de &os; (/usr/src/tools). src-usrbin release=cvs Outils utilisateur (/usr/src/usr.bin). src-usrsbin release=cvs Utilitaires système (/usr/src/usr.sbin). www release=cvs Les sources du site WWW de &os;. distrib release=self Fichiers de configuration du serveur CVSup. Utilisés par les sites miroir CVSup. gnats release=current Base de données GNATS d'historique des bogues. mail-archive release=current Archives des listes de diffusion &os;. www release=current Les fichiers/données WWW publiés (pas les fichiers source). Utilisés par les sites miroir WWW. Pour plus d'informations Pour la FAQ de CVSup et d'autres informations concernant CVSup, consultez la page Web de CVSup. La plupart des discussions relatives à l'utilisation de CVSup sous &os; ont lieu sur la &a.hackers;. Les nouvelles versions du logiciel y sont annoncés ainsi que sur la &a.announce;. Pour toutes les questions et rapports de bogues concernant CVSup, consultez la FAQ CVSup. Sites CVSup Des serveurs CVSup pour &os; fonctionnent aux sites suivants: &chap.mirrors.cvsup.inc; Utiliser Portsnap Introduction Portsnap est un système de distribution sécurisée du catalogue des logiciels portés de &os;. Approximativement chaque heure, un instantané du catalogue des logiciels portés est généré, rassemblé et signé de manière chiffrée. Les fichiers résultants sont alors distribués par l'intermédiaire du protocole HTTP. Tout comme CVSup, Portsnap utilise un modèle de mise à jour de type pull: le catalogue des logiciels portés packagé et signé est placé sur un serveur Web qui attend les requêtes des clients. Les utilisateurs doivent soit exécuter manuellement &man.portsnap.8; pour télécharger les mises à jour, soit configurer &man.cron.8; pour un téléchargement régulier et automatique des mises à jour. Pour des raisons techniques, Portsnap ne met pas à jour le catalogue des logiciels portés directement dans le répertoire /usr/ports; le logiciel travaille plutôt par défaut sur une version compressée de l'arborescence des logiciels portés dans le répertoire /var/db/portsnap. Cette copie compressée est ensuite utilisée pour mettre à jour le catalogue des logiciels portés. Si Portsnap est installé à partir du catalogue des logiciels portés de &os;, alors l'emplacement par défaut pour son instantané compressé sera /usr/local/portsnap au lieu de /var/db/portsnap. Installation Sous &os; 6.0 et les versions plus récentes, Portsnap fait partie du système de base de &os;. Sous des versions plus anciennes de &os;, il peut être installé à partir du logiciel porté ports-mgmt/portsnap. Configuration de Portsnap L'exécution de Portsnap est contrôlée par le fichier de configuration /etc/portsnap.conf. Pour la plupart des utilisateurs, le fichier de configuration par défaut sera suffisant; pour plus de détails, consultez la page de manuel &man.portsnap.conf.5;. Si Portsnap est installé à partir du catalogue des logiciels portés, il utilisera /usr/local/etc/portsnap.conf comme fichier de configuration au lieu de /etc/portsnap.conf. Ce fichier n'est pas créé lors de l'installation du logiciel, mais un fichier d'exemple est fourni; pour le copier à son emplacement correct, utilisez la commande suivante: &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf Exécuter <application>Portsnap</application> pour la première fois Au premier lancement de la commande &man.portsnap.8;, il sera nécessaire de télécharger un instantané compressé de l'intégralité de l'arborescence des logiciels portés dans /var/db/portsnap (ou /usr/local/portsnap si Portsnap a été installé à partir du catalogue des logiciels portés). Au début de l'année 2006, cela représentait un téléchargement d'environ 41 Mo. &prompt.root; portsnap fetch Une fois que l'instantané compressé a été récupéré, une copie utilisable de l'arborescence des logiciels portés peut être extraite dans le répertoire /usr/ports. Cela est nécessaire même si une arborescence a déjà été créée dans ce répertoire (par exemple en utilisant CVSup), puisque cela met en place une version de référence à partir de laquelle portsnap peut déterminer plus tard quelles parties du catalogue des logiciels portés a besoin d'une mise à jour. &prompt.root; portsnap extract Dans l'installation par défaut de &os; /usr/ports n'est pas créé. Si vous utilisez &os; 6.0-RELEASE, ce répertoire doit être créé avant d'utiliser la commande portsnap. Sur les versions de &os; plus récentes ou de Portsnap, cette création est effectuée automatiquement à la premiere utilisation de la commande portsnap. Mettre à jour l'arborescence des logiciels portés Après qu'un instantané initial du catalogue des logiciels portés ait été récupéré puis décompressé dans le répertoire /usr/ports, la mise à jour du catalogue se divise en deux étapes: la récupération (fetch) des mises à jour de l'instantané, et leur utilisation pour mettre à jour (update) le catalogue des logiciels portés en tant que tel. Ces deux étapes peuvent être effectuées par l'intermédiaire d'une seule commande portsnap: &prompt.root; portsnap fetch update Des versions anciennes de portsnap ne supporte pas cette syntaxe; en cas d'échec, utilisez à la place ceci: &prompt.root; portsnap fetch &prompt.root; portsnap update Exécuter Portsnap à partir de cron Afin d'éviter tout problème d'embouteillage lors de l'accès aux serveurs Portsnap, portsnap fetch ne fonctionnera pas à partir d'une tâche &man.cron.8;. Il existe, à la place, une commande portsnap cron spécifique, qui patiente durant un délai aléatoire pouvant aller jusqu'à 3600 secondes avant de récupérer les mises à jour. De plus, il est fortement recommandé de ne pas exécuter portsnap update à partir d'une tâche cron, puisque cela peut être à l'origine de graves problèmes si la commande a lieu au même moment qu'un logiciel porté est en train d'être compilé ou installé. Cependant, les fichiers INDEX peuvent être mis à jour sans risque, et cela peut être fait en passant l'indicateur à la commande portsnap (bien entendu si portsnap -I update est exécuté à par cron, il sera alors nécessaire de lancer portsnap update sans l'option ultérieurement pour mettre à jour le reste de l'arborescence). L'ajout de la ligne suivante dans le fichier /etc/crontab demandera à portsnap de mettre à jour son instantané compressé et les fichiers INDEX du répertoire /usr/ports, et enverra un courrier électronique si un logiciel porté installé n'est pas à jour: 0 3 * * * root portsnap -I cron update && pkg_version -vIL= Si l'horloge système n'est pas positionnée sur le fuseau horaire local, remplacez 3 par une valeur quelconque comprise entre 0 et 23, afin de répartir de manière plus équilibrée la charge sur les serveurs Portsnap. Des versions anciennes de portsnap ne supportent pas l'utilisation de commandes multiples (par exemple cron update) lors de la même invocation de portsnap. Si la ligne précédente échoue, essayez de remplacer portsnap -I cron update par portsnap cron && portsnap -I update. Etiquettes CVS Quand on récupère ou l'on met à jour les sources en utilisant cvs ou CVSup, une étiquette de révision doit être spécifiée. Une étiquette de révision fait référence soit à une branche particulière de développement de &os;, soit à un moment particulier dans le temps. Le premier type d'étiquette est nommé “étiquette de branche”, le second type “étiquette de publication” — release tags. Etiquettes de branche Toutes ces étiquettes, à l'exception de l'étiquette HEAD (qui est une étiquette toujours valide), ne s'appliquent qu'à l'arborescence src/. Il n'y a pas de branche pour les arborescences ports/, doc/, et www/. HEAD Nom symbolique pour la branche principale de développement, ou FreeBSD-CURRENT. C'est aussi la valeur par défaut lorsque la révision n'est pas précisée. Sous CVSup, cette étiquette est représentée par un . (ce n'est pas une ponctuation, mais bien le caractère .). Sous CVS, c'est la valeur par défaut quand aucune étiquette de révision n'est précisée. Ce n'est généralement pas une bonne idée de récupérer ou mettre à jour vers les sources CURRENT sur une machine STABLE, à moins que cela ne soit vraiment votre intention. RELENG_6 Branche de développement pour &os;-6.X, également connue sous le nom de &os; 6-STABLE. RELENG_6_2 Branche de publication de la version &os;-6.2, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_6_1 Branche de publication de la version &os;-6.1, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_6_0 Branche de publication de la version &os;-6.0, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5 Branche de développement pour &os;-5.X, également connue sous le nom de &os; 5-STABLE. RELENG_5_5 Branche de publication de la version &os;-5.5, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5_4 Branche de publication de la version &os;-5.4, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5_3 Branche de publication de la version &os;-5.3, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5_2 Branche de publication des versions &os;-5.2 et &os;-5.2.1, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5_1 Branche de publication de la version FreeBSD-5.1, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5_0 Branche de publication de la version FreeBSD-5.0, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4 Branche de développement de FreeBSD-4.X, aussi connue sous le nom de &os; 4-STABLE. RELENG_4_11 Branche de publication de la version &os;-4.11, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_10 Branche de publication de la version &os;-4.10, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_9 Branche de publication de la version &os;-4.9, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_8 Branche de publication de la version FreeBSD-4.8, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_7 Branche de publication de la version FreeBSD-4.7, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_6 Branche de publication des versions FreeBSD-4.6 et FreeBSD-4.6.2, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_5 Branche de publication de la version FreeBSD-4.5, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_4 Branche de publication de la version FreeBSD-4.4, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_3 Branche de publication de la version FreeBSD-4.3, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_3 Branche de développement de FreeBSD-3.X, aussi connue sous le nom de 3.X-STABLE. RELENG_2_2 Branche de développement de FreeBSD-2.2.X, aussi connue sous le nom de 2.2-STABLE. Cette branche est en grande partie obsolète. Etiquettes de publication Ces étiquettes font référence à un moment bien précis dans le temps quand une version particulière de &os; a été publiée. Le processus d'ingénierie des publications est documenté en détails dans les documents Information sur la publication des versions et Processus de publication. L'arborescence src utilise des étiquettes commençant par RELENG_. Les arborescences ports et doc utilisent des étiquettes dont les noms commencent par RELEASE. Enfin, l'arborescence www ne bénéficie pas d'étiquette particulière pour les publications. RELENG_6_2_0_RELEASE FreeBSD 6.2 RELENG_6_1_0_RELEASE FreeBSD 6.1 RELENG_6_0_0_RELEASE FreeBSD 6.0 RELENG_5_5_0_RELEASE FreeBSD 5.5 RELENG_5_4_0_RELEASE FreeBSD 5.4 RELENG_4_11_0_RELEASE FreeBSD 4.11 RELENG_5_3_0_RELEASE FreeBSD 5.3 RELENG_4_10_0_RELEASE FreeBSD 4.10 RELENG_5_2_1_RELEASE FreeBSD 5.2.1 RELENG_5_2_0_RELEASE FreeBSD 5.2 RELENG_4_9_0_RELEASE FreeBSD 4.9 RELENG_5_1_0_RELEASE FreeBSD 5.1 RELENG_4_8_0_RELEASE FreeBSD 4.8 RELENG_5_0_0_RELEASE FreeBSD 5.0 RELENG_4_7_0_RELEASE FreeBSD 4.7 RELENG_4_6_2_RELEASE FreeBSD 4.6.2 RELENG_4_6_1_RELEASE FreeBSD 4.6.1 RELENG_4_6_0_RELEASE FreeBSD 4.6 RELENG_4_5_0_RELEASE FreeBSD 4.5 RELENG_4_4_0_RELEASE FreeBSD 4.4 RELENG_4_3_0_RELEASE FreeBSD 4.3 RELENG_4_2_0_RELEASE FreeBSD 4.2 RELENG_4_1_1_RELEASE FreeBSD 4.1.1 RELENG_4_1_0_RELEASE FreeBSD 4.1 RELENG_4_0_0_RELEASE FreeBSD 4.0 RELENG_3_5_0_RELEASE FreeBSD-3.5 RELENG_3_4_0_RELEASE FreeBSD-3.4 RELENG_3_3_0_RELEASE FreeBSD-3.3 RELENG_3_2_0_RELEASE FreeBSD-3.2 RELENG_3_1_0_RELEASE FreeBSD-3.1 RELENG_3_0_0_RELEASE FreeBSD-3.0 RELENG_2_2_8_RELEASE FreeBSD-2.2.8 RELENG_2_2_7_RELEASE FreeBSD-2.2.7 RELENG_2_2_6_RELEASE FreeBSD-2.2.6 RELENG_2_2_5_RELEASE FreeBSD-2.2.5 RELENG_2_2_2_RELEASE FreeBSD-2.2.2 RELENG_2_2_1_RELEASE FreeBSD-2.2.1 RELENG_2_2_0_RELEASE FreeBSD-2.2.0 Sites AFS Il y a des serveurs AFS pour &os; sur les sites suivants: Suède Le chemin d'accès au fichiers est /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Suède 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Responsable ftp@stacken.kth.se Sites rsync Les sites suivants fournissent &os; en utilisant le protocole rsync. L'utilitaire rsync fonctionne globalement de la même manière que la commande &man.rcp.1;, mais il dispose de plus d'options et utilise le protocole de mise à jour à distance rsync qui ne transfert que les différences entre deux ensembles de fichiers, ce qui accélère énormément la synchronisation par le réseau. C'est surtout utile si vous disposez d'un miroir du serveur FTP de &os;, ou du référentiel CVS. La suite rsync est disponible sur de nombreux systèmes d'exploitation, et sous &os;, voir le logiciel porté net/rsync ou utilisez la version pré-compilée. République Tchèque rsync://ftp.cz.FreeBSD.org/ Collections disponibles: ftp: un miroir partiel du serveur FTP &os;. FreeBSD: un miroir complet du serveur FTP &os;. Allemagne rsync://grappa.unix-ag.uni-kl.de/ Collections disponibles: freebsd-cvs: référentiel CVS &os; complet. Cette machine est également miroir des référentiels CVS des projets NetBSD et OpenBSD, parmi d'autres. Hollande rsync://ftp.nl.FreeBSD.org/ Collections disponibles: vol/4/freebsd-core: un miroir complet du serveur FTP &os;. Thailande rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ Collections disponibles: &os;: Un miroir complet du serveur FTP &os;. Royaume-Uni rsync://rsync.mirror.ac.uk/ Collections disponibles: ftp.freebsd.org: Un miroir complet du serveur FTP &os;. Etats Unis d'Amérique rsync://ftp-master.FreeBSD.org/ Ce serveur ne pourra être utilisé que par les sites miroirs primaires &os;. Collections disponibles: FreeBSD: l'archive principale du serveur FTP &os;. acl: la liste principale ACL de &os;. rsync://ftp13.FreeBSD.org/ Collections disponibles: FreeBSD: Un miroir complet du serveur FTP &os;.
diff --git a/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.xml b/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.xml index 29d558c9e0..ac93fa1aa3 100644 --- a/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.xml +++ b/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.xml @@ -1,3986 +1,3986 @@ A &os; beszerzése CD és DVD kiadók Kiskereskedelmi dobozos termékek A &os; beszerezhetõ számos kiskereskedõtõl dobozos termék formájában is (&os; CD-k, egyéb szoftverek és nyomtatott dokumentáció):
CompUSA WWW:
Frys Electronics WWW:
CD- és DVD-készletek &os; CD- és DVD-készletek rengeteg helyrõl rendelhetõek:
&os; Mall, Inc. 700 Harvest Park Ste F Brentwood, CA 94513 Egyesült Államok Telefon: +1 925 240-6652 Fax: +1 925 674-0821 e-mail: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Németország Telefon: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre Franciaország WWW:
JMC Software Írország Telefon: 353 1 6291282 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA Egyesült Királyság Telefon: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Lengyelország Telefon: +48 22 860 18 18 e-mail: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Ausztrália Telefon: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya utca, 55 Szentpétervár 190000 Oroszország Telefon: +7-812-3125208 e-mail: info@linuxcenter.ru WWW:
Terjesztõk Ha viszonteladók vagyunk és szeretnénk CD-s &os; termékeket forgalmazni, akkor az alábbi terjesztõk valamelyikével vegyük fel a kapcsolatot:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 Egyesült Államok Telefon: +1 650 694-4949 Fax: +1 650 694-4953 e-mail: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 Egyesült Államok Telefon: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 Egyesült Államok Telefon: +1 952 947-0822 Fax: +1 952 947-0876 e-mail: sales@kudzuenterprises.com
LinuxCenter.Kz Uszty-Kamenogorszk Kazahsztán Telefon: +7-705-501-6001 e-mail: info@linuxcenter.kz WWW:
LinuxCenter.Ru Galernaya utca, 55 Szentpétervár 190000 Oroszország Telefon: +7-812-3125208 e-mail: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 Egyesült Államok Telefon: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
FTP oldalak A &os; hivatalos forrásai anonim FTP-n keresztül is elérhetõek különféle tükrözésekrõl. Az oldal ugyan jó minõségû kapcsolattal rendelkezik és rengeteg felhasználót is enged egyidejûleg kapcsolódni, azonban valószínûleg jobban járunk, ha egy hozzánk közelebbi tükrözést választunk (különösen abban az esetben, amikor mi magunk is egy tükrözést akarunk készíteni). A &os; tükrözések adatbázisában az itt megtalálhatónál sokkal pontosabb leltárt kaphatunk az elérhetõ tükrözésekrõl, mivel közvetlenül a névfeloldás segítségével állapítja meg a szükséges adatokat és nem egy rögzített listát tárol. Emellett az alábbi tükrözésekrõl a &os; elérhetõ anonim FTP-n keresztül is. Amennyiben az anonim FTP használata mellett döntenénk, igyekezzünk a hozzánk legközelebb levõ szervert használni. Az Elsõdleges tükrözésekként feltüntetett oldalak általában a teljes &os; archívumot tartalmazzák (az összes jelenleg elérhetõ változatot az összes architektúrára), de a környékünkön vagy országunkban elhelyezkedõ tükörszerverekrõl többnyire gyorsabban tudunk majd letölteni. A regionális oldalakon gyakorta csak a népszerûbb architektúrákon futó népszerûbb változatokat találjuk meg, nem a teljes &os; archívumot. Minden szerver elérhetõ anonim FTP-vel, de közülük néhány még további más módszereket is támogat. Az egyes oldalak által ismert konkrét módszereket a nevük után zárójelben közüljük. &chap.mirrors.ftp.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.ftp.inc; BitTorrent BitTorrent Az egyes kiadásokhoz tartozó alap CD-készletek BitTorrent segítségével is elérhetõek. A lemezek képeire hivatkozó torrent állományokat a címrõl tölthetjük le. A BitTorrent kliens telepíthetõ a net-p2p/py-bittorrent portból vagy csomagból. Miután sikeresen letöltöttük BitTorrenten keresztül a lemezképeket, a nyújthat segítséget abban, hogy kell ezeket lemezre írni. Anonim CVS - - <anchor id="anoncvs-intro"/>Bevezetés + + Bevezetés CVS anonim Az anonim CVS (vagy más néven anoncvs) a &os;-hez mellékelt CVS-es segédprogramok által nyújtott olyan lehetõség, amivel távoli CVS repositorykkal tudunk szinkronizálni. Több más dolog mellett lehetõvé teszi a &os; felhasználói számára, hogy kiemelt jogosultságok nélkül képesek legyenek olvasással kapcsolatos CVS mûveleteket végrehajtani a &os; Projekt hivatalos anoncvs szerverein. A használatához egyszerûen csak a kiválasztott anoncvs szervert kell beállítani a CVSROOT környezeti változó értékének, ahol aztán a cvs login parancsnak a szerver által ismert anoncvs jelszót kell megadni. Ezután a &man.cvs.1; paranccsal a többi CVS szerverhez hasonlóan lehetõségünk nyílik hozzáférni. A cvs login parancs a bejelentkezésekhez szükséges jelszavakat a HOME könyvtárunkban levõ .cvspass állományban tárolja. Ha ez az állomány nem létezik, akkor a cvs login elsõ használatakor hibát kapunk. Ilyenkor csak hozzunk létre egy üres .cvspass állományt, majd próbálkozzunk újra. Habár azt mondhatnánk, hogy a CVSup és az anoncvs lényegében egyazon feladatot oldják meg, mind a két esetben léteznek olyan kompromisszumok, amelyek befolyásolhatják a felhasználó választását a két szinkronizációs módszer között. Dióhéjban ezt úgy tudnánk összefoglalni, hogy a CVSup a hálózati erõforrásokat hatékonyabban kihasználja és kettejük közül ez a fejlettebb, azonban ennek meg kell fizetnünk az árát. A CVSup használatához elõször ugyanis telepítenünk kell és be kell állítanunk egy speciális klienst, illetve az adatokat a CVSup által gyûjteményeknek (collection) nevezett, viszonylag nagy méretû egyeségekben érhetjük el. Ezzel szemben az anoncvs használata során a megfelelõ CVS modul nevének felhasználásával tetszõlegesen megvizsgálhatunk önálló állományokat vagy akár programokat (mint az ls vagy a grep). Természetesen az anoncvs segítségével csupán az olvasást igénylõ CVS mûveleteket végezhetjük el, ezért ha a &os; Projekt keretein belül fejleszteni is szeretnénk, akkor inkább érdemes a CVSup alkalmazást választani. - - <anchor id="anoncvs-usage"/>Az anonim CVS + <sect2 id="anoncvs-usage"> + <title>Az anonim CVS használata A &man.cvs.1; parancsot nagyon könnyû beállítani az anonim CVS repositoryk használatához, hiszen mindössze annyit kell tennünk, hogy a CVSROOT környezeti változó értékének megadjuk a &os; Projekt valamelyik anoncvs szerverét. Ezen sorok írásának pillanatában a következõ szerverek érhetõek el: Franciaország: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver módban a jelszó anoncvs, az SSH pedig nincs jelszó) Tajvan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver módban a cvs login használatával tetszõleges jelszó megadható, az SSH esetén pedig nincs jelszó) SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub Egyesült Államok: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (csak SSH v2 — nincs jelszó) SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub Mivel a CVS használatával kikérhetjük (check out) tulajdonképpen a &os; forrásainak akármelyik eddigi (vagy majd ezután keletkezõ) változatát, érdemes megismerkednünk a &man.cvs.1; által alkalmazott revízió (revision) (az opcióval állítható) fogalmával és a &os; Projekt repositoryjain belül engedélyezett értékeivel. Címkéket (tag) két esetben használhatunk: a revíziók és az ágak esetén. A revíziós címkék mindig egy adott revízióra hivatkoznak, ami állandóan ugyanazt jelenti. Ezzel szemben az ágak címkéi a fejlesztés adott irányú menetének az adott pillanatban legfrissebb revízióját hivatkozzák. Mivel az ágak címkéi nem egy adott revízióra vonatkoznak, ezért elmondhatjuk róluk, hogy naponta változik a jelentésük. Az tartalmazza a felhasználók számára fontos revíziós címkéket. Ezek azonban nem igazak a Portgyûjteményre, mivel a Portgyûjteménynek nincs egyszerre több fejlesztési iránya. Egy ág címkéjének megadásával általában az adott irányhoz tartozó állományok legfrissebb változatát kapjuk meg. Ha viszont az állományok egy korábbi változatára lenne szükségünk, akkor a opció megadásával meg tudjuk adni annak idõpontját. Errõl részletesebben a &man.cvs.1; man oldalán olvashatunk. Példák Habár a továbbhaladáshoz mindenképpen javasoljuk a &man.cvs.1; man oldalának részletes áttanulmányozását, mutatunk néhány gyors példát az anonim CVS használatának tömör illusztrálására: Valami (az &man.ls.1;) kikérése a -CURRENT ágból &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Jelszóként ezután bármit megadhatunk. &prompt.user; cvs co ls Az <filename>src/</filename> fa kikérése SSH-n keresztül &prompt.user; cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established. DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts. Az &man.ls.1; 6-STABLE ágban szereplõ változatának kikérése &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Amikor kéri, jelszóként bármit megadhatunk. &prompt.user; cvs co -rRELENG_6 ls Az &man.ls.1; változásainak (Unified Diff formátumú) listázása &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Itt jelszóként bármit megadhatunk. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls A használható modulok nevének kiderítése &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Ezután jelszóként bármit megadhatunk. &prompt.user; cvs co modules &prompt.user; more modules/modules Egyéb helyek A következõ helyeken találhatunk még hasznos információkat a CVS használatáról: A CVS bemutatása (forrás: Kaliforna Állami Mûszaki Egyetem). A CVS honlapja, a CVS fejlesztésével és alkalmazásával foglalkozó közösség oldala. A CVSweb a &os; Projekt által használt CVS rendszerének webes felülete. A CTM használata CTM A CTM használatáva a távoli könyvtárakat tudunk egy központi változattal szinkronban tartani. Eredetileg a &os; forrásaihoz fejlesztették ki, de idõvel mások más célokra is alkalmasnak találhatják majd. Az eltérések (delták) feldolgozásával kapcsolatban kevéske dokumentáció áll rendelkezésre, ezért a &a.ctm-users.name; levelezési listát érdemes felkeresni, ha többet szeretnénk megtudni a CTM egyéb célú alkalmazásairól. Miért használnánk a <application>CTM</application>-et? A CTM segítségével a &os; forrásainak helyi másolatát hozhatjuk létre. A források több különbözõ kivitelben is hozzáférhetõek. A CTM minden esetben képes eleget tenni az igényeinknek, akár az egész CVS fát, akár annak egy részét kívánjuk csak figyelemmel követni. Ha netalán &os; fejlesztõk lennénk, és híján vagyunk vagy éppen gyenge TCP/IP kapcsolattal rendelkezünk, esetleg egyszerûen csak automatikusan értesülni szeretnénk a változásokról, a CTM-et nekünk találták ki. A leggyorsabban fejlõdõ ágakból is naponta legfeljebb három deltát fogunk kapni, azonban érdemes megfontolni a változások automatikus elküldését levélben. A szükséges frissítések méretét mindig igyekszünk minimalizálni. Ez egyébként általában alig 5 KB, de néha (tízbõl egyszer) elõfordul, hogy 10 és 50 KB között van, és idõnként 100 KB vagy afeletti mennyiségû frissítés is érkezhet. Amikor a fejlesztõk által használt forrásokat töltjük le, magunknak kell gondoskodnunk a menet közben felmerülõ különbözõ problémák megoldásáról. Ez kiváltképp igaz abban az esetben, amikor az aktuális, vagy hivatalos nevén CURRENT ágat követjük. Mielõtt azonban egy ilyenbe belevágnánk, érdemes fellapozni a &os; legfrissebb változatának használatáról szóló fejezetet. Mire van szükségünk a <application>CTM</application> használatához? A mûködéshez két komponens szükségeltetik: a CTM kliensprogramja és hozzá a kezdeti delták (amivel majd letöltjük a CURRENT forrásait). A CTM program már a 2.0 kiadástól kezdve a &os; része, és a források között a /usr/src/usr.sbin/ctm könyvtárban találjuk meg (amennyiben felraktuk). A CTM mûködéséhez kellõ deltákat két módon, FTP-n vagy e-mailen keresztül szerezhetjük be. Ha el tudunk érni interneten levõ FTP oldalakat, akkor az alábbi FTP helyeken találunk a CTM-hez használható adatokat: valamint lásd a tükrözéseket. FTP-n keresztül lépjünk be a könyvtárba, töltsük le a README nevû állományt és kövessük a benne szereplõ utasításokat. Ha viszont e-mailen keresztül akarjuk megszerezni a deltákat: Iratkozzunk fel a CTM terjesztési listáinak egyikére. A &a.ctm-cvs-cur.name; lista az egész CVS-fát, míg a &a.ctm-src-cur.name; a fõ fejlesztési ágat teszi elérhetõvé. A &a.ctm-src-4.name; a 4.X kiadásaihoz ágakat tartalmazza, és így tovább. (Ha nem tudjuk, hogyan kell feliratkozni egy levelezési listára, akkor kattintsunk a lista nevére vagy kövessük a &a.mailman.lists.link; linket, majd kattintsunk arra a listára, ahova fel akarunk iratkozni. Ezen az oldalon az összes, a feliratkozáshoz nélkülözhetetlen információnak szerepelnie kell.) Miután elkezdenek megérkezni a CTM-frissítéseket tartalmazó levelek, a tartalmukat a ctm_rmail programmal tudjuk kicsomagolni és felhasználni. Az /etc/aliases állományba akár közvetlenül is beírhatjuk a ctm_rmail programot, és ezzel a önállósítani tudjuk a levélben érkezõ frissítések feldolgozását. A ctm_rmail man oldalán olvashatjuk ennek részleteit. Nem számít, milyen módon jutunk hozzá a CTM által használt deltákhoz, minden esetben fel kell iratkoznunk a &a.ctm-announce.name; levelezési listára. Az elkövetkezendõkben ez lesz az egyetlen hely, ahová a CTM rendszer mûködtetésével kapcsolatos bejelentések beküldésre kerülnek. A feliratkozáshoz kattinsunk a fenti lista nevére és kövessük a mellette szereplõ utasításokat. A <application>CTM</application> elsõ használata Mielõtt nekilátnánk a CTM-hez tartozó delták használatának, elõször el kell jutnunk egy kiindulási ponthoz, ahonnan majd létre tudjuk hozni a rákövetkezõ deltákat. Ehhez elsõként vegyük számba, pontosan mink is van. Általában mindenki egy üres könyvtárral kezd. Ilyenkor egy kezdeti Empty (mint üres) elnevezésû deltával tudjuk megkezdeni az CTM által ismert fa szinkronizálását. Erre a célra lesznek majd szintén alkalmasak a megkezdett delták is, amelyek valamikor a CD-re fognak felkerülni. Mivel a fák maguk több tíz megabyte-nyi méretûek, ezért érdemes inkább valami kéznél levõ eszközzel megkezdeni a folyamatot. Ha van -RELEASE verziójú CD-nk, akkor másoljuk le róla és bontsuk ki a kiindulásként használt forrásokat. Ezzel jelentõs mennyiségû adat átvitelét takaríthatjuk meg. A kezdõ deltákat könnyen megismerjük a szám után X karakterrel leválasztott nevükrõl (például src-cur.3210XEmpty.gz). Az X után szereplõ megnevezés a kezdeti kiindulás (seed) fokának felel meg. Az Empty egy üres könyvtárra utal. A szabályok szerint az Empty állapotból 100 deltánként jön létre újabb (kiindulásra alkalmas) alapváltozat. Ezek azonban nagyon nagyok is lehetnek. A 70 vagy 80 megabyte-os gzippel csomagolt adatok gyakoriak az XEmpty delták esetén. Miután kiválasztottuk a számunkra megfelelõ alapváltozatot, szükségünk lesz a tõle nagyobb sorszámú összes deltára is. A <application>CTM</application> használata a hétköznapokban A delták felhasználásához egyszerûen csak ennyit kell tennünk: &prompt.root; cd /ahol/tárolni/akarjuk/az/adatokat &prompt.root; ctm -v -v /ahol/tároljuk/a/deltákat/src-xxx.* A CTM képes értelmezni a gzip által csomagolt adatokat, ezért nincs szükség a delták elõzetes kitömörítésére, amivel tárhelyet tudunk spórolni. Hacsak nem tekinti tökéletesen biztonságosnak az egész folyamatot, akkor a CTM nem fog módosítani a fán. A deltákat a CTM kapcsolójával is ellenõrizhetjük, aminek során egyáltalán nem fog módosulni a forrásfa. Ekkor egyszerûen csak ellenõrzi a delták sértetlenségét és megnézi, hogy minden rendben zajlana-e az alkalmazásuk során. A CTM-nek vannak még további kapcsolói is, melyekrõl bõvebben a man oldalakból és a forráskódokból tájékozódhatunk. Most már minden megvan, ami kellhet. Amikor kapunk egy újabb deltát, a forrásaink frissítéséhez csak futtassuk át a CTM-en. Ne töröljük le azokat a deltákat, melyeket nehezen tudtunk letölteni. Helyette érdemes inkább megtartani ezeket arra az esetre, ha valami rossz történne. Még ha csak floppylemezek is állnak rendelkezésünkre, mindenképpen másoljuk le ezeket az fdwrite paranccsal. A saját változtatásaink megtartása Fejlesztõként biztosan szeretnénk kísérletezni és állományokat megváltoztatni a forrásfában. A CTM a helyben elkövetett változtatásokat csak korlátozottan támogatja: az ize nevû állomány meglétének vizsgálata elõtt az ize.ctm állományt fogja keresni. Ha létezik, akkor a CTM az ize helyett ezen fog dolgozni. Ezzel a viselkedéssel nyerjük a saját változtatásaink megtartásának egyszerû módját: csak másoljuk le .ctm kiterjesztéssel a módosítani tervezett állományokat. Ezután már szabadon módosíthatjuk a forrásokat, miközben a CTM a .ctm kiterjesztésû állományokat folyamatosan szinkronban tartja. A <application>CTM</application> egyéb érdekes beállításai Derítsük ki pontosan miket is fog érinteni a frissítés A CTM által a forrásokon elvégzendõ változtatások listáját az kapcsolóval kérdezhetjük le. Ez akkor esik kézre, ha szeretnénk feljegyezni a bekövetkezõ változásokat, vagy bármilyen módon elõ- vagy utófeldolgozni a módosított állományokat, esetleg szimplán elõvigyázatosak akarunk lenni. Biztonsági másolat készítése a frissítés elõtt Néha egyszerûen csak szeretnénk az összes érintett állományról biztonsági másolatot készíteni a CTM által elvégzett frissítés elõtt. A beállítás megadásával az adott CTM delta által módosítandó összes állomány tárolásra kerül a mentés-állomány nevû állományba. A frissíthetõ állományok korlátozása Egyes esetekben érdekünkben állhat leszûkíteni a CTM által eszközölt frissítések hatáskörét, vagy egyszerûen csak néhány állomány szinkronizálására van szükségünk. A CTM számára feldolgozható állományok listáját reguláris kifejezés formájában az és opciók mentén határozhatjuk meg. Például ha a lib/libc/Makefile állomány az összegyûjtött CTM delták szerinti legfrissebb verziójához kívánunk hozzájutni, akkor futtassuk az alábbi parancsot: &prompt.root; cd /akarhova/ahova/ki/akarjuk/bontani/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* A CTM deltákban megadott minden egyes állomány esetén az az opciók a parancssorban történt megadásuk sorrendjében kerülnek feldolgozásra. Egy állományt kizárólag csak akkor dolgoz fel a CTM, ha az az és opciók kiértékelése után is indokolt. További tervek a <application>CTM</application>-mel kapcsolatban Rengeteg van: Valamiféle hitelesítés bevezetése a CTM rendszerbe, amivel észlelhetõek a meghamisított CTM-frissítések. A CTM beállításainak letisztázása, mivel eléggé megtévesztõek és nehézkesen használhatóak. Egyebek Léteznek delták a portok gyûjteményéhez is, azonban még nem mutatkozott túlzottan nagy érdeklõdés irántuk. CTM tükrözések A CTM/&os; anonim FTP-n keresztül elérhetõ az alábbi tüköroldalak valamelyikérõl. Amennyiben ezen a módon kívánjuk letölteni a CTM rendszerhez tartozó állományokat, elõször próbálkozzunk a hozzánk legközelebb levõ szerverrel. Ha bármilyen gond merülne fel, értesítsük a &a.ctm-users.name; levelezési listát. Kalifornia, Bay Area (hivatalos forrás) Dél-Afrika (a korábbi delták biztonsági másolatai) Tajvan/R.O.C. Ha nem találtunk volna hozzánk közel esõ tükrözést, vagy ha talált tükör nem elég friss, akkor próbálkozzunk egy olyan keresõmotor használatával, mint például az alltheweb. A CVSup használata Bevezetés A CVSup távoli szervereken található központi repositorykban levõ forrásfák terjesztésére és a rajtuk keresztüli frissítésre alkalmas programcsomag. A &os; forrásait egy CVS repositoryban tartják karban Kaliforniában egy fejlesztéseket tároló központi számítógépen. A CVSup segítségével a &os; felhasználói könnyen szinkronban tudják vele tartani a saját forrásaikat. A CVSup az ún. lehúzással frissít. Ilyenkor a kliensek csak akkor kérnek a szervertõl frissítéseket, amikor szükségük van rá, miközben a szerver passzívan várja a frissítési kérelmeket. Ennek megfelelõen tehát minden esetben a kliens kezdeményezi a frissítést, a szerver pedig önmagától sosem küld ilyeneket kéretlenül. A felhasználóknak így vagy maguknak kell meghívniuk a CVSup kliensét, vagy a frissítések rendszeres automatikus letöltéséhez be kell állítaniuk a cron rendszerprogramot. A CVSup kifejezés ebben az írásmódban az egész programcsomagra utal. Fõ alkotórészei a a felhasználó gépén futó cvsup nevû kliens, és a &os; tüköroldalain futó cvsupd nevû szerver. A &os; dokumentációjának és levelezési listáinak fürkészése során rengeteg hivatkozást találhatunk egy sup nevû alkalmazásra. A sup a CVSup elõdje volt, és hasonló célokat szolgált. A CVSup használat tekintetében nagyon hasonlít a sup-hoz, és ami azt illeti, a a sup konfigurációs állományaival visszafele kompatibilis formátumot használ. Mivel a CVSup sokkal gyorsabb és rugalmasabb, a supot már nem használja a &os; Projekt. A csup a CVSup C nyelven újraírt változata. Legnagyobb elõnye, hogy gyorsabb és nincs szüksége a Modula-3 nyelv futtató környezetére, ezért azt nem kell a használatához telepíteni. Ráadásul, ha a &os; 6.2 vagy annál késõbbi változatát használjuk, akkor minden további nélkül a rendelkezésünkre áll, hiszen az alaprendszer része. A &os; korábbi verzióinak alaprendszerei ugyan nem tartalmazzák a &man.csup.1; parancsot, viszont a net/csup port vagy csomag segítségével pillanatok alatt telepíteni tudjuk. Amennyiben a csup mellett tennénk le a voksunkat, a szakasz fennmaradó részében egyszerûen hagyjuk ki a CVSup telepítésérõl szóló lépéseket és a CVSup hivatkozásait helyettesítsük a csup programmal. Telepítés A CVSup telepítésének legegyszerûbb módja a &os; csomaggyûjteményében található elõrefordított net/cvsup csomag használata. Ha viszont inkább forrásból akarjuk telepíteni a CVSupot, akkor helyette használjuk a net/cvsup portot. De legyünk elõvigyázatosak: a net/cvsup portnak szüksége van a Modula-3 rendszerre, aminek letöltése és lefordítása pedig meglehetõsen sok idõt és tárhelyet igényel. Ha olyan gépen akarjuk használni a CVSupot, ahol nincs &xfree86;, &xorg; vagy bármilyen más ilyen szerver, akkor használjuk a net/cvsup-without-gui portot, ami nem tartalmazza a hozzá tartozó grafikus felületet. Ha a &os; 6.1 vagy korábbi változatain szeretnénk telepíteni a csupot, használjuk a &os; csomaggyûjteményében megtalálható net/csup csomagot. Ha viszont forrásból kívánjuk telepíteni a csup programot, akkor helyette használjuk a net/csup portot. A CVSup beállítása A CVSup mûködését a supfile elnevezésû állomány vezérli. A /usr/share/examples/cvsup/ könyvárban találhatunk néhány példát a supfile állományokra. A supfile állományban szereplõ információk a CVSup használatával kapcsolatban a következõ kérdéseket válaszolják meg: Milyen állományokat akarunk letölteni? Milyen verzióikra van szükségünk? Honnan akarjuk ezeket beszerezni? Hova akarjuk rakni a számítógépünkön? Hova akarjuk rakni az állapotot tároló állományokat? Az imént feltett kérdésekre a következõ szakaszokban összeállítandó supfile segítségével fogunk válaszolni. Ehhez elõször bemutatjuk a supfile formátumú állományok általános szerkezetét. A supfile állományok szöveget tartalmaznak. A megjegyzések # karakterrel kezdõdnek és a sor végéig tartanak. A kizárólag csak megjegyzéseket tartalmazó vagy üres sorok nem kerülnek feldolgozásra. Az összes többi fennmaradó sorban pedig azokat az állományokat írjuk le, amelyeket a felhasználó le akar tölteni. Az ilyen fajtájú sorok egy gyûjtemény (collection) nevével kezdõdnek, ami állományok egy szerver által meghatározott logikai csoportjára utal. A gyûjtemény neve ennek megfelelõen elárulja a szervernek, hogy pontosan milyen állományokra van szükségünk. Ezután következik whitespace-szel elválasztva nulla vagy több mezõ, amelyek a korábban feltett kérdéseinket válaszolják meg rendre. Ezeknek a mezõknek két típusa létezik: a beállításokat és a konkrét értéket tároló mezõk. A beállításokat tároló mezõk különbözõ kulcsszavakat tartalmaznak, például a delete (törlés) vagy compress (tömörítés). Az értéket tároló mezõk is egy kulcsszóval kezdõdnek, azonban utána közvetlenül egy = (egyenlõségjel) jön, amelyet egy második szó követ szorosan. Így például a release=cvs pontosan egy ilyen értékmezõ lesz. Egy supfile általában egynél több gyûjtemény letöltését írja le. Ezért az ilyen állományok felépítésének egyik módja, ha az egyes gyûjteményhez explicite megadjuk a hozzá tartozó mezõket. Azonban így a supfile állományok gyorsan megnövekednek és kényelmetlenné válnak, mivel a legtöbb gyûjtemény esetén szinte ugyanazokat a mezõket kellene megadnunk. A CVSup az ilyen típusú bonyodalmak elkerülésére egy alapértelmezési megoldást javasol. A *default nevû álgyûjteménnyel kezdõdõ sorok segítségével meg tudunk adni olyan beállításokat és értékeket, amelyek az utána következõ gyûjtemények számára alapértelmezésnek fognak számítani a supfile állományban. Az itt megadott alapértelmezések természetesen az egyes gyûjteményekben tetszõleges módon felülbírálhatóak, a mezõk magán a gyûjteményen belüli megadásával. Az állományban az alapértelmezések is megváltoztathatóak vagy bõvíthetõek további *default sorok hozzáadásával. Mindezek tudatában most már megkezdhetjük a &os;-CURRENT ág tartalmának letöltésére és frissen tartására alkalmas supfile állomány összeállítását. Milyen állományokat akarunk letölteni? A CVSupon keresztül elérhetõ állományok gyûjteményeknek hívott nevesített csoportokra bontva érhetõek el. A hivatkozható gyûjtemények leírását a következõ szakaszban találjuk. Ebben a példában most szeretnénk letölteni az egész &os; rendszer forrását. Ezt a src-all nevû gyûjteményre hivatkozva érhetjük el. A supfile állományunk létrehozásának elsõ lépéseként soronként egyet megadva felsoroljuk a letölteni kívánt gyûjteményeket (jelen esetünkben csak egyetlen egyet): src-all Milyen verzióikra van szükségünk? A CVSup használatával tulajdonképpen a források összes valaha létezett verziójához hozzá tudunk férni. Ez annak köszönhetõ, hogy a cvsupd szerver közvetlenül a CVS repositoryból dolgozik, ami pedig az összes verziót tartalmazza. A tag= és date= értékmezõk segítségével adhatjuk meg az igényelt verziókat. Legyünk óvatosak azonban a tag= mezõk helyes megadásával. Egyes címkék ugyanis csak bizonyos állománygyûjtemények esetén élnek. Ha hibás vagy elírt címkét adunk meg, akkor a CVSup törölni fog olyan állományokat, amelyeket valószínûleg nem kellene. A ports-* gyûjtemények esetében pedig kifejezetten csak a tag=. mezõk használhatóak! A tag= mezõk a tárházban található szimbolikus címkéket nevezik meg. A címkéknek két típusa van: a revíziókhoz és az ágakhoz tartozó címkék. A revíziós címkék mindig egy adott revíziót hivatkoznak, jelentésük állandó. Ezzel szemben az ágak címkéi egy adott fejlesztési ág adott idõpontjában elérhetõ revíziót címkézi. Mivel az ágak címkéi nem egy konkrét revízióra vonatkoznak, ezért akár olyanra is utalhatnak, ami pillanatnyilag még nem is létezik. Az ban megtalálhatjuk a fontosabb ágak címkéit. A CVSup konfigurációs állományában a címkéket a tag= elõtaggal kell bevezetni (így tehát a RELENG_4 címke hivatkozása tag=RELENG_4 lesz). Ne felejtsük el, hogy a Portgyûjtemény esetében csak tag=. mezõ megadásának van értelme. Igyekezzünk pontosan lemásolni a címkék neveit, mivel a CVSup nem képes megkülönböztetni az érvényes és az érvénytelen címkéket. Ha véletlen elírjuk a címkét, akkor a CVSup úgy fog viselkedni, mintha olyan érvényes címkére hivatkozhatunk volna, amihez nem tartoznak állományok. Ennek következtében pedig egyszerûen letörli a már meglevõ forrásainkat. Egy ág címkéjének megadása során általában az adott fejlesztési vonal legfrissebb verzióját kapjuk meg. Ha viszont az adott ág valamelyik korábbi változatára lenne szükségünk, akkor a értékmezõ felhasználásával meg tudjuk adni a hozzá tartozó dátumot. Ennek mûködésérõl a &man.cvsup.1; man oldala részletesebben értekezik. A példában mi most a &os;-CURRENT verziót akarjuk letölteni. Ezért a következõ sort tesszük a supfile állományunk elejére: *default tag=. Ha nem adunk meg sem tag=, sem pedig date= mezõket, akkor egy fontos eset következik be. Ilyenkor ugyanis egy konkrét verzió helyett közvetlenül a szerver CVS repositoryjából kapjuk meg az állományokat, az összes kiegészítõ információjukkal együtt. A fejlesztõk általában ezt a típusú megoldást kedvelik, mivel így a saját rendszerükön is könnyen karban tudnak tartani egy példányt, amiben tudnak keresni a revíziók között és ki tudják kérni akár az állományok korábbi változatait is. Természetesen ennek függvényében jóval több tárhelyre van szükségük. Honnan akarjuk ezeket beszerezni? A host= mezõ beállításával közöljük a cvsup klienssel, honnan töltse le a frissítéseket. A CVSup tükrözések közül bármelyik megfelel erre a célra, habár leginkább azt érdemes választani, ami a kibertérben a hozzánk legközelebb esik. A példában most egy kitalált &os; terjesztési oldalt választunk, a cvsup99.FreeBSD.org-ot: *default host=cvsup99.FreeBSD.org A CVSup futtatása elõtt tehát ne felejtsük el megváltoztatni ezt a létezõ számítógép hálózati nevére. A cvsup futtatásakor a opció megadásával lehetõségünk ennek felülbírálására. Hova akarjuk rakni a számítógépünkön? A prefix= mezõ adja meg a cvsup számára, hogy hova tegye a kapott állományokat. A példában a forrásokat közvetlenül a forrásokat tároló központi könyvtárba, a /usr/src könyvtárba tettük. Mivel a src könyvtár neve már hallgatólagosan benne foglaltatik a letöltésre kiválasztott gyûjtemény nevében, ezért itt csak ennyit kell megadnunk: *default prefix=/usr Hova akarjuk rakni az állapotot tároló állományokat? A CVSup kliens egy bázisnak (base) nevezett könyvtárban folyamatosan fenntart bizonyos állományokban állapotokat (status file). Ezek a már letöltött állományok nyilvántartásával segítik a CVSup hatékony munkavégzését. Mi most a szabványos bázist, a /var/db könyvtárat fogjuk használni: *default base=/var/db Amennyiben még nem létezne a bázisként használni kívánt könyvtár, ideje létrehoznunk. A cvsup ugyanis egy nem létezõ könyvtár esetén nem lesz hajlandó mûködni. További beállítások a supfile állományban: Általában még egy sor szokott szerepelni a supfile állományokban: *default release=cvs delete use-rel-suffix compress A release=cvs mezõ jelzi, hogy a szervernek a &os; fõ CVS repositoryból kell kikeresnie az információkat. Tulajdonképpen majdnem mindig errõl van szó, és az itt megadható többi lehetõség ismertetése most egyébként is meghaladná a szakasz határait. A delete hatására a CVSup képes lesz állományokat törölni. Mindig érdemes megadnunk, hiszen a CVSup csak így tudja teljes mértékben frissentartani a forrásokat. A CVSup természetesen csak azokat az állományokat igyekszik letörölni, amelyek miatt valóban felelõs. A kóbor állományokat nem fogja bántani. A use-rel-suffix hatása egy igazi... Rejtély. Ha tényleg érdekel minket a mûködése, lapozzuk fel bátran a &man.cvsup.1; man oldalát. Nyugodtan adjuk meg és különösebben ne törõdjünk vele. A compress beállítás segítségével a kommunikációs csatornán vándorló adatokat tudjuk gzip-szerû módon tömöríteni. Ha a hálózati kapcsolatunk sebessége meghaladja a 1,5 Mbitet másodpercenként (T1), akkor ezt már nem érdemes használni, viszont minden más esetben lényeges gyorsulást hozhat. Összegezzük az eddigieket: Íme a példaként összerakott supfile állományunk teljes tartalma: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all A <filename>refuse</filename> állomány Ahogy arról már korábban szó esett, a CVSup lehúzással frissít. Ez alapvetõen annyit jelent, hogy feltárcsázunk egy CVSup szervert, aki a következõt mondja nekünk: A következõket tudod tõlem letölteni..., amire a kliensünk ezt válaszolja: Rendben, akkor nekem kell ez, ez, ez meg ez. Alapértelmezés szerint a CVSup kliense azokat az állományokat fogja letölteni, amelyeket a konfigurációs állományban szereplõ gyûjtemények és címkék által megneveztünk. Ez azonban nem mindig felel meg az igényeinknek, különösen akkor, amikor a doc, ports vagy www fákat akarjuk letölteni — az emberek többsége ugyanis nem beszél négy vagy öt nyelven, ezért nincs is szükségük a nyelvfüggõ állományok letöltésére. A Portgyûjtemény letöltése során a ports-all helyett egyszerûen egyenként is felsorolhatjuk a számunkra érdekes kategóriákat (például ports-astrology, ports-biology stb). Azonban mivel a doc és a www fákhoz nincsenek nyelvfüggõ gyûjtemények, ezért elõ kell halásznunk a CVSup egyik remek funkcióját, a refuse állományt. A refuse állománnyal lényegében arra utasítjuk a CVSup alkalmazást, hogy a gyûjteményekbõl ne töltse le az összes állományt. Úgy is fogalmazhatnánk, hogy javaslatára a kliens visszautasít (refuse) bizonyos szervertõl érkezõ állományokat. Ezeket a visszautasításokat tároló refuse állományt a bázis/sup/ könyvtárban találhatjuk meg (illetve ha még nincsenek, akkor ide kell rakunk ezeket). Itt a bázis a supfile állományban megadott base= mezõre utal, ami a példánkban a /var/db könyvtár volt. Ennek megfelelõen tehát a refuse állomány a /var/db/sup/refuse lesz. A refuse állomány felépítése igen egyszerû: a letölteni nem kívánt állományok és könyvtárak neveit tartalmazza. Például ha az angolul mellett esetleg még beszélünk egy kevés németet is, de nincs szükségünk az angol dokumentáció német fordítására sem, akkor a következõket írjuk a refuse állományba: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc/mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* és így tovább a többi nyelvre is (melyeket a &os; CVS repository böngészésével deríthetjük ki). Ezzel az alkalmas funkcióval a lassú vagy drága internetes kapcsolattal rendelkezõ felhasználók nagyon jól tudnak gazdálkodni, mivel így nem kell letölteniük az egyáltalán nem használt állományokat. A refuse állományokról és a CVSup más hasonlóan elegáns funkcióiról a saját man oldaláról tudhatunk meg többet. A <application>CVSup</application> futtatása Most már készen állunk egy próba frissítés elvégzésére. A parancssorban nem sok mindent kell beírnunk ehhez: &prompt.root; cvsup supfile ahol a supfile a frissen létrehozott supfile állományunk neve lesz. Feltételezve, hogy a parancsot X11 alatt adtunk ki, az cvsup erre feldob egy grafikus ablakot néhány gombbal. Nyomjuk meg a go feliratú gombot és dõljünk hátra. Mivel a példában a /usr/src könyvtárunk frissítését állítottuk be, az állományok aktualizálásához szükséges jogosultságok biztosításához a cvsup programot root felhasználóként kell elindítanunk. Teljesen érthetõ, ha egy kicsit izgatottak vagyunk ezekben a pillanatokban, hiszen az elõbb hoztunk létre egy általunk eddig ismeretlen programhoz egy konfigurációs állományt. Ezért megemlítenénk, hogy ilyenkor elõször mindig próbáljuk ki a konfigurációkat, mielõtt azok bármilyen módosítást végeznének a fontos állományainkon. Ehhez hozzunk létre valahol egy üres könyvtárat, majd adjuk meg a parancssorban ennek a nevét: &prompt.root; mkdir /var/tmp/proba &prompt.root; cvsup supfile /var/tmp/proba Az így megadott könyvtárba kerülnek a frissítés eredményeképpen keletkezõ állományok. A CVSup elõször megvizsgálja a /usr/src könyvtárban található állományokat, viszont egyiküket sem módosítja vagy törli. A frissítések ehelyett a /var/tmp/proba/usr/src könyvtárba fognak kerülni. A CVSup emellett még a báziskönyvtárában tárolt állapotokat sem fogja megváltoztatni. A módosított állományok új változatai a megadott könyvtárba jönnek létre. Mivel a /usr/src könyvtárt ehhez csak olvasni fogjuk, a próba lefuttatásához még root felhasználónak sem kell lennünk. Ha nem használunk X11-et vagy egyszerûen csak nincs szükségünk a grafikus felületre, a parancssorban pár további opció megadásával így is kiadhatjuk a cvsup parancsot: &prompt.root; cvsup -g -L 2 supfile A hatására a CVSup nem hozza be a grafikus felületét. Ha nem talál X11-et, akkor ez természetesen automatikus, de ellenkezõ esetben ezt is meg kell adnunk. Az megadásával a CVSup az összes elvégzendõ frissítésrõl részletes értesítést ad. A részletességnek három foka van, -tól indulva egészen -ig. Itt az alapértelmezett érték a 0, amivel a hibaüzenetek kivételével egyetlen üzenetet sem kapunk. Rengeteg egyéb beállítás adható még meg, ezeket a cvsup -H kiadásával kérdezhetjük le. A beállítások pontosabb leírását a man oldalon találjuk meg. Miután elégedetten tapasztaltuk, hogy a frissítés remekül mûködik, a &man.cron.8; segítségével próbáljuk meg az egész folyamatot önmûködövé tenni a CVSup szabályos idõközönkénti futtatásával. Ekkor viszont magától értetõdik, hogy a CVSup számára ne engedjük használni a grafikus felületet. A <application>CVSup</application> állománygyûjteményei A CVSup révén elérhetõ állománygyûjtemények egy hierarchikus rendszert alkotnak. Van néhány nagyobb állománygyûjtemény, amelyek kisebb al-állománygyûjteményekre bonthatóak. A nagyobb gyûjtemények letöltése ezért a kisebb algyûjtemények letöltésével egyenlõ. A gyûjtemények közt fennálló hierarchikus rendszer a lentebb szereplõ lista behúzásaiban érhetõ tetten. A leggyakrabban használt gyûjtemények a src-all és a ports-all neveket viselik. A többi gyûjteményt általában csak kevesen és csak speciális célokra használják, ezért egyes tükrözéseken nem feltétlenül találjuk meg mindegyiküket. cvs-all release=cvs A &os; fõ CVS repositoryja, beleértve a titkosításhoz tartozó kódokat is. distrib release=cvs A &os; terjesztéséhez és tükrözéséhez kapcsolódó állományok. doc-all release=cvs A &os; kézikönyvének és a többi dokumentáció forrásai. Nem tartalmazza a &os; honlapjának forrásait. ports-all release=cvs A &os; portgyûjteménye. Ha nem akarjuk a ports-all egészét (vagyis a teljes portfát) frissíteni, csak a lentebb szereplõ egyes algyûjteményeket letölteni, akkor soha ne feledkezzünk meg a ports-base megadásáról! Amikor valami változik a portok mûködésében, akkor a ports-base által képviselt algyûjteményben szereplõ állományokat igen gyorsan elkezdik használni a valódi portok. Ezért ha csak a valódi portokat frissítjük, amelyek viszont igényt tartanak néhány újabb funkcióra is, akkor könnyen fordítási hibára vagy különbözõ rejtélyes hibaüzenetekbe futhatunk. Emiatt legeslegelõször mindig tegyünk róla, hogy a ports-base algyûjteményünk a lehetõ legfrissebb legyen. Ha a ports/INDEX állomány egy saját példányát kívánjuk létrehozni, akkor ahhoz a ports-all gyûjteményt (tehát a teljes portfát) le kell kérnünk. A ports/INDEX állományt a portfa egy része alapján nem készíthetjük el. Errõl bõvebben lásd a GYIK-ot. ports-accessibility release=cvs A fogyatékos felhasználókat segítõ szoftverek. ports-arabic release=cvs Arab nyelvi támogatás. ports-archivers release=cvs Archiváló eszközök. ports-astro release=cvs Csillagászathoz tartozó portok. ports-audio release=cvs Hangtámogatás. ports-base release=cvs A Portgyûjtemény saját infrastruktúrája — az Mk/, Tools/ és /usr/ports különféle alkönyvtáraiban elhelyezkedõ állományok. Ne hagyjuk figyelmen kívül a fenti fontos figyelmeztetést sem: ezt az algyûjteményt mindig a &os; Portgyûjteményével együtt frissítsük! ports-benchmarks release=cvs Teljesítménytesztek. ports-biology release=cvs Biológia. ports-cad release=cvs Számítógépes tervezõeszközök (CAD). ports-chinese release=cvs Kínai nyelvi támogatás. ports-comms release=cvs Kommunikációs szoftverek. ports-converters release=cvs Karakterkódolások közti átalakítók. ports-databases release=cvs Adatbázisok. ports-deskutils release=cvs A számítógép feltalálása elõtt is már létezõ eszközök. ports-devel release=cvs Fejlesztõeszközök. ports-dns release=cvs Névfeloldással kapcsolatos szoftverek. ports-editors release=cvs Szövegszerkesztõk. ports-emulators release=cvs Más operációs rendszerek emulátorai. ports-finance release=cvs Pénzügyi, gazdasági és hasonló alkalmazások. ports-ftp release=cvs FTP kliensek és szerverek. ports-games release=cvs Játékok. ports-german release=cvs Német nyelvi támogatás. ports-graphics release=cvs Grafikus segédeszközök. ports-hebrew release=cvs Héber nyelvi támogatás. ports-hungarian release=cvs Magyar nyelvi támogatás. ports-irc release=cvs IRC-vel kapcsolatos programok. ports-japanese release=cvs Japán nyelvi támogatás. ports-java release=cvs &java; segédeszközök. ports-korean release=cvs Koreai nyelvi támogatás. ports-lang release=cvs Programozási nyelvek. ports-mail release=cvs Levelezõ programok. ports-math release=cvs Numerikus számításokkal foglalkozó programok. ports-mbone release=cvs MBone alkalmazások. ports-misc release=cvs Egyéb segédprogramok. ports-multimedia release=cvs Multimediás szoftverek. ports-net release=cvs Hálózati szoftverek. ports-net-im release=cvs Üzenetküldõ (Instant Messaging, IM) szoftverek. ports-net-mgmt release=cvs Hálózati karbantartó szoftverek. ports-net-p2p release=cvs Egyenrangú (Peer to Peer, P2P) hálózatok. ports-news release=cvs USENET hírszoftverek. ports-palm release=cvs A Palm sorozat szoftveres támogatása. ports-polish release=cvs Lengyel nyelvi támogatás. ports-ports-mgmt release=cvs A portok és csomagok karbantartását végzõ segédeszközök. ports-portuguese release=cvs Portugál nyelvi támogatás. ports-print release=cvs Nyomdai programok. ports-russian release=cvs Orosz nyelvi támogatás. ports-science release=cvs Tudományos programok. ports-security release=cvs Biztonsági segédprogramok. ports-shells release=cvs Parancsértelmezõk. ports-sysutils release=cvs Rendszerprogramok. ports-textproc release=cvs Szövegfeldolgozást segítõ eszközök (kivéve az asztali kiadványszerkesztést). ports-ukrainian release=cvs Ukrán nyelvi támogatás. ports-vietnamese release=cvs Vietnámi nyelvi támogatás. ports-www release=cvs A világhálóhoz tartozó szoftverek. ports-x11 release=cvs Az X Window System mûködését segítõ portok. ports-x11-clocks release=cvs X11 órák. ports-x11-drivers release=cvs X11 meghajtók. ports-x11-fm release=cvs X11 állománykezelõk. ports-x11-fonts release=cvs X11 betûtípusok és a hozzájuk tartozó segédprogramok. ports-x11-toolkits release=cvs X11 eszközrendszerek. ports-x11-servers release=cvs X11 szerverek. ports-x11-themes release=cvs X11 témák. ports-x11-wm release=cvs X11 ablakkezelõk. projects-all release=cvs A &os; projektek forrásainak repositoryja. src-all release=cvs A &os; fontosabb forrásai, a titkosításhoz tartozó kódokkal együtt. src-base release=cvs A /usr/src könyvtárban levõ egyéb állományok. src-bin release=cvs Az egyfelhasználós módban használható segédeszközök (/usr/src/bin). src-cddl release=cvs A CDDL licenc szerint terjesztett segédprogramok és függvénykönyvtárak (/usr/src/cddl). src-contrib release=cvs A &os; Projekten kívül fejlesztett segédprogramok és függvénykönyvtárak, viszonylag kevés módosítással (/usr/src/contrib). src-crypto release=cvs A &os; Projekten kívül fejlesztett, titkosítással kapcsolatos segédprogramok és függvénykönyvtárak, viszonylag kevés módosítással (/usr/src/crypto). src-eBones release=cvs Kerberos és DES (/usr/src/eBones). A &os; jelenlegi változatai nem használják. src-etc release=cvs A rendszer beállításait tartalmazó állományok (/usr/src/etc). src-games release=cvs Játékok (/usr/src/games). src-gnu release=cvs A GPL licenc szerint terjesztett segédprogramok (/usr/src/gnu). src-include release=cvs (C nyelvi) Header állományok (/usr/src/include). src-kerberos5 release=cvs A Kerberos5 biztonsági csomag (/usr/src/kerberos5). src-kerberosIV release=cvs A KerberosIV biztonsági csomag (/usr/src/kerberosIV). src-lib release=cvs Függvénykönyvtárak (/usr/src/lib). src-libexec release=cvs Más programok által futtatott rendszerprogramok (/usr/src/libexec). src-release release=cvs A &os; kiadások elkészítéséhez szükséges állományok (/usr/src/release). src-rescue release=cvs Statikusan linkelt programok vészhelyzet esetére, lásd &man.rescue.8; (/usr/src/rescue). src-sbin release=cvs Egyfelhasználós módban használható rendszereszközök (/usr/src/sbin). src-secure release=cvs Titkosítással foglalkozó függvénykönyvtárak és parancsok (/usr/src/secure). src-share release=cvs Több rendszer között megosztható állományok (/usr/src/share). src-sys release=cvs A rendszermag (/usr/src/sys). src-sys-crypto release=cvs A rendszermagban levõ titkosítással foglalkozó kód (/usr/src/sys/crypto). src-tools release=cvs A &os; karbantartására való különbözõ segédprogramok (/usr/src/tools). src-usrbin release=cvs Felhasználói segédprogramok (/usr/src/usr.bin). src-usrsbin release=cvs Rendszerszintû segédprogramok (/usr/src/usr.sbin). www release=cvs A &os; Projekt honlapjának forráskódja. distrib release=self A CVSup szerver saját konfigurációs állományai. A CVSup tükrözései használják. gnats release=current A GNATS hibanyilvántartó adatbázis. mail-archive release=current A &os; levelezési listáinak archívuma. www release=current A &os; Projekt honlapjának generált állományai (de nem a forrásai). A WWW tükrözések használják. Bõvebb információk A CVSup részletesebb bemutatását és a hozzá tartozó GYIK-ot A CVSup honlapján találjuk meg. A CVSup &os;-re vonatkozó tárgyalása a &a.hackers;n történik. Itt és az &a.announce;n jelentik be a szoftver újabb változatait. A CVSup alkalmazással kapcsolatos kérdéseket és hibajelentéseket illetõen a CVSup GYIK-ot érdemes megnéznünk. CVSup oldalak A &os; CVSup szerverei az alábbi oldalakon érhetõek el: &chap.mirrors.cvsup.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.cvsup.inc; CVS címkék Meg kell adnunk egy revízió címkéjét, amikor a cvs vagy CVSup használatával letöltjük vagy frissítjük a forrásokat. A revíziós címkék a &os; egyik fejlesztési irányát vagy egy adott idõpontbeli állapotát hivatkozzák. Az elõbbi egy ág címkéje, míg az utóbbi pedig egy kiadás címkéje. Az ágak címkéi A HEAD kivételével (amely mindig egy érvényes címke) az összes címke csak a src/ fára vonatkozik. A ports/, doc/ és www/ fák nem tartalmaznak ágakat. HEAD A fõ fejlesztési ág, avagy a &os;-CURRENT szimbolikus neve. Ha nem adunk meg revíziót, ez lesz az alapértelmezés. A CVSup számára ezt . címke jelzi (itt most nem mondatvégi pontot jelöli, hanem a . karaktert). A CVS számára ez lesz az alapértelmezett érték, ha nem adunk meg konkrét revíziós címkét. Többnyire nem túlzottan jó ötlet egy STABLE változatot használó gépen a CURRENT verziójú források kikérése, kivéve hacsak nem ez a szándékunk. RELENG_8 A &os;-8.X fejlesztési ága, más néven a &os; 8-STABLE RELENG_8_1 A &os;-8.1 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_8_0 A &os;-8.0 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_7 A &os;-7.X fejlesztési ága, más néven a &os; 7-STABLE RELENG_7_3 A &os;-7.3 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_7_2 A &os;-7.2 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_7_1 A &os;-7.1 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_7_0 A &os;-7.0 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6 A &os;-6.X fejlesztési ága, más néven a &os; 6-STABLE RELENG_6_4 A &os;-6.4 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_3 A &os;-6.3 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_2 A &os;-6.2 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_1 A &os;-6.1 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_0 A &os;-6.0 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5 A &os;-5.X fejlesztési ág, más néven a &os; 5-STABLE. RELENG_5_5 A &os;-5.5 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_4 A &os;-5.4 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_3 A &os;-5.3 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_2 A &os;-5.2 és &os;-5.2.1 kiadások ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_1 A &os;-5.1 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_0 A &os;-5.0 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4 A &os;-4.X fejlesztési ága, más néven a &os; 4-STABLE. RELENG_4_11 A &os;-4.11 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_10 A &os;-4.10 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_9 A &os;-4.9 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_8 A &os;-4.8 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_7 A &os;-4.7 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_6 A &os;-4.6 és &os;-4.6.2 kiadások ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_5 A &os;-4.5 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_4 A &os;-4.4 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_3 A &os;-4.3 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_3 A &os;-3.X fejlesztési ága, más néven a 3.X-STABLE. RELENG_2_2 A &os;-2.2.X fejlesztési ága, más néven a 2.2-STABLE. Ez az ág manapság már elavult. A kiadások címkéi Ezek a címkék a &os; egyes kiadásainak dátumára hivatkoznak. Egy kiadás elõkészítésének és terjesztésének folyamatáról részleteiben a kiadásokat összefoglaló lapról és a kiadások építésérõl szóló cikkbõl tájékozódhatunk. Az src fában RELENG_ kezdetû címkéket találunk. A ports és doc fákban a címkék nevei a RELEASE elõtaggal kezdõdnek. Végezetül a www fában nincsenek kiadásokhoz tartozó címkék. RELENG_8_1_0_RELEASE &os; 8.1 RELENG_8_0_0_RELEASE &os; 8.0 RELENG_7_3_0_RELEASE &os; 7.3 RELENG_7_2_0_RELEASE &os; 7.2 RELENG_7_1_0_RELEASE &os; 7.1 RELENG_7_0_0_RELEASE &os; 7.0 RELENG_6_4_0_RELEASE &os; 6.4 RELENG_6_3_0_RELEASE &os; 6.3 RELENG_6_2_0_RELEASE &os; 6.2 RELENG_6_1_0_RELEASE &os; 6.1 RELENG_6_0_0_RELEASE &os; 6.0 RELENG_5_5_0_RELEASE &os; 5.5 RELENG_5_4_0_RELEASE &os; 5.4 RELENG_4_11_0_RELEASE &os; 4.11 RELENG_5_3_0_RELEASE &os; 5.3 RELENG_4_10_0_RELEASE &os; 4.10 RELENG_5_2_1_RELEASE &os; 5.2.1 RELENG_5_2_0_RELEASE &os; 5.2 RELENG_4_9_0_RELEASE &os; 4.9 RELENG_5_1_0_RELEASE &os; 5.1 RELENG_4_8_0_RELEASE &os; 4.8 RELENG_5_0_0_RELEASE &os; 5.0 RELENG_4_7_0_RELEASE &os; 4.7 RELENG_4_6_2_RELEASE &os; 4.6.2 RELENG_4_6_1_RELEASE &os; 4.6.1 RELENG_4_6_0_RELEASE &os; 4.6 RELENG_4_5_0_RELEASE &os; 4.5 RELENG_4_4_0_RELEASE &os; 4.4 RELENG_4_3_0_RELEASE &os; 4.3 RELENG_4_2_0_RELEASE &os; 4.2 RELENG_4_1_1_RELEASE &os; 4.1.1 RELENG_4_1_0_RELEASE &os; 4.1 RELENG_4_0_0_RELEASE &os; 4.0 RELENG_3_5_0_RELEASE &os; 3.5 RELENG_3_4_0_RELEASE &os; 3.4 RELENG_3_3_0_RELEASE &os; 3.3 RELENG_3_2_0_RELEASE &os; 3.2 RELENG_3_1_0_RELEASE &os; 3.1 RELENG_3_0_0_RELEASE &os; 3.0 RELENG_2_2_8_RELEASE &os; 2.2.8 RELENG_2_2_7_RELEASE &os; 2.2.7 RELENG_2_2_6_RELEASE &os; 2.2.6 RELENG_2_2_5_RELEASE &os; 2.2.5 RELENG_2_2_2_RELEASE &os; 2.2.2 RELENG_2_2_1_RELEASE &os; 2.2.1 RELENG_2_2_0_RELEASE &os; 2.2.0 AFS oldalak A &os; a következõ szerverein érhetõ el AFS: Svédország Az állományok a következõ helyen érhetõek el: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Svédország 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Karbantartó: ftp@stacken.kth.se Rsync oldalak A most következõ oldalakon a &os;-t érhetjük el az rsync protokollal. Az rsync segédprogram mûködésében leginkább a &man.rcp.1; parancshoz hasonlít, de sokkal több beállítással rendelkezik, és az rsync távoli frissítéseket kezelõ protokollja segítségével csak az állományok csoportjai között levõ eltéréseket küldi át, amivel a hálózaton keresztüli szinkronizáció rendkívül felgyorsítható. Ez olyankor jelent számunkra a legtöbbet, ha a &os; FTP szerverének vagy CVS repositoryjának egyik tükrözését tartjuk karban. Az rsync több operációs rendszerre is elérhetõ, és &os;-n a net/rsync port vagy csomag tartalmazza. Cseh Köztársaság rsync://ftp.cz.FreeBSD.org/ Elérhetõ gyûjtemények: ftp: a &os; FTP szerverének részleges tükrözése. &os;: a &os; FTP szerverének teljes tükrözése. Hollandia rsync://ftp.nl.FreeBSD.org/ Elérhetõ gyûjtemények: &os;: a &os; FTP szerverének teljes tükrözése. Oroszország rsync://ftp.mtu.ru Elérhetõ gyûjtemények: &os;: A &os; FTP szerver teljes tartalma. &os;-gnats: A GNATS hibanyilvántartó adatbázis. &os;-Archive: A &os; archívumait tároló FTP szerver tükrözése. Tajvan rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ Elérhetõ gyûjtemények: &os;: a &os; FTP szerverének teljes tükrözése. Egyesült Királyság rsync://rsync.mirrorservice.org/ Elérhetõ gyûjtemények: sites/ftp.freebsd.org: a &os; FTP szerverének teljes tükrözése. Amerikai Egyesült Államok rsync://ftp-master.FreeBSD.org/ Ezt a szervert csak az elsõdleges &os; tükrözéseknek szabad használniuk. Elérhetõ gyûjtemények: &os;: a &os; FTP szerverének központi archívuma. acl: a &os; központi ACL listája. rsync://ftp13.FreeBSD.org/ Elérhetõ gyûjtemények: &os;: a &os; FTP szerver teljes tükrözése.
diff --git a/it_IT.ISO8859-15/books/handbook/mirrors/chapter.xml b/it_IT.ISO8859-15/books/handbook/mirrors/chapter.xml index 43b5ad6607..62f6d55c73 100644 --- a/it_IT.ISO8859-15/books/handbook/mirrors/chapter.xml +++ b/it_IT.ISO8859-15/books/handbook/mirrors/chapter.xml @@ -1,3221 +1,3221 @@ Ottenere FreeBSD Editori di CDROM e DVD Prodotti al Dettaglio Confezionati FreeBSD è disponibile in confezioni (i CD di FreeBSD, del software aggiuntivo, e la documentazione cartacea) presso svariati rivenditori:
CompUSA WWW:
Frys Electronics WWW:
Set di CD e DVD I set di CD e DVD di FreeBSD sono disponibili presso molti rivenditori on-line:
BSD Mall by Daemon News PO Box 161 Nauvoo, IL 62354 Stati Uniti d'America Telefono: +1 866 273-6255 Fax: +1 217 453-9956 Email: sales@bsdmall.com WWW:
BSD-Systems Email: info@bsd-systems.co.uk WWW:
FreeBSD Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 Stati Uniti d'America Telefono: +1 925 674-0783 Fax: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Hinner EDV St. Augustinus-Str. 10 D-81825 München Germania Telefono: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre Francia WWW:
JMC Software Irlanda Telefono: 353 1 6291282 WWW:
Linux CD Mall Private Bag MBE N348 Auckland 1030 Nuova Zelanda Telefono: +64 21 866529 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA Regno Unito Telefono: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Polonia Telefono: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Telefono: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Telefono: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Distributori Se sei un rivenditore e vuoi vendere i CDROM di FreeBSD, contatta uno dei distributori seguenti:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 Stati Uniti d'America Telefono: +1 650 694-4949 Fax: +1 650 694-4953 Email: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 Stati Uniti d'America Telefono: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 Stati Uniti d'America Telefono: +1 952 947-0822 Fax: +1 952 947-0876 Email: sales@kudzuenterprises.com
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Phone: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 Stati Uniti d'America Telefono: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
Siti FTP I sorgenti ufficiali di FreeBSD sono disponibili via FTP anonimo da una serie di siti mirror sparsi in tutto il mondo. Il sito è ben gestito e permette un gran numero di connessioni, ma ti conviene probabilmente trovare un sito mirror a te più vicino (soprattutto se decidi di configurare una sorta di sito mirror). Il database dei siti mirror di FreeBSD è più preciso della lista contenuta in questo manuale, poichè ottiene le informazioni direttamente dal DNS anziché affidarsi a una lista statica di host. Inoltre, FreeBSD è disponibile via FTP anonimo dai seguenti siti mirror. Se decidi di procurarti FreeBSD via FTP anonimo, usa per favore un sito a te vicino. I siti mirror elencati come Siti Mirror Primari hanno tipicamente l'intero archivio di FreeBSD (tutte le versioni oggi disponibili per ognuna delle architetture) ma probabilmente scaricherai più velocemente da un sito che è nel tuo stato o regione. I siti di ogni stato contengono le versioni più recenti per le architetture più popolari ma potrebbero non contenere l'intero archivio di FreeBSD. Tutti i siti permettono l'accesso tramite FTP anonimo e alcuni permettono l'accesso anche con altri metodi. I metodi di accesso disponibili per ogni sito sono elencati fra parentesi dopo il nome dell'host. &chap.mirrors.ftp.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.ftp.inc; CVS Anonimo - - <anchor id="anoncvs-intro"/>Introduzione + + Introduzione CVS anonymous Il CVS Anonimo (anche conosciuto come anoncvs) è una caratteristica del programma di utilità CVS contenuto in FreeBSD che serve per sincronizzarsi con un deposito CVS remoto (in gergo repository CVS). Tra le altre cose, permette agli utenti di FreeBSD di realizzare, senza avere particolari permessi, operazioni CVS in sola lettura su uno dei server anoncvs ufficiali del progetto FreeBSD. Per utilizzarlo è sufficiente impostare la variabile di ambiente CVSROOT facendola puntare al server anoncvs appropriato, immettere la password anoncvs con il comando cvs login, e poi usare il comando &man.cvs.1; per accederci come se fosse un deposito locale. Il comando cvs login memorizza le password utilizzate per l'autenticazione con il server CVS in un file chiamato .cvspass nella tua directory HOME. Se questo file non esiste, potresti ricevere un errore alla prima esecuzione di cvs login. Crea un file .cvspass vuoto e riprova il login. Benché si possa dire che i servizi CVSup e anoncvs realizzino sostanzialmente le stesse funzioni, ci sono vari particolari che possono influenzare la scelta di un metodo di sincronizzazione piuttosto dell'altro. Per dirla in breve, CVSup è più efficiente nell'uso delle risorse di rete ed è il più avanzato tecnicamente tra i due, ma tutto questo ha un prezzo. Per usare CVSup, bisogna installare e configurare un client speciale prima di poter scaricare qualcosa, e si può scaricare solo blocchi piuttosto grossi che CVSup chiama collezioni. Anoncvs, al contrario, può essere usato per esaminare qualunque cosa a partire da un singolo file fino a uno specifico programma (come ls o grep) specificando il nome del modulo CVS. Ovviamente, anoncvs è adatto solo per operazioni di sola lettura sul deposito CVS, quindi se hai intenzione di supportare lo sviluppo locale in uno dei depositi condivisi del progetto FreeBSD allora CVSup è in realtà l'unica opzione. - - <anchor id="anoncvs-usage"/>Uso del CVS Anonimo + + Uso del CVS Anonimo La configurazione di &man.cvs.1; per usare un deposito CVS Anonimo è semplicemente una questione di impostare la variabile di ambiente CVSROOT affinché punti a uno dei server anoncvs del progetto FreeBSD. Al momento della stesura di questo testo sono disponibili i seguenti server: Austria: :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs (Usa cvs login ed inserisci qualunque password quando richiesta.) Francia: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (password anoncvs), ssh (nessuna password)) Germania: :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (Usa cvs login ed inserisci la password anoncvs quando richiesta.) Germania: :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022) Giappone: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (Usa cvs login ed inserisci la password anoncvs quando richiesta.) USA: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (solo ssh - nessuna password) SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub USA: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (solo ssh - nessuna password) SSH HostKey: 1024 8b:c4:6f:9a:7e:65:8a:eb:50:50:29:7c:a1:47:03:bc root@ender.liquidneon.com SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pub Dato che CVS permette di estrarre (nel suo gergo: check out) qualsiasi versione dei sorgenti di FreeBSD che sia mai esistita (o, in alcuni casi, che esisterà), è bene familiarizzare con il parametro revisione () di &man.cvs.1; e sapere quali valori può assumere nel deposito del progetto FreeBSD. Ci sono due tipi di tag, i tag di revisione e i tag di ramo. Un tag di revisione fa riferimento ad una revisione specifica. Il suo significato rimane lo stesso di giorno in giorno. Un tag di ramo, d'altro canto, si riferisce sempre all'ultima revisione relativa a una specifica linea di sviluppo. Dato che un tag di ramo non si riferisce ad una revisione specifica, esso potrebbe avere un significato diverso da un giorno con l'altro. La contiene i tag di revisione che possono essere interessanti per gli utenti. Tuttavia, nessuno di questi tag è valido per la collezione dei port poichè questa non ha revisioni multiple. Quando specifichi un tag di ramo, normalmente ricevi l'ultima versione dei file relativa a quella linea di sviluppo. Se vuoi ricevere una versione precedente, puoi farlo specificando la data con il parametro . Si rimanda alla pagina man di &man.cvs.1; per ulteriori dettagli. Esempi Benché sia consigliata un'attenta lettura della pagina man di &man.cvs.1; prima di fare qualsiasi cosa, seguono alcuni veloci esempi che spiegano in modo essenziale l'uso del CVS Anonimo: Estrazione di Qualcosa dalla -CURRENT (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login Alla richiesta, inserire la password anoncvs. &prompt.user; cvs co ls Utilizzo di SSH per estrarre il ramo <filename>src/</filename>: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. Estrazione della Versione di &man.ls.1; dal Ramo 6-STABLE: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login Alla richiesta, inserire la password anoncvs. &prompt.user; cvs co -rRELENG_6 ls Creazione di una Lista di Cambiamenti (come Diff Unificate) di &man.ls.1; &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login Alla richiesta, inserire la password anoncvs. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls Scoperta di Quali Altri Nomi di Moduli Possono Essere Usati &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login Alla richiesta, inserire la password anoncvs. &prompt.user; cvs co modules &prompt.user; more modules/modules Altre Risorse Le seguenti risorse addizionali possono essere utili nell'apprendimento del CVS: CVS Tutorial dal Cal Poly. CVS Home, la comunità di sviluppo e supporto del CVS. CVSWeb è l'interfaccia web di CVS relativa al progetto FreeBSD. Uso di CTM CTM CTM è un metodo per mantenere sincronizzati un albero di directory remoto e uno centralizzato. È stato sviluppato per l'albero dei sorgenti di FreeBSD, anche se con il passare del tempo, altre persone lo hanno trovano utile per altri scopi. A tutt'oggi esiste pochissima documentazione sul processo della creazione delle delta, quindi contattate la mailing list &a.ctm-users.name; per avere più informazioni e nel caso voleste usare CTM per altri scopi. Perché Dovrei Usare <application>CTM</application>? CTM fornisce una copia locale dell'albero dei sorgenti di FreeBSD. Ci sono molte varietà di alberi disponibili. Che tu voglia seguire l'intero albero CVS o solo uno dei rami, CTM può fornirti i dati che ti servono. Se sei uno sviluppatore attivo di FreeBSD, ma hai una connettività TCP/IP di bassa qualità o non esistente, o semplicemente desideri ricevere le modifiche in modo automatico, CTM fa al caso tuo. Riceverai fino a tre delta giornaliere per i rami più attivi. Tuttavia, puoi considerare che li puoi avere attraverso l'invio automatico di email. Le dimensioni degli aggiornamenti sono sempre più piccole possibile. Questi sono in genere meno di 5K, con occasionali (uno su dieci) aggiornamenti da 10-50K e qualcuno più grande (100K o più) di tanto in tanto. Devi anche essere cosciente delle varie insidie relativi all'uso di sorgenti in via di sviluppo e non provenienti da release pronte. Questo è vero in particolare per i sorgenti current (correnti). È raccomandata la lettura di Restare in current con FreeBSD. Cosa Serve per l'Uso di <application>CTM</application>? Ti servono due cose: il programma CTM, e le delta iniziali da dargli in pasto (per arrivare ai livelli della current). Il programma CTM fa parte di FreeBSD fin dalla release della versione 2.0 e, se hai una copia dei sorgenti disponibile, risiede in /usr/src/usr.sbin/ctm. Le delta da dare in pasto a CTM si possono avere in due modi: tramite FTP o email. Se puoi utilizzare FTP via Internet allora i seguenti siti supportano l'accesso a CTM: vedi anche la sezione mirror. Entra via FTP nella directory giusta e, da lì, inizia col trasferire il file README. Se invece desideri ricevere le delta per email: Iscriviti ad una delle liste di distribuzione di CTM. &a.ctm-cvs-cur.name; supporta l'interno albero CVS. &a.ctm-src-cur.name; supporta il ramo di sviluppo current. &a.ctm-src-4.name; supporta il ramo della release 4.X, ecc. (Se non sai come iscriverti a una lista, clicca sul nome della lista o raggiungi la pagina &a.mailman.lists.link; e clicca sulla lista a cui ti vuoi iscrivere. La pagina della lista dovrebbe contenere tutte le informazioni necessarie per l'iscrizione.) Quando inizierai a ricevere gli aggiornamenti CTM via email, puoi usare il programma ctm_rmail per scompattarli e per applicarli. In realtà, se vuoi avere un processo completamente automatizzato, puoi usare il programma ctm_rmail direttamente in un elemento di /etc/aliases. Esamina la pagina man di ctm_rmail per maggiori dettagli. Indipendentemente dal metodo che utilizzi per ricevere le delta di CTM, dovresti iscriverti alla mailing list &a.ctm-announce.name;. In futuro, questo sarà l'unico posto dove saranno postati gli annunci riguardanti il funzionamento del sistema CTM. Clicca sul nome della lista e segui le istruzioni per iscriverti. Uso di <application>CTM</application> per la Prima Volta Prima che tu possa servirti delle delta di CTM, hai bisogno di un punto di partenza dal quale successivamente costruire le delta. Innanzitutto dovresti determinare ciò che hai. Si può iniziare da un directory vuota. Devi usare una delta iniziale Empty per iniziare il tuo albero CTM. Qualche volta può succedere che una di queste delta iniziali sia distribuita su un CD per tua convenienza, ma comunque, questo generalmente non avviene. Poichè gli alberi sono molte decine di megabyte, puoi iniziare da qualcosa che hai a portata di mano. Se hai un CD di una release, puoi copiare o estrarre i sorgenti da lì. Questo salverà un significativo trasferimento di dati. Puoi riconoscere queste delta iniziali dalla lettera X preceduta da un numero (per esempio src-cur.3210XEmpty.gz). Il nome che segue la lettera X corrisponde all'origine del tuo seme iniziale. Empty è una directory vuota. Di solito una transizione base a partire da Empty è prodotta ogni 100 delta. Strada facendo, queste avranno grandi dimensioni! Le dimensioni comuni per le delta XEmpty vanno dai 70 a 80 Megabyte di dati compressi con gzip. Una volta che ti sei procurato una delta base come punto di partenza, avrai bisogno anche di tutte le delta successive aventi un numero maggiore. Uso di <application>CTM</application> nella Tua Vita Quotidiana Per applicare le delta, fai come segue: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* CTM decifra le delta compresse tramite il comando gzip, quindi non hai bisogno di decomprimerle con gunzip, e ciò salva spazio su disco. Tranne in alcune circostanze, CTM non toccherà il tuo albero. Per verificare una delta puoi usare l'opzione e di fatto CTM non toccherà il tuo albero; verificherà soltanto l'integrità della delta e se questa può essere applicata in modo pulito al tuo albero attuale. Ci sono altre opzioni di CTM, guarda la pagina man o ispeziona i sorgenti per maggiori dettagli. Questo è davvero tutto ciò che devi sapere. Ogni volta che ottieni una delta, esegui CTM per aggiornare i tuoi sorgenti. È meglio non rimuovere le delta che richiedono grandi tempi di scaricamento. Nel caso succeda qualche disgrazia non dovrai riscaricarle. Anche se hai solo dischetti floppy, considera l'uso di fdwrite per crearne una copia. Mantenimento delle Tue Modifiche Locali Allo stesso modo di uno sviluppatore potresti voler sperimentare delle modifiche nell'albero dei sorgenti. CTM supporta le modifiche locali in modo limitato: prima di verificare la presenza di un file foo, esso cerca foo.ctm. Se questo file esiste, CTM opererà su di esso piuttosto che su foo. Questo comportamento offre un semplice modo per mantenere le modifiche locali: copia semplicemente il file che desideri modificare in un file con lo stesso nome e suffisso .ctm. Quindi puoi liberamente hackerare il codice, e CTM manterrà aggiornato il file .ctm. Altre Opzioni Interessanti di <application>CTM</application> Scoprire con Precisione Ciò che Dovrebbe Essere Aggiornato Puoi determinare la lista delle modifiche che CTM apporterà ai tuoi sorgenti usando l'opzione di CTM. Questo è utile se vuoi mantenere dei log delle modifiche, prima o dopo aver modificato in qualche modo i file, o solo perchè ti senti un pò paranoico. Creare dei Backup Prima di Aggiornare Qualche volta potresti voler creare dei backup di tutti i file che saranno modificati da un aggiornamento di CTM. Specificando l'opzione , CTM effettuerà il backup di tutti i file che saranno modificati da una certa delta CTM nel file backup-file. Limitare i File che Devono Essere Aggiornati Qualche volta potresti volere restringere la portata di un certo aggiornamento CTM, o potresti essere interessato ad estrarre solo pochi file da una serie di delta. Puoi controllare la lista dei file sui quali CTM opererà specificando un'espressione regolare usando le opzioni e . Per esempio, per estrarre una copia aggiornata del file lib/libc/Makefile dalla tua collezione di delta CTM, esegui i comandi seguenti: &prompt.root; cd /dove/vuoi/estrarre/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* Per ogni file specificato in una delta CTM, le opzioni e sono applicate nello stesso ordine in cui compaiono sulla riga di comando. Il file è processato da CTM solo se risulta idoneo a tutte le opzioni e ad esso applicate. Piani Futuri per <application>CTM</application> I più importanti: Usare qualche tipo di autenticazione nel sistema CTM, in modo tale da permette l'identificazione di aggiornamenti CTM contraffatti. Ripulire le opzioni di CTM, che confondono e sono tutt'altro che intuitive. Materiale Vario Esiste una serie di delta per la collezione dei ports, ma è ancora di poco interesse. Mirror CTM CTM/FreeBSD è disponibile via FTP anonimo dai siti mirror seguenti. Se decidi di procurarti CTM via FTP anonimo, per favore usa un sito a te vicino. In caso di problemi, contatta la mailing list &a.ctm-users.name;. California, Bay Area, sorgenti ufficiali Sudafrica, server di backup per vecchie delta Taiwan/R.O.C. Se non trovi un mirror a te vicino o se il mirror è incompleto, prova ad usare qualche motore di ricerca come alltheweb. Uso di CVSup Introduzione CVSup è un pacchetto di software per distribuire ed aggiornare alberi di sorgenti da un deposito centrale CVS posto su un server remoto. I sorgenti di FreeBSD sono mantenuti in un deposito CVS su una macchina centrale di sviluppo situata in California. Con CVSup, gli utenti di FreeBSD possono facilmente mantenere aggiornati i loro alberi di sorgenti. CVSup usa il cosiddetto modello ad estrazione per aggiornare. In questo modello, è compito del client chiedere al server gli aggiornamenti. Il server attente passivamente le richieste di aggiornamento dai suoi client. In questo modo tutti gli aggiornamenti sono incitati dal client. Il server non invia mai degli aggiornamenti che non sono stati richiesti. Gli utenti devono eseguire il client CVSup manualmente per ottenere un aggiornamento, oppure possono usare cron per eseguire automaticamente queste operazioni secondo stabilite regole. Il termine CVSup, scritto in quel modo, si riferisce all'intero pacchetto di software. I suoi componenti principali sono il client cvsup che viene eseguito su ogni macchina degli utenti, e il server cvsupd che viene eseguito su ogni sito mirror di FreeBSD. Leggendo la documentazione di FreeBSD e le mailling list, potresti notare dei riferimenti a sup. Sup è il predecessore di CVSup, e serviva per un simile scopo. CVSup sostanzialmente è usato allo stesso modo di sup e, di fatto, i suoi file di configurazione sono compatibili con sup. Sup non viene più utilizzato nel progetto FreeBSD, poichè CVSup è più veloce e più flessibile. Installazione Il modo più semplice per installare CVSup è usare il package precompilato net/cvsup della collezione dei package di FreeBSD. Se preferisci costruire CVSup partendo dal sorgente, allora puoi usare il port net/cvsup. Ma sei avvisato: il port net/cvsup dipende dal sistema Modula-3, che richiede una consistente quantità di tempo e di spazio su disco per scaricarlo e costruirlo. Se hai intenzione di usare CVSup su una macchina sulla quale non sarà installato &xfree86; o &xorg;, come su un server, assicurati di usare il port che non include la GUI di CVSup, ossia net/cvsup-without-gui. Configurazione di CVSup Il funzionamento di CVSup è controllato da un file di configurazione chiamato supfile. Esistono alcuni esempi di supfile nella directory /usr/share/examples/cvsup/. Le informazioni contenute in un supfile rispondono alle seguenti questioni relative a CVSup: Quali file vuoi ricevere? Quali versioni dei file vuoi? Da dove li vuoi prelevare? Dove li vuoi mettere sulla tua macchina? Dove vuoi memorizzare gli stati dei file? Nelle seguenti sezioni, costruiremo un tipico supfile per rispondere a turno ad ognuna di queste questioni. Incominciamo però col descrivere la struttura globale di un supfile. Un supfile è un file di testo. I commenti iniziano con un # e si estendono fino alle fine della riga. Le righe bianche e le righe che contengono solo commenti sono ignorate. Ogni altra riga descrive un insieme di file che l'utente vuole ricevere. Una riga inizia con il nome di una collezione, un nome di un gruppo logico di file definiti dal server. Il nome della collezione indica al server i file che vuoi ricevere. Dopo il nome della collezione seguono zero o più campi, separati da spazi bianchi. Questi campi rispondono alle questioni citate in precedenza. Ci sono due tipi di campi: campo opzione e campo valore. Un campo opzione consiste di una parola chiave a se stante, es. delete o compress. Anche un campo valore inizia con una parola chiave, ma questa è seguita dal simbolo =, senza spazi bianchi intermedi, e da un seconda parola. Ad esempio, release=cvs è un campo valore. Un supfile tipicamente specifica più di un'unica collezione da ricevere. Un modo di strutturare un supfile è specificare esplicitamente tutti i campi rilevanti per ogni collezione. Tuttavia, ciò tende a creare supfile troppo lunghi, e ciò è scomodo poichè in un supfile la maggior parte dei campi sono gli stessi per tutte le collezioni. CVSup fornisce un meccanismo per aggirare questi problemi. Le linee che iniziano con il nome speciale di pseudo-collezione *default possono essere usate per inizializzare opzioni e valori che saranno utilizzati come default per le successive collezioni definite nel supfile. Un valore di default può essere sovrascritto da una singola collezione, specificando un valore diverso per la collezione stessa. Inoltre i valori di default possono essere modificati in mezzo al supfile tramite linee *default aggiuntive. Con queste conoscenze, possiamo ora procedere alla costruzione di un supfile per ricevere ed aggiornare l'albero dei sorgenti della FreeBSD-CURRENT. Quali file vuoi ricevere? I file disponibili via CVSup sono organizzati in gruppi chiamati collezioni. Le collezioni che sono disponibili sono descritte nella prossima sezione. In questo esempio, desideriamo ricevere per intero l'albero corrente dei sorgenti del sistema FreeBSD. C'è un'unica e vasta collezione src-all che ci permette di ricevere tutto ciò. Come prima fase nella costruzione del nostro supfile, dobbiamo semplicemente elencare le collezioni, una per riga (in questo caso, c'è un'unica riga): src-all Quali versioni dei file vuoi? Con CVSup, hai la possibilità di ricevere qualsiasi versione dei sorgenti che sia mai esistita. Questo è possibile poichè il server cvsupd lavora direttamente sul deposito CVS, che contiene tutte le versioni. Puoi specificare la versione che vuoi usando i campi valori tag= e . Stai molto attento a specificare i campi tag= in modo corretto. Alcuni tag sono validi solo per certe collezioni di file. Se specifichi un tag non corretto, CVSup cancellerà file che tu non vorresti eliminare. In particolare, usa solamente tag=. per le collezioni ports-*. Il campo tag= richiama un tag simbolico nel deposito. Ci sono due tipi di tag, i tag di revisione e i tag di ramo. Un tag di revisione fa riferimento ad una revisione specifica. Il suo significato rimane lo stesso di giorno in giorno. Un tag di ramo, d'altro canto, si riferisce sempre all'ultima revisione relativa ad una specifica linea di sviluppo. Dato che un tag di ramo non si riferisce ad una revisione specifica, esso potrebbe avere un significato diverso da un giorno con l'altro. La contiene tag di ramo che potrebbero interessare gli utenti. Quando si specifica un tag in un file di configurazione di CVSup, esso dovrebbe essere preceduto da tag= (RELENG_4 diviene tag=RELENG_4). Tieni presente che per la collezione dei port è rilevante solo tag=.. Sii molto attento a digitare il nome del tag nel modo esatto. CVSup non è in grado di riconoscere tag errati. Se digiti in modo sbagliato un tag, CVSup si comporterà come se tu avessi specificato un tag valido che non riguarda nessun file. In questo caso i tuoi sorgenti saranno eliminati. Quando specifichi un tag di ramo, normalmente ricevi le ultime versioni dei file di quella linea di sviluppo. Se vuoi ricevere versioni precedenti, puoi specificare una data con il campo valore . La pagina man di &man.cvsup.1; spiega come farlo. Nel nostro esempio, desideriamo ricevere FreeBSD-CURRENT. Aggiungiamo questa riga all'inizio del nostro supfile: *default tag=. C'è un importante caso speciale che entra in gioco se non specifichi ne un campo tag= ne un campo date=. In questo caso, ricevi i file RCS attuali direttamente dal deposito CVS del server, invece di ricevere una versione particolare. Gli sviluppatori in genere preferiscono questa modalità di funzionamento. Mantenendo una copia del deposito stesso sui loro sistemi, essi sono in grado di navigare attraverso la storia delle revisioni e di esaminare le versioni precedenti dei file. Comunque questo vantaggio è realizzabile al costo di un ingente quantità di spazio su disco. Da dove li vuoi prelevare? Il campo host= indica a cvsup da dove prelevare i suoi aggiornamenti. Va bene uno qualunque dei siti mirror di CVSup, anche se dovresti provare a selezionarne uno che sia a te vicino nel ciberspazio. In questo esempio useremo un sito di distribuzione di FreeBSD fittizio, cvsup99.FreeBSD.org: *default host=cvsup99.FreeBSD.org Devi cambiare l'host in uno che esiste realmente prima di eseguire CVSup. Il settaggio dell'host può essere sovrascritto su riga di comando eseguendo cvsup con l'opzione . Dove li vuoi mettere sulla tua macchina? Il campo prefix= indica a cvsup dove mettere i file che riceve. In questo esempio, metteremo i file sorgenti direttamente nel nostro albero dei sorgenti, /usr/src. La directory src è già implicita nelle collezioni che vogliamo ricevere, quindi la corretta specifica è questa: *default prefix=/usr Dove cvsup dovrebbe mantenere i suoi file di stato? Il client di CVSup mantiene certi file di stato in ciò che è chiamata directory base. Questi file aiutano CVSup a lavorare in modo più efficace, mantenendo traccia di quali aggiornamenti sono stati già ricevuti. Useremo la directory base standard, /var/db: *default base=/var/db Se la tua directory base non esiste, potrebbe essere una buona idea crearla subito. Il client cvsup interrompe l'esecuzione se la tua directory base non esiste. Settaggi vari di supfile: C'è un altro settaggio che normalmente deve essere presente in un supfile: *default release=cvs delete use-rel-suffix compress release=cvs indica che il server dovrebbe prendere le sue informazioni dal deposito CVS principale di FreeBSD. In genere questa è la normalità, ma esistono altre possibilità che vanno oltre lo scopo di questa sezione. delete dà a CVSup il permesso di cancellare file. Dovresti sempre specificare questa opzione, in modo che CVSup possa mantenere il tuo albero dei sorgenti del tutto aggiornato. CVSup è attento nel cancellare solamente quei file dei quali è responsabile. Altri file extra verranno lasciati intatti. use-rel-suffix è ... arcano. Se vuoi realmente saperne di più, guarda la pagina man di &man.cvsup.1;. Altrimenti, specificala senza preoccupartene troppo. compress abilita l'uso di una compressione stile gzip sul canale di comunicazione. Se hai una connessione T1 o più veloce, non dovresti usare la compressione. Diversamente, può essere veramente d'aiuto. Ricapitolazione di tutti settaggi: Il supfile completo per il nostro esempio è il seguente: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all Il File <filename>refuse</filename> Come menzionato in precedenza, CVSup usa un modello ad estrazione. Sostanzialmente, questo significa che ti connetti al server CVSup, lui dice, Ecco ciò che puoi scaricare ..., ed il tuo client risponde OK, prenderò questo, questo, questo e questo. Nella configurazione di default, il client CVSup prenderà ogni file associato alla collezione e al tag che hai specificato nel file di configurazione. Tuttavia, questo non è sempre ciò che vuoi, specialmente se stai sincronizzando gli alberi doc, ports, o www — molte persone non sono in grado di leggere quattro o cinque lingue, e quindi esse non hanno bisogno di scaricare i file di certe lingue. Se stai sincronizzando con CVSup la collezione dei port, puoi specificare collezioni individuali (es., ports-astrology, ports-biology, ecc. invece di specificare semplicemente ports-all). Tuttavia, poichè gli alberi doc e www non hanno collezioni per specifiche lingue, devi usare una delle molte abili caratteristiche di CVSup: il file refuse. Il file refuse sostanzialmente indica a CVSup che non dovrebbe prendere ogni singolo file da una collezione; in altre parole, esso dice al client di rifiutare certi file dal server. Il file refuse può essere trovato (o, se non ne hai ancora uno, dovrebbe essere messo) in base/sup/. base è definita nel tuo supfile; la nostra base è /var/db, e quindi di default il file refuse è /var/db/sup/refuse. Il file refuse ha veramente un formato molto semplice; esso contiene semplicemente i nomi dei file o delle directory che non desideri scaricare. Per esempio, se non parli altre lingue oltre all'inglese e al tedesco, e non hai la necessità di leggere la traduzione in tedesco della documentazione, puoi mettere le seguenti righe nel tuo file refuse: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* e così via per altre lingue (puoi ottenere la lista completa esplorando il deposito CVS di FreeBSD). Con questa utile funzionalità, quegli utenti che hanno una connessione lenta o pagano ogni minuto di connessione Internet potranno risparmiare tempo prezioso poichè non dovranno più scaricare file che non usano mai. Per maggiori dettagli sul file refuse e su altre utili caratteristiche di CVSup, guarda la sua pagina man. Eseguire <application>CVSup</application> Sei ora pronto per provare un aggiornamento. La riga di comando per farlo è molto semplice: &prompt.root; cvsup supfile dove supfile è naturalmente il nome del supfile che hai creato. Assumendo che stai lavorando sotto X11, cvsup visualizzarà una GUI con alcuni bottoni adibiti ad operazioni usuali. Premi il bottone go, e stai a guardare l'esecuzione. Poichè in questo esempio stai aggiornando il tuo albero dei sorgenti /usr/src, avrai bisogno di eseguire il programma come root affinchè cvsup abbia i permessi necessari per aggiornare i tuoi file. Avendo appena creato il tuo file di configurazione, e non avendo mai usato questo programma prima ad ora, tutto ciò potrebbe renderti un pò nervoso. Esiste un semplice modo per provare la sincronizzazione senza toccare i tuoi preziosi file. Crea una directory vuota in qualche posto, e richiamala come argomento sulla riga di comando: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest La directory che hai specificato sarà usata come directory di destinazione per tutti gli aggiornamenti dei file. CVSup esaminerà i tuoi file usuali in /usr/src, ma non modificherà o cencellerà alcuno di essi. Gli aggiornamenti dei file finiranno invece in /var/tmp/dest/usr/src. Inoltre CVSup lascerà intatta la sua directory base contenente gli stati dei file quando viene eseguito in questo modo. Le nuove versioni di questi file saranno scritte nella directory specificata. A condizione che tu abbia l'accesso di lettura in /usr/src, non hai bisogno di essere root per realizzare questo tipo di giro di prova. Se non stai utilizzando X11 o se non ti piacciono le GUI, dovresti aggiungere un paio di opzioni alla riga di comando quando esegui cvsup: &prompt.root; cvsup -g -L 2 supfile L'opzione indica a CVSup di non usare la sua GUI. Ciò è automatico se non stai utilizzando X11, ma se lo stai facendo allora la devi specificare. L'opzione indica a CVSup di visualizzare i dettagli di tutti gli aggiornamenti dei file che avvengono. Esistono tre livelli di verbosità, da a . Il default è 0, che significa silenzio totale eccetto per i messaggi di errore. Ci sono molte altre opzione disponibili. Per una breve lista di esse, digita cvsup -H. Per una descrizione più dettagliata, guarda la relativa pagina man. Una volta che sei soddisfatto di come avvengono gli aggiornamenti, puoi organizzare esecuzioni regolari di CVSup usando &man.cron.8;. Ovviamente, non dovresti lasciare che CVSup usi la sua GUI quando lo esegui tramite &man.cron.8;. Collezioni di File di <application>CVSup</application> Le collezioni di file disponibili via CVSup sono organizzate gerarchicamente. Ci sono poche collezioni grandi, le quali sono divise in piccole sotto-collezioni. Ricevere una grande collezione è equivalente a ricevere ogni sua sotto-collezione. Le relazioni gerarchiche tra le collezioni riflettono l'uso dell'identazione nella lista qui sotto. Le collezioni maggiormente usate sono src-all, e ports-all. Le altre collezioni sono usate solo da piccoli gruppi di persone per scopi speciali, e alcuni siti mirror potrebbero non contenerle tutte. cvs-all release=cvs Il deposito CVS maestro di FreeBSD, incluso il codice di crittografia. distrib release=cvs File relativi alla distribuzione e al mirroring di FreeBSD. doc-all release=cvs Sorgenti del Manuale di FreeBSD e altra documentazione. Questa collezione non include i file per il sito web di FreeBSD. ports-all release=cvs La FreeBSD Ports Collection. Se non vuoi aggiornare per intero ports-all (l'interno albero dei port), ma usare una delle sotto-collezioni listate qui sotto, assicurati di aggiornare sempre la sotto-collezione ports-base! Ogni volta che qualcosa cambia nell'infrastruttura della costruzione dei port rappresentata da ports-base, è praticamente certo che quei cambiamenti saranno usati dai port reali in un brevissimo arco di tempo. Quindi, se aggiorni solo i port reali e questi usano alcune delle nuove caratteristiche, c'è un'alta probabilità che la loro costruzione fallirà con alcuni misteriosi messaggi di errore. La primissima cosa da fare in questi casi è assicurarsi che la propria sotto-collezione ports-base sia aggiornata. Se hai intenzione di creare localmente una copia di ports/INDEX, devi includere ports-all (l'intero albero dei port). Costruire ports/INDEX con un albero non completo non è supportato. Consulta la FAQ. ports-accessibility release=cvs Software per aiutare gli utenti disabili. ports-arabic release=cvs Supporto per la lingua araba. ports-archivers release=cvs Applicazioni per l'archiviazione. ports-astro release=cvs Applicazioni riguardanti l'astronomia. ports-audio release=cvs Applicazioni di supporto all'audio. ports-base release=cvs L'infrastruttura della costruzione della collezione dei port - vari file posti nelle sottodirectory Mk/ e Tools/ della directory /usr/ports. Per favore vedi l'importante avvertimento qui sopra: dovresti sempre aggiornare questa sotto-collezione ogni volta che aggiorni qualche pezzo della FreeBSD Ports Collection! ports-benchmarks release=cvs Benchmark (applicazioni per valutare le prestazioni del computer). ports-biology release=cvs Biologia. ports-cad release=cvs Applicazioni per la grafica computerizzata. ports-chinese release=cvs Supporto alla lingua cinese. ports-comms release=cvs Software per la comunicazione. ports-converters release=cvs Convertitori di codici di caratteri. ports-databases release=cvs Database. ports-deskutils release=cvs Cose che erano utilizzate sulla scrivania prima che i computer furono inventati. ports-devel release=cvs Utility per il development. ports-dns release=cvs Software relativo al DNS. ports-editors release=cvs Editor. ports-emulators release=cvs Emulatori per altri sistemi operativi. ports-finance release=cvs Applicazioni finanziarie, di gestione delle spese e simili. ports-ftp release=cvs Server e client FTP. ports-games release=cvs Giochi. ports-german release=cvs Supporto alla lingua tedesca. ports-graphics release=cvs Utilità per la grafica. ports-hebrew release=cvs Supporto per la lingua ebraica. ports-hungarian release=cvs Supporto alla lingua ungherese. ports-irc release=cvs Utilità IRC (Internet Relay Chat). ports-japanese release=cvs Supporto alla lingua giapponese. ports-java release=cvs Utility &java;. ports-korean release=cvs Supporto alla lingua coreana. ports-lang release=cvs Linguaggi di programmazione. ports-mail release=cvs Software di posta. ports-math release=cvs Software per la computazione numerica. ports-mbone release=cvs Applicazioni MBone. ports-misc release=cvs Utility varie. ports-multimedia release=cvs Software multimediale. ports-net release=cvs Software di rete. ports-net-im release=cvs Software per messaggeria istantanea. ports-net-mgmt release=cvs Software di gestione del network. ports-net-p2p release=cvs Rete peer to peer. ports-news release=cvs Software per USENET. ports-palm release=cvs Software di supporto per i vari Palm. ports-polish release=cvs Supporto alla lingua polacca. ports-portuguese release=cvs Supporto alla lingua portoghese. ports-print release=cvs Software per la stampa. ports-russian release=cvs Supporto alla lingua russa. ports-science release=cvs Scienzia. ports-security release=cvs Utility per la sicurezza. ports-shells release=cvs Shell a riga di comando. ports-sysutils release=cvs Utility di sistema. ports-textproc release=cvs Utility per la manipolazione del testo (non include utility per la pubblicazione computerizzata). ports-ukrainian release=cvs Supporto per la lingua ucraina. ports-vietnamese release=cvs Supporto alla lingua vietnamite. ports-www release=cvs Software relativo al World Wide Web. ports-x11 release=cvs Port per il supporto al sistema a finestre X. ports-x11-clocks release=cvs Orologi per X11. ports-x11-fm release=cvs Gestori di file per X11. ports-x11-fonts release=cvs Font per X11 e relative utility. ports-x11-toolkits release=cvs Cassette degli attrezzi per X11. ports-x11-servers release=cvs Server X11. ports-x11-themes release=cvs Temi per X11. ports-x11-wm release=cvs Gestori di finestre per X11. projects-all release=cvs Sorgenti per i progetti di FreeBSD. src-all release=cvs I sorgenti correnti di FreeBSD, incluso il codice di crittografia. src-base release=cvs Vari file posti in /usr/src. src-bin release=cvs Utility per l'utente in ambiente mono-utente (/usr/src/bin). src-contrib release=cvs Utility e librerie al di fuori del progetto FreeBSD, sostanzialmente utilizzati senza modifiche (/usr/src/contrib). src-crypto release=cvs Utility e librerie per la crittografia al di fuori del progetto FreeBSD, sostanzialmente utilizzati senza modifiche (/usr/src/crypto). src-eBones release=cvs Kerberos e DES (/usr/src/eBones). Non usati nell'attuale release di FreeBSD. src-etc release=cvs File di configurazione del sistema (/usr/src/etc). src-games release=cvs Giochi (/usr/src/games). src-gnu release=cvs Utility protette dalla licenza pubblica di GNU (/usr/src/gnu). src-include release=cvs File header (/usr/src/include). src-kerberos5 release=cvs Pacchetto di sicurezza Kerberos5 (/usr/src/kerberos5). src-kerberosIV release=cvs Pacchetto di sicurezza KerberosIV (/usr/src/kerberosIV). src-lib release=cvs Librerie (/usr/src/lib). src-libexec release=cvs Programmi di sistema normalmente eseguiti da altri programmi (/usr/src/libexec). src-release release=cvs File richiesti per produrre una release di FreeBSD (/usr/src/release). src-sbin release=cvs Utility di sistema per la modalità mono-utente (/usr/src/sbin). src-secure release=cvs Librerie e comandi per la crittografia (/usr/src/secure). src-share release=cvs File che possono essere condivisi tra sistemi multipli (/usr/src/share). src-sys release=cvs Il kernel (/usr/src/sys). src-sys-crypto release=cvs Codice di crittografia del kernel (/usr/src/sys/crypto). src-tools release=cvs Vari strumenti per il mantenimento di FreeBSD (/usr/src/tools). src-usrbin release=cvs Utility per l'utente (/usr/src/usr.bin). src-usrsbin release=cvs Utility di sistema (/usr/src/usr.sbin). www release=cvs I sorgenti per il sito web di FreeBSD. distrib release=self I file di configurazione del server CVSup. Usati dai siti mirror CVSup. gnats release=current Il database GNATS per tener traccia dei bug. mail-archive release=current Archivio delle mailing list di FreeBSD. www release=current I file pre-processati del sito web di FreeBSD (non i file sorgenti). Usati dai siti mirror WWW. Per Maggiori Informazioni Per le FAQ ed altre informazioni di CVSup vedere la pagina home di CVSup. La maggior parte delle discussioni su CVSup inerenti a FreeBSD si svolgono sulla &a.hackers;. In questa mailling list inoltre sono anche annunciate nuove versioni del software, come pure sulla &a.announce;. Questioni e resoconti di bug dovrebbero essere indirizzati all'autore del programma cvsup-bugs@polstra.com. Siti CVSup I server CVSup per FreeBSD si trovano ai seguenti siti: &chap.mirrors.cvsup.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.cvsup.inc; Usare Portsnap Introduzione Portsnap è un sistema per distribuire in modo sicuro l'albero dei port di &os;. Circa ogni ora, viene generata una snapshot dell'albero dei port, che viene impacchettata e firmata criptograficamente. I file risultanti sono quindi distribuiti via HTTP. Come CVSup, Portsnap usa un modello di aggiornamento a rchiesta: gli alberi dei port impacchettati e firmati sono messi sul server web che attende in modo passivo le richieste dei client. Gli utenti devono eseguire &man.portsnap.8; manualmente o schedulare il job con &man.cron.8; per scaricare periodicamente gli aggiornamenti in modo automatico. Per ragioni tecniche, Portsnap non aggiorna direttamente il reale albero dei port in /usr/ports/; invece, lavora con una copia compressa dell'albero dei port memorizzata di default in /var/db/portsnap/. Questa copia compressa viene quindi usata per aggiornare l'albero dei port effettivo. Se Portsnap è installato dalla collezione dei port di &os;, la locazione di default per la sua snapshot compressa è /usr/local/portsnap/ invece di /var/db/portsnap/. Instalazione Su &os; 6.0 e versioni più recenti, Portsnap è contenuto nel sistema base. Su versioni di &os; più datate, può essere installato usando il port sysutils/portsnap. Configurazione di Portsnap Il funzionamento di Portsnap è controllato dal file di configurazione /etc/portsnap.conf. Per la maggior parte degli utenti, la configurazione di default sarà sufficiente; per maggiori dettagli, consultare la pagina man &man.portsnap.conf.5;. Se Portsnap è installato dalla collezione dei port di &os;, userà il file di configurazione posto in /usr/local/etc/portsnap.conf invece di /etc/portsnap.conf. Questo file di configurazione non viene creato quando viene installato il port, ma viene dato un file di configurazione di base; per copiarlo nella giusta posizione, esegui il comando seguente: &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf Eseguire <application>Portsnap</application> per la Prima Volta La prima volta che &man.portsnap.8; viene eseguito, ha bisogno di scaricare una snapshot compressa dell'intero albero dei port in /var/db/portsnap/ (o /usr/local/portsnap/ se Portsnap è stato installato dalla collezione dei port). Dall'inizio del 2006 la sua dimensione è di circa 41 MB. &prompt.root; portsnap fetch Una volta che la snapshot compressa è stata scaricata, una copia dell'albero dei port può estratta in /usr/ports/. Questo è necessario perfino se l'albero dei port è già stato creato in quella directory (es., usando CVSup), poichè stabilisce un punto di inizio dal qualche portsnap può determinare quale parte dell'albero dei port necessita di essere aggiornata. &prompt.root; portsnap extract Nell'installazione di default la directory /usr/ports non viene creata. Se usi &os; 6.0-RELEASE, la directory dovrebbe essere creata prima di usare portsnap. Su versioni di &os; e Portsnap più recenti questa operazione viene fatta in automatico al primo utilizzo del comando portsnap. Aggiornare l'Albero dei Port Dopo che una prima snapshot compressa dell'albero dei port è stata scaricata ed estratta in /usr/ports/, l'aggiornamento dell'albero dei port consiste in due passi: scaricando gli aggiornamenti della snapshot compressa, e usare questi per aggiornare l'albero dei port effettivo. Questi due passi possono essere specificati a portsnap con un comando singolo. &prompt.root; portsnap fetch update Alcune versioni vecchie di portsnap non supportano questa sintassi; se fallisce, prova in questo modo: &prompt.root; portsnap fetch &prompt.root; portsnap update Avviare Portsnap tramite cron Al fine di evitare problemi di affollamenti istantanei accedendo ai server di Portsnap, portsnap fetch non funziona da un job &man.cron.8;. Esiste invece un comando apposito portsnap cron, che attende una durata random fino a 3600 secondi prima di scaricare gli aggiornamenti. Inoltre, è fortemente racomandato che portsnap update non sia eseguito da un job cron, poichè è soggetto a causare problemi se viene avviato allo stesso tempo di compilazione o installazione di un port. Ad ogni modo, è possibile aggiornare i file INDEX dei port, e può essere fatto passando il flag a portsnap. (Ovviamente, se portsnap -I update viene eseguito da cron, sarà necessario eseguire successivamnte portsnap update senza la flag al fine di aggiornare il resto dell'albero.) Aggiungendo la riga seguente in /etc/crontab, portsnap aggiornerà la snapshot compressa e i file INDEX in /usr/ports/, e manderà una email se qualche port installato non è aggiornato: 0 3 * * * root portsnap -I cron update && pkg_version -vIL= Se l'ora di sistema non è settata all'ora locale, sostituisci 3 con un valore random tra 0 e 23, al fine di disporre il carico sui server Portsnap in modo uniforme. Alcune versioni datate di portsnap non supportano l'elenco di comandi multipli (es., cron update) nella stessa invocazione di portsnap. Se la riga di comando precedente fallisce, prova a sostituire portsnap -I cron update con portsnap cron && portsnap -I update. Tag CVS Quando ricevi o aggiorni dei sorgenti usando cvs o CVSup, devi specificare un tag di revisione. Un tag di revisione si riferisce sia ad una particolare linea di sviluppo di &os;, sia ad un specifico periodo di tempo. I primi tipi sono chiamati tag di ramo, mentre i secondi tag di release. Tag di Ramo Tutti, con l'eccezione di HEAD (che è sempre un valido tag), sono relativi all'albero src/. Gli alberi ports/, doc/, e www/ non sono ramificati. HEAD Nome simbolico per la linea di sviluppo corrente, FreeBSD-CURRENT. È anche il tag di default se nessun tag di revisione è specificato. In CVSup, questo tag è rappresentato dal simbolo .. In CVS, questo è il settaggio di default se nessun tag di revisione è stato specificato. In genere non è una buona idea aggiornare i sorgenti a CURRENT su una macchina STABLE, a meno che sai cosa stai facendo. RELENG_6 La linea di sviluppo per FreeBSD-6.X, anche conosciuta come FreeBSD 6-STABLE. RELENG_6_1 Il ramo di release per FreeBSD-6.1, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_6_0 Il ramo di release per FreeBSD-6.0, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5 La linea di sviluppo per FreeBSD-5.X, anche conosciuta come FreeBSD-STABLE. RELENG_5_5 Il ramo di release per FreeBSD-5.5, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5_4 Il ramo di release per FreeBSD-5.4, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5_3 Il ramo di release per FreeBSD-5.3, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5_2 Il ramo di release per FreeBSD-5.2 e FreeBSD-5.2.1, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5_1 Il ramo di release per FreeBSD-5.1, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5_0 Il ramo di release per FreeBSD-5.0, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4 La linea di sviluppo per FreeBSD-4.X, anche conosciuta come FreeBSD 4-STABLE. RELENG_4_11 Il ramo di release per FreeBSD-4.11, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_10 Il ramo di release per FreeBSD-4.10, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_9 Il ramo di release per FreeBSD-4.9, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_8 Il ramo di release per FreeBSD-4.8, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_7 Il ramo di release per FreeBSD-4.7, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_6 Il ramo di release per FreeBSD-4.6 e FreeBSD-4.6.2, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_5 Il ramo di release per FreeBSD-4.5, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_4 Il ramo di release per FreeBSD-4.4, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_3 Il ramo di release per FreeBSD-4.3, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_3 La line di sviluppo per FreeBSD-3.X, anche conosciuta come 3.X-STABLE. RELENG_2_2 La linea di sviluppo per FreeBSD-2.2.X, anche conosciuta come 2.2-STABLE. Questo ramo è per la maggior parte obsoleto. Tag di Release Questi tag si riferiscono a un preciso istante di tempo quando una versione di &os; è stata rilasciata. Il processo di release engineering è documentato in dettaglio dai documenti Release Engineering Information e Release Process. L'albero src usa nomi di tag che iniziano con RELENG_. Gli alberi ports e doc usano tag il cui nome inizia con RELEASE. Infine, l'albero www non viene taggato con alcun nome particolare per le release. RELENG_6_1_0_RELEASE FreeBSD 6.1 RELENG_6_0_0_RELEASE FreeBSD 6.0 RELENG_5_5_0_RELEASE FreeBSD 5.5 RELENG_5_4_0_RELEASE FreeBSD 5.4 RELENG_4_11_0_RELEASE FreeBSD 4.11 RELENG_5_3_0_RELEASE FreeBSD 5.3 RELENG_4_10_0_RELEASE FreeBSD 4.10 RELENG_5_2_1_RELEASE FreeBSD 5.2.1 RELENG_5_2_0_RELEASE FreeBSD 5.2 RELENG_4_9_0_RELEASE FreeBSD 4.9 RELENG_5_1_0_RELEASE FreeBSD 5.1 RELENG_4_8_0_RELEASE FreeBSD 4.8 RELENG_5_0_0_RELEASE FreeBSD 5.0 RELENG_4_7_0_RELEASE FreeBSD 4.7 RELENG_4_6_2_RELEASE FreeBSD 4.6.2 RELENG_4_6_1_RELEASE FreeBSD 4.6.1 RELENG_4_6_0_RELEASE FreeBSD 4.6 RELENG_4_5_0_RELEASE FreeBSD 4.5 RELENG_4_4_0_RELEASE FreeBSD 4.4 RELENG_4_3_0_RELEASE FreeBSD 4.3 RELENG_4_2_0_RELEASE FreeBSD 4.2 RELENG_4_1_1_RELEASE FreeBSD 4.1.1 RELENG_4_1_0_RELEASE FreeBSD 4.1 RELENG_4_0_0_RELEASE FreeBSD 4.0 RELENG_3_5_0_RELEASE FreeBSD-3.5 RELENG_3_4_0_RELEASE FreeBSD-3.4 RELENG_3_3_0_RELEASE FreeBSD-3.3 RELENG_3_2_0_RELEASE FreeBSD-3.2 RELENG_3_1_0_RELEASE FreeBSD-3.1 RELENG_3_0_0_RELEASE FreeBSD-3.0 RELENG_2_2_8_RELEASE FreeBSD-2.2.8 RELENG_2_2_7_RELEASE FreeBSD-2.2.7 RELENG_2_2_6_RELEASE FreeBSD-2.2.6 RELENG_2_2_5_RELEASE FreeBSD-2.2.5 RELENG_2_2_2_RELEASE FreeBSD-2.2.2 RELENG_2_2_1_RELEASE FreeBSD-2.2.1 RELENG_2_2_0_RELEASE FreeBSD-2.2.0 Siti AFS I server AFS per FreeBSD sono in esecuzione nei seguenti siti: Svezia Il percorso dei file è: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Svezia 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Il maintainer ftp@stacken.kth.se Siti rsync I seguenti siti rendono disponibile FreeBSD tramite il protocollo rsync. L'utility rsync lavora nello stesso modo del comando &man.rcp.1;, ma ha più opzioni e usa il protocollo rsync per aggiornamenti remoti il quale trasferisce solo le differenze tra i due set di file, e di conseguenza accelera fortemente la sincronizzazione su rete. Questo è molto utile se hai un sito mirror del server FTP di FreeBSD, o del deposito CVS. La suite rsync è disponibile per molti sistemi operativi e, su FreeBSD, puoi usare il port net/rsync o il rispettivo package. Repubblica Ceca rsync://ftp.cz.FreeBSD.org/ Collezioni disponibili: ftp: Un mirror parziale del server FTP di FreeBSD. FreeBSD: Un mirror completo del server FTP di FreeBSD. Germania rsync://grappa.unix-ag.uni-kl.de/ Collezioni disponibili: freebsd-cvs: Il completo deposito CVS di FreeBSD. Questa macchina fa da mirror anche per il deposito CVS dei progetti NetBSD e OpenBSD, tra gli altri. Olanda rsync://ftp.nl.FreeBSD.org/ Collezioni disponibili: vol/4/freebsd-core: Un completo mirror del server FTP di FreeBSD. Regno Unito rsync://rsync.mirror.ac.uk/ Collezioni disponibili: ftp.FreeBSD.org: Un completo mirror del server FTP di FreeBSD. Stati Uniti d'America rsync://ftp-master.FreeBSD.org/ Questo server può essere usato solo dai siti mirror primari di FreeBSD. Collezioni disponibili: FreeBSD: L'archivio master del server FTP di FreeBSD. acl: La lista master delle ACL di FreeBSD. rsync://ftp13.FreeBSD.org/ Collezioni disponibili: FreeBSD: Un completo mirror del server FTP di FreeBSD.
diff --git a/ja_JP.eucJP/articles/contributing/article.xml b/ja_JP.eucJP/articles/contributing/article.xml index 627295fc20..b2065377c7 100644 --- a/ja_JP.eucJP/articles/contributing/article.xml +++ b/ja_JP.eucJP/articles/contributing/article.xml @@ -1,599 +1,599 @@
FreeBSD ¤Ø¤Î¹×¸¥ ¤³¤Îʸ½ñ¤Ï¡¢¸Ä¿Í¤äÃÄÂΤ¬ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ë¹×¸¥¤¹¤ë¤¿¤á¤Î¤¤¤¯¤Ä¤«¤ÎÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£ Jordan Hubbard ´ó¹Æ: &tm-attrib.freebsd; &tm-attrib.ieee; &tm-attrib.general; $FreeBSD$ $FreeBSD$ ¹×¸¥ ¤¢¤Ê¤¿¤â FreeBSD ¤Î¤¿¤á¤Ë¹×¸¥¤·¤¿¤¯¤Ê¤ê¤Þ¤·¤¿¤«? ÁÇÀ²¤é¤·¤¤! FreeBSD ¤ÏÀ¸¤­»Ä¤ë¤¿¤á¤Ë¥æ¡¼¥¶¥Ù¡¼¥¹¤Î¹×¸¥¤ËÍê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤¢¤Ê¤¿¤Î¹×¸¥¤Ï´¶¼Õ¤µ¤ì¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¡¢FreeBSD ¤¬À®Ä¹¤·Â³¤±¤ë¤¿¤á¤Ë¶Ë¤á¤Æ½ÅÍפʤâ¤Î¤Ê¤Î¤Ç¤¹! °ìÉô¤Î¿Í㤬ȯ¸À¤·¤Æ¤¤¤ë¤Î¤È¤ÏÈ¿ÂФˡ¢ ¹×¸¥¤ò¼õ¤±ÉÕ¤±¤Æ¤â¤é¤¦¤¿¤á¤ËÏÓÍø¤­¤Î¥×¥í¥°¥é¥Þ¡¼¤Ë¤Ê¤ë¤È¤« FreeBSD ¥³¥¢¥Á¡¼¥à¤Î¿Í¤È¿ÆÍ§¤Ë¤Ê¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¿¤¯¤Î¤½¤·¤Æ±×¡¹Áý²Ã¤¹¤ëÀ¤³¦Ãæ¤Î¹×¸¥¼Ô㤬 FreeBSD ¤ò³«È¯¤·¤Æ¤ª¤ê¡¢ Èà¤é¤ÎǯÎð¡¢ÀìÌçµ»½ÑʬÌî¤Ï¿´ô¤ËÅϤäƤ¤¤Þ¤¹¡£ ¼ê¤Î¶õ¤¤¤Æ¤¤¤ë¿Í¤è¤ê¤âÀ®¤¹¤Ù¤­»Å»ö¤ÎÊý¤¬Â¿¤¯¡¢ ¤ª¼êÅÁ¤¤¤Ï¤¤¤Ä¤Ç¤â´¿·Þ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ï¥«¡¼¥Í¥ë¤ä»¶ºß¤·¤Æ¤¤¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤è¤ê¤â¡¢ ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à´Ä¶­¤ËÂФ·¤ÆÀÕǤ¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ »ä¤¿¤Á¤Î TODO ¥ê¥¹¥È¤Ë¤Ïʸ½ñÀ°È÷¡¢¥Ù¡¼¥¿¥Æ¥¹¥È¡¢ ¥¤¥ó¥¹¥È¡¼¥é¤äÀìÌç²½¤µ¤ì¤¿¥¿¥¤¥×¤Î¥«¡¼¥Í¥ë³«È¯¤Î¹¥Îã¤ò¾Ò²ð¤¹¤ë¤Ê¤ÉÈó¾ï¤Ë¹­¤¤ÈϰϤκî¶È¤¬¤¢¤ê¤Þ¤¹¡£ ¤¢¤Ê¤¿¤Îµ»Ç½¥ì¥Ù¥ë¤äʬÌî¤Ë´Ø¤ï¤é¤º¡¢ ¥×¥í¥¸¥§¥¯¥È¤ò»Ù±ç¤Ç¤­¤ë¤³¤È¤¬É¬¤º²¿¤«¤¢¤ê¤Þ¤¹! FreeBSD ´ØÏ¢¤Î»ö¶È¤Ë·È¤ï¤ë¾¦¶ÈÃÄÂΤ¬»ä¤¿¤Á¤Ë¥³¥ó¥¿¥¯¥È¤¹¤ë¤³¤È¤â´¿·Þ¤·¤Æ¤¤¤Þ¤¹¡£ ¤¢¤Ê¤¿¤ÎÀ½Éʤò (FreeBSD ¾å¤Ç) ưºî¤µ¤»¤ë¤Ë¤Ï¡¢ ÆÃÊ̤ʳÈÄ¥¤¬É¬ÍפǤϤ¢¤ê¤Þ¤»¤ó¤«? ¤¢¤Þ¤ê¤Ë¤âÉ÷ÊѤï¤ê¤ÊÍ×µá¤Ç¤Ê¤±¤ì¤Ð¡¢ ¤½¤ì¤ò¼õ¤±Æþ¤ì¤ëÍѰդ¬»ä¤¿¤Á¤Ë¤¢¤ë¤È¤ï¤«¤ë¤Ï¤º¤Ç¤¹¡£ ÉղòÁÃͤΤ¢¤ëÀ½ÉʤǤ¹¤«? »ä¤¿¤Á¤ËÃΤ餻¤Æ¤¯¤À¤µ¤¤! ¿ʬ»ä¤¿¤Á¤Ï¡¢ ¤¢¤ëÌ̤ˤª¤¤¤Æ¶¦Æ±¤·¤Æºî¶È¤ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ ¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢³¦¤Ï¡¢ ¥½¥Õ¥È¥¦¥§¥¢¤¬¤É¤Î¤è¤¦¤Ë³«È¯¤µ¤ì¡¢ ÈÎÇ䤵¤ì¡¢Êݼ餵¤ì¤Æ¤¤¤¯¤«¤Ë¤Ä¤¤¤Æ¡¢´û¸¤Î²¾Àâ¤ËÄ©À路¤Æ¤¤¤Þ¤¹¡£ ¾¯¤Ê¤¯¤È¤â¤â¤¦°ìÅÙ¹Íθ¤·¤Æ¤ß¤ë¤³¤È¤ò»ä¤¿¤Á¤Ï¶¯¤¯¤ª¾©¤á¤·¤Þ¤¹¡£ ²¿¤¬É¬Í×? ¼¡¤Î²ÝÂê¤È¥µ¥Ö¥×¥í¥¸¥§¥¯¥È¤Î°ìÍ÷¤Ï¡¢¿§¡¹¤Ê TODO ¥ê¥¹¥È¤È¥æ¡¼¥¶¤«¤é¤ÎÍ×µá¤ò¹ç¤ï¤»¤¿¤â¤Î¤Ç¤¹¡£ ¿Ê¹ÔÃæ¤ÎÈó¥×¥í¥°¥é¥Þ¸þ¤±¤Î²ÝÂê FreeBSD ¤Ë´Ø¤ï¤Ã¤Æ¤¤¤ëÃæ¤Ë¤Ï¡¢¥×¥í¥°¥é¥Þ¤Ç¤Ï¤Ê¤¤¿Í¤¬¤¿¤¯¤µ¤ó¤¤¤Þ¤¹¡£ ¥×¥í¥¸¥§¥¯¥È¤Ë¤Ï¡¢Ê¸½ñ¤ò½ñ¤¯¿Í¡¢Web ¥Ç¥¶¥¤¥Ê¡¢¥µ¥Ý¡¼¥È¤ò¹Ô¤¦¿Í¤¬¤¤¤Þ¤¹¡£ ¹×¸¥¤¹¤ë¤Î¤ËɬÍפʤΤϡ¢»þ´Ö¤ÎÅê»ñ¤È³Ø¤Ö°ÕÍߤǤ¹¡£ Äê´üŪ¤Ë FAQ ¤È¥Ï¥ó¥É¥Ö¥Ã¥¯¤òÄ̤·¤ÆÆÉ¤ó¤Ç¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¤Þ¤º¤¤ÀâÌÀ¤ä¸Å¤¤»öÊÁ¤ä´°Á´¤Ë´Ö°ã¤Ã¤Æ¤¤¤ë¤³¤È¤Ê¤É¤¬¤¢¤ì¤Ð»äã¤Ë¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£ ¤µ¤é¤ËÎɤ¤¤Î¤Ï²æ¡¹¤Ë½¤Àµ°Æ¤òÁ÷¤ë¤³¤È¤Ç¤¹ (Docbook ¤Ï³Ø¤Ö¤Î¤Ë¤½¤ì¤Û¤ÉÆñ¤·¤¯¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È¤Ç¤âÌäÂê¤Ï¤¢¤ê¤Þ¤»¤ó)¡£ FreeBSD ¤Îʸ½ñ¤ò¼«Ê¬¤ÎÊì¹ñ¸ì¤ËËÝÌõ¤¹¤ë¤Î¤ò¼êÅÁ¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ʸ½ñ¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ì¤Ð¡¢¤â¤Ã¤Èʸ½ñ¤òËÝÌõ¤·¤¿¤ê¡¢ ¤½¤ÎËÝÌõ¤¬ºÇ¿·¤Î¾õÂÖ¤«¤É¤¦¤«³Îǧ¤¹¤ë¤Î¤ò¼êÅÁ¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤º FreeBSD ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥ÈÆþÌç¤Î ËÝÌõ¤Ë´Ø¤¹¤ë FAQ (¤è¤¯¤¢¤ë¼ÁÌä¤È¤½¤ÎÅú¤¨) ¤ò°ìÆÉ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤È¤Ï¤¤¤Ã¤Æ¤â¡¢ ¤½¤¦¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤¢¤Ê¤¿¤¬¤¹¤Ù¤Æ¤Î FreeBSD ʸ½ñ¤ÎËÝÌõ¤Ë·È¤ï¤ë¤è¤¦¤Ë¤Ê¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤Ç¤¹¤«¤é¤Í¡£ — ¥Ü¥é¥ó¥Æ¥£¥¢¤È¤·¤Æ¡¢ ¿¾¯¤Ë´Ø¤ï¤é¤º¡¢¼«Ê¬¤¬¤ä¤í¤¦¤È»×¤¦¤À¤±¤ä¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¤¤¤Ã¤¿¤ó狼¤¬ËÝÌõ¤ò»Ï¤á¤¿¤é¡¢ ¤¿¤¯¤µ¤ó¤Î¿Í㤬¤¤¤Ä¤À¤Ã¤Æ¶¨ÎϤ·¤Æ¤¯¤ì¤Þ¤¹¤«¤é¡£ ¤â¤·ËÝÌõ¤ËÈñ¤¹»þ´Ö¤ä¥¨¥Í¥ë¥®¡¼¤¬¸Â¤é¤ì¤Æ¤¤¤ë¤Ê¤é¡¢ ¤Þ¤º¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤ÎËÝÌõ¤«¤é¤ª´ê¤¤¤·¤Þ¤¹ (ÌõÃí: ¤Ê¤¼¤Ê¤é¡¢ ¤â¤Ã¤È¤âɬÍפȤµ¤ì¤Æ¤¤¤ëʸ½ñ¤¬¤½¤ì¤À¤«¤é¤Ç¤¹)¡£ ¤¿¤Þ¤Ë (¤â¤·¤¯¤ÏÄê´üŪ¤Ë) &a.questions; ¤ä &ng.misc; ¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£ ¤³¤ì¤Ï¡¢¤¢¤Ê¤¿¤Î»ý¤Ã¤Æ¤¤¤ëÀìÌçÃ챤ò¶¦Í­¤·¤¿¤ê¡¢ 狼¤¬Êú¤¨¤Æ¤¤¤ëÌäÂê¤ò²ò·è¤¹¤ë¤Î¤ËÈó¾ï¤ËÍ­¸ú¤Ê¤â¤Î¤Ë¤Ê¤êÆÀ¤ë¤³¤È¤Ç¤¹¡£ »þ¤Ë¤Ï¤¢¤Ê¤¿¼«¿È¤Ç¿·¤·¤¤¤³¤È¤ò³Ø¤Ö¤³¤È¤µ¤¨¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤³¤ì¤é¤Î¥Õ¥©¡¼¥é¥à¤Ï¤ä¤ë¤Ù¤­¤³¤È¤Î¥¢¥¤¥Ç¥£¥¢¤Î¸»¤Ë¤â¤Ê¤êÆÀ¤ë¤Î¤Ç¤¹¡£ ¿Ê¹ÔÃæ¤Î¥×¥í¥°¥é¥Þ¸þ¤±¤Î²ÝÂê ¤³¤Î¥»¥¯¥·¥ç¥ó¤Çµó¤²¤ë²ÝÂê¤ÏËÄÂç¤Ê»þ´Ö¤ÎÅê»ñ¤Þ¤¿¤Ï FreeBSD ¤Î¥«¡¼¥Í¥ë¤Ë´Ø¤¹¤ë¿¼¤¤Ãμ±¡¢¤â¤·¤¯¤ÏξÊý¤òɬÍפȤ·¤Þ¤¹¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢½µËö¥Ï¥Ã¥«¡¼ ¤ËŬ¤·¤¿Î©ÇɤʲÝÂê¤â¿ô¿¤¯¤¢¤ê¤Þ¤¹¡£ FreeBSD-CURRENT ¤ò±¿ÍѤ·¤Æ¤ª¤ê¡¢ ¾õÂÖ¤ÎÎɤ¤¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÀܳ¤¬¤¢¤ë¤Ê¤é¤Ð¡¢ current.FreeBSD.org ¤È¤¤¤¦°ìÆü¤Ë°ì²ó¥Õ¥ë¥ê¥ê¡¼¥¹¤ò¹Ô¤Ã¤Æ¤¤¤ë¥Þ¥·¥ó¤¬¤¢¤ê¤Þ¤¹ — »þ¤ª¤êºÇ¿·¤Î¥ê¥ê¡¼¥¹¤ò¤½¤³¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢ ¤½¤Î²áÄø¤Ç²¿¤«ÌäÂ꤬¤¢¤ë¤Ê¤éÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡£ &a.bugs; ¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£ ¤½¤³¤Ç¤Ï¤¢¤Ê¤¿¤¬·úÀßŪ¤Ê¥³¥á¥ó¥È¤òÉÕ¤±¤¿¤ê¥Æ¥¹¥È¤Ç¤­¤ë¥Ñ¥Ã¥Á¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¤è¤¦¤ÊÌäÂ꤬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤â¤·¤¯¤Ï¤½¤ì¤é¤ÎÌäÂê¤Î°ì¤Ä¤ò¤¢¤Ê¤¿¼«¿È¤Ç½¤Àµ¤¹¤ë¤³¤È¤µ¤¨¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ -CURRENT ¤ËÀµ¤·¤¯Åö¤Æ¤é¤ì¤ë¤¬¤·¤Ð¤é¤¯·Ð¤Ã¤Æ¤â (Ä̾ï¤Ï 2, 3 ½µ´Ö) -STABLE ¤Ë¼è¤ê¹þ¤Þ¤ì¤Æ¤Ê¤¤¤è¤¦¤Ê¥Ð¥°¥Õ¥£¥Ã¥¯¥¹¤¬¤¢¤ë¤Ê¤é¤Ð¥³¥ß¥Ã¥¿¡¼¤ËÃúÇ«¤Ë»×¤¤½Ð¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£ ´ó£¥½¥Õ¥È¥¦¥§¥¢¤ò¥½¡¼¥¹¥Ä¥ê¡¼¤Î src/contrib ¤Ë°Üư¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£ src/contrib °Ê²¼¤Î¥³¡¼¥É¤¬ºÇ¿·¤Î¤â¤Î¤Ç¤¢¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ·Ù¹ð¤ò¾ÜºÙ¤ËÊó¹ð¤¹¤ë¤è¤¦¤Ë¤·¤Æ¥½¡¼¥¹¥Ä¥ê¡¼Á´ÂÎ (¤â¤·¤¯¤Ï¤½¤Î°ìÉô) ¤ò¹½ÃÛ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤·¤Æ·Ù¹ð¤¬½Ð¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ports ¤Ç¡¢gets() ¤ò»È¤Ã¤Æ¤¤¤ë¤È¤« malloc.h ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤ë¤Ê¤É¤È¤¤¤Ã¤¿·Ù¹ð¤¬½Ð¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¤Ê¤ó¤é¤«¤Î ports ¤Ë´Ø¤ï¤Ã¤Æ¤¤¤Æ¡¢ &os; ¤Ë¸ÇÍ­¤ÎÊѹ¹¤¬É¬ÍפǤ¢¤ì¤Ð¡¢ ¤¢¤Ê¤¿¤Î¥Ñ¥Ã¥Á¤òºî¼Ô¤Ë¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤ (¼¡¤Î¥Ð¡¼¥¸¥ç¥ó¤¬½Ð¤¿»þ¤Ë¤¢¤Ê¤¿¤¬³Ú¤Ë¤Ê¤ê¤Þ¤¹)¡£ &posix; ¤Î¤è¤¦¤Ê¸ø¼°É¸½à¤Î¼Ì¤·¤òÆþ¼ê¤·¤Æ¤¯¤À¤µ¤¤¡£FreeBSD C99 & POSIX ɸ½àŬ¹ç¥×¥í¥¸¥§¥¯¥È¤Î¥¦¥§¥Ö¥µ¥¤¥È¤Ë¡¢ ¤½¤¦¤¤¤Ã¤¿É¸½à¤Ø¤Î¥ê¥ó¥¯¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£ FreeBSD ¤Îµóư¤òɸ½à¤¬Í׵᤹¤ë¤â¤Î¤ÈÈæ³Ó¤·¤Æ¤¯¤À¤µ¤¤¡£µóư¤¬°Û¤Ê¤ë¾ì¹ç¡¢ ÆÃ¤Ë¤½¤ì¤¬»ÅÍͤμè¤ë¤Ë­¤é¤Ê¤«¤Ã¤¿¤êʬ¤«¤ê¤Ë¤¯¤¤ºÙ¤«¤¤Éôʬ¤Ê¤é¡¢ ¾ã³²Êó¹ð¤òÄó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£¤Ç¤­¤ì¤Ð¤É¤¦½¤Àµ¤¹¤Ù¤­¤«ÌÀ¤é¤«¤Ë¤·¤Æ¡¢ ¾ã³²Êó¹ð¤Ë¥Ñ¥Ã¥Á¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£É¸½à¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¤È´¶¤¸¤¿¤é¡¢ ɸ½à²½ÃÄÂΤˤ½¤Îµ¿Ìä¤òäý¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î°ìÍ÷¤ËÄɲ乤ë²ÝÂê¤òÄ󰯤·¤Æ¤¯¤À¤µ¤¤! ¾ã³²Êó¹ð (PR; Problem Report) ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤ª¤±¤ëºî¶È ¾ã³²Êó¹ð (PR) ¥Ç¡¼¥¿¥Ù¡¼¥¹ FreeBSD ¾ã³²Êó¹ð°ìÍ÷¤Ç¤Ï¡¢¸½ºßÌäÂê¤È¤Ê¤Ã¤Æ¤¤¤ë¾ã³²Êó¹ð¤È¡¢ FreeBSD ¤ÎÍøÍѼԤˤè¤Ã¤ÆÄó½Ð¤µ¤ì¤¿²þÎɤÎÍ×˾¤¹¤Ù¤Æ¤Î°ìÍ÷¤ò¸ø³«¤·¤Æ¤¤¤Þ¤¹¡£ ¾ã³²Êó¹ð¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ï¡¢ ¥×¥í¥°¥é¥Þ¸þ¤±¤ÈÈó¥×¥í¥°¥é¥Þ¸þ¤±¤Î²ÝÂ꤬¶¦¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ open ¾õÂ֤ξ㳲Êó¹ð¤ò¸«¤Æ¡¢¶½Ì£¤ò°ú¤¯¤â¤Î¤¬¤¢¤ë¤«³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£ ¤Ê¤«¤Ë¤Ï¡¢¾ã³²Êó¹ð¤ËÂФ¹¤ë½¤Àµ¤¬Å¬Àڤʤâ¤Î¤Ç¤¢¤ë¤«¤É¤¦¤«Ã±¤Ë¥Á¥§¥Ã¥¯¤¹¤ë¤À¤±¤Î¤È¤Æ¤â´Êñ¤Êºî¶È¤â¤¢¤ë¤Ç¤·¤ç¤¦¤·¡¢ ¤º¤Ã¤ÈÊ£»¨¤Ê¤â¤Î¤ä¡¢½¤Àµ¤¬´Þ¤Þ¤ì¤Æ¤¹¤é¤¤¤Ê¤¤¤â¤Î¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¤Þ¤º¡¢¤Þ¤Àï¤Ë¤â³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Ê¤¤¾ã³²Êó¹ð¤«¤éºî¶È¤ò»Ï¤á¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¡¢Ã¯¤«Â¾¤Î¿Í¤Ë³ä¤êÅö¤Æ¤¬·è¤Þ¤Ã¤Æ¤¤¤ë¤±¤ì¤É¤â¼«Ê¬¤¬ºî¶È²Äǽ¤À¡¢ ¤È¤¤¤¦¾ã³²Êó¹ð¤¬¤¢¤ì¤Ð¡¢ºî¶È¤¬¤Ç¤­¤ë¤«¤É¤¦¤«¡¢ ³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¿Í¤ËÅŻҥ᡼¥ë¤ÇÌ䤤¹ç¤ï¤»¤Æ¤¯¤À¤µ¤¤¡£— ´û¤Ë¥Æ¥¹¥ÈÍѥѥåÁ¤¬ÍѰդµ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·¡¢ ¤è¤ê¿Ê¤ó¤À¹Í¤¨¤Ë´Ø¤·¤ÆµÄÏÀ¤¬¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ <quote>¥¢¥¤¥Ç¥£¥¢</quote>¥Ú¡¼¥¸¤Î¹àÌÜ &os; ¥×¥í¥¸¥§¥¯¥È¤Ë¹×¸¥¤·¤¿¤¤¿Í¤Î¤¿¤á¤Ë ¥Ü¥é¥ó¥Æ¥£¥¢¤Î¤¿¤á¤Î &os; ¤Î¥×¥í¥¸¥§¥¯¥È¤È¥¢¥¤¥Ç¥£¥¢°ìÍ÷ ¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î°ìÍ÷¤Ï¾ï¤Ë¹¹¿·¤µ¤ì³¤±¤Æ¤ª¤ê¡¢¤½¤ì¤¾¤ì¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¡¢ ¥×¥í¥°¥é¥Þ¤ÈÈó¥×¥í¥°¥é¥ÞξÊý¤Ë¸þ¤±¤¿¹àÌܤ¬¤¢¤ê¤Þ¤¹¡£ ¹×¸¥¤Î»ÅÊý °ìÈÌŪ¤Ë¡¢¥·¥¹¥Æ¥à¤Ø¤Î¹×¸¥¤Ï¼¡¤Î 5 ¤Ä¤Î¥«¥Æ¥´¥ê¤Î 1 ¤Ä°Ê¾å¤ËʬÎव¤ì¤Þ¤¹: ¥Ð¥°Êó¹ð¤È°ìÈÌŪ¤ÊÏÀɾ °ìÈÌŪ¤Êµ»½ÑŪ´Ø¿´»ö¤Ë´Ø¤¹¤ë¥¢¥¤¥Ç¥¢¤äÄó°Æ¤Ï &a.hackers; ¤Ø¥á¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£Æ±Íͤˡ¢¤³¤Î¤è¤¦¤Ê»öÊÁ¤Ë¶½Ì£¤Î¤¢¤ë (¤½¤·¤ÆËÄÂç¤Ê¥á¡¼¥ë! ¤ËÂѤ¨¤é¤ì¤ë) ¿Í¤Ï¡¢ &a.hackers; ¤Ë»²²Ã¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ ¤³¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ä¾¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë´Ø¤¹¤ë¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ð¥°¤òȯ¸«¤·¤¿¤êÊѹ¹¤òÁ÷ÉÕ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï &man.send-pr.1; ¥×¥í¥°¥é¥à¤« ¥¦¥§¥Ö¥Ù¡¼¥¹¤Î send-pr ¤ò»ÈÍѤ·¤ÆÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ð¥°¥ì¥Ý¡¼¥È¤Î³Æ¹àÌܤòËä¤á¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£65KB ¤òͤ¨¤ë¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢ ¥ì¥Ý¡¼¥ÈÃæ¤ËľÀܥѥåÁ¤òÆþ¤ì¤Æ¤¯¤À¤µ¤Ã¤Æ·ë¹½¤Ç¤¹¡£ ¥Ñ¥Ã¥Á¤¬¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¤¹¤°Å¬ÍѤǤ­¤ë¤â¤Î¤Ê¤é¤Ð¡¢ Êó¹ð¤Î³µÍ×¤Ë [PATCH] ¤È½ñ¤¤¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ¥Ñ¥Ã¥Á¤òÆþ¤ì¤ë¾ì¹ç¡¢¥«¥Ã¥È&¥Ú¡¼¥¹¥È¤Ï¤·¤Ê¤¤¤Ç ¤¯¤À¤µ¤¤¡£ ¥«¥Ã¥È&¥Ú¡¼¥¹¥È¤Ç¤Ï¥¿¥Ö¤¬¥¹¥Ú¡¼¥¹¤ËŸ³«¤µ¤ì¤Æ¥Ñ¥Ã¥Á¤¬»È¤¤Êª¤Ë¤Ê¤é¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¥Ñ¥Ã¥Á¤¬ 20KB ¤òͤ¨¤ë¾ì¹ç¤Ï¡¢ ¤½¤ì¤é¤ò (&man.gzip.1; ¤ä &man.bzip2.1; ¤Ç) °µ½Ì¤·¡¢ °µ½Ì¤·¤¿¥Ñ¥Ã¥Á¤ò &man.uuencode.1; ¤ò»È¤Ã¤Æ¥Ð¥°Êó¹ð¤Ë´Þ¤á¤ë¤³¤È¤â¸¡Æ¤¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥ì¥Ý¡¼¥È¤¬¥Õ¥¡¥¤¥ê¥ó¥°¤µ¤ì¤ì¤Ð¡¢ ¥Ð¥°Êó¹ð¤Î³Îǧ¤È¥È¥é¥Ã¥­¥ó¥°ÈÖ¹æ¤ò¥á¡¼¥ë¤Ç¼õ¤±¼è¤ë¤Ï¤º¤Ç¤¹¡£ ¤³¤Î¥È¥é¥Ã¥­¥ó¥°ÈÖ¹æ¤ò³Ð¤¨¤Æ¤ª¤­¡¢ÌäÂê¤Ë´Ø¤¹¤ë¾ÜºÙ¾ðÊó¤ò &a.bugfollowup; ¤Ë¥á¡¼¥ë¤ÇÁ÷¤Ã¤Æ¹¹¿·¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð "Re: kern/3377" ¤Î¤è¤¦¤Ë¡¢ ¤³¤ÎÈÖ¹æ¤ò¥µ¥Ö¥¸¥§¥¯¥È¹Ô¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ¤¹¤Ù¤Æ¤Î¥Ð¥°¥ì¥Ý¡¼¥È¤ÎÄɲþðÊó¤Ï¡¢ ¤³¤ÎÊýË¡¤ÇÁ÷ÉÕ¤µ¤ì¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£ ¤â¤·¥¿¥¤¥à¥ê¡¼¤Ë (¤¢¤Ê¤¿¤ÎÅŻҥ᡼¥ëÀܳ·ÁÂ֤ˤâ¤è¤ê¤Þ¤¹¤¬¡¢ 3 Æü¤«¤é 1 ½µ´Ö) ³Îǧ¤ò¼õ¤±¤È¤ì¤Ê¤¤¤È¤«¡¢²¿¤é¤«¤ÎÍýͳ¤Ç &man.send-pr.1; ¥³¥Þ¥ó¥É¤¬»ÈÍѤǤ­¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢&a.bugs; ¤Ø¥á¡¼¥ë¤òÁ÷¤ê¡¢ 狼Âå¤ê¤Ë¥Ð¥°Êó¹ð¤òÁ÷ÉÕ¤·¤Æ¤â¤é¤¦¤è¤¦¤¿¤º¤Í¤Æ¤¯¤À¤µ¤¤¡£ Îɤ¤¾ã³²Êó¹ð¤ò½ñ¤¯ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¤³¤Îʸ½ñ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ʸ½ñ¤ÎÊѹ¹ ʸ½ñ¤Ë´Ø¤¹¤ëÄó°Æ Ê¸½ñ¤ÎÊѹ¹¤Ï &a.doc; ¤¬´ÆÆÄ¤·¤Æ¤¤¤Þ¤¹¡£ ´°Á´¤ÊÀâÌÀ¤Ï¡¢FreeBSD ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥ÈÆþÌç¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¥Ð¥°Êó¹ð¤È°ìÈÌŪ¤ÊÏÀɾ ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë &man.send-pr.1; ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢Ä󰯤äÊѹ¹ (¤É¤ó¤Êº³ºÙ¤Ê¤â¤Î¤Ç¤â´¿·Þ¤·¤Þ¤¹!) ¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¸½Â¸¤Î¥½¡¼¥¹¥³¡¼¥É¤ÎÊѹ¹ FreeBSD-CURRENT ¸½Â¸¤Î¥½¡¼¥¹¥³¡¼¥É¤Ø¤ÎÄɲäޤ¿¤ÏÊѹ¹¤Ï¡¢ ¤¤¤¯¤é¤«¥È¥ê¥Ã¥­¡¼¤Ê»Å»ö¤Ç¤¢¤ê¡¢FreeBSD ³«È¯¤Î¸½¾õ¤Ë¤¢¤Ê¤¿¤¬¤É¤ì¤À¤±Ä̤¸¤Æ¤¤¤ë¤«¤ËÂ礭¤¯°Í¸¤·¤Þ¤¹¡£ FreeBSD-CURRENT ¤È¤·¤ÆÃΤé¤ì¤ë FreeBSD ¤ÎÆÃÊ̤ʷÑ³Ū¥ê¥ê¡¼¥¹¤¬¤¢¤ê¤Þ¤¹¡£FreeBSD-CURRENT ¤Ï³«È¯¼Ô¤ÎÀѶËŪ¤Ê³èư¤ÎÊØµ¹¤Î¤¿¤á¤Ë¡¢ ¿§¡¹¤ÊÊýË¡¤ÇÍøÍѲÄǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£FreeBSD-CURRENT ¤ÎÆþ¼ê¤È»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤ÏFreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯ ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¸Å¤¤¥½¡¼¥¹¤ò¤â¤È¤Ëºî¶È¤¹¤ë¤È¡¢ »Äǰ¤Ê¤¬¤é¤¢¤Ê¤¿¤ÎÊѹ¹¤¬»þ¤È¤·¤Æ»þÂåÃÙ¤ì¤â¤·¤¯¤ÏÂ礭¤¯°Û¤Ê¤ë¤â¤Î¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¡¢ FreeBSD ¤ËºÆÅý¹ç¤¹¤ë¤Î¤Ïº¤Æñ¤Ë¤Ê¤ë¶²¤ì¤¬¤¢¤ê¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤Î¸½¾õ¤Ë´Ø¤¹¤ëµÄÏÀ¤¬¤ª¤³¤Ê¤ï¤ì¤Æ¤¤¤ë &a.announce; ¤È &a.current; ¤Ø»²²Ã¤¹¤ì¤Ð¡¢¤³¤Î²ÄǽÀ­¤òºÇ¾®¸Â¤Ë¤Ç¤­¤Þ¤¹¡£ ½½Ê¬¿·¤·¤¤¥½¡¼¥¹¤òÊѹ¹¤Î¥Ù¡¼¥¹¤Ë¤Ç¤­¤ë¤³¤È¤¬³Î¼Â¤Ë¤Ê¤Ã¤¿¤È²¾Äꤷ¤Æ¡¢ ¼¡¤Î¥¹¥Æ¥Ã¥×¤Ï FreeBSD ¤ÎÊݼéôÅö¼Ô¤ØÁ÷¤ëº¹Ê¬¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤Ç¤¹¡£¤³¤ì¤Ï &man.diff.1; ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤ª¤³¤Ê¤¤¤Þ¤¹¡£ º¹Ê¬¥Õ¥¡¥¤¥ë¤ÎÄó½Ð¤Ë¤ª¤¤¤Æ¹¥¤Þ¤·¤¤ &man.diff.1; ¤Î·Á¼°¤Ï¡¢ diff -u ¤Ë¤è¤êÀ¸À®¤µ¤ì¤ë unified diff ·Á¼°¤Ç¤¹¡£ diff &prompt.user; diff -u oldfile newfile ¤Þ¤¿¤Ï¡¢ &prompt.user; diff -u -r -N olddir newdir ¤Ç¡¢»ØÄꤵ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê³¬ÁؤËÂФ¹¤ë unified diff ·Á¼°¤Îº¹Ê¬¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ ¾Ü¤·¤¤ÀâÌÀ¤Ï &man.diff.1; ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ º¹Ê¬¥Õ¥¡¥¤¥ë (&man.patch.1; ¥³¥Þ¥ó¥É¤Ç¥Æ¥¹¥È¤Ç¤­¤Þ¤¹) ¤òºî¤Ã¤¿¤é¡¢¤½¤ì¤é¤ò FreeBSD ¤Ë´Þ¤á¤Æ¤â¤é¤¦¤è¤¦¥á¡¼¥ë¤ÇÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£¥Ð¥°Êó¹ð¤È°ìÈÌŪ¤ÊÏÀɾ ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë &man.send-pr.1; ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£º¹Ê¬¥Õ¥¡¥¤¥ë¤À¤±¤ò &a.hackers; ¤ØÁ÷¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£¸«²á¤´¤µ¤ì¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£ ¤¢¤Ê¤¿¤ÎÄ󰯤ÏÂç´¿·Þ¤Ç¤¹ (¤³¤ì¤Ï¥Ü¥é¥ó¥Æ¥£¥¢¤Î¥×¥í¥¸¥§¥¯¥È¤Ç¤¹!)¡£ »ä¤¿¤Á¤Ï¿˻¤Ê¤Î¤Ç¤¹¤°¤Ë¼è¤ê¤«¤«¤ì¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢ ¤½¤ì¤Þ¤Ç PR ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë»Ä¤Ã¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡£ Êó¹ð¤Î³µÍ×¤Ë [PATCH] ¤È½ñ¤¤¤Æ¤¢¤Ê¤¿¤ÎÄ󰯤òɽÌÀ¤·¤Æ¤¯¤À¤µ¤¤¡£ uuencode ¤¢¤Ê¤¿¤¬¤½¤¦¤·¤¿Êý¤¬¤¤¤¤¤È»×¤¦¾ì¹ç (¤¿¤È¤¨¤Ð¡¢ ¥Õ¥¡¥¤¥ë¤ÎÄɲᢺï½ü¤Þ¤¿¤Ï̾¾ÎÊѹ¹¤Ê¤É)¡¢Êѹ¹¤ò tar ¥Õ¥¡¥¤¥ë¤Ë¤Þ¤È¤á¡¢&man.uuencode.1; ¥×¥í¥°¥é¥à¤Ë¤«¤±¤Æ¤¯¤À¤µ¤¤¡£&man.shar.1; ¥¢¡¼¥«¥¤¥Ö¤â´¿·Þ¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢ºÆÇÛÉÛ¤ËŬÍѤµ¤ì¤ëÃøºî¸¢¤ÎÌäÂê¤Ë¼«¿®¤¬¤Ê¤¤¤È¤¤¤Ã¤¿¡¢ ¤¢¤Ê¤¿¤ÎÊѹ¹¤¬Èù̯¤ÊÀ­¼Á¤Î¤â¤Î¤Ç¤¢¤ë²ÄǽÀ­¤¬¤¢¤ì¤Ð¡¢ &man.send-pr.1; ¤ÇÄó½Ð¤¹¤ë¤è¤ê¤à¤·¤íľÀÜ &a.core; ¤ØÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£&a.core; °¸¤Î¥á¡¼¥ë¤Ï¡¢ Æü¡¹¤Î»Å»ö¤Î¤«¤Ê¤ê¤Î³ä¹ç¤ò FreeBSD ¤Ë³ä¤¤¤Æ¤¤¤ë¿Í¤¿¤Á¤Î¡¢ ¤è¤ê¾®¤µ¤Ê¥°¥ë¡¼¥×¤ËÆÏ¤­¤Þ¤¹¡£ ¤³¤Î¥°¥ë¡¼¥×¤â¤Þ¤¿¤È¤Æ¤âË»¤·¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¡¢ ËÜÅö¤ËɬÍפʾì¹ç¤À¤±¥³¥¢¥Á¡¼¥à¤Ë¥á¡¼¥ë¤òÁ÷¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥³¡¼¥Ç¥£¥ó¥°¥¹¥¿¥¤¥ë¤Ë´Ø¤·¤Æ &man.intro.9; ¤ª¤è¤Ó &man.style.9; ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¡¼¥É¤òÄó½Ð¤¹¤ëÁ°¤Ë¤Ï¡¢ ¾¯¤Ê¤¯¤È¤â¤³¤Î¾ðÊó¤ò°Õ¼±¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤ë¤è¤¦¤ª´ê¤¤¤·¤Þ¤¹¡£ ¿·¤¿¤Ê¥³¡¼¥É¤ä¤­¤ï¤á¤ÆÉղòÁÃͤι⤤¥Ñ¥Ã¥±¡¼¥¸ Â礭¤ÊʬÎ̤κî¶ÈÀ®²Ì¤Î¹×¸¥¤ä¡¢½ÅÍפʿ·¤·¤¤µ¡Ç½¤ò FreeBSD ¤ËÄɲ乤ë¾ì¹ç¤Ë¤Ï¡¢ÂçÄñ¡¢Êѹ¹ÅÀ¤ò tar ¥Õ¥¡¥¤¥ë¤Ë¤Þ¤È¤á¤Æ uuencode ¤·¤ÆÁ÷¤ë¤«¡¢¥¦¥§¥Ö¥µ¥¤¥È¤ä FTP ¥µ¥¤¥È¤Ø¥¢¥Ã¥×¥í¡¼¥É¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ web ¤ä FTP ¥µ¥¤¥È¤¬ÍøÍѤǤ­¤Ê¤±¤ì¤Ð¡¢Å¬ÀÚ¤Ê FreeBSD ¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç狼¤½¤ÎÊѹ¹¤ò¤ª¤¯¥µ¥¤¥È¤òÄ󶡤·¤Æ¤¯¤ì¤ë¤è¤¦Íê¤ó¤Ç¤¯¤À¤µ¤¤¡£ ÂçÎ̤Υ³¡¼¥É¤ò°·¤Ã¤Æ¤¤¤ë»þ¤Ï¡¢ ¾ï¤ËÃøºî¸¢¤Ë´Ø¤¹¤ëÈù̯¤ÊÌäÂ꤬½Ð¤Æ¤­¤Þ¤¹¡£ FreeBSD ¤Ë´Þ¤á¤ë¥³¡¼¥É¤ÎÃøºî¸¢¤È¤·¤Æ¼õ¤±Æþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ï¡¢ °Ê²¼¤ÎÆó¤Ä¤Ç¤¹¡£ BSD copyright BSD ¥³¥Ô¡¼¥é¥¤¥È¡£ ¤³¤Î¥³¥Ô¡¼¥é¥¤¥È¤Ï ¸¢Íø¤ËÇû¤é¤ì¤Ê¤¤ À­³Ê¤È¾¦ÍÑ´ë¶È¤Ë¤È¤Ã¤Æ°ìÈÌŪ¤ÊÌ¥ÎϤò¤â¤Ä¤¿¤á¤ËºÇ¤â¹¥¤Þ¤ì¤Þ¤¹¡£ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ï¾¦ÍÑÍøÍѤòÁˤó¤À¤ê¤»¤º¡¢²¿¤«¤ò FreeBSD ¤ØÅê»ñ¤¹¤ëµ¤¤Ë¤Ê¤Ã¤¿¾¦¶È´Ø·¸¼Ô¤Ë¤è¤ë»²²Ã¤òÀѶËŪ¤Ë¾©Î夷¤Þ¤¹¡£ GPL GNU General Public License GNU General Public License GNU°ìÈ̸øÍ­»ÈÍѵöÂú¡¢¤Þ¤¿¤Ï GPL¡£ ¤³¤Î¥é¥¤¥»¥ó¥¹¤Ï¥³¡¼¥É¤ò¾¦ÍÑÌÜŪ¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Ë;ʬ¤ÊÅØÎϤ¬µá¤á¤é¤ì¤ë¤¿¤á¡¢ »ä¤¿¤Á¤Ë¤¢¤Þ¤êɾȽ¤¬Îɤ¤¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢ »ä¤¿¤Á¤Ï´û¤Ë GPL ²¼¤Î¹âÉʼÁ¤Ê¥³¡¼¥É (¥³¥ó¥Ñ¥¤¥é¡¢¥¢¥»¥ó¥Ö¥é¡¢¥Æ¥­¥¹¥È¥Õ¥©¡¼¥Þ¥Ã¥¿Åù) ¤ÎÄ󶡤ò¼õ¤±¤Æ¤ª¤ê¡¢»ä¤¿¤Á¤Ï¸½ºß¤½¤ì¤òɬÍפȤ·¤Æ¤¤¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢ ¤³¤Î¥é¥¤¥»¥ó¥¹¤Ë¤è¤ë¿·¤¿¤Ê¹×¸¥¤òµñÀ䤹¤ë¤È¤¤¤¦¤Î¤Ï¶ò¤«¤Ê¤³¤È¤Ç¤·¤ç¤¦¡£GPL ²¼¤Î¥³¡¼¥É¤Ï¥½¡¼¥¹¥Ä¥ê¡¼¤ÎÊ̤ÎÉôʬ¡¢¸½ºß¤Î¤È¤³¤í /sys/gnu ¤« /usr/src/gnu ¤ËÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢GPL ¤¬ÌäÂê¤È¤Ê¤ë¤è¤¦¤Ê¿Í¤Ï¡¢ ï¤Ç¤â´Êñ¤Ë¤½¤ì¤È¤ï¤«¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì°Ê³°¤Î¥¿¥¤¥×¤ÎÃøºî¸¢¤Ë¤è¤ë´ó£¤Ï¡¢FreeBSD ¤Ø´Þ¤á¤ë¤³¤È¤ò¹Íθ¤¹¤ëÁ°¤ËÃí°Õ¿¼¤¤¥ì¥Ó¥å¡¼¤ò¼õ¤±¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ÆÃ¤Ë¸ÂÄêŪ¤Ê¾¦ÍѤÎÃøºî¸¢¤¬Å¬ÍѤµ¤ì¤ë´ó£¤Ï°ìÈ̤˵ñÈݤµ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢ ºî¼Ô¤¬ÆÈ¼«¤Î·ÐÏ©¤Ç¤½¤Î¤è¤¦¤ÊÊѹ¹¤òÇÛÉÛ¤¹¤ë¤³¤È¤Ï¾ï¤Ë¾©Î夵¤ì¤Æ¤¤¤Þ¤¹¡£ ¤¢¤Ê¤¿¤ÎºîÉÊ¤Ë BSD ¥¹¥¿¥¤¥ë ¤ÎÃøºî¸¢¤òÉÕ¤±¤ë¤Ë¤Ï¡¢ Êݸ¤¿¤¤¥½¡¼¥¹¥³¡¼¥É¥Õ¥¡¥¤¥ë¤¹¤Ù¤Æ¤Î°ìÈֺǽé¤Ë°Ê²¼¤Î¥Æ¥­¥¹¥È¤òÆþ¤ì¤Æ¡¢ %% ¤Î´Ö¤òŬÀڤʾðÊó¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£ Copyright (c) %%ŬÀÚ¤Êǯ%% %%¤¢¤Ê¤¿¤Î̾Á°%%, %%¤¢¤Ê¤¿¤Î½£%% %%Í¹ÊØÈÖ¹æ%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%¤¢¤Ê¤¿¤Î̾Á°%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%¤¢¤Ê¤¿¤Î̾Á°%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $&os;$ ÊØµ¹¤ò¤Ï¤«¤ë¤¿¤á¡¢ ¤³¤Î¥Æ¥­¥¹¥È¤Î¥³¥Ô¡¼¤Ï¼¡¤Î¾ì½ê¤ËÃÖ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£ /usr/share/examples/etc/bsd-style-copyright ÌõÃí °Ê²¼¤Ï¿ÀÅÄÉÒ¹­»á¤è¤ê´ó£¤µ¤ì¤¿ bsd-style-copyright ¤ÎÆüËܸìÌõ¤Ç¤¹¡£ ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë´Þ¤á¤ë¤â¤Î¤Ï¸¶Ê¸¤ÎÊý¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤´ÍøÍѤ¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢¸¶Ê¸¤È¤Î´Ö¤Ë¼ñ»Ý¤Îº¹°Û¤¬À¸¤¸¤¿¾ì¹ç¡¢ ¸¶Ê¸¤ÎÆâÍÆ¤¬ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Î°Õ»×¤Ç¤¢¤ë¤â¤Î¤È¤·¤Þ¤¹¡£ Copyright (C) [ǯ] [¤¢¤Ê¤¿¤Î̾Á°] All rights reserved. ¥½¡¼¥¹¤È¥Ð¥¤¥Ê¥ê·Á¼°¤ÎºÆÇÛÉÛ¤ª¤è¤Ó»ÈÍѤϡ¢Êѹ¹¤Î̵ͭ¤Ë¤«¤«¤ï¤é¤º°Ê²¼¤Î ¾ò·ï¤òËþ¤¿¤¹¾ì¹ç¤Ë¸Â¤êµö²Ä¤µ¤ì¤ë: 1. ¥½¡¼¥¹¥³¡¼¥É¤ÎºÆÇÛÉۤϡ¢¾åµ­¤ÎÃøºî¸¢É½¼¨¡¦¤³¤Î¾ò·ï¤Î¥ê¥¹¥È¡¦²¼µ­¤Î ÈÝǧÀ¼ÌÀʸ¤òÊÝ»ý¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ 2. ¥Ð¥¤¥Ê¥ê·Á¼°¤ÎºÆÇÛÉۤϾ嵭¤ÎÃøºî¸¢É½¼¨¡¦¤³¤Î¾ò·ï¤Î¥ê¥¹¥È¡¦²¼µ­¤Î ÈÝǧÀ¼ÌÀʸ¤ò¡¢ÇÛÉÛʪ¤È¶¦¤ËÄ󶡤µ¤ì¤ëʸ½ñ¤ª¤è¤Ó/¤Þ¤¿¤Ï¾¤Î»ñÎÁ¤ÎÃæ¤Ë ´Þ¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ (ÌõÃí:¤³¤³¤«¤é¡ÖÈÝǧÀ¼ÌÀʸ¡×¤Ç¤¹) ¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ï[¤¢¤Ê¤¿¤Î̾Á°]¤ª¤è¤Ó¹×¸¥¼Ô¤Ë¤è¤Ã¤Æ ``¤¢¤ë¤¬¤Þ¤Þ¤Î¾õÂÖ'' ¤ÇÄ󶡤µ¤ì¡¢¾¦ÉÊÀ­¤ÈÆÃÄê¤ÎÌÜŪ¤ËÂФ¹¤ëŬ¹çÀ­¤Ë¤Ä¤¤¤Æ¤Î°ÅÌÛ¤ÎÊݾڤËα¤Þ ¤é¤º¡¢¤¤¤«¤Ê¤ëÌÀ¼¨¤ª¤è¤Ó°ÅÌÛ¤ÎÊݾڤòǧ¤á¤Ê¤¤¡£[¤¢¤Ê¤¿¤Î̾Á°]¤ª¤è¤Ó¹×¸¥ ¼Ô¤Ï¡¢¤¢¤é¤æ¤ëľÀÜŪ¡¦´ÖÀÜŪ¡¦¶öȯŪ¡¦ÆÃ¼ìŪ¡¦Åµ·¿Åª¡¦É¬Á³Åª¤Ê»³² (Âå ÂØÀ½Éʤޤ¿¤ÏÂåÂØ¥µ¡¼¥Ó¥¹¤Î³ÍÆÀÈñ; ¸úÍÑ¡¦¥Ç¡¼¥¿¡¦Íø±×¤ÎÁÓ¼º; ¤Þ¤¿¤Ï¶È̳ ÃæÃǤò´Þ¤ß¡¢¤Þ¤¿¤½¤ì¤À¤±¤Ëα¤Þ¤é¤Ê¤¤Â»³²) ¤ËÂФ·¤Æ¡¢¤¿¤È¤¨¤É¤Î¤è¤¦¤Ë¤· ¤ÆÀ¸¤¸¤¿¤È¤·¤Æ¤â¡¢¤½¤·¤Æ¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î»ÈÍѤˤè¤Ã¤Æ¤É¤Î¤è¤¦¤Ë¤Ç¤¢¤ì À¸¤¸¤ë¡¢·ÀÌó¾å¤Ç¤¢¤í¤¦¤È¡¢¸·Ì©¤ÊÀÕǤÆâ¤Ç¤¢¤í¤¦¤È¡¢¤¢¤ë¤¤¤ÏÉÔÀµ¹Ô°Ù (²á ¼º¤ä¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤ò´Þ¤à) ¤Ë¤ª¤±¤ë¾ì¹ç¤Ç¤¢¤í¤¦¤È¤â¡¢¤¤¤«¤Ê¤ëÀÕǤÏÀ¾å¤â¡¢ ¤¿¤È¤¨¤½¤Î¤è¤¦¤Ê»³²¤Î²ÄǽÀ­¤¬Í½¸«¤µ¤ì¤Æ¤¤¤¿¤È¤·¤Æ¤â¡¢°ìÀÚ¤ÎÀÕǤ¤ò»ý¤¿ ¤Ê¤¤¡£ ËÝÌõ: ¿ÀÅÄÉÒ¹­ ¸æ¶¨ÎÏ (¸Þ½½²»½ç¡¦·É¾Îά): ÃÓÅĸ¦Æó¡¢ÆâÀî ´î¾Ï¡¢Æ£Â¼ ±Ñ¼£¡¢¤à¤é¤¿¤·¤å¤¦¤¤¤Á¤í¤¦ ÌÝÌî ²í°ì¡¢²£ÅÄ¡÷±§Å﵆ ¶âÁ¬¡¢¥Ï¡¼¥É¥¦¥§¥¢¤Þ¤¿¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥¢¥¯¥»¥¹ »ä¤¿¤Á¤Ï FreeBSD ¥×¥í¥¸¥§¥¯¥È¤ÎÌÜŪ¤ò¿Ê¤á¤ë¤¿¤á¤Î´óÉÕ¤ò¾ï¤Ë´î¤ó¤Ç¼õ¤±Æþ¤ì¤Æ¤¤¤Þ¤¹¡£ »ä¤¿¤Á¤Î¤è¤¦¤Ê¥Ü¥é¥ó¥Æ¥£¥¢³èư¤Ç¤Ï¡¢ ¤Á¤ç¤Ã¤È¤·¤¿¤³¤È¤¬Â礤¤ËÌòΩ¤Ä¤Î¤Ç¤¹! ¤Þ¤¿°ìÈÌŪ¤Ë¡¢»ä¤¿¤Á¤Ï¼«Á°¤Ç¼þÊÕµ¡´ï¤òÇ㤦»ñ¶â¤¬ÉÔ­¤·¤Æ¤¤¤ë¤¿¤á¡¢ ¼þÊÕµ¡´ï¤Î¥µ¥Ý¡¼¥È¤ò½¼¼Â¤µ¤»¤ë¤Î¤Ë¥Ï¡¼¥É¥¦¥§¥¢¤Î´óÉդϤȤƤâ½ÅÍפǤ¹¡£ - - <anchor id="donations"/>»ñ¶â¤Î´óÉÕ + + »ñ¶â¤Î´óÉÕ The FreeBSD Foundation ¤Ï¡¢ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤ÎÌÜɸ¤ò¿ä¿Ê¤¹¤ë¤¿¤á¤ËÀßΩ¤µ¤ì¤¿¡¢ Èó±ÄÍø¤Î¡¢ÀǶâ¤òÌȽü¤µ¤ì¤¿ºâÃĤǤ¹¡£501(c)3 ¤ËŬ¹ç¤¹¤ëÃÄÂΤȤ·¤Æ¡¢ Foundation ¤Ï¥¢¥á¥ê¥«¹ç½°¹ñϢˮ½êÆÀÀǤʤé¤Ó¤Ë ¥³¥í¥é¥É½£½êÆÀÀǤò°ìÈ̤ËÌȽü¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ÌÈÀÇÃÄÂΤؤδóÉդϡ¢ ¿¤¯¤Î¾ì¹çϢˮÀ¯ÉܤβÝÀÇÂоݽêÆÀ¤«¤é¹µ½ü¤Ç¤­¤Þ¤¹¡£ ´óÉդϾ®ÀÚ¼ê¤Ç°Ê²¼¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
The FreeBSD Foundation 7321 Brockway Dr. Boulder, CO 80303 USA
¤Þ¤¿¡¢´óÉդμõ¤±ÉÕ¤±¤ò PayPal ¤òÄ̤¸¤Æ web ·Ðͳ¤Ç¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ´óÉÕ¤ò¤¹¤ë¤Ë¤Ï¡¢The FreeBSD Foundation ¤Î web ¥µ¥¤¥È¤ò¤¼¤Ò¤´Í÷¤¯¤À¤µ¤¤¡£ The FreeBSD Foundation ¤Ë´Ø¤¹¤ë¤³¤ì°Ê¾å¤Î¾ðÊó¤Ï The FreeBSD Foundation -- an Introduction ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ Foundation ¤Ø¤Î email ¤Ç¤ÎÏ¢Íí¤Ï bod@FreeBSDFoundation.org ¤Ø¤É¤¦¤¾¡£
¥Ï¡¼¥É¥¦¥§¥¢¤Î´ó£ ´ó£ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤ÏŬÀڤʻȤ¤Æ»¤Î¤¢¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Î´óÉÕ¤ò´î¤ó¤Ç¼õ¤±Æþ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥Ï¡¼¥É¥¦¥§¥¢¤ò´ó£¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Ê¤é¡¢ ´ó£ÉʼõÉÕ»ö̳¶É¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£
diff --git a/nl_NL.ISO8859-1/articles/contributing/article.xml b/nl_NL.ISO8859-1/articles/contributing/article.xml index ddde72f27e..48e9fd4bd4 100644 --- a/nl_NL.ISO8859-1/articles/contributing/article.xml +++ b/nl_NL.ISO8859-1/articles/contributing/article.xml @@ -1,564 +1,564 @@
Bijdragen aan &os; Vertaald door René Ladan. Dit artikel beschrijft de verschillende manieren waarop een individu of organisatie kan bijdragen aan het &os; Project. Jordan Hubbard Bijgedragen door &tm-attrib.freebsd; &tm-attrib.ieee; &tm-attrib.general; $FreeBSD$ $FreeBSD$ bijdragen Dus u wilt bijdragen aan &os;? Dat is mooi! &os; bouwt op de bijdragen van zijn gebruikers om te overleven. Uw bijdragen worden niet alleen gewaardeerd, ze zijn van vitaal belang voor de aanhoudende groei van &os;. In tegenstelling tot wat sommige mensen u laten geloven, hoeft u geen doorgewinterde programmeur of een goede vriend van het coreteam van &os; te zijn opdat uw bijdragen geaccepteerd worden. Een groot en groeiend aantal internationale bijdragende vrijwilligers, van een grote variëteit aan leeftijden en technische expertisegebieden, ontwikkelen &os;. Er is altijd meer werk te doen dan dat er mensen zijn om het uit te voeren, en meer hulp wordt altijd gewaardeerd. Het &os; project is verantwoordelijk voor een complete omgeving van een besturingssysteem, en niet slechts voor alleen een kernel of een paar verspreide gereedschappen. Hierom staan op onze TODO-lijsten een groot aantal verschillende taken: van documentatie, beta-testing en -presentatie, tot de systeeminstaller en ver gespecialiseerde soorten van kernelontwikkeling. Mensen van alle niveaus op bijna alle gebieden kunnen zeer waarschijnlijk meehelpen aan het project. Commerciële entiteiten die betrokken zijn in &os;-gerelateerde ondernemingen worden ook aangemoedigd om contact met ons op te nemen. Heeft u een speciale uitbreiding nodig om uw product te laten werken? U zult zien dat wij ontvankelijk zijn voor uw verzoeken, op de voorwaarde dat ze niet te vreemdsoortig zijn. Werkt u aan een product met toegevoegde waarde? Laat het ons weten! Misschien kunnen we op sommige punten samenwerken. De wereld van vrije software heeft te maken met vele bestaande aannamen over hoe software wordt ontwikkeld, verkocht, en onderhouden, en we verzoeken u om er op zijn minst nog eens naar te kijken. Wat is er nodig De onderstaande lijst van taken en deelprojecten representeert een soort amalgaam van verschillende TODO-lijsten en verzoeken van gebruikers. Voortdurende taken voor niet-programmeurs Veel mensen die betrokken zijn bij &os; zijn geen programmeurs. Het Project omvat documentatieschrijvers, Webontwerpers, en mensen ter ondersteuning. Deze mensen hoeven alleen een tijdsinvestering en een wil om te leren bij te dragen. Lees regelmatig de FAQ en het Handboek door. Laat het ons weten als er iets slecht is uitgelegd, is verlopen of gewoon helemaal verkeerd is. Of stuur een reparatie in (Docbook is niet moeilijk te leren, maar er is geen bezwaar tegen inzendingen in ASCII). Help bij het vertalen van &os;-documentatie in uw eigen taal. Als er al documentatie in uw taal bestaat, kunt u helpen door aanvullende documenten te vertalen of te controleren dat de vertalingen up-to-date zijn. Kijk eerst op Translations FAQ in de &os; Documentation Project Primer. U bindt zich niet aan het vertalen van elk &os;-document door dit te doen — als vrijwilliger kunt u zo veel of zo weinig vertalen als u wilt. Als iemand eenmaal begint te vertalen, sluiten andere mensen zich hier bijna altijd bij aan. Als u slechts de tijd of energie heeft om één document te vertalen, vertaal dan alstublieft de installatie-instructies. Lees af en toe (of regelmatig) de &a.questions; en &ng.misc;. Het kan veel voldoening geven om uw expertise te delen en mensen helpen met het oplossen van hun problemen; soms leert u zelf misschien iets nieuws! Deze fora kunnen ook een inspiratiebron zijn voor dingen om aan te werken. Voortdurende taken voor programmeurs Voor de meeste van de hier genoemde taken is een aanzienlijke tijdsinvestering, of diepe kennis van de kernel van &os;, of beide nodig. Er zijn echter ook vele nuttige taken die geschikt zijn voor weekend hackers. Als u &os;-CURRENT draait en een goede Internetverbinding heeft, dan is er een machine current.FreeBSD.org die elke dag een volledige uitgave bouwt—probeer zo nu en dan om de nieuwste uitgave ervan te installeren en rapporteer alle fouten in het proces. Lees de &a.bugs;. Er kunnen problemen zijn waarop u constructief commentaar kunt geven of waarvoor u testbare patches kunt geven. U kunt zelfs proberen om een van de problemen zelf op te lossen. Als u bugfixes weet die succesvol op -CURRENT zijn toegepast maar nog niet na een redelijk interval naar -STABLE zijn samengevoegd (normaliter een aantal weken), stuur de committer dan een beleefde herinnering. Verplaats bijgedragen software naar src/contrib in de broncodeboom. Verzeker dat de code in src/contrib up-to-date is. Bouw de broncodeboom (of slechts een gedeelte ervan) met extra waarschuwingen aangezet en ruim de waarschuwingen op. Repareer waarschuwingen voor ports die verouderde dingen zoals gets() of malloc.h gebruiken. Als u ports heeft bijgedragen en u &os;-specifieke veranderingen moest maken, stuur dan uw patches terug naar de originele auteurs (dit maakt het gemakkelijker voor u wanneer ze de volgende versie uitbrengen). Verkrijg kopieën van formele standaarden zoals &posix;. Enkele links over deze standaarden staan op de website van het &os; C99 & POSIX Standards Conformance Project. Vergelijk het gedrag van &os; met dat wat de standaard voorschrijft. Als het gedrag verschilt, met name in subtiele of obscure gedeelten van de specificatie, stuur er dan een PR over op. Indien mogelijk, zoek uit hoe het te repareren en voeg een patch bij het PR. Als u meent dat de standaard verkeerd is, vraag dan het standaardorgaan om de vraag te overwegen. Suggereer verdere taken voor deze lijst! Spit de PR-database door probleemrapportdatabase De &os; PR-lijst laat alle huidige actieve probleemrapportages en verzoeken voor verrijkingen zien die door gebruikers van &os; zijn ingestuurd. De PR-database bevat zowel taken voor programmeurs als voor niet-programmeurs. Bekijk de open PR's, en kijk of iets uw interesse wekt. Sommige van deze kunnen heel simpele taken zijn waarvoor gewoon een extra paar ogen nodig is om te bevestigen dat de reparatie in de PR een goede is. Andere kunnen veel complexer zijn, of bevatten in het geheel geen reparatie. Begin met de PR's die nog niet aan iemand anders zijn toegekend. Als een PR aan iemand anders is toegekend, maar het eruit ziet als iets wat u aankunt, stuur dan een email naar de persoon waaraan het is toegekend en vraag of u eraan kunt werken —ze kunnen al een patch hebben die klaar is om getest te worden, of verdere ideeën hebben die u met ze kan bespreken. Kies een van de punten van de <quote>Ideeën</quote> pagina De &os;-lijst van projecten en ideeën voor vrijwilligers is ook beschikbaar voor mensen die aan het &os;-project willen bijdragen. Deze lijst wordt regelmatig bijgewerkt en bevat punten voor zowel programmeurs als niet-programmeurs met informatie over elk project. Hoe bij te dragen Bijdragen aan het systeem vallen over het algemeen in één of meer van de volgende 5 categoriën: Foutrapportages en algemeen commentaar Een idee of suggestie van algemene technische aard dient naar &a.hackers; gemaild te worden. Evenzo kunnen mensen die in dit soort dingen geïnteresseerd zijn (en een tolerantie voor grote hoeveelheden mail hebben!) zich abonneren op de &a.hackers;. Zie Het &os; Handboek voor meer informatie over deze en andere mailinglijsten. Als u een bug vindt of een specifieke verandering opstuurt, gebruik dan alstublieft het programma &man.send-pr.1; of het webgebaseerde equivalent om het te rapporteren. Probeer om elk veld van het bugrapport in te vullen. Voeg patches direct bij het rapport tenzij ze 65kB overschrijden. Als de patch geschikt is om op de broncodeboom te worden toegepast, vermeld dan [PATCH] in het overzicht van het rapport. Wanneer u patches bijvoegt, gebruik dan geen knippen-en-plakken omdat knippen-en-plakken tabs in spaties omzet en de patches onbruikbaar maakt. Overweeg wanneer patches veel groter zijn dan 20 kB om ze te comprimeren (bijvoorbeeld met &man.gzip.1; of &man.bzip2.1;) en &man.uuencode.1; te gebruiken om hun gecomprimeerde vorm in uw probleemrapport op te nemen. Na het opsturen van een rapport dient u een bevestiging met daarbij een volgnummer te krijgen. Bewaar dit volgnummer zodat u ons op de hoogte kunt houden met details over het probleem door mail te sturen naar &a.bugfollowup;. Gebruik het nummer als het berichtonderwerp, bijvoorbeeld "Re: kern/3377". Aanvullende informatie voor elk foutrapport dient op deze manier opgestuurd te worden. Als u geen bevestiging ontvangt binnen een redelijke tijd (3 dagen tot een week, afhankelijk van uw emailverbinding) of als u, om enige reden, het commando &man.send-pr.1; niet kunt gebruiken, dan kunt u iemand vragen om het voor u op te sturen door mail te sturen naar de &a.bugs;. Zie ook dit artikel over het schrijven van goede probleemrapporten. Veranderingen aan de documentatie documentatie-inzendingen Veranderingen aan de documentatie worden overzien door de &a.doc;. Bekijk de &os; Documentation Primer voor volledige instructies. Stuur bijdragen en veranderingen (zelfs kleine zijn welkom!) door &man.send-pr.1; te gebruiken zoals beschreven is in Foutrapportages en algemeen commentaar. Veranderingen aan bestaande broncode &os;-CURRENT Een toevoeging of verandering aan de bestaande broncode is een iets lastigere zaak en hangt in grote mate af van hoe ver u achterloopt met de huidige toestand van &os;-ontwikkelingen. Er is een speciale doorgaande uitgave van &os; die bekend staat als &os;-CURRENT die op verscheidene manieren beschikbaar wordt gesteld voor het gemak van ontwikkelaars die actief aan het systeem werken. Zie Het &os; Handboek voor meer informatie over het verkrijgen en gebruiken van &os;-CURRENT. Het werken met oudere broncode betekent helaas dat uw veranderingen soms te verouderd of te ver afgedwaald zijn om eenvoudig in &os; gerëintegreerd te worden. De kansen hierop kunnen enigszins geminimaliseerd worden door een abonnement te nemen op de &a.announce; en de &a.current; lijsten, waar discussies over de huidige toestand van het systeem plaatsvinden. Aannemende dat u in staat bent om redelijk recente broncode veilig te stellen om uw veranderingen op te baseren, is de volgende stap het produceren van een verzameling diffs om naar de onderhoudsmensen van &os; te sturen. Dit wordt gedaan met het commando &man.diff.1;. Het geprefereerde &man.diff.1;-formaat voor het opsturen van patches is het verenigde uitvoerformaat gegenereerd door diff -u. diff &prompt.user; diff -u oudbestand nieuwbestand of &prompt.user; diff -u -r -N oudemap nieuwemap zouden een verzameling van verenigde diffs genereren voor het gegeven bronbestand of maphiërarchie. Zie &man.diff.1; voor meer details. Als u eenmaal een verzameling aan diffs heeft (welke u kunt testen met het commando &man.patch.1;), dient u ze op te sturen voor opname in &os;. Gebruik het programma &man.send-pr.1; zoals beschreven in Foutrapportages en algemeen commentaar. Stuur de diffs niet alleen naar de &a.hackers; op omdat ze dan verloren raken! We stellen uw toezending erg op prijs (dit is een vrijwilligersproject!); omdat we het druk hebben kan het zijn dat we het niet direct kunnen behandelen, maar het blijft in de PR-database totdat we het doen. Geef uw toezending aan door [PATCH] in het overzicht van het rapport op te nemen. uuencode Als u het geschikt acht (bijvoorbeeld als u bestanden toegevoegd, verwijderd, of hernoemd heeft), bundelt u uw veranderingen in een tar-bestand en draait u het programma &man.uuencode.1; erop. Archieven die met &man.shar.1; zijn aangemaakt zijn ook welkom. Als uw verandering mogelijk gevoelig van aard is, bijvoorbeeld als u onzeker bent over copyright-zaken die de verdere distributie ervan dicteren, dan dient u het direct naar &a.core; te sturen in plaats van het met &man.send-pr.1; op te sturen. Het &a.core; bereikt een veel kleinere groep mensen die veel dagelijks werk op &os; doen. Merk op dat deze groep het ook erg druk heeft, daarom dient u alleen mail naar hen te sturen als dit echt noodzakelijk is. Bekijk alstublieft &man.intro.9; en &man.style.9; voor wat informatie over de codeerstijl. We zouden het op prijs stellen als u op zijn minst op de hoogte bent van deze informatie voordat u code opstuurt. Nieuwe code of grote pakketten met toegevoegde waarde In het geval van een significante bijdrage van een grote bijdrage aan werk, of van een belangrijke nieuwe mogelijkheid aan &os;, is het bijna altijd nodig om de veranderingen als uuencoded tar-bestanden te versturen of ze naar een web- of FTP-site up te loaden zodat andere mensen ze kunnen benaderen. Als u geen toegang heeft tot een web- of FTP-site, vraag dan een geschikte &os;-mailinglijst om iemand de veranderingen voor u te laten hosten. Bij het werken met grote hoeveelheden code komt het gevoelige onderwerp van copyright ook altijd naar voren. Acceptabele copyrights voor code voor opname in &os; zijn: Het BSD-copyrightBSD-copyright. Dit copyright wordt het meeste verkozen wegens zijn natuur van geen voorwaarden en de algemene aantrekkelijkheid voor commerciële ondernemingen. Ver van het ontmoedigen van dit soort commercieel gebruik, moedigt het &os; Project zulke participatie door commerciële interesses actief aan die uiteindelijk geneigd kunnen zijn om zelf iets in &os; te investeren. De GNU General Public LicenseGNU General Public License, of GPLGPLGNU General Public License. Deze licentie is niet zo populair bij ons wegens de extra hoeveelheid moeite die gevraagd wordt van iedereen die de code voor commerciële doeleinden gebruikt, maar vanwege de grote hoeveelheid aan ge-GPL-de code die we momenteel nodig hebben (compiler, assembler, tekstopmaker, enz.) zou het dom zijn om aanvullende bijdragen onder deze licentie te verwerpen. Code onder de GPL gaat ook naar een ander deel van de boom, namelijk /sys/gnu of /usr/src/gnu, en is daardoor eenvoudig te herkennen voor iedereen voor wie de GPL problemen geeft. Bijdragen die onder een ander soort copyright vallen moeten zorgvuldig worden herzien voordat hun opname in &os; wordt overwogen. Bijdragen waarvoor nogal beperkende commerciële copyrights gelden worden over het algemeen verworpen, alhoewel de auteurs altijd worden aangemoedigd om zulke veranderingen via hun eigen kanalen beschikbaar te maken. Om een copyright in BSD-stijl op uw werk te plaatsen, dient u de volgende tekst aan het uiterste begin van elk broncodebestand te plaatsen dat u wilt beschermen, en daarbij de tekst tussen de %% door de juiste informatie te vervangen: Copyright (c) %%juiste_jaren_hier%% %%uw_naam_hier%%, %%uw_staat%% %%uw_postcode%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%uw_naam_hier%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%uw_naam_hier%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Id$ Voor uw gemak staat een kopie van deze tekst in /usr/share/examples/etc/bsd-style-copyright. Geld, hardware, of Internettoegang We accepteren altijd graag donaties om het &os; Project verder te verspreiden en in een vrijwilligersonderneming zoals het onze kan een klein beetje een groot verschil maken! Hardwaredonaties zijn ook erg belangrijk om onze lijst van ondersteunde randapparatuur uit te breiden aangezien ons het over het algemeen aan de middelen ontbreekt om zelf zulke dingen te kopen. - - <anchor id="donations"/>Geld doneren + + Geld doneren De &os; Foundation is een non-profit, belastinguitgesloten stichting die opgericht is om de doelen van het &os; Project verder te verspreiden. Als een 501(c)3-entiteit is de Foundation over het algemeen uitgesloten van inkomstenbelasting van de overheid van de Verenigde Staten alsook van inkomstenbelasting van de staat Colorado. Donaties aan een entiteit die van belasting is uitgesloten zijn vaak aftrekbaar van het belastbaar overheidsinkomen. Donaties kunnen als check verstuurd worden aan:
The FreeBSD Foundation P.O. Box 20247 Boulder, CO 80308 USA
De &os; Foundation is nu in staat om donaties via het web met PayPal te ontvangen. Om een donatie te maken bezoekt u de website van de Foundation. Meer informatie over de &os; Foundation kan gevonden worden in The FreeBSD Foundation -- an Introduction. Om de Foundation per email te bereiken, schrijft u naar bod@FreeBSDFoundation.org.
Hardware doneren Het &os; Project accepteert graag hardwaredonaties die het goed kan gebruiken. Als u geïnteresseerd bent in het donerendonaties van hardware, neem dan contact op met het Donations Liaison Office.
diff --git a/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.xml b/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.xml index 66e34f2665..2f54fd60a6 100644 --- a/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.xml +++ b/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.xml @@ -1,3493 +1,3493 @@ &os; verkrijgen CD-ROM en DVD uitgevers Winkelproducten in doos &os; is beschikbaar in een doos (&os; CD-ROMs, additionele software en gedrukte documentatie) bij verschillende verkopers:
Frys Electronics WWW:
CD-ROMs en DVD's &os; CD-ROMs en DVD's zijn te koop bij veel online winkels:
&os; Mall, Inc. 700 Harvest Park Ste F Brentwood, CA 94513 Verenigde Staten Telefoon: +1 925 240-6652 Fax: +1 925 674-0821 E–mail: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Duitsland Telefoon: (089) 428 419 WWW:
JMC Software Ierland Telefoon: 353 1 6291282 WWW:
Linux Distro UK 42 Wharfedale Road Margate CT9 2TB Verenigd Koninkrijk WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA Verenigd Koninkrijk Telefoon: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Polen Telefoon: +48 22 860 18 18 E–mail: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australië Telefoon: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Rusland Telefoon: +7-812-3125208 E–mail: info@linuxcenter.ru WWW:
Distributeurs Wederverkopers die &os; CD-ROM producten willen verkopen kunnen contact opnemen met een distributeur:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 Verenigde Staten Telefoon: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 Verenigde Staten Telefoon: +1 952 947-0822 Fax: +1 952 947-0876 E–mail: sales@kudzuenterprises.com
LinuxCenter.Ru Galernaya Street, 55 Sint-Petersburg 190000 Rusland Telefoon: +7-812-3125208 E–mail: info@linuxcenter.ru WWW:
FTP sites De officiële broncode voor &os; is beschikbaar via anoniem toegankelijke FTP in de hele wereld via vele mirrorsites. De site heeft een goede verbinding en staat veel verbindingen toe, maar het is waarschijnlijk beter om een mirrorsite te zoeken die dichterbij is (zeker als het doel is ook een soort mirrorsite op te zetten). &os; is beschikbaar via de onderstaande anonieme FTP mirror sites. Bij het kiezen van anonieme FTP voor het verkrijgen van &os; wordt aangeraden een site die dichtbij ligt te kiezen. De mirrorsites die in de lijst staan als Primaire Mirrorsites hebben meestal het complete &os; archief (alle beschikbare versies voor alle architecturen) maar downloads zijn waarschijnlijk sneller van een site die in het land of de regio van de gebruiker staat. De regionale sites hebben de meeste recente versies voor de meest populaire architecturen, maar hebben wellicht niet het complete archief. Alle sites geven toegang via anonieme FTP, maar een aantal sites hebben ook andere toegangsmogelijkheden. De toegangsmogelijkheden voor iedere site staan tussen haakjes achter de hostnaam. &chap.mirrors.ftp.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.ftp.inc; BitTorrent BitTorrent De ISO-afbeeldingen voor de basis-CD's van de uitgaven zijn beschikbaar via BitTorrent. Een verzameling torrent-bestanden om de afbeeldingen binnen te halen is beschikbaar op http://torrents.freebsd.org:8080 De software voor de BitTorrent-cliënt is beschikbaar via de port net-p2p/py-bittorrent, of als voorgecompileerd pakket. Nadat de ISO-afbeelding met BitTorrent is gedownload, kan het op CD of DVD gebrand worden zoals beschreven in . Subversion-sites svn Sinds juli 2012 gebruikt &os; Subversion als het primaire versiebeheersysteem om alle broncode van &os;, de documentatie, en de Portscollectie op te slaan. Subversion is hoofdzakelijk een gereedschap voor ontwikkelaars. De meeste gebruikers dienen &os; Update te gebruiken om het basissysteem van &os; bij te werken, en Portsnap om de &os; Portscollectie bij te werken. Het spiegelsite-netwerk voor Subversion van &os; bevindt zich nog in de beginfase en zal waarschijnlijk veranderen. Reken er niet op dat deze lijst van spiegelsites statisch is. In het bijzonder zullen de SSL-certificaten van de servers op een gegeven moment veranderen. In Subversion worden URLs gebruikt om een depot aan te duiden in de vorm van protocol://hostnaam/pad. Spiegelsites kunnen verschillende protocollen ondersteunen zoals hieronder is gespecificeerd. Het eerste gedeelte van het pad is het &os;-depot wat benaderd moet worden. Er zijn drie verschillende depots, base voor de broncode van het basissysteem van &os;, ports voor de Portscollectie, en doc voor de documentatie. De URL svn://svn0.us-east.FreeBSD.org/ports/head/ specificeert de hoofdtak van het ports-depot op de spiegelsite svn0.us-east.FreeBSD.org, gebruikmakend van het svn-protocol. Alle spiegelsites bevatten alle depots. De &os; Subversion hoofdserver, svn.FreeBSD.org, is publiekelijk toegankelijk als alleen-lezen. Dit kan in de toekomst veranderen, dus gebruikers worden aangeraden om een van de officiële spiegelsites te gebruiken. Gebruik http://svnweb.FreeBSD.org om de Subversion-depots van &os; met een webbrowser te bekijken. Naam Protocollen Locatie SSL-vingerafdruk svn0.us-west.FreeBSD.org svn, http, https Verenigde Staten, Californië SHA1 79:35:8F:CA:6D:34:D9:30:44:D1:00:AF:33:4D:E6:11:44:4D:15:EC svn0.us-east.FreeBSD.org svn, http, https Verenigde Staten, New Jersey SHA1 06:D1:23:DE:5E:7A:F7:2B:7A:7E:74:95:5F:54:8D:5C:B0:D6:2E:8F Anonieme CVS - - <anchor id="anoncvs-intro"/>Inleiding + + Inleiding CVS anoniem Anonieme CVS (of ook wel bekend als anoncvs) is een functie die beschikbaar is met de hulpprogramma's die bij &os; zitten om te synchroniseren met een elders aanwezig CVS depot. Het staat gebruikers van &os; onder andere toe om zonder bijzondere rechten alleen-lezen operaties uit te voeren op een van de officiële anoncvs servers van het &os; project. Om het te kunnen gebruiken dient de omgevingsvariabele CVSROOT zo ingesteld te worden dat hij wijst naar de gewenste anoncvs server, dient het bekende wachtwoord anoncvs bij het commando cvs login opgegeven te worden en kan daarna &man.cvs.1; gebruikt worden om het te benaderen als ieder lokaal aanwezig depot. Het commando cvs login slaat de wachtwoorden die voor aanmelden bij de CVS server op in een bestand met de naam .cvspass in de map HOME. Als dit bestand niet bestaat, is het mogelijk dat er een foutmelding wordt gegeven als cvs login de eerste keer wordt gebruikt. Dat kan opgelost worden door een leeg bestand .cvspass te maken en dan opnieuw aan te melden. Hoewel de diensten CVSup en anoncvs beiden vrijwel dezelfde functie invullen, zijn er redenen die de keuze voor de synchronisatiemethode beïnvloeden. In een notendop is CVSup veel efficiënter in het gebruik van netwerkbronnen en is het de meest geavanceerde van de twee, maar daar staat iets tegenover. Voor het gebruik van CVSup moet eerst een speciale client geïnstalleerd en ingesteld worden voordat er bits kunnen gaan stromen en dat kan dan alleen in de redelijk grote brokken die in CVSup collections heten. Anoncvs kan daarentegen gebruikt worden om alles te bekijken van een individueel bestand tot aan een specifiek programma (als ls of grep) door aan de naam van de CVS module te refereren. Ook anoncvs is alleen geschikt voor alleen-lezen operaties op het CVS depot, dus als het de bedoeling is om lokaal ontwikkelwerk en hetzelfde depot met delen uit het &os; project te combineren, dan biedt alleen CVSup daar een oplossing voor. - - <anchor id="anoncvs-usage"/>Anonieme CVS gebruiken + + Anonieme CVS gebruiken Het instellen van &man.cvs.1; om gebruik te maken van een Anoniem CVS depot is een kwestie van het instellen van de omgevingsvariabele CVSROOT op een van de anoncvs servers van het &os; project. Op het moment van schrijven zijn de volgende servers beschikbaar: Frankrijk: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (Gebruik cvs login voor pserver-modus en voer het wachtwoord anoncvs in wanneer het gevraagd wordt. Voor ssh is geen wachtwoord nodig.) Taiwan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (Gebruik cvs login voor pserver-modus en voer elk willekeurig wachtwoord in wanneer het gevraagd wordt. Voor ssh is geen wachtwoord nodig.) SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub Omdat met CVS vrijwel iedere versie die ooit beschikbaar is geweest uitgecheckt kan worden, is het van belang op de hoogte te zijn van de &man.cvs.1; vlag voor revisie () en welke waarden zie zoal kan aannemen in het &os; Project depot. Er zijn twee soorten labels (tags): revisielabels en taklabels (branch). Een revisielabel refereert aan een specifieke revisie. De betekenis blijft van dag tot dag gelijk. Aan de andere kant refereert een taklabel aan de laatste revisie in een bepaalde ontwikkellijn op een bepaald moment. Omdat een taklabel niet refereert aan een specifieke revisie, kan die morgen anders zijn dan vandaag. bevat revisielabels waar gebruikers in geïnteresseerd kunnen zijn. Nogmaals: deze zijn allemaal niet geldig voor de Portscollectie omdat de Portscollectie geen meerdere ontwikkel takken kent. Als een specifiek taklabel wordt aangegeven, worden als alles goed gaat, de laatste revisies uit een bepaalde ontwikkellijn ontvangen. Als er een oudere versie opgehaald moet worden, kan dat door met de vlag een datum aan te geven. In &man.cvs.1; staan meer details. Voorbeelden Hoewel het sterk wordt aangeraden eerst de hulppagina's voor &man.cvs.1; grondig door te lezen, volgen hier een aantal snelle voorbeelden die feitelijk aangeven hoe Anonieme CVS gebruikt kan worden. SSH gebruiken om de <filename>src/</filename> tree uit te checken: &prompt.user; cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established. DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts. Iets uitchecken uit -CURRENT (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Op de prompt, voer een willekeurig wachtwoord in wachtwoord. &prompt.user; cvs co ls SSH gebruiken om de <filename>src/</filename> structuur uit te checken: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. De versie van &man.ls.1; in de 8-STABLE tak uitchecken: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Op de prompt, voer een willekeurig wachtwoord in wachtwoord. &prompt.user; cvs co -rRELENG_8 ls Een lijst wijzigingen maken (als unified diffs) voor &man.ls.1; &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Op de prompt, voer een willekeurig wachtwoord in wachtwoord. &prompt.user; cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls Uitzoeken welke modulenamen gebruikt kunnen worden: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Op de prompt, voer een willekeurig wachtwoord in wachtwoord. &prompt.user; cvs co modules &prompt.user; more modules/modules Andere bronnen De volgende bronnen kunnen bijdragen aan een beter begrip van CVS: CVS Tutorial van California Polytechnic State University. CVS Home, de CVS gemeenschap voor ontwikkeling en ondersteuning. CVSweb is de &os; Project webinterface voor CVS. CTM gebruiken CTM CTM is een methode om een map elders gesynchroniseerd te houden met een centrale. Het is ontwikkeld voor gebruik met de &os; broncode, hoewel sommigen het ook voor andere doeleinden handig vinden. Er bestaat op dit moment weinig tot geen documentatie over het proces van het maken van delta's. Voor informatie over het gebruik van CTM kan het beste contact gezocht worden met de &a.ctm-users.name; mailinglijst. Waarom <application>CTM</application> gebruiken? CTM geeft een lokale kopie van de &os; broncode. Die is in een aantal smaken beschikbaar. Of het gaat om slechts één tak of de complete CVS structuur, CTM kan het bieden. CTM is gewoon gemaakt voor actieve ontwikkelaars die met &os; werken, maar geen of een slechte Internetverbinding hebben of gewoon automatisch de laatste wijzigingen willen ontvangen. De meest actieve takken kennen op z'n hoogst drie delta's per dag. Het is het overwegen waard om ze per automatische mail te laten sturen. De grootte van de updates wordt altijd zo klein mogelijk gehouden. Meestal kleiner dan 5 K en soms (in tien procent van de gevallen) is het 10–50 K. In uitzonderlijke gevallen komt het voor dat een mail van 100 K of meer wordt gestuurd. Het is wel van belang op de hoogte te zijn van de valkuilen die een rol spelen bij het direct werken met broncode in plaats van met een voorverpakte release. Dit geldt nog meer als wordt gewerkt met de current code. Het lezen van Bijblijven met &os; wordt sterk aangeraden. Wat is er nodig om <application>CTM</application> te gebruiken? Voor het gebruik van CTM zijn twee dingen nodig: het CTM programma en de initiële delta's om de applicatie te voeden en naar een current niveau te komen. CTM is al onderdeel van &os; sinds versie 2.0 is uitgebracht en is te vinden in /usr/src/usr.sbin/ctm, als de broncode aanwezig is. De delta's voor CTM kunnen op twee manieren komen: met FTP of per e-mail. De volgende FTP sites bieden ondersteuning voor CTM: Er staan er nog meer in de paragraaf mirrors. FTP de relevante map en download het bestand README vanaf daar. Voor delta's via e-mail: Er dient een abonnement genomen te worden op een van de CTM distributielijsten. &a.ctm-src-cur.name; ondersteunt de complete Subversion structuur. &a.ctm-src-cur.name; ondersteunt het hoofd van de ontwikkeltak. &a.ctm-src-9.name; ondersteunt de 9.X release tak, enzovoort. Om te abonneren kan geklikt worden op de bovenstaande links of via &a.mailman.lists.link; kan in een lijst geklikt worden op de lijst waarvoor een abonnement gewenst is. De lijstpagina bevat instructies over hoe te abonneren. Na het ontvangen van CTM updates per mail, kan ctm_rmail gebruikt worden voor het uitpakken en verwerken. ctm_rmail kan zelfs direct vanuit /etc/aliases gebruikt worden om het proces volledig automatisch te laten verlopen. In de hulppagina van ctm_rmail staan meer details. Welke methode ook gebruikt wordt voor de CTM delta's, het is belangrijk een abonnement te nemen op de &a.ctm-announce.name; mailinglijst. In de toekomst worden alleen op die lijst aankondigingen gedaan over het CTM systeem. Abonneren kan door op de link hierboven te klikken en de instructies te volgen. <application>CTM</application> de eerste keer gebruiken Voordat de CTM delta's gebruikt kunnen worden, moet er een startpunt voor bepaald worden. Eerst moet bepaald worden wat er al is. Het is mogelijk te beginnen vanuit een lege map. Dan moet een initiële Empty delta gebruikt worden om een door CTM ondersteunde structuur te starten. Het is de bedoeling dat deze start delta's ooit voor het gemak op de CD-ROM komen te staan, maar dit is nog niet het geval. Omdat de structuren tientallen megabytes groot zijn, heeft het de voorkeur om al met iets te beginnen. Als er een -RELEASE CD-ROM beschikbaar is, kan de initiële broncode gekopieerd of uitgepakt worden. Dit bespaart nogal wat dataverkeer. De start delta's kunnen herkend worden aan de X die aan het nummer is toegevoegd (bijvoorbeeld src-cur.3210XEmpty.gz). De nummering achter de X komt overeen met de oorsprong van het initiële zaad. Empty is een lege map. Er wordt in het algemeen iedere honderd delta's een basistransitie voor Empty gemaakt. Die zijn trouwens groot: 70 tot 80 Megabytes gzip data is normaal voor de XEmpty delta's. Als er een delta als startpunt is gekozen, zijn ook alle delta's met hogere volgnummers nodig. <application>CTM</application> in het dagelijks leven gebruiken Om de delta's toe te passen: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* CTM begrijpt delta's in gzip formaat, dus het niet nodig om eerst gunzip te gebruiken. Dat spaart diskruimte. Tenzij het zeker is van de veiligheid van het proces, doet CTM niets met de structuur. Om een delta te verifiëren kan ook de vlag gebruikt worden en dan komt CTM ook niet aan een structuur. Dan wordt alleen de integriteit van de delta gecontroleerd en of die zonder problemen op de huidige structuur kan worden toegepast. CTM kent nog meer opties die in de hulppagina's worden besproken. Meer is er niet. Iedere keer dat er een delta wordt ontvangen, moet die door CTM gehaald worden om de broncode bijgewerkt te houden. Delta's kunnen het beste niet verwijderd worden als het lastig is ze opnieuw te downloaden. Dan kunnen ze het beste bewaard worden voor het geval er eens iets gebeurt. Zelfs als er alleen floppy's beschikbaar zijn, is het wellicht verstandig die te gebruiken met fdwrite. Lokale wijzigingen behouden Een ontwikkelaar wil graag experimenteren met bestanden in de structuur en die bestanden veranderen. CTM ondersteunt lokale wijzigingen in beperkte mate: alvorens te kijken of bestand foo bestaat, zoekt het eerst naar foo.ctm. Als dat bestand bestaat, past CTM de wijzigigen daarop toe in plaats van op foo. Dit gedrag biedt een eenvoudige mogelijkheid om lokale wijzigingen bij te houden. Dat kan dus door bestanden die gewijzigd gaan worden te kopiëren naar een bestand met dezelfde naam met de toevoeging .ctm. Dan kan er vrijelijk gespeeld worden met de code, terwijl CTM het bestand .ctm bijwerkt. Andere interessante mogelijkheden van <application>CTM</application> Uitvinden wat precies wordt veranderd met bijwerken Het is mogelijk een lijst met wijzigingen te maken die CTM zou maken op het broncodedepot met de optie . Dit is nuttig als het gewenst is om een logboek bij te houden van de wijzigingen, de te wijzigen bestanden voor- of na te bewerken op welke manier dan ook, of als de gebruiker gewoon een beetje paranoïde is. Back-ups maken vóór bijwerken Soms kan het wenselijk zijn om een back-up te maken van alle bestanden die gewijzigd gaan worden door een CTM update. Met back-upt CTM alle bestanden die gewijzigd gaan worden door een CTM delta naar back–upbestand. Te wijzigen bestanden door bijwerken beperken Soms is het wenselijk de reikwijdte voor een CTM update te beperken of kan het wenselijk zijn om maar een paar bestanden bij te werken uit een aantal delta's. Een lijst met bestanden die CTM mag bewerken kan aangegeven worden met de opties en en het opgeven van regular expressions. Om bijvoorbeeld een bijgewerkte kopie van lib/libc/Makefile te maken uit de verzameling met opgeslagen CTM delta's, kan het volgende commando uitgevoerd worden: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* Voor ieder te wijzigen bestand in een CTM delta worden de opties en toegepast in de volgorde waarin ze op de commandoregel staan. Het bestand wordt alleen door CTM verwerkt als het passend is bevonden na het toepassen van alle parameters in en . Toekomstige plannen voor <application>CTM</application> Die zijn er: Een of andere vorm van authenticatie in het CTM systeem bouwen zodat vervalste CTM updates afgevangen kunnen worden; De opties voor CTM opruimen omdat ze verwarrend zijn geworden. Nog meer Er zijn ook delta's voor de portscollectie, maar daar is nog niet zo veel belangstelling voor. CTM mirrors CTM/&os; is op de volgende mirrorsites via anonieme FTP beschikbaar. Als voor CTM anonieme FTP wordt gebruikt, heeft het de voorkeur een site die in geografische zin dichtbij is te gebruiken. Bij problemen kan contact gezocht worden met de &a.ctm-users.name; mailinglijst. Californië, Bay Area, officiële bron Zuid-Afrika, back-upserver voor oude delta's Taiwan/R.O.C. Als er geen mirror dichtbij is of als die incompleet is, kan een zoekmachine als alltheweb gebruikt worden. CVSup gebruiken Inleiding CVSup is een softwarepakket voor het verspreiden en bijwerken van broncodestructuren vanaf een master CVS depot op een andere server. De &os; broncode wordt beheerd in een broncode depot op een centrale ontwikkelmachine in Californië. Met CVSup kunnen &os; gebruikers op eenvoudige wijze hun broncode bijwerken. CVSup gebruikt een zogenaamd pull model voor het bijwerken. In het pull-model vraagt iedere client de server om updates als die nodig zijn. De server wacht passief op een verzoek om updates van zijn clients. Alle updates worden dus op initiatief van de client gedaan. De server stuurt nooit ongevraagde updates. Gebruikers moeten de CVSup client handmatig draaien om te updaten of een cron taak instellen om op regelmatige basis bij te werken. De term CVSup, op de gegeven wijze geschreven, doelt op het complete softwarepakket. De belangrijkste componenten zijn de client cvsup, die op de machine van een gebruiker draait, en de server cvsupd, die op alle &os; mirrorsites draait. In de &os; documentatie en op de mailinglijsten zijn referenties aan sup te vinden. Sup was de voorloper van CVSup en diende hetzelfde doel. CVSup wordt op dezelfde manier gebruikt als sup en gebruikt zelfs bestanden met instellingen die ook te gebruiken zijn met sup. Sup wordt niet langer gebruikt in het &os; project omdat CVSup sneller en flexibeler is. De csup applicatie is een herschreven versie van CVSup in de C taal. Het grootste voordeel ervan is dat het sneller is en dat het niet afhankelijk is van de Modula-3 taal, dus dat hoeft niet geïnstalleerd te worden als afhankelijkheid. Sterker nog de applicatie wordt standaard meegeleverd. als ervoor gekozen is om csup te gebruiken, sla dan de installatie stappen voor CVSup over en vervang de referenties naar CVSup met csup terwijl de rest van het artikel gevolgd wordt. Installatie De meest eenvoudige wijze van installatie van CVSup is met het voorgecompileerde pakket net/cvsup uit de &os; pakkettencollectie. Als het gewenst is, kan CVSup ook uit de broncode gebouwd worden in net/cvsup. De port net/cvsup is afhankelijk van het Modula-3 systeem en dat kan wel even duren en er is ook nogal wat schijfruimte voor nodig om het te downloaden en te bouwen. Als CVSup gebruikt gaat worden op een machine waarop geen &xorg; staat, zoals een server, dan dient de port waar geen CVSup GUI bij zit geïnstalleerd te worden: net/cvsup-without-gui. CVSup instellingen De werking van CVSup wordt gestuurd door een bestand met instellingen met de naam supfile. Er staan een aantal supfiles als voorbeeld in de map /usr/share/examples/cvsup/. De informatie in een supfile beantwoordt de volgende vragen voor CVSup: Welke bestanden moeten ontvangen worden? Welke versies daarvan moeten ontvangen worden? Waar moeten ze vandaan komen? Waar moeten ze komen te staan? Waar moet cvsup zijn statusbestanden bijhouden? In de volgende paragrafen wordt een supfile bestand opgebouwd door achtereenvolgens alle gestelde vragen te beantwoorden. Als eerste wordt de algemene structuur van een supfile beschreven. Een supfile is een tekstbestand. Commentaar begint met een # en loopt tot het einde van de regel. Lege regels en regels die alleen commentaar bevatten worden genegeerd. Iedere regel die overblijft slaat op een groep bestanden die ontvangen moet worden. De regel begint met de naam van een collectie, een logische groep bestanden op de server. De naam van de collectie geeft de server aan welke bestanden er gestuurd moeten worden. Na de naam van de collectie komen er geen of meer velden die gescheiden worden door witruimte. Die velden beantwoorden de hierboven gestelde vragen. Er zijn twee soorten velden: vlagvelden en waardevelden. Een vlagveld bestaat uit een alleenstaand sleutelwoord, bijvoorbeeld delete of compress. Een waardeveld begint ook met een sleutelwoord, maar het sleutelwoord wordt direct (zonder witruimte) gevolgd door = en een tweede woord. release=cvs is bijvoorbeeld een waardeveld. In een supfile wordt meestal aangegeven dat er meerdere collecties ontvangen moeten worden. Het is mogelijk om een supfile te structureren door expliciet alle relevante velden aan te geven voor iedere collectie, maar dat maakt de regels in de supfile nogal lang en het is onhandig omdat de meeste velden hetzelfde zijn voor alle collecties in een supfile. CVSup biedt een systeem met standaardinstellingen om dit probleem te omzeilen. Regels die beginnen met de speciale pseudo-collectienaam *default kunnen gebruikt worden om standaarden in te stellen voor de collecties die er in de supfile achteraan komen. Een standaardwaarde kan voor individuele collecties overschreven worden door een andere waarde in de collectie zelf aan te geven. Standaarden kunnen ook middenin het bestand gewijzigd of aangevuld worden met extra *default regels. Na deze achtergronden wordt er nu een supfile samengesteld voor het ontvangen en bijwerken van de hoofd broncodestructuur van &os;-CURRENT. Welke bestanden moeten ontvangen worden? De bestanden die via CVSup beschikbaar zijn, zijn beschikbaar in groepen die collecties heten. De beschikbare collecties staan beschreven in de volgende paragraaf. In dit voorbeeld is het de bedoeling dat de hele hoofd broncodestructuur voor &os; wordt ontvangen. Daar is één grote collectie voor: src-all. De eerste stap in het maken van een supfile is het opsommen van de gewenste collecties, één per regel (in dit geval maar één regel): src-all Welke versies daarvan moeten ontvangen worden? Met CVSup kan vrijwel iedere versie van de broncode die ooit heeft bestaan opgehaald worden. Dat kan omdat de cvsupd server direct vanaf het CVS depot werkt, dat alle versies bevat. Er kan aangegeven welke ontvangen moeten worden met de waardevelden tag= en . Voorzichtigheid is geboden bij het correct aangeven van velden met tag=. Sommige labels zijn alleen geldig voor bepaalde collecties of bestanden. Als ze incorrect worden aangeven of als er een spelfout wordt gemaakt in een label, verwijdert CVSup bestanden waarvan dat waarschijnlijk niet de bedoeling is. Het label tag=. dient eigenlijk alleen gebruikt te worden voor de ports-* collecties. Het veld tag= benoemt een symbolisch label in het depot. Er zijn twee soorten labels: revisielabels en taklabels. Een revisielabel refereert aan een specifieke revisie. De betekenis blijft altijd hetzelfde. Een taklabel refereert echter aan de laatste revisie van een gegeven ontwikkellijn op een gegeven moment. Omdat een taklabel niet refereert aan een specifieke revisie, kan het morgen iets anders betekenen dan vandaag. beschrijft de meest interessante taklabels. Als er in het instellingenbestand van CVSup een label wordt aangegeven, moet dat vooraf gegaan worden door tag= (RELENG_8 zal tag=RELENG_8 worden). Voor de Portscollectie is alleen tag=. relevant. Labels dienen exact zo ingegeven te worden als ze staan beschreven. CVSup kan geen onderscheid maken tussen geldige en ongeldige labels. Als er een spelfout in een label wordt gemaakt, doet CVSup alsof er een geldig label is ingegeven dat aan geen enkel bestand refereert. Dan zal CVSup de bestaande broncode wissen. Bij het aangeven van een taklabel wordt meestal de laatste versie van de bestanden voor een bepaalde ontwikkellijn ontvangen. Om een oudere versie te ontvangen kan in het veld een datum opgegeven worden. In &man.cvsup.1; staat hoe dat werkt. Om bijvoorbeeld &os;-CURRENT te ontvangen dient het volgende aan het begin van supfile toegevoegd te worden: *default tag=. Er ontstaat een belangrijk speciaal geval als er geen velden met tag= of date= worden aangegeven. In dat geval worden de eigenlijke RCS bestanden direct uit het CVS depot van de server ontvangen in plaats van dat een bepaalde versie wordt ontvangen. Ontwikkelaars geven in het algemeen de voorkeur aan deze optie. Door zelf een kopie van de broncode op hun systeem te hebben, krijgen ze de mogelijkheid om zelf door eerdere versies van bestanden te bladeren en de geschiedenis ervan te bekijken. Dit voordeel kost wel veel schijfruimte. Waar moeten ze vandaan komen? Het veld host= wordt gebruikt om cvsup aan te geven waar de updates vandaan moeten komen. Dat kan van elke CVSup mirrorsite, hoewel er wordt aangeraden een site die geografisch dichtbij ligt te kiezen. In dit voorbeeld wordt een fictieve &os; distributiesite gebruikt, cvsup99.FreeBSD.org: *default host=cvsup99.FreeBSD.org In een werkelijke situatie dient de hostnaam gewijzigd te worden in een host die echt bestaat voordat CVSup gaat draaien. Iedere keer dat cvsup wordt gestart, kan er een andere host op de commandoregel opgegeven worden met de optie . Waar moeten ze komen te staan? Het veld prefix= geeft cvsup aan waar de ontvangen bestanden terecht moeten komen. In dit voorbeeld worden de bestanden direct in de hoofd broncodestructuur /usr/src geplaatst. De map src is al impliciet in de gekozen collecties, vandaar dat het onderstaande de juiste instelling is: *default prefix=/usr Waar moet cvsup zijn statusbestanden bijhouden? De CVSup client houdt statusbestanden bij in een map die base wordt genoemd. Die bestanden helpen CVSup efficiënter te werken door bij te houden welke updates al eerder zijn ontvangen. Hier wordt de standaard basemap gebruikt, /var/db: *default base=/var/db De bovenstaande instelling wordt standaard gebruikt als die niet wordt aangegeven in de supfile, dus hij is eigenlijk niet nodig. Als de basemap niet al bestaat, moet die gemaakt worden. De cvsup client weigert te draaien als de basemap niet bestaat. Allerlei supfile instellingen: Er is nog een regel die in een supfile moet staan: *default release=cvs delete use-rel-suffix compress release=cvs geeft de server aan dat de informatie uit het &os; hoofd CVS depot moet komen. Dat is eigenlijk altijd het geval, maar er zijn mogelijkheden die buiten het bereik van dit handboek vallen. delete geeft CVSup het recht om bestanden te verwijderen. Dit moet altijd aangegeven worden zodat CVSup de broncode altijd kan bijwerken. CVSup gaat voorzichtig om met het verwijderen van bestanden waar het verantwoordelijk voor is. Extra bestanden in de structuur worden met rust gelaten. use-rel-suffix is nogal geheimzinnig. Voor de nieuwsgierigen staat er meer over in &man.cvsup.1;. Anders kan het gewoon ingesteld worden zonder erover na te denken. compress schakelt het gebruikt van gzip compressie in voor het communicatiekanaal. Als de verbinding een E1 of sneller is, hoeft er geen compressie gebruikt te worden. Anders helpt het aanzienlijk. Alles combinerend: Hieronder staat de hele supfile uit het voorbeeld: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all Het bestand <filename>refuse</filename> Zoals hierboven al is aangegeven, gebruikt CVSup een pull methode. Dat betekent eigenlijk dat er een verbinding wordt gemaakt met de CVSup server en die zegt dan: Dit kan er van mij gedownload worden..., en dan antwoordt de client met: Oké, ik wil dit en dat en zus en zo. Met de standaardinstellingen haalt de CVSup client alle bestanden die bij een collectie en het label horen dat in het bestand met de instellingen is opgegeven. Maar dat is niet altijd wenselijk, in het bijzonder als de doc, ports of www structuren worden gesynchroniseerd. De meeste mensen kunnen geen vier of vijf talen lezen en die hebben de taalspecifieke bestanden dus niet nodig. Als de Portscollectie met CVSup wordt opgehaald, is het mogelijk om iedere collectie apart aan te geven (bijvoorbeeld ports-astrology, ports-biology, enzovoort, in plaats van eenvoudigweg ports-all). Maar omdat de doc en www structuren geen taalspecifieke collecties hebben, moet er gebruik gemaakt worden van een van de vele mooie mogelijkheden van CVSup: het bestand refuse. Het bestand refuse geeft CVSup in feite aan dat niet ieder bestand uit een collectie opgehaald moet worden. Het geeft dus aan dat de client bepaalde bestanden van de server moet weigeren. Het bestand refuse staat in (of kan gemaakt worden in) base/sup/. base staat ingesteld in supfile. De standaardlocatie voor base is /var/db. De standaardplaats voor refuse is dus /var/db/sup/refuse. Het bestand refuse heeft een erg eenvoudige opmaak. Het bevat de namen van de bestanden die niet gedownload mogen worden. Als een gebruiker bijvoorbeeld geen andere talen spreekt dan Engels en Nederlands, maar de Nederlandse vertaling van de documentatie hoeft niet binnengehaald te worden, dan kan het volgende in het bestand refuse gezet worden: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc/mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* Dit gaat zo door voor de andere talen. De volledige lijst staat in het &os; CVS depot. Met deze handige eigenschap kunnen gebruikers met langzamere verbindingen of zij die per minuut voor hun Internetverbinding betalen waardevolle tijd besparen omdat er geen bestanden meer gedownload worden die nooit gebruikt worden. Meer informatie over refuse bestanden en andere leuke mogelijkheden van CVSup staat in de handleiding. <application>CVSup</application> draaien Nu kan het bijwerken beginnen. Het commando is best wel eenvoudig: &prompt.root; cvsup supfile De supfile is de naam van het supfile bestand dat gebruikt moet worden. Aangenomen dat er X11 draait op een machine, toont cvsup een GUI venster met wat knoppen om de bekende acties uit te voeren. Het proces start na het klikken op de knop go. Omdat in dit voorbeeld de werkelijke structuur in /usr/src wordt bijgewerkt, moet het programma als root uitgevoerd worden, zodat cvsup de rechten heeft die het nodig heeft om de bestanden bij te werken. Het is voorstelbaar dat de benodigde rechten, het net gemaakte bestand met instellingen en het voor de eerste keer draaien van een programma zorgt voor wat onrust. Daarom is het mogelijk proef te draaien zonder dat er bestanden gewijzigd worden. Dat kan door ergens een lege map te maken en een extra argument mee te geven op de commandoregel: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest De opgegeven map is de bestemming voor alle bestandsupdates. CVSup bekijkt wel de bestanden in /usr/src, maar wijzigt ze niet. Alle updates belanden in /var/tmp/dest/usr/src. CVSup werkt ook de statusbestanden niet bij als het op deze wijze wordt uitgevoerd. De nieuwe versies van de bestanden worden naar de aangegeven map geschreven. Als er maar leestoegang is tot /usr/src, hoeft een gebruiker zelfs geen root te zijn bij het uitvoeren van dit experiment. Als er geen X11 draait of als het niet wenselijk is een GUI te gebruiken, dan kunnen daarvoor opties op de commandoregel meegegeven worden bij het draaien van cvsup: &prompt.root; cvsup -g -L 2 supfile De optie geeft CVSup aan dat de GUI niet gebruikt hoeft te worden. Dit gebeurt automatisch als X11 niet draait, maar anders moet het aangegeven worden. De optie geeft CVSup aan dat details getoond moeten worden over alle bestanden die bijgewerkt worden. Er zijn drie niveaus van uitvoerigheid, van tot . Standaard is het 0, wat betekent dat er geen enkel bericht wordt getoond, met uitzondering van foutmeldingen. Er zijn nog veel andere opties beschikbaar. Met cvsup -H wordt een lijst met korte uitleg getoond. Beschrijvingen met meer details staan in de handleiding. Als het bijwerken op de gewenste manier loopt, kan het regulier draaien van CVSup met &man.cron.8; ingesteld worden. Natuurlijk hoort CVSup zonder GUI te draaien als het programma vanuit de &man.cron.8; draait. <application>CVSup</application> bestandscollecties De via CVSup beschikbare bestandscollecties zijn hiërarchisch georganiseerd. Er zijn een paar grote collecties en die zijn opgedeeld in kleinere subcollecties. Het ontvangen van een collectie is hetzelfde als het ontvangen van alle subcollecties. De hiërarchische relatie tussen de collecties wordt hieronder aangegeven door het niveau van inspringen. De meest gebruikte collecties zijn src-all en ports-all. De andere collecties worden door kleine groepen mensen gebruikt voor bijzondere doeleinden en sommige mirrorsites hebben ze niet allemaal. cvs-all release=cvs Het &os; CVS hoofddepot, inclusief de cryptografische code. distrib release=cvs Bestanden die betrekking hebben op het verspreiden en spiegelen van &os;. ports-all release=cvs De &os; Portscollectie. Als ports-all (het complete portssysteem) niet bijgewerkt hoeft te worden, maar enkele van de onderstaande subcollecties, dan moet altijd ook de ports-base subcollectie bijgewerkt worden! Als er iets wijzigt in de infrastructuur van de ports waar ports–base voor staat, is het vrijwel zeker dat die wijzigingen heel snel door echte ports gebruikt gaan worden. Dus als alleen de echte ports bijgewerkt worden en als die gebruik maken van nieuwe mogelijkheden, dan is de kans groot dat het bouwen daarvan foutloopt met een vage foutmelding. Het eerste dat gedaan moeten worden is ervoor zorgen dat de ports-base subcollectie is bijgewerkt. Bij het zelf bouwen van een lokale kopie van ports/INDEX moet ports-all geaccepteerd worden (de hele port structuur). Het bouwen van ports/INDEX met een gedeeltelijke structuur wordt niet ondersteund. Zie ook de FAQ. ports-accessibility release=cvs Software voor minder valide gebruikers. ports-arabic release=cvs Ondersteuning voor de Arabische taal. ports-archivers release=cvs Archiveringshulpmiddelen. ports-astro release=cvs Astronomie ports. ports-audio release=cvs Geluidsondersteuning. ports-base release=cvs De infrastructuur van de Portscollectie. Bestanden uit de mappen Mk/ en Tools/ van /usr/ports. Zie ook de belangrijke waarschuwing hierboven: deze subcollectie dient altijd bijgewerkt te worden als er een onderdeel van de &os; Portscollectie wordt bijgewerkt! ports-benchmarks release=cvs Benchmarks. ports-biology release=cvs Biologie. ports-cad release=cvs Computer aided design programma's. ports-chinese release=cvs Ondersteuning voor de Chinese taal. ports-comms release=cvs Communicatiesoftware. ports-converters release=cvs Karaktercode omzetters. ports-databases release=cvs Databases. ports-deskutils release=cvs Dingen die op een bureaublad stonden voordat computers waren uitgevonden. ports-devel release=cvs Ontwikkelhulpmiddelen. ports-dns release=cvs DNS gerelateerde software. ports-editors release=cvs Editors. ports-emulators release=cvs Emulatoren voor besturingssystemen. ports-finance release=cvs Monetaire, financiële en gerelateerde applicaties. ports-ftp release=cvs FTP client en server programma's. ports-games release=cvs Spelletjes. ports-german release=cvs Ondersteuning voor de Duitse taal. ports-graphics release=cvs Grafische programma's. ports-hebrew release=cvs Ondersteuning voor de Hebreeuwse taal. ports-hungarian release=cvs Ondersteuning voor de Hongaarse taal. ports-irc release=cvs Internet Relay Chat hulpprogramma's. ports-japanese release=cvs Ondersteuning voor de Japanse taal. ports-java release=cvs &java; programma's. ports-korean release=cvs Ondersteuning voor de Koreaanse taal. ports-lang release=cvs Programmeertalen. ports-mail release=cvs Mailsoftware. ports-math release=cvs Numerieke rekensoftware. ports-misc release=cvs Verschillende programma's. ports-multimedia release=cvs Multimedia software. ports-net release=cvs Netwerksoftware. ports-net-im release=cvs Berichtenuitwisseling. ports-net-mgmt release=cvs Netwerkbeheersoftware. ports-net-p2p release=cvs Peer to Peer Netwerken ports-news release=cvs USENET news software. ports-palm release=cvs Softwareondersteuning voor Palm apparatuur. ports-polish release=cvs Ondersteuning voor de Poolse taal. ports-ports-mgmt release=cvs Programma's om ports en pakketten te beheren. ports-portuguese release=cvs Ondersteuning voor de Portugese taal. ports-print release=cvs Printsoftware. ports-russian release=cvs Ondersteuning voor de Russische taal. ports-science release=cvs Wetenschappelijk. ports-security release=cvs Beveiligingsprogramma's. ports-shells release=cvs Commandoregelshells. ports-sysutils release=cvs Systeemprogramma's. ports-textproc release=cvs Tekstverwerkingsprogramma's (zonder desktop publishing). ports-ukrainian release=cvs Ondersteuning voor de Oekraïense taal. ports-vietnamese release=cvs Ondersteuning voor de Viëtnamese taal. ports-www release=cvs Software gerelateerd aan het Wereldwijde Web. ports-x11 release=cvs Ports voor het X windowsysteem. ports-x11-clocks release=cvs X11 klokken. ports-x11-drivers release=cvs X11-stuurprogramma's ports-x11-fm release=cvs X11 bestandsbeheerders. ports-x11-fonts release=cvs X11 lettertypen en lettertypeprogramma's. ports-x11-toolkits release=cvs X11 hulpprogramma's. ports-x11-servers release=cvs X11 servers. ports-x11-themes X11 thema's. ports-x11-wm release=cvs X11 vensterbeheerprogramma's. projects-all release=cvs Broncode's voor de &os; projecten repository. src-all release=cvs De hoofdbroncode van &os;, inclusief de cryptografische code. src-base release=cvs Verschillende bestanden bovenin de /usr/src structuur. src-bin release=cvs Gebruikersprogramma's die wellicht nodig zijn in single-user modus (/usr/src/bin). src-cddl release=cvs Programma's en bibliotheken die uitgegeven zijn onder de CDDL licentie (/usr/src/cddl). src-contrib release=cvs Programma's en bibliotheken van buiten het &os; project die vrijwel ongewijzigd gebruikt worden (/usr/src/contrib). src-crypto release=cvs Cryptografische programma's en bibliotheken van buiten het &os; project, die vrijwel ongewijzigd worden gebruikt (/usr/src/crypto). src-eBones release=cvs Kerberos en DES (/usr/src/eBones). Niet gebruikt in recente uitgaves van &os;. src-etc release=cvs Bestanden met systeeminstellingen (/usr/src/etc). src-games release=cvs Spelletjes (/usr/src/games). src-gnu release=cvs Programma's die onder de GNU Public License vallen (/usr/src/gnu). src-include release=cvs Headerbestanden (/usr/src/include). src-kerberos5 release=cvs Kerberos5 beveiligingspakket (/usr/src/kerberos5). src-kerberosIV release=cvs KerberosIV beveiligingspakket (/usr/src/kerberosIV). src-lib release=cvs Bibliotheken (/usr/src/lib). src-libexec release=cvs Systeemprogramma's die meestal door andere programma's worden uitgevoerd (/usr/src/libexec). src-release release=cvs Bestanden die nodig zijn voor het maken van een &os; release (/usr/src/release). src-release release=cvs Statisch gelinkte programma's voor nood onderhoud, zie &man.rescue.8; (/usr/src/rescue). src-sbin release=cvs Systeemprogramma's voor single-user modus (/usr/src/sbin). src-secure release=cvs Cryptografische bibliotheken en commando's (/usr/src/secure). src-share release=cvs Bestanden die tussen meerdere systemen gedeeld kunnen worden (/usr/src/share). src-sys release=cvs De kernel (/usr/src/sys). src-sys-crypto release=cvs Cryptografische kernelcode (/usr/src/sys/crypto). src-tools release=cvs Verschillende hulpprogramma's voor het onderhoud van &os; (/usr/src/tools). src-usrbin release=cvs Gebruikersprogramma's (/usr/src/usr.bin). src-usrsbin release=cvs Systeemprogramma's (/usr/src/usr.sbin). distrib release=self De instellingenbestanden van de CVSup server zelf. Gebruikt door de CVSup mirrorsites. gnats release=current De GNATS bug-tracking database. mail-archive release=current &os; mailinglijstarchief. www release=current De voorbewerkte &os; websitebestanden (niet de broncode). Gebruikt door WWW mirrorsites. Voor meer informatie De CVSup FAQ en andere informatie over CVSup is te vinden op De CVSup Homepage. De meeste &os;–gerelateerde discussie over CVSup vindt plaats op de &a.hackers;. Daar worden nieuwe versies van de software aangekondigd, net als op de &a.announce;. Voor vragen en foutrapporten moet een kijkje genomen worden op de CVSup FAQ CVSup sites CVSup servers voor &os; draaien op de onderstaande sites. &chap.mirrors.cvsup.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.cvsup.inc; CVS labels Bij het ophalen of bijwerken van broncode met cvs of CVSup moet een revisielabel meegegeven worden. Een revisielabel refereert aan een specifieke lijn in de &os; ontwikkeling of aan een specifiek moment in de tijd. Het eerste type heet taklabel (branch tag) en het tweede type heet releaselabel (release tag). Taklabels Deze zijn, met uitzondering van HEAD (dat altijd een geldig label is), alleen van toepassing op de src/ structuur. De ports/, doc/ en www/ structuren kennen geen takken. HEAD Symbolische naam voor de hoofdlijn van &os;-CURRENT. Ook de standaard als geen revisie is aangegeven. In CVSup wordt dit label aangegeven met een . (dat is dus geen interpunctie, maar een echt . karakter). In CVS is dit de standaard als er geen revisielabel is aangegeven. Het is meestal geen goed idee om een checkout of update van CURRENT broncode op een STABLE machine te doen, tenzij dat expliciet de bedoeling is. RELENG_9 De ontwikkellijn voor &os;-9.X, ook bekend als &os; 9-STABLE. RELENG_9_0 De uitgavetak voor &os;-9.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8 De ontwikkellijn voor &os;-8.X, ook bekend als &os; 8-STABLE. RELENG_8_3 De uitgavetak voor &os;-8.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8_2 De uitgavetak voor &os;-8.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8_1 De uitgavetak voor &os;-8.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8_0 De uitgavetak voor &os;-8.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7 De ontwikkellijn voor &os;-7.X, ook bekend als &os; 7-STABLE. RELENG_7_4 De uitgavetak voor &os;-7.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_3 De uitgavetak voor &os;-7.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_2 De uitgavetak voor &os;-7.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_1 De uitgavetak voor &os;-7.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_0 De uitgavetak voor &os;-7.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6 De ontwikkellijn voor &os;-6.X, ook bekend als &os; 6-STABLE. RELENG_6_4 De uitgavetak voor &os;-6.4, alleen gebruikt voor beveiligingsadviezen en andere kritieke reparaties. RELENG_6_3 De uitgavetak voor &os;-6.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_2 De releasetak voor &os;-6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_1 De releasetak voor &os;-6.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_0 De releasetak voor &os;-6.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5 De ontwikkellijn voor &os;-5.X, ook bekend als &os; 5-STABLE. RELENG_5_5 De releasetak voor &os;-5.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_4 De releasetak voor &os;-5.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_3 De releasetak voor &os;-5.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_2 De releasetak voor &os;-5.2 en &os;-5.2.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_1 De releasetak voor &os;-5.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_0 De releasetak voor &os;-5.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4 De ontwikkellijn voor &os;-4.X, ook bekend als &os; 4-STABLE. RELENG_4_11 De releasetak voor &os;-4.11, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_10 De releasetak voor &os;-4.10, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_9 De releasetak voor &os;-4.9, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_8 De releasetak voor &os;-4.8, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_7 De releasetak voor &os;-4.7, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_6 De releasetak voor &os;-4.6 en &os;-4.6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_5 De releasetak voor &os;-4.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_4 De releasetak voor &os;-4.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_3 De releasetak voor &os;-4.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_3 De ontwikkellijn voor &os;-3.X, ook bekend als 3.X-STABLE. RELENG_2_2 De ontwikkellijn voor &os;-2.2.X, ook bekend als 2.2-STABLE. Deze tak is sterk verouderd. Releaselabels Deze labels refereren aan een specifiek moment in de tijd waarop een versie van &os; is uitgegeven. Het proces om tot een release te komen is gedetailleerder beschreven in de Release Engineering Informatie en Release Proces documenten. De src structuur gebruikt labelnamen die beginnen met RELENG_ labels. De ports en doc structuren gebruiken labels waarvan de naam begint met het label RELEASE. De www tenslotte, is niet gemarkeerd met een bijzondere naam bij uitgaven. RELENG_9_0_0_RELEASE &os; 9.0 RELENG_8_3_0_RELEASE &os; 8.3 RELENG_8_2_0_RELEASE &os; 8.2 RELENG_8_1_0_RELEASE &os; 8.1 RELENG_8_0_0_RELEASE &os; 8.0 RELENG_7_4_0_RELEASE &os; 7.4 RELENG_7_3_0_RELEASE &os; 7.3 RELENG_7_2_0_RELEASE &os; 7.2 RELENG_7_1_0_RELEASE &os; 7.1 RELENG_7_0_0_RELEASE &os; 7.0 RELENG_6_4_0_RELEASE &os; 6.4 RELENG_6_3_0_RELEASE &os; 6.3 RELENG_6_2_0_RELEASE &os; 6.2 RELENG_6_1_0_RELEASE &os; 6.1 RELENG_6_0_0_RELEASE &os; 6.0 RELENG_5_5_0_RELEASE &os; 5.5 RELENG_5_4_0_RELEASE &os; 5.4 RELENG_4_11_0_RELEASE &os; 4.11 RELENG_5_3_0_RELEASE &os; 5.3 RELENG_4_10_0_RELEASE &os; 4.10 RELENG_5_2_1_RELEASE &os; 5.2.1 RELENG_5_2_0_RELEASE &os; 5.2 RELENG_4_9_0_RELEASE &os; 4.9 RELENG_5_1_0_RELEASE &os; 5.1 RELENG_4_8_0_RELEASE &os; 4.8 RELENG_5_0_0_RELEASE &os; 5.0 RELENG_4_7_0_RELEASE &os; 4.7 RELENG_4_6_2_RELEASE &os; 4.6.2 RELENG_4_6_1_RELEASE &os; 4.6.1 RELENG_4_6_0_RELEASE &os; 4.6 RELENG_4_5_0_RELEASE &os; 4.5 RELENG_4_4_0_RELEASE &os; 4.4 RELENG_4_3_0_RELEASE &os; 4.3 RELENG_4_2_0_RELEASE &os; 4.2 RELENG_4_1_1_RELEASE &os; 4.1.1 RELENG_4_1_0_RELEASE &os; 4.1 RELENG_4_0_0_RELEASE &os; 4.0 RELENG_3_5_0_RELEASE &os;-3.5 RELENG_3_4_0_RELEASE &os;-3.4 RELENG_3_3_0_RELEASE &os;-3.3 RELENG_3_2_0_RELEASE &os;-3.2 RELENG_3_1_0_RELEASE &os;-3.1 RELENG_3_0_0_RELEASE &os;-3.0 RELENG_2_2_8_RELEASE &os;-2.2.8 RELENG_2_2_7_RELEASE &os;-2.2.7 RELENG_2_2_6_RELEASE &os;-2.2.6 RELENG_2_2_5_RELEASE &os;-2.2.5 RELENG_2_2_2_RELEASE &os;-2.2.2 RELENG_2_2_1_RELEASE &os;-2.2.1 RELENG_2_2_0_RELEASE &os;-2.2.0 <application>rsync</application> sites De volgende sites bieden &os; aan via het protocol rsync. Het programma rsync werkt vrijwel hetzelfde als &man.rcp.1;, maar kent meer mogelijkheden en gebruikt het rsync remote-update protocol, dat alleen verschillen tussen twee groepen bestanden overbrengt, waardoor het synchroniseren via een netwerk drastisch wordt versneld. Dit kan het beste gedaan worden als er een mirrorsite voor de &os; FTP server of het &os; CVS depot draait. De rsync suite is voor veel besturingssystemen beschikbaar. Voor &os; kan het pakket of de port uit net/rsync geïnstalleerd worden. Tsjechië rsync://ftp.cz.FreeBSD.org/ Beschikbare collecties: ftp: een gedeeltelijke mirror van de &os; FTP server. &os;: een volledige mirror van de &os; FTP server. Nederland rsync://ftp.nl.FreeBSD.org/ Beschikbare collecties: &os;: een volledige mirror van de &os; FTP server. Rusland rsync://ftp.mtu.ru/ Beschikbare collecties: &os;: een volledige spiegel van de FTP-server van &os;. &os;-gnats: De GNATS bug-tracking database. &os;-archief: spiegel van de &os; Archive FTP-server. Zweden rsync://ftp4.se.freebsd.org/ Beschikbare verzamelingen: &os;: een volledige spiegel van de FTP-server van &os;. Taiwan rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ Beschikbare collecties: FreeBSD: een volledige mirror van de &os; FTP server. Verenigd Koninkrijk rsync://rsync.mirrorservice.org/ Beschikbare collecties: sites/ftp.freebsd.org: een volledige mirror van de &os; FTP server. Verenigde Staten van Amerika rsync://ftp-master.FreeBSD.org/ Deze server mag alleen gebruikt worden door &os; primaire mirrorsites. Beschikbare collecties: &os;: het masterarchief van de &os; FTP server. acl: de &os; master ACL lijst. rsync://ftp13.FreeBSD.org/ Beschikbare collecties: &os;: een volledige mirror van de &os; FTP server.
diff --git a/pl_PL.ISO8859-2/books/handbook/mirrors/chapter.xml b/pl_PL.ISO8859-2/books/handbook/mirrors/chapter.xml index ffc3c005d7..0cec1ebd9a 100644 --- a/pl_PL.ISO8859-2/books/handbook/mirrors/chapter.xml +++ b/pl_PL.ISO8859-2/books/handbook/mirrors/chapter.xml @@ -1,3204 +1,3204 @@ Obtaining FreeBSD CDROM and DVD Publishers Retail Boxed Products FreeBSD is available as a boxed product (FreeBSD CDs, additional software, and printed documentation) from several retailers:
CompUSA WWW:
Frys Electronics WWW:
CD and DVD Sets FreeBSD CD and DVD sets are available from many online retailers:
BSD Mall by Daemon News PO Box 161 Nauvoo, IL 62354 USA Phone: +1 866 273-6255 Fax: +1 217 453-9956 Email: sales@bsdmall.com WWW:
BSD-Systems Email: info@bsd-systems.co.uk WWW:
FreeBSD Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 USA Phone: +1 925 674-0783 Fax: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany Phone: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW:
JMC Software Ireland Phone: 353 1 6291282 WWW:
Linux CD Mall Private Bag MBE N348 Auckland 1030 New Zealand Phone: +64 21 866529 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom Phone: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland Phone: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Phone: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Phone: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Distributors If you are a reseller and want to carry FreeBSD CDROM products, please contact a distributor:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 USA Phone: +1 650 694-4949 Fax: +1 650 694-4953 Email: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Phone: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Phone: +1 952 947-0822 Fax: +1 952 947-0876 Email: sales@kudzuenterprises.com
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Phone: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Phone: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
FTP Sites The official sources for FreeBSD are available via anonymous FTP from a worldwide set of mirror sites. The site is well connected and allows a large number of connections to it, but you are probably better off finding a closer mirror site (especially if you decide to set up some sort of mirror site). The FreeBSD mirror sites database is more accurate than the mirror listing in the Handbook, as it gets its information from the DNS rather than relying on static lists of hosts. Additionally, FreeBSD is available via anonymous FTP from the following mirror sites. If you choose to obtain FreeBSD via anonymous FTP, please try to use a site near you. The mirror sites listed as Primary Mirror Sites typically have the entire FreeBSD archive (all the currently available versions for each of the architectures) but you will probably have faster download times from a site that is in your country or region. The regional sites carry the most recent versions for the most popular architecture(s) but might not carry the entire FreeBSD archive. All sites provide access via anonymous FTP but some sites also provide access via other methods. The access methods available for each site are provided in parentheses after the hostname. &chap.mirrors.ftp.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.ftp.inc; Anonymous CVS - - <anchor id="anoncvs-intro"/>Introduction + + Introduction CVS anonymous Anonymous CVS (or, as it is otherwise known, anoncvs) is a feature provided by the CVS utilities bundled with FreeBSD for synchronizing with a remote CVS repository. Among other things, it allows users of FreeBSD to perform, with no special privileges, read-only CVS operations against one of the FreeBSD project's official anoncvs servers. To use it, one simply sets the CVSROOT environment variable to point at the appropriate anoncvs server, provides the well-known password anoncvs with the cvs login command, and then uses the &man.cvs.1; command to access it like any local repository. The cvs login command, stores the passwords that are used for authenticating to the CVS server in a file called .cvspass in your HOME directory. If this file does not exist, you might get an error when trying to use cvs login for the first time. Just make an empty .cvspass file, and retry to login. While it can also be said that the CVSup and anoncvs services both perform essentially the same function, there are various trade-offs which can influence the user's choice of synchronization methods. In a nutshell, CVSup is much more efficient in its usage of network resources and is by far the most technically sophisticated of the two, but at a price. To use CVSup, a special client must first be installed and configured before any bits can be grabbed, and then only in the fairly large chunks which CVSup calls collections. Anoncvs, by contrast, can be used to examine anything from an individual file to a specific program (like ls or grep) by referencing the CVS module name. Of course, anoncvs is also only good for read-only operations on the CVS repository, so if it is your intention to support local development in one repository shared with the FreeBSD project bits then CVSup is really your only option. - - <anchor id="anoncvs-usage"/>Using Anonymous CVS + + Using Anonymous CVS Configuring &man.cvs.1; to use an Anonymous CVS repository is a simple matter of setting the CVSROOT environment variable to point to one of the FreeBSD project's anoncvs servers. At the time of this writing, the following servers are available: Austria: :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs (Use cvs login and enter any password when prompted.) France: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (password anoncvs), ssh (no password)) Germany: :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (Use cvs login and enter the password anoncvs when prompted.) Germany: :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022) Japan: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (Use cvs login and enter the password anoncvs when prompted.) USA: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (ssh only - no password) SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub USA: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ssh only - no password) SSH HostKey: 1024 8b:c4:6f:9a:7e:65:8a:eb:50:50:29:7c:a1:47:03:bc root@ender.liquidneon.com SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pub Since CVS allows one to check out virtually any version of the FreeBSD sources that ever existed (or, in some cases, will exist), you need to be familiar with the revision () flag to &man.cvs.1; and what some of the permissible values for it in the FreeBSD Project repository are. There are two kinds of tags, revision tags and branch tags. A revision tag refers to a specific revision. Its meaning stays the same from day to day. A branch tag, on the other hand, refers to the latest revision on a given line of development, at any given time. Because a branch tag does not refer to a specific revision, it may mean something different tomorrow than it means today. contains revision tags that users might be interested in. Again, none of these are valid for the Ports Collection since the Ports Collection does not have multiple revisions. When you specify a branch tag, you normally receive the latest versions of the files on that line of development. If you wish to receive some past version, you can do so by specifying a date with the flag. See the &man.cvs.1; manual page for more details. Examples While it really is recommended that you read the manual page for &man.cvs.1; thoroughly before doing anything, here are some quick examples which essentially show how to use Anonymous CVS: Checking Out Something from -CURRENT (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co ls Using SSH to check out the <filename>src/</filename> tree: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. Checking Out the Version of &man.ls.1; in the 6-STABLE Branch: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co -rRELENG_6 ls Creating a List of Changes (as Unified Diffs) to &man.ls.1; &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls Finding Out What Other Module Names Can Be Used: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co modules &prompt.user; more modules/modules Other Resources The following additional resources may be helpful in learning CVS: CVS Tutorial from Cal Poly. CVS Home, the CVS development and support community. CVSweb is the FreeBSD Project web interface for CVS. Using CTM CTM CTM is a method for keeping a remote directory tree in sync with a central one. It has been developed for usage with FreeBSD's source trees, though other people may find it useful for other purposes as time goes by. Little, if any, documentation currently exists at this time on the process of creating deltas, so contact the &a.ctm-users.name; mailing list for more information and if you wish to use CTM for other things. Why Should I Use <application>CTM</application>? CTM will give you a local copy of the FreeBSD source trees. There are a number of flavors of the tree available. Whether you wish to track the entire CVS tree or just one of the branches, CTM can provide you the information. If you are an active developer on FreeBSD, but have lousy or non-existent TCP/IP connectivity, or simply wish to have the changes automatically sent to you, CTM was made for you. You will need to obtain up to three deltas per day for the most active branches. However, you should consider having them sent by automatic email. The sizes of the updates are always kept as small as possible. This is typically less than 5K, with an occasional (one in ten) being 10-50K and every now and then a large 100K+ or more coming around. You will also need to make yourself aware of the various caveats related to working directly from the development sources rather than a pre-packaged release. This is particularly true if you choose the current sources. It is recommended that you read Staying current with FreeBSD. What Do I Need to Use <application>CTM</application>? You will need two things: The CTM program, and the initial deltas to feed it (to get up to current levels). The CTM program has been part of FreeBSD ever since version 2.0 was released, and lives in /usr/src/usr.sbin/ctm if you have a copy of the source available. The deltas you feed CTM can be had two ways, FTP or email. If you have general FTP access to the Internet then the following FTP sites support access to CTM: or see section mirrors. FTP the relevant directory and fetch the README file, starting from there. If you wish to get your deltas via email: Subscribe to one of the CTM distribution lists. &a.ctm-cvs-cur.name; supports the entire CVS tree. &a.ctm-src-cur.name; supports the head of the development branch. &a.ctm-src-4.name; supports the 4.X release branch, etc.. (If you do not know how to subscribe yourself to a list, click on the list name above or go to &a.mailman.lists.link; and click on the list that you wish to subscribe to. The list page should contain all of the necessary subscription instructions.) When you begin receiving your CTM updates in the mail, you may use the ctm_rmail program to unpack and apply them. You can actually use the ctm_rmail program directly from a entry in /etc/aliases if you want to have the process run in a fully automated fashion. Check the ctm_rmail manual page for more details. No matter what method you use to get the CTM deltas, you should subscribe to the &a.ctm-announce.name; mailing list. In the future, this will be the only place where announcements concerning the operations of the CTM system will be posted. Click on the list name above and follow the instructions to subscribe to the list. Using <application>CTM</application> for the First Time Before you can start using CTM deltas, you will need to get to a starting point for the deltas produced subsequently to it. First you should determine what you already have. Everyone can start from an empty directory. You must use an initial Empty delta to start off your CTM supported tree. At some point it is intended that one of these started deltas be distributed on the CD for your convenience, however, this does not currently happen. Since the trees are many tens of megabytes, you should prefer to start from something already at hand. If you have a -RELEASE CD, you can copy or extract an initial source from it. This will save a significant transfer of data. You can recognize these starter deltas by the X appended to the number (src-cur.3210XEmpty.gz for instance). The designation following the X corresponds to the origin of your initial seed. Empty is an empty directory. As a rule a base transition from Empty is produced every 100 deltas. By the way, they are large! 70 to 80 Megabytes of gzip'd data is common for the XEmpty deltas. Once you have picked a base delta to start from, you will also need all deltas with higher numbers following it. Using <application>CTM</application> in Your Daily Life To apply the deltas, simply say: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* CTM understands deltas which have been put through gzip, so you do not need to gunzip them first, this saves disk space. Unless it feels very secure about the entire process, CTM will not touch your tree. To verify a delta you can also use the flag and CTM will not actually touch your tree; it will merely verify the integrity of the delta and see if it would apply cleanly to your current tree. There are other options to CTM as well, see the manual pages or look in the sources for more information. That is really all there is to it. Every time you get a new delta, just run it through CTM to keep your sources up to date. Do not remove the deltas if they are hard to download again. You just might want to keep them around in case something bad happens. Even if you only have floppy disks, consider using fdwrite to make a copy. Keeping Your Local Changes As a developer one would like to experiment with and change files in the source tree. CTM supports local modifications in a limited way: before checking for the presence of a file foo, it first looks for foo.ctm. If this file exists, CTM will operate on it instead of foo. This behavior gives us a simple way to maintain local changes: simply copy the files you plan to modify to the corresponding file names with a .ctm suffix. Then you can freely hack the code, while CTM keeps the .ctm file up-to-date. Other Interesting <application>CTM</application> Options Finding Out Exactly What Would Be Touched by an Update You can determine the list of changes that CTM will make on your source repository using the option to CTM. This is useful if you would like to keep logs of the changes, pre- or post- process the modified files in any manner, or just are feeling a tad paranoid. Making Backups Before Updating Sometimes you may want to backup all the files that would be changed by a CTM update. Specifying the option causes CTM to backup all files that would be touched by a given CTM delta to backup-file. Restricting the Files Touched by an Update Sometimes you would be interested in restricting the scope of a given CTM update, or may be interested in extracting just a few files from a sequence of deltas. You can control the list of files that CTM would operate on by specifying filtering regular expressions using the and options. For example, to extract an up-to-date copy of lib/libc/Makefile from your collection of saved CTM deltas, run the commands: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* For every file specified in a CTM delta, the and options are applied in the order given on the command line. The file is processed by CTM only if it is marked as eligible after all the and options are applied to it. Future Plans for <application>CTM</application> Tons of them: Use some kind of authentication into the CTM system, so as to allow detection of spoofed CTM updates. Clean up the options to CTM, they became confusing and counter intuitive. Miscellaneous Stuff There is a sequence of deltas for the ports collection too, but interest has not been all that high yet. CTM Mirrors CTM/FreeBSD is available via anonymous FTP from the following mirror sites. If you choose to obtain CTM via anonymous FTP, please try to use a site near you. In case of problems, please contact the &a.ctm-users.name; mailing list. California, Bay Area, official source South Africa, backup server for old deltas Taiwan/R.O.C. If you did not find a mirror near to you or the mirror is incomplete, try to use a search engine such as alltheweb. Using CVSup Introduction CVSup is a software package for distributing and updating source trees from a master CVS repository on a remote server host. The FreeBSD sources are maintained in a CVS repository on a central development machine in California. With CVSup, FreeBSD users can easily keep their own source trees up to date. CVSup uses the so-called pull model of updating. Under the pull model, each client asks the server for updates, if and when they are wanted. The server waits passively for update requests from its clients. Thus all updates are instigated by the client. The server never sends unsolicited updates. Users must either run the CVSup client manually to get an update, or they must set up a cron job to run it automatically on a regular basis. The term CVSup, capitalized just so, refers to the entire software package. Its main components are the client cvsup which runs on each user's machine, and the server cvsupd which runs at each of the FreeBSD mirror sites. As you read the FreeBSD documentation and mailing lists, you may see references to sup. Sup was the predecessor of CVSup, and it served a similar purpose. CVSup is used much in the same way as sup and, in fact, uses configuration files which are backward-compatible with sup's. Sup is no longer used in the FreeBSD project, because CVSup is both faster and more flexible. Installation The easiest way to install CVSup is to use the precompiled net/cvsup package from the FreeBSD packages collection. If you prefer to build CVSup from source, you can use the net/cvsup port instead. But be forewarned: the net/cvsup port depends on the Modula-3 system, which takes a substantial amount of time and disk space to download and build. If you are going to be using CVSup on a machine which will not have &xfree86; or &xorg; installed, such as a server, be sure to use the port which does not include the CVSup GUI, net/cvsup-without-gui. CVSup Configuration CVSup's operation is controlled by a configuration file called the supfile. There are some sample supfiles in the directory /usr/share/examples/cvsup/. The information in a supfile answers the following questions for CVSup: Which files do you want to receive? Which versions of them do you want? Where do you want to get them from? Where do you want to put them on your own machine? Where do you want to put your status files? In the following sections, we will construct a typical supfile by answering each of these questions in turn. First, we describe the overall structure of a supfile. A supfile is a text file. Comments begin with # and extend to the end of the line. Lines that are blank and lines that contain only comments are ignored. Each remaining line describes a set of files that the user wishes to receive. The line begins with the name of a collection, a logical grouping of files defined by the server. The name of the collection tells the server which files you want. After the collection name come zero or more fields, separated by white space. These fields answer the questions listed above. There are two types of fields: flag fields and value fields. A flag field consists of a keyword standing alone, e.g., delete or compress. A value field also begins with a keyword, but the keyword is followed without intervening white space by = and a second word. For example, release=cvs is a value field. A supfile typically specifies more than one collection to receive. One way to structure a supfile is to specify all of the relevant fields explicitly for each collection. However, that tends to make the supfile lines quite long, and it is inconvenient because most fields are the same for all of the collections in a supfile. CVSup provides a defaulting mechanism to avoid these problems. Lines beginning with the special pseudo-collection name *default can be used to set flags and values which will be used as defaults for the subsequent collections in the supfile. A default value can be overridden for an individual collection, by specifying a different value with the collection itself. Defaults can also be changed or augmented in mid-supfile by additional *default lines. With this background, we will now proceed to construct a supfile for receiving and updating the main source tree of FreeBSD-CURRENT. Which files do you want to receive? The files available via CVSup are organized into named groups called collections. The collections that are available are described in the following section. In this example, we wish to receive the entire main source tree for the FreeBSD system. There is a single large collection src-all which will give us all of that. As a first step toward constructing our supfile, we simply list the collections, one per line (in this case, only one line): src-all Which version(s) of them do you want? With CVSup, you can receive virtually any version of the sources that ever existed. That is possible because the cvsupd server works directly from the CVS repository, which contains all of the versions. You specify which one of them you want using the tag= and value fields. Be very careful to specify any tag= fields correctly. Some tags are valid only for certain collections of files. If you specify an incorrect or misspelled tag, CVSup will delete files which you probably do not want deleted. In particular, use only tag=. for the ports-* collections. The tag= field names a symbolic tag in the repository. There are two kinds of tags, revision tags and branch tags. A revision tag refers to a specific revision. Its meaning stays the same from day to day. A branch tag, on the other hand, refers to the latest revision on a given line of development, at any given time. Because a branch tag does not refer to a specific revision, it may mean something different tomorrow than it means today. contains branch tags that users might be interested in. When specifying a tag in CVSup's configuration file, it must be preceded with tag= (RELENG_4 will become tag=RELENG_4). Keep in mind that only the tag=. is relevant for the Ports Collection. Be very careful to type the tag name exactly as shown. CVSup cannot distinguish between valid and invalid tags. If you misspell the tag, CVSup will behave as though you had specified a valid tag which happens to refer to no files at all. It will delete your existing sources in that case. When you specify a branch tag, you normally receive the latest versions of the files on that line of development. If you wish to receive some past version, you can do so by specifying a date with the value field. The &man.cvsup.1; manual page explains how to do that. For our example, we wish to receive FreeBSD-CURRENT. We add this line at the beginning of our supfile: *default tag=. There is an important special case that comes into play if you specify neither a tag= field nor a date= field. In that case, you receive the actual RCS files directly from the server's CVS repository, rather than receiving a particular version. Developers generally prefer this mode of operation. By maintaining a copy of the repository itself on their systems, they gain the ability to browse the revision histories and examine past versions of files. This gain is achieved at a large cost in terms of disk space, however. Where do you want to get them from? We use the host= field to tell cvsup where to obtain its updates. Any of the CVSup mirror sites will do, though you should try to select one that is close to you in cyberspace. In this example we will use a fictional FreeBSD distribution site, cvsup99.FreeBSD.org: *default host=cvsup99.FreeBSD.org You will need to change the host to one that actually exists before running CVSup. On any particular run of cvsup, you can override the host setting on the command line, with . Where do you want to put them on your own machine? The prefix= field tells cvsup where to put the files it receives. In this example, we will put the source files directly into our main source tree, /usr/src. The src directory is already implicit in the collections we have chosen to receive, so this is the correct specification: *default prefix=/usr Where should cvsup maintain its status files? The CVSup client maintains certain status files in what is called the base directory. These files help CVSup to work more efficiently, by keeping track of which updates you have already received. We will use the standard base directory, /var/db: *default base=/var/db If your base directory does not already exist, now would be a good time to create it. The cvsup client will refuse to run if the base directory does not exist. Miscellaneous supfile settings: There is one more line of boiler plate that normally needs to be present in the supfile: *default release=cvs delete use-rel-suffix compress release=cvs indicates that the server should get its information out of the main FreeBSD CVS repository. This is virtually always the case, but there are other possibilities which are beyond the scope of this discussion. delete gives CVSup permission to delete files. You should always specify this, so that CVSup can keep your source tree fully up-to-date. CVSup is careful to delete only those files for which it is responsible. Any extra files you happen to have will be left strictly alone. use-rel-suffix is ... arcane. If you really want to know about it, see the &man.cvsup.1; manual page. Otherwise, just specify it and do not worry about it. compress enables the use of gzip-style compression on the communication channel. If your network link is T1 speed or faster, you probably should not use compression. Otherwise, it helps substantially. Putting it all together: Here is the entire supfile for our example: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all The <filename>refuse</filename> File As mentioned above, CVSup uses a pull method. Basically, this means that you connect to the CVSup server, and it says, Here is what you can download from me..., and your client responds OK, I will take this, this, this, and this. In the default configuration, the CVSup client will take every file associated with the collection and tag you chose in the configuration file. However, this is not always what you want, especially if you are synching the doc, ports, or www trees — most people cannot read four or five languages, and therefore they do not need to download the language-specific files. If you are CVSuping the Ports Collection, you can get around this by specifying each collection individually (e.g., ports-astrology, ports-biology, etc instead of simply saying ports-all). However, since the doc and www trees do not have language-specific collections, you must use one of CVSup's many nifty features: the refuse file. The refuse file essentially tells CVSup that it should not take every single file from a collection; in other words, it tells the client to refuse certain files from the server. The refuse file can be found (or, if you do not yet have one, should be placed) in base/sup/. base is defined in your supfile; our defined base is /var/db, which means that by default the refuse file is /var/db/sup/refuse. The refuse file has a very simple format; it simply contains the names of files or directories that you do not wish to download. For example, if you cannot speak any languages other than English and some German, and you do not feel the need to read the German translation of documentation, you can put the following in your refuse file: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* and so forth for the other languages (you can find the full list by browsing the FreeBSD CVS repository). With this very useful feature, those users who are on slow links or pay by the minute for their Internet connection will be able to save valuable time as they will no longer need to download files that they will never use. For more information on refuse files and other neat features of CVSup, please view its manual page. Running <application>CVSup</application> You are now ready to try an update. The command line for doing this is quite simple: &prompt.root; cvsup supfile where supfile is of course the name of the supfile you have just created. Assuming you are running under X11, cvsup will display a GUI window with some buttons to do the usual things. Press the go button, and watch it run. Since you are updating your actual /usr/src tree in this example, you will need to run the program as root so that cvsup has the permissions it needs to update your files. Having just created your configuration file, and having never used this program before, that might understandably make you nervous. There is an easy way to do a trial run without touching your precious files. Just create an empty directory somewhere convenient, and name it as an extra argument on the command line: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest The directory you specify will be used as the destination directory for all file updates. CVSup will examine your usual files in /usr/src, but it will not modify or delete any of them. Any file updates will instead land in /var/tmp/dest/usr/src. CVSup will also leave its base directory status files untouched when run this way. The new versions of those files will be written into the specified directory. As long as you have read access to /usr/src, you do not even need to be root to perform this kind of trial run. If you are not running X11 or if you just do not like GUIs, you should add a couple of options to the command line when you run cvsup: &prompt.root; cvsup -g -L 2 supfile The tells CVSup not to use its GUI. This is automatic if you are not running X11, but otherwise you have to specify it. The tells CVSup to print out the details of all the file updates it is doing. There are three levels of verbosity, from to . The default is 0, which means total silence except for error messages. There are plenty of other options available. For a brief list of them, type cvsup -H. For more detailed descriptions, see the manual page. Once you are satisfied with the way updates are working, you can arrange for regular runs of CVSup using &man.cron.8;. Obviously, you should not let CVSup use its GUI when running it from &man.cron.8;. <application>CVSup</application> File Collections The file collections available via CVSup are organized hierarchically. There are a few large collections, and they are divided into smaller sub-collections. Receiving a large collection is equivalent to receiving each of its sub-collections. The hierarchical relationships among collections are reflected by the use of indentation in the list below. The most commonly used collections are src-all, and ports-all. The other collections are used only by small groups of people for specialized purposes, and some mirror sites may not carry all of them. cvs-all release=cvs The main FreeBSD CVS repository, including the cryptography code. distrib release=cvs Files related to the distribution and mirroring of FreeBSD. doc-all release=cvs Sources for the FreeBSD Handbook and other documentation. This does not include files for the FreeBSD web site. ports-all release=cvs The FreeBSD Ports Collection. If you do not want to update the whole of ports-all (the whole ports tree), but use one of the subcollections listed below, make sure that you always update the ports-base subcollection! Whenever something changes in the ports build infrastructure represented by ports-base, it is virtually certain that those changes will be used by real ports real soon. Thus, if you only update the real ports and they use some of the new features, there is a very high chance that their build will fail with some mysterious error message. The very first thing to do in this case is to make sure that your ports-base subcollection is up to date. If you are going to be building your own local copy of ports/INDEX, you must accept ports-all (the whole ports tree). Building ports/INDEX with a partial tree is not supported. See the FAQ. ports-accessibility release=cvs Software to help disabled users. ports-arabic release=cvs Arabic language support. ports-archivers release=cvs Archiving tools. ports-astro release=cvs Astronomical ports. ports-audio release=cvs Sound support. ports-base release=cvs The Ports Collection build infrastructure - various files located in the Mk/ and Tools/ subdirectories of /usr/ports. Please see the important warning above: you should always update this subcollection, whenever you update any part of the FreeBSD Ports Collection! ports-benchmarks release=cvs Benchmarks. ports-biology release=cvs Biology. ports-cad release=cvs Computer aided design tools. ports-chinese release=cvs Chinese language support. ports-comms release=cvs Communication software. ports-converters release=cvs character code converters. ports-databases release=cvs Databases. ports-deskutils release=cvs Things that used to be on the desktop before computers were invented. ports-devel release=cvs Development utilities. ports-dns release=cvs DNS related software. ports-editors release=cvs Editors. ports-emulators release=cvs Emulators for other operating systems. ports-finance release=cvs Monetary, financial and related applications. ports-ftp release=cvs FTP client and server utilities. ports-games release=cvs Games. ports-german release=cvs German language support. ports-graphics release=cvs Graphics utilities. ports-hebrew release=cvs Hebrew language support. ports-hungarian release=cvs Hungarian language support. ports-irc release=cvs Internet Relay Chat utilities. ports-japanese release=cvs Japanese language support. ports-java release=cvs &java; utilities. ports-korean release=cvs Korean language support. ports-lang release=cvs Programming languages. ports-mail release=cvs Mail software. ports-math release=cvs Numerical computation software. ports-mbone release=cvs MBone applications. ports-misc release=cvs Miscellaneous utilities. ports-multimedia release=cvs Multimedia software. ports-net release=cvs Networking software. ports-net-im release=cvs Instant messaging software. ports-net-mgmt release=cvs Network management software. ports-net-p2p release=cvs Peer to peer networking. ports-news release=cvs USENET news software. ports-palm release=cvs Software support for Palm series. ports-polish release=cvs Polish language support. ports-portuguese release=cvs Portuguese language support. ports-print release=cvs Printing software. ports-russian release=cvs Russian language support. ports-science release=cvs Science. ports-security release=cvs Security utilities. ports-shells release=cvs Command line shells. ports-sysutils release=cvs System utilities. ports-textproc release=cvs text processing utilities (does not include desktop publishing). ports-ukrainian release=cvs Ukrainian language support. ports-vietnamese release=cvs Vietnamese language support. ports-www release=cvs Software related to the World Wide Web. ports-x11 release=cvs Ports to support the X window system. ports-x11-clocks release=cvs X11 clocks. ports-x11-fm release=cvs X11 file managers. ports-x11-fonts release=cvs X11 fonts and font utilities. ports-x11-toolkits release=cvs X11 toolkits. ports-x11-servers release=cvs X11 servers. ports-x11-themes release=cvs X11 themes. ports-x11-wm release=cvs X11 window managers. projects-all release=cvs Sources for the FreeBSD projects repository. src-all release=cvs The main FreeBSD sources, including the cryptography code. src-base release=cvs Miscellaneous files at the top of /usr/src. src-bin release=cvs User utilities that may be needed in single-user mode (/usr/src/bin). src-contrib release=cvs Utilities and libraries from outside the FreeBSD project, used relatively unmodified (/usr/src/contrib). src-crypto release=cvs Cryptography utilities and libraries from outside the FreeBSD project, used relatively unmodified (/usr/src/crypto). src-eBones release=cvs Kerberos and DES (/usr/src/eBones). Not used in current releases of FreeBSD. src-etc release=cvs System configuration files (/usr/src/etc). src-games release=cvs Games (/usr/src/games). src-gnu release=cvs Utilities covered by the GNU Public License (/usr/src/gnu). src-include release=cvs Header files (/usr/src/include). src-kerberos5 release=cvs Kerberos5 security package (/usr/src/kerberos5). src-kerberosIV release=cvs KerberosIV security package (/usr/src/kerberosIV). src-lib release=cvs Libraries (/usr/src/lib). src-libexec release=cvs System programs normally executed by other programs (/usr/src/libexec). src-release release=cvs Files required to produce a FreeBSD release (/usr/src/release). src-sbin release=cvs System utilities for single-user mode (/usr/src/sbin). src-secure release=cvs Cryptographic libraries and commands (/usr/src/secure). src-share release=cvs Files that can be shared across multiple systems (/usr/src/share). src-sys release=cvs The kernel (/usr/src/sys). src-sys-crypto release=cvs Kernel cryptography code (/usr/src/sys/crypto). src-tools release=cvs Various tools for the maintenance of FreeBSD (/usr/src/tools). src-usrbin release=cvs User utilities (/usr/src/usr.bin). src-usrsbin release=cvs System utilities (/usr/src/usr.sbin). www release=cvs The sources for the FreeBSD WWW site. distrib release=self The CVSup server's own configuration files. Used by CVSup mirror sites. gnats release=current The GNATS bug-tracking database. mail-archive release=current FreeBSD mailing list archive. www release=current The pre-processed FreeBSD WWW site files (not the source files). Used by WWW mirror sites. For More Information For the CVSup FAQ and other information about CVSup, see The CVSup Home Page. Most FreeBSD-related discussion of CVSup takes place on the &a.hackers;. New versions of the software are announced there, as well as on the &a.announce;. Questions and bug reports should be addressed to the author of the program at cvsup-bugs@polstra.com. CVSup Sites CVSup servers for FreeBSD are running at the following sites: &chap.mirrors.cvsup.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.cvsup.inc; Using Portsnap Introduction Portsnap is a system for securely distributing the &os; ports tree. Approximately once an hour, a snapshot of the ports tree is generated, repackaged, and cryptographically signed. The resulting files are then distributed via HTTP. Like CVSup, Portsnap uses a pull model of updating: The packaged and signed ports trees are placed on a web server which waits passively for clients to request files. Users must either run &man.portsnap.8; manually to download updates or set up a &man.cron.8; job to download updates automatically on a regular basis. For technical reasons, Portsnap does not update the live ports tree in /usr/ports/ directly; instead, it works via a compressed copy of the ports tree stored in /var/db/portsnap/ by default. This compressed copy is then used to update the live ports tree. If Portsnap is installed from the &os; Ports Collection, then the default location for its compressed snapshot will be /usr/local/portsnap/ instead of /var/db/portsnap/. Installation On &os; 6.0 and more recent versions, Portsnap is contained in the &os; base system. On older versions of &os;, it can be installed using the sysutils/portsnap port. Portsnap Configuration Portsnap's operation is controlled by the /etc/portsnap.conf configuration file. For most users, the default configuration file will suffice; for more details, consult the &man.portsnap.conf.5; manual page. If Portsnap is installed from the &os; Ports Collection, it will use the configuration file /usr/local/etc/portsnap.conf instead of /etc/portsnap.conf. This configuration file is not created when the port is installed, but a sample configuration file is distributed; to copy it into place, run the following command: &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf Running <application>Portsnap</application> for the First Time The first time &man.portsnap.8; is run, it will need to download a compressed snapshot of the entire ports tree into /var/db/portsnap/ (or /usr/local/portsnap/ if Portsnap was installed from the Ports Collection). For the beginning of 2006 this is approximately a 41 MB download. &prompt.root; portsnap fetch Once the compressed snapshot has been downloaded, a live copy of the ports tree can be extracted into /usr/ports/. This is necessary even if a ports tree has already been created in that directory (e.g., by using CVSup), since it establishes a baseline from which portsnap can determine which parts of the ports tree need to be updated later. &prompt.root; portsnap extract In the default installation /usr/ports is not created. If you run &os; 6.0-RELEASE, it should be created before portsnap is used. On more recent versions of &os; or Portsnap, this operation will be done automatically at first use of the portsnap command. Updating the Ports Tree After an initial compressed snapshot of the ports tree has been downloaded and extracted into /usr/ports/, updating the ports tree consists of two steps: fetching updates to the compressed snapshot, and using them to update the live ports tree. These two steps can be specified to portsnap as a single command: &prompt.root; portsnap fetch update Some older versions of portsnap do not support this syntax; if it fails, try instead the following: &prompt.root; portsnap fetch &prompt.root; portsnap update Running Portsnap from cron In order to avoid problems with flash crowds accessing the Portsnap servers, portsnap fetch will not run from a &man.cron.8; job. Instead, a special portsnap cron command exists, which waits for a random duration up to 3600 seconds before fetching updates. In addition, it is strongly recommended that portsnap update not be run from a cron job, since it is liable to cause major problems if it happens to run at the same time as a port is being built or installed. However, it is safe to update the ports' INDEX files, and this can be done by passing the flag to portsnap. (Obviously, if portsnap -I update is run from cron, then it will be necessary to run portsnap update without the flag at a later time in order to update the rest of the tree.) Adding the following line to /etc/crontab will cause portsnap to update its compressed snapshot and the INDEX files in /usr/ports/, and will send an email if any installed ports are out of date: 0 3 * * * root portsnap -I cron update && pkg_version -vIL= If the system clock is not set to the local time zone, please replace 3 with a random value between 0 and 23, in order to spread the load on the Portsnap servers more evenly. Some older versions of portsnap do not support listing multiple commands (e.g., cron update) in the same invocation of portsnap. If the line above fails, try replacing portsnap -I cron update with portsnap cron && portsnap -I update. CVS Tags When obtaining or updating sources using cvs or CVSup, a revision tag must be specified. A revision tag refers to either a particular line of &os; development, or a specific point in time. The first type are called branch tags, and the second type are called release tags. Branch Tags All of these, with the exception of HEAD (which is always a valid tag), only apply to the src/ tree. The ports/, doc/, and www/ trees are not branched. HEAD Symbolic name for the main line, or FreeBSD-CURRENT. Also the default when no revision is specified. In CVSup, this tag is represented by a . (not punctuation, but a literal . character). In CVS, this is the default when no revision tag is specified. It is usually not a good idea to checkout or update to CURRENT sources on a STABLE machine, unless that is your intent. RELENG_6 The line of development for FreeBSD-6.X, also known as FreeBSD 6-STABLE RELENG_6_1 The release branch for FreeBSD-6.1, used only for security advisories and other critical fixes. RELENG_6_0 The release branch for FreeBSD-6.0, used only for security advisories and other critical fixes. RELENG_5 The line of development for FreeBSD-5.X, also known as FreeBSD 5-STABLE. RELENG_5_5 The release branch for FreeBSD-5.5, used only for security advisories and other critical fixes. RELENG_5_4 The release branch for FreeBSD-5.4, used only for security advisories and other critical fixes. RELENG_5_3 The release branch for FreeBSD-5.3, used only for security advisories and other critical fixes. RELENG_5_2 The release branch for FreeBSD-5.2 and FreeBSD-5.2.1, used only for security advisories and other critical fixes. RELENG_5_1 The release branch for FreeBSD-5.1, used only for security advisories and other critical fixes. RELENG_5_0 The release branch for FreeBSD-5.0, used only for security advisories and other critical fixes. RELENG_4 The line of development for FreeBSD-4.X, also known as FreeBSD 4-STABLE. RELENG_4_11 The release branch for FreeBSD-4.11, used only for security advisories and other critical fixes. RELENG_4_10 The release branch for FreeBSD-4.10, used only for security advisories and other critical fixes. RELENG_4_9 The release branch for FreeBSD-4.9, used only for security advisories and other critical fixes. RELENG_4_8 The release branch for FreeBSD-4.8, used only for security advisories and other critical fixes. RELENG_4_7 The release branch for FreeBSD-4.7, used only for security advisories and other critical fixes. RELENG_4_6 The release branch for FreeBSD-4.6 and FreeBSD-4.6.2, used only for security advisories and other critical fixes. RELENG_4_5 The release branch for FreeBSD-4.5, used only for security advisories and other critical fixes. RELENG_4_4 The release branch for FreeBSD-4.4, used only for security advisories and other critical fixes. RELENG_4_3 The release branch for FreeBSD-4.3, used only for security advisories and other critical fixes. RELENG_3 The line of development for FreeBSD-3.X, also known as 3.X-STABLE. RELENG_2_2 The line of development for FreeBSD-2.2.X, also known as 2.2-STABLE. This branch is mostly obsolete. Release Tags These tags refer to a specific point in time when a particular version of &os; was released. The release engineering process is documented in more detail by the Release Engineering Information and Release Process documents. The src tree uses tag names that start with RELENG_ tags. The ports and doc trees use tags whose names begin with RELEASE tags. Finally, the www tree is not tagged with any special name for releases. RELENG_6_1_0_RELEASE FreeBSD 6.1 RELENG_6_0_0_RELEASE FreeBSD 6.0 RELENG_5_5_0_RELEASE FreeBSD 5.5 RELENG_5_4_0_RELEASE FreeBSD 5.4 RELENG_4_11_0_RELEASE FreeBSD 4.11 RELENG_5_3_0_RELEASE FreeBSD 5.3 RELENG_4_10_0_RELEASE FreeBSD 4.10 RELENG_5_2_1_RELEASE FreeBSD 5.2.1 RELENG_5_2_0_RELEASE FreeBSD 5.2 RELENG_4_9_0_RELEASE FreeBSD 4.9 RELENG_5_1_0_RELEASE FreeBSD 5.1 RELENG_4_8_0_RELEASE FreeBSD 4.8 RELENG_5_0_0_RELEASE FreeBSD 5.0 RELENG_4_7_0_RELEASE FreeBSD 4.7 RELENG_4_6_2_RELEASE FreeBSD 4.6.2 RELENG_4_6_1_RELEASE FreeBSD 4.6.1 RELENG_4_6_0_RELEASE FreeBSD 4.6 RELENG_4_5_0_RELEASE FreeBSD 4.5 RELENG_4_4_0_RELEASE FreeBSD 4.4 RELENG_4_3_0_RELEASE FreeBSD 4.3 RELENG_4_2_0_RELEASE FreeBSD 4.2 RELENG_4_1_1_RELEASE FreeBSD 4.1.1 RELENG_4_1_0_RELEASE FreeBSD 4.1 RELENG_4_0_0_RELEASE FreeBSD 4.0 RELENG_3_5_0_RELEASE FreeBSD-3.5 RELENG_3_4_0_RELEASE FreeBSD-3.4 RELENG_3_3_0_RELEASE FreeBSD-3.3 RELENG_3_2_0_RELEASE FreeBSD-3.2 RELENG_3_1_0_RELEASE FreeBSD-3.1 RELENG_3_0_0_RELEASE FreeBSD-3.0 RELENG_2_2_8_RELEASE FreeBSD-2.2.8 RELENG_2_2_7_RELEASE FreeBSD-2.2.7 RELENG_2_2_6_RELEASE FreeBSD-2.2.6 RELENG_2_2_5_RELEASE FreeBSD-2.2.5 RELENG_2_2_2_RELEASE FreeBSD-2.2.2 RELENG_2_2_1_RELEASE FreeBSD-2.2.1 RELENG_2_2_0_RELEASE FreeBSD-2.2.0 AFS Sites AFS servers for FreeBSD are running at the following sites: Sweden The path to the files are: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Maintainer ftp@stacken.kth.se rsync Sites The following sites make FreeBSD available through the rsync protocol. The rsync utility works in much the same way as the &man.rcp.1; command, but has more options and uses the rsync remote-update protocol which transfers only the differences between two sets of files, thus greatly speeding up the synchronization over the network. This is most useful if you are a mirror site for the FreeBSD FTP server, or the CVS repository. The rsync suite is available for many operating systems, on FreeBSD, see the net/rsync port or use the package. Czech Republic rsync://ftp.cz.FreeBSD.org/ Available collections: ftp: A partial mirror of the FreeBSD FTP server. FreeBSD: A full mirror of the FreeBSD FTP server. Germany rsync://grappa.unix-ag.uni-kl.de/ Available collections: freebsd-cvs: The full FreeBSD CVS repository. This machine also mirrors the CVS repositories of the NetBSD and the OpenBSD projects, among others. Netherlands rsync://ftp.nl.FreeBSD.org/ Available collections: vol/4/freebsd-core: A full mirror of the FreeBSD FTP server. United Kingdom rsync://rsync.mirror.ac.uk/ Available collections: ftp.FreeBSD.org: A full mirror of the FreeBSD FTP server. United States of America rsync://ftp-master.FreeBSD.org/ This server may only be used by FreeBSD primary mirror sites. Available collections: FreeBSD: The master archive of the FreeBSD FTP server. acl: The FreeBSD master ACL list. rsync://ftp13.FreeBSD.org/ Available collections: FreeBSD: A full mirror of the FreeBSD FTP server.
diff --git a/pt_BR.ISO8859-1/articles/contributing/article.xml b/pt_BR.ISO8859-1/articles/contributing/article.xml index 24b79be194..f188e6698d 100644 --- a/pt_BR.ISO8859-1/articles/contributing/article.xml +++ b/pt_BR.ISO8859-1/articles/contributing/article.xml @@ -1,690 +1,690 @@
Contribuindo para o FreeBSD Este artigo descreve as diferentes maneiras pelas quais um indivíduo ou uma organização podem contribuir com o projeto FreeBSD. Jordan Hubbard Colaboração de &tm-attrib.freebsd; &tm-attrib.ieee; &tm-attrib.general; $FreeBSD$ $FreeBSD$ Contribuindo Então você quer contribuir com o FreeBSD? Isso é ótimo! O FreeBSD depende das contribuições da sua base de usuários para sobreviver. Suas contribuições não são apenas apreciadas, elas são vitais para que o FreeBSD continue crescendo. Ao contrário do que algumas pessoas podem tentar fazê-lo acreditar, você não precisa ser um programador super experiente ou amigo pessoal de um membro do Core Team do FreeBSD para ter suas contribuições aceitas. Um grande e crescente número de colaboradores internacionais, de idades e de áreas técnicas extremamente variadas desenvolvem o FreeBSD. Há sempre mais trabalho a ser realizado do que pessoas disponíveis para fazê-lo. Toda e qualquer ajuda é sempre bem vinda. O projeto FreeBSD é responsável por todo um sistema operacional, ou seja, é responsável por muito mais que apenas um kernel ou alguns utilitários dispersos. Da forma como está, o nosso TODO, possui tarefas em uma escala muito ampla: da documentação, da realização de beta testes e de apresentação, ao instalador do sistema e desenvolvimento altamente especializado de componentes para o kernel. Pessoas de todos os níveis de habilidade, de qualquer área técnica, certamente podem ajudar o projeto de alguma forma. As instituições comerciais envolvidas em projetos relacionados ao FreeBSD; também, são encorajadas a nos contatar. Você necessita de uma extensão especial para fazer seu produto funcionar? Você irá nos encontrar receptivos aos seus pedidos, desde que eles não sejam demasiadamente descabidos. Você está trabalhando em um produto que agrega valor ao sistema? Por favor, deixe-nos saber! Nós talvez possamos trabalhar em conjunto em algum aspecto dele. O mundo do software livre desafia muitos dos conceitos existentes sobre como um software é desenvolvido, vendido e mantido; e, nós o incitamos a dar ao menos uma segunda olhada. O que é necessário? A seguinte lista de tarefas e sub-projetos representa uma amálgama de várias listas de TODO e solicitações enviadas por usuários. Tarefas em execução por não-programadores. Muitas das pessoas que estão envolvidas com o FreeBSD não são programadores. O projeto inclui autores de documentação, Web designers, e pessoal de suporte. Tudo o que estas pessoas precisam para contribuir é algum tempo livre para investir e vontade de aprender. Leia o FAQ e &a.ptbr.p.handbook; periodicamente. Se algo estiver mal explicado, desatualizado ou mesmo completamente errado; por favor, deixe-nos saber. Ou melhor, envie-nos uma correção. (Docbook não é difícil de aprender, mas não há nenhuma objeção à submissões em formato ASCII). Ajude a traduzir a documentação do FreeBSD para a sua língua nativa. Se a documentação já existir no seu idioma, você pode ajudar a traduzir novos documentos ou verificar se as traduções existentes estão atualizadas. Primeiro, verifique o FAQ sobre traduções no &a.ptbr.p.fdpp;. Você não estará se comprometendo a traduzir todos os documentos do FreeBSD fazendo isto — como um voluntário, você pode traduzir muitos ou poucos documentos, quantos desejar. Uma vez que alguém começa a traduzir, outros quase sempre se juntam ao esforço. Se você somente tiver tempo livre ou energia para traduzir uma pequena parte da documentação; por favor, traduza as instruções de instalação. Leia a &a.questions; e o &ng.misc; ocasionalmente (ou regularmente se possível). Pode ser muito recompensador compartilhar a sua experiência e ajudar outras pessoas a resolverem seus problemas; Muitas vezes apenas este processo o levará à aprender coisas! Estes fóruns também podem ser uma fonte de idéias para assuntos aos quais se dedicar. Tarefas em execução por programadores A maioria das tarefas listadas aqui requerem um investimento considerável de tempo ou conhecimento profundo do kernel do FreeBSD; ou, ambos. Entretanto, também existem muitas tarefas úteis que são apropriadas para os hackers de final de semana. Se você executar o FreeBSD-CURRENT e tiver uma boa conexão Internet, existe uma máquina current.FreeBSD.org que produz um lançamento (release) completo uma vez por dia — tente instalar diariamente o lançamento mais recente gerado e relate todas as falhas encontradas no processo. Leia a &a.bugs;. Pode existir um problema o qual você possa comentar construtivamente ou mesmo uma correção que possa testar. Ou, você pode ainda tentar reparar um dos problemas sozinho. Se você souber de qualquer problema que tenha sido corrigido com sucesso no -CURRENT e cuja correção não tenha sido aplicada ao -STABLE após um intervalo razoável de tempo (normalmente algumas semanas), envie ao committer um lembrete educado. Mova as contribuições de software para src/contrib na árvore do código fonte. Tenha certeza que o código disponível em src/contrib está atualizado. Compile o sistema (ou apenas uma parte dele) com warnings extras habilitados e remova os warnings. Corrija warnings de ports que ainda fazem coisas ultrapassadas tais como utilizar gets() ou incluir malloc.h. Se você contribuiu com algum dos ports, e teve que fazer alguma mudança específica para o &os;, envie suas correções de volta aos autores originais (isto tornará sua vida mais fácil quando eles lançarem a próxima versão). Consiga cópias de padrões formais tais como &posix;. Você pode obter alguns links sobre estes padrões no sítio www FreeBSD C99 & Projeto de Conformidade com Padrões Posix. Compare o comportamento do FreeBSD àquele requerido pelo padrão. Se o comportamento diferir, particularmente em pontos sutis ou obscuros da especificação, envie-nos um PR sobre ele. Se você for capaz, descubra como corrigi-lo e inclua um patch em seu PR. Se você acredita que o padrão está errado, peça ao comitê de padrões que considere a pergunta. Sugira novas tarefas para esta lista! Trabalhe no banco de dados de <literal>PR</literal> (relatório de problemas) base de dados de relatórios de problemas A Lista de PRs do FreeBSD mostra todos os relatórios de problemas ativos no momento e os pedidos de melhoria que foram submetidos pelos usuários do FreeBSD. O banco de dados inclui tarefas para programadores e para não-programadores. Consulte os PRs abertos, e veja se algum deles é de seu interesse. Alguns deles podem ser tarefas muito simples que necessitam apenas que um par extra de olhos olhe para eles e confirme que a correção proposta funciona. Outros podem ser muito mais complexos, ou podem nem ter vindo com uma correção. Comece com os PRs que ainda não foram atribuídos a ninguém. Se um PR estiver atribuído a outra pessoa, mas se parecer com algo que você possa cuidar, envie um e-mail para a pessoa encarregada do mesmo e pergunte se você pode trabalhar nele — ele pode já ter um patch pronto para ser testado, ou você pode discutir novas idéias com ele. Escolha um dos itens da <quote>página de idéias</quote> A lista de projetos do &os; e de idéias para voluntários também está disponível para as pessoas dispostas a contribuir com o projeto &os;. A lista é atualizada regularmente e contém itens sobre cada projeto para programadores e para não programadores. Como contribuir Contribuições para o sistema geralmente caem em uma ou mais das seguintes 5 categorias: Relatórios de Erro e Comentários em Geral Uma idéia ou sugestão técnica de interesse geral deve ser enviada para a &a.hackers;. Da mesma forma, pessoas com interesse neste tipo de assunto (e uma tolerância para um alto volume de mensagens!), devem se inscrever na &a.hackers;. Consulte o &a.ptbr.p.handbook; para maiores informações sobre esta e outras listas de discussão. Se você encontrar um erro ou estiver enviando uma alteração específica; por favor, faça o relatório utilizando o programa &man.send-pr.1; ou a sua interface WWW equivalente. A não ser que ele exceda 65KB, inclua qualquer patch diretamente no relatório. Se o patch é destinado a ser aplicado na árvore de código, coloque a palavra [PATCH] na sinópse do relatório. Quando incluir um patch, não o faça utilizando copiar-e-colar porque ao copiar-e-colar os tabs serão convertidos para espaços, e tornará o patch inutilizável. Quando os patches forem muito maiores que 20KB, considere a possibilidade de comprimi-los (por ex. usando &man.gzip.1; or &man.bzip2.1;) e utilize o &man.uuencode.1; para incluir a versão compactada no seu relatório de problema. Depois de enviar o relatório, voce deve receber uma confirmação junto com um número de registro. Guarde este número de registro, de forma que você possa nos manter atualizados sobre o seu problema enviando um e-mail para &a.bugfollowup;. Coloque o número no assunto da mensagem, por ex. "Re: kern/3377". Informações adicionais sobre qualquer relatório de problema (Problem Report) devem ser submetidas desta forma. Se você não receber a confirmação em prazo razoável (3 dias a 1 semana, dependendo da sua conexão de e-mail), ou está por alguma razão impossibilitado de utilizar o comando &man.send-pr.1; ; então, você pode pedir que alguém o envie para você enviando e-mail para &a.bugs;. Consulte também este artigo sobre como escrever um bom relatório de problema. Alterações na Documentação Envio de documentação Alterações na documentação são administradas pela &a.doc;. Por favor, verifique o &a.ptbr.p.fdpp; para obter instruções detalhadas. Envie suas colaborações e alterações (inclusive as pequenas são bem vindas!) usando o &man.send-pr.1; como descrito no Relatórios de Erro e Comentários em Geral. Alterações no Código Fonte Existente FreeBSD-CURRENT Uma adição ou alteração ao código fonte existente é um caso um pouco mais complicado e depende muito de quão desatualizado você está em relação ao estado atual de desenvolvimento do FreeBSD. Existe um lançamento (release) especial em andamento do FreeBSD conhecido como FreeBSD-CURRENT o qual é disponibilizado em uma grande variedade de formas para a comodidade dos desenvolvedores que trabalham ativamente no sistema. Consulte o &a.ptbr.p.handbook; para maiores informações sobre como obter e utilizar o FreeBSD-CURRENT. Trabalhar com versões antigas do código, infelizmente, muitas vezes significa que as suas alterações serão demasiadamente obsoletas ou muito divergentes para possibilitar uma fácil re-integração ao FreeBSD. As possibilidades de que isso ocorra podem ser minimizadas um pouco através da sua inscrição nas listas &a.announce; e &a.current;, nas quais as discussões sobre o estado atual do sistema ocorrem. Supondo que você consiga obter acesso à código fonte do sistema razoavelmente atualizado para basear as suas alterações nele, o próximo passo é produzir um conjunto de diffs para enviar aos mantenedores do FreeBSD. Isto é feito com o comando &man.diff.1;. O formato preferido do &man.diff.1; para enviar um patch, é o formato de saída unificada gerado por diff -u. diff &prompt.user; diff -u oldfile newfile ou &prompt.user; diff -u -r -N olddir newdir deverá gerar um conjunto de diffs unificados para o arquivo de origem informado ou hierarquia de diretórios. Consulte o manual do &man.diff.1; para maiores informações. Uma vez que você tenha o conjunto de diffs (os quais você pode testar com o comando &man.patch.1;), você deve submetê-los para inclusão no FreeBSD. Utilize o comando &man.send-pr.1; como descrito no Relatórios de Erro e Comentários em Geral. Não envie os diffs apenas para a &a.hackers; ou eles serão perdidos! Nós apreciamos extremamente a sua submissão (este é um projeto voluntário!); porque nós somos ocupados, nós podemos não ter como tratá-la imediatamente, mas ela permanecerá em nosso bando de dados de PRs até que nós o façamos. Marque a sua submissão incluindo a palavra [PATCH] na sinópse do relatório. uuencode Se você sentir que é apropriado (por ex. você adicionou, deletou ou renomeou arquivos), empacote as suas mudanças em um arquivo tar e execute o programa &man.uuencode.1; nele. Arquivos criados com o &man.shar.1; também são bem vindos. Se suas mudanças são de uma natureza potencialmente sensível, tais como você estar inseguro sob quais políticas de direito autoral as novas versões serão distribuídas, então você deve enviá-las diretamente para o &a.core; ao invés de submetê-las com o &man.send-pr.1;. O &a.core; é formado por um grupo muito pequeno de pessoas as quais cuidam de muitas das tarefas diárias de administração do projeto &os;. Observe que este grupo também é muito ocupado e portanto você só deve enviar um e-mail a eles se for realmente necessário. Por favor, consulte a &man.intro.9; e a &man.style.9; para obter alguma informação sobre o estilo de codificação. Nós apreciaríamos se você estivesse ao menos ciente destas informações antes de submeter o seu código. Código Novo ou Pacotes Principais de Valor Adicional (<foreignphrase>Major Value-Added Packages</foreignphrase>) No caso de uma contribuição significativa de um trabalho de grande porte, ou a adição de uma nova característica importante ao FreeBSD, torna-se quase sempre necessário que se envie as alterações em um arquivo tar uuencoded ou então que se faça o upload das mesmas para um servidor WWW ou FTP para que as outras pessoas possam acessá-las. Se você não possui acesso a um servidor WWW ou FTP, pergunte em uma lista de discussão apropriada do FreeBSD se alguém pode hospedar essas alterações para você. Quando se trabalha com grandes quantidades de código, o sensível assunto de direitos autorais invariavelmente vem a tona. Os direitos autorais aceitos para os códigos incluídos no FreeBSD são: Licensa BSD Os direitos autorais BSD. Este tipo de licensa é a mais preferível devido a sua natureza não restritiva e pela sua afinidade com iniciativas comerciais. Longe de desencorajar o uso comercial, o Projeto FreeBSD encoraja ativamente tais participações, uma vez que estes interesses comerciais podem eventualmente se converter em investimentos no próprio FreeBSD. GPLGNU General Public License Licença Pública Geral GNU (GNU General Public License) A licensa pública geral GNU, ou GPL. Esta licensa não é tão popular conosco, devido aos esforços extras que exigem de qualquer pessoa que venha a utilizar o código com finalidades comerciais, mas dada a grande quantidade de código GPL que nós necessitamos atualmente (compilador, montador assembler, formatador de texto, etc) seria tolice recusar contribuições adicionais sob esta licensa. O código sob a GPL também vai para uma parte diferente da árvore, mais especificamente para /sys/gnu ou /usr/src/gnu, de forma que é muito fácil identificá-lo para qualquer um que a GPL representa um problema. As contribuições que vêm sob qualquer outro tipo de licensa devem ser cuidadosamente revisadas antes de sua inclusão no FreeBSD ser considerada. Contribuições com algum tipo de restrição particular ao seu uso comercial são geralmente rejeitadas, embora os autores sejam sempre incentivados a tornarem tais alteração disponíveis por meio de canais próprios. Para colocar o seu trabalho sob licensa estilo-BSD, inclua o texto abaixo no início de cada um dos arquivos que você deseja proteger, substituindo o texto entre %% com as informações apropriadas: Copyright (c) %%proper_years_here%% %%your_name_here%%, %%your_state%% %%your_zip%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $&os;$ Para a sua comodidade, uma cópia deste texto pode ser encontrada em /usr/share/examples/etc/bsd-style-copyright . Dinheiro, Hardware ou Acesso Internet Nós ficamos sempre muito felizes em aceitar doações para agregar a causa do Projeto FreeBSD, em um esforço voluntário como o nosso, um pouco pode significar muito! Doações de hardware também são muito importantes para expandir a nossa lista de periféricos suportados, uma vez que normalmente não temos recursos para comprar estes ítens nós mesmos. - - <anchor id="donations"/>Doando Dinheiro + + Doando Dinheiro A Fundação FreeBSD é uma entidade sem fins lucrativos e isenta de impostos, estabelecida com o objetivo de promover os objetivos do Projeto FreeBSD. Como uma entidade 501(c)3, a fundação é isenta de recolher as taxas do governo federal, bem como as do Estado do Colorado. As doações para uma entidade isenta de impostos são freqüentemente dedutíveis dos impostos federais. As doações podem ser enviadas através de cheques para:
The FreeBSD Foundation 7321 Brockway Dr. Boulder, CO, 80303 USA
A Fundação FreeBSD é agora capaz de receber doações através da web com o PayPal. Para fazer uma doação; por favor, visite o sítio www da Fundação. Maiores informações sobre a Fundação FreeBSD podem ser obtidas no documento A Fundação FreeBSD - Uma introdução. Para contatar a Fundação por e-mail, escreva para bod@FreeBSDFoundation.org.
Doando <foreignphrase>Hardware</foreignphrase> doacões O projeto de FreeBSD aceita alegremente doações de hardware para as quais pode encontrar bom uso. Se voce estiver interessado em doar componentes de hardware; por favor, contate o Escritório de Relacionamento com Doadores.
diff --git a/pt_BR.ISO8859-1/books/handbook/mirrors/chapter.xml b/pt_BR.ISO8859-1/books/handbook/mirrors/chapter.xml index 4bd27c8e3e..7217ca07fe 100644 --- a/pt_BR.ISO8859-1/books/handbook/mirrors/chapter.xml +++ b/pt_BR.ISO8859-1/books/handbook/mirrors/chapter.xml @@ -1,4342 +1,4342 @@ Obtendo FreeBSD Publicadores de CDROM Vendem <foreignphrase>box sets</foreignphrase> no varejo FreeBSD está disponível em formato box set (CDs do FreeBSD, programas adicionais, e documentação impressa) a partir de vários revendedores:
CompUSA WWW: http://www.compusa.com/
Frys Electronics WWW: http://www.frys.com/
Micro Center WWW: http://www.microcenter.com/
Conjunto de CDs Conjuntos de CDs de FreeBSD estão disponíveis a partir de vários revendedores on-line:
Daemon News 2672 Bayshore Parkway, Suite 610 Mountain View, CA 94043 USA Phone: +1 650 694-4949 Email: sales@daemonnews.org WWW: http://www.bsdmall.com/
Wind River Systems 500 Wind River Way Alameda, CA 94501 USA Phone: +1 510 749-2872 WWW: http://www.freebsdmall.com/
Distribuidores Se você é um revendedor e deseja distribuir produtos FreeBSD em CDROM, por favor contate um distribuidor:
Cylogistics 2672 Bayshore Parkway, Suite 610 Mountain View, CA 94043 USA Phone: +1 650 694-4949 Fax: +1 650 694-4953 Email: sales@cylogistics.com WWW: http://www.cylogistics.com/
Ingram Micro WWW: http://www.ingrammicro.com/
Navarre WWW: http://www.navarre.com/
Publicadores de DVD FreeBSD está disponível em formato DVD em:
FreeBSD Services Ltd 11 Lapwing Close Bicester OX26 6XR United Kingdom WWW: http://www.freebsd-services.com/
Sítios FTP O código fonte oficial do FreeBSD está disponível através de FTP anônimo:
ftp://ftp.FreeBSD.org/pub/FreeBSD/.
O banco de dados de sítios FreeBSD espelhos é mais preciso que a lista de espelhos no Manual, visto que obtêm sua informação a partir de DNS ao invés de confiar em listas estáticas de servidores. Adicionalmente, FreeBSD está disponível através de FTP anônimo nos sítios espelhos a seguir. Se desejar obter o FreeBSD através de FTP anônimo, por favor, tente utilizar um sítio próximo a você. África do Sul, Alemanha, Arábia Saudita, Argentina, Austrália, Brasil, Canadá, China, Coréia, Dinamarca, Eslovênia, Espanha, Estônia, EUA, Finlândia, França, Holanda, Hong Kong, Hungria, Irlanda, Israel, Japão, Lituânia, Nova Zelândia, Polônia, Portugal, Reino Unido, República Eslovaca, República Tcheca, Romênia, Rússia, Suécia, Tailândia, Taiwan (Formosa), Ucrânia. África do Sul Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@za.FreeBSD.org deste domínio. ftp://ftp.za.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.za.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.za.FreeBSD.org/FreeBSD/ Alemanha Em caso de problemas, por favor contate os administradores de-bsd-hubs@de.FreeBSD.org do sítio espelho deste domínio. ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.de.FreeBSD.org/pub/FreeBSD/ ftp://ftp4.de.FreeBSD.org/pub/FreeBSD/ ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ ftp://ftp6.de.FreeBSD.org/pub/FreeBSD/ ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ Arábia Saudita Em caso de problemas, por favor contate ftpadmin@isu.net.sa ftp://ftp.isu.net.sa/pub/mirrors/ftp.freebsd.org/ Argentina Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@ar.FreeBSD.org deste domínio. ftp://ftp.ar.FreeBSD.org/pub/FreeBSD/ Austrália Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@au.FreeBSD.org deste domínio. ftp://ftp.au.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.au.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.au.FreeBSD.org/pub/FreeBSD/ ftp://ftp4.au.FreeBSD.org/pub/FreeBSD/ Brasil Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@br.FreeBSD.org deste domínio. ftp://ftp.br.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.br.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.br.FreeBSD.org/pub/FreeBSD/ ftp://ftp4.br.FreeBSD.org/pub/FreeBSD/ ftp://ftp5.br.FreeBSD.org/pub/FreeBSD/ ftp://ftp6.br.FreeBSD.org/pub/FreeBSD/ ftp://ftp7.br.FreeBSD.org/pub/FreeBSD/ Canadá Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@ca.FreeBSD.org deste domínio. ftp://ftp.ca.FreeBSD.org/pub/FreeBSD/ China Em caso de problemas, por favor contate o Gerente (hostmaster) phj@cn.FreeBSD.org deste domínio. ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ Coréia Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@kr.FreeBSD.org deste domínio. ftp://ftp.kr.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.kr.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.kr.FreeBSD.org/pub/FreeBSD/ ftp://ftp4.kr.FreeBSD.org/pub/FreeBSD/ ftp://ftp5.kr.FreeBSD.org/pub/FreeBSD/ ftp://ftp6.kr.FreeBSD.org/pub/FreeBSD/ Dinamarca Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@dk.FreeBSD.org deste domínio. ftp://ftp.dk.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.dk.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.dk.FreeBSD.org/pub/FreeBSD/ Eslovênia Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@si.FreeBSD.org deste domínio. ftp://ftp.si.FreeBSD.org/pub/FreeBSD/ Espanha Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@es.FreeBSD.org deste domínio. ftp://ftp.es.FreeBSD.org/pub/FreeBSD/ Estônia Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@ee.FreeBSD.org deste domínio. ftp://ftp.ee.FreeBSD.org/pub/FreeBSD/ EUA Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@FreeBSD.org deste domínio. ftp://ftp2.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.FreeBSD.org/pub/FreeBSD/ ftp://ftp4.FreeBSD.org/pub/FreeBSD/ ftp://ftp5.FreeBSD.org/pub/FreeBSD/ ftp://ftp6.FreeBSD.org/pub/FreeBSD/ ftp://ftp7.FreeBSD.org/pub/FreeBSD/ ftp://ftp8.FreeBSD.org/pub/FreeBSD/ ftp://ftp9.FreeBSD.org/pub/os/FreeBSD/ ftp://ftp10.FreeBSD.org/pub/FreeBSD/ ftp://ftp11.FreeBSD.org/pub/FreeBSD/ ftp://ftp12.FreeBSD.org/pub/FreeBSD/ ftp://ftp13.FreeBSD.org/pub/FreeBSD/ Finlândia Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@fi.FreeBSD.org deste domínio. ftp://ftp.fi.FreeBSD.org/pub/FreeBSD/ França Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@fr.FreeBSD.org deste domínio. ftp://ftp.fr.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.fr.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.fr.FreeBSD.org/pub/FreeBSD/ ftp://ftp4.fr.FreeBSD.org/pub/FreeBSD/ ftp://ftp5.fr.FreeBSD.org/pub/FreeBSD/ ftp://ftp6.fr.FreeBSD.org/pub/FreeBSD/ Holanda Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@nl.FreeBSD.org deste domínio. ftp://ftp.nl.FreeBSD.org/pub/FreeBSD/ Hong Kong ftp://ftp.hk.super.net/pub/FreeBSD/ Contato: ftp-admin@HK.Super.NET. Hungria Em caso de problemas, por favor contate o Gerente (hostmaster) mohacsi@ik.bme.hu deste domínio. ftp://ftp.hu.FreeBSD.org/pub/FreeBSD/ Irlanda Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@ie.FreeBSD.org deste domínio. ftp://ftp.ie.FreeBSD.org/pub/FreeBSD/ Israel Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@il.FreeBSD.org deste domínio. ftp://ftp.il.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.il.FreeBSD.org/pub/FreeBSD/ Japão Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@jp.FreeBSD.org deste domínio. ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.jp.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.jp.FreeBSD.org/pub/FreeBSD/ ftp://ftp4.jp.FreeBSD.org/pub/FreeBSD/ ftp://ftp5.jp.FreeBSD.org/pub/FreeBSD/ ftp://ftp6.jp.FreeBSD.org/pub/FreeBSD/ Lituânia Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@lt.FreeBSD.org deste domínio. ftp://ftp.lt.FreeBSD.org/pub/FreeBSD/ Nova Zelândia Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@nz.FreeBSD.org deste domínio. ftp://ftp.nz.FreeBSD.org/pub/FreeBSD/ Polônia Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@pl.FreeBSD.org deste domínio. ftp://ftp.pl.FreeBSD.org/pub/FreeBSD/ Portugal Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@pt.FreeBSD.org deste domínio. ftp://ftp.pt.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.pt.FreeBSD.org/pub/FreeBSD/ Reino Unido Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@uk.FreeBSD.org deste domínio. ftp://ftp.uk.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.uk.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.uk.FreeBSD.org/pub/FreeBSD/ ftp://ftp4.uk.FreeBSD.org/pub/FreeBSD/ ftp://ftp5.uk.FreeBSD.org/pub/FreeBSD/ República Eslovaca Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@sk.FreeBSD.org deste domínio. ftp://ftp.sk.FreeBSD.org/pub/FreeBSD/ República Tcheca Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@cz.FreeBSD.org deste domínio. ftp://ftp.cz.FreeBSD.org/pub/FreeBSD/ Contato: calda@dzungle.ms.mff.cuni.cz Romênia Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@ro.FreeBSD.org deste domínio. ftp://ftp.ro.FreeBSD.org/pub/FreeBSD/ Rússia Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@ru.FreeBSD.org deste domínio. ftp://ftp.ru.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.ru.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.ru.FreeBSD.org/pub/FreeBSD/ ftp://ftp4.ru.FreeBSD.org/pub/FreeBSD/ Suécia Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@se.FreeBSD.org deste domínio. ftp://ftp.se.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.se.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.se.FreeBSD.org/pub/FreeBSD/ Tailândia ftp://ftp.nectec.or.th/pub/FreeBSD/ Contato: ftpadmin@ftp.nectec.or.th. Taiwan (Formosa) Em caso de problemas, por favor contate o Gerente (hostmaster) hostmaster@tw.FreeBSD.org deste domínio. ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/ ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/ ftp://ftp3.tw.FreeBSD.org/pub/FreeBSD/ ftp://ftp4.tw.FreeBSD.org/pub/FreeBSD/ Ucrânia ftp://ftp.ua.FreeBSD.org/pub/FreeBSD/ Contato: freebsd-mnt@lucky.net.
CVS Anônimo - - <anchor id="anoncvs-intro"/>Introdução + + Introdução CVS Anônimo (ou, seu outro nome, anoncvs) é uma funcionalidade dos utilitários CVS incluídos no FreeBSD para sincronização com um repositório remoto. Entre outras coisas, permite que usuários de FreeBSD executem, sem privilégios especiais, operações de leitura apenas (read-only) em um dos servidores anoncvs oficiais do projeto FreeBSD. Para usá-lo, atribui-se à variável de ambiente CVSROOT a localização do servidor anoncvs apropriado, fornece-se a bem conhecida senha anoncvs com o comando cvs login, e, então, utiliza-se o comando &man.cvs.1; para acessá-lo como a um repositório local qualquer. Pode-se dizer que ambos os serviços CVSup e anoncvs realizam essencialmente a mesma função, existem vários compromissos (trade-offs) que podem influenciar a escolha do usuário de métodos de sincronização. Resumidamente, CVSup é mais eficiente em seu uso de recursos de rede e, de longe, o mais tecnicamente sofisticado dos dois mas a um preço. Para utilizar CVSup, um cliente especial deve ser instalado primeiro e configurado antes que quaisquer bits possam ser obtidos, e, então, somente nas parcelas relativamente grandes que CVSup denomina coleções. Anoncvs, em contraste, pode ser usado para examinar qualquer coisa desde de um arquivo individual a um programa específico (como ls ou grep) referenciando o nome do módulo CVS. Naturalmente, anoncvs somente é bom para operações de leitura apenas (read-only) no repositório de CVS, logo se sua intenção for suportar o desenvolvimento local em um repositório compartilhado com os bits do projeto FreeBSD, CVSup é realmente sua única opção. - - <anchor id="anoncvs-usage"/>Usando CVS + <sect2 id="anoncvs-usage"> + <title>Usando CVS Anônimo Configurar o &man.cvs.1; para utilizar um repositório CVS anônimo requer, simplesmente, uma atribuição à variável de ambiente CVSROOT da localização de um dos servidores anoncvs do projeto FreeBSD. No momento da preparação deste documento, os seguintes servidores estão disponíveis: EUA: :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs (Use o cvs login e entre a senha anoncvs quando requerido.) Visto que CVS permite fazer um check out de virtualmente qualquer versão do código fonte do FreeBSD que já existiu (ou, em alguns casos, que irá existir), você precisa familiarizar-se com a opção () de revisão e seus valores permitidos no repositório do Projeto FreeBSD em &man.cvs.1;. Há dois tipos de etiquetas (tags): etiquetas de revisão (revision tags) e etiquetas de ramo (branch tags). Uma etiqueta de revisão refere-se a uma revisão específica. Seu significado mantém-se de um dia para o outro. Uma etiqueta de ramo; entretanto, refere-se à revisão mais recente de uma dada linha de desenvolvimento, em um dado momento. Porque uma etiqueta de ramo não se refere a uma revisão específica, ela pode significar amanhã algo diferente do que significa hoje. Aqui se encontram as etiquetas de ramo que podem interessar aos usuários (tenha em mente que a única etiqueta válida para coleção de ports é HEAD). HEAD Nome simbólico para a linha principal, ou FreeBSD-CURRENT. Também, é a padrão quando nenhuma revisão é especificada. RELENG_4 A linha de desenvolvimento do FreeBSD-4.X, também conhecida como FreeBSD-STABLE. RELENG_4_4 O ramo de lançamentos do FreeBSD-4.4, usada somente para avisos de segurança e outras correções críticas sérias. RELENG_4_3 O ramo de lançamentos do FreeBSD-4.3, usada somente para avisos de segurança e outras correções críticas sérias. RELENG_3 A linha de desenvolvimento do FreeBSD-3.X, também conhecida como 3.X-STABLE. RELENG_2_2 A linha de desenvolvimento para FreeBSD-2.2.X, também conhecida como 2.2-STABLE. Este ramo de desenvolvimento é praticamente obsoleto. Aqui estão as etiquetas de revisão nas quais os usuários podem estar interessados. Novamente, nenhuma destas é válida para a coleção de ports visto que a coleção de ports não possui múltiplas revisões. RELENG_4_4_0_RELEASE FreeBSD 4.4. RELENG_4_3_0_RELEASE FreeBSD 4.3. RELENG_4_2_0_RELEASE FreeBSD 4.2. RELENG_4_1_1_RELEASE FreeBSD 4.1.1. RELENG_4_1_0_RELEASE FreeBSD 4.1. RELENG_4_0_0_RELEASE FreeBSD 4.0. RELENG_3_5_0_RELEASE FreeBSD-3.5. RELENG_3_4_0_RELEASE FreeBSD-3.4. RELENG_3_3_0_RELEASE FreeBSD-3.3. RELENG_3_2_0_RELEASE FreeBSD-3.2. RELENG_3_1_0_RELEASE FreeBSD-3.1. RELENG_3_0_0_RELEASE FreeBSD-3.0. RELENG_2_2_8_RELEASE FreeBSD-2.2.8. RELENG_2_2_7_RELEASE FreeBSD-2.2.7. RELENG_2_2_6_RELEASE FreeBSD-2.2.6. RELENG_2_2_5_RELEASE FreeBSD-2.2.5. RELENG_2_2_2_RELEASE FreeBSD-2.2.2. RELENG_2_2_1_RELEASE FreeBSD-2.2.1. RELENG_2_2_0_RELEASE FreeBSD-2.2.0. Quando se especifica uma etiqueta de ramo, normalmente se recebe a versão mais recente dos arquivos desta linha de desenvolvimento. Se desejar receber alguma versão antiga, pode-se fazê-lo especificando-se uma data com a opção . Veja a página de manual &man.cvs.1; para maiores detalhes. Exemplos Mesmo sendo expressamente recomendado que a página de manual de &man.cvs.1; seja lida completamente antes que faça-se qualquer coisa, aqui vão alguns exemplos rápidos que mostram, essencialmente, como utilizar CVS Anônimo: <foreignphrase>Checking Out</foreignphrase> Algo De -CURRENT (&man.ls.1;) E Apagando-o: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co ls &prompt.user; cvs release -d ls &prompt.user; cvs logout <foreignphrase>Checking Out</foreignphrase> A Versão De &man.ls.1; No Ramo 3.X-STABLE: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co -rRELENG_3 ls &prompt.user; cvs release -d ls &prompt.user; cvs logout Criando Uma Lista De Modificações (como diffs unificados) De &man.ls.1; &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs rdiff -u -rRELENG_3_0_0_RELEASE -rRELENG_3_4_0_RELEASE ls &prompt.user; cvs logout Descobrindo Que Outros Nomes De Módulos Podem Ser Usados: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co modules &prompt.user; more modules/modules &prompt.user; cvs release -d modules &prompt.user; cvs logout Outros Recursos Os seguintes recursos adicionais podem ser úteis no aprendizado de CVS: Tutorial CVS da Cal Poly. Cyclic Software, consultores comerciais de CVS. CVSWeb é a interface web para CVS do Projeto FreeBSD. Usando CTM CTM é um método para manter uma árvore de diretórios remota sincronizada com uma árvore central. Foi desenvolvido para uso com árvores de código fonte do FreeBSD, mas outras pessoais podem achá-lo útil para outros propósitos com o passar do tempo. Pouca, se alguma, documentação existe atualmente sobre o processo de criação de deltas, logo contate &a.phk; para maiores informações se desejar usar CTM para outros propósitos. Por Que Eu Deveria Usar <application>CTM</application>? CTM fornecer-lhe-á uma cópia local das árvores de código fonte do FreeBSD. Há um número de variedades da árvore disponível. Se desejar acompanhar a árvore CVS inteira ou apenas um dos ramos, CTM pode fornecer-lhe a informação. Se você é um desenvolvedor FreeBSD ativo mas possui conectividade TCP/IP ruim ou inexistente; ou, simplesmente deseja que as modificações sejam-lhe enviadas automaticamente: CTM foi feito para você. Será necessário obter até três deltas por dia para os ramos mais ativos. Entretanto, deve-se considerar recebê-los automaticamente através de e-mail. O tamanho das atualizações é sempre mantido tão pequeno quanto o possível. O tamanho de uma atualização é tipicamente menor que 5K, com uma ocasional (uma em dez) 10-50K, e de vez em quando uma grande com 100K+ ou ao redor disso. Você precisará conscientizar-se de vários possíveis problemas relacionados a trabalhar diretamente a partir do código fonte de desenvolvimento, ao invés de um lançamento pré-empacotado. Isto é particularmente verdade se escolher o código fonte “corrente” (current). É recomendado que se leia Permanecendo corrente com o FreeBSD. O Que Você Precisa Para Usar <application>CTM</application>? Você irá precisar de duas coisas: O programa CTM, e os deltas iniciais para alimentá-lo (para alcançar os níveis “correntes”). O programa CTM faz parte do FreeBSD desde a versão 2.0 release, e encontra-se em /usr/src/usr.sbin/CTM se você possuir uma cópia do código fonte à disposição. Se estiver usando uma versão pré-2.0 do FreeBSD, pode-se obter o código fonte corrente do CTM em: ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm/ Os “deltas” com os quais alimenta-se CTM podem ser obtidos de duas maneiras: FTP ou e-mail. Se você tem acesso FTP à Internet, os seguintes sítios FTP suportam acesso ao CTM: ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/ ou veja a seção espelhos. Acesse via FTP o diretório relevante e pegue o arquivo README, comece ali. Caso deseje obter seus deltas via e-mail: Envie e-mail para &a.majordomo; a fim de increver-se em uma das listas de distribuição CTM. “ctm-cvs-cur” cobre toda árvore CVS. “ctm-src-cur” cobre a head do ramo de desenvolvimento. “ctm-src-2_2” cobre o ramo 2.2 release, etc.. (Caso não saiba como se inscrever usando majordomo, envie uma mensagem primeiro contendo a palavra help — ele enviar-lhe-á de volta instruções sobre o uso.) Quando começar a receber suas atualizações CTM por e-mail, você pode utilizar o programa ctm_rmail para desempacotá-las e aplicá-las. Na verdade, você pode usar o programa ctm_rmail diretamente de uma entrada dentro de /etc/aliases se deseja que o processo seja totalmente automatizado. Olhe a página de manual ctm_rmail para maiores detalhes. Não importa qual método você utilize para obter os deltas CTM, você deve inscrever-se na lista de discussão ctm-announce@FreeBSD.org. No futuro, este será o único lugar no qual anúncios relativos às operações do sistema CTM serão postados. Envie e-mail para &a.majordomo; com uma única linha subscribe ctm-announce para ser adicionado à lista. Usando <application>CTM</application> Pela Primeira Vez Antes de começar a usar deltas CTM, você precisará de um ponto de partida a partir do qual deltas subseqüentes possam ser obtidos. Primeiro, você deve determinar o que já tem. Todos podem começar a partir de um diretório “vazio”. Você deve usar o delta “Empty” para iniciar sua árvore CTM. Em algum momento, pretende-se que estes deltas “inicializados” sejam distribuídos em CD para sua conveniência; entretanto, isto não acontece atualmente. Visto que as árvores têm muitas dezenas de megabytes, você pode preferir começar a partir de algo já à mão. Caso tenha um CD de um -RELEASE, você pode copiar ou extrair a partir dele um código fonte inicial. Isto irá poupar uma transferência significativa de dados. Você pode reconhecer estes deltas “iniciais” pelo literal X adicionado ao número (src-cur.3210XEmpty.gz por exemplo). A designação seguindo o X corresponde à sua “semente” inicial. Empty é um diretório vazio. Como regra geral, uma transição base a partir de Empty é produzida a cada 100 deltas. A propósito, eles são grandes! 25 a 30 Megabytes de dados comprimidos com gzip são comuns para deltas XEmpty. Uma vez que tenha escolhido um delta a partir do qual começar, você precisará também de todos os deltas de números subseqüentes a ele. Usando <application>CTM</application> Em Sua Vida Diária Para aplicar os deltas, simplesmente diga: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* CTM entende deltas comprimidos com gzip, logo não é necessário descomprimi-los primeiro com gunzip, isto economiza espaço de disco. A menos que CTM sinta-se muito seguro a respeito de todo o processo, ele não tocará sua árvore. Pode-se usar a opção e CTM não tocará sua árvore; meramente verificará a integridade do delta e verificará se ele aplicar-se-ia sem erros à sua árvore corrente. Existem outra opções para CTM, veja as páginas de manual ou olhe o código fonte para maiores informações. Isso é tudo. A cada vez que receber um novo delta, alimente CTM com ele para manter seus códigos fontes atualizados. Não apague os deltas se for difícil obtê-los novamente. Você pode querer mantê-los para o caso de algo ruim acontecer. Mesmo que só tenha disquetes, considere usar fdwrite para fazer cópias. Mantendo Suas Mudanças Locais Um desenvolvedor gostaria de experimentar e mudar arquivos na árvore de código fonte. CTM suporta modificações locais de maneira limitada: antes de checar a existência de um arquivo foo, ele primeiro procura por foo.ctm. Se este arquivo existir, CTM operará sobre ele ao invés de foo. Este comportamento nos fornece uma maneira simples de manter modificações locais: apenas copie os arquivos que planeja modificar para arquivos de nomes correspondentes com o sufixo .ctm. Então, você poderá modificar o código fonte livremente enquanto CTM mantêm o arquivo .ctm atualizado. Outras Opções Interessantes De <application>CTM</application> Descobrindo Exatamente O Que Seria Modificado Por Uma Atualização Você pode determinar uma lista das modificações que CTM fará em seu repositório de código fonte usando a opção do CTM. Isto é muito útil se você quiser manter um registro de modificações, pré- ou pós- processar os arquivos modificados de qualquer forma, ou simplesmente estiver se sentindo um pouco paranóico. Fazendo Cópias De Segurança Antes De Atualizar Algumas vezes, você pode querer fazer cópias de segurança de todos os arquivos que seriam modificados por uma atualização CTM. Especificar a opção faz com que CTM faça cópias de segurança para arquivo-de-cópia-de-segurança de todos os arquivos que seriam modificados por um dado delta CTM. Restringindo Os Arquivos Modificados Por Uma Atualização Algumas vezes, você poderá se interessar em restringir o escopo de uma dada atualização CTM, ou poderá se interessar em extrair somente alguns arquivos de uma seqüência de deltas. Você pode controlar a lista de arquivos sobre os quais CTM operará por meio de filtragem com expressões regulares usando as opções e . Por exemplo, para extrair uma cópia atualizada de lib/libc/Makefile de sua coleção de deltas CTM gravados, execute os comandos: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* Para cada arquivo especificado em um delta CTM, as opções e são aplicadas na ordem dada na linha de comando. O arquivo é processado pelo CTM somente se estiver marcado como elegível após todas as opções e terem sido aplicadas a ele. Planos Futuros Para <application>CTM</application> Toneladas deles: Incluir algum tipo de autenticação no sistema CTM a fim de permitir detecção de atualizações CTM spoofed. Fazer uma limpeza nas opções do CTM, elas tornaram-se confusas e não intuitivas. Itens variados Existe uma seqüência de deltas para a coleção de ports, também, mas interesse não tem sido muito grande ainda. Informem-me se vocês querem uma lista de distribuição para isso também e consideraremos instalar uma. Espelhos CTM CTM/FreeBSD está disponível através de FTP anônimo nos seguintes sítios espelhos. Se você escolher obter CTM via FTP anônimo, por favor tente usar um sítio próximo a você. Em caso de problemas, por favor contate &a.phk;. África do Sul, servidor de cópias de segurança de deltas antigos ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/ Alemanha, Trier ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM/ Califórnia, Área da Baía, fonte oficial ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/ Taiwan (Formosa), Chiayi ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/CTM/ ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/CTM/ ftp://ctm3.tw.FreeBSD.org/pub/freebsd/CTM/ Se você não encontrou um espelho próximo a você ou o espelho está incompleto, tente FTP search em http://ftpsearch.ntnu.no/ftpsearch. FTP search é um grande servidor archie gratuito em Trondheim, Noruega. Usando CVSup Introdução CVSup é um pacote de programas para distribuir e atualizar árvores de código fonte a partir de um repositório CVS mestre em um servidor remoto. Os códigos fontes do FreeBSD são mantidos em um repositório CVS em uma máquina de desenvolvimento central na Califórnia. Com CVSup, usuários de FreeBSD podem facilmente manter suas árvores de códigos fontes atualizadas. CVSup utiliza o modelo de atualização chamado puxar (pull). No modelo puxar, cada cliente requisita atualizações ao servidor, se e quando desejam. Ou seja, todas as atualizações são iniciadas pelo cliente. O servidor jamais envia atualizações não solicitadas. Usuários devem ou executar o cliente CVSup manualmente para obter uma atualização, ou criar um job cron para regularmente e automaticamente executá-lo. O termo CVSup, escrito com maiúsculas e minúsculas desta maneira, refere-se ao pacote completo de programas. Seus componentes principais são o cliente cvsup o qual executa na máquina de cada usuário, e o servidor cvsupd o qual executa em cada sítio espelho FreeBSD. Ao ler a documentação do FreeBSD e listas de discussão, você pode ver referências a sup. Sup foi o predecessor de CVSup, e serviu um propósito similar. CVSup é usado praticamente da mesma maneira que sup e, de fato, usa arquivos de configuração que são compatíveis de forma regressa (backward-compatible) com os de sup. Sup não é mais utilizado no projeto FreeBSD porque CVSup é ao mesmo tempo mais rápido e mais flexível. Instalação A maneira mais fácil de instalar CVSup é usar o pacote pré-compilado net/cvsup da coleção de pacotes FreeBSD. Caso prefira compilar CVSup a partir do código fonte, pode-se usar o port net/cvsup ao invés do pacote. Mas esteja avisado: o port depende no sistema Modula-3 que exige tempo e espaço de disco substancial tanto para baixar da Internet quanto para compilar. Se você não sabe nada sobre CVSup e deseja um único pacote que irá instalá-lo, criar o arquivo de configuração e iniciar a transferência através de uma interface tipo apontar-e-clicar; então, obtenha o pacote cvsupit. Passe-o para &man.pkg.add.1; e ele irá guiá-lo através do processo de configuração em um modo orientado a menu. Configurando CVSup A operação de CVSup é controlada por um arquivo de configuração chamado supfile. Existem alguns exemplos de supfiles no diretório /usr/share/examples/cvsup/. A informação em um supfile responde ao cvsup as seguintes perguntas: Quais arquivos você quer receber? Quais versões deles quer? De onde quer obtê-los? Onde quer colocá-los em sua máquina? Onde quer colocar seus arquivos de status? Nas seções seguintes, nós iremos construir um supfile típico ao responder cada uma das seguintes perguntas. Primeiro, nós descreveremos a estrutura completa de um supfile. Um supfile é um arquivo texto. Comentários começam com # e estende-se até o fim da linha. Linhas em branco ou que somente contêm comentários são ignoradas. Cada linha restante descreve um conjunto de arquivos que o usuário deseja receber. A linha começa com o nome de uma coleção, um agrupamento lógico de arquivos definido pelo servidor. O nome de uma coleção informa o servidor quais arquivos você deseja. Após o nome da coleção vem zero ou mais campos, separados por espaços em branco. Estes campos respondem às perguntas feitas acima. Existem dois tipos de campos: campos de sinalização e campos de valor. Um campo de sinalização consiste de uma palavra chave solitária, e.g., delete ou compress. Um campo de valor, também, começa com uma palavra chave mas a palavra chave é seguida sem nenhum espaço em branco intermediário por = e uma segunda palavra. Por exemplo, release=cvs é um campo de valor. Um supfile tipicamente especifica mais de uma coleção a receber. Uma maneira para estruturar um supfile é especificar todos os campos relevantes explicitamente para cada coleção. Entretanto, isso tende a tornar longas as linhas do supfile, e isto é inconveniente pois a maioria dos campos é comum a todas coleções em um supfile. CVSup provê um mecanismo de valores padrão para evitar estes problemas. Linhas começando com o nome da pseudocoleção *default podem ser usadas para atribuir sinalizações e valores que serão utilizados como valores padrão para as coleções subseqüentes em um supfile. Um valor padrão pode ser sobrescrito para uma coleção individual especificando-se um valor diferente na coleção específica. Valores padrão podem, também, ser modificados ou suplementados no meio de um supfile por linhas *default adicionais. Com este histórico, agora procederemos para construir um supfile para recepção e atualização da árvore de código fonte principal de FreeBSD-CURRENT. Quais arquivos quer receber? Os arquivos disponíveis via CVSup estão organizados em grupos nomeados chamados coleções. As coleções disponíveis estão descritas nas seções a seguir. Neste exemplo, desejamos receber toda a árvore de código fonte principal para o sistema FreeBSD. Existe uma grande coleção individual src-all a qual nos dará tudo. Como um primeiro passo na direção da construção do nosso supfile, nós simplesmente listamos as coleções, uma por linha (neste caso, apenas uma linha): src-all Qual(is) versão(ões) dele(s) quer? Com CVSup, você virtualmente pode receber qualquer versão dos códigos fonte que já existiram. Isto é possível porque o servidor cvsupd trabalha diretamente a partir do repositório CVS, que contém todas versões. Você especifica qual delas quer usando os campos de valor tag= e . Seja cuidadoso para especificar corretamente quaisquer campos tag=. Certas etiquetas (tags) somente são válidas para algumas coleções de arquivos. Se você especificar uma etiqueta tag incorretamente ou com erros de digitação, CVSup irá apagar arquivos, os quais, você provavelmente não queria apagar. Particularmente, utilize tag=. apenas para coleções ports-*. O campo tag= denomina uma etiqueta simbólica (symbolic tag) no repositório. Existem dois tipos de etiquetas, etiquetas de revisão (revision tags) e etiquetas de ramo (branch tags). Uma etiqueta de revisão faz referência a uma revisão específica. Seu significado permanece o mesmo de um dia para outro. Uma etiqueta de ramo, por outro lado, faz referência à última versão de uma dada linha de desenvolvimento, em qualquer momento. Devido à etiqueta de ramo não fazer referência a uma revisão específica, amanhã ela pode significar algo diferente do que significa hoje. Aqui estão as etiquetas de ramo podem interessar aos usuários. Tenha em mente que apenas o tag=. é relevante para a coleção de ports. tag=. A principal linha de desenvolvimento, também conhecida como FreeBSD-CURRENT. O . não é pontuação; ele é o nome de uma etiqueta (tag). Válida para todas coleções. tag=RELENG_4 A linha de desenvolvimento para FreeBSD-4.X, também conhecida como FreeBSD-STABLE. tag=RELENG_4_4 O ramo de lançamentos (release) para FreeBSD-4.4, utilizado apenas para avisos de segurança e outras correções seriamente críticas. tag=RELENG_4_3 O ramo de lançamentos (release) para FreeBSD-4.3, utilizado apenas para avisos de segurança e outras correções seriamente críticas. tag=RELENG_3 A linha de desenvolvimento para FreeBSD-3.X tag=RELENG_2_2 A linha de desenvolvimento para FreeBSD-2.2.X, também conhecida como 2.2-STABLE. Aqui estão as etiquetas de revisão nas quais os usuários podem estar interessados. Novamente, estas não são válidas para a coleção de ports. tag=RELENG_4_4_0_RELEASE FreeBSD 4.4. tag=RELENG_4_3_0_RELEASE FreeBSD 4.3. tag=RELENG_4_2_0_RELEASE FreeBSD-4.2. tag=RELENG_4_1_1_RELEASE FreeBSD-4.1.1. tag=RELENG_4_1_0_RELEASE FreeBSD-4.1. tag=RELENG_4_0_0_RELEASE FreeBSD-4.0. tag=RELENG_3_5_0_RELEASE FreeBSD-3.5. tag=RELENG_3_4_0_RELEASE FreeBSD-3.4. tag=RELENG_3_3_0_RELEASE FreeBSD-3.3. tag=RELENG_3_2_0_RELEASE FreeBSD-3.2. tag=RELENG_3_1_0_RELEASE FreeBSD-3.1. tag=RELENG_3_0_0_RELEASE FreeBSD-3.0. tag=RELENG_2_2_8_RELEASE FreeBSD-2.2.8. tag=RELENG_2_2_7_RELEASE FreeBSD-2.2.7. tag=RELENG_2_2_6_RELEASE FreeBSD-2.2.6. tag=RELENG_2_2_5_RELEASE FreeBSD-2.2.5. tag=RELENG_2_2_2_RELEASE FreeBSD-2.2.2. tag=RELENG_2_2_1_RELEASE FreeBSD-2.2.1. tag=RELENG_2_2_0_RELEASE FreeBSD-2.2.0. Seja cuidadoso ao digitar o nome de etiqueta (tag) exatamente como mostrado. CVSup não consegue distingüir entre etiquetas válidas e inválidas. Se você digitou a etiqueta incorretamente, CVSup irá se comportar como se você tivesse especificado uma etiqueta válida que por acaso referencia nenhum arquivo. Isto, neste caso, irá apagar seus códigos fonte existentes. Quando você especifica uma etiqueta de ramo (branch tag), você normalmente recebe as últimas versões dos arquivos daquela linha de desenvolvimento. Se desejar receber alguma versão anterior, você pode fazê-lo especificando a data com o campo de valor . A página de manual &man.cvsup.1; explica como fazer isto. Para nosso exemplo, desejamos receber FreeBSD-CURRENT. Acrescentamos esta linha no início de nosso supfile: *default tag=. Existe um importante caso especial que ocorre se você não especificar um campo tag= nem um campo date=. Neste caso, você recebe os arquivos RCS reais diretamente do servidor de repositório CVS, ao invés de receber uma versão particular. Desenvolvedores geralmente preferem este modo de operação. Ao manter uma cópia do próprio repositório em seus sistemas, eles adquirem a habilidade de olhar os históricos de revisão e examinar versões anteriores de arquivos. Entretanto, esta facilidade é obtida a grande custo em termos de espaço em disco. De onde quer obtê-los? Nós usamos o campo host= para informar cvsup onde obter suas atualizações. Qualquer um dos sítios espelho CVSup irá servir; entretanto, deve-se tentar selecionar um que esteja próximo a você no ciberespaço. Neste exemplo, será utilizado um sítio de distribuição de FreeBSD fictício, cvsup666.FreeBSD.org: *default host=cvsup666.FreeBSD.org Você precisará modificar o servidor para um que realmente exista antes de executar o CVSup. Em qualquer execução particular de cvsup, você pode sobrescrever o atributo de servidor na linha de comando, com . Onde quer colocá-los em sua máquina? O campo prefix= informa cvsup onde colocar os arquivos que recebe. Neste exemplo, nós iremos colocar os arquivos de código fonte diretamente em nossa árvore de código fonte principal, /usr/src. O diretório src já está implícito nas coleções que escolhemos receber; então, esta é a especificação correta: *default prefix=/usr Onde cvsup deveria manter os arquivos de status? O cliente de CVSup mantém alguns arquivos de status no, que é chamado, diretório base. Estes arquivos auxiliam CVSup a trabalhar mais eficientemente, ao manter informação a respeito de quais atualizações já recebeu. Nós usaremos o diretório base padrão, /usr/local/etc/cvsup: *default base=/usr/local/etc/cvsup Esta configuração será utilizada como padrão se não for especificada no supfile, então, realmente, não precisaremos da linha acima. Se seu diretório base ainda não existe, agora seria um bom momento para criá-lo. O cliente de cvsup se recusará a executar-se caso o diretório base não exista. Configurações variadas de supfile: Existe mais uma linha de texto padronizado que normalmente precisa estar presente no supfile: *default release=cvs delete use-rel-suffix compress release=cvs indica que o servidor deve obter suas informações a partir do repositório principal CVS do FreeBSD. Isto é, virtualmente, sempre o caso, mas existem outras possibilidades que estão além do escopo desta discussão. delete dá ao CVSup permissão para apagar arquivos. Você sempre deve especificar isto, para que CVSup possa manter sua árvore de código fonte integralmente atualizada. CVSup é cuidadoso apagando apenas aqueles arquivos pelos quais é responsável. Quaisquer arquivos adicionais que possua serão deixados estritamente intocados. use-rel-suffix é ... arcano. Se você realmente quer conhecer algo sobre ele, veja a página de manual &man.cvsup.1;. De outra forma, apenas especifique-o e não se preocupe. compress habilita o uso de compressão estilo gzip no canal de comunicação. Se sua conexão de rede possui velocidade T1 ou mais rápida, provavelmente, você não deveria usar compressão. Em outros casos, irá ajudar substancialmente. Juntando tudo: Aqui está o supfile completo para nosso exemplo: *default tag=. *default host=cvsup666.FreeBSD.org *default prefix=/usr *default base=/usr/local/etc/cvsup *default release=cvs delete use-rel-suffix compress src-all O arquivo de <literal>refuse</literal> Como mencionado acima, CVSup utiliza um método puxar (pull). Basicamente, isto significa que você conecta-se ao servidor CVSup, e ele diz: Aqui está o que você pode baixar de mim..., e seu cliente responde OK, Eu pegarei isto, isto, isto e isto. Na configuração padrão, o cliente CVSup irá pegar cada arquivo associado com a coleção e etiqueta que você escolheu no arquivo de configuração. Entretanto, isto não é o que você sempre quer, especialmente se você estiver sincronizando árvores doc, ports, ou www — a maioria das pessoas não conseguem ler em quatro ou cinco línguas; e, por isso eles não precisam baixar os arquivos específicos para cada língua. Se você está fazendo CVSup da coleção de ports, você fazê-lo especificando cada coleção individualmente (e.g., ports-astrology, ports-biology, etc ao invés de simplesmente dizer ports-all). Entretanto, como árvores doc e www não possuem coleções específicas por línguas, você precisa utilizar uma das muitas funcionalidades atraentes do CVSup; o arquivo de refuse. O arquivo de refuse essencialmente informa CVSup que ele não deve pegar cada um dos arquivos de uma coleção; em outras palavras, ele informa o cliente para recusar certos arquivos do servidor. O arquivo de refuse pode ser encontrado (ou, se você ainda não o possuir, deve ser colocado) em base/sup/refuse. base está definido em seu supfile; por padrão, base é /usr/local/etc/cvsup, que significa que por padrão o arquivo de refuse está em /usr/local/etc/cvsup/sup/refuse. O arquivo de refuse possui um formato muito simples; contém simplesmente os nomes de arquivos ou diretórios que você não deseja baixar. Por exemplo, se você não fala nenhuma outra língua a não ser a inglesa e um pouco da alemã, e você não sente necessidade de usar aplicativos alemães, você pode colocar o seguinte em seu arquivo de refuse: ports/chinese ports/german ports/japanese ports/korean ports/russian ports/vietnamese doc/es_ES.ISO8859-1 doc/ja_JP.eucJP e desta forma para as outras línguas. Perceba que o nome do repositório é o primeiro diretório no arquivo de refuse. Com esta funcionalidade muito útil, aqueles usuários que estão com conexões lentas ou pagam por minuto de conexão Internet poderão economizar tempo valioso por não mais precisarem baixar arquivos que não irão utilizar. Para mais informações sobre arquivos de refuse e outras interessantes funcionalidades do CVSup; por favor, olhe a página de manual dele. Executando <application>CVSup</application> Você agora está pronto para tentar atualizar. A linha de comando para fazer isso é bastante simples:: &prompt.root; cvsup supfile onde supfile é, na verdade, o nome do supfile que você acaba de criar. Assumindo que você está executando sob o X11, cvsup irá exibir uma janela GUI com botões para fazer as coisas usuais. Pressione o botão go, e observe sua execução. Como, neste exemplo, você está atualizando sua árvore de diretórios /usr/src atual, você precisará executar o programa como root para que cvsup possua as permissões necessárias para atualizar seus arquivos. Tendo apenas acabado de criar seu arquivo de configuração mas nunca tendo utilizado este programa anteriormente é compreensível que você fique nervoso. Existe uma maneira fácil de fazer uma tentativa sem tocar em seus preciosos arquivos. Apenas crie um diretório vazio em um lugar conveniente e passe seu nome como um argumento extra na linha de comando: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest O diretório que você especificou será utilizado como o diretório de destino para todos os arquivos atualizados. O CVSup irá examinar seus arquivos atuais em /usr/src mas não irá modificar ou apagar algum deles. Qualquer arquivo com atualizações, ao contrário, será depositado em /var/tmp/dest/usr/src. O CVSup também irá deixar seus arquivos de estado do diretório base intocados quando for executado desta maneira. As novas versões desses arquivos serão escritas no diretório especificado. Enquanto você possuir acesso de leitura em /usr/src, você nem mesmo precisará ser root para realizar este tipo de tentativa. Se você não está executando o X11 ou não gosta de GUIs, você deve acrescentar algumas opções a linha de comando quando executar cvsup: &prompt.root; cvsup -g -L 2 supfile A opção informa CVSup para não utilizar sua GUI. Isto é automático se você não estiver executando o X11 mas em outros casos, você terá que especificá-lo. A opção informa CVSup para exibir os detalhes de todas as atualizações de arquivo que estão sendo realizadas. Existem três níveis de verbosidade, desde até . O padrão é 0, que significa silêncio total com exceção feita a mensagens de erro. Existe uma variedade de outras opções disponíveis. Para uma lista resumida, digite cvsup -H. Para descrições mais detalhadas, veja a página de manual. Uma vez que esteja satisfeito com a forma que as atualizações estejam funcionando, você pode organizar execuções regulares do CVSup usando &man.cron.8;. Obviamente, você não deve permitir que o CVSup utilize sua GUI quando for executado a partir do &man.cron.8;. Coleção de Arquivos <application>CVSup</application> As coleções de arquivos disponíveis via CVSup estão organizadas hierarquicamente. Existem algumas coleções grandes, e elas são divididas em subcoleções menores. Receber uma coleção grande equivale a receber cada uma de suas subcoleções. As relações hierárquicas entre coleções são refletidas através de endentação na lista abaixo. As coleções mais utilizadas normalmente são src-all, e ports-all. As outras coleções são utilizadas apenas por pequenos grupos de pessoas para propósitos específicos, e alguns sítios espelho podem não conter todas elas. cvs-all release=cvs O repositório principal CVS do FreeBSD, incluindo código criptográfico. distrib release=cvs Arquivos relacionados à distribuição e espelhamento do FreeBSD. doc-all release=cvs Códigos fonte para o manual do FreeBSD e outras documentações. Isto não inclui arquivos do sítio www do FreeBSD. ports-all release=cvs A Coleção de Ports do FreeBSD. ports-archivers release=cvs Ferramentas relacionadas à Armazenagem. ports-astro release=cvs Ports relacionados à Astronomia. ports-audio release=cvs Suporte a Som. ports-base release=cvs Arquivos variados no topo de /usr/ports. ports-benchmarks release=cvs Programas para análise de desempenho(benchmark). ports-biology release=cvs Biologia. ports-cad release=cvs Ferramentas Computacionais de auxílio a projeto (CAD). ports-chinese release=cvs Suporte para língua Chinesa. ports-comms release=cvs Programas de Comunicação. ports-converters release=cvs Conversores de códigos de caractere. ports-databases release=cvs Bancos de Dados. ports-deskutils release=cvs Coisas que costumavam ficar no desktop antes dos computadores serem inventados. ports-devel release=cvs Utilitários para desenvolvimento. ports-editors release=cvs Editores. ports-emulators release=cvs Emuladores de outros sistemas operacionais. ports-ftp release=cvs Cliente de FTP e utilitários para servidor. ports-games release=cvs Jogos. ports-german release=cvs Suporte para a língua Alemã. ports-graphics release=cvs Utilitários Gráficos. ports-irc release=cvs Utilitários para bate-papo retransmitido via Internet (IRC). ports-japanese release=cvs Suporte para língua Japonesa. ports-java release=cvs Utilitários para Java. ports-korean release=cvs Suporte para língua Coreana. ports-lang release=cvs Linguagens de programação. ports-mail release=cvs Programa para correio eletrônico. ports-math release=cvs Programa para computação numérica. ports-mbone release=cvs Aplicativos para MBone. ports-misc release=cvs Utilitários variados. ports-net release=cvs Programa para rede. ports-news release=cvs Programa para notícias USENET. ports-palm release=cvs Programa de apoio para linha Palm(TM) da 3Com. ports-print release=cvs Programa para impressão. ports-russian release=cvs Suporte para língua Russa. ports-security release=cvs Utilitários para segurança. ports-shells release=cvs Ambientes de linha de comando. ports-sysutils release=cvs Utilitários para sistema. ports-textproc release=cvs utilitários para processamento de texto (não inclui editoração eletrônica). ports-vietnamese release=cvs Suporte para língua Vietnamita. ports-www release=cvs Programa relacionado à teia mundial de computadores (WWW). ports-x11 release=cvs Ports para apoiar sistema de interface gráfica X. ports-x11-clocks release=cvs Relógios para X11. ports-x11-fm release=cvs Gerenciadores de arquivo para X11. ports-x11-fonts release=cvs Fontes e utilitários de fontes para X11. ports-x11-toolkits release=cvs Conjunto de ferramentas para X11. ports-x11-servers Servidores X11. ports-x11-wm Gerenciadores de janela para X11. src-all release=cvs Os códigos fonte principal do FreeBSD, incluindo o código criptográfico. src-base release=cvs Arquivos variados no topo de /usr/src. src-bin release=cvs Utilitários para usuário que podem ser necessários no modo monousuário (/usr/src/bin). src-contrib release=cvs Utilitários e bibliotecas de fora do projeto FreeBSD, utilizados praticamente sem modificações (/usr/src/contrib). src-crypto release=cvs Utilitários e bibliotecas criptográficos de fora do projeto FreeBSD, utilizados praticamente sem modificações (/usr/src/crypto). src-eBones release=cvs Kerberos e DES (/usr/src/eBones). Não utilizado nas versões correntes do FreeBSD. src-etc release=cvs Arquivos de configuração do sistema (/usr/src/etc). src-games release=cvs Jogos (/usr/src/games). src-gnu release=cvs Utilitários cobertos pela Licença Pública GNU (/usr/src/gnu). src-include release=cvs Arquivos de cabeçalho (/usr/src/include). src-kerberos5 release=cvs Pacote de segurança Kerberos5 (/usr/src/kerberos5). src-kerberosIV release=cvs Pacote de segurança KerberosIV (/usr/src/kerberosIV). src-lib release=cvs Bibliotecas (/usr/src/lib). src-libexec release=cvs Programas do sistema normalmente executados por outros programas (/usr/src/libexec). src-release release=cvs Arquivos necessários para produzir um lançamento FreeBSD (/usr/src/release). src-secure release=cvs DES (/usr/src/secure). src-sbin release=cvs Utilitários de sistema para modo monousuário (/usr/src/sbin). src-share release=cvs Arquivos que podem ser compartilhados entre múltiplos sistemas (/usr/src/share). src-sys release=cvs O kernel (/usr/src/sys). src-sys-crypto release=cvs Código criptográfico do kernel (/usr/src/sys/crypto). src-tools release=cvs Ferramentas variadas para manutenção do FreeBSD (/usr/src/tools). src-usrbin release=cvs Utilitários para usuário (/usr/src/usr.bin). src-usrsbin release=cvs Utilitários do Sistema (/usr/src/usr.sbin). www release=cvs Os códigos fonte do sítio WWW do FreeBSD. distrib release=self Os arquivos de configuração do servidor CVSup propriamente dito. Utilizado por sítios espelho de CVSup. gnats release=current O banco de dados de rastreamento de falhas GNATS. mail-archive release=current Arquivo da lista de discussão do FreeBSD. www release=current Os arquivos pré-processados do sítio WWW do FreeBSD (não os arquivos de código fonte). Utilizados por sítios espelho de WWW. Para mais Informações Para o FAQ do CVSup e outras informações sobre CVSup, veja The CVSup Home Page. A maior parte da discussão sobre CVSup relacionado a FreeBSD acontece na &a.hackers;. Novas versões do programa são anunciadas lá, assim como na &a.announce;. Perguntas e relatórios de falha devem ser endereçadas para o autor do programa em cvsup-bugs@polstra.com. Sítios CVSup Servidores de CVSup para FreeBSD estão funcionando nos seguintes sítios: África do Sul cvsup.za.FreeBSD.org (responsável markm@FreeBSD.org) cvsup2.za.FreeBSD.org (responsável markm@FreeBSD.org) Alemanha cvsup.de.FreeBSD.org (responsável rse@freebsd.org) cvsup1.de.FreeBSD.org (responsável wosch@FreeBSD.org) cvsup2.de.FreeBSD.org (responsável cvsup@nikoma.de) cvsup3.de.FreeBSD.org (responsável ag@leo.org) cvsup4.de.FreeBSD.org (responsável cvsup@cosmo-project.de) cvsup5.de.FreeBSD.org (responsável rse@freebsd.org) Argentina cvsup.ar.FreeBSD.org (responsável msagre@cactus.fi.uba.ar) Austrália cvsup.au.FreeBSD.org (responsável dawes@xfree86.org) cvsup3.au.FreeBSD.org (responsável FreeBSD@admin.gil.com.au) Áustria cvsup.at.FreeBSD.org (responsável postmaster@wu-wien.ac.at) Brasil cvsup.br.FreeBSD.org (responsável cvsup@cvsup.br.FreeBSD.org) cvsup2.br.FreeBSD.org (responsável tps@ti.sk) cvsup3.br.FreeBSD.org (responsável camposr@matrix.com.br) cvsup4.br.FreeBSD.org (responsável cvsup@tcoip.com.br) Canadá cvsup.ca.FreeBSD.org (responsável dan@jaded.net) cvsup2.ca.FreeBSD.org (responsável hostmaster@ca.freebsd.org) China cvsup.cn.FreeBSD.org (responsável phj@cn.FreeBSD.org) Coréia cvsup.kr.FreeBSD.org (responsável cjh@kr.FreeBSD.org) cvsup2.kr.FreeBSD.org (responsável holywar@mail.holywar.net) Dinamarca cvsup.dk.FreeBSD.org (responsável jesper@skriver.dk) Eslovênia cvsup.si.FreeBSD.org (responsável blaz@si.FreeBSD.org) Espanha cvsup.es.FreeBSD.org (responsável jesusr@FreeBSD.org) cvsup2.es.FreeBSD.org (responsável jesusr@FreeBSD.org) cvsup3.es.FreeBSD.org (responsável jose@we.lc.ehu.es) Estônia cvsup.ee.FreeBSD.org (responsável taavi@uninet.ee) EUA cvsup1.FreeBSD.org (responsável cwt@networks.cwu.edu), estado de Washington cvsup2.FreeBSD.org (responsável jdp@FreeBSD.org), Califórnia cvsup3.FreeBSD.org (responsável wollman@FreeBSD.org), Massachusetts cvsup5.FreeBSD.org (responsável mjr@blackened.com), Arizona cvsup6.FreeBSD.org (responsável cvsup@cvsup.adelphiacom.net), Illinois cvsup7.FreeBSD.org (responsável jdp@FreeBSD.org), estado de Washington cvsup8.FreeBSD.org (responsável hostmaster@bigmirror.com), estado de Washington cvsup9.FreeBSD.org (responsável qbsd@uswest.net), Minnesota cvsup10.FreeBSD.org (responsável jdp@FreeBSD.org), Califórnia cvsup11.FreeBSD.org (responsável cvsup@research.uu.net), Virgínia cvsup12.FreeBSD.org (responsável will@FreeBSD.org), Indiana cvsup13.FreeBSD.org (responsável dima@valueclick.com), Califórnia cvsup14.FreeBSD.org (responsável freebsd-cvsup@mfnx.net), Califórnia cvsup15.FreeBSD.org (responsável cvsup@math.uic.edu), Illinois cvsup16.FreeBSD.org (responsável pth3k@virginia.edu), Virgínia cvsup17.FreeBSD.org (responsável cvsup@mirrortree.com), estado de Washington Finlândia cvsup.fi.FreeBSD.org (responsável count@key.sms.fi) cvsup2.fi.FreeBSD.org (responsável count@key.sms.fi) França cvsup.fr.FreeBSD.org (responsável hostmaster@fr.FreeBSD.org) cvsup2.fr.FreeBSD.org (responsável ftpmaint@uvsq.fr) Grécia cvsup.gr.FreeBSD.org (responsável ftpadm@duth.gr) cvsup2.gr.FreeBSD.org (responsável paschos@cs.uoi.gr) Holanda cvsup.nl.FreeBSD.org (responsável xaa@xaa.iae.nl) cvsup2.nl.FreeBSD.org (responsável cvsup@nl.uu.net) Irlanda cvsup.ie.FreeBSD.org (responsável dwmalone@maths.tcd.ie), Trinity College, Dublin. Islândia cvsup.is.FreeBSD.org (responsável cvsup@cvsup1.is.FreeBSD.org) Japão cvsup.jp.FreeBSD.org (responsável cvsupadm@jp.FreeBSD.org) cvsup2.jp.FreeBSD.org (responsável max@FreeBSD.org) cvsup3.jp.FreeBSD.org (responsável shige@cin.nihon-u.ac.jp) cvsup4.jp.FreeBSD.org (responsável cvsup-admin@ftp.media.kyoto-u.ac.jp) cvsup5.jp.FreeBSD.org (responsável cvsup@imasy.or.jp) cvsup6.jp.FreeBSD.org (responsável cvsupadm@jp.FreeBSD.org) Lituânia cvsup.lt.FreeBSD.org (responsável domas.mituzas@delfi.lt) Noruega cvsup.no.FreeBSD.org (responsável Per.Hove@math.ntnu.no) Nova Zelândia cvsup.nz.FreeBSD.org (responsável cvsup@langille.org) Polônia cvsup.pl.FreeBSD.org (responsável Mariusz@kam.pl) Portugal cvsup.pt.FreeBSD.org (responsável jpedras@webvolution.net) República Eslovaca cvsup.sk.FreeBSD.org (responsável tps@tps.sk) cvsup2.sk.FreeBSD.org (responsável tps@tps.sk) República Tcheca cvsup.cz.FreeBSD.org (responsável cejkar@dcse.fee.vutbr.cz) Rússia cvsup.ru.FreeBSD.org (responsável ache@nagual.pp.ru) cvsup2.ru.FreeBSD.org (responsável dv@dv.ru) cvsup3.ru.FreeBSD.org (responsável fjoe@iclub.nsu.ru) cvsup4.ru.FreeBSD.org (responsável zhecka@klondike.ru) cvsup5.ru.FreeBSD.org (responsável maxim@macomnet.ru) cvsup6.ru.FreeBSD.org (responsável pvr@corbina.net) Suécia cvsup.se.FreeBSD.org (responsável pantzer@ludd.luth.se) cvsup2.se.FreeBSD.org (responsável cvsup@dataphone.net) Taiwan (Formosa) cvsup.tw.FreeBSD.org (responsável jdli@freebsd.csie.nctu.edu.tw) cvsup2.tw.FreeBSD.org (responsável ycheng@sinica.edu.tw) cvsup3.tw.FreeBSD.org (responsável foxfair@FreeBSD.org) Ucrânia cvsup2.ua.FreeBSD.org (responsável freebsd-mnt@lucky.net) cvsup3.ua.FreeBSD.org (responsável ftpmaster@ukr.net), Kiev cvsup4.ua.FreeBSD.org (responsável phantom@cris.net) Sítios AFS Servidores AFS para FreeBSD estão sendo executados nos seguintes sítios; Suécia O caminho para os arquivos é: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Clube do Computador de Stacken, KTH, Suécia 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Responsável ftp@stacken.kth.se
diff --git a/ru_RU.KOI8-R/articles/contributing/article.xml b/ru_RU.KOI8-R/articles/contributing/article.xml index bbb07455ae..048bed79af 100644 --- a/ru_RU.KOI8-R/articles/contributing/article.xml +++ b/ru_RU.KOI8-R/articles/contributing/article.xml @@ -1,551 +1,551 @@
õÞÁÓÔÉÅ × ÐÒÏÅËÔÅ FreeBSD ÷ ÜÔÏÊ ÓÔÁÔØÅ ÏÐÉÓÁÎÙ ÒÁÚÌÉÞÎÙÅ ÓÐÏÓÏÂÙ, ËÏÔÏÒÙÍÉ ÏÔÄÅÌØÎÙÅ ÌÉÃÁ É ÏÒÇÁÎÉÚÁÃÉÊ ÍÏÇÕÔ ÐÒÉÎÑÔØ ÕÞÁÓÔÉÅ × ðÒÏÅËÔÅ FreeBSD. äÖÏÒÄÁÎ èÁÂÂÁÒÄ ôÅËÓÔ ÐÒÅÄÏÓÔÁ×ÉÌ &tm-attrib.freebsd; &tm-attrib.ieee; &tm-attrib.general; $FreeBSD$ $FreeBSD$ ÕÞÁÓÔÉÅ éÔÁË, ×Ù ÈÏÔÉÔÅ ×ÎÅÓÔÉ Ó×ÏÊ ×ËÌÁÄ ×Ï FreeBSD? üÔÏ ×ÅÌÉËÏÌÅÐÎÏ! öÉÚÎÅÓÐÏÓÏÂÎÏÓÔØ FreeBSD ÏÓÎÏ×ÁÎÁ ÎÁ ÐÏÍÏÝÉ Å£ ÐÏÌØÚÏ×ÁÔÅÌÅÊ. ÷ÁÛÁ ÐÏÍÏÝØ ÎÅ ÔÏÌØËÏ ÐÒÉÎÉÍÁÅÔÓÑ, ÏÎÁ ÖÉÚÎÅÎÎÏ ÎÅÏÂÈÏÄÉÍÁ ÄÌÑ ÐÒÏÄÏÌÖÅÎÉÑ ÒÏÓÔÁ FreeBSD. îÅÓÍÏÔÒÑ ÎÁ Õ×ÅÒÅÎÉÑ ÎÅËÏÔÏÒÙÈ ÌÀÄÅÊ, ×ÁÍ ÎÅ ÎÕÖÎÏ ÂÙÔØ ÇÅÎÉÁÌØÎÙÍ ÐÒÏÇÒÁÍÍÉÓÔÏÍ ÉÌÉ ÐÅÒÓÏÎÏÊ, ÌÉÞÎÏ Ó×ÑÚÁÎÎÏÊ Ó ÒÕËÏ×ÏÄÑÝÅÊ ÇÒÕÐÐÏÊ FreeBSD, ÞÔÏÂÙ ×ÁÛÁ ÐÏÍÏÝØ ÂÙÌÁ ÐÒÉÎÑÔÁ. FreeBSD ÒÁÚÒÁÂÁÔÙ×ÁÅÔ ÂÏÌØÛÏÅ É Õ×ÅÌÉÞÉ×ÁÀÝÅÅÓÑ ËÏÌÉÞÅÓÔ×Ï ÕÞÁÓÔÎÉËÏ× ÓÏ ×ÓÅÇÏ ÍÉÒÁ, ÓÁÍÏÇÏ ÒÁÚÎÏÇÏ ×ÏÚÒÁÓÔÁ É ÒÁÚÎÙÈ ÏÂÌÁÓÔÅÊ ÔÅÈÎÉÞÅÓËÏÊ ÜËÓÐÅÒÔÉÚÙ. òÁÂÏÔÙ, ËÏÔÏÒÕÀ ÎÅÏÂÈÏÄÉÍÏ ÓÄÅÌÁÔØ, ×ÓÅÇÄÁ ÂÏÌØÛÅ, ÞÅÍ ÒÁÚÒÁÂÏÔÞÉËÏ×, ÍÏÇÕÝÉÈ Å£ ×ÙÐÏÌÎÉÔØ, É ÄÏÐÏÌÎÉÔÅÌØÎÁÑ ÐÏÍÏÞØ ×ÓÅÇÄÁ ÐÒÉ×ÅÔÓÔ×ÕÅÔÓÑ. ðÒÏÅËÔ FreeBSD ÚÁÎÉÍÁÅÔÓÑ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÏÊ × ÃÅÌÏÍ, Á ÎÅ ÔÏÌØËÏ ÑÄÒÏÍ ÉÌÉ ÎÅÓËÏÌØËÉÍÉ ÏÔÄÅÌØÎÙÍÉ ÕÔÉÌÉÔÁÍÉ. ôÁËÉÍ ÏÂÒÁÚÏÍ, × ÎÁÛÅÍ TODO-ÓÐÉÓËÅ ÛÉÒÏËÉÊ ÓÐÅËÔÒ ÚÁÄÁÞ: ÏÔ ÄÏËÕÍÅÎÔÁÃÉÉ, ÂÅÔÁ-ÔÅÓÔÉÒÏ×ÁÎÉÑ É ÐÒÅÚÅÎÔÁÃÉÊ ÄÏ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ ÓÉÓÔÅÍÙ É ÓÐÅÃÉÆÉÞÅÓËÉÈ ÒÁÚÒÁÂÏÔÏË ÕÒÏ×ÎÑ ÑÄÒÁ. ìÀÄÉ ÌÀÂÏÇÏ ÕÒÏ×ÎÑ ÐÒÁËÔÉÞÅÓËÉ × ÌÀÂÏÊ ÏÂÌÁÓÔÉ ÏÐÒÅÄÅÌ£ÎÎÏ ÓÍÏÇÕÔ ÐÏÍÏÞØ ÐÒÏÅËÔÕ. ëÏÍÍÅÒÞÅÓËÉÅ ÓÔÒÕËÔÕÒÙ, Ó×ÑÚÁÎÎÙÅ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ FreeBSD, ÔÁËÖÅ ÐÒÉÇÌÁÛÁÀÔÓÑ Ë ÄÉÁÌÏÇÕ. îÕÖÎÙ ÌÉ ×ÁÍ ÏÓÏÂÙÅ ÒÁÓÛÉÒÅÎÉÑ, ÄÌÑ ÒÁÂÏÔÙ ×ÁÛÅÇÏ ÐÒÏÄÕËÔÁ? ÷Ù Õ×ÉÄÉÔÅ, ÞÔÏ ÍÙ ÏÔ×ÅÞÁÅÍ ÎÁ ×ÁÛÉ ÚÁÐÒÏÓÙ, ÅÓÌÉ ÏÎÉ ÎÅ ÓÌÉÛËÏÍ ÎÅÏÂÙÞÎÙ. ÷Ù ÒÁÂÏÔÁÅÔÅ ÎÁÄ ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ÐÒÏÄÕËÔÁÍÉ? äÁÊÔÅ ÎÁÍ ÚÎÁÔØ! íÙ ÓÍÏÖÅÍ ÒÁÂÏÔÁÔØ ×ÍÅÓÔÅ ÎÁÄ ÎÅËÏÔÏÒÙÍÉ ÅÇÏ ÁÓÐÅËÔÁÍÉ. íÉÒ Ó×ÏÂÏÄÎÏÇÏ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ ÓÔÁ×ÉÔ ÐÏÄ ÓÏÍÎÅÎÉÅ ÍÎÏÇÉÅ ÓÕÝÅÓÔ×ÕÀÝÉÅ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ Ï ÔÏÍ, ËÁË ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÅ ÒÁÚÒÁÂÁÔÙ×ÁÅÔÓÑ, ÐÒÏÄÁ£ÔÓÑ É ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ, É ÍÙ ÎÁÓÔÏÑÔÅÌØÎÏ ÐÒÏÓÉÍ ×ÁÓ ÐÏÓÍÏÔÒÅÔØ ÎÁ ÎÅÇÏ ÅÝ£ ÒÁÚ. þÔÏ ÎÕÖÎÏ ÷ ÓÌÅÄÕÀÝÅÍ ÐÅÒÅÞÎÅ ÐÒÅÄÓÔÁ×ÌÅÎÙ ÚÁÄÁÞÉ É ÐÏÄÐÒÏÅËÔÙ, Ñ×ÌÑÀÝÉÅÓÑ ÎÅËÏÔÏÒÙÍ ÏÔÒÁÖÅÎÉÅÍ ÒÁÚÌÉÞÎÙÈ ÓÐÉÓËÏ× TODO É ÚÁÐÒÏÓÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ. ôÅËÕÝÉÅ ÚÁÄÁÞÉ ÎÅ ÄÌÑ ÐÒÏÇÒÁÍÍÉÓÔÏ× íÎÏÇÉÅ ÌÀÄÉ, Ó×ÑÚÁÎÎÙÅ Ó FreeBSD, ÎÅ Ñ×ÌÑÀÔÓÑ ÐÒÏÇÒÁÍÍÉÓÔÁÍÉ. ÷ ðÒÏÅËÔÅ ÕÞÁÓÔ×ÕÀÔ ÓÏÚÄÁÔÅÌÉ ÄÏËÕÍÅÎÔÁÃÉÉ, Web-ÄÉÚÁÊÎÅÒÙ É ÓÐÅÃÉÁÌÉÓÔÙ ÐÏ ÐÏÄÄÅÒÖËÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ. ÷ÓÅ, ÞÔÏ ÉÍ ÎÕÖÎÏ ÄÌÑ ÕÞÁÓÔÉÑ, ÜÔÏ Ó×Ï£ ×ÒÅÍÑ É ÖÅÌÁÎÉÅ ÕÞÉÔØÓÑ. ðÅÒÉÏÄÉÞÅÓËÉ ÞÉÔÁÊÔÅ FAQ É òÕËÏ×ÏÄÓÔ×Ï. åÓÌÉ ÞÔÏ-ÔÏ ÏÐÉÓÁÎÏ ÐÌÏÈÏ, ÕÓÔÁÒÅÌÏ ÉÌÉ ÄÁÖÅ ÐÏÌÎÏÓÔØÀ ÎÅÐÒÁ×ÉÌØÎÏ, ÄÁÊÔÅ ÎÁÍ ÚÎÁÔØ. åÝ£ ÌÕÞÛÅ, ÅÓÌÉ ×Ù ÐÒÉÛÌ£ÔÅ ÎÁÍ ÉÓÐÒÁ×ÌÅÎÉÅ (×ÙÕÞÉÔØ Docbook ÎÅ ÔÁË ÓÌÏÖÎÏ, ÎÏ É ÐÒÏÔÉ× ÐÏÓÌÁÎÉÊ × ÆÏÒÍÁÔÅ ASCII ÎÉËÔÏ ×ÏÚÒÁÖÁÔØ ÎÅ ÂÕÄÅÔ). ðÏÍÏÇÉÔÅ ÐÅÒÅ×ÅÓÔÉ ÄÏËÕÍÅÎÔÁÃÉÀ FreeBSD ÎÁ ×ÁÛ ÒÏÄÎÏÊ ÑÚÙË. åÓÌÉ ÄÏËÕÍÅÎÔÁÃÉÑ ÎÁ ×ÁÛÅÍ ÑÚÙËÅ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ, ×Ù ÍÏÖÅÔÅ ÐÏÍÏÞØ ÐÅÒÅ×ÅÓÔÉ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÄÏËÕÍÅÎÔÙ ÉÌÉ ÐÒÏ×ÅÒÉÔØ, ÎÅ ÕÓÔÁÒÅÌÉ ÌÉ ÐÅÒÅ×ÏÄÙ. ðÅÒ×ÙÍ ÄÅÌÏÍ ×ÚÇÌÑÎÉÔÅ ÎÁ FAQ ÐÏ ÐÅÒÅ×ÏÄÁÍ × õÞÅÂÎÉËÅ ÐÒÏÅËÔÁ ÄÏËÕÍÅÎÔÉÒÏ×ÁÎÉÑ FreeBSD. ÷ÁÓ ÎÅ ÐÒÉÚÙ×ÁÀÔ ÐÅÒÅ×ÅÓÔÉ ×ÓÅ ÄÏËÕÍÅÎÔÙ FreeBSD — ËÁË ÄÏÂÒÏ×ÏÌÅÃ, ×Ù ÍÏÖÅÔÅ ÄÅÌÁÔØ ÓÔÏÌØËÏ ÐÅÒÅ×ÏÄÏ×, ÓËÏÌØËÏ ÚÁÈÏÔÉÔÅ. åÓÌÉ ËÔÏ-ÔÏ ÎÁÞÁÌ ÐÅÒÅ×ÏÄ, ÄÒÕÇÉÅ ×ÓÅÇÄÁ ÐÒÉÓÏÅÄÉÎÑÔÓÑ. åÓÌÉ Õ ×ÁÓ ÅÓÔØ ×ÒÅÍÑ É ÖÅÌÁÎÉÅ ÐÅÒÅ×ÅÓÔÉ ÏÄÎÕ ÞÁÓÔØ ÄÏËÕÍÅÎÔÁÃÉÉ, ÐÏÖÁÌÕÊÓÔÁ, ÐÅÒÅ×ÅÄÉÔÅ ÉÎÓÔÒÕËÃÉÉ ÐÏ ÕÓÔÁÎÏ×ËÅ. ÷ÒÅÍÑ ÏÔ ×ÒÅÍÅÎÉ (ÉÌÉ ÄÁÖÅ ÒÅÇÕÌÑÒÎÏ) ÞÉÔÁÊÔÅ &a.questions; É &ng.misc;. ÷ÁÍ ÍÏÖÅÔ ÐÏÎÒÁ×ÉÔØÓÑ ÄÅÌÉÔØÓÑ Ó×ÏÉÍ ÏÐÙÔÏÍ É ÐÏÍÏÇÁÔØ ÌÀÄÑÍ ÒÅÛÁÔØ ÉÈ ÐÒÏÂÌÅÍÙ; ÉÎÏÇÄÁ ×Ù ÓÍÏÖÅÔÅ ÕÚÎÁÔØ ÄÌÑ ÓÅÂÑ ÞÔÏ-ÔÏ ÎÏ×ÏÅ! üÔÉ ÆÏÒÕÍÙ ÍÏÇÕÔ ÔÁËÖÅ ÓÔÁÔØ ÉÓÔÏÞÎÉËÏÍ ÉÄÅÊ, ÎÁÄ ËÏÔÏÒÙÍÉ ×ÁÍ ÓÔÏÉÔ ÐÏÒÁÂÏÔÁÔØ. ôÅËÕÝÉÅ ÚÁÄÁÞÉ ÄÌÑ ÐÒÏÇÒÁÍÍÉÓÔÏ× âÏÌØÛÉÎÓÔ×Ï ÚÁÄÁÞ, ÐÅÒÅÞÉÓÌÅÎÎÙÈ ÚÄÅÓØ, ÔÒÅÂÕÀÔ ÌÉÂÏ ÚÎÁÞÉÔÅÌØÎÙÈ ÚÁÔÒÁÔ ×ÒÅÍÅÎÉ, ÌÉÂÏ ÇÌÕÂÏËÉÈ ÚÎÁÎÉÊ ÑÄÒÁ FreeBSD, ÌÉÂÏ ÔÏÇÏ É ÄÒÕÇÏÇÏ. ïÄÎÁËÏ ÉÍÅÅÔÓÑ ÔÁËÖÅ ÍÎÏÇÏ ÐÏÌÅÚÎÙÈ ÚÁÄÁÞ, ËÏÔÏÒÙÅ ÐÏÄÏÊÄÕÔ ÄÌÑ ×ÏÓËÒÅÓÎÙÈ ÈÁËÅÒÏ×. åÓÌÉ ×Ù ÒÁÂÏÔÁÅÔÅ Ó FreeBSD-CURRENT É ÏÂÌÁÄÁÅÔÅ ÈÏÒÏÛÉÍ ÐÏÄËÌÀÞÅÎÉÅÍ Ë Internet, ÔÏ ÓÕÝÅÓÔ×ÕÅÔ ÍÁÛÉÎÁ current.FreeBSD.org, ËÏÔÏÒÁÑ ÓÔÒÏÉÔ ÐÏÌÎÙÊ ÒÅÌÉÚ ÅÖÅÄÎÅ×ÎÏ—ÓÅÊÞÁÓ É ×ÓÅÇÄÁ. ðÏÐÒÏÂÕÊÔÅ ÕÓÔÁÎÏ×ÉÔØ ÓÁÍÙÊ ÐÏÓÌÅÄÎÉÊ ÒÅÌÉÚ Ó ÜÔÏÊ ÍÁÛÉÎÙ É ÓÏÏÂÝÉÔÅ ÏÂÏ ×ÓÅÈ ÏÂÎÁÒÕÖÅÎÎÙÈ ÐÒÉ ÜÔÏÍ ÏÛÉÂËÁÈ. þÉÔÁÊÔÅ &a.bugs;. úÄÅÓØ ÍÏÖÅÔ ×ÓÔÒÅÔÉÔØÓÑ ÐÒÏÂÌÅÍÁ, ËÏÔÏÒÕÀ ×Ù ÓÍÏÖÅÔÅ ËÏÎÓÔÒÕËÔÉ×ÎÏ ÐÒÏËÏÍÍÅÎÔÉÒÏ×ÁÔØ ÉÌÉ ÐÁÔÞÉ, ËÏÔÏÒÙÅ ×Ù ÍÏÖÅÔÅ ÐÒÏÔÅÓÔÉÒÏ×ÁÔØ. ìÉÂÏ ×Ù ÍÏÖÅÔÅ ÄÁÖÅ ÐÏÐÙÔÁÔØÓÑ ÉÓÐÒÁ×ÉÔØ ËÁËÕÀ-ÔÏ ÐÒÏÂÌÅÍÕ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ. åÓÌÉ ×Ù ÚÎÁÅÔÅ Ï ÓÕÝÅÓÔ×Ï×ÁÎÉÉ ËÁËÉÈ-ÌÉÂÏ ÉÓÐÒÁ×ÌÅÎÉÊ ÏÛÉÂÏË, ÕÓÐÅÛÎÏ ÐÒÉÍÅΣÎÎÙÈ Ë -CURRENT, ÎÏ ÅÝ£ ÎÅ ÐÅÒÅÎÅÓ£ÎÎÙÈ × -STABLE ÐÏÓÌÅ ÄÏÓÔÁÔÏÞÎÏ ÂÏÌØÛÏÇÏ ÉÎÔÅÒ×ÁÌÁ ×ÒÅÍÅÎÉ (ÏÂÙÞÎÏ ÎÅÓËÏÌØËÏ ÎÅÄÅÌØ), ÎÁÐÒÁרÔÅ ËÏÍÍÉÔÔÅÒÕ ×ÅÖÌÉ×ÏÅ ÎÁÐÏÍÉÎÁÎÉÅ. ðÅÒÅÎÏÓ ÓÔÏÒÏÎÎÅÇÏ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ × ËÁÔÁÌÏÇ src/contrib ÄÅÒÅ×Á ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×. ðÒÏ×ÅÒËÁ ÁËÔÕÁÌØÎÏÓÔÉ ËÏÄÁ × ËÁÔÁÌÏÇÅ src/contrib. ðÏÓÔÒÏÅÎÉÅ ÉÚ ÄÅÒÅ×Á ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× (ÉÌÉ Å£ ÞÁÓÔÉ) Ó ×ËÌÀÞÅÎÉÅÍ ÒÅÖÉÍÁ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÐÒÅÄÕÐÒÅÖÄÅÎÉÊ, ÉÚÂÁ×ÌÅÎÉÅ ÏÔ ÎÉÈ. éÓÐÒÁ×ÌÅÎÉÅ ÐÒÅÄÕÐÒÅÖÄÅÎÉÊ ÏÔ ÐÏÒÔÏ×, ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÀÔ ÎÅÄÏÐÕÓÔÉÍÙÅ ×ÙÚÏ×Ù ÔÉÐÁ gets() ÉÌÉ ×ËÌÀÞÁÀÔ ÆÁÊÌ ÏÂßÑ×ÌÅÎÉÊ malloc.h. åÓÌÉ ×Ù ÓÏÚÄÁ×ÁÌÉ ÐÏÒÔÙ É ×ÁÍ ÐÒÉÈÏÄÉÌÏÓØ ÄÅÌÁÔØ ÓÐÅÃÉÆÉÞÎÙÅ ÄÌÑ &os; ÉÓÐÒÁ×ÌÅÎÉÑ, ÐÏÛÌÉÔÅ ×ÁÛÉ ÐÁÔÞÉ Á×ÔÏÒÁÍ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ (ÜÔÏ ÕÐÒÏÓÔÉÔ ×ÁÍ ÖÉÚÎØ ÐÒÉ ×ÙÐÕÓËÅ ÓÌÅÄÕÀÝÅÊ ×ÅÒÓÉÉ). îÁÊÄÉÔÅ ËÏÐÉÉ ÏÆÉÃÉÁÌØÎÙÈ ÓÔÁÎÄÁÒÔÏ×, ÎÁÐÒÉÍÅÒ, &posix;. ÷Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ÎÅÓËÏÌØËÏ ÓÓÙÌÏË ÎÁ ÎÉÈ ÎÁ ÓÔÒÁÎÉÃÅ Web-ÓÁÊÔÁ ðÒÏÅËÔÁ ÓÏÏÔ×ÅÔÓÔ×ÉÑ FreeBSD ÓÔÁÎÄÁÒÔÁÍ C99 & POSIX. óÒÁ×ÎÉÔÅ ÐÏ×ÅÄÅÎÉÅ FreeBSD Ó ÔÅÍ, ÞÔÏ ÏÐÒÅÄÅÌÅÎÏ ÓÔÁÎÄÁÒÔÏÍ. åÓÌÉ ÒÅÁËÃÉÑ ÏÔÌÉÞÁÅÔÓÑ, ÏÓÏÂÅÎÎÏ × ÎÅÚÎÁÞÉÔÅÌØÎÙÈ ÉÌÉ ÎÅÐÏÎÑÔÎÙÈ ÒÁÚÄÅÌÁÈ ÓÐÅÃÉÆÉËÁÃÉÉ, ÎÁÐÒÁרÔÅ Ï ÜÔÏÍ PR. åÓÌÉ ÍÏÖÅÔÅ, ÎÁÊÄÉÔÅ, ËÁË ÉÓÐÒÁ×ÉÔØ ÜÔÏ É ×ËÌÀÞÉÔÅ × PR ÐÁÔÞ. åÓÌÉ ×Ù ÐÏÌÁÇÁÅÔÅ, ÞÔÏ × ÓÔÁÎÄÁÒÔÅ ÅÓÔØ ÏÛÉÂËÁ, ÎÁÐÒÁרÔÅ ÚÁÐÒÏÓ ÅÇÏ ÒÁÚÒÁÂÏÔÞÉËÁÍ. ðÒÅÄÌÏÖÉÔÅ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÚÁÄÁÞÉ ÄÌÑ ÜÔÏÇÏ ÓÐÉÓËÁ! òÁÂÏÔÁ Ó ÂÁÚÏÊ ÓÏÏÂÝÅÎÉÊ Ï ÏÛÉÂËÁÈ PR ÂÁÚÁ ÓÏÏÂÝÅÎÉÊ Ï ÏÛÉÂËÁÈ óÐÉÓÏË ÓÏÏÂÝÅÎÉÊ Ï ÏÛÉÂËÁÈ FreeBSD ÓÏÄÅÒÖÉÔ ×ÓÅ ÁËÔÕÁÌØÎÙÅ ÓÏÏÂÝÅÎÉÑ Ï ÐÒÏÂÌÅÍÁÈ É ÚÁÐÒÏÓÙ ÎÁ ÕÌÕÞÛÅÎÉÑ, ËÏÔÏÒÙÅ ÂÙÌÉ ÐÏÓÌÁÎÙ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ FreeBSD. âÁÚÁ ÄÁÎÎÙÈ PR ÓÏÄÅÒÖÉÔ ÚÁÄÁÞÉ ËÁË ÄÌÑ ÐÒÏÇÒÁÍÍÉÓÔÏ×, ÔÁË É ÎÅ ÄÌÑ ÎÉÈ. ðÒÏÓÍÏÔÒÉÔÅ ÏÔËÒÙÔÙÅ PR, ÎÁÊÄÉÔÅ ÔÅ, ÞÔÏ ÐÒÉ×ÌÅËÕÔ ×ÁÛÅ ×ÎÉÍÁÎÉÅ. îÅËÏÔÏÒÙÅ ÉÚ ÎÉÈ ÍÏÇÕÔ ÂÙÔØ ÏÞÅÎØ ÐÒÏÓÔÙÍÉ, ÔÒÅÂÕÀÝÉÍÉ ÌÉÛØ ÅÝ£ ÏÄÎÏÊ ÐÁÒÙ ÇÌÁÚ, ÞÔÏÂÙ ÐÏÓÍÏÔÒÅÔØ É ÐÏÄÔ×ÅÒÄÉÔØ, ÞÔÏ ÐÒÅÄÌÁÇÁÅÍÏÅ × PR ÉÓÐÒÁ×ÌÅÎÉÅ ÄÏÓÔÁÔÏÞÎÏ. äÒÕÇÉÅ ÍÏÇÕÔ ÂÙÔØ ÇÏÒÁÚÄÏ ÓÌÏÖÎÅÅ É ÄÁÖÅ ×Ï×ÓÅ ÎÅ ÓÏÄÅÒÖÁÔØ ÉÓÐÒÁ×ÌÅÎÉÑ. îÁÞÎÉÔÅ Ó ÔÅÈ PR, ËÏÔÏÒÙÅ ÎÉËÏÍÕ ÅÝ£ ÎÅ ÎÁÚÎÁÞÅÎÙ. åÓÌÉ PR ÕÖÅ ÚÁ ËÅÍ-ÔÏ ÚÁËÒÅÐÌÅÎÏ, ÎÏ ÓÏÄÅÒÖÉÔ ÐÒÏÂÌÅÍÕ, ËÏÔÏÒÕÀ ×Ù ÍÏÖÅÔÅ ÒÅÛÉÔØ, ÎÁÐÒÁרÔÅ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÐÉÓØÍÏ ÞÅÌÏ×ÅËÕ, ËÏÔÏÒÏÍÕ ÎÁÚÎÁÞÅÎÏ ÜÔÏ PR, É ÓÐÒÏÓÉÔÅ, ÍÏÖÅÔÅ ÌÉ ×Ù ÐÏÒÁÂÏÔÁÔØ ÎÁÄ ÎÅÊ—Õ ÎÉÈ ÕÖÅ ÍÏÖÅÔ ÇÏÔÏ× ÐÁÔÞ ÄÌÑ ÔÅÓÔÉÒÏ×ÁÎÉÑ ÉÌÉ ËÁËÉÅ-ÔÏ ÉÄÅÉ, ËÏÔÏÒÙÅ ÍÏÖÎÏ ×ÍÅÓÔÅ ÏÂÓÕÄÉÔØ. ÷ÙÂÅÒÉÔÅ ÏÄÉÎ ÉÚ ÐÕÎËÔÏ× ÓÏ ÓÔÒÁÎÉÞËÉ <quote>ÉÄÅÊ</quote> óÐÉÓÏË ÐÒÏÅËÔÏ× É ÉÄÅÊ ÄÌÑ ÄÏÂÒÏ×ÏÌØÃÅ× ÔÁËÖÅ ÄÏÓÔÕÐÅÎ ÄÌÑ ÌÀÄÅÊ, ÖÅÌÁÀÝÉÈ ÐÏÍÏÞØ ÐÒÏÅËÔÕ &os;. óÐÉÓÏË ÐÏÓÔÏÑÎÎÏ ÏÂÎÏ×ÌÑÅÔÓÑ É ÓÏÄÅÒÖÉÔ ÐÕÎËÔÙ, ËÁË ÄÌÑ ÐÒÏÇÒÁÍÍÉÓÔÏ×, ÔÁË É ÄÌÑ ÎÅ ÐÒÏÇÒÁÍÍÉÓÔÏ×, Ó ÉÎÆÏÒÍÁÃÉÅÊ Ï ËÁÖÄÏÍ ÐÒÏÅËÔÅ. ëÁË ÐÒÉÎÑÔØ ÕÞÁÓÔÉÅ × ÒÁÂÏÔÅ èÁÒÁËÔÅÒ ÕÞÁÓÔÉÑ × ÒÁÂÏÔÅ ÎÁÄ ÓÉÓÔÅÍÏÊ ÏÂÙÞÎÏ ÐÏÄÐÁÄÁÅÔ ÐÏÄ ÏÄÎÕ ÉÌÉ ÎÅÓËÏÌØËÏ ÉÚ ÓÌÅÄÕÀÝÉÈ 5 ËÁÔÅÇÏÒÉÊ: óÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ É ÏÔÚÙ×Ù ÏÂÝÅÇÏ ÈÁÒÁËÔÅÒÁ éÄÅÉ ÉÌÉ ÐÏÖÅÌÁÎÉÑ ÏÂÝÅÇÏ ÔÅÈÎÉÞÅÓËÏÇÏ ÈÁÒÁËÔÅÒÁ ÄÏÌÖÎÙ ÎÁÐÒÁ×ÌÑÔØÓÑ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ × ÁÄÒÅÓ &a.hackers;. ðÏÄÏÂÎÙÍ ÖÅ ÏÂÒÁÚÏÍ ÔÏÔ, ËÔÏ ÉÎÔÅÒÅÓÕÅÔÓÑ ÔÁËÉÍÉ ×ÅÝÁÍÉ (É ÕÓÔÏÊÞÉ× Ë ÂÏÌØÛÏÍÕ ÐÏÔÏËÕ ÐÏÞÔÙ!) ÍÏÖÅÔ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ &a.hackers;. ïÂÒÁÔÉÔÅÓØ Ë òÕËÏ×ÏÄÓÔ×Õ FreeBSD ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ Ï ÜÔÏÍ É ÄÒÕÇÉÈ ÓÐÉÓËÁÈ ÒÁÓÓÙÌËÉ. åÓÌÉ ×Ù ÎÁÛÌÉ ÏÛÉÂËÕ ÉÌÉ ÐÒÅÄÌÁÇÁÅÔÅ ×ÎÅÓÔÉ ËÁËÏÅ-ÔÏ ËÏÎËÒÅÔÎÏÅ ÉÓÐÒÁ×ÌÅÎÉÅ, ÐÏÖÁÌÕÊÓÔÁ, ÏÔÐÒÁרÔÅ ÓÏÏÂÝÅÎÉÅ ÐÒÉ ÐÏÍÏÝÉ ÐÒÏÇÒÁÍÍÙ &man.send-pr.1; ÉÌÉ Å£ Web-ÜË×É×ÁÌÅÎÔÁ. ðÏÓÔÁÒÁÊÔÅÓØ ÚÁÐÏÌÎÉÔØ ×ÓÅ ÐÏÌÑ × ÓÏÏÂÝÅÎÉÉ Ï ÏÛÉÂËÅ. åÓÌÉ ÅÇÏ ÒÁÚÍÅÒ ÏÎÏ ÎÅ ÐÒÅ×ÙÛÁÅÔ 65 ëÂÁÊÔ, ×ËÌÀÞÉÔÅ ×ÓÅ ÐÁÔÞÉ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ × ÓÏÏÂÝÅÎÉÅ. åÓÌÉ ÐÁÔÞ ÐÒÅÄÎÁÚÎÁÞÅÎ ÄÌÑ ÄÅÒÅ×Á ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×, ÐÏÍÅÓÔÉÔÅ [PATCH] × ÔÅÍÅ ÓÏÏÂÝÅÎÉÑ. ðÒÉ ×ËÌÀÞÅÎÉÉ ÐÁÔÞÅÊ ÎÅ ÉÓÐÏÌØÚÕÊÔÅ ÔÅÈÎÉËÕ cut-and-paste, ÐÏÔÏÍÕ ÞÔÏ ÐÒÉ ÜÔÏÍ ÓÉÍ×ÏÌÙ ÔÁÂÕÌÑÃÉÉ ÐÒÅÏÂÒÁÚÕÀÔÓÑ × ÐÒÏÂÅÌÙ É ÐÁÔÞ ÓÔÁÎÏ×ÉÔÓÑ ÎÅÐÒÉÇÏÄÎÙÍ Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ. åÓÌÉ ÏÂß£Í ÐÁÔÞÅÊ ÐÒÅ×ÙÛÁÅÔ 20 ëÂÁÊÔ, ÌÕÞÛÅ ×ËÌÀÞÁÔØ ÉÈ × ÓÏÏÂÝÅÎÉÅ × ÓÖÁÔÏÍ ×ÉÄÅ, ÄÌÑ ÞÅÇÏ ÕÐÁËÕÊÔÅ ÉÈ (ÎÁÐÒÉÍÅÒ, ÐÒÉ ÐÏÍÏÝÉ &man.gzip.1; ÉÌÉ &man.bzip2.1;) É ÏÂÒÁÂÏÔÁÊÔÅ ÁÒÈÉ× ÕÔÉÌÉÔÏÊ &man.uuencode.1;. ðÏÓÌÅ ÏÔÐÒÁ×ËÉ ÓÏÏÂÝÅÎÉÑ ×Ù ÄÏÌÖÎÙ ÐÏÌÕÞÉÔØ ÐÏÄÔ×ÅÒÖÄÅÎÉÅ É ÎÏÍÅÒ ÄÌÑ ÏÔÓÌÅÖÉ×ÁÎÉÑ. óÏÈÒÁÎÉÔÅ ÜÔÏÔ ÎÏÍÅÒ, ÞÔÏÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÅÇÏ × ÄÁÌØÎÅÊÛÅÍ ÐÒÉ ÎÁÐÒÁ×ÌÅÎÉÉ ÐÏÄÒÏÂÎÏÓÔÅÊ Ï ÐÒÏÂÌÅÍÅ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÎÁ ÁÄÒÅÓ &a.bugfollowup;. éÓÐÏÌØÚÕÊÔÅ ÎÏÍÅÒ × ËÁÞÅÓÔ×Å ÔÅÍÙ ÐÉÓØÍÁ, ÎÁÐÒÉÍÅÒ, "Re: kern/3377". äÏÐÏÌÎÉÔÅÌØÎÁÑ ÉÎÆÏÒÍÁÃÉÑ Ï ÌÀÂÏÍ ÓÏÏÂÝÅÎÉÉ Ï ÏÛÉÂËÅ ÄÏÌÖÎÁ ÎÁÐÒÁ×ÌÑÔØÓÑ ÜÔÉÍ ÓÐÏÓÏÂÏÍ. åÓÌÉ ×Ù ÎÅ ÐÏÌÕÞÉÌÉ ÐÏÄÔ×ÅÒÖÄÅÎÉÑ × ÔÅÞÅÎÉÅ ÒÁÚÕÍÎÏÇÏ ÐÅÒÉÏÄÁ ×ÒÅÍÅÎÉ (ÏÔ 3 ÄÎÅÊ ÄÏ ÎÅÄÅÌÉ, × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ×ÁÛÅÇÏ ÐÏÄËÌÀÞÅÎÉÑ Ë ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÙ) ÉÌÉ ÐÏ ËÁËÏÊ-ÔÏ ÐÒÉÞÉÎÅ ÎÅ ÍÏÖÅÔÅ ×ÏÓÐÏÌØÚÏ×ÁÔØÓÑ ËÏÍÁÎÄÏÊ &man.send-pr.1;, ÔÏ ÍÏÖÅÔÅ ÐÏÐÒÏÓÉÔØ ËÏÇÏ-ÎÉÂÕÄØ ÎÁÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ ÚÁ ×ÁÓ ÎÁ ÁÄÒÅÓ &a.bugs;. ðÒÏÞÔÉÔÅ ÔÁËÖÅ ÜÔÕ ÓÔÁÔØÀ, ÞÔÏÂÙ ÕÚÎÁÔØ, ËÁË ÐÉÓÁÔØ ÈÏÒÏÛÉÅ ÓÏÏÂÝÅÎÉÑ Ï ÐÒÏÂÌÅÍÁÈ. éÚÍÅÎÅÎÉÑ × ÄÏËÕÍÅÎÔÁÃÉÉ ÐÏÓÙÌËÁ ÄÏËÕÍÅÎÔÁÃÉÉ éÚÍÅÎÅÎÉÑ × ÄÏËÕÍÅÎÔÁÃÉÉ ÏÂÓÕÖÄÁÀÔÓÑ × &a.doc;. ðÏÖÁÌÕÊÓÔÁ, ÐÏÓÍÏÔÒÉÔÅ õÞÅÂÎÉË ðÒÏÅËÔÁ ÄÏËÕÍÅÎÔÉÒÏ×ÁÎÉÑ FreeBSD ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÐÏÌÎÙÈ ÉÎÓÔÒÕËÃÉÊ. ðÏÓÙÌÁÊÔÅ Ó×ÏÉ ÐÏÖÅÌÁÎÉÑ É ÉÚÍÅÎÅÎÉÑ (ÐÒÉÎÉÍÁÀÔÓÑ ÄÁÖÅ ÓÁÍÙÅ ÎÅÂÏÌØÛÉÅ!) ÐÒÉ ÐÏÍÏÝÉ &man.send-pr.1;, ËÁË ÜÔÏ ÏÐÉÓÁÎÏ × ÒÁÚÄÅÌÅ Ï ÓÏÏÂÝÅÎÉÑÈ Ï ÏÛÉÂËÁÈ É ÏÂÝÉÈ ÐÏÖÅÌÁÎÉÑÈ. éÚÍÅÎÅÎÉÑ Ë ÉÍÅÀÝÅÍÕÓÑ ÉÓÈÏÄÎÏÍÕ ËÏÄÕ FreeBSD-CURRENT äÏÂÁ×ÌÅÎÉÅ ÎÏ×ÏÇÏ ÉÓÈÏÄÎÏÇÏ ËÏÄÁ ÉÌÉ ×ÎÅÓÅÎÉÅ ÉÚÍÅÎÅÎÉÊ × ÓÕÝÅÓÔ×ÕÀÝÉÊ Ñ×ÌÑÅÔÓÑ ÎÅ ÔÁËÏÊ ÐÒÏÓÔÏÊ ÚÁÄÁÞÅÊ, É ÚÁ×ÉÓÉÔ ×Ï ÍÎÏÇÏÍ ÏÔ ÔÏÇÏ, ÎÁÓËÏÌØËÏ ×Ù ÄÁÌÅËÉ ÏÔ ÔÅËÕÝÅÇÏ ÓÏÓÔÏÑÎÉÑ ÒÁÚÒÁÂÏÔÏË ×Ï FreeBSD. óÕÝÅÓÔ×ÕÀÔ ÓÐÅÃÉÁÌØÎÙÅ ÐÒÏÍÅÖÕÔÏÞÎÙÅ ÒÅÌÉÚÙ FreeBSD, ÉÚ×ÅÓÔÎÙÅ ËÁË FreeBSD-CURRENT, ËÏÔÏÒÙÅ ÄÏÓÔÕÐÎÙ ÎÅÓËÏÌØËÉÍÉ ÒÁÚÎÙÍÉ ÓÐÏÓÏÂÁÍÉ, ÕÄÏÂÎÙÍÉ ÒÁÚÒÁÂÏÔÞÉËÁÍ, ÁËÔÉ×ÎÏ ÒÁÂÏÔÁÀÝÉÍ ÎÁÄ ÓÉÓÔÅÍÏÊ. ïÂÒÁÔÉÔÅÓØ Ë òÕËÏ×ÏÄÓÔ×Õ FreeBSD ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ Ï ÐÏÌÕÞÅÎÉÉ É ÉÓÐÏÌØÚÏ×ÁÎÉÉ FreeBSD-CURRENT. åÓÌÉ ×Ù ÒÁÂÏÔÁÅÔÅ Ó ÎÅÓËÏÌØËÏ ÕÓÔÁÒÅ×ÛÉÍÉ ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ, ÔÏ ×ÁÛÉ ÉÚÍÅÎÅÎÉÑ ÉÎÏÇÄÁ ÍÏÇÕÔ ÏËÁÚÁÔØÓÑ ÕÖÅ ÎÅÎÕÖÎÙÍÉ ÉÌÉ ÓÌÉÛËÏÍ ÂÏÌØÛÉÍÉ, ÞÔÏÂÙ ÐÏ×ÔÏÒÎÏ ÉÎÔÅÇÒÉÒÏ×ÁÔØ ÉÈ ×Ï FreeBSD. õÍÅÎØÛÉÔØ ÔÁËÏÊ ÒÉÓË ÍÏÖÎÏ, ÐÏÄÐÉÓÁ×ÛÉÓØ ÎÁ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ &a.announce; É &a.current;, × ËÏÔÏÒÙÈ ÏÂÓÕÖÄÁÅÔÓÑ ÔÅËÕÝÅÅ ÓÏÓÔÏÑÎÉÅ ÓÉÓÔÅÍÙ. ðÒÅÄÐÏÌÏÖÉÍ, ÞÔÏ ×Ù ÓÍÏÇÌÉ ÐÏÌÕÞÉÔØ ÁËÔÕÁÌØÎÙÅ ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ, ÎÁ ÂÁÚÅ ËÏÔÏÒÙÈ ÄÅÌÁÌÉ Ó×ÏÉ ÉÚÍÅÎÅÎÉÑ. ôÏÇÄÁ ÓÌÅÄÕÀÝÉÍ ÛÁÇÏÍ Ñ×ÌÑÅÔÓÑ ÓÏÚÄÁÎÉÅ ÎÁÂÏÒÁ ÆÁÊÌÏ×, ÏÔÒÁÖÁÀÝÉÈ ×ÁÛÉ ÉÚÍÅÎÅÎÉÑ ÄÌÑ ÉÈ ÐÏÓÙÌËÉ ÔÅÍ, ËÔÏ ÏÔ×ÅÞÁÅÔ ÚÁ ÐÏÄÄÅÒÖËÕ FreeBSD. üÔÏ ÄÅÌÁÅÔÓÑ ÐÒÉ ÐÏÍÏÝÉ ËÏÍÁÎÄÙ &man.diff.1;. ðÒÅÄÐÏÞÔÉÔÅÌØÎÙÍ ÆÏÒÍÁÔÏÍ &man.diff.1; ÄÌÑ ÐÏÓÙÌËÉ ÐÁÔÞÅÊ Ñ×ÌÑÅÔÓÑ ÕÎÉÆÉÃÉÒÏ×ÁÎÎÁÑ ×ÙÄÁÞÁ, ÓÏÚÄÁ×ÁÅÍÁÑ ËÏÍÁÎÄÏÊ diff -u. diff ë ÐÒÉÍÅÒÕ: &prompt.user; diff -u oldfile newfile ÉÌÉ &prompt.user; diff -u -r -N olddir newdir ÓÏÚÄÁÓÔ ÎÁÂÏÒ ÐÁÔÞÅÊ × ÕÎÉÆÉÃÉÒÏ×ÁÎÎÏÍ ÆÏÒÍÁÔÅ ÄÌÑ ËÏÎËÒÅÔÎÏÇÏ ÆÁÊÌÁ Ó ÉÓÈÏÄÎÙÍ ÔÅËÓÔÏÍ ÉÌÉ ÄÌÑ ÉÅÒÁÒÈÉÉ ËÁÔÁÌÏÇÏ×. äÏÐÏÌÎÉÔÅÌØÎÕÀ ÉÎÆÏÒÍÁÃÉÀ ÍÏÖÎÏ ÎÁÊÔÉ × &man.diff.1;. ðÏÓÌÅ ÔÏÇÏ, ËÁË ×Ù ÐÏÌÕÞÉÌÉ ÎÁÂÏÒ diff-ÆÁÊÌÏ× (ËÏÔÏÒÙÅ ×Ù ÍÏÖÅÔÅ ÐÒÏÔÅÓÔÉÒÏ×ÁÔØ ËÏÍÁÎÄÏÊ &man.patch.1;), ×Ù ÄÏÌÖÎÙ ÐÒÉÓÌÁÔØ ÉÈ ÄÌÑ ×ËÌÀÞÅÎÉÑ ×Ï FreeBSD. ÷ÏÓÐÏÌØÚÕÊÔÅÓØ ÐÒÏÇÒÁÍÍÏÊ &man.send-pr.1;, ËÁË ÜÔÏ ÏÐÉÓÁÎÏ × ÒÁÚÄÅÌÅ Ï ÓÏÏÂÝÅÎÉÑÈ Ï ÏÛÉÂËÁÈ É ÏÂÝÉÈ ÚÁÍÅÞÁÎÉÑÈ. îÅ ÐÏÓÙÌÁÊÔÅ diff-ÆÁÊÌÙ × ÓÐÉÓÏË ÒÁÓÓÙÌËÉ &a.hackers;, ÏÎÉ ÂÕÄÕÔ ÐÏÔÅÒÑÎÙ! îÁÍ ÏÞÅÎØ ÎÕÖÎÁ ×ÁÛÁ ÐÏÍÏÝØ (ÜÔÏ ÄÏÂÒÏ×ÏÌØÎÙÊ ÐÒÏÅËÔ!); ÉÚ-ÚÁ ÎÁÛÅÊ ÚÁÎÑÔÏÓÔÉ ÍÙ ÎÅ ÓÍÏÖÅÍ ÒÁÓÓÍÏÔÒÅÔØ ÅÇÏ ÓÒÁÚÕ, É ÏÎ ÂÕÄÅÔ ÎÁÈÏÄÉÔØÓÑ × ÂÁÚÅ ÄÁÎÎÙÈ PR, ÐÏËÁ ÍÙ ÎÅ ÓÄÅÌÁÅÍ ÜÔÏ. õËÁÖÉÔÅ ÎÁ ×ÁÛÕ ÐÏÓÙÌËÕ, ×ËÌÀÞÉ× ÓÔÒÏËÕ [PATCH] × ÔÅÍÕ ÓÏÏÂÝÅÎÉÑ. uuencode åÓÌÉ ×Ù ÓÞÉÔÁÅÔÅ, ÞÔÏ ÜÔÏ ÎÕÖÎÏ (Ë ÐÒÉÍÅÒÕ, ×Ù ÄÏÂÁ×ÌÑÌÉ, ÕÄÁÌÑÌÉ ÉÌÉ ÐÅÒÅÉÍÅÎÏ×Ù×ÁÌÉ ÆÁÊÌÙ), ÔÏ ÏÂßÅÄÉÎÉÔÅ ×ÁÛÉ ÉÚÍÅÎÅÎÉÑ × tar-ÆÁÊÌ É ÏÂÒÁÂÏÔÁÊÔÅ ÅÇÏ ÐÒÏÇÒÁÍÍÏÊ &man.uuencode.1;. ðÒÉÎÉÍÁÀÔÓÑ ÔÁËÖÅ É ÁÒÈÉ×Ù, ÓÏÚÄÁÎÎÙÅ ÐÒÏÇÒÁÍÍÏÊ &man.shar.1;. åÓÌÉ ×ÁÛÅ ÉÚÍÅÎÅÎÉÅ ÐÏÔÅÎÃÉÁÌØÎÏ ÍÏÖÅÔ ÏËÁÚÁÔØÓÑ ÓÏÍÎÉÔÅÌØÎÙÍ, ÎÁÐÒÉÍÅÒ, ×Ù ÎÅ Õ×ÅÒÅÎÙ × ÏÔÓÕÔÓÔ×ÉÉ ÌÉÃÅÎÚÉÏÎÎÙÈ ÏÇÒÁÎÉÞÅÎÉÊ ÏÔÎÏÓÉÔÅÌØÎÏ ÅÇÏ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ, ÔÏ ×Ù ÄÏÌÖÎÙ ÐÏÓÌÁÔØ ÅÇÏ ÎÁÐÒÑÍÕÀ × ÓÐÉÓÏË ÒÁÓÓÙÌËÉ &a.core;, Á ÎÅ ÞÅÒÅÚ &man.send-pr.1;. ÷ ÓÐÉÓËÅ ÒÁÓÓÙÌËÉ &a.core; ÕÞÁÓÔ×ÕÅÔ ÇÏÒÁÚÄÏ ÍÅÎØÛÅÅ ËÏÌÉÞÅÓÔ×Ï ÌÀÄÅÊ, ËÏÔÏÒÙÅ ×ÙÐÏÌÎÑÀÔ ÏÓÎÏ×ÎÕÀ ÅÖÅÄÎÅ×ÎÕÀ ÒÁÂÏÔÕ ÎÁÄ FreeBSD. úÁÍÅÔØÔÅ, ÞÔÏ ÜÔÁ ÇÒÕÐÐÁ ÔÁËÖÅ ÏÞÅÎØ ÚÁÎÑÔÁ, ÔÁË ÞÔÏ ÓÀÄÁ ÐÉÓØÍÁ ÎÕÖÎÏ ÐÏÓÙÌÁÔØ ÔÏÌØËÏ × ÓÌÕÞÁÅ ÄÅÊÓÔ×ÉÔÅÌØÎÏÊ ÎÅÏÂÈÏÄÉÍÏÓÔÉ. ðÏÖÁÌÕÊÓÔÁ, ÏÂÒÁÔÉÔÅÓØ Ë ÓÐÒÁ×ËÅ ÐÏ &man.intro.9; É &man.style.9; ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÎÅËÏÔÏÒÏÊ ÉÎÆÏÒÍÁÃÉÉ Ï ÓÔÉÌÅ ËÏÄÉÒÏ×ÁÎÉÑ. íÙ ÎÁÄÅÅÍÓÑ, ÞÔÏ ×Ù ÈÏÔÑ ÂÙ ÐÒÉÍÅÔÅ ÜÔÕ ÉÎÆÏÒÍÁÃÉÀ Ë Ó×ÅÄÅÎÉÀ ÐÅÒÅÄ ÔÅÍ, ËÁË ÐÒÉÓÌÁÔØ ÎÁÍ Ó×ÏÊ ËÏÄ. îÏ×ÙÊ ËÏÄ ÉÌÉ ÂÏÌØÛÉÅ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÁËÅÔÙ ÷ ÓÌÕÞÁÅ ÚÎÁÞÉÔÅÌØÎÏÇÏ ÏÂߣÍÁ ÐÒÉÓÌÁÎÎÏÇÏ ×ÁÍÉ ËÏÄÁ É ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ÒÁÂÏÔÙ, ÌÉÂÏ ÄÏÂÁ×ÌÅÎÉÑ Ë FreeBSD ×ÁÖÎÏÊ ÎÏ×ÏÊ ÆÕÎËÃÉÉ, ÓÔÁÎÏ×ÉÔÓÑ ÐÒÁËÔÉÞÅÓËÉ ×ÓÅÇÄÁ ÎÅÏÂÈÏÄÉÍÏ ÐÏÓÙÌÁÔØ ÉÚÍÅÎÅÎÉÑ × ×ÉÄÅ tar-ÆÁÊÌÏ×, ÏÂÒÁÂÏÔÁÎÎÙÈ uuencode, ÉÌÉ ÐÅÒÅÄÁ×ÁÔØ ÉÈ ÎÁ Web-ÓÁÊÔ ÉÌÉ FTP-ÓÅÒ×ÅÒ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÄÒÕÇÉÍÉ ÌÀÄØÍÉ. åÓÌÉ Õ ×ÁÓ ÎÅÔ ÄÏÓÔÕÐÁ Ë Web- ÉÌÉ FTP-ÓÅÒ×ÅÒÁÍ, ÐÏÐÒÏÓÉÔÅ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÍ ÓÐÉÓËÅ ÒÁÓÓÙÌËÅ FreeBSD ËÏÇÏ-ÎÉÂÕÄØ ÒÁÚÍÅÓÔÉÔØ ÉÚÍÅÎÅÎÉÑ ÚÁ ×ÁÓ. ðÒÉ ÒÁÂÏÔÅ Ó ÂÏÌØÛÉÍ ÏÂߣÍÏÍ ËÏÄÁ ÎÅÉÚÂÅÖÎÏ ×ÏÚÎÉËÁÅÔ ×ÏÐÒÏÓ Ï ÓÏÂÌÀÄÅÎÉÉ Á×ÔÏÒÓËÉÈ ÐÒÁ×. äÏÐÕÓÔÉÍÙÍÉ ÌÉÃÅÎÚÉÏÎÎÙÍÉ ÓÏÇÌÁÛÅÎÉÑÍÉ ÄÌÑ ËÏÄÁ, ×ËÌÀÞÁÅÍÏÇÏ ×Ï FreeBSD, Ñ×ÌÑÀÔÓÑ ÓÌÅÄÕÀÝÉÅ: ÌÉÃÅÎÚÉÏÎÎÏÅ ÓÏÇÌÁÛÅÎÉÅ BSD ìÉÃÅÎÚÉÏÎÎÏÅ ÓÏÇÌÁÛÅÎÉÅ BSD. ïÎÏ Ñ×ÌÑÅÔÓÑ ÓÁÍÙÍ ÐÒÅÄÐÏÞÔÉÔÅÌØÎÙÍ ÉÚ-ÚÁ ÏÔÓÕÔÓÔ×ÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÕÓÌÏ×ÉÊ É ÏÂÝÅÊ ÐÒÉ×ÌÅËÁÔÅÌØÎÏÓÔÉ ÄÌÑ ËÏÍÍÅÒÞÅÓËÉÈ ËÏÍÐÁÎÉÊ. ðÒÏÅËÔ FreeBSD ÄÁÌ£Ë ÏÔ ÔÏÇÏ, ÞÔÏÂÙ ×ÙÓÔÕÐÁÔØ ÐÒÏÔÉ× ËÏÍÍÅÒÞÅÓËÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ, ÎÏ ÁËÔÉ×ÎÏ ÐÏÐÕÌÑÒÉÚÉÒÕÅÔ ÔÁËÏÅ ÐÅÒÅÓÅÞÅÎÉÅ ËÏÍÍÅÒÞÅÓËÉÈ ÉÎÔÅÒÅÓÏ×, ËÏÔÏÒÏÅ ÐÏÚ×ÏÌÉÔ ÐÏÓÔÅÐÅÎÎÏ ÚÁÐÕÓÔÉÔØ ÍÅÈÁÎÉÚÍ ÉÎ×ÅÓÔÉÃÉÊ ×Ï FreeBSD. GPL GNU General Public License GNU General Public License GNU General Public License, ÉÌÉ GPL. üÔÏ ÌÉÃÅÎÚÉÏÎÎÏÅ ÓÏÇÌÁÛÅÎÉÅ ÎÅ ÏÞÅÎØ ÐÏÐÕÌÑÒÎÏ Õ ÎÁÓ ÉÚ-ÚÁ ÏÂߣÍÁ ÔÒÅÂÏ×ÁÎÉÊ, ËÏÔÏÒÙÅ ÎÕÖÎÏ ×ÙÐÏÌÎÑÔØ ×ÓÅÍ, ËÔÏ ÓÏÂÉÒÁÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÄ × ËÏÍÍÅÒÞÅÓËÉÈ ÃÅÌÑÈ. ïÄÎÁËÏ, ÕÞÉÔÙ×ÁÑ ÁÂÓÏÌÀÔÎÏÅ ÐÒÅ×ÏÓÈÏÄÓÔ×Ï ÏÂߣÍÁ ÜÔÏÇÏ ËÏÄÁ (ËÏÍÐÉÌÑÔÏÒ, ÁÓÓÅÍÂÌÅÒ, ÉÎÓÔÒÕÍÅÎÔÙ ÆÏÒÍÁÔÉÒÏ×ÁÎÉÑ ÔÅËÓÔÁ É ÔÁË ÄÁÌÅÅ) ÂÙÌÏ ÂÙ ÇÌÕÐÏ ÏÔËÁÚÙ×ÁÔØÓÑ ÏÔ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÒÁÚÒÁÂÏÔÏË, ÐÏÄÐÁÄÁÀÝÉÈ ÐÏÄ ÄÅÊÓÔ×ÉÅ ÜÔÏÊ ÌÉÃÅÎÚÉÉ. ëÏÄ, ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÙÊ ÐÏ ÕÓÌÏ×ÉÑÍ ÌÉÃÅÎÚÉÏÎÎÏÇÏ ÓÏÇÌÁÛÅÎÉÑ GPL ÔÁËÖÅ ÒÁÚÍÅÝÁÅÔÓÑ × ÏÔÄÅÌØÎÏÊ ÞÁÓÔÉ ÄÅÒÅ×Á ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×, × /sys/gnu ÉÌÉ /usr/src/gnu, É ÐÏÜÔÏÍÕ ÌÅÇËÏ ÉÄÅÎÔÉÆÉÃÉÒÕÅÔÓÑ ×ÓÑËÉÍ, ÄÌÑ ËÏÇÏ GPL ÐÒÅÄÓÔÁ×ÌÑÅÔ ÐÒÏÂÌÅÍÕ. òÁÚÒÁÂÏÔËÉ, ÐÏÄÐÁÄÁÀÝÉÅ ÐÏÄ ÄÅÊÓÔ×ÉÅ ÄÒÕÇÉÈ ÔÉÐÏ× ÌÉÃÅÎÚÉÏÎÎÙÈ ÓÏÇÌÁÛÅÎÉÊ, ÄÏÌÖÎÙ ÂÙÔØ ÔÝÁÔÅÌØÎÏ ÐÒÏÓÍÏÔÒÅÎÙ ÐÅÒÅÄ ÐÒÉÎÑÔÉÅÍ ÒÅÛÅÎÉÑ Ï ÉÈ ×ËÌÀÞÅÎÉÉ ×Ï FreeBSD. òÁÚÒÁÂÏÔËÉ, ÎÁ ËÏÔÏÒÙÅ ÒÁÓÐÒÏÓÔÒÁÎÑÀÔÓÑ Ö£ÓÔËÉÅ ÏÇÒÁÎÉÞÅÎÉÑ ËÏÍÍÅÒÞÅÓËÉÈ ÌÉÃÅÎÚÉÏÎÎÙÈ ÓÏÇÌÁÛÅÎÉÊ, ÏÂÙÞÎÏ ÏÔ×ÅÒÇÁÀÔÓÑ, Á Á×ÔÏÒÁÍ ×ÓÅÇÄÁ ÐÒÅÄÌÁÇÁÅÔÓÑ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÐÏÄÏÂÎÙÅ ÉÚÍÅÎÅÎÉÑ ÐÏ ÓÏÂÓÔ×ÅÎÎÙÍ ËÁÎÁÌÁÍ. äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÎÁ ×ÁÛÕ ÒÁÂÏÔÕ ÒÁÓÐÒÏÓÔÒÁÎÑÌÉÓØ ÕÓÌÏ×ÉÑ ÌÉÃÅÎÚÉÏÎÎÏÇÏ ÏÇÒÁÎÉÞÅÎÉÑ × ÓÔÉÌÅ BSD, ÒÁÚÍÅÓÔÉÔÅ ÓÌÅÄÕÀÝÉÊ ÔÅËÓÔ × ÓÁÍÏÍ ÎÁÞÁÌÅ ËÁÖÄÏÇÏ ÆÁÊÌÁ Ó ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ, ËÏÔÏÒÙÅ ×Ù ÈÏÔÉÔÅ ÚÁÝÉÔÉÔØ, ÚÁÍÅÎÉ× ÔÅËÓÔ ÍÅÖÄÕ %% ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ÉÎÆÏÒÍÁÃÉÅÊ: Copyright (c) %%ÐÏÌÎÙÅ_ÎÏÍÅÒÁ_ÇÏÄÏ×%% %%×ÁÛÅ_ÉÍÑ%%, %%×ÁÛ_ÛÔÁÔ%% %%×ÁÛ_ÐÏÞÔÏ×ÙÊ_ÉÎÄÅËÓ%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $&os;$ äÌÑ ×ÁÛÅÇÏ ÕÄÏÂÓÔ×Á ËÏÐÉÑ ÜÔÏÇÏ ÔÅËÓÔÁ ÒÁÚÍÅÝÅÎÁ × ÆÁÊÌÅ /usr/share/examples/etc/bsd-style-copyright. äÅÎØÇÉ, ÏÂÏÒÕÄÏ×ÁÎÉÅ ÉÌÉ Internet-ÄÏÓÔÕÐ íÙ ×ÓÅÇÄÁ Ó ÕÄÏ×ÏÌØÓÔ×ÉÅÍ ÐÒÉÍÅÍ ÍÁÔÅÒÉÁÌØÎÕÀ ÐÏÍÏÝØ, ÎÕÖÎÕÀ ÄÌÑ ÄÁÌØÎÅÊÛÅÇÏ ÓÕÝÅÓÔ×Ï×ÁÎÉÑ ðÒÏÅËÔÁ FreeBSD, Á × ÄÏÂÒÏ×ÏÌØÎÏÍ ÐÒÏÅËÔÅ, ÔÉÐÁ ÎÁÛÅÇÏ ÍÁÌÅÎØËÁÑ ÐÏÍÏÝØ ÍÏÖÅÔ ÐÏÓÌÕÖÉÔØ ÄÏÌÇÏ! âÅÚ×ÏÚÍÅÚÄÎÁÑ ÐÅÒÅÄÁÞÁ ×ÙÞÉÓÌÉÔÅÌØÎÏÊ ÔÅÈÎÉËÉ ÔÁËÖÅ ÏÞÅÎØ ×ÁÖÎÁ ÄÌÑ ÒÁÓÛÉÒÅÎÉÑ ÓÐÉÓËÁ ÐÏÄÄÅÒÖÉ×ÁÅÍÏÇÏ ÐÅÒÉÆÅÒÉÊÎÏÇÏ ÏÂÏÒÕÄÏ×ÁÎÉÑ, ÔÁË ËÁË ÏÂÙÞÎÏ Õ ÎÁÓ ÎÅÔ ÓÒÅÄÓÔ× ÄÌÑ ÓÁÍÏÓÔÏÑÔÅÌØÎÏÇÏ ÅÇÏ ÐÒÉÏÂÒÅÔÅÎÉÑ. - - <anchor id="donations"/>æÉÎÁÎÓÏ×ÁÑ ÐÏÍÏÝØ + + æÉÎÁÎÓÏ×ÁÑ ÐÏÍÏÝØ The FreeBSD Foundation Ñ×ÌÑÅÔÓÑ ÎÅËÏÍÍÅÒÞÅÓËÏÊ ÏÒÇÁÎÉÚÁÃÉÅÊ, ÏÓ×ÏÂÏÖÄ£ÎÎÏÊ ÏÔ ÕÐÌÁÔÙ ÎÁÌÏÇÏ×, ÓÏÚÄÁÎÎÏÊ Ó ÃÅÌØÀ ÒÅÁÌÉÚÁÃÉÉ ÃÅÌÅÊ ðÒÏÅËÔÁ FreeBSD. ëÁË ÏÒÇÁÎÉÚÁÃÉÑ ÔÉÐÁ 501(c)3, æÏÎÄ ÏÂÙÞÎÏ ÏÓ×ÏÂÏÖÄÁÅÔÓÑ ÏÔ ÆÅÄÅÒÁÌØÎÏÇÏ ÎÁÌÏÇÁ óûá ÎÁ ÐÒÉÂÙÌØ. óÕÍÍÙ ÂÅÚ×ÏÚÍÅÚÄÎÙÈ ÐÏÖÅÒÔ×Ï×ÁÎÉÊ ÔÁËÉÍ ÏÒÇÁÎÉÚÁÃÉÑÍ ÞÁÓÔÏ ×ÙÞÉÔÁÀÔÓÑ ÉÚ ÏÂÝÅÊ ÓÕÍÍÙ ÎÁÌÏÇÏÏÂÌÁÇÁÅÍÏÊ ÐÒÉÂÙÌÉ. æÉÎÁÎÓÏ×ÁÑ ÐÏÍÏÝØ ÍÏÖÅÔ ÂÙÔØ ÎÁÐÒÁ×ÌÅÎÁ × ×ÉÄÅ ÞÅËÏ× ÎÁ ÁÄÒÅÓ:
The FreeBSD Foundation P.O. Box 20247 Boulder, CO 80308 USA
The FreeBSD Foundation ÔÅÐÅÒØ ÍÏÖÅÔ ÐÒÉÎÉÍÁÔØ ÐÏÍÏÝØ ÞÅÒÅÚ Web ÐÏ ÓÉÓÔÅÍÅ PayPal. äÌÑ ÎÁÐÒÁ×ÌÅÎÉÑ ÐÏÍÏÝÉ, ÐÏÖÁÌÕÊÓÔÁ, ÐÏÓÅÔÉÔÅ Web-ÓÁÊÔ æÏÎÄÁ. äÏÐÏÌÎÉÔÅÌØÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï æÏÎÄÅ FreeBSD ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ ÓÔÒÁÎÉÃÅ, ÓÏÄÅÒÖÁÝÅÊ ××ÏÄÎÕÀ ÉÎÆÏÒÍÁÃÉÉ Ï æÏÎÄÅ FreeBSD. äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÏÂÒÁÔÉÔØÓÑ × æÏÎÄ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ, ÎÁÐÉÛÉÔÅ ÐÉÓØÍÏ ÎÁ ÁÄÒÅÓ bod@FreeBSDFoundation.org.
ðÏÍÏÝØ × ×ÉÄÅ ÏÂÏÒÕÄÏ×ÁÎÉÑ ÂÅÚ×ÏÚÍÅÚÄÎÁÑ ÐÏÍÏÝØ ðÒÏÅËÔ FreeBSD Ó ÕÄÏ×ÏÌØÓÔ×ÉÅ ÐÒÉÍÅÔ ÐÏÍÏÝØ × ×ÉÄÅ ÏÂÏÒÕÄÏ×ÁÎÉÑ, ËÏÔÏÒÏÍÕ ÏÎ ÎÁÊÄ£Ô ÈÏÒÏÛÅÅ ÐÒÉÍÅÎÅÎÉÅ. åÓÌÉ ×Ù ÚÁÉÎÔÅÒÅÓÏ×ÁÎÙ × ÐÅÒÅÄÁÞÅ ÏÂÏÒÕÄÏ×ÁÎÉÑ, ÐÏÖÁÌÕÊÓÔÁ, ÏÂÒÁÔÉÔÅÓØ Ë òÕËÏ×ÏÄÓÔ×Õ ãÅÎÔÒÁ ÐÏÖÅÒÔ×Ï×ÁÎÉÊ.
diff --git a/ru_RU.KOI8-R/books/handbook/mirrors/chapter.xml b/ru_RU.KOI8-R/books/handbook/mirrors/chapter.xml index 8519091b71..5f8ae8d7c5 100644 --- a/ru_RU.KOI8-R/books/handbook/mirrors/chapter.xml +++ b/ru_RU.KOI8-R/books/handbook/mirrors/chapter.xml @@ -1,3196 +1,3196 @@ ðÏÌÕÞÅÎÉÅ FreeBSD äÅÎÉÓ ðÅÐÌÉÎ ðÅÒÅ×ÏÄ ÎÁ ÒÕÓÓËÉÊ ÑÚÙË: éÚÄÁÔÅÌÉ CDROM É DVD ëÏÒÏÂÏÞÎÁÑ ×ÅÒÓÉÑ FreeBSD ÄÏÓÔÕÐÎÁ × ËÏÒÏÂÏÞÎÏÊ ×ÅÒÓÉÉ (FreeBSD CD ÄÉÓËÉ, ÄÏÐÏÌÎÉÔÅÌØÎÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, ÐÅÞÁÔÎÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ) ÏÔ ÎÅÓËÏÌØËÉÈ ÐÏÓÔÁ×ÝÉËÏ×:
CompUSA WWW:
Frys Electronics WWW:
îÁÂÏÒÙ CD É DVD îÁÂÏÒÙ FreeBSD CD É DVD ÄÏÓÔÕÐÎÙ Õ ÍÎÏÖÅÓÔ×Á ÏÎÌÁÊÎ ÐÏÓÔÁ×ÝÉËÏ×:
BSD Mall (ÐÏÄÒÁÚÄÅÌÅÎÉÅ Daemon News) PO Box 161 Nauvoo, IL 62354 USA ôÅÌÅÆÏÎ: +1 866 273-6255 æÁËÓ: +1 217 453-9956 Email: sales@bsdmall.com WWW:
BSD-Systems Email: info@bsd-systems.co.uk WWW:
FreeBSD Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 óûá ôÅÌÅÆÏÎ: +1 925 674-0783 æÁËÓ: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 óûá ôÅÌÅÆÏÎ: 1 (800) 456-8000 WWW:
Hinner EDV St. Augustinus-Str. 10 D-81825 München çÅÒÍÁÎÉÑ ôÅÌÅÆÏÎ: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre æÒÁÎÃÉÑ WWW:
JMC Software éÒÌÁÎÄÉÑ ôÅÌÅÆÏÎ: 353 1 6291282 WWW:
Linux CD Mall Private Bag MBE N348 Auckland 1030 îÏ×ÁÑ úÅÌÁÎÄÉÑ ôÅÌÅÆÏÎ: +64 21 866529 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA ÷ÅÌÉËÏÂÒÉÔÁÎÉÑ ôÅÌÅÆÏÎ: +44 1491 837010 æÁËÓ: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 ðÏÌØÛÁ ôÅÌÅÆÏÎ: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 á×ÓÔÒÁÌÉÑ ôÅÌÅÆÏÎ: +61 3 9857 5918 æÁËÓ: +61 3 9857 8974 WWW:
LinuxCenter.Ru ÕÌ. çÁÌÅÒÎÁÑ, 55 óÁÎËÔ-ðÅÔÅÒÂÕÒÇ 190000 òÏÓÓÉÑ ôÅÌÅÆÏÎ: +7-812-3125208 Email: info@linuxcenter.ru WWW:
òÁÓÐÒÏÓÔÒÁÎÉÔÅÌÉ åÓÌÉ ×Ù ÐÒÏÄÁ×ÅÃ É ÈÏÔÉÔÅ ÚÁÎÉÍÁÔØÓÑ FreeBSD CDROM, ÐÏÖÁÌÕÊÓÔÁ Ó×ÑÖÉÔÅÓØ Ó ÒÁÓÐÒÏÓÔÒÁÎÉÔÅÌÅÍ:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 óûá ôÅÌÅÆÏÎ: +1 650 694-4949 æÁËÓ: +1 650 694-4953 Email: sales@cylogistics.com WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 óûá ôÅÌÅÆÏÎ: +1 952 947-0822 æÁËÓ: +1 952 947-0876 Email: sales@kudzuenterprises.com
LinuxCenter.Ru ÕÌ. çÁÌÅÒÎÁÑ, 55 óÁÎËÔ-ðÅÔÅÒÂÕÒÇ 190000 òÏÓÓÉÑ ôÅÌÅÆÏÎ: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 óûá ôÅÌÅÆÏÎ: +1 763 535-8333 æÁËÓ: +1 763 535-0341 WWW:
FTP ÓÁÊÔÙ ïÆÉÃÉÁÌØÎÙÍ ÉÓÔÏÞÎÉËÏÍ FreeBSD Ñ×ÌÑÀÔÓÑ ÁÎÏÎÉÍÎÙÅ FTP ÚÅÒËÁÌÁ ÐÏ ×ÓÅÍÕ ÍÉÒÕ. óÁÊÔ ÉÍÅÅÔ ÈÏÒÏÛÅÅ ÐÏÄËÌÀÞÅÎÉÅ É ÐÏÄÄÅÒÖÉ×ÁÅÔ ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔ×Ï ÏÄÎÏ×ÒÅÍÅÎÎÙÈ ÓÏÅÄÉÎÅÎÉÊ, ÎÏ ÄÌÑ ×ÁÓ ×ÏÚÍÏÖÎÏ ÐÏÔÒÅÂÕÅÔÓÑ ÎÁÊÔÉ ÂÌÉÖÁÊÛÅÅ ÚÅÒËÁÌÏ (ÏÓÏÂÅÎÎÏ ÅÓÌÉ ×Ù ÒÅÛÉÌÉ ÎÁÓÔÒÏÉÔØ Õ ÓÅÂÑ ËÁËÏÊ-ÔÏ ÉÚ ×ÉÄÏ× ÚÅÒËÁÌ). âÁÚÁ ÄÁÎÎÙÈ ÚÅÒËÁÌ FreeBSD ÐÒÅÄÐÏÞÔÉÔÅÌØÎÅÅ ÐÏ ÓÒÁ×ÎÅÎÉÀ ÓÏ ÓÐÉÓËÏÍ ÚÅÒËÁÌ × òÕËÏ×ÏÄÓÔ×Å, ÐÏÓËÏÌØËÕ ÉÎÆÏÒÍÁÃÉÑ × ÂÁÚÅ ÓÏÂÉÒÁÅÔÓÑ ÉÚ DNS, Á ÎÅ ÉÚ ÓÔÁÔÉÞÅÓËÏÇÏ ÓÐÉÓËÁ ÕÚÌÏ×. ëÒÏÍÅ ÔÏÇÏ, FreeBSD ÄÏÓÔÕÐÎÁ ÞÅÒÅÚ ÁÎÏÎÉÍÎÙÊ FTP ÓÏ ÓÌÅÄÕÀÝÉÈ ÚÅÒËÁÌ. åÓÌÉ ×Ù ×ÙÂÒÁÌÉ ÐÏÌÕÞÅÎÉÅ FreeBSD ÞÅÒÅÚ ÁÎÏÎÉÍÎÙÊ FTP, ÐÏÖÁÌÕÊÓÔÁ ×ÙÂÅÒÉÔÅ ÂÌÉÖÁÊÛÉÊ Ë ×ÁÍ ÓÁÊÔ. úÅÒËÁÌÁ ÉÚ ÓÐÉÓËÁ ïÓÎÏ×ÎÙÈ ÚÅÒËÁÌ ÏÂÙÞÎÏ ÓÏÄÅÒÖÁÔ ÐÏÌÎÙÊ ÁÒÈÉ× FreeBSD (×ÓÅ ÄÏÓÔÕÐÎÙÅ ÎÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ×ÅÒÓÉÉ ÄÌÑ ËÁÖÄÏÊ ÁÒÈÉÔÅËÔÕÒÙ), ÓËÏÒÏÓÔØ ÚÁÇÒÕÚËÉ ×ÏÚÍÏÖÎÏ ÂÕÄÅÔ ÂÏÌØÛÅ Ó ÚÅÒËÁÌÁ, ÒÁÓÐÏÌÏÖÅÎÎÏÇÏ × ×ÁÛÅÊ ÓÔÒÁÎÅ ÉÌÉ ÒÅÇÉÏÎÅ. óÁÊÔÙ ËÁÖÄÏÊ ÓÔÒÁÎÙ ÓÏÄÅÒÖÁÔ ÐÏÓÌÅÄÎÀÀ ×ÅÒÓÉÀ ÄÌÑ ÎÁÉÂÏÌÅÅ ÐÏÐÕÌÑÒÎÙÈ ÁÒÈÉÔÅËÔÕÒ, ÎÏ ÎÁ ÎÉÈ ÍÏÖÅÔ ÎÅ ÂÙÔØ ÐÏÌÎÏÇÏ ÁÒÈÉ×Á FreeBSD. ÷ÓÅ ÓÁÊÔÙ ÐÒÅÄÏÓÔÁ×ÌÑÀÔ ÄÏÓÔÕÐ ÞÅÒÅÚ ÁÎÏÎÉÍÎÙÊ FTP, Á ÎÅËÏÔÏÒÙÅ ÐÒÅÄÏÓÔÁ×ÌÑÀÔ ÄÏÓÔÕÐ É ÄÒÕÇÉÍÉ ÍÅÔÏÄÁÍÉ. äÌÑ ËÁÖÄÏÇÏ ÓÁÊÔÁ ÐÒÉ×ÅÄÅÎ ÓÐÉÓÏË ÍÅÔÏÄÏ× ÄÏÓÔÕÐÁ × ÓËÏÂËÁÈ ÐÏÓÌÅ ÉÍÅÎÉ ÈÏÓÔÁ. &chap.mirrors.ftp.inc; áÎÏÎÉÍÎÙÊ CVS - - <anchor id="anoncvs-intro"/>÷×ÅÄÅÎÉÅ + + ÷×ÅÄÅÎÉÅ CVS ÁÎÏÎÉÍÎÙÊ áÎÏÎÉÍÎÙÊ CVS (ÉÚ×ÅÓÔÎÙÊ ÔÁËÖÅ ËÁË, anoncvs) ÜÔÏ ×ÏÚÍÏÖÎÏÓÔØ, ÐÒÅÄÏÓÔÁ×ÌÑÅÍÁÑ ÕÔÉÌÉÔÁÍÉ CVS, ÐÏÓÔÁ×ÌÑÅÍÙÍÉ Ó FreeBSD ÄÌÑ ÓÉÎÈÒÏÎÉÚÁÃÉÉ Ó ÕÄÁÌÅÎÎÙÍ CVS ÒÅÐÏÚÉÔÏÒÉÅÍ. ðÏÍÉÍÏ ÐÒÏÞÅÇÏ, ÏÎ ÐÏÚ×ÏÌÑÅÔ ÐÏÌØÚÏ×ÁÔÅÌÑÍ FreeBSD ÂÅÚ ÓÐÅÃÉÁÌØÎÙÈ ÐÒÉ×ÉÌÅÇÉÊ (Ó ÐÒÁ×ÁÍÉ ÔÏÌØËÏ ÎÁ ÞÔÅÎÉÅ) ×ÙÐÏÌÎÑÔØ CVS ÏÐÅÒÁÃÉÉ ÎÁ ÏÄÎÏÍ ÉÚ ÏÆÉÃÉÁÌØÎÙÈ anoncvs ÓÅÒ×ÅÒÏ× ÐÒÏÅËÔÁ FreeBSD. äÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÜÔÏÊ ×ÏÚÍÏÖÎÏÓÔÉ, ÐÒÏÓÔÏ ÕÓÔÁÎÏ×ÉÔÅ ÐÅÒÅÍÅÎÎÕÀ CVSROOT ÎÁ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÓÅÒ×ÅÒ anoncvs, ××ÅÄÉÔÅ ÏÂÝÅÉÚ×ÅÓÔÎÙÊ ÐÁÒÏÌØ anoncvs × ÏÔ×ÅÔ ÎÁ ÐÒÉÇÌÁÛÅÎÉÅ ËÏÍÁÎÄÙ cvs login, Á ÚÁÔÅÍ ÉÓÐÏÌØÚÕÊÔÅ &man.cvs.1; ÄÌÑ ÄÏÓÔÕÐÁ Ë ÒÅÐÏÚÉÔÏÒÉÀ ËÁË Ë ÏÂÙÞÎÏÍÕ ÌÏËÁÌØÎÏÍÕ CVS. ëÏÍÁÎÄÁ cvs login ÓÏÈÒÁÎÑÅÔ ÐÁÒÏÌÉ, ÉÓÐÏÌØÚÏ×ÁÎÎÙÅ ÄÌÑ Á×ÔÏÒÉÚÁÃÉÉ ÎÁ ÓÅÒ×ÅÒÅ CVS × ÆÁÊÌÅ Ó ÉÍÅÎÅÍ .cvspass × ËÁÔÁÌÏÇÅ HOME. åÓÌÉ ÜÔÏÔ ÆÁÊÌ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÐÒÉ ÐÅÒ×ÏÍ ÚÁÐÕÓËÅ cvs login. ðÒÏÓÔÏ ÓÏÚÄÁÊÔÅ ÐÕÓÔÏÊ ÆÁÊÌ .cvspass É ÐÏÐÒÏÂÕÊÔÅ ÅÝÅ ÒÁÚ. èÏÔÑ ÍÏÖÎÏ ÓËÁÚÁÔØ, ÞÔÏ ÓÅÒ×ÉÓÙ CVSup É anoncvs ×ÙÐÏÌÎÑÀÔ × ÓÕÝÎÏÓÔÉ ÐÏÈÏÖÉÅ ÆÕÎËÃÉÉ, ÅÓÔØ ÎÅÓËÏÌØËÏ ÏÔÌÉÞÉÊ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏ×ÌÉÑÔØ ÎÁ ×ÙÂÏÒ ÍÅÔÏÄÁ ÓÉÎÈÒÏÎÉÚÁÃÉÉ. ðÏ Ó×ÏÅÊ ÓÕÔÉ, CVSup ÇÏÒÁÚÄÏ ÂÏÌÅÅ ÜÆÆÅËÔÉ×ÎÏ ÉÓÐÏÌØÚÕÅÔ ÓÅÔÅ×ÙÅ ÒÅÓÕÒÓÙ, É ÉÚ Ä×ÕÈ ÜÔÉÈ ÐÒÏÇÒÁÍÍ ÏÎ ÂÏÌÅÅ ÉÎÔÅÌÌÅËÔÕÁÌÅÎ, ÎÏ ÚÁ ÅÇÏ ÜÆÆÅËÔÉ×ÎÏÓÔØ ÐÒÉÈÏÄÉÔÓÑ ÐÌÁÔÉÔØ. ÷Ï-ÐÅÒ×ÙÈ, ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÐÏÑ×ÉÌÁÓØ ×ÏÚÍÏÖÎÏÓÔØ ÈÏÔØ ÞÔÏ-ÔÏ ÐÏÌÕÞÉÔØ ÜÔÉÍ ÍÅÔÏÄÏÍ, CVSup ÐÏÔÒÅÂÕÅÔÓÑ ÕÓÔÁÎÏ×ÉÔØ É ÎÁÓÔÒÏÉÔØ ÓÐÅÃÉÁÌØÎÕÀ ÐÒÏÇÒÁÍÍÕ, Á ×Ï-×ÔÏÒÙÈ, ÜÔÏÔ CVSup ÐÏÚ×ÏÌÑÅÔ ÓÉÎÈÒÏÎÉÚÁÃÉÀ ÔÏÌØËÏ ÄÏ×ÏÌØÎÏ ÂÏÌØÛÉÈ ÞÁÓÔÅÊ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×, ÎÁÚÙ×ÁÅÍÙÈ ËÏÌÌÅËÃÉÑÍÉ. Anoncvs ÎÁÐÒÏÔÉ× ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ËÁË ÏÄÎÏÇÏ ÆÁÊÌÁ, ÔÁË É ×ÓÅÊ ÐÒÏÇÒÁÍÍÙ (ÎÁÐÒÉÍÅÒ ls ÉÌÉ grep), Ó ÐÏÍÏÝØÀ ÓÓÙÌËÉ ÎÁ ÉÍÑ ÍÏÄÕÌÑ CVS. ëÏÎÅÞÎÏ, anoncvs ÈÏÒÏÛÏ ÐÏÄÈÏÄÉÔ ÔÏÌØËÏ ÐÒÉ ÏÐÅÒÁÃÉÑÈ ÎÁ ÞÔÅÎÉÅ CVS ÒÅÐÏÚÉÔÏÒÉÑ, ÐÏÜÔÏÍÕ ÅÓÌÉ ×Ù ÎÁÍÅÒÅ×ÁÅÔÅÓØ ÐÒÏÉÚ×ÏÄÉÔØ ÌÏËÁÌØÎÕÀ ÒÁÚÒÁÂÏÔËÕ × ÏÄÎÏÍ ÉÚ ÒÅÐÏÚÉÔÏÒÉÅ× ÐÒÏÅËÔÁ FreeBSD, ×ÁÍ ÐÏÄÏÊÄÅÔ ÔÏÌØËÏ CVSup. - - <anchor id="anoncvs-usage"/>éÓÐÏÌØÚÏ×ÁÎÉÅ ÁÎÏÎÉÍÎÏÇÏ CVS + + éÓÐÏÌØÚÏ×ÁÎÉÅ ÁÎÏÎÉÍÎÏÇÏ CVS îÁÓÔÒÏÊËÁ &man.cvs.1; ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÁÎÏÎÉÍÎÏÇÏ CVS ÒÅÐÏÚÉÔÏÒÉÑ ÏÚÎÁÞÁÅÔ ÕÓÔÁÎÏ×ËÕ ÐÅÒÅÍÅÎÎÏÊ ÏËÒÕÖÅÎÉÑ CVSROOT ÎÁ ÏÄÉÎ ÉÚ anoncvs ÓÅÒ×ÅÒÏ× ÐÒÏÅËÔÁ FreeBSD. îÁ ÍÏÍÅÎÔ ÎÁÐÉÓÁÎÉÑ ÜÔÏÇÏ ÄÏËÕÍÅÎÔÁ ÄÏÓÔÕÐÎÙ ÓÌÅÄÕÀÝÉÅ ÓÅÒ×ÅÒÁ: á×ÓÔÒÉÑ: :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs (éÓÐÏÌØÚÕÊÔÅ cvs login É ××ÅÄÉÔÅ ÌÀÂÏÊ ÐÁÒÏÌØ × ÏÔ×ÅÔ ÎÁ ÐÒÉÇÌÁÛÅÎÉÅ.) æÒÁÎÃÉÑ: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (ÐÁÒÏÌØ anoncvs), ssh (ÎÅÔ ÐÁÒÏÌÑ)) çÅÒÍÁÎÉÑ: :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (éÓÐÏÌØÚÕÊÔÅ cvs login É ××ÅÄÉÔÅ ÐÁÒÏÌØ anoncvs × ÏÔ×ÅÔ ÎÁ ÐÒÉÇÌÁÛÅÎÉÅ.) çÅÒÍÁÎÉÑ: :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022) ñÐÏÎÉÑ: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (éÓÐÏÌØÚÕÊÔÅ cvs login É ××ÅÄÉÔÅ ÐÁÒÏÌØ anoncvs × ÏÔ×ÅÔ ÎÁ ÐÒÉÇÌÁÛÅÎÉÅ.) óûá: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (ÔÏÌØËÏ ssh - ÂÅÚ ÐÁÒÏÌÑ) SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub óûá: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ÔÏÌØËÏ ssh - ÂÅÚ ÐÁÒÏÌÑ) SSH HostKey: 1024 8b:c4:6f:9a:7e:65:8a:eb:50:50:29:7c:a1:47:03:bc root@ender.liquidneon.com SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pub ðÏÓËÏÌØËÕ CVS ÐÏÚ×ÏÌÑÅÔ ×ÙÐÏÌÎÉÔØ check out ÐÒÁËÔÉÞÅÓËÉ ÌÀÂÏÊ ×ÅÒÓÉÉ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× FreeBSD, ËÏÔÏÒÙÅ ËÏÇÄÁ-ÌÉÂÏ ÓÕÝÅÓÔ×Ï×ÁÌÉ (ÉÌÉ, × ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ, ÂÕÄÕÔ ÓÕÝÅÓÔ×Ï×ÁÔØ), ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÐÏÚÎÁËÏÍÉÔØÓÑ Ó ÆÌÁÇÏÍ &man.cvs.1; ÄÌÑ ÒÅ×ÉÚÉÊ () É Ó ÐÁÒÁÍÅÔÒÁÍÉ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ Ó ÜÔÉÍ ÆÌÁÇÏÍ × ÒÅÐÏÚÉÔÏÒÉÉ ÐÒÏÅËÔÁ FreeBSD. åÓÔØ Ä×Á ×ÉÄÁ ÔÅÇÏ×, ÔÅÇÉ ÒÅ×ÉÚÉÊ É ÔÅÇÉ ×ÅÔ×ÅÊ. ôÅÇÉ ÒÅ×ÉÚÉÊ ÏÔ×ÅÞÁÀÔ ÚÁ ÏÐÒÅÄÅÌÅÎÎÕÀ ÒÅ×ÉÚÉÀ. éÈ ÚÎÁÞÅÎÉÅ ÏÓÔÁÅÔÓÑ ÐÒÅÖÎÉÍ ÉÚÏ ÄÎÑ × ÄÅÎØ. ôÅÇÉ ×ÅÔ×ÅÊ ÓÏÐÏÓÔÁ×ÌÑÀÔÓÑ ÐÏÓÌÅÄÎÅÊ ÒÅ×ÉÚÉÉ ÏÐÒÅÄÅÌÅÎÎÏÊ ×ÅÔ×É ÒÁÚÒÁÂÏÔËÉ, × ÌÀÂÏÊ ÍÏÍÅÎÔ ×ÒÅÍÅÎÉ. ðÏÓËÏÌØËÕ ÔÅÇÉ ×ÅÔ×ÅÊ ÎÅ ÓÏÐÏÓÔÁ×ÌÅÎÙ ËÁËÏÊ-ÔÏ ÏÐÒÅÄÅÌÅÎÎÏÊ ÒÅ×ÉÚÉÉ, ÚÁ×ÔÒÁ ÏÎÉ ÍÏÇÕÔ ÏÚÎÁÞÁÔØ ÓÏ×ÓÅÍ ÎÅ ÔÏ, ÞÔÏ ÓÅÇÏÄÎÑ. ÓÏÄÅÒÖÉÔ ÔÅÇÉ ÒÅ×ÉÚÉÊ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÚÁÉÎÔÅÒÅÓÏ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ. ïÐÑÔØ ÖÅ, ÎÉ ÏÄÉÎ ÉÚ ÎÉÈ ÎÅ ÐÏÄÈÏÄÉÔ ÄÌÑ ËÏÌÌÅËÃÉÉ ÐÏÒÔÏ×, ÐÏÓËÏÌØËÕ × ËÏÌÌÅËÃÉÉ ÐÏÒÔÏ× ÎÅÔ ÒÁÚÎÏÏÂÒÁÚÉÑ ÒÅ×ÉÚÉÊ. åÓÌÉ ×Ù ÕËÁÚÙ×ÁÅÔÅ ÔÅÇ ×ÅÔ×É, ÔÏ ÏÂÙÞÎÏ ÐÏÌÕÞÁÅÔÅ ÐÏÓÌÅÄÎÀÀ ×ÅÒÓÉÀ ÆÁÊÌÏ× ÜÔÏÊ ×ÅÔ×É ÒÁÚÒÁÂÏÔËÉ. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ ÐÒÅÄÙÄÕÝÕÀ ×ÅÒÓÉÀ, ÜÔÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÐÕÔÅÍ ÕËÁÚÁÎÉÑ ÄÁÔÙ ÆÌÁÇÏÍ . ïÂÒÁÔÉÔÅÓØ Ë ÓÔÒÁÎÉÃÅ ÓÐÒÁ×ÏÞÎÉËÁ &man.cvs.1; ÚÁ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÅÊ. ðÒÉÍÅÒÙ èÏÔÑ ÐÅÒÅÄ ÔÅÍ, ËÁË ÞÔÏ-ÔÏ ÄÅÌÁÔØ, ÒÅËÏÍÅÎÄÕÅÔÓÑ ÐÏÌÎÏÓÔØÀ ÐÒÏÞÅÓÔØ ÓÔÒÁÎÉÃÕ ÓÐÒÁ×ÏÞÎÉËÁ &man.cvs.1;, ×ÏÔ ÎÅÓËÏÌØËÏ ËÒÁÔËÉÈ ÐÒÉÍÅÒÏ× ÉÓÐÏÌØÚÏ×ÁÎÉÑ Anonymous CVS: éÚ×ÌÅÞÅÎÉÅ ËÏÄÁ ÉÚ -CURRENT (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co ls éÓÐÏÌØÚÏ×ÁÎÉÅ SSH ÄÌÑ ÉÚ×ÌÅÞÅÎÉÑ ÄÅÒÅ×Á <filename>src/</filename>: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. éÚ×ÌÅÞÅÎÉÅ &man.ls.1; ÉÚ ×ÅÔ×É ÄÌÑ 6-STABLE: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co -rRELENG_6 ls óÏÚÄÁÎÉÅ ÓÐÉÓËÁ ÉÚÍÅÎÅÎÉÊ &man.ls.1; (× ×ÉÄÅ unified diff) &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls ðÏÉÓË ÄÏÓÔÕÐÎÙÈ ÉÍÅÎ ÍÏÄÕÌÅÊ: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co modules &prompt.user; more modules/modules äÒÕÇÉÅ ÒÅÓÕÒÓÙ ÷ ÉÚÕÞÅÎÉÉ CVS ÍÏÇÕÔ ÐÏÍÏÞØ ÓÌÅÄÕÀÝÉÅ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÒÅÓÕÒÓÙ: õÞÅÂÎÉË ÐÏ CVS ÏÔ Cal Poly. CVS Home, ÓÏÏÂÝÅÓÔ×Ï ÒÁÚÒÁÂÏÔËÉ É ÐÏÄÄÅÒÖËÉ CVS. CVSweb ÜÔÏ ×Å ÉÎÔÅÒÆÅÊÓ Ë CVS ÐÒÏÅËÔÁ FreeBSD. éÓÐÏÌØÚÏ×ÁÎÉÅ CTM CTM CTM ÜÔÏ ÍÅÔÏÄ ÓÉÎÈÒÏÎÉÚÁÃÉÉ ÕÄÁÌÅÎÎÏÇÏ ÄÅÒÅ×Á ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× Ó ÃÅÎÔÒÁÌØÎÙÍ. ïÎ ÂÙÌ ÒÁÚÒÁÂÏÔÁÎ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ Ó ÄÅÒÅ×ÏÍ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× FreeBSD, ÈÏÔÑ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÅÎ É ÄÌÑ ÄÒÕÇÉÈ ÃÅÌÅÊ. îÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÓÕÝÅÓÔ×ÕÅÔ ÏÞÅÎØ ÎÅÍÎÏÇÏ (ÅÓÌÉ ÏÎÁ ×ÏÏÂÝÅ ÓÕÝÅÓÔ×ÕÅÔ) ÄÏËÕÍÅÎÔÁÃÉÉ ÐÏ ÐÒÏÃÅÓÓÕ ÓÏÚÄÁÎÉÑ ÄÅÌØÔÁ-ÆÁÊÌÏ× (deltas, ÒÁÚÎÉÃÁ ÍÅÖÄÕ ÉÍÅÀÝÉÍÉÓÑ É ÁËÔÕÁÌØÎÙÍÉ ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ), ÐÏÜÔÏÍÕ ÏÂÒÁÔÉÔÅÓØ × ÓÐÉÓÏË ÒÁÓÓÙÌËÉ &a.ctm-users.name; ÚÁ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÅÊ, ÅÓÌÉ ÚÁÈÏÔÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ CTM ÄÌÑ ÄÒÕÇÉÈ ÃÅÌÅÊ. úÁÞÅÍ ÍÎÅ ÍÏÖÅÔ ÐÏÎÁÄÏÂÉÔØÓÑ <application>CTM</application>? CTM ÓÏÚÄÁÓÔ ÄÌÑ ×ÁÓ ÌÏËÁÌØÎÕÀ ËÏÐÉÀ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× FreeBSD. óÕÝÅÓÔ×ÕÅÔ ÍÎÏÖÅÓÔ×Ï ÒÁÚÎÏ×ÉÄÎÏÓÔÅÊ ÄÅÒÅ×Á ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×. úÁÈÏÔÉÔÅ ÌÉ ×Ù ÐÏÄÄÅÒÖÉ×ÁÔØ ×ÓÅ ÄÅÒÅ×Ï CVS ÉÌÉ ÔÏÌØËÏ ÏÄÎÕ ÉÚ ×ÅÔ×ÅÊ, CTM ÍÏÖÅÔ ÐÒÅÄÏÓÔÁ×ÉÔØ ×ÁÍ ×ÓÅ ÎÅÏÂÈÏÄÉÍÏÅ. åÓÌÉ ×Ù ÒÁÚÒÁÂÏÔÞÉË FreeBSD, ÎÏ ×ÁÛÅ ÓÏÅÄÉÎÅÎÉÅ ÐÏ TCP/IP ÎÅËÁÞÅÓÔ×ÅÎÎÏÅ ÉÌÉ ÏÔÓÕÔÓÔ×ÕÅÔ, ÉÌÉ ÖÅ ×Ù ÐÒÏÓÔÏ ÈÏÔÉÔÅ, ÞÔÏÂÙ ÉÚÍÅÎÅÎÉÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÔÐÒÁ×ÌÑÌÉÓØ ×ÁÍ, CTM ÐÒÅÄÎÁÚÎÁÞÅÎ ÄÌÑ ×ÁÓ. ÷ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ ÐÏÌÕÞÁÔØ ÄÏ ÔÒÅÈ ÉÚÍÅÎÅÎÉÊ × ÄÅÎØ ÄÌÑ ÎÁÉÂÏÌÅÅ ÁËÔÉ×ÎÙÈ ×ÅÔ×ÅÊ. ïÎÉ ÂÕÄÕÔ ÏÔÐÒÁ×ÌÑÔØÓÑ ×ÁÍ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ. òÁÚÍÅÒÙ ÏÂÎÏ×ÌÅÎÉÊ ×ÓÅÇÄÁ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÎÁÓÔÏÌØËÏ ÍÁÌÙÍÉ, ÎÁÓËÏÌØËÏ ÜÔÏ ×ÏÚÍÏÖÎÏ. ïÎÉ ÏÂÙÞÎÏ ÍÅÎØÛÅ 5K, ÈÏÔÑ ÓÌÕÞÁÅÔÓÑ (ÒÁÚ ÉÚ ÄÅÓÑÔÉ) ÄÏÓÔÉÇÁÀÔ 10-50K É ×ÒÅÍÑ ÏÔ ×ÒÅÍÅÎÉ ÄÁÖÅ 100K ÉÌÉ ÂÏÌØÛÅ. ÷ÁÍ ÔÁËÖÅ ÐÏÔÒÅÂÕÅÔÓÑ ÕÚÎÁÔØ Ï ÒÁÚÌÉÞÎÙÈ ÏÓÏÂÅÎÎÏÓÔÑÈ ÒÁÂÏÔÙ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ Ó ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ × ÒÁÚÒÁÂÏÔËÅ, ×ÍÅÓÔÏ ÇÏÔÏ×ÙÈ ÒÅÌÉÚÏ×. üÔÏ × ÞÁÓÔÎÏÓÔÉ ÏÔÎÏÓÉÔÓÑ Ë ×ÙÂÏÒÕ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× ×ÅÔ×É -CURRENT. òÅËÏÍÅÎÄÕÅÔÓÑ ÐÒÏÞÅÓÔØ ÍÁÔÅÒÉÁÌ îÁ ÐÅÒÅÄÎÅÍ ËÒÁÅ ÒÁÚÒÁÂÏÔÏË. þÔÏ ÐÏÔÒÅÂÕÅÔÓÑ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ <application>CTM</application>? ÷ÁÍ ÐÏÔÒÅÂÕÀÔÓÑ Ä×Å ×ÅÝÉ: ÐÒÏÇÒÁÍÍÁ CTM É ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ, ËÏÔÏÒÙÅ ÔÒÅÂÕÅÔÓÑ ÏÂÎÏ×ÉÔØ (ÄÏ ÁËÔÕÁÌØÎÏÇÏ ÓÏÓÔÏÑÎÉÑ). ðÒÏÇÒÁÍÍÁ CTM ÂÙÌÁ ÞÁÓÔØÀ FreeBSD ×ÓÅ ×ÒÅÍÑ Ó ÍÏÍÅÎÔÁ ×ÙÐÕÓËÁ ÒÅÌÉÚÁ 2.0, ÏÎÁ ÎÁÈÏÄÉÔÓÑ × ËÁÔÁÌÏÇÅ /usr/src/usr.sbin/ctm, ÅÓÌÉ Õ ×ÁÓ ÅÓÔØ ËÏÐÉÑ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×. äÅÌØÔÁ-ÆÁÊÌÙ CTM ÍÏÇÕÔ ÐÒÉÈÏÄÉÔØ Ä×ÕÍÑ ÐÕÔÑÍÉ, ÞÅÒÅÚ FTP ÉÌÉ email. åÓÌÉ Õ ×ÁÓ ÅÓÔØ ÄÏÓÔÕÐ Ë ÉÎÔÅÒÎÅÔ ÐÏ FTP, ÄÏÓÔÕÐ Ë CTM ÍÏÖÅÔ ÂÙÔØ ÐÏÌÕÞÅÎ ÞÅÒÅÚ ÓÌÅÄÕÀÝÉÅ FTP ÓÁÊÔÙ: ÉÌÉ Ó ÓÁÊÔÏ× ÉÚ ÓÐÉÓËÁ ÚÅÒËÁÌ. úÁÊÄÉÔÅ ÐÏ FTP × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ËÁÔÁÌÏÇ É ÐÒÏÞÔÉÔÅ ÆÁÊÌ README. åÓÌÉ ×Ù ÐÒÅÄÐÏÞÉÔÁÅÔÅ ÐÏÌÕÞÁÔØ ÄÅÌØÔÁ-ÆÁÊÌÙ ÐÏ ÐÏÞÔÅ: ðÏÄÐÉÛÉÔÅÓØ ÎÁ ÏÄÉÎ ÉÚ ÓÐÉÓËÏ× ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ CTM. &a.ctm-cvs-cur.name; ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÓÅ ÄÅÒÅ×Ï CVS. &a.ctm-src-cur.name; ÐÏÄÄÅÒÖÉ×ÁÅÔ ÇÌÁ×ÎÕÀ ×ÅÔר ÒÁÚÒÁÂÏÔËÉ. &a.ctm-src-4.name; ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÅÔר 4.X, É Ô.Ä. åÓÌÉ ×Ù ÎÅ ÚÎÁÅÔÅ, ËÁË ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÓÐÉÓÏË, ÎÁÖÍÉÔÅ ÎÁ ÓÓÙÌËÕ ×ÙÛÅ ÉÌÉ ÎÁ ÓÓÙÌËÕ &a.mailman.lists.link;, Á ÚÁÔÅÍ ÎÁ ÓÓÙÌËÕ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ ÓÐÉÓËÁ. óÔÒÁÎÉÃÁ ÓÐÉÓËÁ ÄÏÌÖÎÁ ÓÏÄÅÒÖÁÔØ ×ÓÅ ÎÅÏÂÈÏÄÉÍÙÅ ÉÎÓÔÒÕËÃÉÉ ÐÏ ÐÏÄÐÉÓËÅ. ëÏÇÄÁ ×Ù ÎÁÞÎÅÔÅ ÐÏÌÕÞÁÔØ ÏÂÎÏ×ÌÅÎÉÑ CTM ÐÏ ÐÏÞÔÅ, ÉÓÐÏÌØÚÕÊÔÅ ÐÒÏÇÒÁÍÍÕ ctm_rmail ÄÌÑ ÒÁÓÐÁËÏ×ËÉ É ÐÒÉÍÅÎÅÎÉÑ ÏÂÎÏ×ÌÅÎÉÊ. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÏÇÒÁÍÍÕ ctm_rmail ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÉÚ /etc/aliases, ÅÓÌÉ ÈÏÔÉÔÅ ÐÏÌÎÏÓÔØÀ Á×ÔÏÍÁÔÉÚÉÒÏ×ÁÔØ ÐÒÏÃÅÓÓ. ðÒÏÞÔÉÔÅ ÓÔÒÁÎÉÃÕ ÓÐÒÁ×ÏÞÎÉËÁ ctm_rmail Ó ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÅÊ. ÷ÎÅ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÓÐÏÓÏÂÁ ÐÏÌÕÞÅÎÉÑ ÄÅÌØÔÁ-ÆÁÊÌÏ× CTM, ×ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ ÐÏÄÐÉÓËÁ ÎÁ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ &a.ctm-announce.name;. ÷ ÂÕÄÕÝÅÍ ÜÔÏÔ ÓÐÉÓÏË ÓÔÁÎÅÔ ÅÄÉÎÓÔ×ÅÎÎÙÍ ÍÅÓÔÏÍ, ÇÄÅ ÂÕÄÕÔ ÁÎÏÎÓÉÒÏ×ÁÔØÓÑ ÏÐÅÒÁÃÉÉ, ÏÔÎÏÓÑÝÉÅÓÑ Ë ÓÉÓÔÅÍÅ CTM. îÁÖÍÉÔÅ ÎÁ ÓÓÙÌËÕ ×ÙÛÅ É ÓÌÅÄÕÊÔÅ ÉÎÓÔÒÕËÃÉÑÍ ÄÌÑ ÐÏÄÐÉÓËÉ ÎÁ ÜÔÕ ÒÁÓÓÙÌËÕ. éÓÐÏÌØÚÏ×ÁÎÉÅ <application>CTM</application> × ÐÅÒ×ÙÊ ÒÁÚ ðÅÒÅÄ ÔÅÍ, ËÁË ×Ù ÓÍÏÖÅÔÅ ÎÁÞÁÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÄÅÌØÔÁ-ÆÁÊÌÏ× CTM, ÐÏÔÒÅÂÕÅÔÓÑ ÏÐÒÅÄÅÌÉÔØ ÉÓÈÏÄÎÕÀ ÔÏÞËÕ ÄÌÑ ÐÏÓÌÅÄÕÀÝÅÇÏ ÉÈ ÐÒÉÍÅÎÅÎÉÑ. óÎÁÞÁÌÁ ÐÏÔÒÅÂÕÅÔÓÑ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÕÖÅ ÉÍÅÅÔÓÑ. ëÁÖÄÙÊ ÍÏÖÅÔ ÎÁÞÁÔØ Ó ÐÕÓÔÏÇÏ (empty) ËÁÔÁÌÏÇÁ. ÷Ù ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÅÌØÔÁ-ÆÁÊÌ Empty ÄÌÑ ÓÏÚÄÁÎÉÑ ÐÏÄÄÅÒÖÉ×ÁÅÍÏÇÏ CTM ÄÅÒÅ×Á. ðÌÁÎÉÒÕÅÔÓÑ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÅ ÓÔÁÒÔÏ×ÙÈ ÄÅÌØÔÁ-ÆÁÊÌÏ× ÎÁ CD, ÎÏ ÎÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÜÔÏ ÎÅ ÄÅÌÁÅÔÓÑ. ðÏÓËÏÌØËÕ ÄÅÒÅ×Ï ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× ÍÏÖÅÔ ÂÙÔØ ÏÂßÅÍÏÍ × ÄÅÓÑÔËÉ ÍÅÇÁÂÁÊÔ, ÐÒÅÄÐÏÞÔÉÔÅÌØÎÏ ÎÁÞÁÔØ Ó ËÁËÉÈ-ÔÏ ÕÖÅ ÉÍÅÀÝÉÈÓÑ ÔÅËÓÔÏ×. åÓÌÉ Õ ×ÁÓ ÅÓÔØ -RELEASE CD, ÒÁÓÐÁËÕÊÔÅ ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ Ó ÎÅÇÏ. üÔÏ ÓÎÉÚÉÔ ÏÂßÅÍ ÐÅÒÅÄÁ×ÁÅÍÙÈ ÄÁÎÎÙÈ. ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÏÚÎÁÔØ ÓÔÁÒÔÏ×ÙÊ ÄÅÌØÔÁ-ÆÁÊÌ ÐÏ ÓÉÍ×ÏÌÕ X, ÄÏÂÁ×ÌÑÅÍÏÍÕ Ë ÎÏÍÅÒÕ (ÎÁÐÒÉÍÅÒ, src-cur.3210XEmpty.gz). ïÂÏÚÎÁÞÅÎÉÅ ÐÅÒÅÄ X ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÉÍÅÀÝÉÍÓÑ ÉÓÈÏÄÎÙÍ ÔÅËÓÔÁÍ. Empty ÜÔÏ ÐÕÓÔÏÊ ËÁÔÁÌÏÇ. ëÁË ÐÒÁ×ÉÌÏ ÆÁÊÌ Ó Empty ÓÏÚÄÁÅÔÓÑ ÞÅÒÅÚ ËÁÖÄÙÅ 100 ÄÅÌØÔÁ-ÆÁÊÌÏ×. íÅÖÄÕ ÐÒÏÞÅÍ, ÜÔÉ ÆÁÊÌÙ ÂÏÌØÛÉÅ! ïÔ 70 ÄÏ ;) ÍÅÇÁÂÁÊÔ ÕÐÁËÏ×ÁÎÎÙÈ gzip ÄÁÎÎÙÈ ÜÔÏ ÏÂÙÞÎÙÊ ÒÁÚÍÅÒ ÄÌÑ XEmpty. ëÁË ÔÏÌØËÏ ×Ù ÐÏÌÕÞÉÌÉ ÏÓÎÏ×ÎÏÊ ÄÅÌØÔÁ-ÆÁÊÌ, ÐÏÔÒÅÂÕÀÔÓÑ ÔÁËÖÅ ×ÓÅ ÄÅÌØÔÁ-ÆÁÊÌÙ Ó ÐÏÓÌÅÄÕÀÝÉÍÉ ÎÏÍÅÒÁÍÉ. ðÏ×ÓÅÄÎÅ×ÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ <application>CTM</application> äÌÑ ÐÒÉÍÅÎÅÎÉÑ ÄÅÌØÔÁ-ÆÁÊÌÏ×, ÐÒÏÓÔÏ ×ÙÐÏÌÎÉÔÅ: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* CTM ÒÁÂÏÔÁÅÔ Ó ÄÅÌØÔÁ-ÆÁÊÌÁÍÉ, ÕÐÁËÏ×ÁÎÎÙÍÉ Ó ÐÏÍÏÝØÀ gzip, ÐÏÜÔÏÍÕ ×ÁÍ ÎÅ ÔÒÅÂÕÅÔÓÑ ÉÈ ÒÁÓÐÁËÏ×Ù×ÁÔØ. èÏÔÑ ×ÅÓØ ÐÒÏÃÅÓÓ ÄÏ×ÏÌØÎÏ ÂÅÚÏÐÁÓÅÎ, CTM ÎÅ ÂÕÄÅÔ ÉÚÍÅÎÑÔØ ÄÅÒÅ×Ï ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×. äÌÑ ÐÒÏ×ÅÒËÉ ÄÅÌØÔÁ-ÆÁÊÌÁ ×Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÆÌÁÇ , CTM ÔÏÌØËÏ ÐÒÏ×ÅÒÉÔ ÃÅÌÏÓÔÎÏÓÔØ ÄÅÌØÔÁ-ÆÁÊÌÁ Á ÔÁËÖÅ ÅÇÏ ÐÒÉÍÅÎÉÍÏÓÔØ Ë ÓÕÝÅÓÔ×ÕÀÝÉÍ ÉÓÈÏÄÎÙÍ ÔÅËÓÔÁÍ. üÔÏ ×ÓÅ. ëÁÖÄÙÊ ÒÁÚ ÐÏÓÌÅ ÐÏÌÕÞÅÎÉÑ ÄÅÌØÔÁ-ÆÁÊÌÁ, ÚÁÐÕÓËÁÊÔÅ CTM ÄÌÑ ÐÏÄÄÅÒÖÁÎÉÑ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× × ÁËÔÕÁÌØÎÏÍ ÓÏÓÔÏÑÎÉÉ. îÅ ÕÄÁÌÑÊÔÅ ÄÅÌØÔÁ-ÆÁÊÌÙ, ÅÓÌÉ ÉÈ ÓÌÏÖÎÏ ÚÁÇÒÕÚÉÔØ ÅÝÅ ÒÁÚ. ÷Ù ×ÏÚÍÏÖÎÏ ÚÁÈÏÔÉÔÅ ÓÏÈÒÁÎÉÔØ ÉÈ ÎÁ ×ÓÑËÉÊ ÓÌÕÞÁÊ. åÓÌÉ ×Ù ÍÏÖÅÔÅ ÓÏÈÒÁÎÉÔØ ÉÈ ÔÏÌØËÏ ÎÁ ÄÉÓËÅÔÅ, ÉÓÐÏÌØÚÕÊÔÅ ÄÌÑ ÓÏÚÄÁÎÉÑ ËÏÐÉÉ fdwrite. óÏÈÒÁÎÅÎÉÅ ÌÏËÁÌØÎÙÈ ÉÚÍÅÎÅÎÉÊ ëÁË ÒÁÚÒÁÂÏÔÞÉË ×Ù ×ÏÚÍÏÖÎÏ ÚÁÈÏÔÉÔÅ ÐÏÜËÓÐÅÒÉÍÅÎÔÉÒÏ×ÁÔØ É ÉÚÍÅÎÉÔØ ÆÁÊÌÙ × ÄÅÒÅ×Å ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×. CTM ÉÍÅÅÔ ÏÇÒÁÎÉÞÅÎÎÕÀ ÐÏÄÄÅÒÖËÕ ÌÏËÁÌØÎÙÈ ÉÚÍÅÎÅÎÉÊ: ÐÅÒÅÄ ÐÒÏ×ÅÒËÏÊ ÎÁÌÉÞÉÑ ÆÁÊÌÁ foo, ÓÎÁÞÁÌÁ ÐÒÏ×ÅÒÑÅÔÓÑ foo.ctm. åÓÌÉ ÏÎ ÐÒÉÓÕÔÓÔ×ÕÅÔ, CTM ÂÕÄÅÔ ÒÁÂÏÔÁÔØ Ó ÎÉÍ ×ÍÅÓÔÏ foo. ôÁËÏÅ ÐÏ×ÅÄÅÎÉÅ ÏÂÅÓÐÅÞÉ×ÁÅÔ ÐÒÏÓÔÏÊ ÐÕÔØ ÐÏÄÄÅÒÖËÉ ÌÏËÁÌØÎÙÈ ÉÚÍÅÎÅÎÉÊ: ÐÒÏÓÔÏ ÓËÏÐÉÒÕÊÔÅ ÆÁÊÌÙ, ËÏÔÏÒÙÅ ×Ù ÈÏÔÉÔÅ ÉÚÍÅÎÉÔØ, × ÆÁÊÌÙ Ó ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍÉ ÉÍÅÎÁÍÉ É ÓÕÆÆÉËÓÏÍ .ctm. ÷Ù ÍÏÖÅÔÅ Ó×ÏÂÏÄÎÏ ÉÚÍÅÎÑÔØ ËÏÄ, Á CTM ÂÕÄÅÔ ÐÏÄÄÅÒÖÉ×ÁÔØ ÆÁÊÌÙ .ctm × ÁËÔÕÁÌØÎÏÍ ÓÏÓÔÏÑÎÉÉ. äÒÕÇÉÅ ÉÎÔÅÒÅÓÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ <application>CTM</application> ïÐÒÅÄÅÌÅÎÉÅ ÆÁÊÌÏ×, ËÏÔÏÒÙÅ ÂÕÄÕÔ ÚÁÔÒÏÎÕÔÙ ÏÂÎÏ×ÌÅÎÉÅÍ ÷Ù ÍÏÖÅÔÅ ÏÐÒÅÄÅÌÉÔØ ÓÐÉÓÏË ÉÚÍÅÎÅÎÉÊ, ËÏÔÏÒÙÅ CTM ×ÎÅÓÅÔ × ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ, ÉÓÐÏÌØÚÕÑ ÐÁÒÁÍÅÔÒ CTM . üÔÏ ÐÏÌÅÚÎÏ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÏÄÄÅÒÖÉ×ÁÔØ ÌÏÇ ÉÚÍÅÎÅÎÉÊ, ×ÙÐÏÌÎÉÔØ ÐÒÅÄ×ÁÒÉÔÅÌØÎÕÀ ÉÌÉ ÐÏÓÌÅÄÕÀÝÕÀ ÏÂÒÁÂÏÔËÕ ÉÚÍÅÎÑÅÍÙÈ ÆÁÊÌÏ×, ÉÌÉ ÅÓÌÉ ×Ù ÐÒÏÓÔÏ ÎÅÍÎÏÇÏ ÐÁÒÁÎÏÉÄÁÌØÎÙ. óÏÚÄÁÎÉÅ ÒÅÚÅÒ×ÎÙÈ ËÏÐÉÊ ÐÅÒÅÄ ÏÂÎÏ×ÌÅÎÉÅÍ éÎÏÇÄÁ ×ÁÍ ÍÏÖÅÔ ÐÏÎÁÄÏÂÉÔØÓÑ ÓÄÅÌÁÔØ ÒÅÚÅÒ×ÎÙÅ ËÏÐÉÉ ×ÓÅÈ ÆÁÊÌÏ×, ËÏÔÏÒÙÅ ÂÕÄÕÔ ÉÚÍÅÎÅÎÙ CTM. ó ÐÁÒÁÍÅÔÒÏÍ CTM ×ÙÐÏÌÎÉÔ ÒÅÚÅÒ×ÎÏÅ ËÏÐÉÒÏ×ÁÎÉÅ ×ÓÅÈ ÉÚÍÅÎÑÅÍÙÈ ÄÅÌØÔÁ-ÆÁÊÌÏÍ CTM ÆÁÊÌÏ× × backup-file. ïÇÒÁÎÉÞÅÎÉÅ ÏÂÎÏ×ÌÅÎÉÊ ÄÌÑ ÏÐÒÅÄÅÌÅÎÎÙÈ ÆÁÊÌÏ× éÎÏÇÄÁ ÎÅÏÂÈÏÄÉÍÏ ÏÇÒÁÎÉÞÉÔØ ÎÁÂÏÒ ÆÁÊÌÏ×, ÏÂÎÏ×ÌÑÅÍÙÈ CTM, ÉÌÉ ÄÁÖÅ ÚÁÄÁÔØ ÏÂÎÏ×ÌÅÎÉÅ ÎÅÓËÏÌØËÉÈ ÏÐÒÅÄÅÌÅÎÎÙÈ ÆÁÊÌÏ×. ÷Ù ÍÏÖÅÔÅ ÕÐÒÁ×ÌÑÔØ ÓÐÉÓËÏÍ ÆÁÊÌÏ×, Ó ËÏÔÏÒÙÍÉ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ CTM, ÐÕÔÅÍ ÕËÁÚÁÎÉÑ ÆÉÌØÔÒÕÀÝÉÈ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ Ó ÐÁÒÁÍÅÔÒÁÍÉ É . îÁÐÒÉÍÅÒ, ÄÌÑ ÉÚ×ÌÅÞÅÎÉÑ Ó×ÅÖÅÊ ËÏÐÉÉ lib/libc/Makefile ÉÚ ËÏÌÌÅËÃÉÉ ÓÏÈÒÁÎÅÎÎÙÈ ÄÅÌØÔÁ-ÆÁÊÌÏ× CTM, ×ÙÐÏÌÎÉÔÅ ËÏÍÁÎÄÕ: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* äÌÑ ËÁÖÄÏÇÏ ÕËÁÚÁÎÎÏÇÏ CTM ÄÅÌØÔÁ-ÆÁÊÌÁ, ÐÁÒÁÍÅÔÒÙ É ÐÒÉÍÅÎÑÀÔÓÑ × ÐÏÒÑÄËÅ ÉÈ ÚÁÄÁÎÉÑ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ. æÁÊÌ ÏÂÒÁÂÁÔÙ×ÁÅÔÓÑ CTM ÔÏÌØËÏ ÅÓÌÉ ÏÎ ÐÏÍÅÞÁÅÔÓÑ ËÁË ÐÏÄÈÏÄÑÝÉÊ ÐÏÓÌÅ ÏÂÒÁÂÏÔËÉ ×ÓÅÈ ÐÁÒÁÍÅÔÒÏ× É . äÁÌØÎÅÊÛÉÅ ÐÌÁÎÙ ÄÌÑ <application>CTM</application> íÁÓÓÁ ÐÌÁÎÏ×: éÓÐÏÌØÚÏ×ÁÔØ ËÁËÏÊ-ÔÏ ÉÚ ×ÉÄÏ× ÁÕÔÅÎÔÉÆÉËÁÃÉÉ × ÓÉÓÔÅÍÅ CTM, ÐÏÚ×ÏÌÑÀÝÉÊ ÏÂÎÁÒÕÖÅÎÉÅ ÐÏÄÄÅÌØÎÙÈ ÄÁÔ CTM. äÏÒÁÂÏÔÁÔØ ÐÁÒÁÍÅÔÒÙ CTM, ÐÏÓËÏÌØËÕ ÏÎÉ ÍÏÇÕÔ ××ÅÓÔÉ × ÚÁÂÌÕÖÄÅÎÉÅ. òÁÚÎÏÅ óÕÝÅÓÔ×ÕÅÔ ÎÁÂÏÒ ÄÅÌØÔÁ-ÆÁÊÌÏ× É ÄÌÑ ËÏÌÌÅËÃÉÉ ports, ÎÏ ÉÎÔÅÒÅÓ Ë ÎÅÍÕ ÐÏËÁ ÎÅ ÔÁË ×ÙÓÏË. úÅÒËÁÌÁ CTM CTM/FreeBSD ÄÏÓÔÕÐÅÎ ÞÅÒÅÚ ÁÎÏÎÉÍÎÙÊ FTP Ó ÎÉÖÅÐÒÉ×ÅÄÅÎÎÙÈ ÚÅÒËÁÌ. åÓÌÉ ×Ù ×ÙÂÒÁÌÉ ÐÏÌÕÞÅÎÉÅ CTM ÞÅÒÅÚ ÁÎÏÎÉÍÎÙÊ FTP, ÉÓÐÏÌØÚÕÊÔÅ ÂÌÉÖÁÊÛÉÊ Ë ×ÁÍ ÓÅÒ×ÅÒ. ÷ ÓÌÕÞÁÅ ×ÏÚÎÉËÎÏ×ÅÎÉÑ ÐÒÏÂÌÅÍ ÏÂÒÁÔÉÔÅÓØ × ÓÐÉÓÏË ÒÁÓÓÙÌËÉ &a.ctm-users.name;. California, Bay Area, ÏÆÉÃÉÁÌØÎÙÊ ÉÓÔÏÞÎÉË South Africa, ÒÅÚÅÒ×ÎÙÊ ÓÅÒ×ÅÒ ÄÌÑ ÓÔÁÒÙÈ ÄÅÌØÔÁ-ÆÁÊÌÏ× Taiwan/R.O.C. åÓÌÉ ×Ù ÎÅ ÎÁÛÌÉ ÂÌÉÖÁÊÛÅÇÏ Ë ×ÁÍ ÚÅÒËÁÌÁ, ÉÌÉ ÚÅÒËÁÌÏ ÎÅÐÏÌÎÏ, ÐÏÐÒÏÂÕÊÔÅ ×ÏÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÏÉÓËÏÍ, ÎÁÐÒÉÍÅÒ alltheweb. éÓÐÏÌØÚÏ×ÁÎÉÅ CVSup ÷×ÅÄÅÎÉÅ CVSup ÜÔÏ ÐÁËÅÔ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ ÄÌÑ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ É ÏÂÎÏ×ÌÅÎÉÑ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× Ó ÏÓÎÏ×ÎÏÇÏ ÒÅÐÏÚÉÔÏÒÉÑ CVS ÎÁ ÕÄÁÌÅÎÎÏÍ ÓÅÒ×ÅÒÅ. éÓÈÏÄÎÙÅ ÔÅËÓÔÙ FreeBSD ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ × ÒÅÐÏÚÉÔÏÒÉÉ CVS ÎÁ ÃÅÎÔÒÁÌØÎÏÊ ÍÁÛÉÎÅ ÒÁÚÒÁÂÏÔËÉ × ëÁÌÉÆÏÒÎÉÉ. ó ÐÏÍÏÝØÀ CVSup ÐÏÌØÚÏ×ÁÔÅÌÉ FreeBSD ÌÅÇËÏ ÍÏÇÕÔ ÐÏÄÄÅÒÖÉ×ÁÔØ ÓÏÂÓÔ×ÅÎÎÙÅ ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ × ÁËÔÕÁÌØÎÏÍ ÓÏÓÔÏÑÎÉÉ. CVSup ÉÓÐÏÌØÚÕÅÔ ÔÁË ÎÁÚÙ×ÁÅÍÕÀ ÏÐÒÁÛÉ×ÁÀÝÕÀ (pull) ÍÏÄÅÌØ ÏÂÎÏ×ÌÅÎÉÑ. òÁÂÏÔÁÑ ÐÏ ÜÔÏÊ ÍÏÄÅÌÉ, ËÁÖÄÙÊ ËÌÉÅÎÔ ÚÁÐÒÁÛÉ×ÁÅÔ ÏÂÎÏ×ÌÅÎÉÑ Ó ÓÅÒ×ÅÒÁ, ÅÓÌÉ É ËÏÇÄÁ ÏÎÉ ÎÕÖÎÙ. óÅÒ×ÅÒ ÐÁÓÓÉ×ÎÏ ÏÖÉÄÁÅÔ ÚÁÐÒÏÓÙ ÎÁ ÏÂÎÏ×ÌÅÎÉÅ ÏÔ Ó×ÏÉÈ ËÌÉÅÎÔÏ×. ôÁËÉÍ ÏÂÒÁÚÏÍ, ×ÓÅ ÏÂÎÏ×ÌÅÎÉÑ ÉÎÉÃÉÉÒÕÀÔÓÑ ËÌÉÅÎÔÁÍÉ. óÅÒ×ÅÒ ÎÉËÏÇÄÁ ÎÅ ×ÙÓÙÌÁÅÔ ÎÅ ÚÁÐÒÏÛÅÎÎÙÅ ÏÂÎÏ×ÌÅÎÉÑ. ðÏÌØÚÏ×ÁÔÅÌØ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÏÂÎÏ×ÌÅÎÉÊ ÄÏÌÖÅÎ ÌÉÂÏ ÚÁÐÕÓÔÉÔØ CVSup ËÌÉÅÎÔÁ ×ÒÕÞÎÕÀ, ÌÉÂÏ ÄÏÂÁ×ÉÔØ ÚÁÄÁÎÉÅ × cron ÄÌÑ ÎÁÓÔÒÏÊËÉ ÐÅÒÉÏÄÉÞÅÓËÉÈ ÏÂÎÏ×ÌÅÎÉÊ × Á×ÔÏÍÁÔÉÞÅÓËÏÍ ÒÅÖÉÍÅ. ôÅÒÍÉÎ CVSup, ÎÁÐÉÓÁÎÎÙÊ Ó ÚÁÇÌÁ×ÎÙÍÉ ÂÕË×ÁÍÉ, ÏÚÎÁÞÁÅÔ ×ÅÓØ ÐÁËÅÔ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ. åÇÏ ÏÓÎÏ×ÎÙÅ ËÏÍÐÏÎÅÎÔÙ ÜÔÏ ËÌÉÅÎÔ cvsup, ÚÁÐÕÓËÁÅÍÙÊ ÎÁ ËÁÖÄÏÍ ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÍ ËÏÍÐØÀÔÅÒÅ, É ÓÅÒ×ÅÒ cvsupd, ÒÁÂÏÔÁÀÝÉÊ ÎÁ ËÁÖÄÏÍ ÚÅÒËÁÌÅ FreeBSD. ðÒÉ ÞÔÅÎÉÉ ÄÏËÕÍÅÎÔÁÃÉÉ FreeBSD É ÓÐÉÓËÏ× ÒÁÓÓÙÌËÉ ×Ù ÍÏÇÌÉ ×ÓÔÒÅÔÉÔØ ÕËÁÚÁÎÉÑ ÎÁ sup. Sup ÂÙÌ ÐÒÅÄÛÅÓÔ×ÅÎÎÉËÏÍ CVSup, É ×ÙÐÏÌÎÑÌ ÐÏÈÏÖÉÅ ÆÕÎËÃÉÉ. CVSup × ÏÓÎÏ×ÎÏÍ ÉÓÐÏÌØÚÕÅÔÓÑ ÔÅÍ ÖÅ ÓÐÏÓÏÂÏÍ, ÞÔÏ É sup, É, ÆÁËÔÉÞÅÓËÉ, ÉÓÐÏÌØÚÕÅÔ ÆÁÊÌÙ ÎÁÓÔÒÏÊËÉ, ÏÂÒÁÔÎÏ ÓÏ×ÍÅÓÔÉÍÙÅ Ó ÆÁÊÌÁÍÉ sup. Sup ÂÏÌÅÅ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÏÅËÔÏÍ FreeBSD, ÐÏÓËÏÌØËÕ CVSup É ÂÙÓÔÒÅÅ É ÂÏÌÅÅ ÇÉÂÏË. õÓÔÁÎÏ×ËÁ ðÒÏÓÔÅÊÛÉÊ ÓÐÏÓÏ ÕÓÔÁÎÏ×ËÉ CVSup ÜÔÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÒÅËÏÍÐÉÌÉÒÏ×ÁÎÎÏÇÏ ÐÁËÅÔÁ net/cvsup ÉÚ ËÏÌÌÅËÃÉÉ ÐÁËÅÔÏ× FreeBSD. åÓÌÉ ×Ù ÐÒÅÄÐÏÞÔÅÔÅ ÓÏÂÒÁÔØ CVSup ÉÚ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×, ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÍÅÓÔÏ ÜÔÏÇÏ ÐÏÒÔ net/cvsup. îÏ ÉÍÅÊÔÅ ××ÉÄÕ: ÐÏÒÔ net/cvsup ÚÁ×ÉÓÉÔ ÏÔ ÓÉÓÔÅÍÙ Modula-3, ËÏÔÏÒÏÊ ÐÏÔÒÅÂÕÅÔÓÑ ÓÕÝÅÓÔ×ÅÎÎÙÊ ÏÂßÅÍ ×ÒÅÍÅÎÉ É ÐÒÏÓÔÒÁÎÓÔ×Á ÎÁ ÄÉÓËÅ ÄÌÑ ÚÁÇÒÕÚËÉ É ÕÓÔÁÎÏ×ËÉ. åÓÌÉ ×Ù ÓÏÂÉÒÁÅÔÅÓØ ÉÓÐÏÌØÚÏ×ÁÔØ CVSup ÎÁ ËÏÍÐØÀÔÅÒÅ, ÇÄÅ ÎÅÔ ÕÓÔÁÎÏ×ÌÅÎÎÏÇÏ &xfree86; ÉÌÉ &xorg;, ÎÁÐÒÉÍÅÒ ÎÁ ÓÅÒ×ÅÒÅ, ÉÓÐÏÌØÚÕÊÔÅ ÐÏÒÔ, ÎÅ ×ËÌÀÞÁÀÝÉÊ CVSup GUI, net/cvsup-without-gui. îÁÓÔÒÏÊËÁ CVSup òÁÂÏÔÁ CVSup ËÏÎÔÒÏÌÉÒÕÅÔÓÑ ÆÁÊÌÏÍ ÎÁÓÔÒÏÊËÉ, ÎÁÚÙ×ÁÅÍÙÍ supfile. ÷ ËÁÔÁÌÏÇÅ /usr/share/examples/cvsup/ ÎÁÈÏÄÉÔÓÑ ÎÅÓËÏÌØËÏ ÐÒÉÍÅÒÏ× supfile. éÎÆÏÒÍÁÃÉÑ × supfile ÏÔ×ÅÞÁÅÔ ÎÁ ÓÌÅÄÕÀÝÉÅ ×ÏÐÒÏÓÙ CVSup: ëÁËÉÅ ÆÁÊÌÙ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ? ëÁËÉÅ ÉÈ ×ÅÒÓÉÉ ×ÁÍ ÎÕÖÎÙ? ïÔËÕÄÁ ×Ù ÈÏÔÉÔÅ ÉÈ ÐÏÌÕÞÉÔØ? çÄÅ ×Ù ÈÏÔÉÔÅ ÒÁÚÍÅÓÔÉÔØ ÉÈ ÎÁ Ó×ÏÅÍ ËÏÍÐØÀÔÅÒÅ? çÄÅ ×Ù ÈÏÔÉÔÅ ÒÁÚÍÅÓÔÉÔØ ÆÁÊÌÙ ÓÔÁÔÕÓÁ? ÷ ÓÌÅÄÕÀÝÉÈ ÒÁÚÄÅÌÁÈ ÍÙ ÓÏÓÔÁ×ÉÍ ÔÉÐÉÞÎÙÊ supfile ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÍ ÏÔ×ÅÔÏÍ ÎÁ ËÁÖÄÙÊ ÉÚ ÜÔÉÈ ×ÏÐÒÏÓÏ×. óÎÁÞÁÌÁ ÏÐÉÛÅÍ ÏÂÝÕÀ ÓÔÒÕËÔÕÒÕ supfile. supfile ÜÔÏ ÔÅËÓÔÏ×ÙÊ ÆÁÊÌ. ëÏÍÍÅÎÔÁÒÉÉ, ÎÁÞÉÎÁÀÝÉÅÓÑ Ó #, ÐÒÏÄÏÌÖÁÀÔÓÑ ÄÏ ËÏÎÃÁ ÓÔÒÏËÉ. ðÕÓÔÙÅ ÓÔÒÏËÉ É ÓÔÒÏËÉ, ÓÏÄÅÒÖÁÝÉÅ ÔÏÌØËÏ ËÏÍÍÅÎÔÁÒÉÉ, ÉÇÎÏÒÉÒÕÀÔÓÑ. ëÁÖÄÁÑ ÉÚ ÏÓÔÁ×ÛÉÈÓÑ ÓÔÒÏË ÏÐÉÓÙ×ÁÅÔ ÎÁÂÏÒ ÆÁÊÌÏ×, ÐÏÌÕÞÁÅÍÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÍ. óÔÒÏËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ÉÍÅÎÉ ËÏÌÌÅËÃÉÉ, ÌÏÇÉÞÅÓËÏÇÏ ÏÂßÅÄÉÎÅÎÉÑ ÆÁÊÌÏ×, ÏÐÒÅÄÅÌÑÅÍÙÈ ÓÅÒ×ÅÒÏÍ. éÍÑ ËÏÌÌÅËÃÉÉ ÇÏ×ÏÒÉÔ ÓÅÒ×ÅÒÕ Ï ÔÏÍ, ËÁËÉÅ ÆÁÊÌÙ ×ÁÍ ÎÕÖÎÙ. ðÏÓÌÅ ÉÍÅÎÉ ËÏÌÌÅËÃÉÉ ÓÌÅÄÕÀÔ ÏÄÎÏ ÉÌÉ ÂÏÌØÛÅ ÐÏÌÅÊ, ÒÁÚÄÅÌÅÎÎÙÈ ÐÒÏÂÅÌÏÍ. üÔÉ ÐÏÌÑ ÏÔ×ÅÞÁÀÔ ÎÁ ×ÏÐÒÏÓÙ, ÚÁÄÁÎÎÙÅ ×ÙÛÅ. åÓÔØ Ä×Á ÔÉÐÁ ÐÏÌÅÊ: ÆÌÁÇÉ É ÚÎÁÞÅÎÉÑ. ðÏÌÅ ÆÌÁÇÁ ÓÏÓÔÏÉÔ ÉÚ ÏÄÎÏÇÏ ËÌÀÞÅ×ÏÇÏ ÓÌÏ×Á, ÎÁÐÒÉÍÅÒ delete ÉÌÉ compress. ðÏÌÅ ÚÎÁÞÅÎÉÑ ÔÁËÖÅ ÎÁÞÉÎÁÅÔÓÑ Ó ËÌÀÞÅ×ÏÇÏ ÓÌÏ×Á, ÎÏ ÚÁ ÎÉÍ ÂÅÚ ÐÒÏÂÅÌÁ ÓÌÅÄÕÅÔ = É ×ÔÏÒÏÅ ÓÌÏ×Ï. îÁÐÒÉÍÅÒ, release=cvs ÜÔÏ ÐÏÌÅ ÚÎÁÞÅÎÉÑ. supfile ÏÂÙÞÎÏ ÚÁÄÁÅÔ ÐÏÌÕÞÅÎÉÅ ÂÏÌÅÅ ÏÄÎÏÊ ËÏÌÌÅËÃÉÉ. ïÄÎÉÍ ÉÚ ÓÐÏÓÏÂÏ× ÐÏÓÔÒÏÅÎÉÑ supfile Ñ×ÌÑÅÔÓÑ ÕËÁÚÁÎÉÅ ×ÓÅÈ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÐÏÌÅÊ ÄÌÑ ËÁÖÄÏÊ ËÏÌÌÅËÃÉÉ Ñ×ÎÏ. ïÄÎÁËÏ, ÜÔÏ ÐÒÉ×ÏÄÉÔ Ë ÐÏÑ×ÌÅÎÉÀ ÓÌÉÛËÏÍ ÄÌÉÎÎÙÈ ÓÔÒÏË × supfile É ÜÔÏ ÎÅÕÄÏÂÎÏ, ÐÏÓËÏÌØËÕ ÂÏÌØÛÉÎÓÔ×Ï ÐÏÌÅÊ ÏÄÉÎÁËÏ×Ù ÄÌÑ ×ÓÅÈ ËÏÌÌÅËÃÉÊ supfile. CVSup ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÍÅÈÁÎÉÚÍ ÚÁÄÁÎÉÑ ÚÎÁÞÅÎÉÊ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÕÓÔÒÁÎÅÎÉÑ ÜÔÉÈ ÐÒÏÂÌÅÍ. óÔÒÏËÉ, ÎÁÞÉÎÁÀÝÉÅÓÑ ÓÏ ÓÐÅÃÉÁÌØÎÏÇÏ ÉÍÅÎÉ ÐÓÅ×ÄÏ-ËÏÌÌÅËÃÉÉ *default, ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÆÌÁÇÏ× É ÚÎÁÞÅÎÉÊ, ËÏÔÏÒÙÅ ÐÏÓÌÕÖÁÔ ÚÎÁÞÅÎÉÑÍÉ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ×ÓÅÈ ÐÏÓÌÅÄÕÀÝÉÈ ËÏÌÌÅËÃÉÊ supfile. úÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÍÏÖÅÔ ÂÙÔØ ÐÅÒÅÚÁÐÉÓÁÎÏ ÄÌÑ ËÁÖÄÏÊ ÏÔÄÅÌØÎÏÊ ËÏÌÌÅËÃÉÉ ÐÕÔÅÍ ÕËÁÚÁÎÉÑ ÄÒÕÇÏÇÏ ÚÎÁÞÅÎÉÑ × ÅÅ ÓÏÂÓÔ×ÅÎÎÙÈ ÐÁÒÁÍÅÔÒÁÈ. úÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÔÁËÖÅ ÍÏÇÕÔ ÂÙÔØ ÉÚÍÅÎÅÎÙ ÉÌÉ ÒÁÓÛÉÒÅÎÙ × ÌÀÂÏÍ ÍÅÓÔÅ supfile ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ÓÔÒÏËÁÍÉ *default. ðÏÌÕÞÉ× ÜÔÕ ÉÎÆÏÒÍÁÃÉÀ, ÍÙ ÎÁÞÎÅÍ ÓÔÒÏÉÔØ supfile ÄÌÑ ÐÏÌÕÞÅÎÉÑ É ÏÂÎÏ×ÌÅÎÉÑ ÇÌÁ×ÎÏÇÏ ÄÅÒÅ×Á ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× FreeBSD-CURRENT. ëÁËÉÅ ÆÁÊÌÙ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ? æÁÊÌÙ, ÄÏÓÔÕÐÎÙÅ ÞÅÒÅÚ CVSup, ÏÒÇÁÎÉÚÏ×ÁÎÙ × ÉÍÅÎÏ×ÁÎÎÙÅ ÇÒÕÐÐÙ, ÎÁÚÙ×ÁÅÍÙÅ ËÏÌÌÅËÃÉÑÍÉ. äÏÓÔÕÐÎÙÅ ËÏÌÌÅËÃÉÉ ÏÐÉÓÁÎÙ × ÓÌÅÄÕÀÝÅÍ ÒÁÚÄÅÌÅ. ÷ ÜÔÏÍ ÐÒÉÍÅÒÅ ÍÙ ÐÏÌÕÞÉÍ ×ÓÅ ÄÅÒÅ×Ï ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× ÓÉÓÔÅÍÙ FreeBSD. óÕÝÅÓÔ×ÕÅÔ ÏÄÉÎÏÞÎÁÑ ÂÏÌØÛÁÑ ËÏÌÌÅËÃÉÑ src-all, ËÏÔÏÒÁÑ ÐÏÚ×ÏÌÉÔ ÎÁÍ ÓÄÅÌÁÔØ ÜÔÏ. ÷ ËÁÞÅÓÔ×Å ÐÅÒ×ÏÇÏ ÛÁÇÁ ÐÏ ÓÏÚÄÁÎÉÀ supfile, ÄÏÂÁ×ÉÍ ÓÐÉÓÏË ËÏÌÌÅËÃÉÊ, ÐÏ ÏÄÎÏÊ ÎÁ ÓÔÒÏËÕ (× ÎÁÛÅÍ ÓÌÕÞÁÅ, ÔÏÌØËÏ ÏÄÎÕ ÓÔÒÏËÕ): src-all ëÁËÉÅ ÉÈ ×ÅÒÓÉÉ ×ÁÍ ÎÕÖÎÙ? ó CVSup ×Ù × ÐÒÉÎÃÉÐÅ ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÌÀÂÕÀ ×ÅÒÓÉÀ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×, ËÏÔÏÒÁÑ ËÏÇÄÁ-ÌÉÂÏ ÓÕÝÅÓÔ×Ï×ÁÌÁ. üÔÏ ×ÏÚÍÏÖÎÏ, ÐÏÓËÏÌØËÕ cvsupd ÓÅÒ×ÅÒ ÒÁÂÏÔÁÅÔ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ Ó ÒÅÐÏÚÉÔÏÒÉÅÍ CVS, ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ×ÓÅ ×ÅÒÓÉÉ. ÷Ù ÕËÁÚÙ×ÁÅÔÅ ÔÕ, ËÏÔÏÒÁÑ ×ÁÍ ÎÕÖÎÁ, Ó ÐÏÍÏÝØÀ ÐÏÌÅÊ tag= É . âÕÄØÔÅ ÏÞÅÎØ ÏÓÔÏÒÏÖÎÙ ÐÒÉ ÚÁÄÁÎÉÉ ÌÀÂÙÈ ÐÏÌÅÊ tag=. îÅËÏÔÏÒÙÅ ÔÅÇÉ ÓÕÝÅÓÔ×ÕÀÔ ÔÏÌØËÏ × ÏÐÒÅÄÅÌÅÎÎÙÈ ËÏÌÌÅËÃÉÑÈ ÆÁÊÌÏ×. åÓÌÉ ×Ù ÕËÁÖÅÔÅ ÎÅËÏÒÒÅËÔÎÙÊ ÔÅÇ ÉÌÉ ÏÛÉÂÅÔÅÓØ × ÅÇÏ ÎÁÐÉÓÁÎÉÉ, CVSup ÕÄÁÌÉÔ ÆÁÊÌÙ, ËÏÔÏÒÙÅ ×Ù ×ÏÚÍÏÖÎÏ ÎÅ ÈÏÔÅÌÉ ÕÄÁÌÑÔØ. ÷ ÞÁÓÔÎÏÓÔÉ, ÉÓÐÏÌØÚÕÊÔÅ ÔÏÌØËÏ tag=. ÄÌÑ ËÏÌÌÅËÃÉÊ ports-*. ðÏÌÑ tag= ÏÚÎÁÞÁÀÔ ÓÉÍ×ÏÌØÎÙÅ ÉÍÅÎÁ × ÒÅÐÏÚÉÔÏÒÉÉ. óÕÝÅÓÔ×ÕÅÔ Ä×Á ×ÉÄÁ ÔÅÇÏ×, ÔÅÇÉ ÒÅ×ÉÚÉÊ É ÔÅÇÉ ×ÅÔ×ÅÊ. ôÅÇÉ ÒÅ×ÉÚÉÊ ÏÚÎÁÞÁÀÔ ÏÐÒÅÄÅÌÅÎÎÕÀ ÒÅ×ÉÚÉÀ. ïÎÉ ÎÅ ÍÅÎÑÀÔÓÑ ÓÏ ×ÒÅÍÅÎÅÍ. ôÅÇÉ ×ÅÔ×ÅÊ, Ó ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ, ÏÚÎÁÞÁÀÔ ÐÏÓÌÅÄÎÀÀ ÒÅ×ÉÚÉÀ ÚÁÄÁÎÎÏÊ ÌÉÎÉÉ ÒÁÚÒÁÂÏÔËÉ × ÌÀÂÏÊ ÍÏÍÅÎÔ ×ÒÅÍÅÎÉ. ðÏÓËÏÌØËÕ ÔÅÇ ×ÅÔ×É ÎÅ ÏÔÎÏÓÉÔÓÑ Ë ÏÐÒÅÄÅÌÅÎÎÏÊ ÒÅ×ÉÚÉÉ, ÏÎ ÍÏÖÅÔ ÏÚÎÁÞÁÔØ ÚÁ×ÔÒÁ ÞÔÏ-ÔÏ ÉÎÏÅ ÞÅÍ ÓÅÇÏÄÎÑ. ÓÏÄÅÒÖÉÔ ÔÅÇÉ ×ÅÔ×ÅÊ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÉÎÔÅÒÅÓÎÙ ÐÏÌØÚÏ×ÁÔÅÌÑÍ. ôÅÇ, ÕËÁÚÁÎÎÙÊ × ÆÁÊÌÅ ÎÁÓÔÒÏÊËÉ CVSup, ÄÏÌÖÅÎ ÐÒÅÄ×ÁÒÑÔØÓÑ ÓÔÒÏËÏÊ tag= (RELENG_4 ÐÒÅ×ÒÁÔÉÔÓÑ × tag=RELENG_4). ðÏÍÎÉÔÅ, ÞÔÏ ÄÌÑ ËÏÌÌÅËÃÉÉ ÐÏÒÔÏ× ÐÏÄÈÏÄÉÔ ÔÏÌØËÏ tag=.. âÕÄØÔÅ ÏÞÅÎØ ÏÓÔÏÒÏÖÎÙ ÐÒÉ ÎÁÂÏÒÅ ÉÍÅÎ ÔÅÇÏ×. CVSup ÎÅ ÍÏÖÅÔ ÏÔÌÉÞÉÔØ ÐÒÁ×ÉÌØÎÙÅ É ÎÅÐÒÁ×ÉÌØÎÙÅ ÔÅÇÉ. åÓÌÉ ×Ù ÎÅÐÒÁ×ÉÌØÎÏ ÎÁÂÅÒÅÔÅ ÔÅÇ, CVSup ÐÏ×ÅÄÅÔ ÓÅÂÑ ÔÁË, ËÁË ÅÓÌÉ ÂÙ ×Ù ÕËÁÚÁÌÉ ÔÅÇ, ÎÅ ÓÏÄÅÒÖÁÝÉÊ ÆÁÊÌÏ×. ÷ ÜÔÏÍ ÓÌÕÞÁÅ ÏÎ ÕÄÁÌÉÔ ÓÕÝÅÓÔ×ÕÀÝÉÅ ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ. ðÒÉ ÕËÁÚÁÎÉÉ ÔÅÇÁ ×ÅÔ×É ×Ù ÐÏÌÕÞÉÔÅ ÐÏÓÌÅÄÎÉÅ ×ÅÒÓÉÉ ÆÁÊÌÏ× ÜÔÏÊ ×ÅÔ×É ÒÁÚÒÁÂÏÔËÉ. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ ËÁËÕÀ-ÔÏ ÉÚ ÐÒÅÄÙÄÕÝÉÈ ×ÅÒÓÉÊ, ÓÄÅÌÁÊÔÅ ÜÔÏ ÕËÁÚÁ× ÄÁÔÕ × ÐÏÌÅ ÚÎÁÞÅÎÉÑ . óÔÒÁÎÉÃÁ ÓÐÒÁ×ÏÞÎÉËÁ &man.cvsup.1; ÏÐÉÓÙ×ÁÅÔ ËÁË ÓÄÅÌÁÔØ ÜÔÏ. ÷ ÎÁÛÅÍ ÐÒÉÍÅÒÅ ÍÙ ÈÏÔÉÍ ÐÏÌÕÞÉÔØ FreeBSD-CURRENT. íÙ ÄÏÂÁ×ÉÍ ÜÔÕ ÓÔÒÏËÕ × ÎÁÞÁÌÏ supfile: *default tag=. óÕÝÅÓÔ×ÕÅÔ ×ÁÖÎÙÊ ÓÐÅÃÉÁÌØÎÙÊ ÓÌÕÞÁÊ, ËÏÇÄÁ ÎÅ ÚÁÄÁÀÔÓÑ ÎÉ ÐÏÌÅ tag=, ÎÉ ÐÏÌÅ date=. ÷ ÜÔÏÍ ÓÌÕÞÁÅ ×Ù ÐÏÌÕÞÉÔÅ ÐÏÓÌÅÄÎÉÅ ×ÅÒÓÉÉ RCS ÆÁÊÌÏ× ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÉÚ CVS ÒÅÐÏÚÉÔÏÒÉÑ ÓÅÒ×ÅÒÁ ×ÍÅÓÔÏ ÐÏÌÕÞÅÎÉÑ ÏÐÒÅÄÅÌÅÎÎÏÊ ×ÅÒÓÉÉ. òÁÚÒÁÂÏÔÞÉËÉ ÏÂÙÞÎÏ ÐÒÅÄÐÏÞÉÔÁÀÔ ÜÔÏÔ ÓÐÏÓÏÂ. ðÏÄÄÅÒÖÉ×ÁÑ ËÏÐÉÀ ÒÅÐÏÚÉÔÏÒÉÑ × Ó×ÏÅÊ ÓÉÓÔÅÍÅ, ÏÎÉ ÐÏÌÕÞÁÀÔ ×ÏÚÍÏÖÎÏÓÔØ ÐÒÏÓÍÏÔÒÁ ÉÓÔÏÒÉÉ ÒÅ×ÉÚÉÊ É ÐÒÏ×ÅÒËÉ ÐÏÓÌÅÄÎÉÈ ×ÅÒÓÉÊ ÆÁÊÌÏ×. ïÄÎÁËÏ ÜÔÏ ÄÏÓÔÉÇÁÅÔÓÑ ÃÅÎÏÊ ÂÏÌØÛÅÇÏ ÚÁÎÉÍÁÅÍÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á. ïÔËÕÄÁ ×Ù ÈÏÔÉÔÅ ÉÈ ÐÏÌÕÞÉÔØ? íÙ ÉÓÐÏÌØÚÕÅÍ ÐÏÌÅ host= ÄÌÑ ÓÏÏÂÝÅÎÉÑ cvsup ÏÔËÕÄÁ ÚÁÂÉÒÁÔØ ÏÂÎÏ×ÌÅÎÉÑ. ðÏÄÏÊÄÅÔ ÌÀÂÏÅ ÉÚ CVSup ÚÅÒËÁÌ, ÈÏÔÑ ×Ù ÄÏÌÖÎÙ ÐÏÐÒÏÂÏ×ÁÔØ ×ÙÂÒÁÔØ ÂÌÉÖÁÊÛÅÅ Ë ×ÁÍ ÚÅÒËÁÌÏ. ÷ ÜÔÏÍ ÐÒÉÍÅÒÅ ÍÙ ÉÓÐÏÌØÚÕÅÍ ÎÅ ÓÕÝÅÓÔ×ÕÀÝÉÊ ÓÅÒ×ÅÒ, cvsup99.FreeBSD.org: *default host=cvsup99.FreeBSD.org ÷ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ ÐÏÄÓÔÁ×ÉÔØ ÁÄÒÅÓ ÏÄÎÏÇÏ ÉÚ ÓÕÝÅÓÔ×ÕÀÝÉÈ ÈÏÓÔÏ× ÐÅÒÅÄ ÚÁÐÕÓËÏÍ CVSup. ðÒÉ ËÁÖÄÏÍ ÚÁÐÕÓËÅ cvsup, ×Ù ÍÏÖÅÔÅ ÐÅÒÅÚÁÐÉÓÁÔØ ÎÁÓÔÒÏÊËÕ ÈÏÓÔÁ ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ, ÉÓÐÏÌØÚÕÑ ÐÁÒÁÍÅÔÒ . çÄÅ ×Ù ÈÏÔÉÔÅ ÒÁÚÍÅÓÔÉÔØ ÉÈ ÎÁ Ó×ÏÅÍ ËÏÍÐØÀÔÅÒÅ? ðÏÌÅ prefix= ÕËÁÚÙ×ÁÅÔ cvsup ÇÄÅ ÒÁÚÍÅÝÁÔØ ÐÏÌÕÞÁÅÍÙÅ ÆÁÊÌÙ. ÷ ÜÔÏÍ ÐÒÉÍÅÒÅ, ÍÙ ÐÏÍÅÓÔÉÍ ÆÁÊÌÙ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ × ÇÌÁ×ÎÏÅ ÄÅÒÅ×Ï ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×, /usr/src. ëÁÔÁÌÏÇ src ÕÖÅ ÐÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ × ËÏÌÌÅËÃÉÑÈ, ËÏÔÏÒÙÅ ÍÙ ÓÏÂÉÒÁÅÍÓÑ ÐÏÌÕÞÉÔØ, ÐÏÜÔÏÍÕ ËÏÒÒÅËÔÎÏÅ ÕËÁÚÁÎÉÅ ÔÁËÏ×Ï: *default prefix=/usr çÄÅ ×Ù ÈÏÔÉÔÅ ÒÁÚÍÅÓÔÉÔØ ÆÁÊÌÙ ÓÔÁÔÕÓÁ cvsup? ëÌÉÅÎÔ CVSup ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÐÒÅÄÅÌÅÎÎÙÅ ÆÁÊÌÙ ÓÔÁÔÕÓÁ × ÔÁË ÎÁÚÙ×ÁÅÍÏÍ base ËÁÔÁÌÏÇÅ. üÔÉ ÆÁÊÌÙ ÐÏÍÏÇÁÀÔ CVSup ÒÁÂÏÔÁÔØ ÂÏÌÅÅ ÜÆÆÅËÔÉ×ÎÏ ÐÕÔÅÍ ÐÏÄÄÅÒÖËÉ ÉÓÔÏÒÉÉ ÕÖÅ ÐÏÌÕÞÅÎÎÙÈ ÏÂÎÏ×ÌÅÎÉÊ. íÙ ÂÕÄÅÍ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÁÎÄÁÒÔÎÙÊ ËÁÔÁÌÏÇ base, /var/db: *default base=/var/db åÓÌÉ base ËÁÔÁÌÏÇ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, ÔÅÐÅÒØ ÐÏÄÈÏÄÑÝÉÊ ÍÏÍÅÎÔ ÄÌÑ ÅÇÏ ÓÏÚÄÁÎÉÑ. ëÌÉÅÎÔ cvsup ÎÅ ÚÁÐÕÓÔÉÔÓÑ, ÅÓÌÉ base ËÁÔÁÌÏÇ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. òÁÚÌÉÞÎÙÅ ÎÁÓÔÒÏÊËÉ supfile: óÕÝÅÓÔ×ÕÅÔ ÅÝÅ ÏÄÎÁ ÓÔÒÏËÁ, ËÏÔÏÒÁÑ ÏÂÙÞÎÏ ÄÏÌÖÎÁ ÐÒÉÓÕÔÓÔ×Ï×ÁÔØ × supfile: *default release=cvs delete use-rel-suffix compress release=cvs ÏÚÎÁÞÁÅÔ, ÞÔÏ ÓÅÒ×ÅÒ ÄÏÌÖÅÎ ÐÏÌÕÞÁÔØ ÉÎÆÏÒÍÁÃÉÀ ÉÚ ÇÌÁ×ÎÏÇÏ ÒÅÐÏÚÉÔÏÒÉÑ FreeBSD CVS. üÔÏ ÏÂÙÞÎÏ ×ÓÅÇÄÁ ÔÁË, ÎÏ ÓÕÝÅÓÔ×ÕÀÔ ÎÅÓËÏÌØËÏ ÉÎÙÈ ×ÁÒÉÁÎÔÏ×, ÉÚÌÏÖÅÎÉÅ ËÏÔÏÒÙÈ ×ÙÈÏÄÉÔ ÚÁ ÐÒÅÄÅÌÙ ÜÔÏÊ ÇÌÁ×Ù. delete ÄÁÅÔ CVSup ×ÏÚÍÏÖÎÏÓÔØ ÕÄÁÌÑÔØ ÆÁÊÌÙ. ÷Ù ÄÏÌÖÎÙ ×ÓÅÇÄÁ ÕËÁÚÙ×ÁÔØ ÜÔÏÔ ÐÁÒÁÍÅÔÒ, ÞÔÏÂÙ CVSup ÍÏÇ ÐÏÄÄÅÒÖÉ×ÁÔØ ÄÅÒÅ×Ï ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× ÐÏÌÎÏÓÔØÀ ÁËÔÕÁÌØÎÙÍ. CVSup ÕÄÁÌÉÔ ÔÏÌØËÏ ÔÅ ÆÁÊÌÙ, ÚÁ ËÏÔÏÒÙÅ ÏÔ×ÅÞÁÅÔ. ÷ÓÅ ÄÒÕÇÉÅ ÆÁÊÌÙ ÏÓÔÁÎÕÔÓÑ ÎÅÔÒÏÎÕÔÙÍÉ. use-rel-suffix ÜÔÏ ... ÍÉÓÔÉËÁ. åÓÌÉ ×Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÕÚÎÁÔØ Ï ÎÅÍ, ÏÂÒÁÔÉÔÅÓØ Ë ÓÔÒÁÎÉÃÅ ÓÐÒÁ×ÏÞÎÉËÁ &man.cvsup.1;. éÎÁÞÅ ÐÒÏÓÔÏ ÕËÁÖÉÔÅ ÜÔÏ ÐÏÌÅ É ÎÅ ÂÅÓÐÏËÏÊÔÅÓØ Ï ÎÅÍ ÂÏÌØÛÅ. compress ×ËÌÀÞÁÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ gzip ÓÖÁÔÉÑ ÐÒÉ ÐÅÒÅÄÁÞÅ ÄÁÎÎÙÈ. åÓÌÉ ×ÁÛÅ ÓÅÔÅ×ÏÅ ÐÏÄËÌÀÞÅÎÉÅ ÒÁÂÏÔÁÅÔ ÓÏ ÓËÏÒÏÓÔØÀ T1 ÉÌÉ ÂÙÓÔÒÅÅ, ×ÁÍ ×ÏÚÍÏÖÎÏ ÎÅ ÐÏÔÒÅÂÕÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÓÖÁÔÉÑ. éÎÁÞÅ ÏÎÏ ÏÂÙÞÎÏ ÐÏÍÏÇÁÅÔ. ÷ÓÅ ÜÔÏ ×ÍÅÓÔÅ: ÷ÏÔ ÐÏÌÎÙÊ supfile ÄÌÑ ÎÁÛÅÇÏ ÐÒÉÍÅÒÁ: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all æÁÊÌ <filename>refuse</filename> ëÁË ÕÐÏÍÑÎÕÔÏ ×ÙÛÅ, CVSup ÉÓÐÏÌØÚÕÅÔ ÍÅÔÏÄ ÏÐÒÏÓÁ. ÷ ÏÓÎÏ×ÎÏÍ ÜÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ×Ù ÐÏÄËÌÀÞÁÅÔÅÓØ Ë CVSup ÓÅÒ×ÅÒÕ, É ÏÎ ÇÏ×ÏÒÉÔ ÷ÏÔ ÔÏ, ÞÔÏ ×Ù ÍÏÖÅÔÅ ÚÁÇÒÕÚÉÔØ Ó ÍÅÎÑ..., É ËÌÉÅÎÔ ÏÔ×ÅÞÁÅÔ OK, Ñ ×ÏÚØÍÕ ÜÔÏ, ÜÔÏ É ÜÔÏ. ó ÎÁÓÔÒÏÊËÏÊ ÐÏ ÕÍÏÌÞÁÎÉÀ CVSup ËÌÉÅÎÔ ÚÁÂÅÒÅÔ ËÁÖÄÙÊ ÆÁÊÌ, Ó×ÑÚÁÎÎÙÊ Ó ËÏÌÌÅËÃÉÅÊ É ÔÅÇÏÍ, ×ÙÂÒÁÎÎÙÍ × ÆÁÊÌÅ ÎÁÓÔÒÏÊËÉ. ïÄÎÁËÏ, ÜÔÏ ÎÅ ×ÓÅÇÄÁ ÔÏ, ÞÔÏ ×ÁÍ ÎÕÖÎÏ, ÏÓÏÂÅÎÎÏ ÅÓÌÉ ×Ù ÓÉÎÈÒÏÎÉÚÉÒÕÅÔÅ ÄÅÒÅ×ØÑ doc, ports, ÉÌÉ www — ÂÏÌØÛÉÎÓÔ×Ï ÌÀÄÅÊ ÎÅ ÍÏÇÕÔ ÞÉÔÁÔØ ÎÁ ÐÑÔÉ ÉÌÉ ÞÅÔÙÒÅÈ ÑÚÙËÁÈ, É ÓÌÅÄÏ×ÁÔÅÌØÎÏ ÉÍ ÎÅ ÔÒÅÂÕÀÔÓÑ ÌÏËÁÌÉÚÏ×ÁÎÎÙÅ ÆÁÊÌÙ. åÓÌÉ ×Ù ÏÂÎÏ×ÌÑÅÔÅ ËÏÌÌÅËÃÉÀ ÐÏÒÔÏ×, ÜÔÏ ÍÏÖÎÏ ÏÂÏÊÔÉ ÐÕÔÅÍ ÉÎÄÉ×ÉÄÕÁÌØÎÏÇÏ ÕËÁÚÁÎÉÑ ËÁÖÄÏÊ ËÏÌÌÅËÃÉÉ (ÎÁÐÒÉÍÅÒ, ports-astrology, ports-biology É Ô.Ä. ×ÍÅÓÔÏ ËÏÌÌÅËÃÉÉ ports-all). ïÄÎÁËÏ, ÐÏÓËÏÌØËÕ ÄÌÑ ÄÅÒÅרÅ× doc É www ÎÅÔ ÓÐÅÃÉÆÉÞÎÙÈ ÄÌÑ ÑÚÙËÁ ËÏÌÌÅËÃÉÊ, ÉÓÐÏÌØÚÕÊÔÅ ÏÄÎÕ ÉÚ ÚÁÍÅÞÁÔÅÌØÎÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ CVSup: ÆÁÊÌ refuse. æÁÊÌ refuse ÇÏ×ÏÒÉÔ CVSup, ÞÔÏ ÏÎ ÎÅ ÄÏÌÖÅÎ ÚÁÂÉÒÁÔØ ËÁÖÄÙÊ ÆÁÊÌ ÉÚ ËÏÌÌÅËÃÉÉ; ÄÒÕÇÉÍÉ ÓÌÏ×ÁÍÉ, ÏÎ ÇÏ×ÏÒÉÔ ËÌÉÅÎÔÕ ÏÔËÁÚÁÔØÓÑ (refuse) ÏÔ ÐÏÌÕÞÅÎÉÑ Ó ÓÅÒ×ÅÒÁ ÏÐÒÅÄÅÌÅÎÎÙÈ ÆÁÊÌÏ×. æÁÊÌ refuse ÍÏÖÎÏ ÎÁÊÔÉ (ÉÌÉ, ÅÓÌÉ Õ ×ÁÓ ÅÇÏ ÅÝÅ ÎÅÔ, ÄÏÌÖÅÎ ÂÙÔØ ÐÏÍÅÝÅÎ) × base/sup/. base ÏÐÒÅÄÅÌÅÎ × ÆÁÊÌÅ supfile; ÎÁÛÅ ÓÔÁÎÄÁÒÔÎÏÅ ÒÁÓÐÏÌÏÖÅÎÉÅ base ÜÔÏ /var/db, ÞÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÐÏ ÕÍÏÌÞÁÎÉÀ ÆÁÊÌ refuse ÜÔÏ /var/db/sup/refuse. æÏÒÍÁÔ ÆÁÊÌÁ refuse ÏÞÅÎØ ÐÒÏÓÔ; ÏÎ ÓÏÄÅÒÖÉÔ ÉÍÅÎÁ ÆÁÊÌÏ× ÉÌÉ ËÁÔÁÌÏÇÏ×, ËÏÔÏÒÙÅ ×Ù ÎÅ ÈÏÔÉÔÅ ÚÁÇÒÕÖÁÔØ. îÁÐÒÉÍÅÒ, ÅÓÌÉ ×Ù ÎÅ ÍÏÖÅÔÅ ÒÁÚÇÏ×ÁÒÉ×ÁÔØ ÎÉ ÎÁ ËÁËÏÍ ÑÚÙËÅ ËÒÏÍÅ ÁÎÇÌÉÊÓËÏÇÏ É ÒÕÓÓËÏÇÏ, É ×Ù ÎÅ ÂÕÄÅÔÅ ÞÉÔÁÔØ ÄÏËÕÍÅÎÔÁÃÉÀ ÎÁ ÜÔÉÈ ÑÚÙËÁÈ, ÐÏÍÅÓÔÉÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ × ÆÁÊÌ refuse: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/sr_* doc/tr_* doc/zh_* É ÔÁË ÄÁÌÅÅ ÄÌÑ ÄÒÕÇÉÈ ÑÚÙËÏ× (ÐÏÌÎÙÊ ÓÐÉÓÏË ÎÁÈÏÄÉÔÓÑ ÎÁ ÓÔÒÁÎÉÃÅ FreeBSD CVS ÒÅÐÏÚÉÔÏÒÉÑ). ó ÜÔÏÊ ÏÞÅÎØ ÐÏÌÅÚÎÏÊ ×ÏÚÍÏÖÎÏÓÔØÀ ÐÏÌØÚÏ×ÁÔÅÌÉ Ó ÎÉÚËÏÓËÏÒÏÓÔÎÙÍ ÐÏÄËÌÀÞÅÎÉÅÍ ÉÌÉ Ó ÐÏÍÉÎÕÔÎÏÊ ÐÌÁÔÏÊ ÚÁ ÐÏÄËÌÀÞÅÎÉÅ ÓÍÏÇÕÔ ÓÏÈÒÁÎÉÔØ ×ÒÅÍÑ, ÐÏÓËÏÌØËÕ ÉÍ ÂÏÌÅÅ ÎÅ ÐÏÔÒÅÂÕÅÔÓÑ ÚÁÇÒÕÖÁÔØ ÆÁÊÌÙ, ËÏÔÏÒÙÅ ÏÎÉ ÎÉËÏÇÄÁ ÎÅ ÂÕÄÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ. úÁ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÅÊ Ï ÆÁÊÌÁÈ refuse É ÚÁÍÅÞÁÔÅÌØÎÙÈ ×ÏÚÍÏÖÎÏÓÔÑÈ CVSup, ÏÂÒÁÔÉÔÅÓØ Ë ÅÇÏ ÓÐÒÁ×ÏÞÎÏÊ ÓÔÒÁÎÉÃÅ. úÁÐÕÓË <application>CVSup</application> ôÅÐÅÒØ ×Ù ÇÏÔÏ×Ù Ë ÔÅÓÔÉÒÏ×ÁÎÉÀ ÏÂÎÏ×ÌÅÎÉÑ. ëÏÍÁÎÄÎÁÑ ÓÔÒÏËÁ ÄÌÑ ÜÔÏÇÏ ÏÞÅÎØ ÐÒÏÓÔÁ: &prompt.root; cvsup supfile ÇÄÅ supfile ÜÔÏ ËÏÎÅÞÎÏ ÉÍÑ supfile, ËÏÔÏÒÙÊ ÔÏÌØËÏ ÞÔÏ ÂÙÌ ÓÏÚÄÁÎ. ðÒÉ ÚÁÐÕÓËÅ ÐÏÄ X11, cvsup ÏÔÏÂÒÁÚÉÔ GUI ÉÎÔÅÒÆÅÊÓ Ó ÎÅÓËÏÌØËÉÍÉ ÐÏÌÅÚÎÙÍÉ ËÎÏÐËÁÍÉ. îÁÖÍÉÔÅ ËÎÏÐËÕ go É ÓÍÏÔÒÉÔÅ ÚÁ ÅÇÏ ÒÁÂÏÔÏÊ. ðÏÓËÏÌØËÕ × ÜÔÏÍ ÐÒÉÍÅÒÅ ÏÂÎÏ×ÌÑÅÔÓÑ ÓÕÝÅÓÔ×ÕÀÝÅÅ ÄÅÒÅ×Ï /usr/src ×ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ, ÚÁÐÕÓË ÐÒÏÇÒÁÍÍÙ ÉÚ ÐÏÄ root, ÞÔÏÂÙ Õ cvsup ÂÙÌÉ ÐÒÁ×Á, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ ÆÁÊÌÏ×. åÓÌÉ ÆÁÊÌ ÎÁÓÔÒÏÊËÉ ÔÏÌØËÏ ÞÔÏ ÓÏÚÄÁÎ, É ÜÔÁ ÐÒÏÇÒÁÍÍÁ ÒÁÎØÛÅ ÎÉËÏÇÄÁ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ, ÜÔÏ ÍÏÖÅÔ ÄÅÊÓÔ×Ï×ÁÔØ ×ÁÍ ÎÁ ÎÅÒ×Ù. åÓÔØ ÐÒÏÓÔÏÊ ÓÐÏÓÏ ÄÌÑ ÐÒÏÂÎÏÇÏ ÚÁÐÕÓËÁ ÂÅÚ ÚÁÔÒÁÇÉ×ÁÎÉÑ ×ÁÛÉÈ ÄÒÁÇÏÃÅÎÎÙÈ ÆÁÊÌÏ×. ðÒÏÓÔÏ ÓÏÚÄÁÊÔÅ ÇÄÅ-ÎÉÂÕÄØ ÐÕÓÔÏÊ ËÁÔÁÌÏÇ É ÐÏÍÅÓÔÉÔÅ ÅÇÏ × ËÁÞÅÓÔ×Å ÄÏÐÏÌÎÉÔÅÌØÎÏÇÏ ÁÒÇÕÍÅÎÔÁ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest õËÁÚÁÎÎÙÊ ËÁÔÁÌÏÇ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ × ËÁÞÅÓÔ×Å ÍÅÓÔÁ ÎÁÚÎÁÞÅÎÉÑ ×ÓÅÈ ÏÂÎÏ×ÌÅÎÉÊ. CVSup ÂÕÄÅÔ ÒÁÂÏÔÁÔØ Ó ÆÁÊÌÁÍÉ ÉÚ /usr/src, ÎÏ ÎÅ ÓÔÁÎÅÔ ÉÚÍÅÎÑÔØ ÉÌÉ ÕÄÁÌÑÔØ ÉÈ. ÷ÍÅÓÔÏ ÜÔÏÇÏ ×ÓÅ ÏÂÎÏ×ÌÅÎÉÑ ÆÁÊÌÏ× ÂÕÄÕÔ ÐÏÍÅÝÅÎÙ × /var/tmp/dest/usr/src. ðÒÉ ÚÁÐÕÓËÅ ÔÁËÉÍ ÓÐÏÓÏÂÏÍ CVSup ÏÓÔÁ×ÉÔ ÔÁËÖÅ ÎÅÐÒÉËÏÓÎÏ×ÅÎÎÙÍ ËÁÔÁÌÏÇ base. îÏ×ÙÅ ×ÅÒÓÉÉ ÜÔÉÈ ÆÁÊÌÏ× ÂÕÄÕÔ ÚÁÐÉÓÁÎÙ × ÕËÁÚÁÎÎÙÊ ËÁÔÁÌÏÇ. åÓÌÉ Õ ×ÁÓ ÅÓÔØ ÐÒÁ×Á ÎÁ ÞÔÅÎÉÅ ËÁÔÁÌÏÇÁ /usr/src, ×ÁÍ ÄÁÖÅ ÎÅ ÐÏÔÒÅÂÕÅÔÓÑ ÒÁÂÏÔÁÔØ ÐÏÄ root ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ ÐÒÏÂÎÏÇÏ ÏÂÎÏ×ÌÅÎÉÑ. åÓÌÉ ×Ù ÎÅ ÒÁÂÏÔÁÅÔÅ Ó X11 ÉÌÉ ÐÒÏÓÔÏ ÎÅ ÌÀÂÉÔÅ GUI, ÄÏÂÁרÔÅ ÎÁÂÏÒ ÐÁÒÁÍÅÔÒÏ× ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ ÐÒÉ ÚÁÐÕÓËÅ cvsup: &prompt.root; cvsup -g -L 2 supfile ðÁÒÁÍÅÔÒ ÕËÁÚÙ×ÁÅÔ CVSup ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ GUI. ïÎ ÄÅÊÓÔ×ÕÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÅÓÌÉ ×Ù ÎÅ ÒÁÂÏÔÁÅÔÅ ÐÏÄ X11, ÎÏ ÉÎÁÞÅ ×ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ ÅÇÏ ÕËÁÚÁÔØ. ðÁÒÁÍÅÔÒ ÕËÁÚÙ×ÁÅÔ CVSup ×Ù×ÏÄÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ËÁÖÄÏÍ ÐÒÏÉÚ×ÏÄÉÍÏÍ ÏÂÎÏ×ÌÅÎÉÉ. åÓÔØ ÔÒÉ ÕÒÏ×ÎÑ ÐÒÏÔÏËÏÌÉÒÏ×ÁÎÉÑ, ÏÔ ÄÏ . õÒÏ×ÅÎØ ÐÏ ÕÍÏÌÞÁÎÉÀ 0, ÞÔÏ ÏÚÎÁÞÁÅÔ ÐÏÌÎÏÅ ÏÔÓÕÔÓÔ×ÉÅ ÓÏÏÂÝÅÎÉÊ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÓÏÏÂÝÅÎÉÊ Ï ÏÛÉÂËÁÈ. äÏÓÔÕÐÎÏ ÍÎÏÖÅÓÔ×Ï ÄÒÕÇÉÈ ÐÁÒÁÍÅÔÒÏ×. äÌÑ ÐÏÌÕÞÅÎÉÑ ÉÈ ËÒÁÔËÏÇÏ ÓÐÉÓËÁ, ÎÁÂÅÒÉÔÅ cvsup -H. úÁ ÂÏÌÅÅ ÐÏÄÒÏÂÎÙÍ ÏÐÉÓÁÎÉÅÍ ÏÂÒÁÔÉÔÅÓØ Ë ÓÔÒÁÎÉÃÅ ÓÐÒÁ×ÏÞÎÉËÁ. ðÏÓÌÅ ÐÒÏ×ÅÒËÉ ÒÁÂÏÔÏÓÐÏÓÏÂÎÏÓÔÉ ÏÂÎÏ×ÌÅÎÉÊ ×Ù ÍÏÖÅÔÅ ÏÒÇÁÎÉÚÏ×ÁÔØ ÒÅÇÕÌÑÒÎÙÅ ÚÁÐÕÓËÉ CVSup Ó ÐÏÍÏÝØÀ &man.cron.8;. ïÞÅ×ÉÄÎÏ, ×Ù ÎÅ ÄÏÌÖÎÙ ÐÏÚ×ÏÌÑÔØ CVSup ÉÓÐÏÌØÚÏ×ÁÔØ GUI ÐÒÉ ÚÁÐÕÓËÅ ÉÚ &man.cron.8;. ëÏÌÌÅËÃÉÉ ÆÁÊÌÏ× <application>CVSup</application> ëÏÌÌÅËÃÉÉ ÆÁÊÌÏ×, ÄÏÓÔÕÐÎÙÅ ÞÅÒÅÚ CVSup, ÏÒÇÁÎÉÚÏ×ÁÎÙ ÉÅÒÁÒÈÉÞÅÓËÉ. óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÂÏÌØÛÉÈ ËÏÌÌÅËÃÉÊ, É ÏÎÉ ÒÁÚÄÅÌÅÎÙ ÎÁ ÎÅÓËÏÌØËÏ ÍÅÎØÛÉÈ ÐÏÄ-ËÏÌÌÅËÃÉÊ. ðÏÌÕÞÅÎÉÅ ÂÏÌØÛÏÊ ËÏÌÌÅËÃÉÉ ÜË×É×ÁÌÅÎÔÎÏ ÐÏÌÕÞÅÎÉÀ ËÁÖÄÏÊ ÉÚ ÅÅ ÐÏÄËÏÌÌÅËÃÉÉ. éÅÒÁÒÈÉÞÅÓËÉÅ ÏÔÎÏÛÅÎÉÑ ÍÅÖÄÕ ËÏÌÌÅËÃÉÑÍÉ ÏÔÒÁÖÁÀÔÓÑ ÐÕÔÅÍ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÏÔÓÔÕÐÏ× × ÓÐÉÓËÅ ÎÉÖÅ. îÁÉÂÏÌÅÅ ÉÓÐÏÌØÚÕÅÍÙÅ ËÏÌÌÅËÃÉÉ ÜÔÏ src-all, É ports-all. äÒÕÇÉÅ ËÏÌÌÅËÃÉÉ ÉÓÐÏÌØÚÕÀÔÓÑ ÎÅÂÏÌØÛÉÍÉ ÇÒÕÐÐÁÍÉ ÌÀÄÅÊ ÄÌÑ ÓÐÅÃÉÁÌØÎÙÈ ÃÅÌÅÊ É ÎÅËÏÔÏÒÙÅ ÓÁÊÔÙ ÚÅÒËÁÌ ÍÏÇÕÔ ÎÅ ÓÏÄÅÒÖÁÔØ ÉÈ ×ÓÅ. cvs-all release=cvs çÌÁ×ÎÙÊ FreeBSD CVS ÒÅÐÏÚÉÔÏÒÉÊ, ×ËÌÀÞÁÀÝÉÊ ËÒÉÐÔÏÇÒÁÆÉÞÅÓËÉÊ ËÏÄ. distrib release=cvs æÁÊÌÙ, ÏÔÎÏÓÑÝÉÅÓÑ Ë ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÀ É ÚÅÒËÁÌÉÒÏ×ÁÎÉÀ FreeBSD. doc-all release=cvs éÓÈÏÄÎÙÅ ÔÅËÓÔÙ òÕËÏ×ÏÄÓÔ×Á FreeBSD É ÄÒÕÇÏÊ ÄÏËÕÍÅÎÔÁÃÉÉ. ïÎÉ ÎÅ ×ËÌÀÞÁÀÔ ÆÁÊÌÙ ×ÅÂ-ÓÁÊÔÁ FreeBSD. ports-all release=cvs ëÏÌÌÅËÃÉÑ ÐÏÒÔÏ× FreeBSD. åÓÌÉ ×Ù ÎÅ ÈÏÔÉÔÅ ÏÂÎÏ×ÌÑÔØ ×ÓÀ ËÏÌÌÅËÃÉÀ ports-all (×ÓÅ ÄÅÒÅ×Ï ÐÏÒÔÏ×), Á ÔÏÌØËÏ ÏÄÎÕ ÉÚ ÐÏÄËÏÌÌÅËÃÉÊ, ÐÅÒÅÞÉÓÌÅÎÎÙÈ ÎÉÖÅ, ÕÂÅÄÉÔÅÓØ, ÞÔÏ ×Ù ËÁÖÄÙÊ ÒÁÚ ÏÂÎÏ×ÌÑÅÔÅ ÐÏÄËÏÌÌÅËÃÉÀ ports-base! ðÒÉ ÌÀÂÙÈ ÉÚÍÅÎÅÎÉÑÈ × ÉÎÆÒÁÓÔÒÕËÔÕÒÅ ÓÂÏÒËÉ ÐÏÒÔÏ× ÐÏÄËÏÌÌÅËÃÉÉ ports-base, ÏÎÉ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ÎÁÓÔÏÑÝÉÍÉ ÐÏÒÔÁÍÉ ÄÏ×ÏÌØÎÏ ÓËÏÒÏ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ÅÓÌÉ ×Ù ÏÂÎÏ×ÌÑÅÔÅ ÔÏÌØËÏ ÎÁÓÔÏÑÝÉÅ ÐÏÒÔÙ É ÏÎÉ ÉÓÐÏÌØÚÕÀÔ ÎÅËÏÔÏÒÙÅ ÎÏ×ÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, ÅÓÔØ ÂÏÌØÛÏÊ ÛÁÎÓ ÔÏÇÏ, ÞÔÏ ÉÈ ÓÂÏÒËÁ ÐÒÅÒ×ÅÔÓÑ Ó ÎÅÐÏÎÑÔÎÙÍ ÓÏÏÂÝÅÎÉÅÍ Ï ÏÛÉÂËÅ. óÁÍÏÅ ÐÅÒ×ÏÅ, ÞÔÏ ×Ù ÄÏÌÖÎÙ ÓÄÅÌÁÔØ, ÜÔÏ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÐÏÄËÏÌÌÅËÃÉÑ ports-base ÏÂÎÏ×ÌÅÎÁ. åÓÌÉ ×Ù ÎÁÍÅÒÅÎÙ ÐÏÓÔÒÏÉÔØ ÓÏÂÓÔ×ÅÎÎÙÊ ×ÁÒÉÁÎÔ ÆÁÊÌÁ ports/INDEX, ×Ù ÄÏÌÖÎÙ ÏÂÎÏ×ÉÔØ ËÏÌÌÅËÃÉÀ ports-all (ÐÏÌÎÏÅ ÄÅÒÅ×Ï ÐÏÒÔÏ×). ðÏÓÔÒÏÅÎÉÅ ÆÁÊÌÁ ports/INDEX Ó ÞÁÓÔØÀ ÄÅÒÅ×Á ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ, ÈÏÔÑ É ×ÏÚÍÏÖÎÏ. óÍ. ÔÁËÖÅ FAQ. ports-accessibility release=cvs ðï ÄÌÑ ÐÏÄÄÅÒÖËÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ó ÎÁÒÕÛÅÎÉÑÍÉ ÚÒÅÎÉÑ, ÓÌÕÈÁ É Ô.Ð. ports-arabic release=cvs ðÏÄÄÅÒÖËÁ ÁÒÁÂÓËÏÇÏ ÑÚÙËÁ. ports-archivers release=cvs áÒÈÉ×ÁÔÏÒÙ. ports-astro release=cvs ðÏÒÔÙ ÄÌÑ ÁÓÔÒÏÎÏÍÉÉ. ports-audio release=cvs ðÏÄÄÅÒÖËÁ Ú×ÕËÁ. ports-base release=cvs éÎÆÒÁÓÔÒÕËÔÕÒÁ ÓÂÏÒËÉ ÐÏÒÔÏ× - ÒÁÚÌÉÞÎÙÅ ÆÁÊÌÙ, ÒÁÓÐÏÌÏÖÅÎÎÙÅ × ÐÏÄËÁÔÁÌÏÇÁÈ Mk/ É Tools/ ËÁÔÁÌÏÇÁ /usr/ports. ðÏÖÁÌÕÊÓÔÁ, ÐÒÏÞÔÉÔÅ ×ÁÖÎÏÅ ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ ×ÙÛÅ: ×Ù ÄÏÌÖÎÙ ×ÓÅÇÄÁ ÏÂÎÏ×ÌÑÔØ ÜÔÕ ÐÏÄËÏÌÌÅËÃÉÀ, ÐÒÉ ËÁÖÄÏÍ ÏÂÎÏ×ÌÅÎÉÉ ÌÀÂÏÊ ÞÁÓÔÉ ËÏÌÌÅËÃÉÉ ÐÏÒÔÏ× FreeBSD! ports-benchmarks release=cvs éÚÍÅÒÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ. ports-biology release=cvs ðÒÏÇÒÁÍÍÙ ÄÌÑ ÂÉÏÌÏÇÉÉ. ports-cad release=cvs éÎÓÔÒÕÍÅÎÔÙ óáðò. ports-chinese release=cvs ðÏÄÄÅÒÖËÁ ËÉÔÁÊÓËÏÇÏ ÑÚÙËÁ. ports-comms release=cvs ëÏÍÍÕÎÉËÁÃÉÏÎÎÙÅ ÐÒÏÇÒÁÍÍÙ. ports-converters release=cvs ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ËÏÄÉÒÏ×ÏË. ports-databases release=cvs âÁÚÙ ÄÁÎÎÙÈ. ports-deskutils release=cvs ÷ÅÝÉ, ÉÓÐÏÌØÚÏ×Á×ÛÉÅÓÑ ÎÁ ÒÁÂÏÞÅÍ ÓÔÏÌÅ ÄÏ ÉÚÏÂÒÅÔÅÎÉÑ ËÏÍÐØÀÔÅÒÏ×. ports-devel release=cvs õÔÉÌÉÔÙ ÒÁÚÒÁÂÏÔËÉ. ports-dns release=cvs ðÒÏÇÒÁÍÍÙ, ÉÍÅÀÝÉÅ ÏÔÎÏÛÅÎÉÅ Ë DNS. ports-editors release=cvs òÅÄÁËÔÏÒÙ. ports-emulators release=cvs üÍÕÌÑÔÏÒÙ ÄÒÕÇÉÈ ÏÐÅÒÁÃÉÏÎÎÙÈ ÓÉÓÔÅÍ. ports-finance release=cvs æÉÎÁÎÓÏ×ÙÅ, ÒÁÓÞÅÔÎÙÅ É Ó×ÑÚÁÎÎÙÅ Ó ÎÉÍÉ ÐÒÉÌÏÖÅÎÉÑ. ports-ftp release=cvs ëÌÉÅÎÔÓËÉÅ É ÓÅÒ×ÅÒÎÙÅ ÕÔÉÌÉÔÙ FTP. ports-games release=cvs éÇÒÙ. ports-german release=cvs ðÏÄÄÅÒÖËÁ ÎÅÍÅÃËÏÇÏ ÑÚÙËÁ. ports-graphics release=cvs çÒÁÆÉÞÅÓËÉÅ ÕÔÉÌÉÔÙ. ports-hebrew release=cvs ðÏÄÄÅÒÖËÁ É×ÒÉÔÁ. ports-hungarian release=cvs ðÏÄÄÅÒÖËÁ ×ÅÎÇÅÒÓËÏÇÏ ÑÚÙËÁ. ports-irc release=cvs IRC ÕÔÉÌÉÔÙ. ports-japanese release=cvs ðÏÄÄÅÒÖËÁ ÑÐÏÎÓËÏÇÏ ÑÚÙËÁ. ports-java release=cvs &java; ÕÔÉÌÉÔÙ. ports-korean release=cvs ðÏÄÄÅÒÖËÁ ËÏÒÅÊÓËÏÇÏ ÑÚÙËÁ. ports-lang release=cvs ñÚÙËÉ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ. ports-mail release=cvs ðÏÞÔÏ×ÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ. ports-math release=cvs íÁÔÅÍÁÔÉÞÅÓËÉÅ ÐÒÏÇÒÁÍÍÙ. ports-mbone release=cvs ðÒÉÌÏÖÅÎÉÑ MBone. ports-misc release=cvs òÁÚÌÉÞÎÙÅ ÕÔÉÌÉÔÙ. ports-multimedia release=cvs íÕÌØÔÉÍÅÄÉÊÎÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ. ports-net release=cvs óÅÔÅ×ÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ. ports-net-im release=cvs ðÒÏÇÒÁÍÍÙ ÏÂÍÅÎÁ ÂÙÓÔÒÙÍÉ ÓÏÏÂÝÅÎÉÑÍÉ. ports-net-mgmt release=cvs ðï ÄÌÑ ÓÅÔÅ×ÏÇÏ ÕÐÒÁ×ÌÅÎÉÑ. ports-net-p2p release=cvs óÅÔÉ ËÌÉÅÎÔÓËÏÇÏ ÏÂÍÅÎÁ (peer-to-peer). ports-news release=cvs ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ ÎÏ×ÏÓÔÅÊ USENET. ports-palm release=cvs ðÒÏÇÒÁÍÍÎÁÑ ÐÏÄÄÅÒÖËÁ ÄÌÑ Palm. ports-polish release=cvs ðÏÄÄÅÒÖËÁ ÐÏÌØÓËÏÇÏ ÑÚÙËÁ. ports-portuguese release=cvs ðÏÄÄÅÒÖËÁ ÐÏÒÔÕÇÁÌØÓËÏÇÏ ÑÚÙËÁ. ports-print release=cvs ðÒÏÇÒÁÍÍÙ ÐÅÞÁÔÉ. ports-russian release=cvs ðÏÄÄÅÒÖËÁ ÒÕÓÓËÏÇÏ ÑÚÙËÁ. ports-science release=cvs îÁÕÞÎÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ. ports-security release=cvs õÔÉÌÉÔÙ ÂÅÚÏÐÁÓÎÏÓÔÉ. ports-shells release=cvs ïÂÏÌÏÞËÉ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ. ports-sysutils release=cvs óÉÓÔÅÍÎÙÅ ÕÔÉÌÉÔÙ. ports-textproc release=cvs õÔÉÌÉÔÙ ÏÂÒÁÂÏÔËÉ ÔÅËÓÔÁ (ÎÅ ×ËÌÀÞÁÀÔ ÎÁÓÔÏÌØÎÙÅ ÕÔÉÌÉÔÙ ÐÕÂÌÉËÁÃÉÉ). ports-ukrainian release=cvs ðÏÄÄÅÒÖËÁ ÕËÒÁÉÎÓËÏÇÏ ÑÚÙËÁ. ports-vietnamese release=cvs ðÏÄÄÅÒÖËÁ רÅÔÎÁÍÓËÏÇÏ ÑÚÙËÁ. ports-www release=cvs ðÒÏÇÒÁÍÍÙ, ÏÔÎÏÓÑÝÉÅÓÑ Ë World Wide Web. ports-x11 release=cvs ðÏÒÔÙ Ó ÐÏÄÄÅÒÖËÏÊ X window system. ports-x11-clocks release=cvs þÁÓÙ X11. ports-x11-fm release=cvs æÁÊÌÏ×ÙÅ ÍÅÎÅÄÖÅÒÙ X11. ports-x11-fonts release=cvs ûÒÉÆÔÙ É ÛÒÉÆÔÏ×ÙÅ ÕÔÉÌÉÔÙ X11. ports-x11-toolkits release=cvs ðÁËÅÔÙ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ ÄÌÑ X11. ports-x11-servers release=cvs óÅÒ×ÅÒÙ X11. ports-x11-themes release=cvs ôÅÍÙ X11. ports-x11-wm release=cvs ïËÏÎÎÙÅ ÍÅÎÅÄÖÅÒÙ X11. projects-all release=cvs éÓÈÏÄÎÙÅ ÔÅËÓÔÙ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÐÒÏÅËÔÏ× FreeBSD. src-all release=cvs ïÓÎÏ×ÎÙÅ ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ FreeBSD, ×ËÌÀÞÁÑ ËÒÉÐÔÏÇÒÁÆÉÞÅÓËÉÊ ËÏÄ. src-base release=cvs òÁÚÌÉÞÎÙÅ ÆÁÊÌÙ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÉÚ /usr/src. src-bin release=cvs õÔÉÌÉÔÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ × ÏÄÎÏÐÏÌØÚÏ×ÁÔÅÌØÓËÏÍ ÒÅÖÉÍÅ (/usr/src/bin). src-contrib release=cvs õÔÉÌÉÔÙ É ÂÉÂÌÉÏÔÅËÉ, ÚÁÉÍÓÔ×Ï×ÁÎÎÙÅ ÐÒÏÅËÔÏÍ FreeBSD, ÉÓÐÏÌØÚÕÀÔÓÑ ÐÏÞÔÉ ÂÅÚ ÍÏÄÉÆÉËÁÃÉÊ (/usr/src/contrib). src-crypto release=cvs ëÒÉÐÔÏÇÒÁÆÉÞÅÓËÉÅ ÕÔÉÌÉÔÙ É ÂÉÂÌÉÏÔÅËÉ, ÚÁÉÍÓÔ×Ï×ÁÎÎÙÅ ÐÒÏÅËÔÏÍ FreeBSD, ÉÓÐÏÌØÚÕÀÔÓÑ ÐÏÞÔÉ ÂÅÚ ÍÏÄÉÆÉËÁÃÉÊ (/usr/src/crypto). src-eBones release=cvs Kerberos É DES (/usr/src/eBones). îÅ ÉÓÐÏÌØÚÕÀÔÓÑ × ÔÅËÕÝÉÈ ÒÅÌÉÚÁÈ FreeBSD. src-etc release=cvs æÁÊÌÙ ÎÁÓÔÒÏÊËÉ ÓÉÓÔÅÍÙ (/usr/src/etc). src-games release=cvs éÇÒÙ (/usr/src/games). src-gnu release=cvs õÔÉÌÉÔÙ, ÐÏÐÁÄÁÀÝÉÅ ÐÏÄ GNU Public License (/usr/src/gnu). src-include release=cvs æÁÊÌÙ ÚÁÇÏÌÏ×ËÏ× (/usr/src/include). src-kerberos5 release=cvs ðÁËÅÔ ÂÅÚÏÐÁÓÎÏÓÔÉ Kerberos5 (/usr/src/kerberos5). src-kerberosIV release=cvs ðÁËÅÔ ÂÅÚÏÐÁÓÎÏÓÔÉ KerberosIV (/usr/src/kerberosIV). src-lib release=cvs âÉÂÌÉÏÔÅËÉ (/usr/src/lib). src-libexec release=cvs óÉÓÔÅÍÎÙÅ ÐÒÏÇÒÁÍÍÙ, ÏÂÙÞÎÏ ×ÙÐÏÌÎÑÅÍÙÅ ÄÒÕÇÉÍÉ ÐÒÏÇÒÁÍÍÁÍÉ (/usr/src/libexec). src-release release=cvs æÁÊÌÙ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÐÒÏÉÚ×ÏÄÓÔ×Á ÒÅÌÉÚÏ× FreeBSD (/usr/src/release). src-sbin release=cvs óÉÓÔÅÍÎÙÅ ÕÔÉÌÉÔÙ ÄÌÑ ÏÄÎÏÐÏÌØÚÏ×ÁÔÅÌØÓËÏÇÏ ÒÅÖÉÍÁ (/usr/src/sbin). src-secure release=cvs ëÒÉÐÔÏÇÒÁÆÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ É ËÏÍÁÎÄÙ (/usr/src/secure). src-share release=cvs æÁÊÌÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ÎÅÓËÏÌØËÉÍÉ ÓÉÓÔÅÍÁÍÉ (/usr/src/share). src-sys release=cvs ñÄÒÏ (/usr/src/sys). src-sys-crypto release=cvs ëÒÉÐÔÏÇÒÁÆÉÞÅÓËÉÊ ËÏÄ ÑÄÒÁ (/usr/src/sys/crypto). src-tools release=cvs òÁÚÌÉÞÎÙÅ ÉÎÓÔÒÕÍÅÎÔÙ ÄÌÑ ÐÏÄÄÅÒÖËÉ FreeBSD (/usr/src/tools). src-usrbin release=cvs ðÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÕÔÉÌÉÔÙ (/usr/src/usr.bin). src-usrsbin release=cvs óÉÓÔÅÍÎÙÅ ÕÔÉÌÉÔÙ (/usr/src/usr.sbin). www release=cvs éÓÈÏÄÎÙÅ ÔÅËÓÔÙ www ÓÁÊÔÁ FreeBSD. distrib release=self óÏÂÓÔ×ÅÎÎÙÅ ÆÁÊÌÙ ÎÁÓÔÒÏÊËÉ ÓÅÒ×ÅÒÁ CVSup. éÓÐÏÌØÚÕÀÔÓÑ ÚÅÒËÁÌÁÍÉ CVSup. gnats release=current âÁÚÁ ÄÁÎÎÙÈ ÏÔÓÌÅÖÉ×ÁÎÉÑ ÏÛÉÂÏË GNATS. mail-archive release=current áÒÈÉ× ÓÐÉÓËÏ× ÒÁÓÓÙÌËÉ FreeBSD. www release=current æÁÊÌÙ ÐÒÅÄÏÂÒÁÂÏÔËÉ WWW ÓÁÊÔÁ FreeBSD (ÎÅ ÉÓÈÏÄÎÙÅ ÆÁÊÌÙ). éÓÐÏÌØÚÕÀÔÓÑ ÚÅÒËÁÌÁÍÉ WWW. äÁÌØÎÅÊÛÁÑ ÉÎÆÏÒÍÁÃÉÑ CVSup FAQ É ÄÒÕÇÁÑ ÉÎÆÏÒÍÁÃÉÑ Ï CVSup ÎÁÈÏÄÉÔÓÑ ÎÁ äÏÍÁÛÎÅÊ ÓÔÒÁÎÉÃÅ CVSup. âÏÌØÛÁÑ ÞÁÓÔØ Ó×ÑÚÁÎÎÙÈ Ó FreeBSD ÏÂÓÕÖÄÅÎÉÊ CVSup ÐÒÏ×ÏÄÉÌÁÓØ × ÓÐÉÓËÅ ÒÁÓÓÙÌËÉ &a.hackers.name;. îÏ×ÙÅ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ ÁÎÏÎÓÉÒÕÀÔÓÑ ÚÄÅÓØ É × ÓÐÉÓËÅ ÒÁÓÓÙÌËÉ &a.announce.name;. ÷ÏÐÒÏÓÙ É ÓÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ ÁÄÒÅÓÕÊÔÅ Á×ÔÏÒÕ ÐÒÏÇÒÁÍÍÙ cvsup-bugs@polstra.com. úÅÒËÁÌÁ CVSup CVSup ÓÅÒ×ÅÒÙ ÄÌÑ FreeBSD ÒÁÂÏÔÁÀÔ ÎÁ ÓÌÅÄÕÀÝÉÈ ÓÁÊÔÁÈ: &chap.mirrors.cvsup.inc; éÓÐÏÌØÚÏ×ÁÎÉÅ Portsnap ÷×ÅÄÅÎÉÅ Portsnap — ÓÉÓÔÅÍÁ ÄÌÑ ÚÁÝÉÝÅÎÎÏÇÏ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ ÄÅÒÅ×Á ÐÏÒÔÏ× &os;. ðÒÉÍÅÒÎÏ ÒÁÚ × ÞÁÓ ÇÅÎÅÒÉÒÕÅÔÓÑ ÓÎÜÐÛÏÔ ÄÅÒÅ×Á ÐÏÒÔÏ×, ËÏÔÏÒÙÊ ÚÁÔÅÍ ÁÒÈÉ×ÉÒÕÅÔÓÑ É ÐÏÄÐÉÓÙ×ÁÅÔÓÑ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÄÐÉÓØÀ. ðÏÌÕÞÅÎÎÙÅ ÆÁÊÌÙ ÚÁÔÅÍ ÒÁÓÐÒÏÓÔÒÁÎÑÀÔÓÑ ÐÒÉ ÐÏÍÏÝÉ HTTP. ðÏÄÏÂÎÏ CVSup, portsnap ÉÓÐÏÌØÚÕÅÔ ÁËÔÉ×ÎÕÀ (pull) ÍÏÄÅÌØ ÏÂÎÏ×ÌÅÎÉÊ: ÕÐÁËÏ×ÁÎÎÏÅ É ÐÏÄÐÉÓÁÎÎÏÅ ÄÅÒÅ×Ï ÐÏÍÅÝÁÅÔÓÑ ÎÁ ×ÅÂ-ÓÅÒ×ÅÒ, ÏÔËÕÄÁ ÅÇÏ ÄÏÌÖÎÙ ÚÁÂÉÒÁÔØ ËÌÉÅÎÔÙ. ðÏÌØÚÏ×ÁÔÅÌØ ÄÏÌÖÅÎ ÌÉÂÏ ÚÁÐÕÓÔÉÔØ &man.portsnap.8; ×ÒÕÞÎÕÀ, ÞÔÏÂÙ ÐÏÌÕÞÉÔØ ÏÂÎÏ×ÌÅÎÉÑ, ÌÉÂÏ ÎÁÓÔÒÏÉÔØ ÐÅÒÉÏÄÉÞÅÓËÏÅ ÚÁÄÁÎÉÅ ÐÒÉ ÐÏÍÏÝÉ &man.cron.8;. ðÏ ÔÅÈÎÉÞÅÓËÉÍ ÐÒÉÞÉÎÁÍ Portsnap ÎÅ ÏÂÎÏ×ÌÑÅÔ ÏÓÎÏ×ÎÏÅ (ÖÉ×ÏÅ) ÄÅÒÅ×Ï ÐÏÒÔÏ× × ËÁÔÁÌÏÇÅ /usr/ports/, Á ÒÁÂÏÔÁÅÔ ÓÏ ÓÖÁÔÏÊ ËÏÐÉÅÊ ÄÅÒÅ×Á × ËÁÔÁÌÏÇÅ /var/db/portsnap/. ÷ÐÏÓÌÅÄÓÔ×ÉÉ ÜÔÁ ËÏÐÉÑ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ ÏÓÎÏ×ÎÏÇÏ ÄÅÒÅ×Á. åÓÌÉ Portsnap ÂÙÌ ÕÓÔÁÎÏ×ÌÅÎ ÉÚ ëÏÌÌÅËÃÉÉ ÐÏÒÔÏ× &os;, ËÁÔÁÌÏÇÏÍ ÄÌÑ ÓÎÜÐÛÏÔÏ× ÂÕÄÅÔ /usr/local/portsnap/, Á ÎÅ /var/db/portsnap/. õÓÔÁÎÏ×ËÁ &os; ÎÁÞÉÎÁÑ Ó ×ÅÒÓÉÉ 6.0 ÓÏÄÅÒÖÉÔ Portsnap × ÂÁÚÏ×ÏÊ ÐÏÓÔÁ×ËÅ ÓÉÓÔÅÍÙ. äÌÑ ÂÏÌÅÅ ÒÁÎÎÉÈ ÒÅÌÉÚÏ× &os; ÜÔÁ ÕÔÉÌÉÔÁ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÎÏ×ÌÅÎÁ ÉÚ ÐÏÒÔÁ sysutils/portsnap. ëÏÎÆÉÇÕÒÁÃÉÑ Portsnap ëÏÎÆÉÇÕÒÁÃÉÑ Portsnap ÏÐÉÓÙ×ÁÅÔÓÑ ÆÁÊÌÏÍ /etc/portsnap.conf. äÌÑ ÂÏÌØÛÉÎÓÔ×Á ÐÏÌØÚÏ×ÁÔÅÌÅÊ ×ÐÏÌÎÅ ÐÏÄÏÊÄÅÔ ËÏÎÆÉÇÕÒÁÃÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ; ÚÁ ÐÏÄÒÏÂÎÏÓÔÑÍÉ ÏÂÒÁÝÁÊÔÅÓØ Ë ÓÔÒÁÎÉÃÅ ÓÐÒÁ×ÏÞÎÉËÁ &man.portsnap.conf.5;. ðÒÉ ÕÓÔÁÎÏ×ËÅ Portsnap ÉÚ ëÏÌÌÅËÃÉÉ ÐÏÒÔÏ× ÉÓÐÏÌØÚÕÅÔÓÑ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ /usr/local/etc/portsnap.conf. ðÒÉ ÕÓÔÁÎÏ×ËÅ ÐÏÒÔÁ ÜÔÏÔ ÆÁÊÌ ÎÅ ÓÏÚÄÁÅÔÓÑ; ×ÁÍ ÎÕÖÎÏ ÓÏÚÄÁÔØ ÅÇÏ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ ËÏÍÁÎÄÏÊ &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf ðÅÒ×ÙÊ ÚÁÐÕÓË <application>Portsnap</application> ðÒÉ ÐÅÒ×ÏÍ ÚÁÐÕÓËÅ ÕÔÉÌÉÔÅ &man.portsnap.8; ÐÏÔÒÅÂÕÅÔÓÑ ÚÁÇÒÕÚÉÔØ ÕÐÁËÏ×ÁÎÎÙÊ ÓÎÜÐÛÏÔ ÐÏÌÎÏÇÏ ÄÅÒÅ×Á ÐÏÒÔÏ× × ËÁÔÁÌÏÇ /var/db/portsnap/ (/usr/local/portsnap/, ÅÓÌÉ Portsnap ÂÙÌ ÕÓÔÁÎÏ×ÌÅÎ ÉÚ ëÏÌÌÅËÃÉÉ ÐÏÒÔÏ×). îÁ ÎÁÞÁÌÏ 2006 ÇÏÄÁ ÒÁÚÍÅÒ ÓÎÜÐÛÏÔÁ ÓÏÓÔÁ×ÌÑÅÔ ÏËÏÌÏ 41 íâ. &prompt.root; portsnap fetch ðÏÓÌÅ ÚÁÇÒÕÚËÉ ÓÎÜÐÛÏÔÁ ÉÚ ÎÅÇÏ ÍÏÖÅÔ ÂÙÔØ ÒÁÚ×ÅÒÎÕÔÏ ÏÓÎÏ×ÎÏÅ ÄÅÒÅ×Ï ÐÏÒÔÏ×. üÔÏ ÎÅÏÂÈÏÄÉÍÏ, ÄÁÖÅ ÅÓÔØ ËÁÔÁÌÏÇ /usr/ports/ÚÁÐÏÌÎÅÎ ËÁËÉÍ-ÌÉÂÏ ÄÒÕÇÉÍ ÓÐÏÓÏÂÏÍ, ÎÁÐÒÉÍÅÒ ÐÒÉ ÐÏÍÏÝÉ CVSup, ÐÏÓËÏÌØËÕ ÐÏÚ×ÏÌÑÅÔ ÕÓÔÁÎÏ×ÉÔØ ÔÏÞËÕ ÏÔÓÞÅÔÁ, ÏÔ ËÏÔÏÒÏÊ portsnap ÂÕÄÅÔ ÏÐÒÅÄÅÌÑÔØ ÎÅÏÂÈÏÄÉÍÙÊ ÏÂßÅÍ ÉÚÍÅÎÅÎÉÊ. &prompt.root; portsnap extract ÷ ËÏÎÆÉÇÕÒÁÃÉÉ ÕÓÔÁÎÏ×ËÉ ÐÏ ÕÍÏÌÞÁÎÉÀ ËÁÔÁÌÏÇ /usr/ports ÎÅ ÓÏÚÄÁÎ. åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ &os; 6.0-RELEASE, ÓÏÚÄÁÊÔÅ ÅÇÏ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ ÐÅÒÅÄ ÐÅÒ×ÙÍ ÚÁÐÕÓËÏÍ ÕÔÉÌÉÔÙ portsnap. ÷ ÂÏÌÅÅ ÐÏÚÄÎÉÈ ×ÅÒÓÉÑÈ &os; ÉÌÉ × ×ÅÒÓÉÉ ÉÚ ÐÏÒÔÏ× Portsnap Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÚÄÁÓÔ ÅÇÏ ÐÒÉ ÐÅÒ×ÏÍ ×ÙÚÏ×Å. ïÂÎÏ×ÌÅÎÉÅ ÄÅÒÅ×Á ÐÏÒÔÏ× ðÏÓÌÅ ÔÏÇÏ ËÁË ÐÅÒ×ÏÎÁÞÁÌØÎÙÊ ÓÎÜÐÛÏÔ ÄÅÒÅ×Á ÐÏÒÔÏ× ÂÕÄÅÔ ÒÁÚ×ÅÒÎÕÔ × ËÁÔÁÌÏÇ /usr/ports/, ÏÂÎÏ×ÌÅÎÉÅ ÄÅÒÅ×Á ÐÏÒÔÏ× ÂÕÄÅÔ ÓÏÓÔÏÑÔØ ÉÚ Ä×ÕÈ ÛÁÇÏ×: ÚÁÇÒÕÚËÉ (fetch) ÏÂÎÏ×ÌÅÎÉÊ Ë ÕÐÁËÏ×ÁÎÎÏÍÕ ÓÎÜÐÛÏÔÕ É ÐÏÓÌÅÄÕÀÝÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ (update) ÏÓÎÏ×ÎÏÇÏ ÄÅÒÅ×Á. ïÂÁ ÛÁÇÁ ÍÏÇÕÔ ÂÙÔØ ×ÙÐÏÌÎÅÎÙ ÏÄÎÉÍ ÚÁÐÕÓËÏÍ portsnap: &prompt.root; portsnap fetch update îÅËÏÔÏÒÙÅ ÉÚ ÓÔÁÒÙÈ ×ÅÒÓÉÊ portsnap ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔ ÔÁËÏÊ ÓÉÎÔÁËÓÉÓ; × ÜÔÏÍ ÓÌÕÞÁÅ, ÉÓÐÏÌØÚÕÊÔÅ Ä×Å ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÅ ËÏÍÁÎÄÙ: &prompt.root; portsnap fetch &prompt.root; portsnap update úÁÐÕÓË portsnap ÉÚ cron äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÉÚÂÅÖÁÔØ ÐÒÏÂÌÅÍ Ó ÂÅÚÕÍÎÙÍÉ ÔÏÌÐÁÍÉ ËÌÉÅÎÔÏ×, ÏÄÎÏ×ÒÅÍÅÎÎÏ ÐÒÉÈÏÄÑÝÉÍÉ ÎÁ ÓÅÒ×ÅÒÁ Portsnap, ËÏÍÁÎÄÁ portsnap fetch ÎÅ ÚÁÐÕÓÔÉÔÓÑ ËÁË ÚÁÄÁÎÉÅ &man.cron.8;. äÌÑ ÒÁÂÏÔÙ ÉÚ cron ÐÒÅÄÎÁÚÎÁÞÅÎÁ ÓÐÅÃÉÁÌØÎÁÑ ËÏÍÁÎÄÁ portsnap cron, ËÏÔÏÒÁÑ ÐÅÒÅÄ ÚÁÇÒÕÚËÏÊ ÏÂÎÏ×ÌÅÎÉÊ ÏÖÉÄÁÅÔ ÓÌÕÞÁÊÎÏÅ ×ÒÅÍÑ ÄÏ 3600 ÓÅËÕÎÄ. ëÒÏÍÅ ÔÏÇÏ, ÎÁÓÔÏÑÔÅÌØÎÏ ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÚÁÐÕÓËÁÔØ ÉÚ cron ËÏÍÁÎÄÕ portsnap update, ÐÏÓËÏÌØËÕ ÐÒÉ ÐÅÒÅÓÅÞÅÎÉÉ Ó ÐÒÏÃÅÓÓÏÍ ÓÂÏÒËÉ ÉÌÉ ÕÓÔÁÎÏ×ËÉ ËÁËÏÇÏ-ÌÉÂÏ ÐÏÒÔÁ ÎÅÉÚÂÅÖÎÏ ×ÏÚÎÉËÎÅÔ ËÏÎÆÌÉËÔ. ó ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ, ÂÅÚÏÐÁÓÎÏ ÏÂÎÏ×ÉÔØ ÉÎÄÅËÓÎÙÊ ÆÁÊÌ INDEX, ÚÁÐÕÓÔÉ× portsnap -I update (ÒÁÚÕÍÅÅÔÓÑ, ËÏÍÁÎÄÕ portsnap update ÂÅÚ ËÌÀÞÁ ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ ÏÓÔÁ×ÛÅÊÓÑ ÞÁÓÔÉ ÄÅÒÅ×Á ÐÏÒÔÏ× ÐÒÉÄÅÔÓÑ ÚÁÐÕÓÔÉÔØ ×ÒÕÞÎÕÀ). äÌÑ ÅÖÅÄÎÅ×ÎÏÇÏ ÏÂÎÏ×ÌÅÎÉÑ ÕÐÁËÏ×ÁÎÎÏÇÏ ÓÎÜÐÛÏÔÁ É ÉÎÄÅËÓÎÏÇÏ ÆÁÊÌÁ ÐÒÉ ÐÏÍÏÝÉ portsnap É ÐÏÓÌÅÄÕÀÝÅÇÏ ÏÔÞÅÔÁ ÐÏÞÔÏÊ Ï ÕÓÔÁÒÅ×ÛÉÈ ÕÓÔÁÎÏ×ÌÅÎÎÙÈ ÐÁËÅÔÁÈ ÄÏÂÁרÔÅ × ×ÁÛ ÆÁÊÌ /etc/crontab ÓÔÒÏËÕ 0 3 * * * root portsnap -I cron update && pkg_version -vIL= åÓÌÉ ÓÉÓÔÅÍÎÙÅ ÞÁÓÙ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÙ × ÌÏËÁÌØÎÏÅ ×ÒÅÍÑ, ÐÏÖÁÌÕÊÓÔÁ, ÚÁÍÅÎÉÔÅ 3 ÎÁ ÓÌÕÞÁÊÎÏÅ ÞÉÓÌÏ ÍÅÖÄÕ 0 É 23, ÞÔÏÂÙ ÎÅ ÓÏÚÄÁ×ÁÔØ ÐÉËÏ×ÙÈ ÎÁÇÒÕÚÏË ÎÁ ÓÅÒ×ÅÒÙ portsnap. óÔÁÒÙÅ ×ÅÒÓÉÉ ÕÔÉÌÉÔÙ portsnap ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌÉ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ ÐÒÉ ÏÄÎÏÍ ÚÁÐÕÓËÅ (ÎÁÐÒÉÍÅÒ, cron update). åÓÌÉ ËÏÍÁÎÄÁ, ÕËÁÚÁÎÎÁÑ ×ÙÛÅ, ÎÅ ÓÒÁÂÏÔÁÅÔ, ÐÏÐÒÏÂÕÊÔÅ ÚÁÍÅÎÉÔØ portsnap -I cron update ÎÁ portsnap cron && portsnap -I update. ôÅÇÉ CVS ðÒÉ ÐÏÌÕÞÅÎÉÉ ÉÌÉ ÏÂÎÏ×ÌÅÎÉÉ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ cvs ÉÌÉ CVSup ÄÏÌÖÅÎ ÂÙÔØ ÕËÁÚÁÎ ÔÅÇ ÒÅ×ÉÚÉÉ ôÅÇ ÏÔÎÏÓÉÔÓÑ ÌÉÂÏ Ë ÏÐÒÅÄÅÌÅÎÎÏÊ ÌÉÎÉÉ ÒÁÚÒÁÂÏÔËÉ &os; ÌÉÂÏ Ë ÏÐÒÅÄÅÌÅÎÎÏÍÕ ÍÏÍÅÎÔÕ ×ÒÅÍÅÎÉ. ðÅÒ×ÙÊ ÔÉÐ ÎÁÚÙ×ÁÅÔÓÑ ÔÅÇÏÍ ×ÅÔ×É, ×ÔÏÒÏÊ ÔÉÐ ÎÁÚÙ×ÁÅÔÓÑ ÔÅÇÏÍ ÒÅÌÉÚÁ. ôÅÇÉ ×ÅÔ×ÅÊ ÷ÓÅ ÏÎÉ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ HEAD (ËÏÔÏÒÙÊ ×ÓÅÇÄÁ ÒÁÂÏÔÁÅÔ), ÏÔÎÏÓÑÔÓÑ ÔÏÌØËÏ Ë ÄÅÒÅ×Õ src/. äÅÒÅ×ØÑ ports/, doc/ É www/ ÎÅ ÉÍÅÀÔ ÔÅÇÏ× ×ÅÔ×ÅÊ. HEAD óÉÍ×ÏÌÉÞÅÓËÏÅ ÉÍÑ ÄÌÑ ÏÓÎÏ×ÎÏÊ ×ÅÔ×É ÒÁÚÒÁÂÏÔËÉ, FreeBSD-CURRENT. éÓÐÏÌØÚÕÅÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÅÓÌÉ ÔÅÇ ÎÅ ÕËÁÚÁÎ. ÷ CVSup, ÜÔÏÔ ÔÅÇ ÐÒÅÄÓÔÁ×ÌÅÎ ÓÉÍ×ÏÌÏÍ . (ÎÅ ÚÎÁË ÐÕÎËÔÕÁÃÉÉ, Á ÓÉÍ×ÏÌ .). ÷ CVS ÔÅÇ ÐÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÅÔÓÑ, ÅÓÌÉ ÔÅÇ ÎÅ ÕËÁÚÁÎ ×ÏÏÂÝÅ. ïÂÙÞÎÏ ÎÅ ÏÞÅÎØ ÈÏÒÏÛÅÊ ÉÄÅÅÊ Ñ×ÌÑÅÔÓÑ ÏÂÎÏ×ÌÅÎÉÅ ÄÏ CURRENT ÎÁ ÍÁÛÉÎÅ ÓÏ STABLE, ÔÏÌØËÏ ÅÓÌÉ ×Ù ÎÅ ÓÔÒÅÍÉÔÅÓØ ÉÍÅÎÎÏ Ë ÜÔÏÍÕ. RELENG_6 ÷ÅÔר ÒÁÚÒÁÂÏÔËÉ FreeBSD-6.X, ÉÚ×ÅÓÔÎÁÑ ÔÁËÖÅ ËÁË FreeBSD 6-STABLE. RELENG_6_1 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-6.1, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_6_0 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-6.0, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_5 ÷ÅÔר ÒÁÚÒÁÂÏÔËÉ FreeBSD-5.X, ÉÚ×ÅÓÔÎÁÑ ÔÁËÖÅ ËÁË FreeBSD 5-STABLE. RELENG_5_5 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-5.5, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_5_4 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-5.4, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_5_3 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-5.3, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_5_2 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-5.2 É FreeBSD-5.2.1, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_5_1 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-5.1, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_5_0 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-5.0, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_4 ÷ÅÔר ÒÁÚÒÁÂÏÔËÉ FreeBSD-4.X, ÉÚ×ÅÓÔÎÁÑ ÔÁËÖÅ ËÁË FreeBSD 4-STABLE. RELENG_4_11 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-4.11, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_4_10 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-4.10, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_4_9 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-4.9, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_4_8 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-4.8, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_4_7 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-4.7, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_4_6 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-4.6 É FreeBSD-4.6.2, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_4_5 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-4.5, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_4_4 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-4.4, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_4_3 ÷ÅÔר ÒÅÌÉÚÁ ÄÌÑ FreeBSD-4.3, ÉÓÐÏÌØÚÕÅÍÁÑ ÔÏÌØËÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ É ÄÒÕÇÉÈ ËÒÉÔÉÞÅÓËÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ. RELENG_3 ÷ÅÔר ÒÁÚÒÁÂÏÔËÉ ÄÌÑ FreeBSD-3.X, ÉÚ×ÅÓÔÎÁÑ ÔÁËÖÅ ËÁË 3.X-STABLE. RELENG_2_2 ÷ÅÔר ÒÁÚÒÁÂÏÔËÉ ÄÌÑ FreeBSD-2.2.X, ÉÚ×ÅÓÔÎÁÑ ÔÁËÖÅ ËÁË 2.2-STABLE. üÔÁ ×ÅÔר ÐÏ ÂÏÌØÛÅÊ ÞÁÓÔÉ ÕÓÔÁÒÅÌÁ. ôÅÇÉ ÒÅÌÉÚÏ× üÔÉ ÔÅÇÉ ÏÔÎÏÓÑÔÓÑ Ë ÏÐÒÅÄÅÌÅÎÎÙÍ ÍÏÍÅÎÔÁÍ ×ÒÅÍÅÎÉ, ËÏÇÄÁ ÂÙÌÉ ×ÙÐÕÝÅÎÙ ËÏÎËÒÅÔÎÙÅ ×ÅÒÓÉÉ &os;. ðÒÏÃÅÓÓ ×ÙÐÕÓËÁ ÒÅÌÉÚÏ× ÂÏÌÅÅ ÄÅÔÁÌØÎÏ ÄÏËÕÍÅÎÔÉÒÏ×ÁÎ × ÉÎÆÏÒÍÁÃÉÉ Ï ×ÙÐÕÓËÁÈ ÒÅÌÉÚÏ× É ÓÔÁÔØÅ Ï ÐÒÏÃÅÓÓÅ ÐÏÄÇÏÔÏ×ËÉ ÒÅÌÉÚÏ×. äÅÒÅ×Ï src ÉÓÐÏÌØÚÕÅÔ ÉÍÅÎÁ ÔÅÇÏ×, ÎÁÞÉÎÁÀÝÉÅÓÑ Ó RELENG_. äÅÒÅ×ØÑ ports É doc ÉÓÐÏÌØÚÕÀÔ ÔÅÇÉ, ÉÍÅÎÁ ËÏÔÏÒÙÈ ÎÁÞÉÎÁÀÔÓÑ Ó RELEASE. îÁËÏÎÅÃ, × ÄÅÒÅ×Å www ÎÅÔ ÓÐÅÃÉÁÌØÎÙÈ ÉÍÅÎ ÄÌÑ ÒÅÌÉÚÏ×. RELENG_6_1_0_RELEASE FreeBSD 6.1 RELENG_6_0_0_RELEASE FreeBSD 6.0 RELENG_5_5_0_RELEASE FreeBSD 5.5 RELENG_5_4_0_RELEASE FreeBSD 5.4 RELENG_4_11_0_RELEASE FreeBSD 4.11 RELENG_5_3_0_RELEASE FreeBSD 5.3 RELENG_4_10_0_RELEASE FreeBSD 4.10 RELENG_5_2_1_RELEASE FreeBSD 5.2.1 RELENG_5_2_0_RELEASE FreeBSD 5.2 RELENG_4_9_0_RELEASE FreeBSD 4.9 RELENG_5_1_0_RELEASE FreeBSD 5.1 RELENG_4_8_0_RELEASE FreeBSD 4.8 RELENG_5_0_0_RELEASE FreeBSD 5.0 RELENG_4_7_0_RELEASE FreeBSD 4.7 RELENG_4_6_2_RELEASE FreeBSD 4.6.2 RELENG_4_6_1_RELEASE FreeBSD 4.6.1 RELENG_4_6_0_RELEASE FreeBSD 4.6 RELENG_4_5_0_RELEASE FreeBSD 4.5 RELENG_4_4_0_RELEASE FreeBSD 4.4 RELENG_4_3_0_RELEASE FreeBSD 4.3 RELENG_4_2_0_RELEASE FreeBSD 4.2 RELENG_4_1_1_RELEASE FreeBSD 4.1.1 RELENG_4_1_0_RELEASE FreeBSD 4.1 RELENG_4_0_0_RELEASE FreeBSD 4.0 RELENG_3_5_0_RELEASE FreeBSD-3.5 RELENG_3_4_0_RELEASE FreeBSD-3.4 RELENG_3_3_0_RELEASE FreeBSD-3.3 RELENG_3_2_0_RELEASE FreeBSD-3.2 RELENG_3_1_0_RELEASE FreeBSD-3.1 RELENG_3_0_0_RELEASE FreeBSD-3.0 RELENG_2_2_8_RELEASE FreeBSD-2.2.8 RELENG_2_2_7_RELEASE FreeBSD-2.2.7 RELENG_2_2_6_RELEASE FreeBSD-2.2.6 RELENG_2_2_5_RELEASE FreeBSD-2.2.5 RELENG_2_2_2_RELEASE FreeBSD-2.2.2 RELENG_2_2_1_RELEASE FreeBSD-2.2.1 RELENG_2_2_0_RELEASE FreeBSD-2.2.0 AFS ÓÁÊÔÙ AFS ÓÅÒ×ÅÒÙ ÄÌÑ FreeBSD ÒÁÂÏÔÁÀÔ ÎÁ ÓÌÅÄÕÀÝÉÈ ÓÁÊÔÁÈ: û×ÅÃÉÑ þÁÓÔØ ÆÁÊÌÏ×: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se ïÔ×ÅÔÓÔ×ÅÎÎÙÊ ftp@stacken.kth.se rsync ÓÁÊÔÙ óÌÅÄÕÀÝÉÅ ÓÁÊÔÙ ÏÒÇÁÎÉÚÕÀÔ ÄÏÓÔÕÐ Ë FreeBSD ÞÅÒÅÚ ÐÒÏÔÏËÏÌ rsync õÔÉÌÉÔÁ rsync ÒÁÂÏÔÁÅÔ × ÏÓÎÏ×ÎÏÍ ÔÅÍ ÖÅ ÐÕÔÅÍ, ÞÔÏ É ËÏÍÁÎÄÁ &man.rcp.1;, ÎÏ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÂÏÌØÛÅ ÐÁÒÁÍÅÔÒÏ× É ÉÓÐÏÌØÚÕÅÔ ÐÒÏÔÏËÏÌ ÕÄÁÌÅÎÎÏÇÏ ÏÂÎÏ×ÌÅÎÉÑ rsync, ËÏÔÏÒÙÊ ÐÅÒÅÄÁÅÔ ÔÏÌØËÏ ÒÁÚÎÉÃÕ ÍÅÖÄÕ Ä×ÕÍÑ ÎÁÂÏÒÁÍÉ ÆÁÊÌÏ×, ÞÔÏ ÚÎÁÞÉÔÅÌØÎÏ ÐÏ×ÙÛÁÅÔ ÓËÏÒÏÓÔØ ÓÉÎÈÒÏÎÉÚÁÃÉÉ ÐÏ ÓÅÔÉ. üÔÏ ÏÓÏÂÅÎÎÏ ÐÏÌÅÚÎÏ, ÅÓÌÉ ×Ù ÐÏÄÄÅÒÖÉ×ÁÅÔÅ ÚÅÒËÁÌÏ ÓÅÒ×ÅÒÁ FreeBSD FTP, ÉÌÉ ÒÅÐÏÚÉÔÏÒÉÑ CVS. ðÁËÅÔ rsync ÄÏÓÔÕÐÅÎ ÄÌÑ ÍÎÏÇÉÈ ÏÐÅÒÁÃÉÏÎÎÙÈ ÓÉÓÔÅÍ, × FreeBSD ÉÓÐÏÌØÚÕÊÔÅ ÐÏÒÔ net/rsync ÉÌÉ ÐÁËÅÔ. þÅÛÓËÁÑ ÒÅÓÐÕÂÌÉËÁ rsync://ftp.cz.FreeBSD.org/ äÏÓÔÕÐÎÙÅ ËÏÌÌÅËÃÉÉ: ftp: þÁÓÔÉÞÎÏÅ ÚÅÒËÁÌÏ FreeBSD FTP ÓÅÒ×ÅÒÁ. FreeBSD: ðÏÌÎÏÅ ÚÅÒËÁÌÏ FreeBSD FTP ÓÅÒ×ÅÒÁ. çÅÒÍÁÎÉÑ rsync://grappa.unix-ag.uni-kl.de/ äÏÓÔÕÐÎÙÅ ÓÏÅÄÉÎÅÎÉÑ: freebsd-cvs: ðÏÌÎÙÊ FreeBSD CVS ÒÅÐÏÚÉÔÏÒÉÊ. üÔÏÔ ËÏÍÐØÀÔÅÒ ÐÏÍÉÍÏ ÐÒÏÞÉÈ ÔÁËÖÅ ÚÅÒËÁÌÉÒÕÅÔ CVS ÒÅÐÏÚÉÔÏÒÉÉ ÐÒÏÅËÔÏ× NetBSD É OpenBSD. îÉÄÅÒÌÁÎÄÙ rsync://ftp.nl.FreeBSD.org/ äÏÓÔÕÐÎÙÅ ËÏÌÌÅËÃÉÉ: vol/4/freebsd-core: ðÏÌÎÏÅ ÚÅÒËÁÌÏ FreeBSD FTP ÓÅÒ×ÅÒÁ. ÷ÅÌÉËÏÂÒÉÔÁÎÉÑ rsync://rsync.mirror.ac.uk/ äÏÓÔÕÐÎÙÅ ËÏÌÌÅËÃÉÉ: ftp.FreeBSD.org: ðÏÌÎÏÅ ÚÅÒËÁÌÏ FreeBSD FTP ÓÅÒ×ÅÒÁ. óÏÅÄÉÎÅÎÎÙÅ ûÔÁÔÙ áÍÅÒÉËÉ rsync://ftp-master.FreeBSD.org/ üÔÏÔ ÓÅÒ×ÅÒ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÏÌØËÏ ÏÓÎÏ×ÎÙÍÉ ÚÅÒËÁÌÁÍÉ FreeBSD. äÏÓÔÕÐÎÙÅ ËÏÌÌÅËÃÉÉ: FreeBSD: ïÓÎÏ×ÎÏÊ ÁÒÈÉ× FreeBSD FTP ÓÅÒ×ÅÒÁ. acl: ïÓÎÏ×ÎÏÊ ACL ÓÐÉÓÏË FreeBSD. rsync://ftp13.FreeBSD.org/ äÏÓÔÕÐÎÙÅ ËÏÌÌÅËÃÉÉ: FreeBSD: ðÏÌÎÏÅ ÚÅÒËÁÌÏ FreeBSD FTP ÓÅÒ×ÅÒÁ.
diff --git a/share/xml/freebsd.sch b/share/xml/freebsd.sch index 8b385077fe..7ada21d3fa 100644 --- a/share/xml/freebsd.sch +++ b/share/xml/freebsd.sch @@ -1,325 +1,322 @@ Image reference () cannot have an extension; the proper format is inferred by the output type to generate. Image reference () format must not be specified; it is inferred by the output type to generate. Filename () has role="directory"; use class="directory" Filename () has role="package"; use the package element Filename () has role="port"; use the package element with role="port" Filename () has role attribute set; consider a properly set class attribute Link () element must have a content; or use xref to auto-generate the linking text. Callouts with screenco are not supported; use screen and co instead. Callouts with programlistingco are not supported; use programlisting and co instead. Callouts on graphics are not supported. Invalid edition value (); must be either 'online' or "print". Invalid os value (); must be either 'freebsd8', 'freebsd9' or 'freebsd10'. There must be a title either in the the doc component () or in the info element. There must be exactly one title for a doc component (). You cannot use both colname and spanname attributes on table entries. - - The number of columns does not match the specified value (in section ). - Programlisting is not allowed in tables (in section ). The screen element is not allowed in tables (in section ). Footnote is not allowed in tables (in section ). Indexterm () is not allowed directly in question, place it into a concrete paragraph (in section ). Indexterm () is not allowed directly in answer, place it into a concrete paragraph (in section ). Indexterm () is not allowed directly in listitem, place it into a concrete paragraph (in section ). @linkend on firstterm must point to a glossentry. @linkend on footnoteref must point to a footnote. @linkend on glossterm must point to a glossentry. @linkend on synopfragmentref must point to a synopfragment. @otherterm on glosssee must point to a glossentry. @otherterm on glossseealso must point to a glossentry. A termdef must contain exactly one firstterm The number of seg elements must be the same as the number of segtitle elements in the parent segmentedlist The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. annotation must not occur in the descendants of annotation caution must not occur in the descendants of caution important must not occur in the descendants of caution note must not occur in the descendants of caution tip must not occur in the descendants of caution warning must not occur in the descendants of caution caution must not occur in the descendants of important important must not occur in the descendants of important note must not occur in the descendants of important tip must not occur in the descendants of important warning must not occur in the descendants of important caution must not occur in the descendants of note important must not occur in the descendants of note note must not occur in the descendants of note tip must not occur in the descendants of note warning must not occur in the descendants of note caution must not occur in the descendants of tip important must not occur in the descendants of tip note must not occur in the descendants of tip tip must not occur in the descendants of tip warning must not occur in the descendants of tip caution must not occur in the descendants of warning important must not occur in the descendants of warning note must not occur in the descendants of warning tip must not occur in the descendants of warning warning must not occur in the descendants of warning caution must not occur in the descendants of caption equation must not occur in the descendants of caption example must not occur in the descendants of caption figure must not occur in the descendants of caption important must not occur in the descendants of caption note must not occur in the descendants of caption sidebar must not occur in the descendants of caption table must not occur in the descendants of caption task must not occur in the descendants of caption tip must not occur in the descendants of caption warning must not occur in the descendants of caption caution must not occur in the descendants of equation equation must not occur in the descendants of equation example must not occur in the descendants of equation figure must not occur in the descendants of equation important must not occur in the descendants of equation note must not occur in the descendants of equation table must not occur in the descendants of equation tip must not occur in the descendants of equation warning must not occur in the descendants of equation caution must not occur in the descendants of example equation must not occur in the descendants of example example must not occur in the descendants of example figure must not occur in the descendants of example important must not occur in the descendants of example note must not occur in the descendants of example table must not occur in the descendants of example tip must not occur in the descendants of example warning must not occur in the descendants of example caution must not occur in the descendants of figure equation must not occur in the descendants of figure example must not occur in the descendants of figure figure must not occur in the descendants of figure important must not occur in the descendants of figure note must not occur in the descendants of figure table must not occur in the descendants of figure tip must not occur in the descendants of figure warning must not occur in the descendants of figure caution must not occur in the descendants of table equation must not occur in the descendants of table example must not occur in the descendants of table figure must not occur in the descendants of table important must not occur in the descendants of table informaltable must not occur in the descendants of table note must not occur in the descendants of table tip must not occur in the descendants of table warning must not occur in the descendants of table caution must not occur in the descendants of footnote epigraph must not occur in the descendants of footnote equation must not occur in the descendants of footnote example must not occur in the descendants of footnote figure must not occur in the descendants of footnote footnote must not occur in the descendants of footnote important must not occur in the descendants of footnote indexterm must not occur in the descendants of footnote note must not occur in the descendants of footnote sidebar must not occur in the descendants of footnote table must not occur in the descendants of footnote task must not occur in the descendants of footnote tip must not occur in the descendants of footnote warning must not occur in the descendants of footnote sidebar must not occur in the descendants of sidebar diff --git a/zh_CN.GB2312/articles/contributing/article.xml b/zh_CN.GB2312/articles/contributing/article.xml index c01f86f58a..9174bf39c7 100644 --- a/zh_CN.GB2312/articles/contributing/article.xml +++ b/zh_CN.GB2312/articles/contributing/article.xml @@ -1,507 +1,507 @@
Ϊ FreeBSD Ìṩ°ïÖú ÎÞÂÛÊÇ×÷Ϊ¸öÈË»¹ÊÇ×éÖ¯»ú¹¹£¬Èç¹ûÄúÏ£ÍûΪFreeBSDÏîÄ¿Ìṩ°ïÖú£¬ ¶¼¿ÉÒÔÔÚ±¾ÎÄÖÐÕÒµ½ºÏÊʵķ½·¨¡£ Jordan Hubbard Ô­Öø &tm-attrib.freebsd; &tm-attrib.ieee; &tm-attrib.general; $FreeBSD$ $FreeBSD$ ¹±Ï× ÄúÏ£Íû¸ø FreeBSD ÏîÄ¿×öµãʲôÂ𣿠̫ºÃÁË£¬ ÎÒÃÇ»¶Ó­Äú¡£ FreeBSD ÕýÊÇ ÒÀ¿¿ ¹ã´óÓû§µÄ¹±ÏײŵÃÒÔ·¢Õ¹×³´óµÄ¡£ ÎÒÃDz»½ö·Ç³£¸ÐлÄúËù×öµÄ¹±Ï×£¬¶øÇÒ£¬ÕâЩ¹¤×÷¶ÔÓÚ FreeBSD µÄ³ÖÐø·¢Õ¹Ò²ÖÁ¹ØÖØÒª¡£ Ò²ÐíÓëÄúÏëÏóµÄ²»Í¬£¬ Äú¼È²»±ØÊÇÒ»Ãû³öÉ«µÄ³ÌÐòÔ±£¬ Ò²ÎÞÐëºÍ FreeBSD ºËÐÄÍŶӳÉÔ±ÓкܺõÄ˽½»£¬ ÎÒÃÇ»áÒ»ÊÓͬÈʵĶԴýÄúµÄ¹¤×÷¡£ FreeBSD µÄ¿ª·¢ÈËÔ±±é²¼È«Çò£¬ ´ó¼Ò¼¼Êõר³¤¸÷Ò죬 ÄêÁä·Ö²¼Ò²·Ç³£¹ã·º¡£ ÿÌ죬 ÎÒÃǶ¼ÔÚÃæ¶Ô³ÖÐøÔö³¤µÄ¹¤×÷¶ø¿àÓÚûÓÐ×ã¹»µÄÈËÊÖ£¬ Òò´ËÎÒÃÇËæÊ±»¶Ó­ÄúµÄ°ïÖú¡£ FreeBSD ÏîÄ¿´¦ÀíµÄÊÇÒ»¸öÍêÕûµÄ²Ù×÷ϵͳ»·¾³£¬ ¶ø²»Ö»ÊÇÒ»¸öÄں˻òÊÇһЩÁãÉ¢µÄ¹¤¾ß°ü¡£ Òò´Ë£¬ ÎÒÃÇµÄ TODO ÈÎÎñÁбíÀï°üº¬¸÷ÖÖ¸÷ÑùµÄ¹¤×÷£¬ ´ÓÎĵµ¡¢Óû§²âÊÔ¡¢ÑÝʾ£¬ µ½ÏµÍ³°²×°³ÌÐòºÍ¸ß¶ÈרҵµÄÄں˿ª·¢¡£ Òò´ËÎÞÂÛÄúµÄ¼¼ÊõˮƽÈçºÎ£¬ ´ÓʺÎÖÖÁìÓò£¬ ¶¼¿ÉÒÔ°ïÖúÕâ¸öÏîÄ¿¡£ ÎÒÃǹÄÀø´ÓÊÂºÍ FreeBSD Ïà¹Ø¹¤×÷µÄÆóÒµºÍÎÒÃÇÁªÏµ¡£ ÄúÐèÒªÒ»Ð©ÌØÊâµÄÀ©Õ¹À´Ê¹ÄúµÄ²úÆ·ÔËתÆðÀ´Ã´£¿ Äú»á·¢ÏÖÎÒÃǺÜÀÖÒâ´ðÓ¦ÄúµÄÇëÇó£¬ ³ý·ÇÊÇÌØ±ðÏ¡Ææ¹Å¹ÖµÄ¡£ ÄúÊÇ·ñÕý´ÓÊÂÏà¹ØµÄÔöÖµÒµÎñ£¿ ÈÃÎÒÃÇÀ´°ïÖúÄú°É£¬ ÎÒÃÇÒ²Ðí¿ÉÒÔÔÚÆäÖеÄijЩ·½ÃæÏ໥Э×÷¡£ ×ÔÓÉÈí¼þÊÀ½çÕýÔÚŬÁ¦´òÆÆ¾ÉÓеĹØÓÚÈí¼þ¿ª·¢¡¢ ÏúÊÛºÍά»¤µÄ¿ò¿ò£¬ ÎÒÃÇÏ£Íû¿ÒÇëÄúÖÁÉÙÄܸøËüÒ»´Î»ú»á¡£ ÎÒÃǵÄÐèÇó ÏÂÃæÁгöÁËһЩÐèÒªÍê³ÉµÄÈÎÎñºÍ×ÓÏîÄ¿£¬ ËüÃÇ»ù±¾ÉÏ¿ÉÒÔ±»µÈͬÓÚ TODO(ÈÎÎñÁбí) ÁÐ±í£¬ ÒÔ¼°Óû§µÄÒªÇó¡£ ÕýÔÚ½øÐÐÖеķǿª·¢ÈÎÎñ ºÜ¶à²Î¼ÓFreeBSDÏîÄ¿µÄÈ˲»ÊdzÌÐòÔ±¡£ Õâ¸öÏîÄ¿ÀïÓÐÎĵµ×«Ð´Õß¡¢ ÍøÒ³Éè¼ÆÊ¦¡¢ ÒÔ¼°¼¼ÊõÖ§³ÖÈËÔ±¡£ ¶ÔÓÚÕâЩ־ԸÕßÀ´Ëµ£¬ ËûÃÇÖ»ÐèÒª¹±Ï×һЩʱ¼ä£¬ ²¢ÇÒ¾ßÓÐѧϰµÄÒâÔ¸¡£ Äú¿ÉÒÔ¾­³£Í¨¶ÁFAQºÍÊֲᣬ Èç¹ûÄú·¢ÏÖÁË·±ËöµÄ½âÊÍ£¬ »òÕßÊǹýʱµÄ֪ʶ£¬ ÉõÖÁÍêÈ«²»ÕýÈ·µÄµØ·½£¬ ¶¼Çë¸æËßÎÒÃÇ¡£ Èç¹ûÄúÄÜ˳ÊÖ°ÑËûÃǸĹýÀ´ÄǾ͸üºÃÁË (SGMLÆäʵ²¢²»ÄÑѧ£¬ µ«ÎÒÃÇÒ²²»·´¶ÔÄúÖ±½ÓÌá½» ASCII µÄ°æ±¾)¡£ °ïÖúÎÒÃÇ°Ñ FreeBSD Îĵµ·­Òë³ÉÄúµÄĸÓï¡£ Èç¹ûÄúµÄĸÓï°æ±¾ÒѾ­´æÔÚÁË£¬ ÄúÒ²¿ÉÒÔ·­ÒëһЩÆäËûµÄÎĵµ»òÕß¼ì²éÄÇЩÒÑÓеÄÎĵµÊÇ·ñÊÇ×îиüйýµÄ¡£ Äú¿ÉÒÔÏȼòµ¥¿´¿´ FreeBSD Îĵµ¼Æ»®ÖÐÓÐ¹Ø ·­ÒëµÄ³£¼ûÎÊÌâ¡£ ²Î¼Ó·­Ò빤×÷²¢²»ÊÇ˵ÄúÒª¹Â¾ü·ÜÕ½·­ÒëËùÓÐµÄ FreeBSD Îĵµ¡£ ×÷Ϊһ¸öÖ¾Ô¸Õߣ¬ ×ö¶àÉÙ¹¤×÷Íêȫȡ¾öÓÚÄúµÄÒâÔ¸¡£ Ò»µ©Ä³¸öÈË¿ªÊ¼·­ÒëÁË£¬ ÆäËûÈ˼¸ºõÒ»¶¨»á²ÎÓëµ½ÕâЩ¹¤×÷ÖÐÀ´¡£ Èç¹ûÄúÖ»ÓÐÓÐÏÞµÄʱ¼ä»òÕß¾«Á¦È¥·­Ò벿·ÖÎĵµ£¬ Äú¿ÉÒÔÊ×ÏÈÈ¥·­Òë°²×°Ö¸ÄÏ¡£ ÔĶÁ &a.questions; ²¢Å¼¶û¿´Ò»¿´ &ng.misc; (ÉõÖÁÓйæÂɵØÕâÑù×ö)¡£ Óë±ðÈË·ÖÏíÄúµÄרҵ֪ʶ£¬ ²¢°ïÖúËûÃǽâ¾öÎÊÌâÊÇÒ»¼þÁîÈËÓäÔõÄÊÂÇ飻 ÓÐЩʱºòÄúÉõÖÁ¿ÉÒÔÔÚÕâ¸ö¹ý³ÌÖÐѧµ½Ò»Ð©Ð¶«Î÷£¡ ÕâЩÂÛ̳ÓÐʱҲ»áΪÄúÌṩһЩÓмÛÖµµÄÖ÷Òâ¡£ ÕýÔÚ½øÐеĿª·¢ÈÎÎñ ÁÐÔÚÕâÀïµÄ´ó²¿·ÖÈÎÎñ¶¼ÐèÒªÄúͶÈë¿É¹ÛµÄʱ¼ä£¬ »òÕßÐèÒªÄúÔÚ FreeBSD Äں˷½ÃæÓзḻµÄ֪ʶ£¬ »òÕßÁ½Õß¶¼Òª¡£ µ±È»ÕâÀïÒ²ÓкܶàÖØÒªµÄÈÎÎñÒ²ÐíÄúÒ»¸ö ÖÜÄ©¿ª·¢ÈËÔ± ¾Í¿ÉÒÔ¸ÉÍê¡£ Èç¹ûÄúÕýÔÚÔËÐÐ FreeBSD-CURRENT °æ±¾²¢ÇÒÓÐÒ»Ìõ¸ßËÙµÄ Internet½ÓÈëÏß·£¬ Äú¿ÉÒÔ·ÃÎÊ current.FreeBSD.org£¬ ÕâÀïÿÌì»áÓÐÒ»¸öа汾 — Èç¹ûÄúÓпգ¬ Äú¿ÉÒÔ¸ôÈý²íÎ嵨ÏÂÔØÒ»·Ý²¢ÇÒ°²×°Ëü£¬ Æä¼äÈç¹û³öÁËʲôÎÊÌ⣬Çë¸æËßÎÒÃÇ¡£ ÔĶÁ &a.bugs;¡£ Äú¿ÉÄÜ»áΪÕâЩÎÊÌâÌṩ¾ßÓн¨ÉèÐÔÒâÒåµÄÆÀÂÛ£¬ »òÕß°ïæ²âÊÔһЩ²¹¶¡¡£ ´ËÍ⣬ ÄúÉõÖÁ¿ÉÒÔ³¢ÊÔÐÞÕýÆäÖеÄһЩÎÊÌâ¡£ Èç¹ûÄúÖªµÀÓÐһЩÐÞÕýÒѾ­ÔÚ -CURRENT Éϳɹ¦µØ½øÐУ¬ µ«ÔÚ¾­¹ýÒ»¶Îʱ¼äÖ®ºóÈÔȻûÓкϲ¢µ½ -STABLE (ͨ³£ÊÇ 2ÖÜ×óÓÒ)£¬ ¸øÏà¹ØµÄ committer ·¢Ò»·âÀñòµÄÌáʾÐÅ¡£ ½«µÚÈý·½Èí¼þ¼ÓÈëµ½Ô´´úÂëÖÐµÄ src/contrib Ŀ¼¡£ È·±£ src/contrib ÖеĴúÂëÊÇ×îÐ嵀 ÒÔ¸ü¸ßµÄ¾¯¸æ¼¶±ð¹¹½¨Ô´´úÂë (»òÒ»²¿·ÖÔ´´úÂë) ²¢ÇåÀíÕâЩ¾¯¸æ¡£ ¸üÐÂÄÇЩÔÚ ports ÖÐʹÓùýʱµÄ¶«Î÷£¬ ÀýÈç gets() »ò°üº¬ malloc.h Ëù²úÉúµÄ¾¯¸æ¡£ Èç¹ûÄúÖÆ×÷ÁË ports£¬ ²¢½øÐÐÁËһЩÕë¶Ô &os; µÄ¸Ä¶¯£¬ ½«ÄúµÄ²¹¶¡·¢»Ø¸øÔ­×÷Õß (ÕâÑùÏ´ÎÉý¼¶Ê±ÄúµÄ¹¤×÷»á±äµÃÇáËÉһЩ)¡£ »ñȡһ·ÝÕýʽµÄ±ê×¼£¬ Èç &posix; µÄ¸±±¾¡£ Äú¿ÉÒÔÔÚ FreeBSD C99 & POSIX ±ê׼˳ӦÏîÄ¿ ÍøÕ¾Éϵõ½Ïà¹ØµÄÁ´½Ó¡£ ½« FreeBSD µÄÐÐΪͬ±ê×¼½øÐбȽϡ£ Èç¹ûÓë±ê×¼²»Í¬£¬ ÌØ±ðÊÇÄÇЩϸ½ÚµØ·½µÄ΢С²îÒ죬 Çë·¢ËÍÒ»¸ö¹ØÓÚËüµÄ PR (ÎÊÌⱨ¸æ)¡£ Èç¹û¿ÉÄÜ£¬ ÇëÖ¸³öÈçºÎÐÞÕýËü£¬ ²¢Ëæ PR Ìá½»²¹¶¡¡£ Èç¹ûÄúÈÏΪ±ê×¼ÓÐÎÊÌ⣬ ÇëÏò±ê×¼»¯ÍÅÌåÒªÇó¶ÔÆä½øÐÐÖØÐµĿ¼ÂÇ¡£ ΪÕâ·ÝÁÐ±í½¨Òé¸ü¶àµÄÄÚÈÝ£¡ ²é¿´Õû¸ö PR Êý¾Ý¿â ÎÊÌⱨ¸æÊý¾Ý¿â FreeBSD PR Áбí չʾÁËËùÓе±Ç°´¦ÓÚ»îԾ״̬µÄÎÊÌⱨ¸æ£¬ ÒÔ¼°ÓÉ FreeBSD Óû§Ìá½»µÄ¸Ä½ø½¨Òé¡£ PR Êý¾Ý¿âͬʱ°üÀ¨ÁË¿ª·¢ÈËÔ±ºÍ·Ç¿ª·¢ÈËÔ±µÄÈÎÎñ¡£ ²é¿´ÄÇЩÉÐδ½â¾öµÄ PR£¬ ²¢¿´¿´ÊÇ·ñÓÐÄú¸ÐÐËȤµÄÈÎÎñ¡£ ÕâÆäÖпÉÄÜÓÐһЩÊǷdz£¼òµ¥µÄÎÊÌ⣬ Ö»ÐèÒª¿´Ò»¿´²¢È·ÈÏ PR ÊÇÕýÈ·µÄ¡£ ÁíÍâһЩ¿ÉÄÜ»á·Ç³£¸´ÔÓ£¬ »òÕßÍêȫûÓаüÀ¨ÈκÎÐÞÕý¡£ Ê×ÏÈ¿´Ò»¿´ÄÇЩ»¹Ã»ÓÐÈ˽ÓÊÖµÄ PR¡£ Èç¹û PR ÒѾ­·ÖÅ䏸ÁËÆäËüÈË£¬ µ«¿´ÆðÀ´ÊÇÄúÄܹ»´¦ÀíµÄ£¬ Äú¿ÉÒÔ¸øÄǸöÈË·¢ÐÅ£¬ ²¢Ñ¯ÎÊÄúÊÇ·ñ¿ÉÒÔÌṩ°ïÖú — ËûÃÇ¿ÉÄÜÒѾ­ÓÐÁ˿ɹ©²âÊԵIJ¹¶¡£¬ »òÓÐһЩ¿É¹©ÌÖÂÛµÄÒâ¼û¡£ ´Ó <quote>µã×Ó</quote> ÍøÒ³ÉÏÈÏÁìÏîÄ¿ &os; Ö¾Ô¸ÕßÏîÄ¿ºÍµã×ÓÇåµ¥ Ò²ÊÇÌṩ¸øÔ¸ÒâΪ &os; ÏîÄ¿×ö³ö¹±Ï×µÄÈËÃǵġ£ ÕâÕÅÇåµ¥Ò»Ö±ÔÚ±»¶¨ÆÚ¸üÐÂ×Å£¬ °üº¬Á˶ԳÌÐòÔ±ºÍ·Ç³ÌÐòÔ±ÓÐÓõÄÿ¸öÏîÄ¿µÄÐÅÏ¢¡£ ÈçºÎÌṩ°ïÖú °ïÖú¸Ä½øÏµÍ³»ù±¾ÉÏ¿ÉÒÔ·ÖΪ 5 Àࣺ ´íÎ󱨸æºÍÒ»°ãµÄ×¢½â ͨ³££¬ Ò»°ãÒâÒåÉ쵀 ¼¼ÊõÏë·¨ºÍ½¨ÒéÓ¦¸Ã·¢µ½ &a.hackers;¡£ ͬÑùµØ£¬ ¶ÔÓÚÕâЩ¶«Î÷ÓÐÐËȤµÄÈË (µ±È»£¬ ËûÃÇͬʱ»¹ÒªÄܹ»ÈÝÈÌ ´óÁ¿µÄ Óʼþ£¡) ¿ÉÒÔ¿¼ÂǶ©ÔÄ &a.hackers;¡£ ²Î¼û FreeBSD ʹÓÃÊÖ²á ÒÔÁË½â¹ØÓÚÕâ¸öÓʼþÁÐ±í£¬ ÒÔ¼°ÆäËüÓʼþÁбíµÄÏêϸÇé¿ö¡£ Èç¹ûÄú·¢ÏÖÁË bug »òÕßÏëÒªÌύijЩÐ޸ģ¬ Çëͨ¹ý &man.send-pr.1; ³ÌÐò»òʹÓà »ùÓÚ WEB µÄÌá½»Ò³Ãæ À´Ìá½»¡£ ÇëÊÔ×ÅÌîд bug ±¨¸æµÄÿһÏî¡£ Ò»°ãÀ´Ëµ£¬ ÎÒÃǽ¨ÒéÔÚ bug ±¨¸æÖÐÖ±½Ó¸½Éϲ¹¶¡£¬ ³ý·ÇËü³¬¹ýÁË 65KB¡£ Èç¹û²¹¶¡¿ÉÒÔÖ±½ÓÓ¦Óõ½Ô´´úÂëÉÏ£¬ Ôò½¨ÒéÄúÔÚ±¨¸æµÄ synopsis Ò»À¸Ð´ÉÏ [PATCH]¡£ ÔÚ¸½´ø²¹¶¡Ê±£¬ Çë ²»Òª ͨ¹ý¸´ÖƺÍÕ³ÌùÀ´½øÐУ¬ ÒòΪÕâÑù×ö»á°Ñ tab ±ä³É¿Õ¸ñ£¬ ½á¹û²¹¶¡ºÜ¿ÉÄܾͲ»ÄÜÓÃÁË¡£ Èç¹û²¹¶¡³¬¹ý 20KB ºÜ¶à£¬ Ó¦¿¼Âǽ«ÆäѹËõ (ÀýÈçʹÓà &man.gzip.1; »ò &man.bzip2.1;) Ö®ºóÓà &man.uuencode.1; ½øÐбàÂëÖ®ºóÔٷŽøÄúµÄÎÊÌⱨ¸æÖС£ Ò»µ©±¨¸æ±»´æµµ£¬ Äú»áÊÕµ½Ò»·âÈ·ÈÏÓʼþÒÔ¼°Ò»¸öʼþ×·×Ù±àºÅ¡£ Çë±£ÁôÕâ¸ö±àºÅ£¬ ÒòΪÄú¿ÉÒÔÔÚÖ®ºóʹÓÃÕâ¸ö±àºÅ£¬ ·¢Óʼþµ½ &a.bugfollowup; À´Ìṩ¹ØÓÚ¸ÃʼþµÄ½øÒ»²½ÐÅÏ¢¡£ ÄúÐèÒª×öµÄÊǽ«±àºÅ·Åµ½ÓʼþµÄ±êÌâÖУ¬ ÀýÈç "Re: kern/3377"¡£ ¹ØÓÚͬһÎÊÌâ¸ü½øÒ»²½µÄÇé¿öÓ¦¸Ãͨ¹ýÕâÖÖ·½Ê½À´Ìá½»¡£ Èç¹ûÄúÔÚÒ»¶Îʱ¼äÖ®ºóÈÔȻûÓÐÊÕµ½È·ÈÏÐÅ (³¬¹ý 3 ÌìÉõÖÁ 1 ÖÜ£¬ ÕâÈ¡¾öÓÚÄúµÄÓʼþ·þÎñ) »òÕßÓÉÓÚijÖÖÔ­ÒòÎÞ·¨Ê¹Óà &man.send-pr.1; ÃüÁ Ôò¿ÉÒÔ·¢ÐŸø &a.bugs; ÒªÇó±ðÈË´úÄú·¢ËÍËü¡£ Çë²Î¼û ÕâÆªÎÄÕ Á˽âÈçºÎ׫дºÃµÄÎÊÌⱨ¸æ¡£ ¶ÔÓÚÎĵµµÄÐÞ¶© Ìá½»Îĵµ ¶ÔÓÚÎĵµµÄÐÞ¸ÄÓÉ &a.doc; À´Éó²é¡£ Çë²Î¼û FreeBSD Îĵµ¼Æ»®³õ¼¶¶Á±¾ À´»ñµÃÍêÕûµÄÖ¸µ¼¡£ Çë°´ÕÕ ÖнéÉܵķ½·¨Ê¹Óà &man.send-pr.1; À´·¢ËÍеÄÎĵµ»òÕß¶ÔÓÚÏÖÓÐÎĵµµÄÍêÉÆ (ÄÄÅÂÊǺÜСµÄ¸Ä½øÒ²ÊÇ»¶Ó­µÄ£¡)¡£ ¶ÔÓÚÏÖÓÐÔ´´úÂëµÄÐÞ¸Ä FreeBSD-CURRENT ÔÚÏÖÓдúÂëÉϽøÐÐÐ޸ĻòÔö¼Ó¹¦ÄÜÔÚijÖ̶ֳÈÉÏÊÇÐèÒª¸ü¶à¼¼ÇɵÄÊÂÇ飬 ²¢ÇÒ»¹ºÍÄú¶ÔÓÚĿǰ FreeBSD µÄ¿ª·¢ÏÖ×´µÄÁ˽âÓйء£ ÓжàÖÖ·½Ê½¿ÉÒԵõ½±»³Æ×÷ FreeBSD-CURRENT µÄ FreeBSD ¿ª·¢°æ±¾£¬ Äú¿ÉÒÔͨ¹ýËüÀ´Á˽â×î½üµÄ¿ª·¢Çé¿ö¡£ Çë²Î¼û FreeBSD ʹÓÃÊÖ²á À´Á˽âʹÓà FreeBSD-CURRENT µÄ½øÒ»²½ÏêÇé¡£ ÔھɵĴúÂëÉϽøÐÐÐ޸ģ¬ Ôòͨ³£¿ÉÄÜÓÉÓÚ´úÂëÒѾ­¹ýʱ£¬ »òÓëеĿª·¢°æ±¾²îÒìÌ«´ó¶øÎÞ·¨±»ÖØÐ¼¯³Éµ½ FreeBSD ÖС£ Èç¹ûÄú¶©ÔÄÁË &a.announce; ÒÔ¼° &a.current; ÓʼþÁÐ±í£¬ Ôò¿ÉÒÔͨ¹ýËüÃÇÀ´´óÌåÁ˽âĿǰµÄ¿ª·¢×´Ì¬¡£ ¼ÙÈç˵ÄúÄܹ»»ùÓÚ¾¡¿ÉÄÜеĴúÂëÀ´Íê³ÉÄúµÄÐ޸ģ¬ ÔòÏÂÒ»²½Òª×öµÄÊÂÇé¾ÍÊÇÉú³ÉÄúËù½øÐеÄÐ޸ĵIJîÒìÎļþ£¬ ²¢½«Ëü·¢¸ø FreeBSD µÄά»¤ÈËÔ±¡£ ÕâÏ×÷¿ÉÒÔͨ¹ý &man.diff.1; ÃüÁîÀ´Íê³É¡£ Ìá½»²¹¶¡Ê±ÍƼöµÄ &man.diff.1; ¸ñʽÊÇÒ»Ö²îÒì (unified diff)£¬ Ëü¿ÉÒÔͨ¹ý diff -u À´Éú³É¡£ ²»¹ý£¬ Èç¹ûÄúÐÞ¸ÄÁË´óÁ¿µÄ´úÂ룬 ÔòʹÓà diff -c À´Éú³ÉµÄÉÏÏÂÎĸñʽ (context diff) µÄ²îÒì¿ÉÄܸüÈÝÒ×ÔĶÁ£¬ Òò¶øÍƼöʹÓᣠdiff ÀýÈ磺 &prompt.user; diff -c oldfile newfile »òÕß &prompt.user; diff -c -r olddir newdir ½«·Ö±ðÉú³É¸ø¶¨Îļþ»òĿ¼½á¹¹µÄ context diff¡£ ÀàËÆµØ£¬ &prompt.user; diff -u oldfile newfile »ò &prompt.user; diff -u -r olddir newdir µÄ×÷ÓÃÓëÇ°ÃæµÄÀàËÆ£¬ µ«²ÉÓõĸñʽÊÇ unified diff¡£ Çë²Î¼û &man.diff.1; Áª»úÊÖ²áÁ˽â¸ü¶àϸ½Ú¡£ Ò»µ©ÄúʹÓà &man.diff.1; Éú³ÉÁ˲îÒ켯 (¿ÉÒÔʹÓà &man.patch.1; ÃüÁîÀ´²âÊÔÒ»ÏÂ)£¬ ¾Í¿ÉÒÔÌá½»ËüÃÇ£¬ ÒԱ㱻 FreeBSD ÊÕ¼¡£ ͨ¹ýʹÓà ÖÐËù½éÉÜµÄ &man.send-pr.1; ³ÌÐò¾Í¿ÉÒÔÍê³ÉÕâÏ×÷¡£ ²»Òª Ö»ÊǰѲîÒ켯·¢µ½ &a.hackers;£¬ ·ñÔòËüÃÇ¿ÉÄܻᱻ¶ªµô£¡ ÎÒÃÇ»á·Ç³£¸Ð¼¤ÄúÌá½»µÄÐÞ¸Ä (ÕâÊÇÒ»¸öÖ¾Ô¸ÕßÏîÄ¿£¡)£» ÒòΪÎÒÃǶ¼ºÜ棬 Òò´ËÓÐʱ²»Ò»¶¨Äܹ»Á¢¼´ÐÞÕýÎÊÌ⣬ µ« PR Êý¾Ý¿â½«Ò»Ö±±£³Ö×ÅÕâЩ¼Ç¼£¬ Òò´ËÖ»ÒªÓÐÈËÓÐÁËʱ¼äËüÃǾÍÄܱ»¸ÄÕýÁË¡£ Èç¹ûÄúµÄÎÊÌⱨ¸æÖаüÀ¨²¹¶¡£¬ Ò»¶¨²»ÒªÍüÁËÔÚ±êÌâÉÏÓà [PATCH] À´Ç¿µ÷һϡ£ uuencode Èç¹ûÄúÈÏΪºÏÊÊ (ÀýÈçÄúÌí¼Ó¡¢ ɾ³ý»òÖØÃüÃûÁËÎļþ)£¬ »¹¿ÉÒÔ¿¼ÂÇʹÓà tar À´½«Îļþ´ò°ü£¬ È»ºóÓà &man.uuencode.1; À´±àÂë¡£ ÎÒÃÇÒ²»¶Ó­Óà &man.shar.1; ´´½¨µÄ°ü¡£ Èç¹ûÄúµÄÐ޸ĿÉÄÜ´æÔÚDZÔÚµÄÕùÒ飬 ÀýÈ磬 Äú²»È·¶¨ÓëÖ®Ïà¹ØµÄ°æÈ¨ÎÊÌ⣬ »òÕ߸оõÐèÒª¾­¹ý¸üÑϸñµÄ¸´Éó²Å¿ÉÒÔ·¢²¼ËüÃÇ£¬ ÔòÓ¦Ö±½Ó·¢¸ø &a.core;£¬ ¶ø²»ÊÇͨ¹ý &man.send-pr.1; À´·¢ËÍ¡£ &a.core; ÊÇÒ»¸öС×飬 Æä³ÉÔ±¸ü¶àµÄ´ÓÊ FreeBSD µÄÈÕ³£¹¤×÷¡£ ÐèҪעÒâµÄÊÇ£¬ Õâ¸öС×éÒ²Òò´Ë ºÜ棬 Òò´ËÖ»ÓÐÔڷdz£±ØÒªµÄʱºò²ÅÓ¦¸øËûÃÇдÐÅ¡£ Çë²Î¿¼ &man.intro.9; ºÍ &man.style.9; ÒÔÁË½â¹ØÓÚ±àÂëϰ¹ßºÍÔ¼¶¨µÄÏêÇé¡£ Èç¹ûÄúÁ˽âÕâЩԼ¶¨£¬ Ôò¶ÔÎÒÃÇÀ´Ëµ½«ÊǼ«´óµÄ°ïÖú¡£ дúÂë»òÖØÒªµÄÔöÖµÈí¼þ°ü Èç¹ûÄú´òËãÌṩ¹æÄ£½Ï´óµÄ´úÂ룬 »òÕßΪ FreeBSD Ôö¼ÓÖØÒªµÄй¦ÄÜ£¬ Ôò¿ÉÄܱØÐ뽫ËüÃÇͨ¹ý uuencode ½øÐбàÂ룬 »ò´«µ½Ä³¸ö Web »ò FTP Õ¾µã£¬ ÒÔ±ã¸ü¶àµÄÈËÄܹ»µÃµ½Ëü¡£ Èç¹ûÄúûÓÐÕâÑùµÄ·þÎñÆ÷£¬ Çëµ½Ïà¹ØµÄ FreeBSD ÓʼþÁбíÌá³ö£¬ ¿´¿´ÊÇ·ñÓÐÈËÔ¸Òâ°ïÄú·ÅÖÃËüÃÇ¡£ ¶ÔÓÚ´óÁ¿µÄ´úÂë¶øÑÔ£¬ ¹ØÓÚ°æÈ¨µÄÎÊÌâ¿Ï¶¨»á±»Ìá³ö¡£ FreeBSD »ù±¾ÏµÍ³ÖÐÄܹ»Ê¹ÓõİæÈ¨ÉùÃ÷°üÀ¨£º BSDBSD °æÈ¨ÉùÃ÷ °æÈ¨¡£ ÎÒÃÇÇãÏòÓÚʹÓÃÕâÀàÊÚȨµÄ´úÂ룬 ÒòΪËü ²»¸½¼Ó¶àÓàµÄÌõ¼þ£¬ Òò¶ø¸üÄܹ»ÎüÒýÉÌÒµÆóҵʹÓᣠFreeBSD ²¢²»·´¶ÔÉÌÒµ¹«Ë¾Ê¹ÓÃËüµÄ´úÂ룬 Ïà·´£¬ ÎÒÃÇ»ý¼«µØ¹ÄÀøÉÌÒµ¹«Ë¾Ê¹ÓÃÎÒÃǵĴúÂ룬 µ±È»£¬ Èç¹ûËüÃÇ×îÖÕ°ÑÒ»²¿·Ö´úÂëÖØÐ¾èÔù¸ø FreeBSD ¾Í¸üºÃÁË¡£ GNU General Public License£¬GPLGNU General Public LicenseGNU General Public License »ò¼ò³Æ GPL¡£ ÎÒÃDz¢²»ºÜ»¶Ó­Ê¹ÓÃÕâÑùÊÚȨµÄ´úÂ룬 ÒòΪÉÌÒµ¹«Ë¾Ê¹ÓÃËüÐèÒª×ö¸ü¶àµÄ¹¤×÷¡£ ²»¹ý£¬ ÓÉÓںܶàʹÓà GPL ÊÚȨµÄ´úÂëĿǰÊÇÎÞ·¨±ÜÃâµÄ (±àÒëÆ÷¡¢ »ã±àÆ÷£¬ Îı¾ÅŰæ³ÌÐòµÈµÈ)£¬ ¾Ü¾øÊ¹ÓÃËùÓвÉÓÃÕâÑùÊÚȨµÄÈí¼þÊǺܲ»Ã÷Öǵġ£ ²ÉÓà GPL ÊÚȨµÄ´úÂë»á±»·Åµ½Ô´´úÂëµÄһЩרÃŵÄλÖ㬠ÀýÈç /sys/gnu »ò /usr/src/gnu£¬ ÒÔ·½±ãÄÇЩʹÓà GPL ´úÂë¿ÉÄÜ»á¸øËûÃÇ´øÀ´ÎÊÌâµÄÈËʶ±ð¡£ ʹÓÃÆäËüÊÚȨµÄ´úÂëÔÚ½øÈë FreeBSD ֮ǰ±ØÐë¾­¹ýÉ÷ÖØµÄ¸´ÉóºÍ¿¼ÂÇ¡£ ²ÉÓðüº¬ÑÏÀ÷ÏÞÖÆµÄÉÌÒµÊÚȨµÄ´úÂ룬 Ò»°ãÀ´Ëµ»á±»¾Ü¾ø£¬ µ«ÎÒÃǹÄÀøÕâЩ´úÂëµÄ×÷Õßͨ¹ý×Ô¼ºµÄÇþµÀÀ´·¢²¼ËüÃÇ¡£ ÒªÔÚÄúµÄ³É¹ûÉϼÓÈë BSDʽ µÄ°æÈ¨£¬ Çë°ÑÏÂÁÐÎı¾·Åµ½Ã¿Ò»¸öÔ´ÎļþµÄ×ʼ²¿·Ö£¬ ²¢ÓÃÊʵ±µÄÎÄ×ÖÌæ»» %% Ö®¼äµÄÎÄ×Ö¡£ Copyright (c) %%proper_years_here%% %%your_name_here%%, %%your_state%% %%your_zip%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Id$ ΪÁË·½±ãÄúµÄʹÓ㬠ÔÚ /usr/share/examples/etc/bsd-style-copyright Ò²¿ÉÒÔÕÒµ½´ËÊÚȨµÄ¸±±¾¡£ ×ʽ𡢠Ӳ¼þ»ò Internet ½ÓÈë ÎÒÃǷdz£Ô¸Òâ½ÓÊܸ÷ÖÖÐÎʽµÄ¾èÔù£¬ ÒÔ½øÒ»²½ÍØÕ¹ FreeBSD Project µÄÊÂÒµ£¬ ÒòΪÓÐÄúµÄÖ§³Ö£¬ ÏñÎÒÃÇÕâÑùµÄÖ¾Ô¸ÕßŬÁ¦²ÅÄܹ»Óиü´óµÄ³É¾Í£¡ ¾èÔùÓ²¼þÒ²·Ç³£ÖØÒª£¬ ÒòΪÕâÑùÄܹ»°ïÖúÎÒÃÇÔö¼Ó¿ÉÒÔÖ§³ÖµÄÓ²¼þÖÖÀ࣬ ¶øÎÒÃÇÖеĺܶàÈ˲¢Ã»ÓÐ×ã¹»µÄ×ʽðÀ´¹ºÖÃÕâЩӲ¼þ¡£ - - <anchor id="donations"/>¾è¿î + + ¾è¿î FreeBSD »ù½ð»áÊÇÒ»¸ö·ÇÓªÀûµÄ¡¢ ÓпÎ˰»íÃâȨµÄ»ù½ð»á£¬ ½¨Á¢Õâ¸ö»ù½ð»áµÄÄ¿±êÊÇΪÁËÈà FreeBSD Project Äܹ»´ï³É¸ü¼Ó³¤Ô¶µÄÄ¿±ê¡£ ×÷Ϊ 501(c)3 ʵÌ壬 Ò»°ã¶øÑÔ»ù½ð»á¿ÉÒÔÃâÓèÉϽÉÃÀ¹úÁª°îÊÕÈë˰£¬ ÒÔ¼°¿ÆÂÞÀ­¶àÖÝÊÕÈë˰¡£ ͨ³£¶ÔÓÚ¿Î˰»íÃâµÄʵÌå½øÐоèÔù£¬ ¿ÉÒÔÕÛµÖÁª°îÊÕÈëÖÐÓ¦¿Î˰²¿·ÖµÄ½ð¶î¡£ Äú¿ÉÒÔ°Ñ֧Ʊ¼ÄÍù£º
The FreeBSD Foundation 7321 Brockway Dr. Boulder, CO 80303 USA
FreeBSD »ù½ð»áÏÖÔÚ¿ÉÒÔͨ¹ý PayPal ´ÓÍøÉϽÓÊܾè¿î¡£ Èç¹ûÄúÏëÏò»ù½ð»á¾è¿î£¬ Çë·ÃÎÊËüµÄ web Õ¾µã¡£ ¹ØÓÚ FreeBSD »ù½ð»áµÄ¸ü¶àÏêÇ飬 ¿ÉÒÔÔÚ FreeBSD »ù½ð»á -- ½éÉÜ ÕÒµ½¡£ ÒªÁªÂç»ù½ð»á£¬ Çë·¢Ë͵ç×ÓÓʼþµ½ bod@FreeBSDFoundation.org¡£
¾èÔùÓ²¼þ ¾èÔù FreeBSD ¼Æ»®»¶Ó­ÈκÎÈ˾èÔù¿ÉÒÔʹÓõÄÓ²¼þ¡£ Èç¹ûÄúÓÐÐËȤ¾èÔùÓ²¼þ£¬ ÇëÁªÏµ ¾èÔùÁªÂçÈ˰칫ÊÒ¡£ ¾èÔù Internet ½ÓÈë ÎÒÃÇ»¶Ó­Ð嵀 FTP¡¢ WWW »ò cvsup ¾µÏñ¡£ Èç¹ûÄúÏ£Íû³ÉΪÕâÑùµÄ¾µÏñ£¬ Çë²Î¼û ÈçºÎ¼ÜÉè FreeBSD ¾µÏñ Ò»ÎÄ£¬ ÒÔÁË½â½øÒ»²½µÄÇé¿ö¡£
diff --git a/zh_CN.GB2312/books/handbook/mirrors/chapter.xml b/zh_CN.GB2312/books/handbook/mirrors/chapter.xml index afbd007d72..6f5c3cf580 100644 --- a/zh_CN.GB2312/books/handbook/mirrors/chapter.xml +++ b/zh_CN.GB2312/books/handbook/mirrors/chapter.xml @@ -1,3155 +1,3155 @@ »ñÈ¡ &os; CDROM ºÍ DVD ·¢ÐÐÉÌ ÁãÊÛºÐ×°²úÆ· ¿ÉÒÔ´ÓÏÂÃæ¼¸¸öÁãÊÛÉÌÄÇÀïÂòµ½ &os; µÄºÐ×°²úÆ· (&os; CD£¬ ¸½¼ÓÈí¼þ£¬Ó¡Ë¢Îĵµ)£º
CompUSA WWW:
Frys Electronics WWW:
CD ºÍ DVD ¹âÅÌ &os; CD ºÍ DVD ¹âÅÌ¿ÉÒÔ´ÓÐí¶àÔÚÏßÁãÊÛÉÌÄÇÀïÂòµ½£º
&os; Mall, Inc. 700 Harvest Park Ste F Brentwood, CA 94513 USA Phone: +1 925 240-6652 Fax: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany Phone: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW:
JMC Software Ireland Phone: 353 1 6291282 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom Phone: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland Phone: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Phone: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Phone: +7-812-3125208 Email: info@linuxcenter.ru WWW:
·¢ÐÐÈË Èç¹ûÄúÊÇÏúÊÛÉ̲¢ÇÒÏëÏúÊÛ &os; CDROM ²úÆ·£¬ ÇëºÍ·¢ÐÐÈËÁªÏµ£º
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 USA Phone: +1 650 694-4949 Fax: +1 650 694-4953 Email: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Phone: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Phone: +1 952 947-0822 Fax: +1 952 947-0876 Email: sales@kudzuenterprises.com
LinuxCenter.Kz Ust-Kamenogorsk Kazakhstan Phone: +7-705-501-6001 Email: info@linuxcenter.kz WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Phone: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Phone: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
FTP Õ¾µã ¹Ù·½µÄ &os; Ô´´úÂë¿ÉÒԴӱ鲼ȫÇòµÄ¾µÏñÕ¾µã ͨ¹ýÄäÃû FTP ÏÂÔØ¡£ Õ¾µã ÓÐ×ÅÁ¼ºÃµÄÍøÂçÁ¬½Ó²¢ÇÒÔÊÐí´óÁ¿µÄ²¢·¢Á¬½Ó£¬ µ«ÊÇ Äú»òÐí¸üÏëÕÒÒ»¸ö ¸ü½üµÄ ¾µÏñÕ¾µã (ÌØ±ðÊǵ±ÄúÏë½øÐÐijÖÖÐÎʽµÄ¾µÏñµÄʱºò)¡£ &os; ¿ÉÒÔ´ÓÏÂÃæÕâЩ¾µÏñÕ¾µãͨ¹ýÄäÃû FTP ÏÂÔØ¡£Èç¹ûÄúÑ¡ÔñÁËͨ¹ýÄäÃû FTP »ñÈ¡ &os;£¬ Ç뾡Á¿Ê¹ÓÃÀëÄú±È½Ï½üµÄÕ¾µã¡£±»ÁÐΪ Ö÷¾µÏñÕ¾µã µÄ¾µÏñÕ¾µãÒ»°ã¶¼ÓÐÍêÕûµÄ &os; Îļþ (Õë¶ÔÿÖÖÌåϵ½á¹¹µÄËùÓе±Ç°¿ÉÓõİ汾)£¬ Äú»òÐí´ÓÄúËùÔڵĹú¼Ò»òµØÇøµÄÕ¾µãÏÂÔØ»áµÃµ½¸ü¿ìµÄÏÂÔØËÙ¶È¡£ ÿ¸öÕ¾µãÌṩÁË×îÁ÷ÐеÄÌåϵ½á¹¹µÄ×î½üµÄ°æ±¾¶øÓпÉÄܲ»ÌṩÍêÕûµÄ &os; ´æµµ¡£ËùÓеÄÕ¾µã¶¼ÌṩÄäÃû FTP ·ÃÎʶøÓÐЩվµãÒ²ÌṩÆäËûµÄ·ÃÎÊ·½Ê½¡£¶Ôÿ¸öÕ¾µã¿ÉÓõķÃÎÊ·½Ê½ ÔÚÆäÖ÷»úÃûºóÓÐËù˵Ã÷¡£ &chap.mirrors.ftp.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.ftp.inc; BitTorrent BitTorrent »ù±¾·¢Ðаæ CD µÄ ISO ¾µÏñÒ²¿ÉÒÔͨ¹ý BitTorrent »ñµÃ¡£ Óû§ÏÂÔØ¾µÏñµÄ torrent ÎļþÄܹ»ÔÚÕâÀïÕÒµ½ http://torrents.freebsd.org:8080 BitTorrent ¿Í»§¶ËÈí¼þ¿ÉÒÔ´ÓÕâ¸ö port net-p2p/py-bittorrent »òÔ¤±àÒëµÄ¶þ½øÖưü°²×°¡£ ÔÚͨ¹ý BitTorrent ÏÂÔØÁË ISO ¾µÏñÖ®ºó£¬ Äã¿ÉÒÔÕÕ×Å burncd ÖеÄËùÃèÊöµÄ·½·¨ÉÕ¼µ½ CD »ò DVD ½éÖÊÉÏ¡£ ÄäÃû CVS - - <anchor id="anoncvs-intro"/>¸ÅÊö + + ¸ÅÊö CVS ÄäÃû ÄäÃû CVS(»òÈËÃdz£ËµµÄ anoncvs)ÊÇÓÉºÍ &os; ¸½´øµÄ CVS ʵÓù¤¾ßÌṩµÄÓÃÓÚºÍÔ¶³ÌµÄ CVS ´úÂë¿âͬ²½µÄÒ»ÖÖÌØÐÔ¡£ ÓÈÆäÊÇ£¬ ËüÔÊÐí &os; Óû§²»ÐèÒªÌØÊâµÄȨÏÞ¶ÔÈκÎһ̨ &os; ÏîÄ¿µÄ¹Ù·½ anoncvs ·þÎñÆ÷Ö´ÐÐÖ»¶ÁµÄ CVS ²Ù×÷¡£ ҪʹÓÃËü£¬¼òµ¥µÄÉèÖà CVSROOT »·¾³±äÁ¿Ö¸ÏòÊʵ±µÄ anoncvs ·þÎñÆ÷£¬ ÊäÈë cvs login ÃüÁî ²¢Ìṩ¹ãΪÈËÖªµÄÃÜÂëanoncvs£¬È»ºóʹÓà &man.cvs.1; ÃüÁîÏñ·ÃÎÊÈκα¾µØ²Ö¿âÒ»ÑùÀ´·ÃÎÊËü¡£ cvs login ÃüÁî°ÑÓÃÀ´µÇ¼ CVS ·þÎñÆ÷µÄÃÜÂë´¢´æÔÚÄúµÄ HOME Ŀ¼ÖÐÒ»¸ö½Ð .cvspass µÄÎļþÀï¡£ Èç¹ûÕâ¸öÎļþ²»´æÔÚ£¬ µÚÒ»´ÎʹÓà cvs login µÄʱºò¿ÉÄÜ»á³ö´í¡£ Çë´´½¨Ò»¸ö¿ÕµÄ .cvspass Îļþ£¬È»ºóÊÔÊÔÖØÐµÇ¼¡£ Ò²¿ÉÒÔÕâô˵ CVSup ºÍ anoncvs ·þÎñ±¾ÖÊÉÏÌṩÁËͬÑùµÄ¹¦ÄÜ£¬µ«ÊÇÓи÷ÖÖ¸÷Ñù ²»Í¬µÄ³¡ºÏ¿ÉÒÔÓ°ÏìÓû§¶Ôͬ²½·½Ê½µÄÑ¡Ôñ¡£¼òµ¥À´Ëµ£¬ CVSup ÔÚÍøÂç×ÊÔ´ÀûÓ÷½Ãæ ¸ü¼ÓÓÐЧ£¬¶øÇÒÊǵ½Ä¿Ç°ÎªÖ¹ÔÚÁ½ÕßÖ®Öм¼ÊõÉϸü³ÉÊìµÄ ³ýÁ˳ɱ¾·½Ã档ҪʹÓà CVSup£¬ÔÚÏÂÔØÈκζ«Î÷֮ǰ ±ØÐëÊ×ÏȰ²×°ÅäÖÃÌØ¶¨µÄ¿Í»§¶Ë£¬ ¶øÇÒÖ»ÄÜÓÃÓÚÏÂÔØÏ൱´ó¿éµÄ CVSup ³Æ×÷ collections¡£ Ïà±È֮ϣ¬anoncvs ¿ÉÒÔͨ¹ý CVS Ä£¿éÃûÀ´´Óµ¥¸öÎļþÀï¼ì³öÈκζ«Î÷²¢¸³¸øÌض¨µÄ³ÌÐò (±ÈÈç ls »òÕß grep)¡£ µ±È»£¬anoncvs Ò²Ö»ÊÊÓÃÓÚ¶Ô CVS ²Ö¿âµÄÖ»¶Á²Ù×÷£¬ËùÒÔÈç¹ûÄúÊÇÏëÓÃºÍ &os; ÏîÄ¿¹²ÏíµÄ²Ö¿âÌṩ±¾µØ¿ª·¢µÄ»°£¬ CVSup ¼¸ºõÊÇÄúΨһµÄÑ¡Ôñ¡£ - - <anchor id="anoncvs-usage"/>ʹÓÃÄäÃû CVS + + ʹÓÃÄäÃû CVS ÅäÖà &man.cvs.1; ʹÓÃÄäÃû CVS ²Ö¿â¿ÉÒÔ¼òµ¥µÄÉ趨 CVSROOT »·¾³±äÁ¿Ö¸Ïò &os; ÏîÄ¿µÄ anoncvs ·þÎñÆ÷Ö®Ò»¡£ µ½´ËÊéд×÷Ϊֹ£¬ ÏÂÃæµÄ·þÎñÆ÷¶¼ÊÇ¿ÉÓõģº ·¨¹ú: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (ʹÓà pserver ģʽʱ£¬ Óà cvs login ÅäºÏ¿ÚÁî anoncvs À´µÇ¼¡£ Èç¹ûʹÓõÄÊÇ ssh£¬ Ôò²»ÐèÒª¿ÚÁî¡£) ̨ÍåµØÇø: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (ʹÓà pserver ģʽʱ£¬ Óà cvs login ÅäºÏ¿ÚÁî anoncvs À´µÇ¼¡£ Èç¹ûʹÓõÄÊÇ ssh£¬ Ôò²»ÐèÒª¿ÚÁî¡£) SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub ÃÀ¹ú: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ʹÓà ssh ʱ£¬ ÇëʹÓÃЭÒé°æ±¾ 2£¬ ²»ÐèÒª¿ÚÁî¡£) SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub ÒòΪ CVS ʵ¼ÊÉÏÔÊÐí ¼ì³ö Ôø¾­´æÔÚµÄ (»òÕߣ¬Ä³ÖÖÇé¿öϽ«»á´æÔÚ) &os; Ô´´úÂëµÄÈÎÒâ°æ±¾£¬ ÄúÐèÒªÊìϤ &man.cvs.1; µÄ°æ±¾ () ²ÎÊý£¬ ÒÔ¼°ÔÚ &os; ´úÂë¿âÖпÉÓõÄÖµ¡£ ÓÐÁ½ÖÖ±êÇ©£¬ÐÞ¶©±êÇ©ºÍ·ÖÖ§±êÇ©¡£ ÐÞ¶©±êÇ©ÌØÖ¸Ò»¸öÌØ¶¨µÄÐÞ¶©°æ±¾¡£º¬ÒåʼÖÕÊDz»±äµÄ¡£ ·ÖÖ§±êÇ©£¬ÁíÒ»·½Ã棬 Ö¸´ú¸ø¶¨Ê±¼ä¸ø¶¨¿ª·¢·ÖÖ§µÄ×îÐÂÐÞ¶©£¬ ÒòΪ·ÖÖ§±êÇ©²»Éæ¼°ÌØ¶¨µÄÐÞ¶©°æ±¾£¬ ËüÃ÷ÌìËù´ú±íµÄº¬Òå¾Í¿ÉÄܺͽñÌìµÄ²»Í¬¡£ °üÀ¨ÁËÓû§¿ÉÄܸÐÐËȤµÄ ÐÞ¶©±êÇ©¡£ Çë×¢Ò⣬ ÕâЩ±êÇ©²¢²»ÊÊÓÃÓÚ Ports Collection£¬ ÒòΪËü²¢²»°üº¬¶à¸ö¿ª·¢·ÖÖ§¡£ µ±ÄúÖ¸¶¨Ò»¸ö·ÖÖ§±êÇ©£¬Äúͨ³£»áµÃµ½ÄǸö¿ª·¢·ÖÖ§µÄÎļþµÄ×îа汾¡£ Èç¹ûÄúÏ£ÍûµÃµ½Ò»Ð©¾ÉµÄ°æ±¾£¬Äú¿ÉÒÔÓà ±ê¼ÇÖÆ¶¨Ò»¸öÈÕÆÚ¡£ ²ì¿´ &man.cvs.1; ÊÖ²áÒ³Á˽â¸ü¶àϸ½Ú¡£ ʾÀý ÔÚÕâ֮ǰǿÁÒ½¨ÒéÄúͨ¶Á &man.cvs.1; µÄÊÖ²áÒ³£¬ ÕâÀïÓÐһЩ¼òµ¥µÄÀý×ÓÀ´Õ¹Ê¾ÈçºÎʹÓÃÄäÃû CVS£º ´Ó -CURRENT ¼ì³öЩ¶«Î÷ (&man.ls.1;)£º &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login >ÔÚÌáʾ·û´¦£¬ÊäÈëÈÎÒâÃÜÂë password. &prompt.user; cvs co ls ͨ¹ý SSH ¼ì³öÕû¸ö <filename>src/</filename> ´úÂëÊ÷£º &prompt.user; cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established. DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts. ¼ì³ö 8-STABLE ·ÖÖ§ÖÐµÄ &man.ls.1; °æ±¾£º &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login ÔÚÌáʾ·û´¦£¬ÊäÈëÈÎÒâÃÜÂë password¡£ &prompt.user; cvs co -rRELENG_8 ls ´´½¨ &man.ls.1; µÄ±ä»¯Áбí(Óñê×¼µÄ diff) &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login ÔÚÌáʾ·û´¦£¬ÊäÈëÈÎÒâÃÜÂë password¡£ &prompt.user; cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls ÕÒ³ö¿ÉÒÔʹÓÃµÄÆäËüµÄÄ£¿éÃû£º &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login ÔÚÌáʾ·û´¦£¬ÊäÈëÈÎÒâÃÜÂë password¡£ &prompt.user; cvs co modules &prompt.user; more modules/modules ÆäËû×ÊÔ´ ÏÂÃæ¸½¼ÓµÄ×ÊÔ´¿ÉÄܶÔѧϰ CVS ÓаïÖú£º CVS ½Ì³Ì£¬ À´×Ô¼ÓÖÝÖÝÁ¢Àí¹¤´óѧ¡£ CVS Ö÷Ò³£¬ CVS ¿ª·¢ºÍÖ§³ÖÉçÇø¡£ CVSweb ÊÇ &os; ÏîÄ¿µÄ CVS web ½çÃæ¡£ ʹÓà CTM CTM CTM ÊDZ£³ÖÔ¶³ÌĿ¼Ê÷ºÍÖÐÑë·þÎñÆ÷Ŀ¼Ê÷ͬ²½µÄÒ»ÖÖ·½·¨¡£ Ëü±»¿ª·¢ÓÃÓÚ &os; µÄÔ´´úÂëÊ÷£¬ËäÈ»ÆäËûÈËËæ×Åʱ¼äÍÆÒÆ»á·¢ÏÖËü¿ÉÒÔÓÃÓÚÆäËûÄ¿µÄ¡£ µ±Ç°¼¸ºõûÓУ¬Ò²»òÕßÖ»ÓкÜÉÙµÄÎĵµ½²Êö´´½¨ deltas µÄ²½Ö裬 ËùÒÔÈç¹ûÄúÏ£ÍûʹÓà CTM È¥×öÆäËüÊÂÇ飬 ÇëÁªÏµ &a.ctm-users.name; ÓʼþÁбíÁ˽â¸ü¶àÐÅÏ¢¡£ ΪʲôÎÒ¸ÃʹÓà <application>CTM</application>? CTM »á¸øÄúÒ»·Ý &os; Ô´´úÂëÊ÷µÄ±¾µØ¸±±¾¡£ ´úÂëÊ÷ÓкܶàµÄ flavors ¿ÉÓᣲ»¹ÜÄúÊÇÏ£Íû¸ú×ÙÍêÕûµÄ CVS Ê÷»¹ÊÇÖ»ÊÇÒ»¸ö·ÖÖ§£¬ CTM ¶¼»á¸øÄúÌṩÐÅÏ¢¡£ Èç¹ûÄúÊÇ &os; ÉϵÄÒ»¸ö»îÔ¾µÄ¿ª·¢Õߣ¬µ«ÊÇȱ·¦»òÕß²»´æÔÚ TCP/IP Á¬½Ó£¬»òÕßÖ»ÊÇÏ£Íû°Ñ±ä»¯×Ô¶¯·¢Ë͸øÄú£¬ CTM ¾ÍÊÇÊʺÏÄúµÄ¡£¶ÔÓÚ×î»ý¼«µÄ·ÖÖ§ Äú½«»áÿÌì»ñµÃÈý¸öÒÔÉ쵀 deltas¡£ È»¶ø£¬ÄúÓ¦¸Ã¿¼ÂÇͨ¹ýÓʼþÀ´×Ô¶¯·¢ËÍ¡£ Éý¼¶µÄ´óС×ÜÊDZ£Ö¤¾¡¿ÉÄܵÄС¡£ ͨ³£Ð¡ÓÚ 5K£¬Ò²Å¼È»(Ê®·ÖÖ®Ò»¿ÉÄÜ)»áÓÐ 10-50K£¬Ò²²»Ê±µØÓиö´óµÄ 100K+ ÉõÖÁ¸ü´óµÄ¡£ ÄúÒ²ÐèÒªÈÃ×Ô¼ºÁ˽âÖ±½ÓºÍ¿ª·¢´úÂë¶ø²»ÊÇÔ¤·¢Ðа汾´ò½»µÀµÄ¸÷ÖÖ¾¯¸æ¡£ÕâÖÖÇé¿ö»áºÜÏÔÖø£¬ Èç¹ûÄúÑ¡ÔñÁË current ´úÂëµÄ»°¡£Ç¿ÁÒ½¨ÒéÄúÔĶÁºÍ &os; ±£³Öͬ²½¡£ ʹÓà <application>CTM</application> ÎÒÐèÒª×öʲô£¿ ÄúÐèÒªÁ½Ñù¶«Î÷£ºCTM ³ÌÐò£¬»¹ÓгõʼµÄ deltas À´ feed it(´ïµ½ current ¼¶±ð)¡£ CTM ³ÌÐò´Ó°æ±¾ 2.0 ·¢²¼ÒÔÀ´ ÒѾ­ÊÇ &os; µÄÒ»²¿·ÖÁË£¬Èç¹ûÄú°²×°ÁËÔ´´úÂ븱±¾µÄ»°£¬ ËüλÓÚ /usr/src/usr.sbin/ctm¡£ Äúι¸ø CTM µÄ deltas ¿ÉÒÔÓÐÁ½ÖÖ·½Ê½£¬FTP »òÕß email¡£ Èç¹ûÄúÓÐÆÕͨµÄ·ÃÎÊ Internet µÄ FTP ȨÏÞ£¬ ÄÇôÏÂÃæµÄ FTP Õ¾µãÖ§³Ö·ÃÎÊ CTM£º »òÕß¿´¿´ÕâһС½Ú¾µÏñ¡£ FTP ·ÃÎÊÏà¹ØµÄĿ¼²¢È¡µÃ README Îļþ£¬´ÓÄÇÀ↑ʼ¡£ Èç¹ûÄúÏ£Íûͨ¹ý email µÃµ½ÄúµÄ deltas£º ¶©ÔÄÒ»¸ö CTM ·Ö·¢ÁÐ±í¡£ &a.ctm-cvs-cur.name; Ö§³ÖÍêÕûµÄ CVS Ê÷¡£ &a.ctm-src-cur.name; Ö§³Ö×îеĿª·¢·ÖÖ§¡£ &a.ctm-src-7.name; Ö§³Ö 7.X ·¢ÐзÖÖ§£¬ µÈµÈ¡£¡£(Èç¹ûÄú²»ÖªµÀÈçºÎ¶©ÔÄÓʼþÁÐ±í£¬ µã»÷ÉÏÃæµÄÁбíÃû»òÕßµ½ &a.mailman.lists.link; µã»÷ÄúÏ£Íû¶©ÔĵÄÁÐ±í¡£ ÁбíÒ³°üº¬ÁËËùÓбØÒªµÄ¶©ÔÄÖ¸µ¼¡£) µ±Äú¿ªÊ¼½ÓÊÕµ½ÄúÓʼþÖÐµÄ CTM Éý¼¶Ê±£¬Äú¿ÉÒÔʹÓà ctm_rmail ³ÌÐòÀ´½âѹ²¢Ó¦ÓÃËüÃÇ¡£ ÊÂʵÉÏÈç¹ûÄúÏëÒªÈýø³ÌÒÔÈ«×Ô¶¯µÄÐÎʽÔËÐеϰ£¬Äú¿ÉÒÔͨ¹ýÔÚ /etc/aliases ÖÐÉèÖÃÖ±½ÓʹÓà ctm_rmail ³ÌÐò¡£ ²é¿´ ctm_rmail ÊÖ²áÒ³Á˽â¸ü¶àϸ½Ú¡£ ²»¹ÜÄúʹÓÃʲô·½·¨µÃµ½ CTM deltas£¬Äú¶¼Ó¦¸Ã¶©ÔÄ &a.ctm-announce.name; ÓʼþÁÐ±í¡£ ÒÔºó»áÓе¥¶ÀµÄµØ·½Ìá½»ÓÐ¹Ø CTM ϵͳµÄ²Ù×÷µÄ¹«¸æ¡£ µã»÷ÉÏÃæµÄÓʼþÁбíÃû²¢°´ÕÕָʾ¶©ÔÄÓʼþÁÐ±í¡£ µÚÒ»´ÎʹÓà <application>CTM</application> ÔÚÄú¿ªÊ¼Ê¹Óà CTM delta ֮ǰ£¬ÄúÐèÒª»ñµÃÒ»¸öÆðʼµã¡£ Ê×ÏÈÄúÓ¦¸ÃÈ·¶¨ÄúÒѾ­ÓÐÁËʲô¡£Ã¿¸öÈ˶¼¿ÉÒÔ´ÓÒ»¸ö¿ÕĿ¼¿ªÊ¼¡£ Äú±ØÐëÓÃÒ»¸ö³õʼµÄ ¿ÕµÄ delta À´¿ªÊ¼ÄúµÄ CTM Ö§³ÖÊ÷¡£Ôø¾­ÎªÁËÄúµÄ±ãÀûÕâЩ Æðʼ deltas ±»ÓÐÒâµÄͨ¹ý CD À´·¢ÐУ¬ È»¶øÏÖÔÚÒѾ­²»ÕâÑù×öÁË¡£ ÒòΪ´úÂëÊ÷ÓÐÊýÊ®Õ××Ö½Ú£¬ÄúÓ¦¸Ã¸üϲ»¶´ÓÊÖÍ·ÉÏÒѾ­ÓеĶ«Î÷¿ªÊ¼¡£Èç¹ûÄúÓÐÒ»ÕÅ -RELEASE CD ¹âÅÌ£¬Äú¿ÉÒÔ´ÓÀïÃæ¸´ÖÆ»òÕß½âѹËõÒ»·Ý³õʼ´úÂë³öÀ´¡£ Õâ»á½ÚÊ¡·Ç³£¶àµÄÊý¾Ý´«ÊäÁ¿¡£ Äú»á·¢ÏÖÕâЩ³õʼµÄ deltas Ãû×ÖµÄÊý×ÖºóÃæ¶¼Óиö X (±ÈÈç src-cur.3210XEmpty.gz)¡£ ºóÃæ¼ÓÒ»¸ö X µÄÉè¼Æ·ûºÏÄúµÄ³õʼ seed µÄÓÉÀ´¡£ Empty ÊÇÒ»¸ö¿ÕĿ¼¡£Í¨³£Ò»¸ö»ù±¾µÄ´Ó Empty ¿ªÊ¼µÄת»»ÓÉ 100 ¸ö deltas ¹¹³É¡£Ë³±ã˵һÏ£¬ËûÃǶ¼ºÜ´ó£¡70 µ½ 80 Õ××Ö½ÚµÄ gzip ѹËõµÄÊý¾Ý¶ÔÓÚ XEmpty deltas ÊÇºÜÆ½³£µÄ¡£ Ò»µ©ÄúÒѾ­Ñ¡¶¨ÁËÒ»¸ö»ù±¾µÄ delta ¿ªÊ¼£¬Äú¾ÍÐèÒª±ÈÕâ¸öÊý¸ßµÄËùÓÐµÄ delta¡£ ÔÚÄúµÄÈÕ³£Éú»îÖÐʹÓà <application>CTM</application> ÒªÓ¦Óà deltas£¬¼òµ¥µÄ¼üÈ룺 &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* CTM Äܹ»Àí½â±» gzip ѹËõµÄ deltas£¬ËùÒÔÄú²»ÐèÒªÏÈ gunzip ËûÃÇ£¬Õâ¿ÉÒÔ½ÚÊ¡´ÅÅ̿ռ䡣 ³ý·Ç¾õµÃÕû¸ö¹ý³Ì·Ç³£¿É¿¿£¬ CTM ²»»áÉæ¼°µ½ÄúµÄ´úÂëÊ÷µÄ¡£ÄúÒ²¿ÉÒÔʹÓà ±ê¼ÇÀ´Ð£Ñé delta£¬ ÕâÑù CTM ¾Í²»»áÉæ¼°´úÂëÊ÷£» Ëü»áֻУÑé delta µÄÍêÕûÐÔ¿´¿´ÊÇ·ñ¿ÉÒÔ°²È«µÄÓÃÓÚÄúµÄµ±Ç°´úÂëÊ÷¡£ CTM »¹ÓÐÆäËûµÄһЩ²ÎÊý£¬ ²é¿´ÊÖ²áÒ³»òÕßÔ´´úÂëÁ˽â¸ü¶àÐÅÏ¢¡£ ÕâÕæµÄ¾ÍÊÇÈ«²¿µÄÊÂÇéÁË¡£Ã¿´ÎµÃµ½Ò»¸öÐ嵀 delta£¬¾Íͨ¹ý CTM ÔËÐÐËüÀ´±£Ö¤ÄúµÄ´úÂëÊÇ×îеġ£ Èç¹ûÕâЩ deltas ºÜÄÑÖØÐÂÏÂÔØµÄ»°²»ÒªÉ¾³ýËüÃÇ¡£ ÓÐЩ¶«Î÷»µµôµÄʱºòÄú»áÏëµ½±£ÁôËüÃǵġ£ ¼´Ê¹ÄúÖ»ÓÐÈíÅÌ£¬Ò²Ç뿼ÂÇʹÓà fdwrite À´×öÒ»·Ý¸±±¾¡£ ά³ÖÄú±¾µØµÄ±ä¶¯ ×÷ΪһÃû¿ª·¢Õßϲ»¶ÊµÑ飬¸Ä¶¯´úÂëÊ÷ÖеÄÎļþ¡£ CTM ÓÃÒ»ÖÖÊÜÏ޵ķ½Ê½Ö§³Ö±¾µØÐ޸ģºÔÙ¼ì²éÎļþ foo ´æÔÚ֮ǰ£¬Ê×ÏȲéÕÒ foo.ctm¡£Èç¹ûÕâ¸öÎļþ´æÔÚ£¬ CTM »á¶ÔËü²Ù×÷¶ø²»ÊÇ foo¡£ ÕâÖÖÐÐΪ¸øÎÒÃÇÌṩÁËÒ»ÖÖ¼òµ¥µÄ·½Ê½À´Î¬³Ö±¾µØµÄ¸Ä¶¯£º Ö»Òª¸´ÖÆÄú¼Æ»®Ð޸ĵÄÎļþ²¢Óà .ctm µÄºó×ºÖØÐÂÃüÃû¡£ È»ºó¾Í¿ÉÒÔ×ÔÓɵÄÐ޸ĴúÂëÁË£¬CTM »á¸üР.ctm Îļþµ½×îа汾¡£ ÆäËûÓÐȤµÄ <application>CTM</application> Ñ¡Ïî ÕýÈ·µÄÕÒ³öÄÄЩ½«±»¸üРÄú¿ÉÒÔÈ·¶¨±ä¶¯ÁÐ±í£¬ CTM ¿ÉÒÔ×öµ½£¬ÔÚÄúµÄ´úÂë¿âÉÏʹÓà CTM µÄ Ñ¡Ïî¡£ ÕâºÜÓÐÓÃÈç¹ûÄúÏëÒª±£´æ¸Ä¶¯µÄÈÕÖ¾£¬ pre- »òÕß post- Óø÷ÖÖ·ç¸ñ´¦ÀíÐ޸ĵÄÎļþµÄ¼Í¼£¬ »òÕß½ö½öÊÇÏë¸ÐÊÜһϺ¢×Ó°ãµÄ·è¿ñ¡£ ÔÚÉý¼¶Ç°ÖÆ×÷±¸·Ý ÓÐʱÄú¿ÉÄÜÏ뱸·Ý½«Òª±» CTM Éý¼¶Ëù¸Ä¶¯µÄËùÓÐÎļþ¡£ Ö¸¶¨ Ñ¡Ïî»áµ¼Ö CTM ±¸·Ý½«Òª±»¸ø¶¨µÄ CTM delta ¸Ä¶¯µÄËùÓÐÎļþµ½ backup-file¡£ ÏÞ¶¨ÊÜÉý¼¶Ó°ÏìµÄÎļþ ÓÐʱÄú¿ÉÄܶÔÏÞ¶¨Ò»¸ö¸ø¶¨µÄ CTM Éý¼¶µÄ·¶Î§¸ÐÐËȤ£¬Ò²ÓпÉÄÜÏëÖªµÀÔõÑù´ÓÒ»ÁÐ deltas ÖнâѹËõÒ»²¿·ÖÎļþ¡£ Äú¿ÉÒÔͨ¹ýʹÓà ºÍ Ñ¡ÏîÖ¸¶¨¹ýÂ˹æÔò±í´ïʽÀ´¿ØÖÆ CTM ¼´½«¶ÔÖ®²Ù×÷µÄÎļþÁÐ±í¡£ ÀýÈ磬Ҫ´ÓÄú±£´æµÄCTM deltas ¼¯Àï½âѹËõ³öÒ»¸ö×îÐ嵀 lib/libc/Makefile Îļþ£¬ÔËÐÐÕâ¸öÃüÁ &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* ¶ÔÓÚÿһ¸öÔÚ CTM delta ÖÐÖ¸¶¨µÄÎļþ£¬ ºÍ Ñ¡Ïî°´ÕÕÃüÁîÐиø¶¨µÄ˳ÐòÓ¦ÓᣠÎļþÖ»ÓÐÔÚËùÓÐµÄ ºÍ ±»Ó¦ÓÃÖ®ºó±ê¼ÇΪºÏ¸ñÖ®ºó ²ÅÄܱ» CTM ²Ù×÷¡£ <application>CTM</application> δÀ´µÄ¼Æ»® ÆäÖм¸Ï ÔÚ CTM ÖÐʹÓÃһЩÈÏÖ¤·½Ê½£¬ ÕâÑùÀ´ÔÊÐí²ì¾õð³äµÄ CTM ²¹¶¡¡£ ÕûÀí CTM µÄÑ¡Ï ËüÃDZäµÃÔÓÂÒ¶øÎ¥·´Ö±¾õÁË¡£ ÔÓÏî Ò²ÓÐһϵÁÐµÄ ports collection µÄ deltas£¬µ«ÊÇÈËÃǶÔËüµÄÐËÖ»¹Ã»ÓÐÄÇô¸ß¡£ CTM ¾µÏñ CTM/&os; ¿ÉÒÔÔÚÏÂÃæµÄ¾µÏñÕ¾µãͨ¹ýÄäÃû FTP ÏÂÔØ¡£Èç¹ûÄúÑ¡Ôñͨ¹ýÄäÃû FTP »ñÈ¡ CTM£¬ ÇëÊÔ×ÅʹÓÃÒ»¸öÀëÄú½Ï½üµÄÕ¾µã¡£ Èç¹ûÓÐÎÊÌ⣬ÇëÁªÏµ &a.ctm-users.name; ÓʼþÁÐ±í¡£ ¼ÓÀû¸£ÄáÑÇÖÝ£¬¾É½ðɽÍåÇø£¬¹Ù·½Ô´´úÂë ÄÏ·Ç£¬¾ÉµÄ deltas µÄ±¸·Ý·þÎñÆ÷ Öйų́Íå Èç¹ûÄúÔÚÄú¸½½üÕÒ²»µ½¾µÏñ»òÕß¾µÏñ²»ÍêÕû£¬ ÊÔ×ÅʹÓÃËÑË÷ÒýÇæ±ÈÈç alltheweb. ʹÓà CVSup ¸ÅÊö CVSup ÊÇÒ»¸öÓÃÓÚ´ÓÔ¶³Ì·þÎñÆ÷Ö÷»úÉϵÄÖ÷ CVS ²Ö¿â·¢²¼ºÍÉý¼¶Ô´´úÂëÊ÷µÄÈí¼þ°ü¡£ &os; µÄÔ´´úÂëά»¤ÔÚ¼ÓÀû¸£ÄáÑÇÖÝһ̨Ö÷¿ª·¢·þÎñÆ÷µÄ CVS ²Ö¿âÀï¡£ ÓÐÁË CVSup£¬ &os; Óû§¿ÉÒÔºÜÈÝÒ׵ı£³ÖËûÃÇ×Ô¼ºµÄÔ´´úÂëÊ÷¸üС£ CVSup ʹÓÃËùνµÄÉý¼¶ pull ģʽ¡£ÔÚ pull ģʽÏ£¬¿Í»§¶ËÔÚÐèÒªµÄʱºòÏò·þÎñÆ÷¶ËÇëÇó¸üС£ ·þÎñÆ÷±»¶¯µÄµÈ´ý¿Í»§¶ËµÄÉý¼¶ÇëÇó¡£ Òò´ËËùÓеÄÉý¼¶¶¼Êǿͻ§¶Ë·¢ÆðµÄ¡£ ·þÎñÆ÷¾ö²»»á·¢ËÍδÇëÇóµÄÉý¼¶¡£Óû§±ØÐëÊÖ¶¯ÔËÐÐ CVSup ¿Í»§¶Ë»ñÈ¡¸üУ¬ »òÕßÉèÖÃÒ»¸ö cron ×÷ÒµÀ´ÈÃËüÒԹ̶¨µÄ¹æÂÉ×Ô¶¯ÔËÐС£ ÊõÓï CVSupÓôóд×ÖĸдÕýÊDZíʾ£¬ ´ú±íÁËÍêÕûµÄÈí¼þ°ü¡£ ËüµÄÖ÷Òª×é¼þÊÇÔËÐÐÔÚÿ¸öÓû§»úÆ÷ÉϵĿͻ§¶Ë cvsup£¬ ºÍÔËÐÐÔÚÿ¸ö &os; ¾µÏñÕ¾µãÉϵķþÎñÆ÷¶Ë cvsupd¡£ µ±ÄúÔĶÁ &os; ÎĵµºÍÓʼþÁбíʱ£¬Äú¿ÉÄܻῴ¼û sup¡£ Sup ÊÇ CVSup µÄǰÉí£¬ÓÐ×ÅÏàËÆµÄÄ¿µÄ¡£ CVSup ʹÓúܶàºÍ sup ÏàͬµÄ·½Ê½£¬ ¶øÇÒ£¬ Ëü»¹ÊÇÓÃʹÓÃºÍ sup µÄ¼æÈݵÄÅäÖÃÎļþ¡£ Sup ÒѾ­²»ÔÙ±» &os; ÏîĿʹÓÃÁË£¬ ÒòΪ CVSup ¼È¿ìÓÖÓиüºÃµÄÁé»îÐÔ¡£ csup ÊÇÓà C ÓïÑÔ¶Ô CVSup Èí¼þµÄÖØÐ´¡£ Ëü×î´óµÄºÃ´¦ÊÇ£¬ Õâ¸ö³ÌÐò¸ü¿ìһЩ£¬ ²¢ÇÒÒ²²»ÐèÒªÒÀÀµÓÚ Modula-3 ÓïÑÔ£¬ Òò´ËÒ²¾Í²»ÐèÒª°²×°ºóÕß¡£ ÁíÍ⣬ Äú¿ÉÒÔÖ±½ÓʹÓÃËü£¬ ÒòΪËüÊÇ»ù±¾ÏµÍ³µÄÒ»²¿·Ö¡£ ¼ÙÈçÄú¾ö¶¨Ê¹Óà csup£¬ Ôò¿ÉÒÔÌø¹ý°²×° CVSup ÕâÒ»²½£¬ ²¢ÔÚÎÄÕÂÖÐÓàϲ¿·ÖÌáµ½µÄ CVSup ¸ÄΪ csup¡£ °²×° °²×° CVSup ×î¼òµ¥µÄ·½Ê½¾ÍÊÇʹÓà &os; packages collection ÖÐÔ¤±àÒëµÄ net/cvsup °ü¡£ Èç¹ûÄúÏë´ÓÔ´´úÂë¹¹½¨ CVSup£¬ Äú¿ÉÒÔʹÓà net/cvsup port¡£µ«ÊÇÔ¤ÏȾ¯¸æÒ»Ï£º net/cvsup port ÒÀÀµÓÚ Modula-3 ϵͳ£¬»á»¨·ÑÏ൱µÄʱ¼äºÍ´ÅÅ̿ռäÀ´ÏÂÔØ±àÒë¡£ Èç¹ûÏëÔÚûÓа²×° &xorg; µÄ¼ÆËã»ú£¬ ÀýÈç·þÎñÆ÷ÉÏʹÓà CVSup£¬ ÔòÖ»ÄÜʹÓò»°üº¬ CVSup GUI µÄ net/cvsup-without-gui¡£ CVSup ÅäÖà CVSup µÄ²Ù×÷±»Ò»¸ö½Ð×ö supfile µÄÅäÖÃÎļþËù¿ØÖÆ¡£ ÔÚĿ¼ /usr/share/examples/cvsup/ ÏÂÃæÓÐһЩʾÀýµÄ supfiles¡£ supfile ÖеÄÐÅÏ¢½â´ðÁË CVSup ÏÂÃæµÄ¼¸¸öÎÊÌ⣺ ÄúÏë½ÓÊÕ ÄÄЩÎļþ£¿ ÄúÏëÒªËüÃÇµÄ Äĸö°æ±¾£¿ ÄúÏë´ÓÄÄÀï »ñÈ¡ËüÃÇ£¿ ÄúÏë°ÑËüÃÇ ·ÅÔÚÄú×Ô¼º»úÆ÷µÄʲôµØ·½£¿ ÄúÏë°Ñ ÄúµÄ״̬Îļþ·ÅÔÚÄÄ£¿ ÔÚÏÂÃæµÄÕ½ÚÀÎÒÃÇͨ¹ýÒÀ´Î»Ø´ðÕâЩÎÊÌâÀ´´´½¨Ò»¸öµäÐ굀 supfile Îļþ¡£Ê×ÏÈ£¬ÎÒÃÇÃèÊöһϠsupfile µÄÕûÌå¹¹³É¡£ supfile ÊǸöÎı¾Îļþ¡£×¢ÊÍÓà # ¿ªÍ·£¬ÖÁÐÐβÓÐЧ¡£ ¿ÕÐкÍÖ»°üº¬×¢Ê͵ÄÐлᱻºöÂÔ¡£ ÿ¸ö±£ÁôÐÐÃèÊöÒ»ÅúÓû§Ï£Íû½ÓÊÕµÄÎļþ¡£ ÿÐÐÒÔ collection£¬ ÓÉ·þÎñÆ÷¶Ë¶¨ÒåµÄºÏÀíµÄÎļþ·Ö×飬µÄÃû×Ö¿ªÍ·¡£ collection µÄÃû×Ö¸æËß·þÎñÆ÷ÄúÏëÒªµÄÎļþ¡£ collection Ãû×Ö½áÊø»òÕßÓиü¶àµÄ×ֶΣ¬Óÿոñ·Ö¸ô¡£ ÕâЩ×ֶλشðÁËÉÏÃæÁгöµÄÎÊÌâ¡£ ×Ö¶ÎÀàÐÍÓÐÁ½ÖÖ£º±ê¼Ç×ֶκÍÖµ×ֶΡ£ ±ê¼Ç×Ö¶ÎÓɶÀÁ¢µÄ¹Ø¼ü×Ö×é³É£¬±ÈÈ磬 delete »òÕß compress¡£Öµ×Ö¶ÎÒ²Óùؼü×Ö¿ªÍ·£¬ ¹Ø¼ü×ÖºóÃæ¸ú = ºÍµÚ¶þ¸ö´Ê¶øÃ»Óпոñ¡£ ÀýÈ磬release=cvs ÊÇÒ»¸öÖµ×ֶΡ£ Ò»¸öµäÐ굀 supfile ÍùÍù½ÓÊÕ¶àÓÚÒ»¸öµÄ collection¡£´´½¨ supfile µÄÒ»ÖÖ·½Ê½ÊÇÃ÷È·µÄΪÿһ¸ö collection Ö¸¶¨Ïà¹ØµÄ×ֶΡ£È»¶ø£¬ÕâÑùʹµÃ supfile µÄÐбäµÃÌØ±ð³¤£¬ºÜ²»·½±ã£¬ ÒòΪ supfile ÖеÄËùÓÐ collection µÄ´ó²¿·Ö ×ֶζ¼ÊÇÏàͬµÄ¡£ CVSup ÌṩÁËÒ»¸öĬÈÏ»úÖÆÀ´±ÜÃâ ÕâЩÎÊÌâ¡£ÓÃÌØ¶¨µÄα collection Ãû *default ¿ªÍ·µÄÐпÉÒÔ±»ÓÃÀ´ÉèÖñê¼ÇºÍֵΪ supfile ÖÐËæºóµÄ collection ÖеÄĬÈÏÖµ¡£ ĬÈÏÖµ¿ÉÒÔͨ¹ýΪÕâ¸ö collection ×ÔÉíÖ¸¶¨²»Í¬µÄÖµÀ´¶Ôµ¥¸öµÄ collection ¸²¸ÇÉèÖ㬠Ҳ¿ÉÒÔÔÚ mid-supfile ÖÐͨ¹ý¸½¼ÓµÄ *default Ðиıä»òÀ©³ä¡£ ÖªµÀÁËÕâЩ£¬ÎÒÃÇÏÖÔھͿÉÒÔ¿ªÊ¼´´½¨Ò»¸ö ÓÃÓÚ½ÓÊÕºÍÉý¼¶ &os;-CURRENT Ö÷Ô´´úÂëÊ÷µÄ supfile ÎļþÁË¡£ ÄúÏë½ÓÊÕÄÄЩÎļþ£¿ ͨ¹ý CVSup ¿ÉÓõÄÎļþ×éÖ¯³É½Ð×ö collections µÄÃû³Æ×é¡£ ÕâЩ¿ÉÓÃµÄ collection ÔÚ ËæºóµÄÕÂ½Ú ÖÐÃèÊö¡£ ÔÚÕâ¸öÀý×ÓÀ ÎÒÃÇÏ£Íû½ÓÊÕ &os; ϵͳµÄÍêÕûµÄÖ÷´úÂëÊ÷¡£ ÓÐÒ»¸öµ¥¶ÀµÄ´óµÄ collection src-all ÈÃÎÒÃÇÍê³ÉÕâ¸ö¡£ ´´½¨ÎÒÃÇµÄ supfile µÄµÚÒ»²½£¬ ÎÒÃǼòµ¥µÄÁгöÕâЩ collection£¬Ã¿¸öÒ»ÐÐ(ÔÚÕâ¸öÀý×ÓÀ Ö»ÓÐÒ»ÐÐ)£º src-all ÄúÏëÒªËûÃÇµÄ Äĸö°æ±¾£¿ ͨ¹ý CVSup£¬Äúʵ¼ÊÉÏ¿ÉÒÔ½ÓÊÕ Ôø¾­´æÔÚµÄÔ´´úÂëµÄÈκΰ汾¡£ ÕâÊÇÓпÉÄܵģ¬ÒòΪ cvsupd ·þÎñÆ÷Ö±½Óͨ¹ý CVS ²Ö¿â¹¤×÷£¬Äǰüº¬ÁËËùÓеİ汾¡£Äú¿ÉÒÔ Óà tag= ºÍ Öµ×Ö¶Î Ö¸¶¨Ò»¸öÄúÏëÒªµÄ°æ±¾¡£ ×ÐϸµÄÕýÈ·Ö¸¶¨ÈκΠtag= ×ֶΡ£ÓÐһЩ tag Ö»¶ÔÌØ¶¨µÄ collection ÎļþºÏ·¨¡£ Èç¹ûÄúÖ¸¶¨ÁËÒ»¸ö²»ÕýÈ·µÄ»òÕß Æ´Ð´´íÎóµÄ tag£¬CVSup »áɾ³ýÄú¿ÉÄܲ»Ïëɾ³ýµÄÎļþ¡£ ÌØ±ðµØ£¬¶Ô ports-* collection ֻʹÓà tag=.¡£ tag= ×Ö¶ÎÔÚ²Ö¿âÖбíʾΪһ¸ö·ûºÅ±êÇ©¡£ ÓÐÁ½ÖÖ±êÇ©£¬ÐÞ¶©±êÇ©ºÍ·ÖÖ§±êÇ©¡£ ÐÞ¶©±êÇ©´ú±íÒ»¸öÌØ¶¨µÄÐÞ¶©°æ±¾¡£ ËüµÄº¬ÒåÊÇÒ»³É²»±äµÄ¡£ ·ÖÖ§±êÇ©£¬ÁíÒ»·½Ã棬´ú±í¸ø¶¨¿ª·¢ÏßÉϸø¶¨Ê±¼äµÄ×îÐÂÐÞ¶©¡£ ÒòΪ·ÖÖ§±êÇ©²»´ú±íÒ»¸öÌØ¶¨µÄÐÞ¶©°æ±¾£¬ ËüÃ÷ÌìµÄº¬Òå¾Í¿ÉÄܺͽñÌìµÄÓÐËù²»Í¬¡£ °üº¬ÁËÓû§¿ÉÄܸÐÐËȤµÄ·ÖÖ§±êÇ©¡£ µ±ÔÚ CVSup µÄÅäÖÃÎļþÖÐÖ¸¶¨±êÇ©µÄʱºò£¬±ØÐëÓà tag= ¿ªÍ· (RELENG_8 »á±ä³É tag=RELENG_8)¡£ ¼ÇסֻÓÐ tag=. ¿ÉÒÔÓÃÓÚ Ports Collection¡£ ×¢ÒâÏñ¿´µ½µÄÄÇÑùÕýÈ·µÄÊäÈë±êÇ©Ãû¡£ CVSup ²»Äܱæ±ðºÏ·¨ºÍ²»ºÏ·¨±êÇ©¡£ Èç¹ûÄúƴд´íÁ˱êÇ©Ãû£¬ CVSup »áÏñÄúÖ¸¶¨ÁËÒ»¸öûÓÐÈκÎÎļþµÄºÏ·¨±êǩһÑù¹¤×÷£¬ ÄÇ»áɾ³ýÄúÒѾ­´æÔڵĴúÂë¡£ µ±ÄúÖ¸¶¨Ò»¸ö·ÖÖ§±êÇ©µÄʱºò£¬Äúͨ³£»áÊÕµ½¿ª·¢ÏßÉÏÎļþµÄ×îа汾¡£ Èç¹ûÄúÏ£Íû½ÓÊÕһЩ¹ýʱµÄ°æ±¾£¬Äú¿ÉÒÔͨ¹ýÓà ֵ×Ö¶ÎÖ¸¶¨Ò»¸öÈÕÆÚÀ´×öµ½¡£ &man.cvsup.1; ÊÖ²áÒ³½âÊÍÁËÈçºÎÀ´×ö¡£ ¶ÔÓÚÎÒÃǵÄʾÀýÀ´Ëµ£¬ÎÒÃÇÏ£Íû½ÓÊÕ &os;-CURRENT¡£ ÎÒÃÇÔÚÎÒÃÇµÄ supfile µÄ¿ªÍ·Ìí¼ÓÕâÐУº *default tag=. ÓÐÒ»¸öÖØÒªµÄÌØÀý£¬ Èç¹ûÄú¼Èûָ¶¨ tag= ×Ö¶ÎҲûָ¶¨ date= ×ֶεÄÇé¿ö¡£ÕâÖÖÇé¿öÏ£¬ Äú»áÊÕµ½Ö±½ÓÀ´×ÔÓÚ·þÎñÆ÷ CVS ²Ö¿âµÄÕæÊµµÄ RCS Îļþ£¬ ¶ø²»ÊÇÄ³Ò»ÌØ¶¨°æ±¾¡£ ¿ª·¢ÈËÔ±Ò»°ãϲ»¶ÕâÖÖ²Ù×÷ģʽ¡£ ͨ¹ýÔÚËûÃǵÄϵͳÉÏά»¤Ò»·Ý²Ö¿â×ÔÉíµÄ¸±±¾£¬ ËûÃÇ¿ÉÒÔä¯ÀÀÐÞ¶©ÀúÊ·ÒÔ¼°¼ì²éÎļþ¹ýÈ¥µÄ°æ±¾¡£ È»¶ø£¬Õâ¸öºÃ´¦ÊÇÒÔ´óÁ¿µÄ´ÅÅ̿ռäΪ´ú¼ÛµÄ¡£ ÄúÏë´ÓÄÄÀï»ñÈ¡ËûÃÇ£¿ ÎÒÃÇʹÓà host= ×Ö¶ÎÀ´¸æËß cvsup ´ÓÄÄÀï»ñÈ¡¸üС£ ÈκÎÒ»¸ö CVSup ¾µÏñÕ¾µã¶¼¿ÉÒÔ£¬ ËäÈ»ÄúÓ¦¸ÃÑ¡ÔñÒ»¸öÀëÄú±È½Ï½üµÄÕ¾µã¡£ ÔÚÕâ¸öÀý×ÓÀïÎÒÃǽ«Ê¹ÓÃÒ»¸öÐéÄâµÄ &os; ·¢²¼Õ¾µã£¬ cvsup99.FreeBSD.org£º *default host=cvsup99.FreeBSD.org ÄúÐèÒªÔÚÔËÐÐ CVSup ֮ǰ°ÑÕâ¸ö¸Ä³ÉÒ»¸öʵ¼Ê´æÔÚµÄÕ¾µã¡£ ÔÚÈκΠcvsup ÔËÐеÄÌØ¶¨Ê±¿Ì£¬ Äú¶¼¿ÉÒÔÔÚÃüÁîÐÐÉÏʹÓà ѡÏîÀ´¸²¸ÇÖ÷»úÉèÖᣠÄúÏë°ÑËüÃÇ·ÅÔÚ Äú×Ô¼º»úÆ÷µÄʲôµØ·½£¿ prefix= ×ֶθæËß cvsup °Ñ½ÓÊÕµÄÎļþ·ÅÔÚÄÄÀï¡£ ÔÚÕâ¸öÀý×ÓÀÎÒÃǰÑÔ´´úÂëÎļþÖ±½Ó·Å½øÎÒÃǵÄÖ÷Ô´´úÂëÊ÷£¬ /usr/src¡£ src Ŀ¼ÒѾ­Òþº¬ÔÚÎÒÃÇÑ¡Ôñ½ÓÊÕµÄ collection ÀïÁË£¬ ËùÒÔÕýÈ·µÄд·¨ÊÇ£º *default prefix=/usr cvsup ÔÚÄÄÀïά»¤ËüµÄ״̬Îļþ£¿ CVSup ¿Í»§¶ËÔÚ±»½Ð×ö base µÄĿ¼Àïά»¤Á˼¸¸ö״̬Îļþ¡£ ÕâЩÎļþ°ïÖú CVSup ¸üÓÐЧµÄ¹¤×÷£¬ ͨ¹ý¸ú×ÙÄúÒѾ­½ÓÊÕµ½ÄÄЩ¸üеķ½Ê½¡£ ÎÒÃǽ«Ê¹Óñê×¼µÄ base Ŀ¼£¬ /var/db£º *default base=/var/db Èç¹ûÄúµÄ base Ŀ¼»¹²»´æÔÚ£¬ÏÖÔÚ×îºÃ´´½¨Ëü¡£ Èç¹û base Ŀ¼²»´æÔÚ£¬cvsup ¿Í»§¶Ë»á¾Ü¾ø¹¤×÷¡£ ÆäËûµÄ supfile ÉèÖ㺠ÔÚ supfile ÖÐÓÐһЩÆäËûÑ¡ÏîÐèÒª½éÉÜһϣº *default release=cvs delete use-rel-suffix compress release=cvs ÏÔʾ·þÎñÆ÷Ó¦¸Ã´Ó &os; µÄÖ÷ CVS ²Ö¿âÖлñÈ¡ÐÅÏ¢¡£ ÊÂʵÉÏ×ÜÊÇÕâÑùµÄ£¬µ«ÊÇÒ²ÓпÉÄܻᳬ³öÕâ¸öÌÖÂ۵ķ¶Î§¡£ delete ¸ø CVSup ȨÏÞɾ³ýÎļþ¡£ ÄúÓ¦¸Ã×ÜÊÇÖ¸¶¨Õâ¸ö£¬ÕâÑù CVSup ¿ÉÒÔ±£Ö¤ÄúµÄÔ´´úÂëÊ÷ÍêÈ«¸üС£CVSup ºÜСÐĵÄֻɾ³ýÄÇЩ²»ÔÙÒÀÀµµÄÎļþ¡£ ÄúÓµÓеÄÈκζîÍâµÄÎļþ»á±»ÑϸñµÄ±£Áô¡£ use-rel-suffix ÊÇ ... ²»¿É˼ÒéµÄ¡£ Èç¹ûÄúÕæµÄÏëÁ˽âËü£¬²é¿´ &man.cvsup.1; ÊÖ²áÒ³¡£ ·ñÔò£¬¾ÍÖ¸¶¨¶ø²»Óõ£ÐÄÕâ¸ö¡£ compress ÆôÓà gzip ·ç¸ñµÄÐŵÀѹËõ¡£ Èç¹ûÄúµÄÍøÂçÁ¬½ÓÊÇ T1 »òÕ߸ü¿ì£¬ Äú¿ÉÄܲ»ÏëʹÓÃѹËõ¡£ ·ñÔò£¬Ëü·Ç³£ÓаïÖú¡£ °ÑËüÃÇ·ÅÔÚÒ»Æð£º ÕâÊÇÎÒÃǵÄʾÀýµÄÍêÕû supfile Îļþ£º *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all <filename>refuse</filename> Îļþ ÏñÉÏÃæÌáµ½µÄ£¬CVSup ʹÓÃÒ»ÖÖ pull ·½·¨¡£»ù±¾ÉÏ£¬ÕâÒâζ×ÅÄúÒªÁ¬½Óµ½ CVSup ·þÎñÆ÷£¬·þÎñÆ÷˵£¬ ÕâÓÐЩÄúÄÜÏÂÔØµÄ¶«Î÷ ...£¬È»ºóÄúµÄ¿Í»§¶Ë·´Ó¦ºÃ£¬ÎÒÒªÕâ¸ö£¬ Õâ¸ö£¬Õâ¸ö£¬»¹ÓÐÕâ¸ö¡£ÔÚĬÈϵÄÅäÖÃÖУ¬ CVSup ¿Í»§¶Ë»áÈ¡»ØÄúÔÚÅäÖÃÎļþÖÐÑ¡¶¨µÄ collection ºÍ±êÇ©µÄÿ¸öÎļþ¡£ È»¶ø£¬²¢²»×ÜÊÇÄúÏëÒªµÄ£¬ ÓÈÆäÊÇÄúÔÚͬ²½ doc£¬ports£¬»òÕß www Ê÷ — ´ó²¿·ÖÈ˶¼²»ÄÜÔĶÁËÄÖÖ»òÕßÎåÖÖ ÓïÑÔ£¬Òò´ËËûÃDz»ÐèÒªÏÂÔØÌØ¶¨ÓïÑÔµÄÎļþ¡£ Èç¹ûÄúÔÚ CVSup Ports Collection£¬Äú ¿ÉÒÔͨ¹ýµ¥¶ÀÖ¸¶¨Ã¿¸ö collection À´±ÜÃâÕâ¸ö (±ÈÈ磬ports-astrology£¬ ports-biology£¬µÈµÈÈ¡´ú¼òµ¥µÄ˵Ã÷ ports-all)¡£È»¶ø£¬ÒòΪ doc ºÍ www Ê÷ûÓÐÌØ¶¨ÓïÑ﵀ collection£¬Äú±ØÐë ʹÓà CVSup Ðí¶à¼«ºÃµÄÌØÐÔÖ®Ò»£º refuse Îļþ¡£ refuse Îļþ±¾ÖÊÉÏÊǸæËß CVSup Ëü²»Ó¦¸Ã´Ó collection ÖÐÈ¡µÃijЩÎļþ£»»»¾ä»°Ëµ£¬Ëü¸æË߿ͻ§¶Ë ¾Ü¾ø À´×Ô·þÎñÆ÷µÄÌØ¶¨µÄÎļþ¡£ refuse Îļþ¿ÉÒÔÔÚ base/sup/ ÖÐÕÒµ½(»òÕߣ¬Èç¹ûÄúûÓУ¬Ó¦¸Ã´´½¨Ò»¸ö)¡£ base ÔÚÄúµÄ supfile Öж¨Ò壻 ĬÈÏÇé¿öÏ£¬base ¾ÍÊÇ /var/db£¬ ÕâÒâζ×ÅĬÈ쵀 refuse Îļþ¾ÍÊÇ /var/db/sup/refuse¡£ refuse ÎļþµÄ¸ñʽºÜ¼òµ¥£» Ëü½ö½ö°üº¬Äú²»Ï£ÍûÏÂÔØµÄÎļþºÍĿ¼Ãû¡£ ÀýÈ磬Èç¹ûÄú³ýÁËÓ¢ÓïºÍµÂÓïÖ®Íâ²»»á½²ÆäËûÓïÑÔ£¬ ¶øÇÒÒ²²»´òËãÔĶÁµÂÎĵÄÎĵµ·­Òë°æ±¾£¬ Ôò¿ÉÒÔ°ÑÏÂÃæÕâЩ·ÅÔÚÄúµÄ refuse ÎļþÀ doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc/mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* µÈµÈÆäËûÓïÑÔ(Äú¿ÉÒÔͨ¹ýä¯ÀÀ &os; CVS ²Ö¿âÕÒµ½ÍêÕûµÄÁбí)¡£ ÓÐÕâ¸ö·Ç³£ÓÐÓõÄÌØÐÔ£¬ÄÇЩÂýËÙÁ¬½Ó»òÕßҪΪËûÃÇµÄ Internet Á¬½Ó°´Ê±¸¶·ÑµÄÓû§¾Í¿ÉÒÔ½ÚÊ¡±¦¹óµÄʱ¼äÒòΪËûÃDz»ÔÙÐèÒª ÏÂÔØÄÇЩ´ÓÀ´²»ÓõÄÎļþ¡£ÒªÁ˽â refuse ÎļþµÄ¸ü¶àÐÅÏ¢ÒÔ¼°ÆäËü CVSup µÄÓÅÑŵÄÌØÐÔ£¬Çëä¯ÀÀËüµÄ ÊÖ²áÒ³¡£ ÔËÐÐ <application>CVSup</application> ÄúÏÖÔÚ×¼±¸³¢ÊÔÉý¼¶ÁË¡£ÃüÁîºÜ¼òµ¥£º &prompt.root; cvsup supfile supfile µÄλÖõ±È»¾ÍÊÇÄú¸Õ¸Õ´´½¨µÄ supfile ÎļþÃûÀ²¡£ Èç¹ûÄúÔÚ X11 ÏÂÃæÔËÐУ¬cvsup »áÏÔʾһ¸öÓÐһЩ¿ÉÒÔ×öƽ³£ÊÂÇéµÄ°´Å¥µÄ GUI ´°¿Ú¡£ °´ go °´Å¥£¬È»ºó¿´×ÅËüÔËÐС£ ÔÚÕâ¸öÀý×ÓÀïÄú½«ÒªÉý¼¶ÄúĿǰµÄ /usr/src Ê÷£¬Äú½«ÐèÒª Óà root À´ÔËÐгÌÐò£¬ÕâÑù cvsup ÓÐÐèÒªµÄȨÏÞÀ´¸üÐÂÄúµÄÎļþ¡£ ¸Õ¸Õ´´½¨ÁËÄúµÄÅäÖÃÎļþ£¬ÓÖ´ÓÀ´Ã»ÓÐʹÓùýÕâ¸ö³ÌÐò£¬ ½ôÕŲ»°²ÊÇ¿ÉÒÔÀí½âµÄ¡£ÓÐÒ»¸ö¼òµ¥µÄ·½·¨²»¸Ä±äÄúµ±Ç°µÄÎļþ À´×öÒ»´ÎÊÔÑéÐÔµÄÔËÐС£Ö»ÒªÔÚ·½±ãµÄµØ·½´´½¨Ò»¸ö ¿ÕĿ¼£¬²¢ÔÚÃüÁîÐÐÉÏ×÷Ϊһ¸ö¶îÍâµÄ²ÎÊý˵Ã÷£º &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest ÄúÖ¸¶¨µÄĿ¼»á×÷ΪËùÓÐÎļþ¸üеÄÄ¿µÄ·¾¶¡£ CVSup »á¼ì²éÄúÔÚ /usr/src ÖеÄÎļþ£¬µ«ÊDz»»áÐ޸Ļò ɾ³ý¡£ÈκÎÎļþ¸üж¼»á±»·Åµ½ /var/tmp/dest/usr/src ÀïÁË¡£ ÔÚÕâÖÖ·½Ê½ÏÂÔËÐÐ CVSup Ò²»á°ÑËüµÄ base Ŀ¼״̬Îļþ±£³ÖÔ­Ñù¡£ÕâЩÎļþµÄа汾 »á±»Ð´µ½Ö¸¶¨µÄĿ¼¡£ ÒòΪÄúÓÐ /usr/src Ŀ¼µÄ¶ÁȨÏÞ£¬ËùÒÔÖ´ÐÐÕâÖÖÊÔÑéÐÔµÄÔËÐÐ ÉõÖÁ²»ÐèҪʹÓà root Óû§¡£ Èç¹ûÄúûÓÐÔËÐÐ X11 »òÕß²»Ï²»¶ GUI£¬ µ±ÄúÔËÐÐ cvsup µÄʱºòÐèÒªÔÚÃüÁîÐÐÌí¼Ó Á½¸öÑ¡Ï &prompt.root; cvsup -g -L 2 supfile ¸æËß CVSup ²»ÒªÊ¹Óà GUI¡£Èç¹ûÄú ûÔÚÔËÐÐ X11 Õâ¸öÊÇ×Ô¶¯µÄ£¬·ñÔòÄú±ØÐëÖ¸¶¨Ëü¡£ ¸æËß CVSup Êä³öËùÓÐÕýÔÚÉý¼¶µÄÎļþµÄϸ½Ú¡£ ÓÐÈý¸öµÈ¼¶¿ÉÒÔÑ¡Ôñ£¬´Ó µ½ ¡£Ä¬ÈÏÊÇ 0£¬Òâζ×ųýÁË´íÎóÏûÏ¢ ʲô¶¼²»Êä³ö¡£ »¹ÓÐÐí¶àÆäËüµÄÑ¡Ïî¿ÉÓá£ÏëÒªÒ»¸ö¼ò¶ÌµÄÁÐ±í£¬ ÊäÈë cvsup -H¡£Òª²é¿´¸üÏêϸµÄÃèÊö£¬ Çë²é¿´ÊÖ²áÒ³¡£ Ò»µ©Äú¶ÔÉý¼¶¹¤×÷µÄ·½Ê½ÂúÒâÁË£¬Äú¾Í ¿ÉÒÔʹÓà &man.cron.8; À´°²ÅŹæÔòµÄÔËÐÐ CVSup¡£ ºÜÏÔÈ»µÄ£¬Äú²»Ó¦¸ÃÈà CVSup ͨ¹ý &man.cron.8; ÔËÐеÄʱºòʹÓÃËüµÄ GUI¡£ <application>CVSup</application> Îļþ collection CVSup ¿ÉÓõÄÎļþ collection ÊÇ·Ö¼¶×éÖ¯µÄ¡£ Óм¸¸ö´óµÄ collection£¬È»ºóËüÃÇÓзֳɸüСµÄ×Ó collection¡£½ÓÊÕÒ»¸ö´óµÄ collection µÈͬÓÚ ½ÓÊÕËüµÄÿһ¸ö×Ó collection¡£ collection µÄµÈ¼¶¹ØÏµÔÚÏÂÃæÁбíÖÐͨ¹ýËõ½øµÄʹÓà ·´Ó³³öÀ´¡£ ×î³£ÓÃµÄ collection ÊÇ src-all£¬ºÍ ports-all¡£ÆäËüµÄ collection Ö»±»ÓÐ×ÅÌØ¶¨ Ä¿µÄµÄС²¿·ÖÈËʹÓ㬠ÓÐЩվµã¿ÉÄܲ»È«²¿Ö§³Ö¡£ cvs-all release=cvs &os; Ö÷ CVS ²Ö¿â£¬°üº¬ ÃÜÂëϵͳµÄ´úÂë¡£ distrib release=cvs &os; ·¢Ðа汾ºÍ¾µÏñÏà¹ØµÄ Îļþ¡£ doc-all release=cvs &os; ʹÓÃÊÖ²áºÍÆäËüÎĵµµÄÔ´´úÂë¡£ ÆäÖв»°üº¬ &os; web Õ¾µãµÄÎļþ¡£ ports-all release=cvs &os; Ports Collection¡£ Èç¹ûÄú²»ÏëÉý¼¶È«²¿µÄ ports-all(Õû¸ö ports Ê÷)£¬ ¶øÖ»ÊÇʹÓÃÏÂÃæÁгöµÄÒ»¸ö×Ó¼¯£¬ ÇëÈ·±£Äú×ÜÊÇÉý¼¶ÁË ports-base ×Ó collection£¡ ÎÞÂÛºÎʱÔÚ ports ¹¹½¨Ï²㹹ÔìÓÐËù¸Ä±äµÄʱºò¶¼»áͨ¹ý ports-base ±íÏÖ³öÀ´£¬ÊÂʵÉÏijЩ ¸Ä±ä»áºÜ¿ìµÄ±»Êµ¼ÊµÄ ports ʹÓã¬Òò´Ë£¬Èç¹ûÄúÖ»Éý¼¶ÁË Êµ¼ÊµÄ ports ¶øËûÃÇʹÓÃÁËһЩеÄÌØÐÔ£¬ ¾ÍÓм«´óµÄ¿ÉÄܱàÒë»áÒòһЩÉñÃØµÄ´íÎóÐÅÏ¢¶øÊ§°Ü¡£ ÕâÖÖÇé¿öÏ·dz£¿ìËÙµÄÒª×öµÄÊÂÇé ¾ÍÊÇÈ·±£ÄúµÄ ports-base ×Ó collection ¸üе½ ×îС£ Òª×ÔÐй¹½¨ ports/INDEX£¬ Äú ±ØÐë ½ÓÊÜ ports-all (ÍêÕûµÄ ports tree)¡£ ÔÚ²¿·Ö ports tree ÉϹ¹½¨ ports/INDEX ÊDz»±»Ö§³ÖµÄ¡£ Çë²Î¼û FAQ¡£ ports-accessibility release=cvs ÓÃÒÔ°ïÖú²Ð¼²Óû§µÄÈí¼þ¡£ ports-arabic release=cvs °¢À­²®ÓïÖ§³Ö¡£ ports-archivers release=cvs ´æµµ¹¤¾ß¡£ ports-astro release=cvs ÌìÎÄÏà¹ØµÄ ports¡£ ports-audio release=cvs ÉùÒôÖ§³Ö¡£ ports-base release=cvs Ports Collection ¹¹½¨Ï²¿¹¹Ôì - λÓÚ /usr/ports µÄ Mk/ ºÍ Tools/ ×ÓĿ¼µÄ ¸÷ÖÖ¸÷ÑùµÄÎļþ¡£ Çë²é¿´ ÖØÒª¾¯¸æ£ºÄúÓ¦¸Ã ×ÜÊǸüÐÂÕâ¸ö ×Ó collection£¬ÎÞÂÛÄú¸üР&os; Ports Collection µÄÈκβ¿·ÖµÄʱºò£¡ ports-benchmarks release=cvs »ù×¼¡£ ports-biology release=cvs ÉúÎïѧ¡£ ports-cad release=cvs ¼ÆËã»ú¸¨ÖúÉè¼Æ¹¤¾ß¡£ ports-chinese release=cvs ÖÐÎÄÓïÑÔÖ§³Ö¡£ ports-comms release=cvs ͨÐÅÈí¼þ¡£ ports-converters release=cvs ×Ö·û±àÂëת»»¡£ ports-databases release=cvs Êý¾Ý¿â ports-deskutils release=cvs ¼ÆËã»ú·¢Ã÷ǰ³£³öÏÖÔÚ×ÀÃæÉϵĶ«Î÷¡£ ports-devel release=cvs ¿ª·¢¹¤¾ß¡£ ports-dns release=cvs DNS Ïà¹ØÈí¼þ¡£ ports-editors release=cvs ±à¼­Æ÷ ports-emulators release=cvs ÆäËü²Ù×÷ϵͳµÄÄ£ÄâÆ÷ ports-finance release=cvs »õ±Ò£¬½ðÈÚÏà¹ØÓ¦ÓóÌÐò¡£ ports-ftp release=cvs FTP ¿Í»§¶ËºÍ·þÎñÆ÷¶Ë¹¤¾ß¡£ ports-games release=cvs ÓÎÏ· ports-german release=cvs µÂÓïÖ§³Ö¡£ ports-graphics release=cvs ͼÐÎͼÏñ¹¤¾ß¡£ ports-hebrew release=cvs Ï£²®À´ÓïÖ§³Ö¡£ ports-hungarian release=cvs ÐÙÑÀÀûÓïÑÔÖ§³Ö¡£ ports-irc release=cvs Internet ¶àÏß½»Ì¸(IRC)¹¤¾ß¡£ ports-japanese release=cvs ÈÕÓïÖ§³Ö¡£ ports-java release=cvs &java; ¹¤¾ß¡£ ports-korean release=cvs º«¹úÓïÑÔÖ§³Ö¡£ ports-lang release=cvs ±à³ÌÓïÑÔ¡£ ports-mail release=cvs ÓʼþÈí¼þ¡£ ports-math release=cvs ÊýÖµ¼ÆËãÈí¼þ¡£ ports-misc release=cvs ÔÓÑù¹¤¾ß¡£ ports-multimedia release=cvs ¶àýÌåÈí¼þ¡£ ports-net release=cvs ÍøÂçÈí¼þ¡£ ports-net-im release=cvs ¼´Ê±ÏûÏ¢Èí¼þ¡£ ports-net-mgmt release=cvs Íø¹ÜÈí¼þ¡£ ports-net-p2p release=cvs ¶ÔµÈÍø (peer to peer network) Ó¦Óᣠports-news release=cvs USENET ÐÂÎÅÈí¼þ¡£ ports-palm release=cvs Palm ϵÁÐÈí¼þÖ§³Ö¡£ ports-polish release=cvs ²¨À¼ÓïÖ§³Ö¡£ ports-ports-mgmt release=cvs ÓÃÓÚ¹ÜÀí ports ºÍÔ¤±àÒë°üµÄ¹¤¾ß¡£ ports-portuguese release=cvs ÆÏÌÑÑÀÓïÖ§³Ö¡£ ports-print release=cvs ´òÓ¡Èí¼þ¡£ ports-russian release=cvs ¶íÓïÖ§³Ö¡£ ports-science release=cvs ¿ÆÑ§¼ÆËã¡£ ports-security release=cvs °²È«¹¤¾ß¡£ ports-shells release=cvs ÃüÁîÐÐ shell¡£ ports-sysutils release=cvs ϵͳʵÓù¤¾ß¡£ ports-textproc release=cvs Îı¾´¦Àí¹¤¾ß(²» °üº¬×ÀÃæ³ö°æ)¡£ ports-ukrainian release=cvs ÎÚ¿ËÀ¼ÓïÖ§³Ö¡£ ports-vietnamese release=cvs Ô½ÄÏÓïÖ§³Ö¡£ ports-www release=cvs ÍòÎ¬Íø(WWW)Ïà¹ØÈí¼þ¡£ ports-x11 release=cvs Ö§³Ö X window ϵͳµÄ ports¡£ ports-x11-clocks release=cvs X11 ʱÖÓ¡£ ports-x11-drivers release=cvs X11 Çý¶¯³ÌÐò¡£ ports-x11-fm release=cvs X11 Îļþ¹ÜÀíÆ÷¡£ ports-x11-fonts release=cvs X11 ×ÖÌåºÍ×ÖÌ幤¾ß¡£ ports-x11-toolkits release=cvs X11 ¹¤¾ß°ü¡£ ports-x11-servers release=cvs X11 ·þÎñÆ÷¡£ ports-x11-themes release=cvs X11 Ö÷Ìâ¡£ ports-x11-wm release=cvs X11 ´°¿Ú¹ÜÀíÆ÷¡£ projects-all release=cvs &os; ÄÚ²¿ÏîÄ¿µÄ´úÂë¿â¡£ src-all release=cvs &os; Ö÷´úÂ룬°üº¬ÃÜÂëϵͳµÄ´úÂë¡£ src-base release=cvs /usr/src ¶¥²ãµÄ¸÷ʽ¸÷ÑùµÄÎļþ¡£ src-bin release=cvs µ¥Óû§Ä£Ê½Ï¿ÉÄÜÓõ½µÄÓû§¹¤¾ß (/usr/src/bin)¡£ src-cddl release=cvs ²ÉÓÃÁË CDDL ÊÚȨµÄʵÓù¤¾ßºÍº¯Êý¿â (/usr/src/cddl)¡£ src-contrib release=cvs &os; ÏîĿ֮ÍâµÄ¹¤¾ßºÍ¿â£¬Í¨³£ÔÚ &os; Öв»×÷ÐÞ¸Ä (/usr/src/contrib)¡£ src-crypto release=cvs &os; ÏîĿ֮ÍâµÄ ÃÜÂëϵͳ¹¤¾ßºÍ¿â£¬Í¨³£ÔÚ &os; Öв»×÷ÐÞ¸Ä (/usr/src/crypto)¡£ src-eBones release=cvs Kerberos ºÍ DES (/usr/src/eBones)¡£ ĿǰµÄ &os; Öв»ÔÙʹÓÃʹÓᣠsrc-etc release=cvs ϵͳÅäÖÃÎļþ (/usr/src/etc)¡£ src-games release=cvs ÓÎÏ· (/usr/src/games)¡£ src-gnu release=cvs GNU ¹«¹²Ðí¿ÉЭÒéµÄ¹¤¾ß (/usr/src/gnu)¡£ src-include release=cvs Í·Îļþ (/usr/src/include)¡£ src-kerberos5 release=cvs Kerberos5 °²È«°ü (/usr/src/kerberos5)¡£ src-kerberosIV release=cvs KerberosIV °²È«°ü (/usr/src/kerberosIV)¡£ src-lib release=cvs ¿â (/usr/src/lib)¡£ src-libexec release=cvs ͨ³£±»ÆäËü³ÌÐòµ÷ÓõÄϵͳ³ÌÐò (/usr/src/libexec)¡£ src-release release=cvs Éú³É &os; °æ±¾±ØÐèµÄÎļþ (/usr/src/release)¡£ src-rescue release=cvs ÓÃÓÚ½ô¼±ÐÞ¸´µÄ¾²Ì¬Áª±àµÄ³ÌÐò£» Çë²Î¼û &man.rescue.8; (/usr/src/rescue)¡£ src-sbin release=cvs µ¥Óû§Ä£Ê½µÄϵͳ¹¤¾ß (/usr/src/sbin)¡£ src-secure release=cvs ÃÜÂëÏà¹Ø¿âºÍÃüÁî (/usr/src/secure)¡£ src-share release=cvs ¿ç¶à¸öƽ̨µÄ¹²ÏíµÄÎļþ (/usr/src/share)¡£ src-sys release=cvs ÄÚºË (/usr/src/sys)¡£ src-sys-crypto release=cvs ÄÚºËÃÜÂëϵͳ´úÂë (/usr/src/sys/crypto)¡£ src-tools release=cvs ά»¤ &os; µÄ¸÷ÖÖ¸÷ÑùµÄ¹¤¾ß (/usr/src/tools)¡£ src-usrbin release=cvs Óû§¹¤¾ß (/usr/src/usr.bin)¡£ src-usrsbin release=cvs ϵͳ¹¤¾ß (/usr/src/usr.sbin)¡£ www release=cvs &os; WWW Õ¾µãµÄÔ´´úÂë¡£ distrib release=self CVSup ·þÎñÆ÷µÄ ÅäÖÃÎļþ¡£ÓÃÓÚ CVSup ¾µÏñÕ¾µã¡£ gnats release=current GNATS bug ¸ú×ÙÊý¾Ý¿â¡£ mail-archive release=current &os; ÓʼþÁÐ±í´æµµ¡£ www release=current Ô¤´¦Àí¹ýµÄ &os; WWW Õ¾µãÎļþ(²»ÊÇÔ´Îļþ)¡£ ÓÃÓÚ WWW ¾µÏñÕ¾µã¡£ ¸ü¶àÐÅÏ¢ CVSup FAQ ÒÔ¼°¹ØÓÚ CVSup µÄÆäËûÐÅÏ¢£¬ Çë²é¿´ CVSup Ö÷Ò³¡£ ¶àÊýÓë &os; ÓÐ¹ØµÄ CVSup ÌÖÂÛ»áÔÚ &a.hackers; ½øÐС£ Õâ¸öÈí¼þµÄа汾»áÔÚÄÇÀïºÍ &a.announce; ¹«²¼¡£ Èç¹û¶ÔÓÚ CVSup ÓÐÈκÎÎÊÌ⣬ »òÏ£ÍûÌá½» bug ±¨¸æ£¬ Çë²ÎÔÄ CVSup FAQ¡£ CVSup Õ¾µã &os; µÄ CVSup ·þÎñÆ÷ÔËÐÐÓÚ ÏÂÁÐÕ¾µã£º &chap.mirrors.cvsup.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.cvsup.inc; CVS ±êÇ© µ±Ê¹Óà cvs »òÕß CVSup »ñÈ¡ºÍÉý¼¶Ô´´úÂëµÄʱºò£¬±ØÐëÖ¸¶¨Ò»¸öÐÞ¶©±êÇ©¡£ ÐÞ¶©±êÇ©´ú±í &os; ¿ª·¢µÄÒ»¸öÌØ¶¨·ÖÖ§£¬ »òÕßÒ»¸öÌØ¶¨µÄʱ¼äµã¡£µÚÒ»ÖÖ½Ð×ö ·ÖÖ§±êÇ©£¬µÚ¶þÖÖ½Ð×ö °æ±¾±êÇ©¡£ ·ÖÖ§±êÇ© ËùÓÐÕâЩ£¬³ýÁË HEAD (Õâ¸ö×ÜÊÇ ºÏ·¨±êÇ©)ÒÔÍ⣬ֻÊÊÓÃÓÚ src/ Ê÷¡£ports/£¬doc/£¬ºÍ www/ Ê÷ûÓзÖÖ§¡£ HEAD Ö÷ÏߵķûºÅÃû£¬»òÕß˵ &os;-CURRENT¡£ µ±Ã»ÓÐÖ¸¶¨ÐÞ¶©°æ±¾µÄʱºòÒ²ÊÇĬÈϵġ£ ÔÚ CVSup ÀÕâ¸ö±êǩͨ¹ý Ò»¸ö . À´·´Ó³³öÀ´(²»ÊDZêµã£¬¶øÊÇÒ»¸ö . ×Ö·û)¡£ ÔÚ CVS Àµ±Ã»ÓÐÐÞ¶©±êǩָ¶¨Ê±ÕâÊÇĬÈϵġ£ ÔÚһ̨ STABLE »úÆ÷Éϼì³ö»òÕßÉý¼¶µ½ CURRENT Ô´´úÂë ͨ³£²»ÊÇ Ò»¸öºÃÖ÷Ò⣬³ý·ÇÕâÊÇÄúµÄ±¾Òâ¡£ RELENG_8 ÕâÊÇ &os;-8.X µÄ¿ª·¢·ÖÖ§£¬ Ò²±»³Æ×÷ &os; 8-STABLE¡£ RELENG_8_2 ÕâÊÇ &os;-8.2 ·¢Ðаæ·ÖÖ§£¬Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_8_1 &os;-8.1 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_8_0 &os;-8.0 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_7 ÕâÊÇ &os;-7.X µÄ¿ª·¢·ÖÖ§£¬ Ò²±»³Æ×÷ &os; 7-STABLE¡£ RELENG_7_4 &os;-7.4 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_7_3 &os;-7.3 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_7_2 &os;-7.2 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_7_1 &os;-7.1 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_7_0 &os;-7.0 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_6 ÕâÊÇ &os;-6.X µÄ¿ª·¢·ÖÖ§£¬ Ò²±»³Æ×÷ &os; 6-STABLE¡£ RELENG_6_4 &os;-6.4 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_6_3 &os;-6.3 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_6_2 &os;-6.2 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_6_1 &os;-6.1 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_6_0 &os;-6.0 µÄ·¢Ðаæ·ÖÖ§£¬ Ö»ÓÃÓÚ°²È«¹«¸æ£¬ ÒÔ¼°ÆäËûÖØÒª¸üС£ RELENG_5 ÕâÊÇ &os;-5.X µÄ¿ª·¢·ÖÖ§£¬ Ò²±»³Æ×÷ &os; 5-STABLE¡£ RELENG_5_5 &os;-5.5 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_5_4 &os;-5.4 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_5_3 &os;-5.3 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_5_2 Õë¶Ô &os;-5.2 ºÍ &os;-5.2.1 µÄ°²È«·ÖÖ§£¬ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_5_1 Õë¶Ô &os;-5.1 µÄ·¢Ðа汾·ÖÖ§£¬ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_5_0 Õë¶Ô &os;-5.0 µÄ·¢Ðа汾·ÖÖ§£¬ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_4 &os;-4.X ¿ª·¢Ïߣ¬Ò²±»½Ð×ö &os;-STABLE¡£ RELENG_4_11 &os;-4.11 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_4_10 &os;-4.10 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_4_9 &os;-4.9 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_4_8 &os;-4.8 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_4_7 &os;-4.7 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_4_6 &os;-4.6 ºÍ 4.6.2 µÄ°²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_4_5 &os;-4.5 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_4_4 &os;-4.4 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_4_3 &os;-4.3 °²È«·ÖÖ§¡£ Ö»±»°²È«¹«¸æºÍÆäËüÖØÒª¸üÐÂʹÓᣠRELENG_3 &os;-3.X µÄ¿ª·¢Ïߣ¬Ò²±»½Ð×ö 3.X-STABLE¡£ RELENG_2_2 &os;-2.2.X µÄ¿ª·¢Ïߣ¬ Ò²±»½Ð×ö 2.2-STABLE¡£ Õâ¸ö·ÖÖ§»ù±¾ÉÏÒѾ­¹ýʱÁË¡£ °æ±¾±êÇ© µ±Ò»¸öÌØ¶¨µÄ &os; °æ±¾·¢ÐÐʱ£¬ ÕâЩ±êÇ©´ú±íÁËÒ»¸öÖ¸¶¨µÄʱ¼äµã¡£·¢²¼¹¤³Ì½ø³ÌÔÚ Release Engineering Information ºÍ Release Process ÎĵµÖб»ÏêϸÃèÊö¡£ src Ê÷ʹÓÃÒÔ RELENG_ ¿ªÍ·µÄ±êÇ©¡£ ports ºÍ doc Ê÷ʹÓÃÒÔ RELEASE ¿ªÍ·µÄ±êÇ©¡£ ×îºó£¬ www Ê÷Éϲ»»áÓÐÈκÎÌØ¶¨·¢ÐаæµÄ±êÇ©¡£ RELENG_8_2_0_RELEASE &os; 8.2 RELENG_8_1_0_RELEASE &os; 8.1 RELENG_8_0_0_RELEASE &os; 8.0 RELENG_7_4_0_RELEASE &os; 7.4 RELENG_7_3_0_RELEASE &os; 7.3 RELENG_7_2_0_RELEASE &os; 7.2 RELENG_7_1_0_RELEASE &os; 7.1 RELENG_7_0_0_RELEASE &os; 7.0 RELENG_6_4_0_RELEASE &os; 6.4 RELENG_6_3_0_RELEASE &os; 6.3 RELENG_6_2_0_RELEASE &os; 6.2 RELENG_6_1_0_RELEASE &os; 6.1 RELENG_6_0_0_RELEASE &os; 6.0 RELENG_5_5_0_RELEASE &os; 5.5 RELENG_5_4_0_RELEASE &os; 5.4 RELENG_4_11_0_RELEASE &os; 4.11 RELENG_5_3_0_RELEASE &os; 5.3 RELENG_4_10_0_RELEASE &os; 4.10 RELENG_5_2_1_RELEASE &os; 5.2.1 RELENG_5_2_0_RELEASE &os; 5.2 RELENG_4_9_0_RELEASE &os; 4.9 RELENG_5_1_0_RELEASE &os; 5.1 RELENG_4_8_0_RELEASE &os; 4.8 RELENG_5_0_0_RELEASE &os; 5.0 RELENG_4_7_0_RELEASE &os; 4.7 RELENG_4_6_2_RELEASE &os; 4.6.2 RELENG_4_6_1_RELEASE &os; 4.6.1 RELENG_4_6_0_RELEASE &os; 4.6 RELENG_4_5_0_RELEASE &os; 4.5 RELENG_4_4_0_RELEASE &os; 4.4 RELENG_4_3_0_RELEASE &os; 4.3 RELENG_4_2_0_RELEASE &os; 4.2 RELENG_4_1_1_RELEASE &os; 4.1.1 RELENG_4_1_0_RELEASE &os; 4.1 RELENG_4_0_0_RELEASE &os; 4.0 RELENG_3_5_0_RELEASE &os;-3.5 RELENG_3_4_0_RELEASE &os;-3.4 RELENG_3_3_0_RELEASE &os;-3.3 RELENG_3_2_0_RELEASE &os;-3.2 RELENG_3_1_0_RELEASE &os;-3.1 RELENG_3_0_0_RELEASE &os;-3.0 RELENG_2_2_8_RELEASE &os;-2.2.8 RELENG_2_2_7_RELEASE &os;-2.2.7 RELENG_2_2_6_RELEASE &os;-2.2.6 RELENG_2_2_5_RELEASE &os;-2.2.5 RELENG_2_2_2_RELEASE &os;-2.2.2 RELENG_2_2_1_RELEASE &os;-2.2.1 RELENG_2_2_0_RELEASE &os;-2.2.0 AFS Õ¾µã &os; µÄ AFS ·þÎñÆ÷ÔËÐÐÓÚÏÂÃæµÄÕ¾µã£º Èðµä ÎļþµÄ·¾¶ÊÇ£º /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se ά»¤Õß ftp@stacken.kth.se rsync Õ¾µã ÏÂÃæµÄÕ¾µãÈà &os; ¿ÉÒÔͨ¹ý rsync ЭÒéÏÂÔØ¡£ rsync ʵÓóÌÐòºÍ &man.rcp.1; µÄ¹¤×÷·½Ê½ºÜÏàÏñ£¬ µ«ÊÇÓиü¶àµÄÑ¡ÏʹÓà rsync Ô¶³Ì¸üÐÂЭÒéÖ»´«Êä Á½·ÝÎļþµÄ²»Í¬Ö®´¦£¬ Òò´ËÄܹ»´ó·ù¶ÈµÄÌá¸ßÍøÂçͬ²½ËÙÂÊ¡£ Èç¹ûÄúÊÇ &os; FTP ·þÎñÆ÷»òÕß CVS ²Ö¿âµÄ¾µÏñÕ¾µã£¬ ÕâÒ»µã·Ç³£ÓÐÓᣠrsync Ì×¼þ¿ÉÒÔ¹¤×÷ÔÚÐí¶àÖÖ ²Ù×÷ϵͳÉÏ£¬ÔÚ &os; ÉÏ£¬²é¿´ net/rsync port »òÕßʹÓà package¡£ ½Ý¿Ë¹²ºÍ¹ú rsync://ftp.cz.FreeBSD.org/ ¿ÉÓÃµÄ collection£º ftp£º &os; FTP ·þÎñÆ÷µÄ ²¿·Ö¾µÏñ¡£ &os;£º &os; FTP ·þÎñÆ÷µÄ ÍêÕû¾µÏñ¡£ ºÉÀ¼ rsync://ftp.nl.FreeBSD.org/ ¿ÉÓÃµÄ collection£º &os;: ¶ÔÓÚ &os; FTP ·þÎñÆ÷µÄÍêÕû¾µÏñ¡£ ¶íÂÞ˹ rsync://ftp.mtu.ru/ ¿ÉÓÃµÄ collections: &os;: ÍêÕûµÄ &os; FTP ·þÎñÆ÷¾µÏñ¡£ &os;-gnats: GNATS ÎÊÌâ×·×ÙÊý¾Ý¿â¡£ &os;-Archive: &os; µµ°¸µÄ FTP ·þÎñÆ÷¾µÏñ¡£ Èðµä rsync://ftp4.se.freebsd.org/ ¿ÉÓÃµÄ collections£º &os;£º &os; FTP ·þÎñÆ÷µÄÍêÕû¾µÏñ¡£ ̨ÍåµØÇø (Öйú) rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ ¿ÉÓÃµÄ collection£º &os;£º &os; FTP ·þÎñÆ÷µÄÍêÕû¾µÏñ¡£ Ó¢¹ú rsync://rsync.mirrorservice.org/ ¿ÉÓÃµÄ collection£º sites/ftp.FreeBSD.org: &os; FTP ·þÎñÆ÷ µÄÍêÕû¾µÏñ¡£ ÃÀ¹ú rsync://ftp-master.FreeBSD.org/ ·þÎñÆ÷Ö»¹© &os; Ö÷¾µÏñÕ¾µãʹÓᣠ¿ÉÓÃµÄ collection£º &os;£º&os; FTP ·þÎñÆ÷µÄÖ÷Òª´æµµ¡£ acl£º&os; Ö÷ ACL ÁÐ±í¡£ rsync://ftp13.FreeBSD.org/ ¿ÉÓÃµÄ collection£º &os;£º&os; FTP ·þÎñÆ÷µÄÍêÕû ¾µÏñ¡£
diff --git a/zh_TW.Big5/articles/contributing/article.xml b/zh_TW.Big5/articles/contributing/article.xml index 6b2e31f503..c755d6d3bd 100644 --- a/zh_TW.Big5/articles/contributing/article.xml +++ b/zh_TW.Big5/articles/contributing/article.xml @@ -1,484 +1,484 @@
À°§U FreeBSD µL½×¬O­Ó¤H©Î¬O¦UºØ²Õ´¡A¦pªG§Æ±æ¬° FreeBSD ´£¨ÑÀ°§U¡A³£¥i¥H¦b¥»¤å¤¤§ä¨ì¦X¾Aªº¤èªk¡C Jordan Hubbard ­ìµÛ¡G &tm-attrib.freebsd; &tm-attrib.ieee; &tm-attrib.general; $FreeBSD$ $FreeBSD$ °^Äm §A§Æ±æ´À FreeBSD °µÂI¤°»ò¶Ü¡H¤Ó¦n¤F¡A§Ú­ÌÅwªï§A¡CFreeBSD ¥¿¬O¦³¿à©ó¼s¤j¨Ï¥ÎªÌªº°^Äm¤~±o¥Hµo®i§§¤jªº¡C§Ú­Ì¤£¶È«D±`·PÁ±z©Ò°µªº°^Äm¡A¦Ó¥B¡A³o¨Ç¤u§@¹ï©ó FreeBSD ªº«ùÄòµo®i¤]¦ÜÃö­«­n¡C ¤]³\»P±z·Q¹³ªº¤£¦P¡A±z¬J¤£¥²±o¬O¤@¦W¥X¦âªº Programmer¡A¤]µL¶·©M FreeBSD core team ¦¨­û¦³«Ü¦nªº¨p¥æ¡A§Ú­Ì·|¤@µø¦P¤¯ªº¹ï«Ý±zªº¤u§@¡C FreeBSD ªº¶}µo¤H­û¹M¥¬¥þ²y¡A¤j®a§Þ³N±Mªø¦U²§¡A¦~ÄÖ¤À¥¬¤]«D±`¼sªx¡C µM¦Ó¡A¨C¤Ñ§Ú­Ì³£¦b­±¹ï«ùÄò¼W¥[ªº¤u§@¡A¦Ó­W©ó¨S¦³¨¬°÷ªº¤H¤â¡A¦]¦¹§Ú­ÌÀH®ÉÅwªï±zªºÀ°§U¡C FreeBSD ­p¹º©Ò³B²zªº¬O¤@­Ó§¹¾ãªº§@·~¨t²ÎÀô¹Ò¡A¦Ó¤£¥u¬O¤@­Ó kernel ©Î¬O¤@¨Ç¹s´²ªº¤u¨ã¥]¡C ¦]¦¹¡A§Ú­Ìªº TODO «Ý¿ì¥ô°È¦Cªí¸Ì¥]§t¦U¦¡¦U¼Ëªº¤u§@¡G ±q¤å¥ó¡B¨Ï¥ÎªÌ´ú¸Õ¡Bdemo¡A¨ì¨t²Î¦w¸Ëµ{¦¡©M§ó±M·~ªº kernel ¶}µo¡C ¦]¦¹µL½×±zªº§Þ³N¤ô·Ç¦p¦ó¡A±q¨Æ¦óºØ»â°ì¡A³£¥i¥HÀ°§U³o­Ó­p¹º¡C §Ú­Ì¹ªÀy±q¨Æ©M FreeBSD ¬ÛÃö¤u§@ªº¥ø·~©M§Ú­ÌÁpô¡C ±z»Ý­n¤@¨Ç¯S®íªºÂX®i¨Ó¨Ï±zªº²£«~¹BÂà°_¨Ó¶Ü¡H ±z·|µo²{§Ú­Ì«Ü¼Ö·NµªÀ³±zªº½Ð¨D¡A°£«D¬O¯S§Oµ}©_¥j©Çªº¡C ±z¬O§_¥¿±q¨Æ¬ÛÃöªº¼W­È·~°È¡H Åý§Ú­Ì¨ÓÀ°§U±z§a¡A §Ú­Ì¤]³\¥i¥H¦b¬Y¨Ç¤è­±¬Û¤¬¦X§@¡C ¦Û¥Ñ³nÅé¬É¥¿¦b§V¤O¥´¯}¦³ªº®Ø®Ø(¹³¬OÃö©ó³nÅé¶}µo¡B¾P°â©MºûÅ@)¡A §Ú­Ì§Æ±æÀµ½Ð±z¦Ü¤Ö¯àµ¹¥¦¤@¦¸¾÷·|¡C §Ú­Ìªº»Ý¨D ¤U­±¦C¥X¤F¤@¨Ç»Ý­n§¹¦¨ªº¥ô°È©M¤l­p¹º¡A ¥¦­Ì¥Nªí TODO(«Ý¿ì¥ô°È¦Cªí) ¦Cªíªº·N«ä¡A¥H¤Î¨Ï¥ÎªÌªº­n¨D¡C ¥¿¦b¶i¦æ¤¤ªº¥ô°È(«Dµ{¦¡¶}µo¤H­û) «Ü¦h°Ñ¥[ FreeBSD ­p¹ºªº¤H¤£¬O Programmer¡C ³o­Ó­p¹º¸Ì¦³¤å¥ó¼¶¼gªÌ¡Bºô­¶³]­p®v¡B¥H¤Î§Þ³N¤ä´©¤H­û¡C ¹ï©ó³o¨Ç¸q¤u¨Ó»¡¡A¥L­Ì¥u»Ý­n°^Äm¤@¨Ç®É¶¡¡A¨Ã¥B¨ã¦³¾Ç²ßªº·NÄ@¡C ±z¥i¥H®É±`½¾\ FAQ ©M¤â¥U(Handbook) ¡A¦pªGµo²{¦³¸ÑÄÀ¤£²M·¡ªº¦a¤è¡A©Î¬O¤£¦X®É©yªº¤å¥ó¡A¬Æ¦Ü§¹¥þ¤£¥¿½Tªº¦a¤è¡A ³£½Ð§i¶D§Ú­Ì¡C·íµM¡A­Y¯à¶¶¤â§â¥L­Ì­×¥¿¡A¨Ã§â°É»~±Hµ¹§Ú­Ì¡A¨º´N§ó¦n¤F¡C:) (SGML ¨ä¹ê¨Ã¤£Ãø¾Ç¡A¦ý§Ú­Ì¤]¤£¤Ï¹ï±zª½±µ´£¥æ¤@¯ë ASCII ªº¯Â¤å¦rª©¥»)¡C À°§U§Ú­Ì§â FreeBSD ¤å¥ó½Ķ¦¨§Aªº¥À»y¡C ¦pªG§Aªº¥À»yª©¥»¤w¸g¦s¦b¤F¡A ¤]¥i¥H½Ķ¤@¨ÇÃB¥~ªº¤å¥ó¡A©ÎªÌÀˬd¨º¨Ç¤w¦³ªº¤å¥ó¬O§_¬°³Ì·sª©¡C ±z¥i¥H¥ý²³æ¬Ý¬Ý FreeBSD ¤å¥ó­p¹º¤¤¦³Ãö ½Ķ®Éªº±`¨£°ÝÃD¡C °Ñ¥[½Ķ¤u§@¡A¨Ã¤£¬O»¡±z­n©t­x¾Ä¾Ô½Ķ©Ò¦³ FreeBSD ¤å¥ó¡C ¨­¬°¸q¤u¡A­n°µ¦h¤Ö¤u§@§¹¥þ¨ú¨M©ó±zªº·NÄ@¡C¤@¥¹¬Y­Ó¤H¶}©l½Ķ¤F¡A ¤§«á´X¥G¤@©w·|¦³¨ä¥L¤H°Ñ»P¨ì³o¨Ç¤u§@¤¤¨Ó¡C ¦pªG®É¶¡¦³­­¡A©ÎªÌºë¤O¤£°÷¥h½Ķ¾ã¥÷¤å¥ó¡A¨º¥i¥H­º¥ý¥h½Ķ¦w¸Ë«ü«n¡C ¾\Ū &a.questions; ¨Ã°¸º¸Â½¾\(¬Æ¦Ü¦³³W«ß¦a³o¼Ë°µ) &ng.misc; ¡C»P§O¤H¤À¨É±zªº±M·~ª¾ÃÑ¡A ¨ÃÀ°§U¥L­Ì¸Ñ¨M°ÝÃD¡A¬O¥ó¥O¤H´r®®ªº¨Æ±¡¡F ¦³®É­Ô¡A±z¬Æ¦Ü¥i¥H¦b³o­Ó¹Lµ{¤¤¾Ç¨ì¤@¨Ç·sªF¦è¡I ³o¨Ç½×¾Â¦³®É¤]·|¬°±z¿Eµo¥X¤@¨Ç¤£¿ùªº·Qªk¡C ¥¿¦b¶i¦æ¤¤ªº¥ô°È(µ{¦¡¶}µo¤H­û) ¦C¦b³o¸Ìªº¤j³¡¤À¥ô°È³£»Ý­n±z§ë¤J¥iÆ[ªº®É¶¡¡A©ÎªÌ»Ý­n±z¦b FreeBSD kernel ¤è­±¦³Â×´Iªºª¾ÃÑ¡A©ÎªÌ¨âªÌ³£­n¡C·íµM³o¸Ì¤]¦³«Ü¦h­«­nªº¥ô°È¡A¾A¦X¹³¬O weekend hackers ³oÃþ¥u¥Î¶g¥½´N¥i¥H·d©wªº Hacker¡C ¦pªG±z¥¿¦b¶]ªº¬O FreeBSD -CURRENT ª©¥»¡A¨Ã¥Bºô¸ô³t«×ÁÙ¤£¿ù¡A ¨º»ò¥i¥H¨ì current.FreeBSD.org¡A ³o¥x¨C¤Ñ·|¦³¤@­Ó·sª©¥» — ¦pªG±z¦³ªÅ¡A ±z¥i¥H¤T¤£¤­®É¤U¸ü¨Ã¦w¸Ë¡A ¨ä¶¡¦pªG¥X¤F¤°»ò°ÝÃD¡A½Ð§i¶D§Ú­Ì¡C ¾\Ū &a.bugs;¡C³o¨Ç°ÝÃD¡A©Î³\±z¯à´£¨Ñ¦³«Ø³]©Ê·N¸qªº·N¨£¡A ©ÎªÌÀ°¦£´ú¸Õ¤@¨Ç patch ¡C¦¹¥~¡A¬Æ¦Ü¥i¥H¹Á¸Õ­×¥¿¨ä¤¤ªº¤@¨Ç°ÝÃD¡C ¦pªG±zª¾¹D¦³¤@¨Ç­×¥¿¤w¸g¦b -CURRENT ¤W¦¨¥\¦a¨Ï¥Î¡A ¦ý¦b¸g¹L¤@¬q®É¶¡(³q±`¬O 2 ¶g¥ª¥k)¤§«á¡A¤´¥¼¦X¨Ö¨ì -STABLE (³o¨BÆJ´N¬O MFC -- Merged From Current)¡A¨º»ò¥i¥Hµ¹¬ÛÃöªº committer ¤H­ûµo«Ê§»ªªº´£¿ô«H¡C ±N²Ä¤T¤è(3rd party)³nÅé¥[¤J¨ì­ì©l½X¤¤ªº src/contrib ¥Ø¿ý¡C ½T«O src/contrib ¤¤ªº­ì©l½X¬O³Ì·sªº¡C ½sĶ­ì©l½X(©Î¬O³¡¤À­ì©l½X)®É¡A½Ð§ï¥Î§ó°ªªºÄµ§iµ¥¯Å(warning level) ¥H«K°»¿ù(debug)¥Î¡A¨Ã¦b§¹¦¨´ú¸Õ¡B½T»{¥¿±`§¹²¦¤§«á¡A²M°£³o¨Ç½sĶªºÄµ§iµ¥¯Å¡C §ó·s¨º¨Ç¦b ports ¤¤¨Ï¥Î¹L®ÉªºªF¦è¡A ¨Ò¦p gets() ©Î¥]§t malloc.h ©Ò²£¥ÍªºÄµ§i¡C ¦pªG¦³¬° ports §@¤F¥ô¦ó­×¥¿¡A ½Ð°O±o±N±zªº patch µoµ¹­ì§@ªÌ (³o¼Ë¤U¦¸¤É¯Å®É¡A±zªº¤u§@·|Åܱo»´ÃP¤@¨Ç)¡C ¥ý¨ú±o¥¿¦¡ªº¼Ð·Ç¡A¦p &posix; ªº°Æ¥»¡C ¦b FreeBSD C99 & POSIX ¼Ð·Ç¬Û®e­p¹º ºô¯¸¤W¡A¥i¥H±o¨ì¬ÛÃöÃì±µ¡C ½Ð±N FreeBSD ªº¦æ¬°»P¤W­zªº¼Ð·Ç¶i¦æ¤ñ¸û¡A­Y©Ò±oµ²ªG»P C99 & POSIX ¼Ð·Ç¤£¦Pªº¸Ü¡A ¯S§O¬O¨º¨Ç²Ó¸`¦a¤èªº·L¤p®t²§¡A½Ðµo¤@­ÓÃö©ó¥¦ªº PR (°ÝÃD³ø§i)¡C ¦pªG¥i¯à¡A½Ð«ü¥X¦p¦ó­×¥¿¥¦¡A¨ÃÀH PR ´£¥æ patch ¡C ¦pªG±z»{¬°¼Ð·Ç¦³°ÝÃD¡A½Ð¦V³o¨Ç³W®æ¼Ð·Çªº¬ÛÃö¹ÎÅé¡A½Ð¨D¹ï¨ä¶i¦æ­«·sªº¦Ò¼{¡C ¬°³o¥÷¦Cªí´£¨Ñ§ó¦h«ØÄ³¡I ¬d¾\¾ã­Ó PR ¸ê®Æ®w °ÝÃD³ø§i¸ê®Æ®w FreeBSD PR ¦Cªí ³o¸Ì·|Åã¥Ü¥Ø«e©Ò¦³ PR ªº°ÝÃDª¬ºA¡A¥H¤Î¥Ñ FreeBSD ¨Ï¥ÎªÌ´£¥æªº§ï¶i«ØÄ³¡C PR ¸ê®Æ®w¦P®É¥]¬A¤F¶}µo¤H­û©M«D¶}µo¤H­ûªº¥ô°È¡C ¬d¬Ý¨º¨Ç©|¥¼¸Ñ¨Mªº PR¡A¨Ã¬Ý¬Ý¬O§_¦³±z·P¿³½ìªº¥ô°È¡C ³o¨ä¤¤¥i¯à¦³¤@¨Ç¬O«D±`²³æªº°ÝÃD¡A¥u»Ý­n¬Ý¤@¬Ý¨Ã½T»{ PR ¬O¥¿½Tªº¡C ¥t¥~¤@¨Ç¥i¯à·|«D±`½ÆÂø¡A©ÎªÌ§¹¥þ¥¼ªþ¥ô¦ó­×¥¿¡C ­º¥ý¬Ý¤@¬Ý¨º¨ÇÁÙ¨S¦³¤H±µ¤âªº PR¡C ¦pªG PR ¤w¸g¤À°tµ¹¤F¨ä¥¦¤H¡A¦ý¬Ý°_¨Ó¬O±z¯à°÷³B²zªº¡A ±z¥i¥H±H«Hµ¹¨º­Ó¤H¡A¨Ã¸ß°Ý±z¬O§_¥i¥H´£¨ÑÀ°§U — ¥L­Ì¥i¯à¤w¸g¦³¥i¨Ñ´ú¸Õªº patch ¡A©Î¦³¤@¨Ç¥i¨Ñ°Q½×ªº·N¨£¡C ¥Ñ <quote>Ideas</quote> ¤¤¿ï¤@¶µ &os; list of projects and ideas for volunteers ¦P¼Ë¦a¶}©ñµ¹¦³·NÄ@°Ñ»P &os; ­p¹ºªº¤H¡C ³o¥÷²M³æ±N«ùÄò¦a§ó·s¡A¦P®É´£¨Ñ¦U­Ó¶µ¥Øªº¸ê°Tµ¹©Ò¦³¤H ¡]¤£½×¬O§_¬°µ{¦¡³]­p¤H­û¡^¡C ¦p¦ó´£¨ÑÀ°§U °ò¥»¤W¥i¥H¤À¬°¥H¤U 5 ºØ¤è¦¡¡G ¿ù»~³ø§i©M·N¨£µoªí ³q±`¡A¤@¯ë ªº§Þ³N·Qªk©M«ØÄ³À³¸Óµo¨ì &a.hackers;¡C ¦P¼Ë¦a¡A¹ï©ó³o¨ÇªF¦è¦³¿³½ìªº¤H (·íµM¡A ¥L­Ì¦P®ÉÁÙ­n¯à°÷®e§Ô ¤j¶qªº ¶l¥ó¡I) ¥i¥H¦Ò¼{­q¾\ &a.hackers;¡C ½Ð°Ñ¾\ FreeBSD ¨Ï¥Î¤â¥U ¥H¤F¸ÑÃö©ó³o­Ó¶l»¼½×¾Â¡A ¥H¤Î¨ä¥¦¶l»¼½×¾Âªº¸Ô²Ó±¡ªp¡C ¦pªG±zµo²{¤F bug ©ÎªÌ·Q­n´£¥æ¬Y¨Ç­×§ï¡A ½Ð³z¹L &man.send-pr.1; µ{¦¡©Î¨Ï¥Î ºô­¶¤¶­± ªº¦^³ø ¨Ó´£¥æ¡C½Ð¸ÕµÛ¶ñ¼g PR ªº¨C­Ó¶µ¥Ø¡C ¤@¯ë¨Ó»¡¡A°£«D patch ÀɶW¹L 65 KB¡A§Ú­Ì«ØÄ³¦b PR ¤¤ª½±µªþ¤W patch ´N¥i¥H¤F¡C ­Y¥iª½±µ®M¥Î patch ¨ì­ì©l½Xªº¸Ü¡A¨º»ò«ØÄ³¦b PR ªº Synopsis Äæ¦ìµù©ú [PATCH]¡C ¹ï¤F¡A¦bªþ¤W patch ®É¡A½Ð ¤£­n ³z¹L·Æ¹«ªº¡y½Æ»s¡B¶K¤W¡z¨Ó¶i¦æ¡A¦]¬°³o¼Ë°µ·|§â Tab Åܦ¨ªÅ®æ¡A ·|¾É­P patch ´N¤£¯à¥Î¤F¡C¦pªG patch ¶W¹L 20KB¡A ½Ð¦Ò¼{À£ÁY¥¦¨Ã¨Ï¥Î &man.uuencode.1; ¨Ó¶i¦æ½s½X¡C ¦b¼g§¹ PR ¤§«á¡A±z·|¦¬¨ì¤@«Ê½T»{¶l¥ó¥H¤Î¨Æ¥ó°lÂܽs¸¹¡C ½Ð«O¯d³o­Ó½s¸¹¡A¦]¬°¨Æ«á¥i¥H¥Î³o½s¸¹µo«H¨ì &a.bugfollowup; ¨Ó¦^ÂСB´£¨ÑÃö©ó¸Ó¨Æ¥óªº«áÄò¸ê®Æ¡C±z»Ý­n°µªº¬O±N½s¸¹©ñ¨ì¶l¥óªº¼ÐÃD¤¤¡A ¨Ò¦p "Re: kern/3377"¡C ­Y¬O¦P¤@°ÝÃDªº¦^ÂФ譱¡AÀ³¸Ó³z¹L³oºØ¤è¦¡¨Ó¶i¦æ¡C ¦pªG±z¦b¤@¬q®É¶¡ (¶W¹L 3 ¤Ñ¬Æ¦Ü 1 ¶g¡A³o¨ú¨M©ó±zªº¶l¥óªA°È)¤§«á¤´µM¨S¦³¦¬¨ì½T»{«H ©ÎªÌ¥Ñ©ó¤@¨Ç­ì¦]µLªk¨Ï¥Î &man.send-pr.1; µ{¦¡¡A «h¥i¥Hµo«H¨ì &a.bugs; ¨Ó½Ð§O¤HÀ°§A¥N±H¡C ½Ð°Ñ¾\ ³o½g¤å³¹ ¤F¸Ñ¦p¦ó¼¶¼g¦nªº°ÝÃD³ø§i¡C ¹ï©ó¤å¥óªº­×­q ´£¥æ¤å¥ó ¤å¥óªº­×§ï¤è­±¡A¬O¥Ñ &a.doc; ¨Ó¼f¬d¡C ½Ð°Ñ¾\ FreeBSD Documentation Project Primer ¨ÓÀò±o§¹¾ãªº±Ð¾Ç²Ó¸`¡C ½Ð«ö·Ó ¤¤¤¶²Ðªº¤èªk¨Ï¥Î &man.send-pr.1; ¨Ó´£¥æ·sªº¤å¥ó¡A©ÎªÌ§ïµ½²{¦³ªº¤å¥ó (­þ©È¬O«Ü¤pªº§ï¶i¤]¬OÅwªïªº¡I)¡C ¹ï©ó²{¦³­ì©l½Xªº­×§ï FreeBSD-CURRENT ¦b²{¦³­ì©l½X¤W¶i¦æ­×§ï©Î¼W¥[¥\¯à¡A¦b¬YºØµ{«×¤W¬O»Ý­n§ó¦h§Þ¥©ªº¨Æ¡A ¨Ã¥BÁÙ¸ò±z¹ï©ó¥Ø«e FreeBSD ªº¶}µo²{ª¬¤F¸Ñµ{«×¦³Ãö¡C ¦³¦hºØ¤è¦¡¥i¥H±o¨ì³QºÙ§@ FreeBSD-CURRENT ªº FreeBSD ¶}µoª©¥»¡C ½Ð°Ñ¾\ FreeBSD ¨Ï¥Î¤â¥Uªº ¬ÛÃö³¡¥÷ ¡A¨Ó¤F¸Ñ¨Ï¥Î FreeBSD-CURRENT ªº¸Ô±¡¡C ¦bªº­ì©l½X¤W¶i¦æ­×§ï¡A«h³q±`¥i¯à­ì©l½X¤w¹L®É¡A ©Î»P·sªºª©¥»®t²§¤Ó¤j¦ÓµLªk³Q­«·s¾ã¦X¨ì FreeBSD ¤¤¡C ¦pªG±z¦³­q &a.announce; ¥H¤Î &a.current; ªº¸Ü¡A «h¥i¥H³z¹L¥¦­Ì¨Ó¤j­P¤F¸Ñ¥Ø«eªº¶}µoª¬ºA¡C ­Y±z¯à°÷¾¨¶q¥H³Ì·sªº­ì©l½X¨Ó¶i¦æ±zªº­×§ï¡A «h¤U¤@¨B­n°µªº¨Æ±¡´N¬O²£¥Í±z©Ò­×§ïªº diff ÀÉ¡A ¨Ã±N¥¦µoµ¹ FreeBSD ªººûÅ@¤H­û¡C³o¶µ¤u§@¥i¥H³z¹L &man.diff.1; ©R¥O¨Ó§¹¦¨¡C ´£¥æ patch ®É¡A«ØÄ³ &man.diff.1; ®æ¦¡±Ä¥Î unified diff (¥i¥H¥Î diff -u ¨Ó²£¥Í)¡C¤£¹L¡A¦pªG±z­×§ï¤F¤j¶qªº­ì©l½X¡A «h¨Ï¥Î diff -c ¨Ó¥Í¦¨ªº context diff ªº diff ¥i¯à§ó®e©ö¾\Ū¡A¦]¦Ó±ÀÂ˨ϥΡC¤@¯ë¦Ó¨¥¡A¤j³£¬O±Ä¥Î diff -ruN §Y¥i¡C diff ¨Ò¦p¡G &prompt.user; diff -c oldfile newfile ©Î &prompt.user; diff -c -r olddir newdir ±N·|¹ï¯S©w¥Ø¿ý¡A²£¥Í context ªº diff ÀÉ¡C ©ÎªÌ¹³¬O... &prompt.user; diff -u oldfile newfile ©Î &prompt.user; diff -u -r olddir newdir ±N²£¥Í¤@¼Ëªº diff ¡A¦ý¬O®æ¦¡¬° unified ¡C §ó¦hªº²Ó¸`³¡¥÷¡A½Ð°Ñ¾\ &man.diff.1;¡C ¤@¥¹±z¨Ï¥Î &man.diff.1; ¨Ó²£¥Í diff ÀÉ (¥i¥H¨Ï¥Î &man.patch.1; ©R¥O¨Ó´ú¸Õ¤@¤U)¡A´N¥i¥H´£¥æ¥¦­Ì¡A¥H«K³Q FreeBSD ¦¬¿ý¡C ³z¹L¨Ï¥Î ¤¤©Ò¤¶²Ðªº &man.send-pr.1; µ{¦¡´N¥i¥H§¹¦¨³o¶µ¤u§@¡C ½Ðª`·N¡G¤£­n¥u§â diff Àɵo¨ì &a.hackers;¡A §_«h¥¦­Ì¥i¯à·|³Q¿ò§Ñ¡I §Ú­Ì·|«D±`·P¿E±z´£¥æªº­×§ï (³o¬O¤@­Ó¸q¤u­p¹º¡I)¡F ¦]¬°§Ú­Ì³£«Ü¦£¡A ¦]¦¹¦³®É¤£¤@©w¯à°÷¥ß§Y­×¥¿°ÝÃD¡A¦ý PR ¸ê®Æ®w±N¤@ª½«O«ùµÛ³o¨Ç°O¿ý¡A ¦]¦¹¥u­n¦³¤H¦³¤F®É¶¡¥¦­Ì´N¯à³Q§ï¥¿¤F¡C ¦pªG±zªº°ÝÃD³ø§i¤¤¥]¬A patch ¡A¤£­n§Ñ¤F¦b¼ÐÃD¥[¤W [PATCH] ¨Ó±j½Õ¤@¤U¡C uuencode ¦pªG±z»{¬°¦X¾A (¨Ò¦p¼W¡B§RÀɮשΧó§ïÀɦW)¡A ÁÙ¥i¥H¦Ò¼{¨Ï¥Î tar ¨Ó±NÀÉ®×¥´¥]¡AµM«á¥Î &man.uuencode.1; ¨Ó½s½X¡C¦¹¥~¡A¤]¥i¥H¥Î &man.shar.1; ²£¥Íªº¤è¦¡¡C ¦pªG±zªº­×§ï¥i¯à¦s¦b¼ç¦bªºª§Ä³¡A¨Ò¦p¡A ±z¤£½T©w¬ÛÃöªºª©Åv°ÝÃD¡A©ÎªÌ·Pı»Ý­n¸g¹L§óÄY®æªº´_¼f¤~¥i¥Hµo§G¥¦­Ì¡A «hÀ³ª½±µµoµ¹ &a.core;¡A¦Ó¤£¬O³z¹L &man.send-pr.1; ¨Óµo°e¡C &a.core; ³o¤p²Õ¦¨­û¤j¦h±q¨Æ FreeBSD ªº¤é±`¤u§@¡C »Ý­nª`·Nªº¬O¡A³o­Ó¤p²Õ¤]¦]¦¹¤Q¤À¦£¸L¡A ¦]¦¹¥u¦³¦b«D±`¥²­nªº®É­Ô¡A¤~À³¼g«Hµ¹¥L­Ì¡C ½Ð°Ñ¦Ò &man.intro.9; ©M &man.style.9; ¥H¤F¸ÑÃö©ó¼¶¼gµ{¦¡½Xªº­·®æ°¾¦n¡C ­Y¯à¦b°e¥X¬ÛÃöµ{¦¡½X¤§«e¡A¥ý¤F¸Ñ³o¨Ç¡A¨º¹ï¤j®a¨Ó»¡±N¬O·¥¤jªºÀ°§U¡C ·s­ì©l½X©Î­«­nªº¥[­È³nÅé¥] ¦pªG±z¥´ºâ´£¨Ñ³W¼Ò¸û¤jªº­ì©l½X¡A©ÎªÌ¬° FreeBSD ¼W¥[­«­nªº·s¥\¯à¡A «h¥i¯à¥²¶·±N¥¦­Ì³z¹L uuencode ¶i¦æ½s½X¡A©Î¶Ç¨ì¬Y­Ó Web ©Î FTP ¯¸ÂI¡A¥H«K§ó¦hªº¤H¯à°÷±o¨ì¥¦¡C¦pªG±z¨S¦³³o¼Ëªº¥D¾÷¡A ½Ð¨ì¬ÛÃöªº FreeBSD ¶l»¼½×¾Â´£¥X¡A¬Ý¬Ý¬O§_¦³¤HÄ@·NÀ°±z©ñ¸m¥¦­Ì¡C ¹ï©ó¤j¶qªº­ì©l½X¦Ó¨¥¡AÃö©óª©Åvªº°ÝÃDªÖ©w·|³Q´£¥X¡C FreeBSD °ò¥»¨t²Î¤¤¯à°÷¨Ï¥Îªºª©ÅvÁn©ú¥]¬A¡G BSDBSD ª©ÅvÁn©ú ª©Åv¡C§Ú­Ì¶É¦V©ó¨Ï¥Î³oÃþ±ÂÅvªº­ì©l½X¡A ¦]¬°¥¦¡y¤£ªþ¥[¦h¾lªº±ø¥ó¡z¡A¦]¦Ó§ó¯à°÷§l¤Þ°Ó·~¥ø·~¨Ï¥Î¡C FreeBSD ¨Ã¤£¤Ï¹ï°Ó·~¤½¥q¨Ï¥Î¥¦ªº­ì©l½X¡A¬Û¤Ï¡A §Ú­Ì¿n·¥¦a¹ªÀy°Ó·~¤½¥q¨Ï¥Î§Ú­Ìªº­ì©l½X¡A ·íµM¡A¦pªG¥¦­Ì­Y³Ì²×¯à§â³¡¤À­ì©l½X¡A­«·s®½Ãص¹ FreeBSD ´N§ó¦n¤F¡C GNU General Public License¡A©Î²ºÙ GPL¡CGPLGNU General Public LicenseGNU General Public License §Ú­Ì¨Ã¤£«ÜÅwªï¨Ï¥Î³o¼Ë±ÂÅvªº­ì©l½X¡A ¦]¬°°Ó·~¤½¥q¨Ï¥Î¥¦»Ý­n°µ§ó¦hªº¤u§@¡C¤£¹L¡A¥Ñ©ó«Ü¦h¨Ï¥Î GPL ±ÂÅvªº­ì©l½X¥Ø«e¬OµLªkÁ×§Kªº (compiler, assembler, text formatterµ¥µ¥) ¡A©Úµ´¨Ï¥Î©Ò¦³±Ä¥Î³o¼Ë±ÂÅvªº³nÅé¬O«Ü¤£©ú´¼ªº¡C ±Ä¥Î GPL ±ÂÅvªº­ì©l½X·|³Q©ñ¨ì­ì©l½Xªº¤@¨Ç¯S©wªº¦ì¸m¡A¨Ò¦p /sys/gnu ©Î /usr/src/gnu¡A¥H«K¨º¨Ç»{¬° GPL ¥i¯à·|³y¦¨³Â·Ðªº¤H¯à°÷§@¥X¾A·íªº§PÂ_¡C ¨Ï¥Î¨ä¥¦±ÂÅvªº­ì©l½X¦b¶i¤J FreeBSD ¤§«e¥²¶·¸g¹L·V­«ªº´_¼f©M¦Ò¼{¡C ±Ä¥Î¥]§tÄY¼F­­¨îªº°Ó·~±ÂÅvªº­ì©l½X¡A¤@¯ë¨Ó»¡·|³Q©Úµ´¡A ¦ý§Ú­Ì¹ªÀy³o¨Ç­ì©l½Xªº§@ªÌ¡A³z¹L¦Û¤vªººÞ¹D¨Óµo¥¬¥¦­Ì¡C ­Y­n¦b±zªº¦¨ªG¤W¥[¤J BSD-based ª©Åvªº¸Ü¡A ½Ð§â¤U¦C¤å¦r©ñ¨ì¨C¥÷­ì©l½Xªº³Ì¶}©l³¡¤À¡A ¨Ã¥Î¾A·íªº¤å¦r´À´« %% ¤§¶¡ªº¤å¦r¡C Copyright (c) %%proper_years_here%% %%your_name_here%%, %%your_state%% %%your_zip%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Id$ ¬°¤F¤è«K±zªº¨Ï¥Î¡A¦b /usr/share/examples/etc/bsd-style-copyright ¤]¥i¥H§ä¨ì¦¹±ÂÅvªº°Æ¥»¡C ÃÙ§U¸êª÷¡BµwÅé©Î Internet mirror §Ú­Ì«D±`Ä@·N±µ¨ü¦UºØ§Î¦¡ªº®½ÃØ¡A¥H¶i¤@¨B©Ý®i FreeBSD ­p¹º ¡A¦]¬°¦³±zªº¤ä«ù¡A¹³§Ú­Ì³o¼Ëªº¸q¤u§V¤O¤~¯à°÷¦³§ó¤jªº¦¨´N¡I ®½ÃصwÅé¤]«D±`­«­n¡A¦]¬°³o¼Ë¯à°÷À°§U§Ú­Ì¼W¥[¥i¤ä´©ªºµwÅéºØÃþ¡A ¦Ó§Ú­Ì¤¤ªº«Ü¦h¤H¨Ã¨S¦³¨¬°÷ªº¸êª÷¨ÓÁʸm³o¨ÇµwÅé¡C - - <anchor id="donations"/>®½´Ú + + ®½´Ú FreeBSD °òª÷·|¬O¤@­Ó«DÀç§Qªº¡B¦³½Òµ|ÁŧKÅvªº°òª÷·|¡A ¤§©Ò¥H·|«Ø¥ß³o­Ó°òª÷·|¡A¬O¬°¤FÅý FreeBSD ­p¹º¯à°÷¥iªø¥i¤[¡C ¦]¬°¸Ó°òª÷·|ÄÝ 501(c)3 ¹êÅé¡A¤@¯ë¦Ó¨¥®½´Úµ¹°òª÷·|ªº¸Ü¡A¥i¥H§Kú¬ü°êÁp¨¹¦¬¤Jµ|¡A ¥H¤Î¬ìù©Ô¦h¦{¦¬¤Jµ|¡C³q±`¹ï©ó¦³½Òµ|ÁŧKÅvªº¹êÅé¶i¦æ®½Ãتº¸Ü¡A ¥i¥H§é©èÁp¨¹¦¬¤J¤¤À³½Òµ|³¡¤Àªºª÷ÃB¡C ±z¥i¥H§â¤ä²¼±H©¹¡G
The FreeBSD Foundation 7321 Brockway Dr. Boulder, CO 80303 USA
FreeBSD °òª÷·|²{¦b¥i¥H³z¹L PayPal ±qºô¤W±µ¨ü®½´Ú¡C ¦pªG±z·Q¦V°òª÷·|®½´Ú¡A½Ð°Ñ¾\ FreeBSD °òª÷·| ºô¯¸¡C Ãö©ó FreeBSD °òª÷·|ªº§ó¦h¸Ô±¡¡A¥i¥H¦b FreeBSD °òª÷·| -- ¤¶²Ð §ä¨ì¡C­nÁpµ¸°òª÷·|¡A ½Ðµo°e¹q¤l¶l¥ó¨ì bod@FreeBSDFoundation.org¡C
®½ÃصwÅé ®½ÃØ FreeBSD ­p¹ºÅwªï¥ô¦ó¤H®½ÃØ¥i¥H¨Ï¥ÎªºµwÅé¡C ¦pªG±z¦³¿³½ì®½ÃصwÅé¡A½ÐÁpô ®½ÃØÁpµ¸¤H¿ì¤½«Ç¡C ¦¨¬° FreeBSD mirror ªººô¯¸ §Ú­ÌÅwªï·sªº FTP¡BWWW ©Î cvsup mirror ¯¸¡C¦pªG±z§Æ±æ¦¨¬°³o¼Ëªº mirror ¯¸¡A ½Ð°Ñ¾\ ¦p¦ó¬[³] FreeBSD mirror ¤@¤å¡A¥H¤F¸Ñ¶i¤@¨Bªº±¡ªp¡C
diff --git a/zh_TW.Big5/books/handbook/mirrors/chapter.xml b/zh_TW.Big5/books/handbook/mirrors/chapter.xml index e143fa9cca..47a4d3d27b 100644 --- a/zh_TW.Big5/books/handbook/mirrors/chapter.xml +++ b/zh_TW.Big5/books/handbook/mirrors/chapter.xml @@ -1,3201 +1,3201 @@ ¨ú±o FreeBSD ªº¤è¦¡ CDROM ¤Î DVD µo¦æ°Ó ²°¸Ë²£«~ªº¹s°â³B¡G FreeBSD ²°¸Ë²£«~(§t FreeBSD ¥úºÐ¤Î¨ä¥L¤@¨Ç³nÅé¡B®Ñ­±¤å¥ó)ªº¹s°â·~ªÌ¡G
CompUSA WWW:
Frys Electronics WWW:
CD ¤Î DVD ¦X¶° FreeBSD ¥úºÐ(CD ¤Î DVD)ªººô¸ô¹s°â·~ªÌ¡G
BSD Mall by Daemon News PO Box 161 Nauvoo, IL 62354 USA Phone: +1 866 273-6255 Fax: +1 217 453-9956 Email: sales@bsdmall.com WWW:
BSD-Systems Email: info@bsd-systems.co.uk WWW:
FreeBSD Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 USA Phone: +1 925 674-0783 Fax: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany Phone: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW:
JMC Software Ireland Phone: 353 1 6291282 WWW:
Linux CD Mall Private Bag MBE N348 Auckland 1030 New Zealand Phone: +64 21 866529 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom Phone: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland Phone: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Phone: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Phone: +7-812-3125208 Email: info@linuxcenter.ru WWW:
¸g¾P°Ó(Distributors) ­Y§A¬O°Ï°ì¸g¾P°Ó¡A¨Ã·Q¥N²z¸g¾P FreeBSD ¥úºÐ²£«~ªº¸Ü¡A½Ð»P¤U¦Cªº¥N²z°ÓÁpô¡G
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 USA Phone: +1 650 694-4949 Fax: +1 650 694-4953 Email: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Phone: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Phone: +1 952 947-0822 Fax: +1 952 947-0876 Email: sales@kudzuenterprises.com
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Phone: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Phone: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
FTP ¯¸ The official sources for FreeBSD are available via anonymous FTP from a worldwide set of mirror sites. The site is well connected and allows a large number of connections to it, but you are probably better off finding a closer mirror site (especially if you decide to set up some sort of mirror site). The FreeBSD mirror sites database is more accurate than the mirror listing in the Handbook, as it gets its information from the DNS rather than relying on static lists of hosts. Additionally, FreeBSD is available via anonymous FTP from the following mirror sites. If you choose to obtain FreeBSD via anonymous FTP, please try to use a site near you. The mirror sites listed as Primary Mirror Sites typically have the entire FreeBSD archive (all the currently available versions for each of the architectures) but you will probably have faster download times from a site that is in your country or region. The regional sites carry the most recent versions for the most popular architecture(s) but might not carry the entire FreeBSD archive. All sites provide access via anonymous FTP but some sites also provide access via other methods. The access methods available for each site are provided in parentheses after the hostname. &chap.mirrors.ftp.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.ftp.inc; Anonymous CVS - - <anchor id="anoncvs-intro"/>anoncvs ²¤¶ + + anoncvs ²¤¶ CVS anonymous Anonymous CVS (or, as it is otherwise known, anoncvs) is a feature provided by the CVS utilities bundled with FreeBSD for synchronizing with a remote CVS repository. Among other things, it allows users of FreeBSD to perform, with no special privileges, read-only CVS operations against one of the FreeBSD project's official anoncvs servers. To use it, one simply sets the CVSROOT environment variable to point at the appropriate anoncvs server, provides the well-known password anoncvs with the cvs login command, and then uses the &man.cvs.1; command to access it like any local repository. The cvs login command, stores the passwords that are used for authenticating to the CVS server in a file called .cvspass in your HOME directory. If this file does not exist, you might get an error when trying to use cvs login for the first time. Just make an empty .cvspass file, and retry to login. While it can also be said that the CVSup and anoncvs services both perform essentially the same function, there are various trade-offs which can influence the user's choice of synchronization methods. In a nutshell, CVSup is much more efficient in its usage of network resources and is by far the most technically sophisticated of the two, but at a price. To use CVSup, a special client must first be installed and configured before any bits can be grabbed, and then only in the fairly large chunks which CVSup calls collections. Anoncvs, by contrast, can be used to examine anything from an individual file to a specific program (like ls or grep) by referencing the CVS module name. Of course, anoncvs is also only good for read-only operations on the CVS repository, so if it is your intention to support local development in one repository shared with the FreeBSD project bits then CVSup is really your only option. - - <anchor id="anoncvs-usage"/>Using Anonymous CVS + + Using Anonymous CVS Configuring &man.cvs.1; to use an Anonymous CVS repository is a simple matter of setting the CVSROOT environment variable to point to one of the FreeBSD project's anoncvs servers. At the time of this writing, the following servers are available: Austria(¶ø¦a§Q): :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs (Use cvs login and enter any password when prompted.) France(ªk°ê): :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (password anoncvs), ssh (no password)) Germany(¼w°ê): :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (Use cvs login and enter the password anoncvs when prompted.) Germany(¼w°ê): :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022) Japan(¤é¥»): :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (Use cvs login and enter the password anoncvs when prompted.) USA(¬ü°ê): freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (ssh only - no password) SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub USA(¬ü°ê): anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ssh only - no password) SSH HostKey: 1024 8b:c4:6f:9a:7e:65:8a:eb:50:50:29:7c:a1:47:03:bc root@ender.liquidneon.com SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pub Since CVS allows one to check out virtually any version of the FreeBSD sources that ever existed (or, in some cases, will exist), you need to be familiar with the revision () flag to &man.cvs.1; and what some of the permissible values for it in the FreeBSD Project repository are. There are two kinds of tags, revision tags and branch tags. A revision tag refers to a specific revision. Its meaning stays the same from day to day. A branch tag, on the other hand, refers to the latest revision on a given line of development, at any given time. Because a branch tag does not refer to a specific revision, it may mean something different tomorrow than it means today. contains revision tags that users might be interested in. Again, none of these are valid for the Ports Collection since the Ports Collection does not have multiple revisions. When you specify a branch tag, you normally receive the latest versions of the files on that line of development. If you wish to receive some past version, you can do so by specifying a date with the flag. See the &man.cvs.1; manual page for more details. Examples While it really is recommended that you read the manual page for &man.cvs.1; thoroughly before doing anything, here are some quick examples which essentially show how to use Anonymous CVS: Checking Out Something from -CURRENT (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co ls Using SSH to check out the <filename>src/</filename> tree: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. Checking Out the Version of &man.ls.1; in the 6-STABLE Branch: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co -rRELENG_6 ls Creating a List of Changes (as Unified Diffs) to &man.ls.1; &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls Finding Out What Other Module Names Can Be Used: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter the password anoncvs. &prompt.user; cvs co modules &prompt.user; more modules/modules Other Resources The following additional resources may be helpful in learning CVS: CVS Tutorial from Cal Poly. CVS Home, the CVS development and support community. CVSweb is the FreeBSD Project web interface for CVS. Using CTM CTM CTM is a method for keeping a remote directory tree in sync with a central one. It has been developed for usage with FreeBSD's source trees, though other people may find it useful for other purposes as time goes by. Little, if any, documentation currently exists at this time on the process of creating deltas, so contact the &a.ctm-users.name; mailing list for more information and if you wish to use CTM for other things. Why Should I Use <application>CTM</application>? CTM will give you a local copy of the FreeBSD source trees. There are a number of flavors of the tree available. Whether you wish to track the entire CVS tree or just one of the branches, CTM can provide you the information. If you are an active developer on FreeBSD, but have lousy or non-existent TCP/IP connectivity, or simply wish to have the changes automatically sent to you, CTM was made for you. You will need to obtain up to three deltas per day for the most active branches. However, you should consider having them sent by automatic email. The sizes of the updates are always kept as small as possible. This is typically less than 5K, with an occasional (one in ten) being 10-50K and every now and then a large 100K+ or more coming around. You will also need to make yourself aware of the various caveats related to working directly from the development sources rather than a pre-packaged release. This is particularly true if you choose the current sources. It is recommended that you read Staying current with FreeBSD. What Do I Need to Use <application>CTM</application>? You will need two things: The CTM program, and the initial deltas to feed it (to get up to current levels). The CTM program has been part of FreeBSD ever since version 2.0 was released, and lives in /usr/src/usr.sbin/ctm if you have a copy of the source available. The deltas you feed CTM can be had two ways, FTP or email. If you have general FTP access to the Internet then the following FTP sites support access to CTM: or see section mirrors. FTP the relevant directory and fetch the README file, starting from there. If you wish to get your deltas via email: Subscribe to one of the CTM distribution lists. &a.ctm-cvs-cur.name; supports the entire CVS tree. &a.ctm-src-cur.name; supports the head of the development branch. &a.ctm-src-4.name; supports the 4.X release branch, etc.. (If you do not know how to subscribe yourself to a list, click on the list name above or go to &a.mailman.lists.link; and click on the list that you wish to subscribe to. The list page should contain all of the necessary subscription instructions.) When you begin receiving your CTM updates in the mail, you may use the ctm_rmail program to unpack and apply them. You can actually use the ctm_rmail program directly from a entry in /etc/aliases if you want to have the process run in a fully automated fashion. Check the ctm_rmail manual page for more details. No matter what method you use to get the CTM deltas, you should subscribe to the &a.ctm-announce.name; mailing list. In the future, this will be the only place where announcements concerning the operations of the CTM system will be posted. Click on the list name above and follow the instructions to subscribe to the list. Using <application>CTM</application> for the First Time Before you can start using CTM deltas, you will need to get to a starting point for the deltas produced subsequently to it. First you should determine what you already have. Everyone can start from an empty directory. You must use an initial Empty delta to start off your CTM supported tree. At some point it is intended that one of these started deltas be distributed on the CD for your convenience, however, this does not currently happen. Since the trees are many tens of megabytes, you should prefer to start from something already at hand. If you have a -RELEASE CD, you can copy or extract an initial source from it. This will save a significant transfer of data. You can recognize these starter deltas by the X appended to the number (src-cur.3210XEmpty.gz for instance). The designation following the X corresponds to the origin of your initial seed. Empty is an empty directory. As a rule a base transition from Empty is produced every 100 deltas. By the way, they are large! 70 to 80 Megabytes of gzip'd data is common for the XEmpty deltas. Once you have picked a base delta to start from, you will also need all deltas with higher numbers following it. Using <application>CTM</application> in Your Daily Life To apply the deltas, simply say: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* CTM understands deltas which have been put through gzip, so you do not need to gunzip them first, this saves disk space. Unless it feels very secure about the entire process, CTM will not touch your tree. To verify a delta you can also use the flag and CTM will not actually touch your tree; it will merely verify the integrity of the delta and see if it would apply cleanly to your current tree. There are other options to CTM as well, see the manual pages or look in the sources for more information. That is really all there is to it. Every time you get a new delta, just run it through CTM to keep your sources up to date. Do not remove the deltas if they are hard to download again. You just might want to keep them around in case something bad happens. Even if you only have floppy disks, consider using fdwrite to make a copy. Keeping Your Local Changes As a developer one would like to experiment with and change files in the source tree. CTM supports local modifications in a limited way: before checking for the presence of a file foo, it first looks for foo.ctm. If this file exists, CTM will operate on it instead of foo. This behavior gives us a simple way to maintain local changes: simply copy the files you plan to modify to the corresponding file names with a .ctm suffix. Then you can freely hack the code, while CTM keeps the .ctm file up-to-date. Other Interesting <application>CTM</application> Options Finding Out Exactly What Would Be Touched by an Update You can determine the list of changes that CTM will make on your source repository using the option to CTM. This is useful if you would like to keep logs of the changes, pre- or post- process the modified files in any manner, or just are feeling a tad paranoid. Making Backups Before Updating Sometimes you may want to backup all the files that would be changed by a CTM update. Specifying the option causes CTM to backup all files that would be touched by a given CTM delta to backup-file. Restricting the Files Touched by an Update Sometimes you would be interested in restricting the scope of a given CTM update, or may be interested in extracting just a few files from a sequence of deltas. You can control the list of files that CTM would operate on by specifying filtering regular expressions using the and options. For example, to extract an up-to-date copy of lib/libc/Makefile from your collection of saved CTM deltas, run the commands: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* For every file specified in a CTM delta, the and options are applied in the order given on the command line. The file is processed by CTM only if it is marked as eligible after all the and options are applied to it. Future Plans for <application>CTM</application> Tons of them: Use some kind of authentication into the CTM system, so as to allow detection of spoofed CTM updates. Clean up the options to CTM, they became confusing and counter intuitive. Miscellaneous Stuff There is a sequence of deltas for the ports collection too, but interest has not been all that high yet. CTM Mirrors CTM/FreeBSD is available via anonymous FTP from the following mirror sites. If you choose to obtain CTM via anonymous FTP, please try to use a site near you. In case of problems, please contact the &a.ctm-users.name; mailing list. California, Bay Area, official source South Africa, backup server for old deltas Taiwan/R.O.C.(¥xÆW/¤¤µØ¥Á°ê) If you did not find a mirror near to you or the mirror is incomplete, try to use a search engine such as alltheweb. Using CVSup CVSup ²¤¶ CVSup is a software package for distributing and updating source trees from a master CVS repository on a remote server host. The FreeBSD sources are maintained in a CVS repository on a central development machine in California. With CVSup, FreeBSD users can easily keep their own source trees up to date. CVSup uses the so-called pull model of updating. Under the pull model, each client asks the server for updates, if and when they are wanted. The server waits passively for update requests from its clients. Thus all updates are instigated by the client. The server never sends unsolicited updates. Users must either run the CVSup client manually to get an update, or they must set up a cron job to run it automatically on a regular basis. The term CVSup, capitalized just so, refers to the entire software package. Its main components are the client cvsup which runs on each user's machine, and the server cvsupd which runs at each of the FreeBSD mirror sites. As you read the FreeBSD documentation and mailing lists, you may see references to sup. Sup was the predecessor of CVSup, and it served a similar purpose. CVSup is used much in the same way as sup and, in fact, uses configuration files which are backward-compatible with sup's. Sup is no longer used in the FreeBSD project, because CVSup is both faster and more flexible. Installation The easiest way to install CVSup is to use the precompiled net/cvsup package from the FreeBSD packages collection. If you prefer to build CVSup from source, you can use the net/cvsup port instead. But be forewarned: the net/cvsup port depends on the Modula-3 system, which takes a substantial amount of time and disk space to download and build. If you are going to be using CVSup on a machine which will not have &xfree86; or &xorg; installed, such as a server, be sure to use the port which does not include the CVSup GUI, net/cvsup-without-gui. CVSup Configuration CVSup's operation is controlled by a configuration file called the supfile. There are some sample supfiles in the directory /usr/share/examples/cvsup/. The information in a supfile answers the following questions for CVSup: Which files do you want to receive? Which versions of them do you want? Where do you want to get them from? Where do you want to put them on your own machine? Where do you want to put your status files? In the following sections, we will construct a typical supfile by answering each of these questions in turn. First, we describe the overall structure of a supfile. A supfile is a text file. Comments begin with # and extend to the end of the line. Lines that are blank and lines that contain only comments are ignored. Each remaining line describes a set of files that the user wishes to receive. The line begins with the name of a collection, a logical grouping of files defined by the server. The name of the collection tells the server which files you want. After the collection name come zero or more fields, separated by white space. These fields answer the questions listed above. There are two types of fields: flag fields and value fields. A flag field consists of a keyword standing alone, e.g., delete or compress. A value field also begins with a keyword, but the keyword is followed without intervening white space by = and a second word. For example, release=cvs is a value field. A supfile typically specifies more than one collection to receive. One way to structure a supfile is to specify all of the relevant fields explicitly for each collection. However, that tends to make the supfile lines quite long, and it is inconvenient because most fields are the same for all of the collections in a supfile. CVSup provides a defaulting mechanism to avoid these problems. Lines beginning with the special pseudo-collection name *default can be used to set flags and values which will be used as defaults for the subsequent collections in the supfile. A default value can be overridden for an individual collection, by specifying a different value with the collection itself. Defaults can also be changed or augmented in mid-supfile by additional *default lines. With this background, we will now proceed to construct a supfile for receiving and updating the main source tree of FreeBSD-CURRENT. Which files do you want to receive? The files available via CVSup are organized into named groups called collections. The collections that are available are described in the following section. In this example, we wish to receive the entire main source tree for the FreeBSD system. There is a single large collection src-all which will give us all of that. As a first step toward constructing our supfile, we simply list the collections, one per line (in this case, only one line): src-all Which version(s) of them do you want? With CVSup, you can receive virtually any version of the sources that ever existed. That is possible because the cvsupd server works directly from the CVS repository, which contains all of the versions. You specify which one of them you want using the tag= and value fields. Be very careful to specify any tag= fields correctly. Some tags are valid only for certain collections of files. If you specify an incorrect or misspelled tag, CVSup will delete files which you probably do not want deleted. In particular, use only tag=. for the ports-* collections. The tag= field names a symbolic tag in the repository. There are two kinds of tags, revision tags and branch tags. A revision tag refers to a specific revision. Its meaning stays the same from day to day. A branch tag, on the other hand, refers to the latest revision on a given line of development, at any given time. Because a branch tag does not refer to a specific revision, it may mean something different tomorrow than it means today. contains branch tags that users might be interested in. When specifying a tag in CVSup's configuration file, it must be preceded with tag= (RELENG_4 will become tag=RELENG_4). Keep in mind that only the tag=. is relevant for the Ports Collection. Be very careful to type the tag name exactly as shown. CVSup cannot distinguish between valid and invalid tags. If you misspell the tag, CVSup will behave as though you had specified a valid tag which happens to refer to no files at all. It will delete your existing sources in that case. When you specify a branch tag, you normally receive the latest versions of the files on that line of development. If you wish to receive some past version, you can do so by specifying a date with the value field. The &man.cvsup.1; manual page explains how to do that. For our example, we wish to receive FreeBSD-CURRENT. We add this line at the beginning of our supfile: *default tag=. There is an important special case that comes into play if you specify neither a tag= field nor a date= field. In that case, you receive the actual RCS files directly from the server's CVS repository, rather than receiving a particular version. Developers generally prefer this mode of operation. By maintaining a copy of the repository itself on their systems, they gain the ability to browse the revision histories and examine past versions of files. This gain is achieved at a large cost in terms of disk space, however. Where do you want to get them from? We use the host= field to tell cvsup where to obtain its updates. Any of the CVSup mirror sites will do, though you should try to select one that is close to you in cyberspace. In this example we will use a fictional FreeBSD distribution site, cvsup99.FreeBSD.org: *default host=cvsup99.FreeBSD.org You will need to change the host to one that actually exists before running CVSup. On any particular run of cvsup, you can override the host setting on the command line, with . Where do you want to put them on your own machine? The prefix= field tells cvsup where to put the files it receives. In this example, we will put the source files directly into our main source tree, /usr/src. The src directory is already implicit in the collections we have chosen to receive, so this is the correct specification: *default prefix=/usr Where should cvsup maintain its status files? The CVSup client maintains certain status files in what is called the base directory. These files help CVSup to work more efficiently, by keeping track of which updates you have already received. We will use the standard base directory, /var/db: *default base=/var/db If your base directory does not already exist, now would be a good time to create it. The cvsup client will refuse to run if the base directory does not exist. Miscellaneous supfile settings: There is one more line of boiler plate that normally needs to be present in the supfile: *default release=cvs delete use-rel-suffix compress release=cvs indicates that the server should get its information out of the main FreeBSD CVS repository. This is virtually always the case, but there are other possibilities which are beyond the scope of this discussion. delete gives CVSup permission to delete files. You should always specify this, so that CVSup can keep your source tree fully up-to-date. CVSup is careful to delete only those files for which it is responsible. Any extra files you happen to have will be left strictly alone. use-rel-suffix is ... arcane. If you really want to know about it, see the &man.cvsup.1; manual page. Otherwise, just specify it and do not worry about it. compress enables the use of gzip-style compression on the communication channel. If your network link is T1 speed or faster, you probably should not use compression. Otherwise, it helps substantially. Putting it all together: Here is the entire supfile for our example: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all The <filename>refuse</filename> File As mentioned above, CVSup uses a pull method. Basically, this means that you connect to the CVSup server, and it says, Here is what you can download from me..., and your client responds OK, I will take this, this, this, and this. In the default configuration, the CVSup client will take every file associated with the collection and tag you chose in the configuration file. However, this is not always what you want, especially if you are synching the doc, ports, or www trees — most people cannot read four or five languages, and therefore they do not need to download the language-specific files. If you are CVSuping the Ports Collection, you can get around this by specifying each collection individually (e.g., ports-astrology, ports-biology, etc instead of simply saying ports-all). However, since the doc and www trees do not have language-specific collections, you must use one of CVSup's many nifty features: the refuse file. The refuse file essentially tells CVSup that it should not take every single file from a collection; in other words, it tells the client to refuse certain files from the server. The refuse file can be found (or, if you do not yet have one, should be placed) in base/sup/. base is defined in your supfile; our defined base is /var/db, which means that by default the refuse file is /var/db/sup/refuse. The refuse file has a very simple format; it simply contains the names of files or directories that you do not wish to download. For example, if you cannot speak any languages other than English and some German, and you do not feel the need to read the German translation of documentation, you can put the following in your refuse file: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* and so forth for the other languages (you can find the full list by browsing the FreeBSD CVS repository). With this very useful feature, those users who are on slow links or pay by the minute for their Internet connection will be able to save valuable time as they will no longer need to download files that they will never use. For more information on refuse files and other neat features of CVSup, please view its manual page. Running <application>CVSup</application> You are now ready to try an update. The command line for doing this is quite simple: &prompt.root; cvsup supfile where supfile is of course the name of the supfile you have just created. Assuming you are running under X11, cvsup will display a GUI window with some buttons to do the usual things. Press the go button, and watch it run. Since you are updating your actual /usr/src tree in this example, you will need to run the program as root so that cvsup has the permissions it needs to update your files. Having just created your configuration file, and having never used this program before, that might understandably make you nervous. There is an easy way to do a trial run without touching your precious files. Just create an empty directory somewhere convenient, and name it as an extra argument on the command line: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest The directory you specify will be used as the destination directory for all file updates. CVSup will examine your usual files in /usr/src, but it will not modify or delete any of them. Any file updates will instead land in /var/tmp/dest/usr/src. CVSup will also leave its base directory status files untouched when run this way. The new versions of those files will be written into the specified directory. As long as you have read access to /usr/src, you do not even need to be root to perform this kind of trial run. If you are not running X11 or if you just do not like GUIs, you should add a couple of options to the command line when you run cvsup: &prompt.root; cvsup -g -L 2 supfile The tells CVSup not to use its GUI. This is automatic if you are not running X11, but otherwise you have to specify it. The tells CVSup to print out the details of all the file updates it is doing. There are three levels of verbosity, from to . The default is 0, which means total silence except for error messages. There are plenty of other options available. For a brief list of them, type cvsup -H. For more detailed descriptions, see the manual page. Once you are satisfied with the way updates are working, you can arrange for regular runs of CVSup using &man.cron.8;. Obviously, you should not let CVSup use its GUI when running it from &man.cron.8;. <application>CVSup</application> File Collections The file collections available via CVSup are organized hierarchically. There are a few large collections, and they are divided into smaller sub-collections. Receiving a large collection is equivalent to receiving each of its sub-collections. The hierarchical relationships among collections are reflected by the use of indentation in the list below. The most commonly used collections are src-all, and ports-all. The other collections are used only by small groups of people for specialized purposes, and some mirror sites may not carry all of them. cvs-all release=cvs The main FreeBSD CVS repository, including the cryptography code. distrib release=cvs Files related to the distribution and mirroring of FreeBSD. doc-all release=cvs Sources for the FreeBSD Handbook and other documentation. This does not include files for the FreeBSD web site. ports-all release=cvs The FreeBSD Ports Collection. If you do not want to update the whole of ports-all (the whole ports tree), but use one of the subcollections listed below, make sure that you always update the ports-base subcollection! Whenever something changes in the ports build infrastructure represented by ports-base, it is virtually certain that those changes will be used by real ports real soon. Thus, if you only update the real ports and they use some of the new features, there is a very high chance that their build will fail with some mysterious error message. The very first thing to do in this case is to make sure that your ports-base subcollection is up to date. If you are going to be building your own local copy of ports/INDEX, you must accept ports-all (the whole ports tree). Building ports/INDEX with a partial tree is not supported. See the FAQ. ports-accessibility release=cvs Software to help disabled users. ports-arabic release=cvs Arabic language support. ports-archivers release=cvs Archiving tools. ports-astro release=cvs Astronomical ports. ports-audio release=cvs Sound support. ports-base release=cvs The Ports Collection build infrastructure - various files located in the Mk/ and Tools/ subdirectories of /usr/ports. Please see the important warning above: you should always update this subcollection, whenever you update any part of the FreeBSD Ports Collection! ports-benchmarks release=cvs Benchmarks. ports-biology release=cvs Biology. ports-cad release=cvs Computer aided design tools. ports-chinese release=cvs Chinese language support. ports-comms release=cvs Communication software. ports-converters release=cvs character code converters. ports-databases release=cvs Databases. ports-deskutils release=cvs Things that used to be on the desktop before computers were invented. ports-devel release=cvs Development utilities. ports-dns release=cvs DNS related software. ports-editors release=cvs Editors. ports-emulators release=cvs Emulators for other operating systems. ports-finance release=cvs Monetary, financial and related applications. ports-ftp release=cvs FTP client and server utilities. ports-games release=cvs Games. ports-german release=cvs German language support. ports-graphics release=cvs Graphics utilities. ports-hebrew release=cvs Hebrew language support. ports-hungarian release=cvs Hungarian language support. ports-irc release=cvs Internet Relay Chat utilities. ports-japanese release=cvs Japanese language support. ports-java release=cvs &java; utilities. ports-korean release=cvs Korean language support. ports-lang release=cvs Programming languages. ports-mail release=cvs Mail software. ports-math release=cvs Numerical computation software. ports-mbone release=cvs MBone applications. ports-misc release=cvs Miscellaneous utilities. ports-multimedia release=cvs Multimedia software. ports-net release=cvs Networking software. ports-net-im release=cvs Instant messaging software. ports-net-mgmt release=cvs Network management software. ports-net-p2p release=cvs Peer to peer networking. ports-news release=cvs USENET news software. ports-palm release=cvs Software support for Palm series. ports-polish release=cvs Polish language support. ports-portuguese release=cvs Portuguese language support. ports-print release=cvs Printing software. ports-russian release=cvs Russian language support. ports-science release=cvs Science. ports-security release=cvs Security utilities. ports-shells release=cvs Command line shells. ports-sysutils release=cvs System utilities. ports-textproc release=cvs text processing utilities (does not include desktop publishing). ports-ukrainian release=cvs Ukrainian language support. ports-vietnamese release=cvs Vietnamese language support. ports-www release=cvs Software related to the World Wide Web. ports-x11 release=cvs Ports to support the X window system. ports-x11-clocks release=cvs X11 clocks. ports-x11-fm release=cvs X11 file managers. ports-x11-fonts release=cvs X11 fonts and font utilities. ports-x11-toolkits release=cvs X11 toolkits. ports-x11-servers release=cvs X11 servers. ports-x11-themes release=cvs X11 themes. ports-x11-wm release=cvs X11 window managers. projects-all release=cvs Sources for the FreeBSD projects repository. src-all release=cvs The main FreeBSD sources, including the cryptography code. src-base release=cvs Miscellaneous files at the top of /usr/src. src-bin release=cvs User utilities that may be needed in single-user mode (/usr/src/bin). src-contrib release=cvs Utilities and libraries from outside the FreeBSD project, used relatively unmodified (/usr/src/contrib). src-crypto release=cvs Cryptography utilities and libraries from outside the FreeBSD project, used relatively unmodified (/usr/src/crypto). src-eBones release=cvs Kerberos and DES (/usr/src/eBones). Not used in current releases of FreeBSD. src-etc release=cvs System configuration files (/usr/src/etc). src-games release=cvs Games (/usr/src/games). src-gnu release=cvs Utilities covered by the GNU Public License (/usr/src/gnu). src-include release=cvs Header files (/usr/src/include). src-kerberos5 release=cvs Kerberos5 security package (/usr/src/kerberos5). src-kerberosIV release=cvs KerberosIV security package (/usr/src/kerberosIV). src-lib release=cvs Libraries (/usr/src/lib). src-libexec release=cvs System programs normally executed by other programs (/usr/src/libexec). src-release release=cvs Files required to produce a FreeBSD release (/usr/src/release). src-sbin release=cvs System utilities for single-user mode (/usr/src/sbin). src-secure release=cvs Cryptographic libraries and commands (/usr/src/secure). src-share release=cvs Files that can be shared across multiple systems (/usr/src/share). src-sys release=cvs The kernel (/usr/src/sys). src-sys-crypto release=cvs Kernel cryptography code (/usr/src/sys/crypto). src-tools release=cvs Various tools for the maintenance of FreeBSD (/usr/src/tools). src-usrbin release=cvs User utilities (/usr/src/usr.bin). src-usrsbin release=cvs System utilities (/usr/src/usr.sbin). www release=cvs The sources for the FreeBSD WWW site. distrib release=self The CVSup server's own configuration files. Used by CVSup mirror sites. gnats release=current The GNATS bug-tracking database. mail-archive release=current FreeBSD mailing list archive. www release=current The pre-processed FreeBSD WWW site files (not the source files). Used by WWW mirror sites. For More Information For the CVSup FAQ and other information about CVSup, see The CVSup Home Page. Most FreeBSD-related discussion of CVSup takes place on the &a.hackers;. New versions of the software are announced there, as well as on the &a.announce;. Questions and bug reports should be addressed to the author of the program at cvsup-bugs@polstra.com. CVSup Sites CVSup servers for FreeBSD are running at the following sites: &chap.mirrors.cvsup.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.cvsup.inc; Using Portsnap Portsnap ²¤¶ Portsnap is a system for securely distributing the &os; ports tree. Approximately once an hour, a snapshot of the ports tree is generated, repackaged, and cryptographically signed. The resulting files are then distributed via HTTP. Like CVSup, Portsnap uses a pull model of updating: The packaged and signed ports trees are placed on a web server which waits passively for clients to request files. Users must either run &man.portsnap.8; manually to download updates or set up a &man.cron.8; job to download updates automatically on a regular basis. For technical reasons, Portsnap does not update the live ports tree in /usr/ports/ directly; instead, it works via a compressed copy of the ports tree stored in /var/db/portsnap/ by default. This compressed copy is then used to update the live ports tree. If Portsnap is installed from the &os; Ports Collection, then the default location for its compressed snapshot will be /usr/local/portsnap/ instead of /var/db/portsnap/. Installation On &os; 6.0 and more recent versions, Portsnap is contained in the &os; base system. On older versions of &os;, it can be installed using the sysutils/portsnap port. Portsnap Configuration Portsnap's operation is controlled by the /etc/portsnap.conf configuration file. For most users, the default configuration file will suffice; for more details, consult the &man.portsnap.conf.5; manual page. If Portsnap is installed from the &os; Ports Collection, it will use the configuration file /usr/local/etc/portsnap.conf instead of /etc/portsnap.conf. This configuration file is not created when the port is installed, but a sample configuration file is distributed; to copy it into place, run the following command: &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf Running <application>Portsnap</application> for the First Time The first time &man.portsnap.8; is run, it will need to download a compressed snapshot of the entire ports tree into /var/db/portsnap/ (or /usr/local/portsnap/ if Portsnap was installed from the Ports Collection). For the beginning of 2006 this is approximately a 41 MB download. &prompt.root; portsnap fetch Once the compressed snapshot has been downloaded, a live copy of the ports tree can be extracted into /usr/ports/. This is necessary even if a ports tree has already been created in that directory (e.g., by using CVSup), since it establishes a baseline from which portsnap can determine which parts of the ports tree need to be updated later. &prompt.root; portsnap extract In the default installation /usr/ports is not created. If you run &os; 6.0-RELEASE, it should be created before portsnap is used. On more recent versions of &os; or Portsnap, this operation will be done automatically at first use of the portsnap command. Updating the Ports Tree After an initial compressed snapshot of the ports tree has been downloaded and extracted into /usr/ports/, updating the ports tree consists of two steps: fetching updates to the compressed snapshot, and using them to update the live ports tree. These two steps can be specified to portsnap as a single command: &prompt.root; portsnap fetch update Some older versions of portsnap do not support this syntax; if it fails, try instead the following: &prompt.root; portsnap fetch &prompt.root; portsnap update Running Portsnap from cron In order to avoid problems with flash crowds accessing the Portsnap servers, portsnap fetch will not run from a &man.cron.8; job. Instead, a special portsnap cron command exists, which waits for a random duration up to 3600 seconds before fetching updates. In addition, it is strongly recommended that portsnap update not be run from a cron job, since it is liable to cause major problems if it happens to run at the same time as a port is being built or installed. However, it is safe to update the ports' INDEX files, and this can be done by passing the flag to portsnap. (Obviously, if portsnap -I update is run from cron, then it will be necessary to run portsnap update without the flag at a later time in order to update the rest of the tree.) Adding the following line to /etc/crontab will cause portsnap to update its compressed snapshot and the INDEX files in /usr/ports/, and will send an email if any installed ports are out of date: 0 3 * * * root portsnap -I cron update && pkg_version -vIL= If the system clock is not set to the local time zone, please replace 3 with a random value between 0 and 23, in order to spread the load on the Portsnap servers more evenly. Some older versions of portsnap do not support listing multiple commands (e.g., cron update) in the same invocation of portsnap. If the line above fails, try replacing portsnap -I cron update with portsnap cron && portsnap -I update. CVS Tags When obtaining or updating sources using cvs or CVSup, a revision tag must be specified. A revision tag refers to either a particular line of &os; development, or a specific point in time. The first type are called branch tags, and the second type are called release tags. Branch Tags All of these, with the exception of HEAD (which is always a valid tag), only apply to the src/ tree. The ports/, doc/, and www/ trees are not branched. HEAD Symbolic name for the main line, or FreeBSD-CURRENT. Also the default when no revision is specified. In CVSup, this tag is represented by a . (not punctuation, but a literal . character). In CVS, this is the default when no revision tag is specified. It is usually not a good idea to checkout or update to CURRENT sources on a STABLE machine, unless that is your intent. RELENG_6 The line of development for FreeBSD-6.X, also known as FreeBSD 6-STABLE RELENG_6_1 The release branch for FreeBSD-6.1, used only for security advisories and other critical fixes. RELENG_6_0 The release branch for FreeBSD-6.0, used only for security advisories and other critical fixes. RELENG_5 The line of development for FreeBSD-5.X, also known as FreeBSD 5-STABLE. RELENG_5_5 The release branch for FreeBSD-5.5, used only for security advisories and other critical fixes. RELENG_5_4 The release branch for FreeBSD-5.4, used only for security advisories and other critical fixes. RELENG_5_3 The release branch for FreeBSD-5.3, used only for security advisories and other critical fixes. RELENG_5_2 The release branch for FreeBSD-5.2 and FreeBSD-5.2.1, used only for security advisories and other critical fixes. RELENG_5_1 The release branch for FreeBSD-5.1, used only for security advisories and other critical fixes. RELENG_5_0 The release branch for FreeBSD-5.0, used only for security advisories and other critical fixes. RELENG_4 The line of development for FreeBSD-4.X, also known as FreeBSD 4-STABLE. RELENG_4_11 The release branch for FreeBSD-4.11, used only for security advisories and other critical fixes. RELENG_4_10 The release branch for FreeBSD-4.10, used only for security advisories and other critical fixes. RELENG_4_9 The release branch for FreeBSD-4.9, used only for security advisories and other critical fixes. RELENG_4_8 The release branch for FreeBSD-4.8, used only for security advisories and other critical fixes. RELENG_4_7 The release branch for FreeBSD-4.7, used only for security advisories and other critical fixes. RELENG_4_6 The release branch for FreeBSD-4.6 and FreeBSD-4.6.2, used only for security advisories and other critical fixes. RELENG_4_5 The release branch for FreeBSD-4.5, used only for security advisories and other critical fixes. RELENG_4_4 The release branch for FreeBSD-4.4, used only for security advisories and other critical fixes. RELENG_4_3 The release branch for FreeBSD-4.3, used only for security advisories and other critical fixes. RELENG_3 The line of development for FreeBSD-3.X, also known as 3.X-STABLE. RELENG_2_2 The line of development for FreeBSD-2.2.X, also known as 2.2-STABLE. This branch is mostly obsolete. Release Tags These tags refer to a specific point in time when a particular version of &os; was released. The release engineering process is documented in more detail by the Release Engineering Information and Release Process documents. The src tree uses tag names that start with RELENG_ tags. The ports and doc trees use tags whose names begin with RELEASE tags. Finally, the www tree is not tagged with any special name for releases. RELENG_6_1_0_RELEASE FreeBSD 6.1 RELENG_6_0_0_RELEASE FreeBSD 6.0 RELENG_5_5_0_RELEASE FreeBSD 5.5 RELENG_5_4_0_RELEASE FreeBSD 5.4 RELENG_4_11_0_RELEASE FreeBSD 4.11 RELENG_5_3_0_RELEASE FreeBSD 5.3 RELENG_4_10_0_RELEASE FreeBSD 4.10 RELENG_5_2_1_RELEASE FreeBSD 5.2.1 RELENG_5_2_0_RELEASE FreeBSD 5.2 RELENG_4_9_0_RELEASE FreeBSD 4.9 RELENG_5_1_0_RELEASE FreeBSD 5.1 RELENG_4_8_0_RELEASE FreeBSD 4.8 RELENG_5_0_0_RELEASE FreeBSD 5.0 RELENG_4_7_0_RELEASE FreeBSD 4.7 RELENG_4_6_2_RELEASE FreeBSD 4.6.2 RELENG_4_6_1_RELEASE FreeBSD 4.6.1 RELENG_4_6_0_RELEASE FreeBSD 4.6 RELENG_4_5_0_RELEASE FreeBSD 4.5 RELENG_4_4_0_RELEASE FreeBSD 4.4 RELENG_4_3_0_RELEASE FreeBSD 4.3 RELENG_4_2_0_RELEASE FreeBSD 4.2 RELENG_4_1_1_RELEASE FreeBSD 4.1.1 RELENG_4_1_0_RELEASE FreeBSD 4.1 RELENG_4_0_0_RELEASE FreeBSD 4.0 RELENG_3_5_0_RELEASE FreeBSD-3.5 RELENG_3_4_0_RELEASE FreeBSD-3.4 RELENG_3_3_0_RELEASE FreeBSD-3.3 RELENG_3_2_0_RELEASE FreeBSD-3.2 RELENG_3_1_0_RELEASE FreeBSD-3.1 RELENG_3_0_0_RELEASE FreeBSD-3.0 RELENG_2_2_8_RELEASE FreeBSD-2.2.8 RELENG_2_2_7_RELEASE FreeBSD-2.2.7 RELENG_2_2_6_RELEASE FreeBSD-2.2.6 RELENG_2_2_5_RELEASE FreeBSD-2.2.5 RELENG_2_2_2_RELEASE FreeBSD-2.2.2 RELENG_2_2_1_RELEASE FreeBSD-2.2.1 RELENG_2_2_0_RELEASE FreeBSD-2.2.0 AFS Sites AFS servers for FreeBSD are running at the following sites: Sweden The path to the files are: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Maintainer ftp@stacken.kth.se rsync Sites The following sites make FreeBSD available through the rsync protocol. The rsync utility works in much the same way as the &man.rcp.1; command, but has more options and uses the rsync remote-update protocol which transfers only the differences between two sets of files, thus greatly speeding up the synchronization over the network. This is most useful if you are a mirror site for the FreeBSD FTP server, or the CVS repository. The rsync suite is available for many operating systems, on FreeBSD, see the net/rsync port or use the package. Czech Republic rsync://ftp.cz.FreeBSD.org/ Available collections: ftp: A partial mirror of the FreeBSD FTP server. FreeBSD: A full mirror of the FreeBSD FTP server. Germany rsync://grappa.unix-ag.uni-kl.de/ Available collections: freebsd-cvs: The full FreeBSD CVS repository. This machine also mirrors the CVS repositories of the NetBSD and the OpenBSD projects, among others. Netherlands rsync://ftp.nl.FreeBSD.org/ Available collections: vol/4/freebsd-core: A full mirror of the FreeBSD FTP server. United Kingdom rsync://rsync.mirror.ac.uk/ Available collections: ftp.FreeBSD.org: A full mirror of the FreeBSD FTP server. United States of America rsync://ftp-master.FreeBSD.org/ This server may only be used by FreeBSD primary mirror sites. Available collections: FreeBSD: The master archive of the FreeBSD FTP server. acl: The FreeBSD master ACL list. rsync://ftp13.FreeBSD.org/ Available collections: FreeBSD: A full mirror of the FreeBSD FTP server.